(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-18
(45)【発行日】2022-11-29
(54)【発明の名称】情報処理装置、情報処理方法および情報処理プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20221121BHJP
【FI】
G06T7/00 350C
(21)【出願番号】P 2019164021
(22)【出願日】2019-09-09
【審査請求日】2021-09-16
【早期審査対象出願】
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】岩崎 雅二郎
(72)【発明者】
【氏名】西村 修平
(72)【発明者】
【氏名】田口 拓明
【審査官】笠田 和宏
(56)【参考文献】
【文献】特開2004-361987(JP,A)
【文献】特開2017-059090(JP,A)
【文献】特開2013-196294(JP,A)
【文献】特開2019-021313(JP,A)
【文献】特開2013-089079(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
処理対象の画像に含まれる所定のオブジェクトを認識するニューラルネットワークとして学習された学習器であって、当該ニューラルネットワークの中間層における中間画像群を含む学習器から抽出された中間画像として、前記所定のオブジェクトの認識率向上に寄与する中間画像を取得する取得部と、
前記処理対象の画像に対する分類結果にマッピングされた後の前記中間画像
と、前記処理対象の画像とを比較した比較結果に基づいて
、前記処理対象の画像において
分類結果への貢献度が所定値より高いと判定された領域を有用領域として特定する特定部と、
前記処理対象の画像のうち、前記特定部により特定された有用領域に含まれる画像から低次特徴を抽出する抽出部と
を有することを特徴とする情報処理装置。
【請求項2】
前記取得部は、前記中間画像として、前記処理対象の画像に対する分類結果への貢献度に応じた特徴マップを取得する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記特定部は、前記特徴マップをプーリングした状態で、前記処理対象の画像に対する分類結果にマッピングし、マッピングした後の特徴マップと、前記処理対象の画像とを比較した比較結果に基づいて、前記処理対象の画像において分類結果への貢献度が所定値より高いと判定された領域を前記有用領域として特定する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記特定部は、前記処理対象の画像として、前記特徴マップに基づきグリッド状に分割された処理対象の画像において、グリッド毎に算出された前記貢献度に基づき前記処理対象の画像において前記貢献度が所定値より高いと判定された領域を前記有用領域として特定する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記抽出部は、前記グリッド毎に当該グリッドから低次特徴を抽出し、抽出した低次特徴の特徴量から変換された特徴ベクトルが前記処理対象の画像を用いた類似画像検索で利用される情報となるよう制御する
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記特定部は、前記処理対象の画像として、連続する複数の処理対象の画像それぞれにおいてクラス分類のために有用な有用領域を特定し、
前記抽出部は、前記特定部により特定された有用領域に含まれる画像であって、連続する複数の処理対象の画像それぞれに対応する画像が重ね合わされた1つの重ね合せ画像から低次特徴を抽出する
ことを特徴とする請求項1~5のいずれか1つに記載の情報処理装置。
【請求項7】
前記抽出部は、前記低次特徴として、前記処理対象の画像を用いた類似画像検索で利用される情報となる低次特徴を抽出する
ことを特徴とする請求項1~6のいずれか1つに記載の情報処理装置。
【請求項8】
情報処理装置が実行する情報処理方法であって、
処理対象の画像に含まれる所定のオブジェクトを認識するニューラルネットワークとして学習された学習器であって、当該ニューラルネットワークの中間層における中間画像群を含む学習器から抽出された中間画像として、前記所定のオブジェクトの認識率向上に寄与する中間画像を取得する取得工程と、
前記処理対象の画像に対する分類結果にマッピングされた後の前記中間画像
と、前記処理対象の画像とを比較した比較結果に基づいて
、前記処理対象の画像において
分類結果への貢献度が所定値より高いと判定された領域を有用領域として特定する特定工程と、
前記処理対象の画像のうち、前記特定工程により特定された有用領域に含まれる画像から低次特徴を抽出する抽出工程と
を含むことを特徴とする情報処理方法。
【請求項9】
処理対象の画像に含まれる所定のオブジェクトを認識するニューラルネットワークとして学習された学習器であって、当該ニューラルネットワークの中間層における中間画像群を含む学習器から抽出された中間画像として、前記所定のオブジェクトの認識率向上に寄与する中間画像を取得する取得手順と、
前記処理対象の画像に対する分類結果にマッピングされた後の前記中間画像
と、前記処理対象の画像とを比較した比較結果に基づいて
、前記処理対象の画像において
分類結果への貢献度が所定値より高いと判定された領域を有用領域として特定する特定手順と、
前記処理対象の画像のうち、前記特定手順により特定された有用領域に含まれる画像から低次特徴を抽出する抽出手順と
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【0002】
従来、ニューラルネットワークによる画像の特徴抽出に関する技術が提供されている。例えば、畳み込みニューラルネットワーク(Convolutional Neural Network)により、画像の顕著性マップを生成する技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【文献】Karen Simonyan, Andrea Vedaldi, Andrew Zisserman, "Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps", International Conference on Machine Learning(ICLR), Apr14-16, 2014, Banff, Canada.
【文献】Misha Denil, Alban Demiraj, Nando de Freitas, "Extraction of Salient Sentences from Labelled Documents", International Conference on Machine Learning(ICLR), Apr14-16, 2015, San Diego, USA.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、分類結果に対応する対象物に応じた低次特徴を高精度に抽出することができるとは限らない。
【0005】
本願は、上記に鑑みてなされたものであって、分類結果に対応する対象物に応じた低次特徴を高精度に抽出することができる情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願にかかる情報処理装置は、処理対象の画像においてクラス分類のために有用な有用領域を特定する特定部と、前記処理対象の画像のうち、前記特定部により特定された有用領域に含まれる画像から低次特徴を抽出する抽出部とを有することを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、分類結果に対応する対象物に応じた低次特徴を高精度に抽出することができるといった効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態にかかる情報処理の概要を示す図である。
【
図2】
図2は、実施形態にかかる情報処理の一例を示す図である。
【
図3】
図3は、実施形態にかかる情報処理システムの構成例を示す図である。
【
図4】
図4は、実施形態にかかる情報処理装置の構成例を示す図である。
【
図5】
図5は、実施形態にかかる画像情報記憶部の一例を示す図である。
【
図6】
図6は、実施形態にかかる特徴情報記憶部の一例を示す図である。
【
図7】
図7は、実施形態にかかる学習処理手順を示すフローチャートである。
【
図8】
図8は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願にかかる情報処理装置、情報処理方法および情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ説明する。なお、この実施形態により本願にかかる情報処理装置、情報処理方法および情報処理プログラムが限定されるものではない。また、以下の実施形態において、同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
〔1.情報処理の概要〕
まず、
図1を用いて、実施形態にかかる情報処理の概要について説明する。
図1は、実施形態にかかる情報処理の概要を示す図である。実施形態にかかる情報処理は、情報処理装置100によって行われる。
【0011】
図1の説明に先立って、
図3を用いて、実施形態にかかる情報処理システムについて説明する。
図3は、実施形態にかかる情報処理システム1の構成例を示す図である。実施形態にかかる情報処理システム1は、
図3に示すように、端末装置10と、提供者装置20と、情報処理装置100とを含む。端末装置10、提供者装置20、情報処理装置100は、ネットワークNを介して有線または無線により通信可能に接続される。なお、
図3に示す情報処理システム1には、複数台の端末装置10や、複数台の提供者装置20や、複数台の情報処理装置100が含まれてよい。
【0012】
端末装置10は、ユーザによって利用される情報処理端末である。端末装置10は、例えば、商品検索したいと考えるユーザによって利用される情報処理端末である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等である。
【0013】
例えば、端末装置10は、ユーザの操作に従って、情報処理装置100に検索クエリを送信する。例えば、ユーザは、所定の画像に写されたオブジェクトに類似または一致する商品を検索したいとする。かかる場合、ユーザは、この所定の画像を端末装置10に入力して検索ボタンを押下する。そうすると、端末装置10は、この所定の画像を検索クエリとして情報処理装置100に送信する。なお、このような場合、所定の画像は、検索クエリ画像等と呼ぶことができる。
【0014】
提供者装置20は、検索クエリ(検索クエリ画像)に対応する検索結果となり得る画像を提供する提供者によって利用される情報処理端末である。本実施形態では、提供者は、情報処理装置100の事業主によって運営されるショッピングサービス(以下、「サービスSH」と表記する場合がある)に対して商品を出品している店舗であるものとする。かかる場合、検索結果となり得る画像では、実質、提供者の商品が映される(紹介される)ということになるため、かかる画像は商品画像と呼ぶことができる。
【0015】
ここで、実施形態にかかる情報処理が行われるにあたっての前提について説明する。例えば、ユーザは、画像IMGx1に写されたオブジェクトOBx1を購入したいと考え、オブジェクトOBx1が商品として販売されていないか検索しようとする場合を想定する。このような場合、提供者(店舗)により入稿された商品画像から、当該商品画像に含まれる商品の低次特徴を抽出しておくことで、オブジェクトOBx1に応じた低次特徴を有する商品が映される商品画像を検索することが考えられる。
【0016】
しかしながら、低次特徴を高精度に抽出することができるとは限らない。例えば、商品画像が、商品に対して背景単一色といった抽象的かつシンプルな画像であれば、商品の低次特徴を高精度に抽出することは可能であるかもしれない。しかしながら、多くの商品画像は、上記のように低次特徴を高精度に抽出できるような都合のよい態様にはなってないことがほとんである。例えば、商品画像には、商品だけでなく、商品以外の様々なオブジェクト、人物、複雑な背景、複雑な色合いで構成されていることが多く、このような場合、商品の低次特徴を高精度に抽出することはできない。
【0017】
また、商品画像から低次特徴を抽出するには、商品以外の余分な情報(例えば、商品以外のオブジェクトや背景)を除去することで、商品を分離することで、分離した商品の低次特徴を抽出することが考えられる。このような手法として、ピクセルレベルのセグメンテーションや、矩形レベルの物体検出を行うことのできるモデルを学習しておくことで、かかるモデルを用いて処理対象の商品画像から余分な情報を除去する手法が挙げられる。しかしながら、モデルの学習やモデルを用いた計算にかかるコストが高コストであるとの問題がある。
【0018】
すなわち、商品画像の構成上、商品の低次特徴を高精度に抽出することはできないし、また、これを実現するためには上記のようなモデルを用いた手法があるものの、コストの問題等から現実的ではない。したがって、本実施形態は、このような前提や課題を踏まえて、画像中のオブジェクト(例えば、商品)に対してクラス分類を行う既存の学習器(モデル)を活用することでコストを抑えつつ、かつ、画像中のオブジェクト(例えば、商品)の低次特徴を高精度に抽出することを目的としている。
【0019】
具体的には、実施形態に情報処理装置100は、既存の学習器(モデル)を活用することでコストを抑えつつ、かつ、画像中のオブジェクト(例えば、商品)の低次特徴を高精度に抽出するための情報処理として次のような処置を行う。具体的には、情報処理装置100は、処理対象の画像においてクラス分類のために有用な有用領域を特定し、処理対象の画像のうち、特定した有用領域に含まれる画像から低次特徴を抽出する。具体的には、情報処理装置100は、入力画像に対してクラス分類した分類結果を出力するニューラルネットワークであるモデルに処理対象の画像を入力し、かかるモデルの中間層での所定の情報を取得する。そして、情報処理装置100は、所定の情報に基づいて、有用領域を特定する。
【0020】
例えば、情報処理装置100は、所定の情報に基づき処理対象の画像において分類結果への貢献度が所定値より高いと判定された領域を有用領域として特定する。例えば、情報処理装置100は、所定の情報として、中間層で得られた特徴マップであって、処理対象の画像に対する分類結果への貢献度に応じた特徴マップを取得する。したがって、情報処理装置100は、中間層で得られた特徴マップをプーリングした状態で、処理対象の画像に対する分類結果にマッピングし、マッピングした後の特徴マップと、処理対象の画像とを比較した比較結果に基づいて、処理対象の画像において分類結果への貢献度が所定値より高いと判定された領域を有用領域として特定する。また、例えば、情報処理装置100は、処理対象の画像として、特徴マップに基づきグリッド状に分割された処理対象の画像において、グリッド毎に算出された貢献度に基づき処理対象の画像において貢献度が所定値より高いと判定された領域を有用領域として特定する。
【0021】
上記実施形態にかかる情報処理の一例を示す。例えば、既存の学習器によって処理対象に画像に含まれる所定のオブジェクトがクラスCLに属すると判断されたとすると、実施形態にかかる情報処理装置100は、クラスCLに属すると判断されるきっかけとなった情報、すなわちクラスCLに属すると判断されるうえで有用な情報をモデルの中間層から取得する。そして、情報処理装置100は、取得した情報を処理対象の画像に適用することで、処理対象の画像においてクラスCLと判断された有用な有用領域を特定する。
【0022】
以下では、
図1を用いて、まず、実施形態にかかる情報処理の全体的な流れの一例について説明する。その後、
図2を用いて、実施形態にかかる情報処理の一例を示す。
【0023】
図1の例では、提供者装置20は提供者T1によって利用され、また、端末装置10はユーザU1によって利用されるものとする。また、
図1の例では、提供者装置20は、提供者T1の操作に従って、情報処理装置100に対して商品画像IM11を入稿している(ステップS11)。商品画像IM11には、提供者T1が取り扱っている商品、すなわち取引対象のオブジェクトOB11が映されている。
図1の例によると、オブジェクトOB11はTシャツである。
【0024】
ここで、上記の通り、
図1の例では、情報処理装置100が提供者T1のみから商品画像の提供を受ける例を示すため、実施形態にかかる情報処理として、商品画像IM11に焦点を当てた情報処理を示す。しかしながら、情報処理装置100は、実際には、提供者T1以外にも多くの提供者から商品画像の提供を受けることになるため、各提供者から提供された商品画像毎に実施形態にかかる情報処理を行うものである。
【0025】
図1の説明に戻る。情報処理装置100は、商品画像IM11の入稿を受け付けると、商品画像IM11においてクラス分類のために有用な有用領域を特定する一連の特定処理を行う(ステップS12)。ここで、既存の学習器LEに関する学習情報として、入力画像に含まれる所定のオブジェクト対してクラス分類した分類結果を出力するニューラルネットワークであるモデルMを例に挙げる。また、モデルMを学習情報として有する既存の学習器LEに対して、商品画像IM11した場合、取引対象のオブジェクトOB11が属するクラス(カテゴリ)として、クラス「Tシャツ」が出力されるとする。そうすると、情報処理装置100は、ステップS12では、商品画像IM11において、オブジェクトOB11をクラス「Tシャツ」に分類させるために有用となった有用領域を特定する一連の特定処理を行う。
【0026】
次に、情報処理装置100は、商品画像IM11のうち、ステップS12で特定した有用領域に含まれる画像から、所定のオブジェクトに関する低次特徴を抽出する(ステップS13)。例えば、情報処理装置100は、取引対象のオブジェクトOB11に関する低次特徴を抽出する。ステップS12の特定処理、および、ステップS13の抽出処理の詳細については、後ほど
図2を用いて説明する。また、ここまでの処理により、情報処理装置100は、商品画像毎に当該商品画像に含まれる所定のオブジェクト(取引対象のオブジェクト)に関する低次特徴を得られることになる。
【0027】
このような状態において、情報処理装置100は、ユーザU1の端末装置10から検索クエリ画像QE21を受け付けたとする(ステップS14)。そうすると、情報処理装置100は、各提供者から入稿されている商品画像の中から、検索クエリ画像QE21に類似する画像を検索する類似画像検索を行う(ステップS15)。具体的には、情報処理装置100は、検索クエリ画像QE21に含まれるオブジェクトであって、例えばユーザU1により指定されたオブジェクトである指定オブジェクトに類似するオブジェクトが取引対象として写された商品画像を検索する。例えば、情報処理装置100は、指定オブジェクトと、各商品画像から抽出された低次特徴とのマッチングを行うことで、指定オブジェクトに類似するオブジェクトを取引対象とする商品画像を検索する。
【0028】
そして、情報処理装置100は、ステップS15での検索で得られた商品画像(検索結果画像)を端末装置10に送信する(ステップS16)。
【0029】
〔2.情報処理の一例〕
さて、ここからは、
図2を用いて、実施形態にかかる情報処理の一例について説明する。
図2は、実施形態にかかる情報処理の一例を示す図である。
図2では、実施形態にかかる情報処理として、
図1に示すステップS12の特定処理、および、ステップS13の抽出処理の詳細について説明する。
【0030】
図1の例によると、情報処理装置100は、商品画像IM11の入稿を受け付けているため、学習器LEに商品画像IM11(処理対象の画像の一例)を入力する(ステップS121)。
【0031】
ここで、情報処理装置100が用いる学習器について説明する。情報処理装置100が用いる学習器LEは、例えば、入力されたデータに対する演算結果を出力する複数のノードを多層に接続した学習器であって、教師あり学習により抽象化された画像の特徴を学習された学習器である。例えば、学習器LEは、複数のノードを有する層を多段に接続したニューラルネットワークであり、いわゆるディープラーニングの技術により実現されるDNN(Deep Neural Network)であってもよい。また、画像の特徴とは、画像に含まれる文字の有無、色、構成等、画像内に現れる具体的な特徴のみならず、撮像されている物体が何であるか、画像がどのような利用者に好かれるか、画像の雰囲気等、抽象化(メタ化)された画像の特徴をも含む概念である。
【0032】
例えば、学習器LEは、ディープラーニングの技術により、以下のような学習手法により生成される。例えば、学習器LEは、各ノードの間の接続係数が初期化され、様々な特徴を有する画像が入力される。そして、学習器LEは、学習器LEにおける出力と、入力した画像との誤差が少なくなるようにパラメータ(接続係数)を補正するバックプロパゲーション(誤差逆伝播法)等の処理により生成される。例えば、学習器LEは、所定の損失(ロス)関数を最小化するようにバックプロパゲーション等の処理を行うことにより生成される。上述のような処理を繰り返すことで、学習器LEは、入力された画像をより良く再現できる出力、すなわち入力された画像の特徴を出力することができる。
【0033】
なお、学習器LEの学習手法については、上述した手法に限定されるものではなく、任意の公知技術が適用可能である。また、学習器の学習を行う際に用いられる画像は、Tシャツが含まれる画像やTシャツが含まれない画像等の種々の画像のデータセットを利用してもよい。また、学習器LEに対する画像の入力方法、学習器LEが出力するデータの形式、学習器LEに対して明示的に学習させる特徴の内容等は、任意の手法が適用できる。すなわち、情報処理装置100は、画像から抽象化された特徴を示す特徴量を算出できるのであれば、任意の学習器を用いることができる。
【0034】
図1および
図2では、情報処理装置100は、入力画像の局所領域の畳み込みとプーリングとを繰り返す、いわゆる畳み込みニューラルネットワーク(Convolutional Neural Network)による学習器LEを用いる。以下では、畳み込みニューラルネットワークをCNNと記載する場合がある。例えば、CNNによる学習器LEは、画像から特徴を抽出して出力する機能に加え、画像内に含まれる文字や撮像対象等の位置的変異に対し、出力の不変性を有する。このため、学習器LEは、画像の抽象化された特徴を精度良く算出することができる。例えば、学習器LEは、画像の抽象化された特徴として、入力画像に含まれる所定のオブジェクトが属するクラスを分類結果として算出する。
【0035】
具体的には、
図2では、情報処理装置100は、処理対象の画像に含まれる複数のオブジェクトそれぞれに対してクラス分類を行うことで、複数のオブジェクトの中からクラス「Tシャツ」に分類されるオブジェクトを識別する学習器LEを用いるものとする。
【0036】
このようなことから、
図2では、商品画像IM11が入力された学習器LEは、商品画像IM11にTシャツが含まれるかを識別する(ステップS122)。
図2では、商品画像IM11にはTシャツであるオブジェクトOB11が含まれる。このため、学習器LEは、商品画像IM11に含まれる複数のオブジェクトそれぞれに対してクラス分類を行うことで、複数のオブジェクトの中からクラス「Tシャツ」に分類されるオブジェクトOB11を識別する。この結果、ステップS122では、学習器LEは、商品画像IM11には、クラス「Tシャツ」に分類されるオブジェクトOB11が取引対象のオブジェクトとして写されていることを示す識別情報IRを生成する。なお、ステップS122は、学習器LEの動作を説明するための処理であり、行われなくてもよい。
【0037】
ここで、学習器LEは、CNNにより生成された学習器であり、複数の中間層A~C等を含む。そこで、情報処理装置100は、商品画像IM11を学習器LEに入力した際に所定の中間層における情報(以下、「中間画像」とする)を取得する。
図2では、情報処理装置100は、商品画像IM11を学習器LEに入力した際に中間層Bにおける中間画像を取得する(ステップS123)。具体的には、情報処理装置100は、中間画像MM11~MM19を含む中間画像群MG10を取得する。なお、
図2では、中間画像MM11~MM19において特徴を示す領域は、色が濃い態様で示す。例えば、中間画像MM12は、中央部に特徴を示す領域が含まれることを示す。また、例えば、中間画像MM16は、略特徴を示す領域が含まれないことを示す。
【0038】
中間画像についてより詳細に説明する。例えば、学習器LEは、商品画像IM11から2次元の行列で表される特徴強度を得る。このため、中間画像は、行列をヒートマップ化した、いわゆる特徴マップである。このため、本実施形態では、中間画像のことを特徴マップと言い換えられるものとする。
【0039】
そして、情報処理装置100は、中間画像群MG10から、所定の対象の認識率向上に寄与する中間画像を抽出(取得)する(ステップS124)。
図2では、情報処理装置100は、中間画像群MG10から、取引対象のオブジェクトOB11に対応するTシャツの認識率向上に寄与する中間画像を抽出する。すなわち、情報処理装置100は、オブジェクトOB11がクラス「Tシャツ」に属すると判断するきっかとになった貢献度が所定値より高い中間画像を抽出する。さらにいうなれば、情報処理装置100は、取引対象のオブジェクトOB11がクラス「Tシャツ」と判定される確率が所定値より高い中間画像を抽出する。各中間画像は、元画像である商品画像IM11を縮小したサイズであり、また、商品画像IM11よりも画質が荒いグリッド状である。ここで、例えば、グリッド毎にクラス「Tシャツ」と判定される確率が算出されるため、情報処理装置100は、中間画像群MG10から、クラス「Tシャツ」と判定された確率が所定値より高いグリッドで構成される領域に対応する中間画像を抽出する。
【0040】
図2の例では、情報処理装置100は、オブジェクトOB11がクラス「Tシャツ」に属すると判断するきっかとになった貢献度が所定値より高い中間画像として、中間画像MM12、MM14、MM17、MM18を抽出したとする。なお、ここでいうクラス「Tシャツ」は、処理対象の画像である商品画像IM11に対する分類結果の一例である。
【0041】
なお、情報処理装置100は、中間画像群MG10に含まれる中間画像MM11~MM19の各々への加工に応じたTシャツの認識率の変化に基づいて、中間画像を抽出してもよい。ここでいう中間画像の加工とは、中間画像の輝度を所定の値だけ増加させること等、目的に応じて種々の手段により行われてもよい。なお、加工によりTシャツの認識率の変化を生じさせる中間画像は、Tシャツの認識に影響を持つ中間画像であることが推定される。そのため、情報処理装置100は、加工によりTシャツの認識率の変化を生じさせる中間画像を抽出する。
【0042】
そして、情報処理装置100は、ステップS124で抽出した中間画像MM12、MM14、MM17、MM18を合成する(ステップS125)。
図2では、情報処理装置100は、中間画像MM12、MM14、MM17、MM18を合成することにより、合成画像CM11を生成する。具体的には、情報処理装置100は、中間層Bから取得した中間画像MM11~MM19のうち、中間画像MM12、MM14、MM17、MM18をプーリングする。そして、情報処理装置100は、プーリングした中間画像MM12、MM14、MM17、MM18を、オブジェクトOB11に対して分類した分類結果であるクラス「Tシャツ」にマッピングすることで、合成画像CM11を生成する。なお、合成画像CM11も特徴マップであることには変わりない。また、合成画像CM11も、元画像である商品画像IM11を縮小したサイズであるとともに、商品画像IM11よりも画質が荒いグリッド状である。
【0043】
そして、情報処理装置100は、
図2に示すように、クラス「Tシャツ」に分類されるオブジェクトであるオブジェクトOB11の特徴を示す領域を含む合成画像CM11を生成する。
【0044】
次に、情報処理装置100は、商品画像IM11において、オブジェクトOB11がクラス「Tシャツ」分類されるうえで有用となった領域である有用領域を特定する(ステップS126)。例えば、情報処理装置100は、合成画像CM11を商品画像IM11と同一のサイズにまで拡大し、拡大した合成画像と、商品画像IM11とを比較することにより、オブジェクトOB11を含む領域を特定し、特定した領域を有用領域と定める。この点について、より詳細に説明する。上記説明したように、合成画像CM11は、クラス「Tシャツ」と判定された確率が所定値より高いグリッドで構成される領域に対応する中間画像である。このため、情報処理装置100は、合成画像CM11を商品画像IM11に戻すことで、グリッド状に分割された商品画像IM11を得たうえで、このグリッド毎に算出された確率(貢献度)に基づいて、確率が所定値より高いと判定された領域を有用領域と定める。
【0045】
図2の例では、情報処理装置100は、領域R11を有用領域として特定している。
図2に示す商品画像IM11は、オブジェクトOB11の他にも花瓶やイス、複雑な背景が映されているが、情報処理装置100は、このような商品画像IM11から、クラス「Tシャツ」に分類されるオブジェクトOB11のみを精度よく抽出(検出)している。
【0046】
次に、情報処理装置100は、領域R11で抽出されるオブジェクト(すなわちオブジェクトOB11)の低次特徴を抽出する(ステップS127)。ここでいう低次特徴とは、領域R11で抽出されるオブジェクトの色相、エッジ、フロー等である。例えば、情報処理装置100は、商品画像IM11のうち領域R11で抽出される部分の画像を解析することにより、領域R11で抽出されるオブジェクトの低次特徴を抽出する。
図2の例では、情報処理装置100が低次特徴として、低次特徴FA11を抽出した例を示す。また、抽出された低次特徴は、特徴情報記憶部122に格納される。
【0047】
さて、
図1および
図2を用いて説明してきたように、実施形態にかかる情報処理装置100は、処理対象の画像においてクラス分類のために有用な有用領域を特定し、処理対象の画像のうち、有用領域に含まれる画像から低次特徴(低次特徴量)を抽出する。例えば、情報処理装置100は、上述したように、ニューラルネットワーク(例えば、CNN)における情報から、所定のクラスに分類されるオブジェクトを適切に認識するために用いる情報を生成する。
図1および
図2の例では、情報処理装置100は、CNNの中間層における中間画像群MG10から、オブジェクトOB11がTシャツに分類されることに貢献した中間画像を抽出する。そして、情報処理装置100は、抽出した中間画像を合成することにより、合成画像を生成する。すなわち、情報処理装置100は、オブジェクトOB11がTシャツに分類されることに貢献した中間画像のみを用いて合成画像を生成する。したがって、情報処理装置100は、商品画像IM11からオブジェクトOB11の特徴領域を精度よく示す示す合成画像を生成することができるため、オブジェクトOB11以外にも様々なオブジェクトや背景を含む商品画像IM11からオブジェクトOB11のみを精度よく抽出することができる。この結果、情報処理装置100は、クラス「Tシャツ」という分類結果に対応する対象物、すなわちオブジェクトOB11に応じた低次特徴を高精度に抽出することができる。
【0048】
また、実施形態にかかる情報処理装置100は、上記のように抽出した低次特徴を図で説明した類似画像検索で用いることができるため、例えばユーザから受け付けた検索クエリ画像の特徴に対してより近しい特徴を有する商品画像を精度良く検索することができる。この結果、情報処理装置100は、類似画像検索におけるユーザ満足度を高めることができる。
【0049】
また、実施形態にかかる情報処理装置100は、
図1および
図2で説明した情報処理によれば、コストのかかるモデルを用いることなく、既存の学習器を活用しながらも低次特徴を高精度に抽出することができるため、コストを抑えつつも低次特徴を高精度に抽出することができる。
【0050】
〔3.情報処理装置の構成〕
次に、
図4を用いて、実施形態にかかる情報処理装置100について説明する。
図4は、実施形態にかかる情報処理装置100の構成例を示す図である。
図4に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。例えば、情報処理装置100は、
図1および
図2で説明した情報処理を行うサーバ装置である。
【0051】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークNと有線または無線で接続され、例えば、端末装置10や提供者装置20との間で情報の送受信を行う。
【0052】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子またはハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、画像情報記憶部121と、特徴情報記憶部122とを有する。
【0053】
(画像情報記憶部121について)
画像情報記憶部121は、画像に関する各種情報を記憶する。
図1および
図2の例では、画像情報記憶部121は、提供者より入稿された商品画像に関する情報を記憶する。ここで、
図5に実施形態にかかる画像情報記憶部121の一例を示す。
図5の例では、画像情報記憶部121は、「画像ID」、「画像データ」といった項目を有する。
【0054】
「画像ID」は、提供者より入稿された商品画像を識別する識別情報を示す。「画像データ」は、「画像ID」によって識別蛙される商品画像そのもの、つまり画像情報を示す。
【0055】
すなわち、
図5の例では、情報処理装置100が、画像ID「IM11」によって識別される商品画像(商品画像IM11)の入稿を受け付けている例を示す。なお、
図5では不図示であるが、提供者を識別する提供者IDがさらに紐付けられてもよい。
【0056】
(特徴情報記憶部122について)
特徴情報記憶部122は、低次特徴に関する情報を記憶する。ここで、
図6に実施形態にかかる特徴情報記憶部122の一例を示す。
図6の例では、特徴情報記憶部122は、「画像ID」、「領域情報」、「低次特徴」といった項目を有する。
【0057】
「画像ID」は、
図5の例と同様に、提供者より入稿された商品画像を識別する識別情報を示す。「領域情報」は、クラス分類のために有用な有用領域を示す情報である。「領域情報」は、例えば、「画像ID」によって識別される商品画像(元画像)であって、有用領域が示された商品画像として記憶されてもよい。「低次特徴」は、「領域情報」が示す有用領域によって囲まれるオブジェクトから抽出された低次特徴を示す。
【0058】
すなわち、
図6の例では、画像ID「IM11」によって識別される商品画像(商品画像IM11)では、領域R11が有用領域として特定されたことにより、領域R11内のオブジェクトの低次特徴として低次特徴FA11が抽出された例を示す。なお、係る例は、
図2で示した例に対応する。また、
図5では不図示であるが、有用領域で抽出されるオブジェクトを示す情報がさらに紐付けられてもよい。
【0059】
(制御部130について)
図4に戻り、制御部130は、CPUやMPU等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASICやFPGA等の集積回路により実現される。
【0060】
図3に示すように、制御部130は、取得部131と、入力部132と、抽出部133と、生成部134と、特定部135と、特徴抽出部136と、検索処理部137と、提示部138とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図3に示した接続関係に限られず、他の接続関係であってもよい。
【0061】
(取得部131について)
取得部131は、画像を取得する。例えば、取得部131は、提供者から商品画像を取得する。すなわち、取得部131は、提供者から商品画像の入稿を受け付ける。
図1および
図2の例では、取得部131は、提供者T1の提供者装置20から商品画像IM11を取得する。すなわち、取得部131は、提供者T1の提供者装置20から商品画像IM11の入稿を受け付ける。また、取得部131は、取得した商品画像を画像情報記憶部1221に格納する。
【0062】
また、取得部131は、各処理部に行って処理が行われる際に、その処理に必要な情報を記憶部から取得し、対応する処理部に出力する処理も行うことがでいる。例えば、取得部131は、入力部132によって学習器に処理対象の画像が入力される際に、画像情報記憶部121から処理対象の画像を取得し、取得した処理対象の画像を入力部132に送信する。
【0063】
(入力部132について)
入力部132は、入力画像に含まれる所定のオブジェクト対してクラス分類した分類結果を出力するニューラルネットワークであるモデルに、処理対象の画像を入力する。
図2の例では、入力部132は、学習器LEに商品画像IM11(処理対象の画像の一例)を入力する。
【0064】
(抽出部133について)
抽出部133は、ニューラルネットワークの中間層における所定の情報を抽出(取得)する。例えば、抽出部133は、所定の情報として、中間層で得られた特徴マップであって、処理対象の画像に対する分類結果への貢献度に応じた特徴マップを抽出(取得)する。例えば、抽出部133は、画像中の所定のオブジェクトを認識するニューラルネットワークの中間層における中間画像群から、所定のオブジェクトの認識率向上に寄与する中間画像(特徴マップの一例)を抽出する。例えば、抽出部133は、処理対象の画像に含まれる複数のオブジェクトそれぞれに対してクラス分類を行うことで、複数のオブジェクトの中からクラス「Tシャツ」に分類されるオブジェクトを識別(認識)するニューラルネットワークの中間層における中間画像群から、Tシャツの認識率向上に寄与する中間画像を抽出する。言い換えると、抽出部133は、中間画像群からクラス「Tシャツ」に属すると判断するきっかとになった貢献度が所定値より高い中間画像を抽出する。
【0065】
また、例えば、抽出部133は、畳み込み処理及びプーリング処理を行うニューラルネットワークの中間層における中間画像群から、所定のオブジェクトの認識率向上に寄与する中間画像を抽出する。例えば、抽出部133は、CNNの中間層における中間画像群から、所定のオブジェクトの認識率向上に寄与する中間画像を抽出する。
図1では、抽出部133は、CNNの中間層における中間画像群MG10から、Tシャツの認識率向上に寄与する中間画像MM12、MM14、MM17、MM18を抽出する。
【0066】
(生成部134について)
生成部134は、抽出部133により抽出された中間画像を合成した合成画像を生成する。
図2では、生成部134は、中間画像MM12、MM14、MM17、MM18を合成することにより、合成画像CM11を生成する。具体的には、生成部134は、中間層Bから取得された中間画像MM11~MM19のうち、中間画像MM12、MM14、MM17、MM18をプーリングする。そして、生成部134は、プーリングした中間画像MM12、MM14、MM17、MM18を、オブジェクトOB11(所定の対象)に対して分類した分類結果であるクラス「Tシャツ」にマッピングすることで、合成画像CM11を生成する。
【0067】
(特定部135について)
特定部135は、処理対象の画像においてクラス分類のために有用な有用領域を特定する。例えば、特定部135は、中間層で得られた特徴マップであって、処理対象の画像に対する分類結果への貢献度に応じた特徴マップ基づいて、処理対象の画像において分類結果への貢献度が所定値より高い領域を判定(特定)する。そして、特定部135は、処理対象の画像において分類結果への貢献度が所定値より高いと判定された領域を有用領域として特定する。
【0068】
例えば、特定部135は、中間層で得られた特徴マップをプーリングした状態で、処理対象の画像に対する分類結果にマッピングし、マッピングした後の特徴マップと、処理対象の画像とを比較した比較結果に基づいて、処理対象の画像において分類結果への貢献度が所定値より高いと判定された領域を有用領域として特定する。一例を示すと、特定部135は、処理対象の画像として、特徴マップに基づきグリッド状に分割された処理対象の画像において、グリッド毎に算出された貢献度に基づき処理対象の画像において貢献度が所定値より高いと判定された領域を有用領域として特定する。
【0069】
図2の例では、特定部135は、合成画像CM11を商品画像IM11と同一のサイズにまで拡大し、拡大した合成画像と、商品画像IM11とを比較することにより、オブジェクトOB11を含む領域を特定する。そして、特定部135は、特定した領域を有用領域と定める。ここで、合成画像CM11は、クラス「Tシャツ」と判定された確率が所定値より高いグリッドで構成される領域に対応する中間画像である。このため、特定部135は、合成画像CM11を商品画像IM11に戻すことで、グリッド状に分割された商品画像IM11を得たうえで、このグリッド毎に算出された確率(貢献度)に基づいて、確率が所定値より高い領域を判定(特定)する。そして、特徴抽出部136は、確率が所定値より高い判定した領域を有用領域と定める。
図2の例では、特徴抽出部136は、領域R11を有用領域として特定する。
【0070】
(特徴抽出部136について)
特徴抽出部136は、処理対象の画像のうち、特定部135により特定された有用領域に含まれる画像から低次特徴を抽出する。例えば、特徴抽出部136は、商品画像IM11のうち領域R11で抽出される部分の画像を解析することにより、領域R11で抽出されるオブジェクトの低次特徴を抽出する。また、特徴抽出部136は、抽出した低次特徴を特徴情報記憶部122に格納する。
【0071】
(検索処理部137について)
検索処理部137は、検索クエリに対応する画像を検索する検索処理を行う。例えば、検索処理部137は、検索クエリ画像に関連(類似または一致)すう類似画像を検索する類似画像検索を行う。より具体的には、検索処理部137は、検索クエリ画像に含まれるオブジェクトであって、例えばユーザにより指定されたオブジェクトである指定オブジェクトに類似するオブジェクトが取引対象として写された商品画像を検索する。例えば、検索処理部137は、指定オブジェクトと、各商品画像から抽出された低次特徴とのマッチングを行うことで、指定オブジェクトに類似するオブジェクトを取引対象とする商品画像を検索する。
【0072】
(提示部138について)
提示部138は、アクセス元のユーザに対して、所定の情報を提示する。例えば、提示部138は、検索処理部137による検索処理で得られた検索結果を、検索クエリ送信元のユーザに提示(送信)する。例えば、提示部138は、検索処理部137による検索処理で得られた検索結果としての商品画像を、検索クエリ画像を送信したユーザに提示(送信)する。
【0073】
〔4.処理手順〕
次に、
図7を用いて、実施形態にかかる情報処理の手順について説明する。
図7は、実施形態にかかる学習処理手順を示すフローチャートである。
【0074】
まず、取得部131は、処理対象の画像を取得する(ステップS201)。例えば、取得部131は、提供者により入稿された商品画像を取得する。次に、入力部132は、取得部131により取得された処理対象の画像を学習器に入力する(ステップS202)。例えば、入力部132は、入力画像に含まれる所定のオブジェクト対してクラス分類した分類結果を出力するニューラルネットワークであるモデルに処理対象の画像を入力する。
【0075】
次に、抽出部133は、ニューラルネットワークの中間層における中間画像群を取得する(ステップS203)。そして、抽出部133は、ステップS203で取得した中間画像群から、所定のオブジェクト(例えば、取引対象のオブジェクト)の認識率向上に寄与する中間画像を抽出する(ステップS204)。例えば、抽出部133は、認識率(貢献度)向上に寄与する中間画像として、中間層で得られた特徴マップであって、処理対象の画像に対する分類結果への貢献度に応じた特徴マップを抽出(取得)する。
【0076】
次に、生成部134は、抽出部133により抽出された中間画像を合成した合成画像を生成する(ステップS205)。例えば、生成部134は、ステップS205で抽出した特徴マップをプーリングする。そして、生成部134は、プーリングした特徴マップを所定のオブジェクトに対して分類した分類結果にマッピングすることで合成画像を生成する。
【0077】
次に、特定部135は、処理対象の画像においてクラス分類のために有用な有用領域を特定する(ステップS206)。例えば、特定部135は、ステップS206で生成された合成画像と、処理対象の画像とを比較することにより、所定のオブジェクトを含む領域を特定し、特定した領域を有用領域と定める。合成画像は、所定のオブジェクトが分類結果によって示されるクラスに属すると判定された確率が所定値より高いグリッドで構成される領域に対応する中間画像(特徴マップ)である。このため、特定部135は、合成画像を処理対象の画像に戻すことで、グリッド状に分割された処理対象の商品画像を得たうえで、このグリッド毎に算出された確率(貢献度)に基づいて、確率が所定値より高いと判定された領域を有用領域と定める。
【0078】
そして、特徴抽出部136は、処理対象の画像のうち、特定部135により特定された有用領域に含まれる画像から低次特徴を抽出する。有用領域では、所定のオブジェクトが他のオブジェクトや背景等から精度よく分離されているため、特徴抽出部136は、実質、所定のオブジェクトのみを含む画像から、所定のオブジェクトを示す低次特徴を抽出する。
【0079】
〔5.変形例〕
上記実施形態にかかる情報処理装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、情報処理装置100の他の実施形態について説明する。
【0080】
〔5-1.特徴ベクトル〕
【0081】
上記実施形態では、特徴抽出部136が、特定部135により特定された有用領域に含まれる画像から低次特徴を抽出する例を示した。しかし、特徴抽出部136は、グリッド状に分割された処理対象の商品画像において、グリッド毎に当該グリッドに対応する画像内から低次特徴を抽出する。そして、特徴抽出部136は、抽出した低次特徴の特徴量を特徴ベクトルに変換する。また、特徴抽出部136は、変換した特徴ベクトルが処理対象の画像を用いた類似画像検索で利用される情報となるよう制御する。
【0082】
例えば、各グリッドには、所定のオブジェクト(例えば、取引対象のオブジェクト)の一部分が含まれる。したがって、特徴抽出部136は、所定のオブジェクトの一部分毎に低次特徴を抽出し、抽出した各低次特徴を特徴ベクトルに変換する。そして、特徴抽出部136は、例えば、特徴情報記憶部122において、処理対象の画像を示す画像IDと、当該処理対象画像から得た特徴ベクトルを特徴情報記憶部122に格納することにより、この特徴ベクトルが低次特徴に代わって類似画像検索に用いられるよう制御する。
【0083】
このように、実施形態にかかる情報処理装置100は、処理対象の商品画像がグリッド状に分割されたグリッド画像毎に低次特徴を抽出し、抽出した各低次特徴を特徴ベクトルに変換する。また、情報処理装置100は、各特徴ベクトルが類似画像検索におけるターゲティングに用いられるよう制御する。これにより、情報処理装置100は、例えば、検索クエリ画像において指定される指定オブジェクトにより近しいオブジェクトが取引対象として示される画像を精度よく検索することができる。
【0084】
〔5-2.解像度を高めるための処理〕
また、特定部135は、処理対象の画像として、連続する複数の処理対象の画像(例えば、同一の複数の処理対象の画像)それぞれにおいてクラス分類のために有用な有用領域を特定する。そして、特徴抽出部136は、特定部135により特定された有用領域に含まれる画像であって、連続する複数の処理対象の画像ぞれぞれに対応する画像が重ね合わされた1つの重ね合せ画像から低次特徴を抽出する。このように、実施形態にかかる情報処理装置100は、有用領域に含まれる画像であって、連続する複数の処理対象の画像ぞれぞれに対応する画像が重ね合わせることで、より解像度の高い画像を得ることができる。この結果、情報処理装置100は、より精度よく目的のオブジェクトに対応する低次特徴を抽出することができる。
【0085】
〔6.ハードウェア構成〕
また、上記実施形態にかかる情報処理装置100は、例えば
図8に示すような構成のコンピュータ1000によって実現される。
図8は、情報処理装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0086】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0087】
HDD1400は、CPU1100によって実行されるプログラム、および、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、通信網50を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網50を介して他の機器へ送信する。
【0088】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを、入出力インターフェイス1600を介して出力装置へ出力する。
【0089】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0090】
例えば、コンピュータ1000が実施形態にかかる情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが格納される。コンピュータ1000のCPU1100は、これらのプログラムを、記録媒体1800から読み取って実行するが、他の例として、他の装置から、通信網50を介してこれらのプログラムを取得してもよい。
【0091】
〔7.その他〕
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0092】
以上、本願の実施形態をいくつかの図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0093】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0094】
1 情報処理システム
10 端末装置
20 提供者装置
100 情報処理装置
120 記憶部
121 画像情報記憶部
122 特徴情報記憶部
130 制御部
131 取得部
132 入力部
133 抽出部
134 生成部
135 特定部
136 特徴抽出部
137 検索処理部
138 提示部