(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-10-30
(45)【発行日】2023-11-08
(54)【発明の名称】情報処理装置、情報処理方法、プログラム、および学習モデル
(51)【国際特許分類】
G06T 7/00 20170101AFI20231031BHJP
【FI】
G06T7/00 350C
(21)【出願番号】P 2022561531
(86)(22)【出願日】2021-12-07
(86)【国際出願番号】 JP2021044857
【審査請求日】2022-10-07
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100109380
【氏名又は名称】小西 恵
(74)【代理人】
【識別番号】100109036
【氏名又は名称】永岡 重幸
(72)【発明者】
【氏名】ドルタニ ディネシュ
(72)【発明者】
【氏名】中澤 満
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2019-164402(JP,A)
【文献】特表2020-535557(JP,A)
【文献】特許第6612487(JP,B1)
【文献】米国特許第10970550(US,B1)
【文献】韓国公開特許第10-2020-0066143(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
オブジェクトを含むオブジェクト画像を取得する取得手段と、
前記取得手段により取得された前記オブジェクト画像を学習モデルに適用することにより、前記オブジェクトに対する分類を予測する予測手段と、を有し、
前記学習モデルは、前記オブジェクト画像に基づき前記オブジェクトに対する階層的な分類のための
少なくとも3つの特徴量を抽出するメインネットワークと、前記
少なくとも3つの特徴量を用いて前記オブジェクトに対する階層的な分類を出力するサブネットワークから構成され、
前記メインネットワークは、前記
少なくとも3つの特徴量のそれぞれを抽出する
少なくとも3つの抽出器
で構成され、
前記サブネットワークは、前記
少なくとも3つの特徴量のそれぞれから前記オブジェクトに対する分類を出力する
少なくとも3つの分類器で構成され、
前記少なくとも3つの抽出器はそれぞれ、前記少なくとも3つの分類器における上位側の分類器から下位側の分類器に連結され、最上位側の分類器は
最下位側の分類器への
直接のコネクションを有するように構成される、
ことを特徴とする情報処理装置。
【請求項2】
前記メインネットワークにおける前記
少なくとも3つの抽出器のそれぞれは、複数の畳み込み層を含んで構成されることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記サブネットワークにおける前記
少なくとも3つの分類器のそれぞれは、全結合型ニューラルネットワークで構成されることを特徴とする請求項2
に記載の情報処理装置。
【請求項4】
前記オブジェクトに対する階層的な分類は、前記オブジェクトに対する粗い分類から細分化された分類を表すことを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
【請求項5】
前記予測手段により予測された前記分類を分類結果として出力する出力手段をさらに有することを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。
【請求項6】
前記取得手段により取得された前記オブジェクト画像が複数のオブジェクトを含む場合、前記予測手段は、前記複数のオブジェクトの各オブジェクトの画像を前記学習モデルに適用することにより、前記各オブジェクトに対する分類を予測することを特徴とする請求項1から5のいずれか1項に記載の情報処理装置。
【請求項7】
オブジェクトを含むオブジェクト画像を取得する取得工程と、
前記取得工程において取得された前記オブジェクト画像を学習モデルに適用することにより、前記オブジェクトに対する分類を予測する予測工程と、を有し、
前記学習モデルは、前記オブジェクト画像に基づき前記オブジェクトに対する階層的な分類のための
少なくとも3つの特徴量を抽出するメインネットワークと、前記
少なくとも3つの特徴量を用いて前記オブジェクトに対する階層的な分類を出力するサブネットワークから構成され、
前記メインネットワークは、前記
少なくとも3つの特徴量のそれぞれを抽出する
少なくとも3つの抽出器
で構成され、
前記サブネットワークは、前記
少なくとも3つの特徴量のそれぞれから前記オブジェクトに対する分類を出力する
少なくとも3つの分類器で構成され、
前記少なくとも3つの抽出器はそれぞれ、前記少なくとも3つの分類器における上位側の分類器から下位側の分類器に連結され、最上位側の分類器は
最下位側の分類器への
直接のコネクションを有するように構成される、
ことを特徴とする情報処理方法。
【請求項8】
情報処理をコンピュータに実行させるための情報処理プログラムであって、該プログラムは、前記コンピュータに、
オブジェクトを含むオブジェクト画像を取得する取得処理と、
前記取得処理により取得された前記オブジェクト画像を学習モデルに適用することにより、前記オブジェクトに対する分類を予測する予測処理と、を含む処理を実行させるためのものであり、
前記学習モデルは、前記オブジェクト画像に基づき前記オブジェクトに対する階層的な分類のための
少なくとも3つの特徴量を抽出するメインネットワークと、前記
少なくとも3つの特徴量を用いて前記オブジェクトに対する階層的な分類を出力するサブネットワークから構成され、
前記メインネットワークは、前記
少なくとも3つの特徴量のそれぞれを抽出する
少なくとも3つの抽出器
で構成され、
前記サブネットワークは、前記
少なくとも3つの特徴量のそれぞれから前記オブジェクトに対する分類を出力する
少なくとも3つの分類器で構成され、
前記少なくとも3つの抽出器はそれぞれ、前記少なくとも3つの分類器における上位側の分類器から下位側の分類器に連結され、最上位側の分類器は
最下位側の分類器への
直接のコネクションを有するように構成される、
情報処理プログラム。
【請求項9】
オブジェクトを含むオブジェクト画像から、前記オブジェクトに対する分類を予測する
よう、コンピュータを機能させるための学習モデルであって、
前記学習モデルは、前記オブジェクト画像に基づき前記オブジェクトに対する階層的な分類のための
少なくとも3つの特徴量を抽出するメインネットワークと、前記
少なくとも3つの特徴量を用いて前記オブジェクトに対する階層的な分類を出力するサブネットワークから構成され、
前記メインネットワークは、前記
少なくとも3つの特徴量のそれぞれを抽出する
少なくとも3つの抽出器
で構成され、
前記サブネットワークは、前記
少なくとも3つの特徴量のそれぞれから前記オブジェクトに対する分類を出力する
少なくとも3つの分類器で構成され、
前記少なくとも3つの抽出器はそれぞれ、前記少なくとも3つの分類器における上位側の分類器から下位側の分類器に連結され、最上位側の分類器は
最下位側の分類器への
直接のコネクションを有するように構成され
、
前記少なくとも3つの分類器のうち、前記最上位側の分類器は、前記最上位側の分類器に連結された抽出器から出力された特徴量から、前記オブジェクトに対する分類を決定するように構成され、
前記少なくとも3つの分類器のうち、前記最上位側の分類器以外の分類器はそれぞれ、前記最上位側の分類器以外の分類器それぞれに連結された抽出器から出力された特徴量と、コネクションを有する上位側の1つ以上の分類器から出力された分類から、前記オブジェクトに対する分類を決定するように構成される、ことを特徴とする学習モデル。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、プログラム、および学習モデルに関し、特に、画像の分類を行うための技術に関する。
【背景技術】
【0002】
近年、インターネットを使って商品の販売を行う電子商取引(E-commerce/eコマース)が盛んに実施されており、そのような電子商取引の実施のためのEC(Electronic Commerce)サイトがウェブ上に多く構築されている。ECサイトは、世界中の各国の言語を用いて構築されることも多く、多くの国に在住するユーザ(消費者)が商品を購入することを可能にしている。ユーザは、PC(Personal Computer)や、スマートフォンといった携帯端末からECサイトにアクセスすることで、実際の店舗に赴くことなく、また時間に関係なく、所望の商品の選択や購入を行うことが可能となっている。
【0003】
ECサイトで扱う商品の種類および数は膨大であるため、一般的に、各商品は、粗い(上位の)分類から細かい(下位の)分類へと階層的に分類して管理されている。このような商品に対する分類は、ECサイトの利用においても活用されている。例えば、ECサイトでは、ユーザによる購買意欲を増進させることを目的に、過去にユーザが購入した商品の分類と同様の分類の商品を、レコメンデーションする商品として、ユーザが閲覧している画面において合わせて表示することがある。また、ユーザも、商品画像(商品を含む画像)における商品の分類を知ることで、所望の商品の発見が容易になりうる。このようなことから、商品画像に対する分類を精度よく行うことは、ECサイトに関して重要な課題の1つである。
非特許文献1では、畳み込み型ニューラルネットワークモデルを用いて、画像に対する階層的な分類を行うための技術が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Seo Yian, and Shin Kyung-shik, “Hierarchical convolutional neural networks for fashion image classification”, Exp. Sys. Appl., Vol.116, 2019, 328-329.
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1では、画像に含まれるオブジェクトに対する階層的な分類を行うための技術が開示されているが、各階層の分類数が増加し分類が複雑化するにともない階層的分類の精度が低くなりうるという課題があった。
【0006】
本発明は上記課題に鑑みてなされたものであり、画像に含まれるオブジェクトに対する階層的分類の精度を向上させるための技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明による情報処理装置の一態様は、オブジェクトを含むオブジェクト画像を取得する取得手段と、前記取得手段により取得された前記オブジェクト画像を学習モデルに適用することにより、前記オブジェクトに対する分類を予測する予測手段と、を有し、前記学習モデルは、前記オブジェクト画像に基づき前記オブジェクトに対する階層的な分類のための複数の特徴量を抽出するメインネットワークと、前記複数の特徴量を用いて前記オブジェクトに対する階層的な分類を出力するサブネットワークから構成され、前記メインネットワークは、前記複数の特徴量のそれぞれを抽出する複数の抽出器であって、上位側の分類器から下位側の分類器へ連結された前記複数の抽出器で構成され、前記サブネットワークは、前記複数の特徴量のそれぞれから前記オブジェクトに対する分類を出力する複数の分類器で構成され、上位側の分類器は1つ以上の下位側の分類器へのコネクションを有するように構成される。
【0008】
前記メインネットワークにおける前記複数の抽出器のそれぞれは、複数の畳み込み層を含んで構成されうる。
【0009】
前記サブネットワークにおける前記複数の分類器のそれぞれは、全結合型ニューラルネットワークで構成されうる。
【0010】
前記オブジェクトに対する階層的な分類は、前記オブジェクトに対する粗い分類から細分化された分類を表しうる。
【0011】
前記情報処理装置は、前記予測手段により予測された前記分類を分類結果として出力する出力手段をさらに有しうる。
【0012】
前記情報処理装置において、前記取得手段により取得された前記オブジェクト画像が複数のオブジェクトを含む場合、前記予測手段は、前記複数のオブジェクトの各オブジェクトの画像を前記学習モデルに適用することにより、前記各オブジェクトに対する分類を予測しうる。
【0013】
上記課題を解決するために、本発明による情報処理方法の一態様は、オブジェクトを含むオブジェクト画像を取得する取得工程と、前記取得工程において取得された前記オブジェクト画像を学習モデルに適用することにより、前記オブジェクトに対する分類を予測する予測工程と、を有し、前記学習モデルは、前記オブジェクト画像に基づき前記オブジェクトに対する階層的な分類のための複数の特徴量を抽出するメインネットワークと、前記複数の特徴量を用いて前記オブジェクトに対する階層的な分類を出力するサブネットワークから構成され、前記メインネットワークは、前記複数の特徴量のそれぞれを抽出する複数の抽出器であって、上位側の分類器から下位側の分類器へ連結された前記複数の抽出器で構成され、前記サブネットワークは、前記複数の特徴量のそれぞれから前記オブジェクトに対する分類を出力する複数の分類器で構成され、上位側の分類器は1つ以上の下位側の分類器へのコネクションを有するように構成される。
【0014】
上記課題を解決するために、本発明による情報処理プログラムの一態様は、情報処理をコンピュータに実行させるための情報処理プログラムであって、該プログラムは、前記コンピュータに、オブジェクトを含むオブジェクト画像を取得する取得処理と、前記取得処理により取得された前記オブジェクト画像を学習モデルに適用することにより、前記オブジェクトに対する分類を予測する予測処理と、を含む処理を実行させるためのものであり、 前記学習モデルは、前記オブジェクト画像に基づき前記オブジェクトに対する階層的な分類のための複数の特徴量を抽出するメインネットワークと、前記複数の特徴量を用いて前記オブジェクトに対する階層的な分類を出力するサブネットワークから構成され、前記メインネットワークは、前記複数の特徴量のそれぞれを抽出する複数の抽出器であって、上位側の分類器から下位側の分類器へ連結された前記複数の抽出器で構成され、前記サブネットワークは、前記複数の特徴量のそれぞれから前記オブジェクトに対する分類を出力する複数の分類器で構成され、上位側の分類器は1つ以上の下位側の分類器へのコネクションを有するように構成される。
【0015】
上記課題を解決するために、本発明による学習モデルの一態様は、オブジェクトを含むオブジェクト画像から、前記オブジェクトに対する分類を予測する学習モデルであって、 前記学習モデルは、前記オブジェクト画像に基づき前記オブジェクトに対する階層的な分類のための複数の特徴量を抽出するメインネットワークと、前記複数の特徴量を用いて前記オブジェクトに対する階層的な分類を出力するサブネットワークから構成され、前記メインネットワークは、前記複数の特徴量のそれぞれを抽出する複数の抽出器であって、上位側の分類器から下位側の分類器へ連結された前記複数の抽出器で構成され、前記サブネットワークは、前記複数の特徴量のそれぞれから前記オブジェクトに対する分類を出力する複数の分類器で構成され、上位側の分類器は1つ以上の下位側の分類器へのコネクションを有するように構成される。
【発明の効果】
【0016】
本発明によれば、画像に対する階層的分類の精度を向上させることが可能となる。
上記した本発明の目的、態様及び効果並びに上記されなかった本発明の目的、態様及び効果は、当業者であれば添付図面及び請求の範囲の記載を参照することにより下記の発明を実施するための形態から理解できるであろう。
【図面の簡単な説明】
【0017】
【
図1】
図1は、本発明の実施形態による情報処理装置の機能構成の一例を示すブロック図である。
【
図2】
図2は、分類予測モデルのアーキテクチャの一例を示す。
【
図3】
図3は、分類予測モデルのアーキテクチャの別の例を示す。
【
図4】
図4は、商品に対する階層的分類の概念図を示す。
【
図5】
図5は、本発明の実施形態による情報処理装置のハードウェア構成の一例を示すブロック図である。
【
図6】
図6は、分類予測フェーズのフローチャートを示す。
【
図8】
図8は、分類予測モデルのための複数の学習用データセットの例を示す。
【
図9】
図9は、学習フェーズのフローチャートを示す。
【発明を実施するための形態】
【0018】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。以下に開示される構成要素のうち、同一機能を有するものには同一の符号を付し、その説明を省略する。なお、以下に開示される実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0019】
<第1実施形態>
第1実施形態による情報処理装置100は、商品が含まれる画像(商品画像)を取得し、当該商品画像を学習モデルに適用することにより、当該商品画像(当該商品画像に含まれる商品)に対する分類を予測して出力する。なお、本実施形態では、商品に対する階層的な分類(階層構造を有する分類)を予測する例を説明する。また、分類予測対象は、商品に限らず、任意のオブジェクトであってよい。よって、任意のオブジェクトが含まれる画像(オブジェクト画像)から当該オブジェクトに対する階層的な分類を予測する場合も、本実施形態を適用可能である。
【0020】
[情報処理装置100の機能構成]
図1に、本実施形態による情報処理装置100の機能構成の一例を示す。
図1に示す情報処理装置100は、取得部101、分類予測部102、データセット生成部103、学習部104、出力部105を備える。
【0021】
取得部101は、商品画像を取得する。取得部101は、商品画像を、ユーザ(オペレータ)による入力部505(
図5)を介した入力操作によって取得してもよいし、ユーザの操作により記憶部(
図5のROM502やRAM503)から取得してもよい。また、取得部101は、通信インタフェース(I/F)507(
図5)を介して外部装置から受信した商品画像を取得してもよい。商品画像は、赤(R)、緑(G)、青(B)の3色で色を表現した画像でありうる。取得部101は、取得した商品画像を、分類予測部102に出力する。
【0022】
分類予測部102は、取得部101により取得された商品画像を分類予測モデル107に適用し、当該商品画像に含まれる商品に対する分類を予測する。分類予測モデル107については、後述する。
【0023】
データセット生成部103は、学習用データ群106に含まれる複数の学習用データエレメント(学習用データ)から、分類予測モデル107の学習に使用する学習用データセットを生成する。学習用データ群106は、複数の学習用データを含んで構成され、各学習用データは、商品を含む商品画像と、当該商品に対する分類を示すラベル(正解データ)のセットで構成される。当該分類は階層的な分類でありうる。データセット生成部103は、学習用データ群106に含まれる複数の学習用データの全てを、学習に使用する学習用データセットとして生成してもよいし、当該複数の学習用データの一部を、学習に使用する学習用データセットとして生成してもよい。
【0024】
学習部104は、データセット生成部103により生成された学習用データセットを用いて、分類予測モデル107の学習を行う。分類予測モデル107は、商品を含む商品画像を入力として、当該商品に対する分類を予測する学習モデルである。当該分類は階層的な分類でありうる。
【0025】
図2に、分類予測モデル107のアーキテクチャの一例を示す。
図2に示す分類予測モデル107は、複数のサブパート(第1サブパート211~第5サブパート215)を含むメインネットワーク201と、複数の分類ブロック(第1分類ブロック221~第3分類ブロック223)を含むサブネットワーク202を含むニューラルネットワークで構成される。なお、サブパートを抽出器とも称することができる。なお、分類ブロックを分類器とも称することができる。
【0026】
図2に示すサブネットワーク202において、第1分類ブロック221の出力は第2分類ブロック222と第3分類ブロック223に入力され、第2分類ブロック222の出力は第3分類ブロック223に入力するように構成されている。ニューラルネットワークモデルにおける1つのブロックの出力が隣接しない他のブロックへ入力される構成であるスキップコネクション(ショートカットコネクション)は、ResNetといったニューラルネットワークモデルにおいて知られている。ResNetでは、特徴量抽出のブロック間において、スキップコネクションが使われている。一方、本実施形態では、第1分類ブロック211~第3分類ブロック223といった複数の分類器において、上位側の分類器が1つ以上の下位側の分類器へのコネクションを有する点で、公知のスキップコネクションと異なる。すなわち、
図2に示すモデルでは、上位側の分類器の出力が1つ以上の下位側の分類器に入力される構成となっている。
【0027】
図2に示すメインネットワーク201は、畳み込みニューラルネットワーク(Convolutional Neural Network(CNN))モデルの1つである公知のVGGネットワーク(VGGNet)の16層バージョンに基づくニューラルネットワークである。メインネットワーク201において、第1サブパート211と第2サブパート212は、2つの畳み込み層(Conv)と1つのプーリング層(Pooling)から成り、第3サブパート213と第4サブパート214は、3つの畳み込み層と1つのプーリング層から成り、第5サブパート215は、3つの畳み込み層を有する。
【0028】
第1サブパート211~第5サブパート215における畳み込み層では、3×3のカーネルサイズの畳み込みが行われる一方、各サブパートではフィルタ数(チャネル数)が異なる。フィルタ数は、第1サブパート211では64、第2サブパート212では128、第3サブパート213では256、第4サブパート214と第5サブパート215では512である。
第1サブパート211~第4サブパート214におけるプーリング層では、2×2サイズの最大プーリング(MaxPooling)がストライド2で行われる。また、第1サブパート211~第4サブパート214において、畳み込み層とプーリング層の間に、活性化関数としてReLU(Rectified Liner Unit)が適用される。
【0029】
メインネットワーク201には入力画像として商品画像が入力され、第1サブパート211~第5サブパート215は、当該商品画像の特徴量を抽出して、メインネットワーク201の出力として出力する。当該特徴量は、階層的な分類のための特徴量でありうる。
第1サブパート211~第5サブパート215では順に商品の分類を上位から下位へ学習する。よって、第1サブパート211~第5サブパート215から出力される複数の特徴量は、商品に対する上位の(粗い)分類の特徴を示す特徴量から順に下位の(細分化された)分類の特徴を示す特徴量(商品に対する階層的な分類のための複数の特徴量)となる。
【0030】
メインネットワーク201の出力は、サブネットワーク202に入力される。サブネットワーク202は、メインネットワーク201からの複数の特徴量のそれぞれの特徴量から、階層的分類を予測する。
【0031】
図2に示す第1分類ブロック221~第3分類ブロック223はそれぞれ、全結合型ニューラルネットワーク(Fully-connected Neural Network)で構成され、特徴量を入力として、メインネットワーク201に入力された商品画像の商品に対する分類のラベル(クラス)を出力し、当該ラベルから分類(分類名)を決定する。第1分類ブロック221~第3分類ブロック223から出力される分類(第1分類~第3分類)は、商品に対する上位の(粗い)分類から順に下位の(細分化された)分類となる。このような階層的分類の例は、
図4を用いて後述する。
【0032】
第1分類ブロック221~第3分類ブロック223の動作をより具体的に説明する。
第1分類ブロック221は、メインネットワーク201の第3サブパート213から出力された特徴量から、第1分類のラベルを出力し、第1分類を決定する。
また、第2分類ブロック222は、メインネットワーク201の第4サブパート214から出力された特徴量と、第1分類ブロック221から出力された第1分類のラベルとから、第2分類のラベルを出力し、第2分類を決定する。
また、第3分類ブロック223は、メインネットワーク201の第5サブパート215から出力された特徴量と、第1分類ブロック221から出力された第1分類のラベルおよび第2分類ブロック222から出力された第2分類のラベルとから、第3分類のラベルを出力し、第3分類を決定する。
【0033】
このように、複数の分類器間で相補的に分類結果を用い、複数の下位の分類器は、上位の分類器で出力された分類結果を考慮して分類を行うことにより、階層的分類の精度が向上する。なお、
図2のような構成に限定されず、上位の分類器の分類結果を1つ以上の下位の分類器に入力するように構成されてもよい。例えば、第1分類ブロック221から出力された分類のラベルが、第2分類ブロック223に入力されずに、第3分類ブロック223に入力されるように構成されてもよい。
【0034】
なお、本実施形態では、第1分類~第3分類が出力される例を示すが、第2分類ブロック221と第3分類ブロック222では上位の分類特徴量を反映することにより分類の精度が上がるため、サブネットワーク202は、第1分類無しで、第2分類および/または第3分類を出力するように構成されてもよい。
【0035】
また、
図3に、分類予測モデル107のアーキテクチャの別の例を示す。
図3に示す分類予測モデル107は、複数のサブパート(第1サブパート311~第5サブパート315)を含むメインネットワーク301と、複数の分類ブロック(第1分類ブロック321~第3分類ブロック323)を含むサブネットワーク302を含むニューラルネットワークで構成される。サブネットワーク302において、第1分類ブロック321の出力は第2分類ブロック322と第3分類ブロック323に入力され、第2分類ブロック322の出力は第3分類ブロック323に入力するように構成されている。
【0036】
メインネットワーク301は、VGGネットワークの19層バージョンに基づくニューラルネットワークである。
図2に示すモデルと比較して、第1サブパート311と第2サブパート312は、第1サブパート211と第2サブパート212と共通であり、第3サブパート313~第5サブパート315は、第3サブパート213~第5サブパート215と比較して畳み込み層を1つ多く含んで構成されている。これにより、
図2に示すモデルと比較して、計算量が増えるがより深く学習するため、結果として出力される分類の予測の精度が高くなりうる。他の構成については、
図2に示すモデルと同様のため、説明を省略する。
【0037】
学習部104は、データセット生成部103により生成された学習用データセットを用いて、
図2や
図3のように構成された分類予測モデル107を学習させ、学習済みの分類予測モデル107を、RAM503(
図5)といった記憶部に記憶する。ここで、上述のように、データセット生成部103により生成された学習用データセット、すなわち、学習に使用する学習用データセットは、学習用データ群106に含まれる複数の学習用データの全てで構成されてもよいし、当該複数の学習用データの一部で構成されてもよい。
【0038】
分類予測部102は、取得部101により取得された商品画像を、RAM503(
図5)といった記憶部に記憶された学習済みの分類予測モデル107に適用し、当該商品画像の商品に対する分類を予測する。
【0039】
図4に、分類予測部102により予測される商品に対する分類の例として階層的分類の概念図を示す。
図4では、商品画像41に含まれる商品42に対する階層的分類の例を示している。商品画像41を分類予測モデル107に適用することにより、第1分類ブロック221~第3分類ブロック223(または
図3に示す第1分類ブロック321~第3分類ブロック323)からの出力として、第1分類~第3分類が階層的に推定される。
【0040】
図4の例では、商品42に対して、太字で示した分類が予測されている。すなわち、第1分類が「メンズファッション」、第2分類が「トップス」、第3分類が「Tシャツ」と予測されている。
このように、分類予測モデル107におけるメインネットワーク201(またはメインネットワーク301)で階層的に学習されることにより、分類結果として、上位の(粗い)第1分類から下位の(細分化された)第3の分類の予測が可能となる。
【0041】
[情報処理装置100のハードウェア構成]
図5は、本実施形態による情報処理装置100のハードウェア構成の一例を示すブロック図である。
本実施形態による情報処理装置100は、単一または複数の、あらゆるコンピュータ、モバイルデバイス、または他のいかなる処理プラットフォーム上にも実装することができる。
図5を参照して、情報処理装置100は、単一のコンピュータに実装される例が示されているが、本実施形態による情報処理装置100は、複数のコンピュータを含むコンピュータシステムに実装されてよい。複数のコンピュータは、有線または無線のネットワークにより相互通信可能に接続されてよい。
【0042】
図5に示すように、情報処理装置100は、CPU501と、ROM502と、RAM503と、HDD504と、入力部505と、表示部506と、通信I/F507と、システムバス508とを備えてよい。情報処理装置100はまた、外部メモリを備えてよい。
CPU(Central Processing Unit)501は、情報処理装置100における動作を統括的に制御するものであり、データ伝送路であるシステムバス508を介して、各構成部(502~507)を制御する。
【0043】
ROM(Read Only Memory)502は、CPU501が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。なお、当該プログラムは、HDD(Hard Disk Drive)504、SSD(Solid State Drive)等の不揮発性メモリや着脱可能な記憶媒体(不図示)等の外部メモリに記憶されていてもよい。
RAM(Random Access Memory)503は、揮発性メモリであり、CPU501の主メモリ、ワークエリア等として機能する。すなわち、CPU501は、処理の実行に際してROM502から必要なプログラム等をRAM503にロードし、当該プログラム等を実行することで各種の機能動作を実現する。
【0044】
HDD504は、例えば、CPU501がプログラムを用いた処理を行う際に必要な各種データや各種情報等を記憶している。また、HDD504には、例えば、CPU501がプログラム等を用いた処理を行うことにより得られた各種データや各種情報等が記憶される。
入力部505は、キーボードやマウス等のポインティングデバイスにより構成される。
表示部506は、液晶ディスプレイ(LCD)等のモニターにより構成される。表示部506は、入力部505と組み合わせて構成されることにより、GUI(Graphical User Interface)として機能してもよい。
【0045】
通信I/F507は、情報処理装置100と外部装置との通信を制御するインタフェースである。
通信I/F507は、ネットワークとのインタフェースを提供し、ネットワークを介して、外部装置との通信を実行する。通信I/F507を介して、外部装置との間で各種データや各種パラメータ等が送受信される。本実施形態では、通信I/F507は、イーサネット(登録商標)等の通信規格に準拠する有線LAN(Local Area Network)や専用線を介した通信を実行してよい。ただし、本実施形態で利用可能なネットワークはこれに限定されず、無線ネットワークで構成されてもよい。この無線ネットワークは、Bluetooth(登録商標)、ZigBee(登録商標)、UWB(Ultra Wide Band)等の無線PAN(Personal Area Network)を含む。また、Wi-Fi(Wireless Fidelity)(登録商標)等の無線LAN(Local Area Network)や、WiMAX(登録商標)等の無線MAN(Metropolitan Area Network)を含む。さらに、LTE/3G、4G、5G等の無線WAN(Wide Area Network)を含む。なお、ネットワークは、各機器を相互に通信可能に接続し、通信が可能であればよく、通信の規格、規模、構成は上記に限定されない。
【0046】
図5に示す情報処理装置100の各要素のうち少なくとも一部の機能は、CPU501がプログラムを実行することで実現することができる。ただし、
図5に示す情報処理装置100の各要素のうち少なくとも一部の機能が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、CPU501の制御に基づいて動作する。
【0047】
[処理の流れ]
図6を参照して、本実施形態による情報処理装置100により実行される処理の流れを説明する。
図6は、学習済みの分類予測モデル107を用いた、商品画像(商品画像に含まれる商品)に対する分類の予測処理(分類予測フェーズ)のフローチャートを示す。
図7に示す処理は、情報処理装置100のCPU501がROM502等に格納されたプログラムをRAM503にロードして実行することによって実現されうる。
【0048】
S61では、取得部101は、分類予測対象の商品を含む商品画像を取得する。例えば、取得部101は、情報処理装置100の操作者が、情報処理装置100を操作して、任意のECサイトにアクセスした上で任意の商品を含む商品画像を選択することにより、当該商品画像を取得する。また、取得部101は、ユーザ装置といった外部装置から送信された商品画像または商品画像を示すURLを取得することで、商品画像を取得することができる。1つの商品画像において含まれる分類予測対象の商品は1つに限らず、当該商品画像に複数の分類予測対象の商品が含まれてもよい。
【0049】
S62では、分類予測部102は、取得部101により取得された商品画像を分類予測モデル107に入力し、商品に対する階層的分類を予測して決定する。分類予測モデル107の例は
図2または
図3に示した通りであり、当該商品画像に基づき当該商品に対する階層的な分類のための複数の特徴量を抽出するメインネットワークと、当該複数の特徴量を用いて当該商品に対する階層的な分類を出力するサブネットワークから構成される。当該メインネットワークは、当該複数の特徴量のそれぞれを抽出する複数のサブパート(抽出器)で構成され、当該サブネットワークは、当該複数の特徴量のそれぞれから当該商品に対する分類を出力する複数の分類ブロック(分類器)で構成され、上位側の分類ブロックは1つ以上の下位側の分類ブロックへのコネクションを有するように構成される。
【0050】
図2または
図3に示す分類予測モデル107の場合、分類予測部102は、S61で取得された商品画像の商品に対する階層的分類として、
図4に示すように、上位から、第1分類、第2分類、第3分類を予測して決定する。
【0051】
S63では、出力部105は、S62で分類予測部102により予測して決定された分類の結果(分類結果)を出力する。例えば、出力部105は、分類結果を、情報処理装置100の表示部506に表示してもよいし、通信I/F507を介してユーザ装置といった外部装置に送信してもよい。
【0052】
なお、商品画像が複数の商品を含む場合は、取得部101は、例えば公知の画像処理技術により、当該複数の商品それぞれを含む複数の商品領域(Region of Interest)を取得し、分類予測部102に出力することができる。そして、分類予測部102は、各商品領域(部分画像)に対して、S62の処理を行い、各商品に対する分類を予測して決定することができる。出力部105は、各商品に対する(階層的)分類を別個に分類結果として出力してもよいし、1つの分類結果として出力してもよい。
【0053】
[分類結果の例]
図7に、出力部105により出力された分類結果の例を分類結果70として示す。分類結果70は、情報処理装置100の表示部506に表示されてもよいし、通信I/F507を介してユーザ装置といった外部装置に送信され、当該外部装置において表示されてもよい。
【0054】
分類結果70において、商品画像71は、分類予測対象の商品を含む商品画像であり、例えば、情報処理装置100の操作者が、情報処理装置100を操作して、任意の電子商取引のサイトにアクセスした上で選択された画像である。また、商品画像71は、ユーザ装置といった外部装置から送信された画像であってもよい。
情報処理装置100の分類予測部102は、商品画像71を、
図2や
図3に示す学習済みの分類予測モデル107に適用して、商品72に対する階層的分類73を予測する。当該階層的分類73は、
図4に示した分類と同様である。出力部105は、階層的分類73と商品画像71とを併せて分類結果70を構成し、出力することができる。
【0055】
このように、本実施形態によれば、商品画像を分類予測モデル107に適用し、商品に対する階層的分類を予測する。ここで、分類予測モデル107は、
図2や
図3に示したように、第1分類ブロック211~第3分類ブロック223や第1分類ブロック311~第3分類ブロック323の出力に対してスキップコネクションが適用された構成を有する。このような構成により、上位の分類結果が下位の分類結果と結合されて下位の分類が予測され、商品に対する階層的分類を精度よく予測することが可能となる。
【0056】
<第2実施形態>
ECサイトで扱う商品のトレンドは、中長期的に変化し複雑化するという性質を有するため、その分類タスクについても複雑化するトレンドなどに対応しうるモデルを構築することが好ましい。
【0057】
そこで、本実施形態では、複雑化する分類タスクに対処するための学習処理について説明する。具体的は、学習用データセットをデータセット生成部103が生成し、当該学習用データセットを用いて分類予測モデル107を学習させる実施形態について説明する。なお、第1実施形態と同様な構成/特徴については説明を省略する。
【0058】
本実施形態によるデータセット生成部103は、分類予測モデル107を学習させるために用いる複数の学習用データセットを、学習用データ群106に含まれる複数の学習用データエレメントから生成する。学習部104は、当該複数の学習用データセットを順次(時系列に変えて)用いて分類予測モデル107を学習させる。
【0059】
本実施形態では、一例として、学習用データ群106は、「0」~「9」の10種類の異なる正解ラベル(クラス)が付与された学習用データエレメントで構成されるものとする。各学習用データエレメントは、商品を含む商品画像と、当該商品に対する分類を示す同じラベル(正解データ)を1セットとして複数のセットで構成される。よって、1つの学習用データエレメントは、同じラベルが付与されている。本実施形態では、ラベルは、階層構造を有する分類を示すように構成され、例えば上記に説明した、第1分類と第2分類に関連付けられた第3分類に付されるラベルに対応するものとする。よって、
図4を参照すると、例えば、ラベル「0」は、「メンズファッション」、「トップス」に関連付けられた「Tシャツ」に対応し、ラベル「0」の学習用データエレメントは、Tシャツの画像とラベル「0」のセットを1セットとして、該セットを複数セット含んで構成される。
【0060】
本実施形態では、データセット生成部103は、複数の学習用データセットを、所定の生成ルール(選択ルール)を適用して生成する。
ここで、本実施形態による生成ルールについて説明する。なお、本ルールは一例であり、他のルールや方法により、学習用データエレメントの数が順に変化するように複数の学習用データセットが生成されればよい。また、学習用データエレメントがランダムに変化するように複数の学習用データセットが生成されればよい。
【0061】
本実施形態による生成ルールを以下に示す。
(1)学習用データ群106に含まれる複数の学習用データエレメントのうち6割(60%)をランダムに選択して初期学習用データセットを生成する。すなわち、初期学習用データセットは、ラベル「0」~「9」の10個の学習用データエレメントのうち、ランダムに選択された6個のデータエレメントを含む。
(2)ルール(1)で生成した当該初期学習データを起点として、学習用データエレメントの追加および削除を(例として、追加は1回ごと、削除は1回ごと)。追加するデータエレメントの数は2個、削除するデータエレメントの数は1個とする。ただし、追加するデータ数が2個ない場合は1個とする。
(3)ルール(2)における追加/削除する学習用データエレメントは、ランダムに選択する。すなわち、追加する学習用データエレメントを、追加の対象となる学習用データセットに含まれていない学習用データエレメントからランダムに選択し、削除する学習用データエレメントを、削除の対象となる学習用データセットからランダムに選択する。
【0062】
図8に、当該生成ルールに従ってデータセット生成部103により生成された複数の学習用データセットの例を示す。
図8の例では、10個の学習用データセット1~10を示す。
図8において、四角で囲まれた数字は、当該数字のラベルの学習用データエレメントに対応する。
【0063】
学習用データセット1は、ルール(1)に従う初期学習用データセットであり、
図8の例では、10個の学習用データエレメントから、ラベル「1」、「2」、「4」、「6」、「8」、および「9」の6個の学習用データエレメントがランダムに選択されて生成される。
【0064】
学習用データセット2は、学習用データセット1に対して、選択されていない(学習用データセット1に含まれていない)学習用データエレメントからランダムに選択された学習用データセットである、ラベル「3」と「7」の2つの学習用データエレメントを追加した学習用データセットである。
【0065】
学習用データセット3は、学習用データセット2に対して、該学習用データセット2に含まれる学習用データエレメントから、ラベル「8」の1つの学習用データエレメントを削除した学習用データセットである。
【0066】
学習用データセット4以降も、上記生成ルールに従って、追加と削除が行われて生成される。本生成ルールでは、追加する学習用データエレメントの数が削除する学習用データより多いため、最大数10を上限として、学習用データエレメントの数が増える傾向になるように、学習用データセット1~10が生成される。このように、学習用データセット1~10は、学習用データエレメントの数が順に増減するようなデータセットとなる。なお、データセット生成部103は、学習用データエレメントの追加と削除を交互に行うことで、学習用データセットを生成してよい。また、データセット生成部103は、連続して行われた学習用データエレメントの追加または削除の後に学習用データエレメントの削除または追加を行うことで、学習用データセットを生成してもよい。
【0067】
このように生成された学習用データセット1~10を、時系列的に順に分類予測モデル107に使用して(適用して)分類予測モデル107が学習される。すなわち、学習用データセット1がある時間tで使用されて分類予測モデル107が学習され、続いて、学習用データセット2が時間t+1で使用されて分類予測モデル107が学習される。そして、このような学習処理が、学習用データセット10が時間t+9で使用されて分類予測モデル107が学習されるまで続く。本実施形態では、このような学習処理により、分類予測モデル107は時系列的に異なる学習用データセットで学習される。
【0068】
なお、本実施形態では、データセット生成部103により生成された複数の学習用データセット1~10を順に分類予測モデル107に適用する例を説明したが、データセット生成部103と学習部104の処理が繰り返されてもよい。すなわち、データセット生成部103が学習用データセット1を生成して学習部104が当該データセットを用いて分類予測モデル107を学習させ、続いて、データセット生成部103が学習用データセット2を生成して学習部104が当該データを用いて分類予測モデル107を学習させ、このような処理を学習用データセット10まで続けてもよい。
【0069】
[処理の流れ]
図9を参照して、本実施形態による情報処理装置100により実行される処理の流れを説明する。
図9は、分類予測モデル107を学習させる処理(学習フェーズ)のフローチャートを示す。
図9に示す処理は、情報処理装置100のCPU501がROM502等に格納されたプログラムをRAM503にロードして実行することによって実現されうる。
図9の説明にあたり、
図8を参照する。
【0070】
S91では、データセット生成部103は、初期学習用データセット(学習用データセット1)を生成する。続いて、S92では、データセット生成部103は、学習用データセット1を起点として学習データエレメントの追加と削除を繰り返し、学習用データセット2~10を順に生成する。
【0071】
S93では、学習部104は、S91とS92で生成された学習用データセット1~10を時系列的に順に用いて分類予測モデル107を学習させる。すなわち、学習部104は、学習用データエレメントの数が順に動的に(ランダムに)変化するように生成された複数の学習用データセット1~10を順に用いて分類予測モデル107を学習させる。これにより、1度学習に使用された学習用データセットが時間を変えて再度使用される一方で、新たな学習用データセットも使用されて学習される。
S94では、学習部104は、S93で学習された分類予測モデル107を、学習済みの分類予測モデル107として、RAM503といった記憶部に格納する。
【0072】
[性能評価の結果]
表1に、分類予測処理の性能評価のシミュレーション結果を示す。具体的には、表1は、複数の学習モデルのそれぞれを用いて分類予測処理を行った場合の、正解データに対する正解率(Accuracy)を示す。本シミュレーションでは、学習用データ群106として、インターネット等で取得可能なFashion-MNISTデータセットを用いた。
【表1】
【0073】
本実施形態による学習モデルとして、第1実施形態において
図3を参照して説明した分類予測モデル107を、
図8を参照して説明した学習用データセット1~10を順に適用することにより学習させたモデルを用いた(本発明モデル)。
【0074】
また、比較対象の第1の学習モデルとして、
図3に示した分類予測モデル107のメインネットワーク301と第3分類ブロック223のみで構成された学習モデルを、
図8を参照して説明した、ラベル「0」~「9」の学習用データセットを一度適用することにより学習させたモデルを、第1比較モデルとして用いた。当該学習モデルは、第3分類のみを出力することが可能である。
さらに、比較対象の第2の学習モデルとして、第1実施形態において
図3を参照して説明した分類予測モデル107を、学習用データ群106からランダムに複数個(≦10)のデータを選択して生成した6つの学習用データセットを順に適用することにより学習させたモデルを、第2比較モデルとして用いた。
【0075】
表1からわかるように、まず、本発明モデルは、第2比較モデルと比較し、第1分類~第3分類の全てにおいて、正解率が高いことがわかる。また、本発明モデルは、第1比較モデルと比較して、第3分類の正解率が高いことがわかる。これは、第1実施形態において説明した分類予測モデル107を用いることと、本実施形態において説明した時系列的に複数の学習用データセット使用して分類予測モデル107を学習させたことの、相乗効果である。
【0076】
このように、本実施形態によれば、複数の学習用データセットを生成し、分類予測モデル107に対して時系列的に変えて適用して、分類予測モデル107を学習させる。このような学習処理により学習モデルが構築され、複雑化する分類を、精度よく予測することが可能となる。
【0077】
なお、本実施形態では、
図8を参照して第3分類に対してラベルが付された学習用データを用いたが、これに限定されない。例えば、複数の階層的な分類に対してラベルが付された学習用データを用いてもよい。
【0078】
以上述べたように、本発明の第1実施形態によれば、商品画像から商品に対する分類を精度よく予測することが可能となり、さらに、第2実施形態によれば、複雑化する分類タスクを対象とする学習モデルの構築が可能となる、これにより、例えば、ECサイトで購入される商品の動向の予測性やユーザによる商品選択の容易性が向上する。
【0079】
なお、上記において特定の実施形態が説明されているが、当該実施形態は単なる例示であり、本発明の範囲を限定する意図はない。本明細書に記載された装置及び方法は上記した以外の形態において具現化することができる。また、本発明の範囲から離れることなく、上記した実施形態に対して適宜、省略、置換及び変更をなすこともできる。かかる省略、置換及び変更をなした形態は、請求の範囲に記載されたもの及びこれらの均等物の範疇に含まれ、本発明の技術的範囲に属する。
【符号の説明】
【0080】
100:情報処理装置、101:取得部、102:分類予測部、103:データセット生成部、104:学習部、105:出力部、106:学習用データ群、107:分類予測モデル
【要約】
情報処理装置は、オブジェクトを含むオブジェクト画像を取得する取得手段と、前記取得手段により取得された前記オブジェクト画像を学習モデルに適用することにより、前記オブジェクトに対する分類を予測する予測手段と、を有し、前記学習モデルは、前記オブジェクト画像に基づき前記オブジェクトに対する階層的な分類のための複数の特徴量を導出するメインネットワーク(201)と、前記複数の特徴量を用いて前記オブジェクトに対する階層的な分類を出力するサブネットワーク(202)から構成され、前記メインネットワーク(201)は、前記複数の特徴量のそれぞれを抽出する複数の抽出器で構成され、前記サブネットワーク(202)は、前記複数の特徴量のそれぞれから前記オブジェクトに対する分類を出力する複数の分類器で構成され、上位側の分類器は1つ以上の下位側の分類器へのコネクションを有するように構成される。