(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-15
(45)【発行日】2022-07-26
(54)【発明の名称】学習装置、学習方法および学習プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220719BHJP
【FI】
G06T7/00 350B
(21)【出願番号】P 2019163971
(22)【出願日】2019-09-09
【審査請求日】2021-09-16
【早期審査対象出願】
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】岩崎 雅二郎
(72)【発明者】
【氏名】西村 修平
(72)【発明者】
【氏名】田口 拓明
【審査官】笠田 和宏
(56)【参考文献】
【文献】特開2012-058926(JP,A)
【文献】特開2018-190293(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
所定のオブジェクトを含む所定の画像
として、前記所定のオブジェクトが抽出された領域に対して当該領域内の前記所定のオブジェクトに対応する第1のカテゴリが付された画像を取得する取得部と、
前記所定のオブジェクトの特徴を示す特徴情報と、前
記第1のカテゴリとは範囲の異なる所定の第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、当該処理対象の画像に含まれるオブジェクトである対象オブジェクト
であって、所定の領域によって抽出された対象オブジェクトが属するカテゴリを出力するようにモデルを学習する学習部と
を有することを特徴とする学習装置。
【請求項2】
前記学習部は、前記特徴情報と、前記第2のカテゴリとの関係性に基づいて、前記処理対象の画像が入力された場合に、前記第2のカテゴリに基づくカテゴリであって、前記対象オブジェクトから検出されるカテゴリよりも下位のカテゴリを、当該対象オブジェクトが属するカテゴリとして出力するように前記モデルを学習する
ことを特徴とする請求項
1に記載の学習装置。
【請求項3】
前記学習部は、前記特徴情報と、前記第1のカテゴリに対して下位の関係にある前記第2のカテゴリとの関係性に基づいて、前記処理対象の画像が入力された場合に、前記対象オブジェクトが属するカテゴリとして、前記第2のカテゴリを出力するようにモデルを学習する
ことを特徴とする請求項1
または2に記載の学習装置。
【請求項4】
前記学習部は、前記特徴情報と、前記第2のカテゴリとの関係性に基づいて、前記処理対象の画像が入力された場合に、前記処理対象の画像に含まれるオブジェクトのうち、取引対象となる1の前記対象オブジェクトと、当該対象オブジェクトが属するカテゴリを出力するように前記モデルを学習する
ことを特徴とする請求項1~
3のいずれか1つに記載の学習装置。
【請求項5】
学習装置が実行する学習方法であって、
所定のオブジェクトを含む所定の画像
として、前記所定のオブジェクトが抽出された領域に対して当該領域内の前記所定のオブジェクトに対応する第1のカテゴリが付された画像を取得する取得工程と、
前記所定のオブジェクトの特徴を示す特徴情報と、前
記第1のカテゴリとは範囲の異なる所定の第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、当該処理対象の画像に含まれるオブジェクトである対象オブジェクト
であって、所定の領域によって抽出された対象オブジェクトが属するカテゴリを出力するようにモデルを学習する学習工程と
を含むことを特徴とする学習方法。
【請求項6】
所定のオブジェクトを含む所定の画像
として、前記所定のオブジェクトが抽出された領域に対して当該領域内の前記所定のオブジェクトに対応する第1のカテゴリが付された画像を取得する取得手順と、
前記所定のオブジェクトの特徴を示す特徴情報と、前
記第1のカテゴリとは範囲の異なる所定の第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、当該処理対象の画像に含まれるオブジェクトである対象オブジェクト
であって、所定の領域によって抽出された対象オブジェクトが属するカテゴリを出力するようにモデルを学習する学習手順と
をコンピュータに実行させることを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、学習装置、学習方法および学習プログラムに関する。
【背景技術】
【0002】
近年、多段に接続されたニューロンを有するDNN(Deep Neural Network)等のモデルを利用して言語認識や画像認識等といった各種分類処理を実現する技術が知られている。例えば、このような技術では、所定の入力情報をモデルに入力した際に、その入力情報に対応する出力情報として利用者が所望する出力情報を出力するようにモデルを学習する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、画像中の所定のオブジェクトが属するカテゴリとしてより粒度の細かいカテゴリを特定することができるとは限らない。例えば、上述した学習が行われたモデルは、入力情報が有する特徴のうち、利用者が想定している特徴に応じて出力情報を出力しているのか、利用者が想定していない特徴に応じて出力情報を出力しているのかが不明である。このため、上記の従来技術では、画像中の所定のオブジェクトが属するカテゴリとしてより粒度の細かいカテゴリを特定することができるとは限らない。
【0005】
本願は、上記に鑑みてなされたものであって、画像中の所定のオブジェクトが属するカテゴリとしてより粒度の細かいカテゴリを特定することができる学習装置、学習方法および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願にかかる学習装置は、所定のオブジェクトを含む所定の画像を取得する取得部と、前記所定のオブジェクトの特徴を示す特徴情報と、前記所定のオブジェクトに対応する第1のカテゴリとは範囲の異なる所定の第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、当該処理対象の画像に含まれるオブジェクトである対象オブジェクトが属するカテゴリを出力するようにモデルを学習する学習部とを有することを特徴とする。
【発明の効果】
【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の説明に先立って、
図2を用いて、実施形態にかかる学習システムについて説明する。
図2は、実施形態にかかる学習システム1の構成例を示す図である。実施形態にかかる学習システム1は、
図2に示すように、端末装置10と、学習装置100とを含む。端末装置10、学習装置100は、ネットワークNを介して有線または無線により通信可能に接続される。なお、
図2に示す学習システム1には、複数台の端末装置10や、複数台の学習装置100が含まれてよい。
【0012】
端末装置10は、所定の利用者によって利用される情報処理端末である。端末装置10は、例えば、所定の画像中に写されるオブジェクトに対して、当該オブジェクトが属するカテゴリをラベル付与したいと考える利用者によって利用される情報処理端末である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等である。例えば、端末装置10は、利用者の操作に従って、学習装置100に画像を入力する。
【0013】
ここで、実施形態にかかる学習処理が行われるにあたっての前提について説明する。まず、実施形態にかかる利用者(例えば、上記端末装置10の利用者)は、学習装置100を管理する管理主であるとともに、様々な店舗から出品されてきた商品を一元管理して、エンドユーザに販売するショッピングサービス(以下、「サービスSH」と表記する場合がある)を提供しているものとする。このようなショッピングサービスは、例えば、電子モール等とも呼ばれる。店舗は、サービスSHに商品を出品する場合、出品させる商品(出品商品)に関する各種情報とともに、出品商品の画像(商品画像)を入稿する。
【0014】
このような状態において、利用者は、商品画像に対して、商品画像に写される取引対象のオブジェクトを所定の領域で囲むと共に、この領域で囲まれたオブジェクトに当該オブジェクトが属する大まかな(粒度の粗い)カテゴリをラベル付けする場合がある。一例として、人物が取引対象のコートを着用している様子の商品画像IMGがあるとする。かかる例では、コートが取引対象のオブジェクトの一例となる。そうすると、利用者は、商品画像IMGにおいてコートが映されている部分の画像を領域で囲んだうえで、コートが属する大まかなカテゴリとして、例えば、「アウター」をラベル付与する場合がある。
【0015】
ここで、このコートが例えば「チェスターコート」等といったより粒度の細かいカテゴリに分類させることのできる商品であったとしても、手作業でこのような細かなカテゴリを判断してラベル付与することには困難を伴う。さらには、商品画像の数が膨大であることを考慮すると、このようなラベル付与はもはや非現実的である。一方で、上記のようにより粒度の細かいカテゴリをラベル付与することができれば、例えば、商品検索の際によりピンポイントな商品を検索することができるようになり便利である。
【0016】
よって、実施形態にかかる学習装置100による学習処理は、このような前提を踏まえて、画像(例えば、商品画像)中の所定のオブジェクト(例えば、出品商品)が属するカテゴリとしてより粒度の細かいカテゴリを効率的に特定することを目的として成されるものである。なお、粒度の細かいカテゴリとは、あるカテゴリに対してより下位のカテゴリを意味する。また、粒度の細かいカテゴリとは、あるカテゴリがカバーする検索範囲より狭い検索範囲をカバーするカテゴリを意味するものでもある。
【0017】
具体的には、実施形態にかかる学習装置100は、所定のオブジェクトを含む所定の画像を取得し、所定のオブジェクトの特徴を示す特徴情報と、所定のオブジェクトに対応する第1のカテゴリとは範囲の異なる所定の第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、当該処理対象の画像に含まれるオブジェクトである対象オブジェクトが属するカテゴリを出力するようにモデルを学習する。例えば、学習装置100は、所定の画像として、所定のオブジェクトが抽出された領域に対して当該領域内の所定のオブジェクトに対応する第1のカテゴリが付された画像を取得する。
【0018】
また、学習装置100は、所定のオブジェクトの特徴を示す特徴情報と、第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、第2のカテゴリに基づくカテゴリであって、対象オブジェクトから検出されるカテゴリよりも下位のカテゴリを、当該対象オブジェクトが属するカテゴリとして出力するように前記モデルを学習する。より詳細には、学習装置100は、特徴情報と、第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、処理対象の画像に含まれるオブジェクトのうち、取引対象となる1の対象オブジェクトと、当該対象オブジェクトが属するカテゴリを出力するようにモデルを学習する。
【0019】
ここからは、実施形態にかかる学習処理の一例について説明する。
図1の例では、学習装置100は、出品商品を含む商品画像を取得する(ステップS11)。このような商品画像は、以下に説明する学習データの生成に用いられる。したがって、学習装置100は、学習に用いられる画像を取得する。例えば、学習装置100は、サービスSHに出品される出品商品が映された商品画像であって、店舗から入稿された商品画像を取得する。例えば、かかる商品画像が学習装置100内の所定の記憶部に格納されている場合には、学習装置100は、この所定の記憶部から商品画像を取得する。また、かかる商品画像が例えば任意の外部装置に格納されている場合には、学習装置100は、この外部装置から商品画像を取得する。
【0020】
図1の例では、学習装置100は、ステップS11において、商品画像SMG1、商品画像SMG2、商品画像SMG3という3つの商品画像を取得しているが、取得される商品画像の数が限定されないことはいうまでもない。各商品画像について説明する。
【0021】
まず、商品画像SMG1について説明する。
図1の例では、商品画像SMG1は、利用者によって領域AR1が設定されることにより領域AR1によって取引対象のTシャツが抽出されるとともに、抽出された領域AR1(抽出された領域AR1に含まれる画像、あるいは、Tシャツ、ともいえる)に対してカテゴリ「アウター」を示すラベルCT11が付与されている。この点、
図1では、利用者は、商品画像SMG1においてTシャツが映されている部分の画像を領域AR1で囲んだうえで、Tシャツが属する大まかなカテゴリとして、「アウター」を示すラベルCT11を付与している、と言い換えることができる。また、かかる例では、「Tシャツ」は、所定のオブジェクトの一例であるため、「商品画像SMG1」は、所定のオブジェクトを含む所定の画像の一例といえる。また、かかる例では、「アウター」は、所定のオブジェクトに対応する第1のカテゴリの一例である。以下、第1のカテゴリとしての「アウター」を「第1カテゴリCT11」と表記する場合がある。
【0022】
また、
図1の例では、商品画像SMG1には、階層構造のカテゴリ「ファッション>レディース>トップス>Tシャツ>ゆったりTシャツ」である商品カテゴリCT21が付与されている。商品カテゴリCT21は、例えば、商品画像SMG1の入稿元によって登録される。また、商品カテゴリCT21は、第1のカテゴリとは範囲の異なる所定の第2のカテゴリの一例である。以下、第2のカテゴリとしての「ファッション>レディース>トップス>Tシャツ>ゆったりTシャツ」を「第2カテゴリCT21」と表記する場合がある。
【0023】
次に、商品画像SMG2について説明する。
図1の例では、商品画像SMG2は、利用者によって領域AR2が設定されることにより領域AR2によって取引対象のスカートが抽出されるとともに、抽出された領域AR2(抽出された領域AR2に含まれる画像、あるいは、スカート、ともいえる)に対してカテゴリ「ボトムス」を示すラベルCT12が付与されている。この点、
図1では、利用者は、商品画像SMG2においてスカートが映されている部分の画像を領域AR2で囲んだうえで、スカートが属する大まかなカテゴリとして、「ボトムス」を示すラベルCT12を付与している、と言い換えることができる。また、かかる例では、「スカート」は、所定のオブジェクトの一例であるため、「商品画像SMG2」は、所定のオブジェクトを含む所定の画像の一例といえる。また、かかる例では、「ボトムス」は、所定のオブジェクトに対応する第1のカテゴリの一例である。以下、第1のカテゴリとしての「ボトムス」を「第1カテゴリCT12」と表記する場合がある。
【0024】
また、
図1の例では、商品画像SMG2には、階層構造のカテゴリ「ファッション>レディース>ボトムス>スカート>ミモレスカート」である商品カテゴリCT22が付与されている。商品カテゴリCT22は、例えば、商品画像SMG2の入稿元によって登録される。また、商品カテゴリCT22は、第1のカテゴリとは範囲の異なる所定の第2のカテゴリの一例である。以下、第2のカテゴリとしての「ファッション>レディース>ボトムス>スカート>ミモレスカート」を「第2カテゴリCT22」と表記する場合がある。
【0025】
次に、商品画像SMG3について説明する。
図1の例では、商品画像SMG3は、利用者によって領域AR3が設定されることにより領域AR3によって取引対象のキャップが抽出されるとともに、抽出された領域AR3(抽出された領域AR3に含まれる画像、あるいは、キャップ、ともいえる)に対してカテゴリ「帽子」を示すラベルCT13が付与されている。この点、
図1では、利用者は、商品画像SMG3においてキャップが映されている部分の画像を領域AR3で囲んだうえで、キャップが属する大まかなカテゴリとして、「帽子」を示すラベルCT13を付与している、と言い換えることができる。また、かかる例では、「キャップ」は、所定のオブジェクトの一例であるため、「商品画像SMG3」は、所定のオブジェクトを含む所定の画像の一例といえる。また、かかる例では、「帽子」は、所定のオブジェクトに対応する第1のカテゴリの一例である。以下、第1のカテゴリとしての「帽子」を「第1カテゴリCT13」と表記する場合がある。
【0026】
また、
図1の例では、商品画像SMG3には、階層構造のカテゴリ「ファッション>レディース>小物>帽子>麦わらキャスケット」である商品カテゴリCT23が付与されている。商品カテゴリCT23は、例えば、商品画像SMG3の入稿元によって登録される。また、商品カテゴリCT23は、第1のカテゴリとは範囲の異なる所定の第2のカテゴリの一例である。以下、第2のカテゴリとしての「ファッション>レディース>小物>帽子>麦わらキャスケット」を「第2カテゴリCT23」と表記する場合がある。
【0027】
次に、学習装置100は、第2のカテゴリに基づいて、第1のカテゴリに置きかわる代替カテゴリを決定する決定処理を行う(ステップS12)。例えば、学習装置100は、商品画像から第1のカテゴリおよび第2のカテゴリを取得し、第2のカテゴリに基づいて、第1のカテゴリより下位のカテゴリである下位カテゴリを代替カテゴリとして決定する。
【0028】
商品画像SMG1の例では、学習装置100は、第1カテゴリCT11および第2カテゴリCT21とを比較し、第2カテゴリCT21のうち第1カテゴリCT11にマッチングするカテゴリを特定することで、特定したカテゴリよりも下位のカテゴリを代替カテゴリとして決定する。詳細には、学習装置100は、第2カテゴリCT21として、階層構造を構成する各構成要素としてのカテゴリ(ファッション、レディース、トップス、Tシャツ、および、ゆったりTシャツ)と、第1カテゴリCT11(アウター)とを比較し、階層構造を構成する各構成要素としてのカテゴリのうち第1カテゴリCT11にマッチングするカテゴリを特定する。かかる例では、階層構造を構成する各構成要素としてのカテゴリのうち「トップス」が、第1カテゴリCT11(アウター)におよそ一致する。
【0029】
したがって、学習装置100は、第2カテゴリCT21のうち第1カテゴリCT11にマッチングするカテゴリとして「トップス」を特定することで、「トップス」を基準に最も下位のカテゴリである「ゆったりTシャツ」を代替カテゴリとして決定する。以下、「ゆったりTシャツ」を「代替カテゴリCT211」と表記する場合がある。
【0030】
次に、商品画像SMG2の例では、学習装置100は、第1カテゴリCT12および第2カテゴリCT22とを比較し、第2カテゴリCT22のうち第1カテゴリCT12にマッチングするカテゴリを特定することで、特定したカテゴリよりも下位のカテゴリを代替カテゴリとして決定する。詳細には、学習装置100は、第2カテゴリCT22として、階層構造を構成する各構成要素としてのカテゴリ(ファッション>レディース>ボトムス>スカート>ミモレスカート)と、第1カテゴリCT11(ボトムス)とを比較し、階層構造を構成する各構成要素としてのカテゴリのうち第1カテゴリCT12にマッチングするカテゴリを特定する。かかる例では、階層構造を構成する各構成要素としてのカテゴリのうち「ボトムス」が、第1カテゴリCT12(ボトムス)に一致する。
【0031】
したがって、学習装置100は、第2カテゴリCT22のうち第1カテゴリCT12にマッチングするカテゴリとして「ボトムス」を特定することで、「ボトムス」を基準に最も下位のカテゴリである「ミモレスカート」を代替カテゴリとして決定する。以下、「ミモレスカート」を「代替カテゴリCT221」と表記する場合がある。
【0032】
次に、商品画像SMG3の例では、学習装置100は、第1カテゴリCT13および第2カテゴリCT23とを比較し、第2カテゴリCT23のうち第1カテゴリCT13にマッチングするカテゴリを特定することで、特定したカテゴリよりも下位のカテゴリを代替カテゴリとして決定する。詳細には、学習装置100は、第2カテゴリCT23として、階層構造を構成する各構成要素としてのカテゴリ(ファッション>レディース>小物>帽子>麦わらキャスケット)と、第1カテゴリCT13(帽子)とを比較し、階層構造を構成する各構成要素としてのカテゴリのうち第1カテゴリCT13にマッチングするカテゴリを特定する。かかる例では、階層構造を構成する各構成要素としてのカテゴリのうち「帽子」が、第1カテゴリCT13(キャップ)に一致する。
【0033】
したがって、学習装置100は、第2カテゴリCT23のうち第1カテゴリCT13にマッチングするカテゴリとして「帽子」を特定することで、「帽子」を基準に最も下位のカテゴリである「麦わらキャスケット」を代替カテゴリとして決定する。以下、「麦わらキャスケット」を「代替カテゴリCT231」と表記する場合がある。
【0034】
また、学習装置100は、ステップS2では、上記のように決定した代替カテゴリを第1のカテゴリに対して置きかえる。なお、学習装置100は、商品画像に紐付けられる情報であれば、第2のカテゴリ以外の他の情報を基に代替カテゴリを決定することができる。ステップS12の例では、学習装置100が、入稿元により商品画像に対して予め設定された階層構造状の第2のカテゴリの中から代替カテゴリを決定する例を示した。しかし、学習装置100は、例えば、商品画像中の取引対象のオブジェクトが紹介される商品ページに表示される商品説明文から、第1のカテゴリに対応する代替カテゴリを決定してもよい。
【0035】
次に、学習装置100は、学習データを生成する生成処理を行う(ステップS13)。まず、学習装置100は、商品画像から取引対象のオブジェクトを検出する。例えば、学習装置100は、商品画像に対して利用者により設定された領域に基づいて、取引対象のオブジェクトを検出する。具体的には、学習装置100は、領域によって抽出される(囲まれる)オブジェクトを取引対象のオブジェクトとして検出する。例えば、学習装置100は、領域によって抽出される抽出面積の最も多いオブジェクトを取引対象のオブジェクトとして検出する。なお、学習装置100は、第2のカテゴリによって示唆されるオブジェクトを取引対象のオブジェクトとして検出してもよい。
【0036】
商品画像SMG1の例では、学習装置100は、取引対象のオブジェクトとして「Tシャツ」を検出する。商品画像SMG2の例では、学習装置100は、取引対象のオブジェクトとして「スカート」を検出する。商品画像SMG3の例では、学習装置100は、取引対象のオブジェクトとして「キャップ」を検出する。
【0037】
そして、学習装置100は、検出した取引対象のオブジェクトの特徴を示す特徴情報を取得する。例えば、学習装置100は、領域AR1で抽出される画像を解析することにより「Tシャツ」の特徴を示す特徴情報を取得する。例えば、学習装置100は、特徴情報として、「Tシャツ」の形状を示すエッジ情報や「Tシャツ」の色を示す色彩情報を取得する。
図1の例では、学習装置100は、特徴情報FA1を取得したものとする。また、学習装置100は、領域AR2で抽出される画像を解析することにより「スカート」の特徴を示す特徴情報を取得する。例えば、学習装置100は、特徴情報として、「スカート」の形状を示すエッジ情報や「スカート」の色を示す色彩情報を取得する。
図1の例では、学習装置100は、特徴情報FA2を取得したものとする。また、学習装置100は、領域AR3で抽出される画像を解析することにより「キャップ」の特徴を示す特徴情報を取得する。
図1の例では、学習装置100は、特徴情報FA3を取得したものとする。
【0038】
なお、学習装置100は、第1のカテゴリを特徴情報として取得してもよい。例えば、学習装置100は、「Tシャツ」の特徴を示す特徴情報として、第1カテゴリCT11を取得してもよい。また、学習装置100は、「スカート」の特徴を示す特徴情報として、第1カテゴリCT12を取得してもよい。また、学習装置100は、「キャップ」の特徴を示す特徴情報として、第1カテゴリCT13を取得してもよい。
【0039】
このような状態において、学習装置100は、特徴情報と第2のカテゴリとを紐付けることにより学習に用いる学習データを生成する。
図1の例では、学習装置100は、「画像ID」毎に、「特徴情報」と「代替カテゴリ」とを紐付けることで学習データを生成している。「画像ID」は商品画像を識別する識別情報を示す。「特徴情報」は、「画像ID」によって識別される商品画像において取引対象となっているオブジェクトの特徴情報を示す。「代替カテゴリ」は、ステップS12で決定された代替カテゴリを示す。なお、代替カテゴリは、階層構造の第2のカテゴリに含まれる1つのカテゴリであるため、広義には第2のカテゴリとして識別され得る。
【0040】
図1の例では、学習装置100は、画像ID「SMG1」によって識別される商品画像SMG1について代替カテゴリCT211を決定するとともに、商品画像SMG1では特徴情報FA1で特徴付けられるTシャツが取引対象となっていることにより、特徴情報FA1と代替カテゴリCT211とが紐付けられた学習データを生成している。また、
図1の例では、学習装置100は、画像ID「SMG2」によって識別される商品画像SMG2について代替カテゴリCT221を決定するとともに、商品画像SMG2では特徴情報FA2で特徴付けられるスカートが取引対象となっていることにより、特徴情報FA2と代替カテゴリCT221とが紐付けられた学習データを生成している。また、
図1の例では、学習装置100は、画像ID「SMG3」によって識別される商品画像SMG3について代替カテゴリCT231を決定するとともに、商品画像SMG3では特徴情報FA3で特徴付けられるキャップが取引対象となっていることにより、特徴情報FA3と代替カテゴリCT231とが紐付けられた学習データを生成している。
【0041】
図1の例では、不図示であるが、学習データには、取引対象のオブジェクトを示す情報がさらに含まれてもよい。また、学習データは、学習データ記憶部122に格納される。
【0042】
そして、学習装置100は、ステップS13で生成した学習データに基づいて、モデルを学習する(ステップS14)。具体的には、学習装置100は、処理対象の画像が入力された場合に、当該処理対象の画像に含まれるオブジェクトである対象オブジェクトが属するカテゴリを出力するようにモデルMを学習する。より具体的には、学習装置100は、処理対象の画像が入力された場合に、当該処理対象の画像に含まれる対象オブジェクトとして、取引対象のオブジェクトが属するカテゴリを出力するようにモデルMを学習する。
【0043】
例えば、学習装置100は、学習データに基づいて、「特徴情報」と、第1のカテゴリに対して下位の関係にある「代替カテゴリ」(第2のカテゴリ)との関係性を学習する。そして、学習装置100は、学習した関係性に基づいて、処理対象の画像が入力された場合に、当該処理対象の画像に含まれるオブジェクトである対象オブジェクトが属するカテゴリとして、学習データ記憶部122に格納される代替カテゴリのうち対象オブジェクトに応じた代替カテゴリを出力するようにモデルMを学習する。
【0044】
また、処理対象の画像が入力された場合に、当該処理対象の画像に含まれるオブジェクトである対象オブジェクトが属するカテゴリとして、利用者によって人手で付与されるレベルの大まかなカテゴリを出力する任意の(既存の)検出器あるとする。そうすると、学習装置100は、学習データに基づいて、処理対象の画像が入力された場合に、代替カテゴリ(第2のカテゴリ)に基づくカテゴリであって、対象オブジェクトから検出されるカテゴリよりも下位の(粒度の細かい)カテゴリを、当該対象オブジェクトが属するカテゴリとして出力するようにモデルMを学習する。
【0045】
なお、モデルの学習(生成)手法については、任意の公知技術が適用可能である。例えば、モデルの生成は、機械学習に関する種々の従来技術を適宜用いて行われてもよい。例えば、モデルの生成は、SVM(Support Vector Machine)等の教師あり学習の機械学習に関する技術を用いて行われてもよい。また、例えば、モデルの生成は、教師なし学習の機械学習に関する技術を用いて行われてもよい。例えば、モデルの生成は、深層学習(ディープラーニング)の技術を用いて行われてもよい。例えば、モデルの生成は、DNN(Deep Neural Network)やRNN(Recurrent Neural Network)やCNN(Convolutional Neural Network)等の種々のディープラーニングの技術を適宜用いて行われてもよい。
【0046】
ここで、学習装置100は、処理対象の画像の入力を受け付けたとする。
図1の例では、学習装置100は、処理対象の画像として、画像POG1の入力を受け付けたとする。かかる場合、学習装置100は、画像POG1をモデルMに入力することにより(ステップS15)、画像POG1で取引対象となっているオブジェクトを検出するとともに、当該オブジェクトの属するより粒度の細かいカテゴリを検出する(ステップS16)。例えば、学習装置100は、
図1に示すように、画像POG1をモデルMに入力した場合に、取引対象のオブジェクトが領域AR11で囲まれた状態で出力され、また、カテゴリ「ボーダーカットソー」が出力されたとする。そうすると、学習装置100は、領域AR11で囲まれたオブジェクトを取引対象のオブジェクトとして検出するとともに、このオブジェクトがカテゴリ「ボーダーカットソー」に属することを検出する。
【0047】
また、取引対象のオブジェクトを示す情報として、例えば、領域AR11により取引対象のオブジェクトが抽出された状態の画像POG1、および、カテゴリ「ボーダーカットソー」は、互いに紐付けられて、出力情報記憶部123に格納される。カテゴリ「ボーダーカットソー」は、例えば、ユーザから受け付けられた検索クエリに応じた商品画像を検索する際の、ターゲティング情報となり得る。
【0048】
さて、これまで
図1を用いて説明してきたように、実施形態にかかる学習装置100は、所定のオブジェクトを含む所定の画像を取得し、所定のオブジェクトの特徴を示す特徴情報と、所定のオブジェクトに対応する第1のカテゴリとは範囲の異なる所定の第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、当該処理対象の画像に含まれるオブジェクトである対象オブジェクトが属するカテゴリを出力するようにモデルを学習する。
【0049】
ここで、利用者による手作業、あるいは、上記任意の検出器によれば、画像POG1に含まれるオブジェクトには、大まかなカテゴリとして「Tシャツ」程度のカテゴリがラベル付与される可能性はあるが、「ボーダーカットソー」といった取引対象のオブジェクトを詳細に説明する粒度の細かいカテゴリが付与される可能性は低い。しかしながら、実施形態にかかる学習装置100による上記学習処理によれば、処理対象の画像に含まれる所定のオブジェクトが属するカテゴリとしてより粒度の細かいカテゴリを効率的かつ高精度に特定することが可能となる。この結果、学習装置100は、処理対象の画像に含まれる取引対象のオブジェクトに対して、より粒度の細かいカテゴリを付与することができるようになる。また、学習装置100は、より粒度の細かいカテゴリを付与することで検索クエリに合わないノイズを効果的することができるため、ユーザが望む商品(あるいは、ユーザが望む商品の商品画像)を高精度に検索する検索システムを実現することができる。
【0050】
〔2.学習装置の構成〕
次に、
図3を用いて、実施形態にかかる学習装置100について説明する。
図3は、実施形態にかかる学習装置100の構成例を示す図である。
図3に示すように、学習装置100は、通信部110と、記憶部120と、制御部130とを有する。例えば、学習装置100は、
図1で説明した学習処理を行うサーバ装置である。
【0051】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークNと有線または無線で接続され、例えば、端末装置10との間で情報の送受信を行う。
【0052】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子またはハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、画像情報記憶部121と、学習データ記憶部122と、出力情報記憶部123とを有する。
【0053】
(画像情報記憶部121について)
画像情報記憶部121は、学習に用いられる(学習データの生成に用いられる)画像を記憶する。例えば、画像情報記憶部121は、このような画像として、サービスSHに対して入稿された商品画像を記憶する。ここで、
図4に実施形態にかかる画像情報記憶部121の一例を示す。
図4の例では、画像情報記憶部121は、「画像ID」、「画像データ」、「第1のカテゴリ」、「第2のカテゴリ」、「代替カテゴリ」といった項目を有する。
【0054】
「画像ID」は、オブジェクトを含む商品画像であって、学習に用いられる商品画像を識別する識別情報を示す。「画像データ」は、「画像ID」によって識別される画像そのものを示す。「第1のカテゴリ」は、「画像ID」によって識別される画像に対応するカテゴリであって、当該画像に含まれる取引対象のオブジェクトが属する大まかなカテゴリを示す。第1のカテゴリは、例えば、利用者によって手作業でラベル付与されたものであってもよいし、既存の検出器によって検出されたものでもよい。「第2のカテゴリ」は、「画像ID」によって識別される画像に対して例えば入稿元により予め津六されるカテゴリであって、階層構造状のカテゴリを示す。また、このようなことから、「第2のカテゴリ」は、第1のカテゴリとは範囲の異なるカテゴリである。「代替カテゴリ」は、第1のカテゴリに置きかえられるカテゴリであって、第1のカテゴリより下位のカテゴリである。また、「代替カテゴリ」は、
図1に示すステップS12で決定されたカテゴリである。
【0055】
すなわち、
図4の例では、画像ID「SMG1」によって識別される商品画像(商品画像SMG1)に含まれる取引対象のオブジェクトは、(例えば、利用者によって)第1カテゴリCT11に属すると判断され、また、商品画像SMG1には第2カテゴリCT21が予め付与されており、さらに、第1カテゴリCT11および第2カテゴリCT21に基づき代替カテゴリCT211が決定されている例を示す。なお、かかる例は、
図1の例に対応する。
【0056】
(学習データ記憶部122)
学習データ記憶部122は、モデルの学習に用いられる学習データに関する情報を記憶する。ここで、
図5に実施形態にかかる学習データ記憶部122の一例を示す。
図5の例では、学習データ記憶部122は、「画像ID」、「特徴情報」、「代替カテゴリ」、「モデル情報」といった項目を有する。
【0057】
「画像ID」は、オブジェクトを含む商品画像であって、学習に用いられる商品画像を識別する識別情報を示す。「特徴情報」は、画像ID「SMG1」によって識別される商品画像(商品画像SMG1)に含まれる取引対象のオブジェクトの特徴を示す特徴情報である。「代替カテゴリ」は、第1のカテゴリに置きかえられるカテゴリであって、第1のカテゴリより下位のカテゴリである。また、「代替カテゴリ」は、
図1に示すステップS12で決定されたカテゴリである。「モデル情報」は、「特徴情報」と「代替カテゴリ」とを紐付けることで生成された学習データに基づき学習されたモデルを示す。
【0058】
すなわち、
図5の例では、画像ID「SMG1」によって識別される商品画像SMG1について代替カテゴリCT211が決定されるとともに、商品画像SMG1では特徴情報FA1で特徴付けられるオブジェクト(Tシャツ)が取引対象となっていることにより、特徴情報FA1と代替カテゴリCT211とが紐付けられた学習データが生成されている例を示す。また、
図5の例では、「特徴情報」と「代替カテゴリ」とを紐付けることで生成された学習データに基づきモデルMが学習された例を示す。なお、かかる例は、
図1の例に対応する。
【0059】
(出力情報記憶部123について)
出力情報記憶部123は、処理対象の画像をモデルに入力することにより出力(検出)された情報を記憶する。ここで、
図6に実施形態にかかる出力情報記憶部123の一例を示す。
図6の例では、出力情報記憶部123は、「入力画像ID」、「検出オブジェクト情報」、「検出カテゴリ」といった項目を有する。
【0060】
「入力画像ID」は、取引対象のオブジェクトや粒度の細かいカテゴリが検出される候補の画像、すなわち処理対象の画像を識別する識別情報を示す。「検出オブジェクト情報」は、モデルを用いて検出された取引対象のオブジェクトを示す情報である。「検出カテゴリ」は、モデルを用いて検出されたカテゴリであって、取引対象のオブジェクトが属するより粒度の細かいカテゴリを示す。
【0061】
すなわち、
図6の例は、
図1の例に対応し、領域AR11により取引対象のオブジェクトが抽出された状態の画像POG11が「検出オブジェクト情報」として格納され、また、領域AR11により抽出される取引対象のオブジェクトが属するカテゴリとして「ボーダーカットソー」が検出された例を示す。
【0062】
(制御部130について)
図3に戻り、制御部130は、CPUやMPU等によって、学習装置100内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASICやFPGA等の集積回路により実現される。
【0063】
図3に示すように、制御部130は、取得部131と、決定部132と、生成部133と、学習部134と、検出部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図3に示した接続関係に限られず、他の接続関係であってもよい。
【0064】
(取得部131について)
取得部131は、所定のオブジェクトを含む所定の画像を取得する。例えば、取得部131は、所定の画像として、所定のオブジェクトが抽出された領域に対して当該領域内の所定のオブジェクトに対応する第1のカテゴリが付された画像を取得する。また、取得部131により取得される所定の画像には、第1のカテゴリとは範囲の異なる所定の第2のカテゴリが予め付与される。第2のカテゴリは、例えば、階層構造状のカテゴリである。
図1の例では、取得部131は、出品商品を含む商品画像を取得する。例えば、取得部131は、学習に用いられる画像を取得する。例えば、取得部131は、サービスSHに出品される出品商品が映された商品画像であって、店舗から入稿された商品画像を取得する。
【0065】
また、取得部131は、取得した画像に関する情報(例えば、画像データ、第1のカテゴリ、第2のカテゴリ)を画像情報記憶部121に格納する。
【0066】
(決定部132について)
決定部132は、取得部131により取得された画像に対して付与される第2のカテゴリに基づいて、かかる画像において取引対象となっているオブジェクトに対応する第1のカテゴリに置きかわる代替カテゴリを決定する決定処理を行う。例えば、決定部132は、取得された画像から第1のカテゴリおよび第2のカテゴリを取得し、第2のカテゴリに基づいて、第1のカテゴリより下位のカテゴリである下位カテゴリを代替カテゴリとして決定する。
【0067】
図1に示す商品画像SMG1の例では、決定部132は、第1カテゴリCT11および第2カテゴリCT21とを比較し、第2カテゴリCT21のうち第1カテゴリCT11にマッチングするカテゴリを特定することで、特定したカテゴリよりも下位のカテゴリを代替カテゴリとして決定する。詳細には、決定部132は、第2カテゴリCT21として、階層構造を構成する各構成要素としてのカテゴリ(ファッション、レディース、トップス、Tシャツ、および、ゆったりTシャツ)と、第1カテゴリCT11(アウター)とを比較し、階層構造を構成する各構成要素としてのカテゴリのうち第1カテゴリCT11にマッチングするカテゴリを特定する。かかる例では、階層構造を構成する各構成要素としてのカテゴリのうち「トップス」が、第1カテゴリCT11(アウター)におよそ一致する。したがって、決定部132は、第2カテゴリCT21のうち第1カテゴリCT11にマッチングするカテゴリとして「トップス」を特定することで、「トップス」を基準に最も下位のカテゴリである「ゆったりTシャツ」を代替カテゴリとして決定する。
【0068】
(生成部133について)
生成部133は、学習データを生成する生成処理を行う。例えば、生成部133は、取得部131により取得された画像から取引対象のオブジェクトを検出する。例えば、生成部133は、かかる画像に対して利用者により設定された領域に基づいて、取引対象のオブジェクトを検出する。具体的には、生成部133は、領域によって抽出される(囲まれる)オブジェクトを取引対象のオブジェクトとして検出する。
【0069】
また、このような状態において、生成部133は、検出した取引対象のオブジェクトの特徴を示す特徴情報を取得する。例えば、生成部133は、領域で抽出される画像を解析することにより、取引対象のオブジェクトの特徴を示す特徴情報を取得する。そして、生成部133は、特徴情報と第2のカテゴリとを紐付けることにより学習に用いる学習データを生成する。例えば、
図1に示すように、生成部133は、「画像ID」毎に、「特徴情報」と「代替カテゴリ」とを紐付けることで学習データを生成する。
【0070】
また、生成部133は、生成した学習データを学習データ記憶部122に格納する。
【0071】
(学習部134について)
学習部134は、所定のオブジェクトの特徴を示す特徴情報と、所定のオブジェクトに対応する第1のカテゴリとは範囲の異なる所定の第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、当該処理対象の画像に含まれるオブジェクトである対象オブジェクト(例えば、処理対象の画像において取引対象となっているオブジェクト)が属するカテゴリを出力するようにモデルを学習する。例えば、学習部134は、特徴情報と、第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、対象オブジェクトであって、所定の領域によって抽出された対象オブジェクトが属するカテゴリを出力するようにモデルを学習する。
【0072】
例えば、学習部134は、特徴情報と、前記第2のカテゴリとの関係性(学習データに基づく学習した関係性)に基づいて、処理対象の画像が入力された場合に、第2のカテゴリに基づくカテゴリであって、対象オブジェクトから検出されるカテゴリよりも下位のカテゴリを、当該対象オブジェクトが属するカテゴリとして出力するようにモデルを学習する。また、例えば、学習部134は、特徴情報と、第1のカテゴリに対して下位の関係にある第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、対象オブジェクトが属するカテゴリとして、第2のカテゴリを出力するようにモデルを学習する。また、例えば、学習部134は、特徴情報と、第2のカテゴリとの関係性に基づいて、処理対象の画像が入力された場合に、処理対象の画像に含まれるオブジェクトのうち、取引対象となる1の対象オブジェクトと、対象オブジェクトが属するカテゴリを出力するようにモデルを学習する。
【0073】
(検出部135について)
検出部135は、処理対象の画像をモデルに入力することにより、出力された情報に基づいて、処理対象の画像で取引対象となっているオブジェクトを検出するとともに、当該オブジェクトの属するより粒度の細かいカテゴリを検出する。また、検出部135は、検出した情報を出力情報記憶部123に格納する。
【0074】
〔3.処理手順〕
次に、
図7を用いて、実施形態にかかる学習処理の手順について説明する。
図7は、実施形態にかかる学習処理手順を示すフローチャートである。
【0075】
まず、取得部131は、所定のオブジェクトを含む画像であって、学習に用いられる画像を取得する(ステップS101)。例えば、取得部131は、所定のオブジェクトに対応する第1のカテゴリ、および、第1のカテゴリとは範囲の異なる第2のカテゴリが付された画像を取得する。
【0076】
次に、決定部132は、取得部131により取得された画像に紐付けられる第1のカテゴリ、および、第2のカテゴリを取得する(ステップS102)。また、決定部132は、取得した第1のカテゴリ、および、第2のカテゴリに基づいて、代替カテゴリを決定する(ステップS103)。例えば、決定部132は、取得部131により取得された画像において取引対象となっているオブジェクトに対応する第1のカテゴリと、この画像に付与される第2のカテゴリとに基づいて、当該第1のカテゴリに置きかわる代替カテゴリを決定する。
【0077】
次に、生成部133は、取得部131により取得された画像から取引対象のオブジェクトを検出する(ステップS104)。また、生成部133は、生成部133は、検出した取引対象のオブジェクトの特徴を示す特徴情報を取得する(ステップS105)。例えば、生成部133は、領域で抽出される画像を解析することにより、取引対象のオブジェクトの特徴を示す特徴情報を取得する。そして、生成部133は、特徴情報と第2のカテゴリとを紐付けることにより学習に用いる学習データを生成する(ステップS106)。
【0078】
学習部134は、生成部133により生成された学習データに基づいて、モデルを学習する(ステップS107)。例えば、学習部134は、特徴情報と第2のカテゴリとの関係性、すなわち学習データに基づき学習された関係性に基づいて、処理対象の画像が入力された場合に、当該処理対象の画像に含まれるオブジェクトである対象オブジェクト(取引対象のオブジェクト)が属するカテゴリを出力するようにモデルを学習する。
【0079】
このような状態において、検出部135は、処理対象の画像入力を受け付けたか否かを判定する(ステップS108)。検出部135は、処理対象の画像入力を受け付けていない場合には(ステップS108;No)、受け付けるまで待機する。一方、検出部135は、処理対象の画像入力を受け付けた場合には(ステップS108;Yes)、処理対象の画像をモデルに入力し、モデルによる出力情報に基づき取引対象のオブジェクト、および、取引対象のオブジェクトが属するカテゴリ検出する(ステップS109)。
【0080】
〔4.ハードウェア構成〕
また、上記実施形態にかかる学習装置100は、例えば
図8に示すような構成のコンピュータ1000によって実現される。
図8は、学習装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0081】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0082】
HDD1400は、CPU1100によって実行されるプログラム、および、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、通信網50を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網50を介して他の機器へ送信する。
【0083】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを、入出力インターフェイス1600を介して出力装置へ出力する。
【0084】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0085】
例えば、コンピュータ1000が実施形態にかかる学習装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが格納される。コンピュータ1000のCPU1100は、これらのプログラムを、記録媒体1800から読み取って実行するが、他の例として、他の装置から、通信網50を介してこれらのプログラムを取得してもよい。
【0086】
〔5.その他〕
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0087】
以上、本願の実施形態をいくつかの図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0088】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0089】
1 学習システム
10 端末装置
100 学習装置
120 記憶部
121 画像情報記憶部
122 学習データ記憶部
123 出力情報記憶部
130 制御部
131 取得部
132 決定部
133 生成部
134 学習部
135 検出部