特許第6742186号(P6742186)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特許6742186決定装置、決定方法、及び決定プログラム
<>
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000006
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000007
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000008
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000009
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000010
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000011
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000012
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000013
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000014
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000015
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000016
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000017
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000018
  • 特許6742186-決定装置、決定方法、及び決定プログラム 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6742186
(24)【登録日】2020年7月30日
(45)【発行日】2020年8月19日
(54)【発明の名称】決定装置、決定方法、及び決定プログラム
(51)【国際特許分類】
   G06F 16/538 20190101AFI20200806BHJP
   G06T 1/00 20060101ALI20200806BHJP
   G06T 7/00 20170101ALI20200806BHJP
【FI】
   G06F16/538
   G06T1/00 200E
   G06T7/00 350C
【請求項の数】11
【全頁数】27
(21)【出願番号】特願2016-148750(P2016-148750)
(22)【出願日】2016年7月28日
(65)【公開番号】特開2018-18339(P2018-18339A)
(43)【公開日】2018年2月1日
【審査請求日】2019年3月25日
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】早川 洋輔
(72)【発明者】
【氏名】田中 智大
(72)【発明者】
【氏名】山下 直晃
【審査官】 原 秀人
(56)【参考文献】
【文献】 特開2012−053889(JP,A)
【文献】 特開2011−081763(JP,A)
【文献】 米国特許出願公開第2011/0317928(US,A1)
【文献】 特開2005−148900(JP,A)
【文献】 特開2012−155367(JP,A)
【文献】 特開平05−242160(JP,A)
【文献】 米国特許出願公開第2012/0123976(US,A1)
【文献】 特開2012−133516(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00
G06T 1/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
画像検索におけるクエリを取得する取得部と、
各画像における前記クエリに対応する対象のサイズに関する情報と、前記各画像のサイズに関する情報とに基づく前記各画像における前記対象の占有率に関する情報であって、前記対象に応じて変動する占有率に関する情報応じて、前記各画像のランキングを決定する決定部と、
を備え
前記決定部は、
前記対象の検索結果としてユーザに提供された画像であって、前記ユーザにより選択された画像における前記対象の占有率に応じて決定される占有率に関する情報に基づいて、前記各画像のランキングを決定す
ことを特徴とする決定装置。
【請求項2】
画像検索におけるクエリを取得する取得部と、
各画像における前記クエリに対応する対象のサイズに関する情報と、前記各画像のサイズに関する情報とに基づく前記各画像における前記対象の占有率に関する情報に応じて、前記各画像のランキングを決定する決定部と、
を備え、
前記決定部は、
前記各画像のランキングにおける前記各画像間の占有率の多様性に応じて、前記各画像のランキングを決定する
ことを特徴とする決定装置。
【請求項3】
前記決定部は、
前記対象に応じて変動する占有率に関する情報に基づいて、前記各画像のランキングを決定する
ことを特徴とする請求項2に記載の決定装置。
【請求項4】
前記決定部は、
前記各画像のランキングにおいて連続する前記各画像の占有率の差が所定の条件を満たすように、前記各画像のランキングを決定する
ことを特徴とする請求項2または請求項3に記載の決定装置。
【請求項5】
前記決定部は、
前記各画像に前記対象以外の対象が含まれるか否かに応じて、前記各画像のランキングを決定する
ことを特徴とする請求項1〜のいずれか1項に記載の決定装置。
【請求項6】
前記決定部は、
前記各画像に文字情報が含まれるか否かに応じて、前記各画像のランキングを決定する
ことを特徴とする請求項1〜のいずれか1項に記載の決定装置。
【請求項7】
前記決定部により決定された前記各画像のランキングに基づく情報を提供する提供部、
をさらに備えることを特徴とする請求項1〜のいずれか1項に記載の決定装置。
【請求項8】
コンピュータが実行する決定方法であって、
画像検索におけるクエリを取得する取得工程と、
各画像における前記クエリに対応する対象のサイズに関する情報と、前記各画像のサイズに関する情報とに基づく前記各画像における前記対象の占有率に関する情報であって、前記対象に応じて変動する占有率に関する情報応じて、前記各画像のランキングを決定する決定工程と、
を含み、
前記決定工程は、
前記対象の検索結果としてユーザに提供された画像であって、前記ユーザにより選択された画像における前記対象の占有率に応じて決定される占有率に関する情報に基づいて、前記各画像のランキングを決定する
ことを特徴とする決定方法。
【請求項9】
画像検索におけるクエリを取得する取得手順と、
各画像における前記クエリに対応する対象のサイズに関する情報と、前記各画像のサイズに関する情報とに基づく前記各画像における前記対象の占有率に関する情報であって、前記対象に応じて変動する占有率に関する情報応じて、前記各画像のランキングを決定する決定手順と、
をコンピュータに実行させ
前記決定手順は、
前記対象の検索結果としてユーザに提供された画像であって、前記ユーザにより選択された画像における前記対象の占有率に応じて決定される占有率に関する情報に基づいて、前記各画像のランキングを決定す
ことを特徴とする決定プログラム。
【請求項10】
コンピュータが実行する決定方法であって、
画像検索におけるクエリを取得する取得工程と、
各画像における前記クエリに対応する対象のサイズに関する情報と、前記各画像のサイズに関する情報とに基づく前記各画像における前記対象の占有率に関する情報に応じて、前記各画像のランキングを決定する決定工程と、
を含み、
前記決定工程は、
前記各画像のランキングにおける前記各画像間の占有率の多様性に応じて、前記各画像のランキングを決定する
ことを特徴とする決定方法。
【請求項11】
画像検索におけるクエリを取得する取得手順と、
各画像における前記クエリに対応する対象のサイズに関する情報と、前記各画像のサイズに関する情報とに基づく前記各画像における前記対象の占有率に関する情報に応じて、前記各画像のランキングを決定する決定手順と、
をコンピュータに実行させ、
前記決定手順は、
前記各画像のランキングにおける前記各画像間の占有率の多様性に応じて、前記各画像のランキングを決定する
ことを特徴とする決定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、決定装置、決定方法、及び決定プログラムに関する。
【背景技術】
【0002】
従来、画像検索に関する種々の技術が提供されている。例えば、オブジェクトの内容やレイアウトを考慮した画像検索に関する技術が提供されている。また、従来、ニューラルネットワークによる画像の特徴抽出に関する技術が提供されている。例えば、畳み込みニューラルネットワーク(Convolutional Neural Network)により、画像に含まれる対象を識別する技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−197892号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、クエリに対する検索結果として提供する画像のランキングを適切に決定することは難しい。例えば、画像に含まれるオブジェクト(対象)の内容に基づくだけでは、画像のランキングが適切に決定されるとは限らない。
【0005】
本願は、上記に鑑みてなされたものであって、クエリに対する検索結果における画像のランキングを適切に決定する決定装置、決定方法、及び決定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る決定装置は、画像検索におけるクエリを取得する取得部と、各画像における前記クエリに対応する対象のサイズに関する情報に基づいて、前記各画像のランキングを決定する決定部と、を備えたことを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、クエリに対する検索結果における画像のランキングを適切に決定することができるという効果を奏する。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係る検索処理の一例を示す図である。
図2図2は、実施形態に係る検索処理の一例を示す図である。
図3図3は、実施形態に係る検索装置の構成例を示す図である。
図4図4は、実施形態に係る学習情報記憶部の一例を示す図である。
図5図5は、実施形態に係る画像情報記憶部の一例を示す図である。
図6図6は、実施形態に係る一覧情報記憶部の一例を示す図である。
図7図7は、実施形態に係る占有率情報記憶部の一例を示す図である。
図8図8は、実施形態に係る画像における対象の占有率の推定の一例を示すフローチャートである。
図9図9は、実施形態に係るランキングの決定の一例を示すフローチャートである。
図10図10は、実施形態に係る学習処理の一例を示す図である。
図11図11は、実施形態に係る学習処理の一例を示す図である。
図12図12は、実施形態に係る学習処理の一例を示すフローチャートである。
図13図13は、実施形態に係るランキングの決定の一例を示す図である。
図14図14は、検索装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る決定装置、決定方法、及び決定プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る決定装置、決定方法、及び決定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
〔1.検索処理〕
図1及び図2を用いて、実施形態に係る検索処理の一例について説明する。図1及び図2は、実施形態に係る検索処理の一例を示す図である。具体的には、図1は、後述する検索の対象となる画像群の各々における対象の占有率の推定の一例を示す図である。図1に示す検索装置100は、画像における対象の占有率を出力(推定)する学習器(モデル)を用いて、検索の対象となる画像群の各々における対象の占有率を推定する。
【0011】
また、具体的には、図2は、クエリを取得した場合に、クエリに対応する対象を含む画像を占有率に応じてランキング(順位付け)した検索結果の提供の一例を示す図である。また、画像における対象の占有率を出力(推定)する学習器LEは、入力画像とその入力画像における対象等の占有率を示す正解情報とを用いることにより生成されるが、詳細は後述する。また、図1及び図2に示す例においては、占有率を推定する対象が猫である場合を示すが、対象は、猫に限らず、犬や人間等の他の生物や植物や車等の種々の物体等であってもよい。また、ここでいう対象は、識別可能であれば種々の対象が含まれてもよく、例えば火や海の波など種々の現象等が含まれてもよい。また、図2では、説明を簡単にするために、検索装置100が対象「猫」を含む画像に対するユーザによるクリック率のみを指標として、対象「猫」を含む画像のランキング(順位)を決定する場合を示す。具体的には、図2では、検索装置100は、画像における猫の占有率を複数の区分に分割し、各区分の占有率に対応する画像に対するユーザによるクリック率の平均を指標として、対象「猫」を含む画像のランキングを決定する。
【0012】
ここで、検索装置100が用いる学習器について簡単に説明する。検索装置100が用いる学習器は、例えば、入力されたデータに対する演算結果を出力する複数のノードを多層に接続した学習器であって、教師あり学習により抽象化された画像の特徴を学習された学習器である。例えば、学習器は、複数のノードを有する層を多段に接続したニューラルネットワークであり、いわゆるディープラーニングの技術により実現されるDNN(Deep Neural Network)であってもよい。また、画像の特徴とは、画像に含まれる文字の有無、色、構成等、画像内に現れる具体的な特徴のみならず、撮像されている物体が何であるか、画像がどのような利用者に好かれるか、画像の雰囲気等、抽象化(メタ化)された画像の特徴をも含む概念である。
【0013】
例えば、学習器は、ディープラーニングの技術により、以下のような学習手法により生成される。例えば、学習器は、各ノードの間の接続係数が初期化され、様々な特徴を有する画像が入力される。そして、学習器は、学習器における出力と、入力した画像との誤差が少なくなるようにパラメータ(接続係数)を補正するバックプロパゲーション(誤差逆伝播法)等の処理により生成される。例えば、学習器は、誤差関数等、所定の損失(ロス)関数を最小化するようにバックプロパゲーション等の処理を行うことにより生成される。上述のような処理を繰り返すことで、学習器は、入力された画像をより良く再現できる出力、すなわち入力された画像の特徴を出力することができる。
【0014】
なお、学習器の学習手法については、上述した手法に限定されるものではなく、任意の公知技術が適用可能である。また、学習器の学習を行う際に用いられる情報は、画像及びその画像に含まれる対象等の種々の画像のデータセットを利用してもよい。学習器の学習を行う際に用いられる情報は、対象が1つ含まれる画像及び対象が1つであることを示す情報のセットや、対象が複数(例えば2つ)含まれる画像及び対象が複数(例えば2つ)であることを示す情報のセットや、対象が含まれない画像及び対象が含まれない(0である)ことを示す情報のセット等を利用してもよい。また、学習器に対する画像の入力方法、学習器が出力するデータの形式、学習器に対して明示的に学習させる特徴の内容等は、任意の手法が適用できる。すなわち、検索装置100は、画像から抽象化された特徴を示す特徴量を算出できるのであれば、任意の学習器を用いることができる。
【0015】
図1では、検索装置100は、入力画像の局所領域の畳み込みとプーリングとを繰り返す、いわゆる畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)による学習器LEを用いるものとする。以下では、畳み込みニューラルネットワークをCNNと記載する場合がある。例えば、CNNによる学習器LEは、画像から特徴を抽出して出力する機能に加え、画像内に含まれる文字や撮像対象等の位置的変異に対し、出力の不変性を有する。このため、学習器LEは、画像の抽象化された特徴を精度良く算出することができる。
【0016】
例えば、図1では、検索装置100は、画像における対象(猫)の占有率に関する情報を出力する識別器(モデル)である学習器LEを用いる。すなわち、図1では、検索装置100は、上述のような所定の学習処理により生成済みの学習器LEを用いるものとする。なお、図1では、検索装置100が画像に含まれる対象を識別する学習器LEを用いる場合を示すが、検索装置100は、所定の対象の占有率を推定可能であれば、どのような学習器を用いてもよい。また、学習器LEを生成(学習)する際には、所定の損失関数や正解情報等を用いるが詳細は後述する。
【0017】
図2に示すように、検索システム1には、端末装置10と、検索装置100とが含まれる。端末装置10と、検索装置100とは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。また、図2に示した検索システム1には、複数台の端末装置10や、複数台の検索装置100が含まれてもよい。
【0018】
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図2に示す例においては、端末装置10がスマートフォンである場合を示す。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。
【0019】
検索装置100は、入力画像中における所定の対象の占有率を出力する学習器LEを用いて、取得した画像における所定の対象の占有率を推定する情報処理装置である。また、検索装置100は、各画像におけるクエリに対応する対象のサイズに関する情報に基づいて、各画像のランキングを決定する決定装置である。
【0020】
まず、図1を用いて、検索装置100による検索対象となる各画像における対象(猫)の占有率の推定について説明する。例えば、図1に示す画像IM11〜IM15等は、画像情報記憶部122(図5)に記憶される。以下では、画像IM11〜IM15等を区別せずに説明する場合、「画像IM」と記載する場合がある。
【0021】
例えば、検索装置100は、画像IMを学習器LEに入力することにより、画像IMにおける猫の占有率を推定する。具体的には、画像IMが入力された学習器LEは、入力された画像IMにおける猫の占有率を示す情報を出力し、検索装置100は、学習器LEが出力した画像IMにおける猫の占有率を示す情報に基づいて、画像IMにおける猫の占有率を推定する。画像IMが入力された学習器LEは、猫のみではなく、入力された画像IMにおける種々の対象の占有率を示す情報を出力する。図1及び図2では、説明を簡単にするために、猫と背景の2つのクラスの占有率のみを図示するが、学習器LEは、他のクラスに関する占有率を示す情報を出力してもよい。なお、ここでいうクラスとは、機械学習におけるクラスであり、学習器により分類される種別等であってもよい。例えば、学習器LEは、20個のクラスに関する占有率を示す情報を出力してもよい。この場合、学習器LEは、猫や背景に対応する2つのクラスに加えて、犬や飛行機や自転車等のクラスに関する占有率を示す情報を出力してもよい。なお、学習器LEが、どの対象(クラス)の占有率を示す情報を出力するかは、学習によるが詳細は後述する。
【0022】
また、検索装置100は、検索対象となる全画像IMを学習器LEに入力することにより、画像IMにおける猫の占有率を推定してもよいが、対象である猫が含まれると想定される画像IMのみを学習器LEに入力して、画像IMにおける猫の占有率を示す情報を出力してもよい。例えば、検索装置100は、画像情報記憶部122(図5)中の画像IMのうち、タグ「猫」が対応付けられた画像IMのみを学習器LEに入力して、画像IMにおける猫の占有率を示す情報を出力してもよい。例えば、図1に示す画像IM11〜IM15等にタグ「猫」が対応付けられている場合、検索装置100は、画像IM11〜IM15等を学習器LEに入力して、画像IMにおける猫の占有率を示す情報を出力してもよい。
【0023】
図1の例では、検索装置100は、画像IM11を学習器LEに入力する(ステップS11−1)。例えば、検索装置100は、画像情報記憶部122(図5)から画像IM11を取得し、画像IM11を学習器LEに入力する。その後、検索装置100は、学習器LEの出力に基づいて、画像IM11における猫の占有率を推定する(ステップS12−1)。例えば、検索装置100は、推定情報OC11に示すように、学習器LEの出力に基づいて、画像IM11における猫の占有率を80%(0.8)と推定し、画像IM11における背景の占有率を18%(0.18)と推定する。例えば、検索装置100は、各対象(クラス)の占有率の合計が100%になるように各対象の占有率を推定する。例えば、検索装置100は、猫や背景以外の対象(クラス)の各々の占有率の合計が2%となるように推定する。なお、本実施形態においては、占有率を百分率「%」(例えば、80%等)で表記するが、小数点(例えば、0.8等)であってもよい。例えば、学習器LEは、各対象(クラス)の占有率を示す0〜1の範囲内の数値を出力してもよい。
【0024】
また、図1の例では、検索装置100は、画像IM12を学習器LEに入力する(ステップS11−2)。例えば、検索装置100は、画像情報記憶部122(図5)から画像IM12を取得し、画像IM12を学習器LEに入力する。その後、検索装置100は、学習器LEの出力に基づいて、画像IM12における猫の占有率を推定する(ステップS12−2)。例えば、検索装置100は、推定情報OC12に示すように、学習器LEの出力に基づいて、画像IM12における猫の占有率を60%と推定し、画像IM12における背景の占有率を36%と推定する。
【0025】
また、図1の例では、検索装置100は、画像IM13を学習器LEに入力する(ステップS11−3)。例えば、検索装置100は、画像情報記憶部122(図5)から画像IM13を取得し、画像IM13を学習器LEに入力する。その後、検索装置100は、学習器LEの出力に基づいて、画像IM13における猫の占有率を推定する(ステップS12−3)。例えば、検索装置100は、推定情報OC13に示すように、学習器LEの出力に基づいて、画像IM13における猫の占有率を20%と推定し、画像IM13における背景の占有率を75%と推定する。
【0026】
また、図1の例では、検索装置100は、画像IM14を学習器LEに入力する(ステップS11−4)。例えば、検索装置100は、画像情報記憶部122(図5)から画像IM14を取得し、画像IM14を学習器LEに入力する。その後、検索装置100は、学習器LEの出力に基づいて、画像IM14における猫の占有率を推定する(ステップS12−4)。例えば、検索装置100は、推定情報OC14に示すように、学習器LEの出力に基づいて、画像IM14における猫の占有率を90%と推定し、画像IM14における背景の占有率を9%と推定する。
【0027】
また、図1の例では、検索装置100は、画像IM15を学習器LEに入力する(ステップS11−5)。例えば、検索装置100は、画像情報記憶部122(図5)から画像IM15を取得し、画像IM15を学習器LEに入力する。その後、検索装置100は、学習器LEの出力に基づいて、画像IM15における猫の占有率を推定する(ステップS12−5)。例えば、検索装置100は、推定情報OC15に示すように、学習器LEの出力に基づいて、画像IM15における猫の占有率を70%と推定し、画像IM15における背景の占有率を27%と推定する。
【0028】
また、検索装置100は、タグ「猫」が対応付けられた他の画像IMについても学習器LEに入力し、各画像IMにおける猫の占有率を推定する。その後、検索装置100は、推定した各画像IMにおける猫の占有率を示す一覧情報を生成する(ステップS13)。図1の例では、検索装置100は、画像IM11〜IM15等における猫の占有率を示す一覧情報LT11を生成する。なお、図1の例では、検索装置100が説明のために、一覧情報LT11を生成する場合を一例とするが、ステップS12−1〜S12−5等において推定した各画像IMにおける猫の占有率を示す情報を、各画像に対応付けて画像情報記憶部122(図5)に記憶してもよい。
【0029】
次に、図2を用いて、クエリを取得した場合における、検索装置100による検索結果の提供について説明する。まず、検索装置100は、ユーザU1が利用する端末装置10からクエリを取得する(ステップS14)。図2の例では、検索装置100は、クエリとして文字列「猫」を取得する。なお、検索装置100は、文字列に変えてクエリ画像を取得してもよい。クエリとして画像を取得した場合、検索装置100は、取得した画像を学習器LEに入力する。そして、検索装置100は、学習器LEの出力に基づいて、画像に含まれる対象を猫と推定してもよい。なお、ここでいうクエリ画像とは、検索において指定する条件を示す画像を意味し、クエリ画像との間において所定の条件を満たす画像を取り出すための処理の要求(問い合わせ)を含んでもよい。
【0030】
その後、検索装置100は、クエリ「猫」に対応する画像を抽出する。例えば、検索装置100は、画像情報記憶部122(図5参照)からタグ「猫」が付された画像IMを抽出する。その後、検索装置100は、クエリに対応する占有率情報を取得する。例えば、検索装置100は、占有率情報記憶部124からクエリ「猫」に対応する占有率情報を取得する。ここでいう占有率情報は、対象の検索結果としてユーザに提供された画像がユーザにより選択された場合に、その画像における対象の占有率に関する情報を示す。
【0031】
例えば、図2中の占有率情報記憶部124に示すように、対象「猫」を含む画像は、画像における猫の占有率が0−20%である場合、クリック率順位が「5」位であり、最もクリック率が低いことを示す。例えば、0−20%は、0より大きく20以下の範囲を示すものとする。また、対象「猫」を含む画像は、画像における猫の占有率が20−40%である場合、クリック率順位が「3」位であることを示す。例えば、20−40%は、20より大きく40以下の範囲を示すものとする。
【0032】
また、対象「猫」を含む画像は、画像における猫の占有率が40−60%である場合、クリック率順位が「2」位であることを示す。例えば、40−60%は、40より大きく60以下の範囲を示すものとする。また、対象「猫」を含む画像は、画像における猫の占有率が60−80%である場合、クリック率順位が「1」位であり、最もクリック率が高いことを示す。例えば、60−80%は、60より大きく80以下の範囲を示すものとする。また、対象「猫」を含む画像は、画像における猫の占有率が80−100%である場合、クリック率順位が「4」位であることを示す。例えば、80−100%は、80より大きく100以下の範囲を示すものとする。
【0033】
このように、図2の例では、対象「猫」を含む画像は、画像における猫の占有率が60−80%である場合、ユーザがクリックする確率が最も高いことを示す。すなわち、図2の例では、ユーザによるクリック率を指標とした場合、対象が「猫」である場合は、60−80%の範囲内が最適な占有率であるものとする。
【0034】
その後、検索装置100は、画像IMのランキングを決定する(ステップS15)。例えば、検索装置100は、ランキング情報LT12に示すように、最もクリック率順位が高い占有率の範囲である「60−80」%の範囲に含まれる画像IMのランキングが高くなるようにランキングを決定する。例えば、検索装置100は、60−80%の中央値「70%」の占有率である画像IM15を1位とし、画像IM15の次に「70%」に近い画像IM19を2位とし、画像IM19の次に「70%」に近い画像IM17を3位とし、画像IM17の次に「70%」に近い画像IM11を4位とする。
【0035】
その後、検索装置100は、決定したランキングに基づいた検索結果をユーザU1に提供する(ステップS16)。図2の例では、検索装置100は、画像IM15を1位とし、画像IM19を2位とし、画像IM17を3位とし、画像IM11を4位とするランキングに基づいた表示順の検索結果をユーザU1が利用する端末装置10に提供する。例えば、検索装置100は、決定したランキングに基づいた検索結果をユーザU1が利用する端末装置10に送信する。
【0036】
上述したように、検索装置100は、画像における対象の占有率を出力する学習器を用いることにより、画像に対象が含まれる態様、すなわち画像において対象がどれくらいの割合を占めるかを適切に推定することができる。また、検索装置100は、クエリを取得した場合に、そのクエリに対応する対象を含む画像に対するユーザ操作に関する情報に基づいて、画像のランキングを決定する。これにより、検索装置100は、クエリを取得した場合に、そのクエリに対応する対象を含む画像のランキングを適切に決定することができる。図2に示すように、検索装置100は、クエリに対応する対象を含む画像に対するクリック率順位に応じて、画像のランキングを決定することにより、ユーザの意図をより適切に反映した検索結果をユーザに提供することができる。なお、検索装置100は、占有率に関する情報に限らず種々の情報を適宜用いて画像のランキングを決定してもよい。例えば、検索装置100は、対象が鮮明に映っている画像のランキングが高くなるように、ランキングを決定してもよい。また、例えば、検索装置100は、画像の画質(ピクセル数)等に関する情報を加味して、ランキングを決定してもよい。
【0037】
なお、上記例では、検索装置100がクエリ「猫」を対象として含む画像に対するユーザのクリック率に応じて画像のランキングを決定する例を示したが、検索装置100は、種々の情報を適宜用いてランキングを決定してもよい。検索装置100は、対象の占有率を1つの素性として、他の種々の素性と各々の重みとに基づいて画像のランキングを決定してもよい。例えば、検索装置100は、各画像のクリック率やユーザごとのクリック率等を加味して、画像のランキングを決定してもよい。また、上記例では、検索装置100が対象ごとのクリック率に基づいてランキングを決定する場合を示したが、検索装置100は、カテゴリごとのクリック率に基づいてランキングを決定してもよい。例えば、検索装置100は、対象「猫」を含む画像のランキングを決定する場合、例えばカテゴリ「動物」に属する対象全体のクリック率に基づいて、ランキングを決定してもよい。例えば、検索装置100は、対象「猫」を含む画像のランキングを決定する場合、犬や馬等の猫以外の対象を含むカテゴリ「動物」に属する対象全体のクリック率に基づいて、ランキングを決定してもよい。これにより、検索装置100は、猫の画像に対するユーザ操作に関する情報が少ない場合であっても、ランキングを適切に決定することができる。
【0038】
また、例えば、検索装置100は、過去にクエリ「猫」に対応する検索結果としてユーザに提供され、ユーザに選択された画像に含まれる対象の占有率の平均を用いて、画像のランキングを決定してもよい。例えば、検索装置100は、過去にクエリ「猫」に対応する検索結果としてユーザに提供され、ユーザにクリックされた各画像に含まれる複数の対象の占有率の分布に基づいて、画像のランキングを決定してもよい。例えば、検索装置100は、過去にクエリ「猫」に対応する検索結果としてユーザに提供され、ユーザにクリックされた全画像の複数の対象の占有率の平均の分布(以下、「最適分布」とする)を、クエリ「猫」に対応する画像の最適値として、画像のランキングを決定してもよい。また、例えば、検索装置100は、学習により画像における各対象の占有率の最適値を推定するモデルを生成してもよい。この場合、検索装置100は、モデルにより推定される対象の占有率の最適値に基づいて、画像のランキングを決定してもよい。また、検索装置100は、クリック率順位が「1」〜「5」位の占有率に対応する画像が繰り返し並ぶようにランキングを決定してもよい。例えば、検索装置100は、占有率60−80%に対応する画像のランキングを1位や6位等とし、占有率40−60%に対応する画像のランキングを2位や7位等とし、占有率20−40%に対応する画像のランキングを3位や8位等とし、占有率80−100%に対応する画像のランキングを4位や9位等とし、占有率0−20%に対応する画像のランキングを5位や10位等としてもよい。この場合、検索装置100は、連続する順位の画像の占有率が変動するようにランキングを決定することができる。これにより、検索装置100は、多様な占有率の画像が並ぶように画像のランキングを決定することができる。
【0039】
例えば、検索装置100は、画像情報記憶部122(図5参照)から抽出したクエリ「猫」に対応する各画像に含まれる複数の対象の占有率の分布と、最適分布とのKLダイバージェンス等の指標値に基づいて画像のランキングを決定してもよい。例えば、検索装置100は、クエリ「猫」に対応する各画像に含まれる複数の対象の占有率の分布と、最適分布とのKLダイバージェンスの値が小さい程、画像のランキングを高く決定してもよい。なお、検索装置100は、KLダイバージェンスに限らず、各画像における分布の類似度に基づく指標値であれば、種々の指標値を適宜用いて、画像のランキングを決定してもよい。
【0040】
また、上述した例では、検索装置100が1つの学習器LEを用いる場合を示したが、検索装置100は、対象ごとに学習器を使い分けてもよい。例えば、検索装置100は、犬を対象とする学習器を、猫を対象とする学習器と別に用いてもよい。また、上述した例では、クエリの入力に対する画像検索における画像のランキングの決定に対象の占有率に関する情報を用いる場合を示したが、対象の占有率に関する情報を利用可能であれば、どのようなサービスにおいて対象の占有率に関する情報を用いてもよい。例えば、検索装置100は、電子商取引等における商品の表示順(ランキング)の決定に対象の占有率に関する情報を用いてもよい。えば、検索装置100は、ショッピングサイト等における商品の検索結果の表示順(ランキング)の決定に対象の占有率に関する情報を用いてもよい。例えば、検索装置100は、対象である商品が大きく映っている、すなわち商品の占有率が大きい画像のランキングが高くなるように、ランキングを決定してもよい。例えば、検索装置100は、対象である商品以外の他の対象が映っていない画像のランキングが高くなるように、ランキングを決定してもよい。
【0041】
〔2.検索装置の構成〕
次に、図3を用いて、実施形態に係る検索装置100の構成について説明する。図3は、実施形態に係る検索装置100の構成例を示す図である。図3に示すように、検索装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、検索装置100は、検索装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0042】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、例えば検索システム1に含まれる端末装置10との間で情報の送受信を行う。
【0043】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図3に示すように、学習情報記憶部121と、画像情報記憶部122と、一覧情報記憶部123と、占有率情報記憶部124とを有する。
【0044】
(学習情報記憶部121)
実施形態に係る学習情報記憶部121は、学習に関する各種情報を記憶する。例えば、図4では、学習情報記憶部121は、所定の学習処理により生成された学習器LEに関する学習情報(モデル)を記憶する。図4に、実施形態に係る学習情報記憶部121の一例を示す。図4に示す学習情報記憶部121は、「重み(wij)」を記憶する。
【0045】
例えば、図4に示す例において、「重み(w11)」は「0.2」であり、「重み(w12)」は「−0.3」であることを示す。また、図4に示す例において、「重み(w21)」は「0.5」であり、「重み(w22)」は「1.3」であることを示す。
【0046】
なお、「重み(wij)」は、例えば、学習器LEにおけるニューロンyからニューロンxへのシナプス結合係数であってもよい。また、学習情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。また、検索装置100は、対象ごとに学習器を使い分ける場合、複数の学習器に関する情報を記憶してもよい。例えば、検索装置100は、犬を対象とする学習器を、猫を対象とする学習器と別に用いる場合、犬を対象とする学習器に関する情報も記憶してもよい。
【0047】
(画像情報記憶部122)
実施形態に係る画像情報記憶部122は、画像に関する各種情報を記憶する。図5に、実施形態に係る画像情報記憶部122の一例を示す。例えば、画像情報記憶部122には、検索対象となる画像が記憶される。図5に示す画像情報記憶部122は、「画像ID」、「画像」、「タグ」といった項目を有する。
【0048】
「画像ID」は、画像を識別するための識別情報を示す。「画像」は、画像情報を示す。具体的には、「画像」は、検索対象となる画像を示す。図5では、説明のため画像IDにより識別される画像を図示するが、「画像」としては、画像の格納場所を示すファイルパス名などが格納されてもよい。「タグ」は、画像に対応付けて付される情報であり、画像に含まれる対象を示す。
【0049】
例えば、図5に示す例において、画像ID「IM11」により識別される画像は、猫を含む画像IM11であり、タグ「猫」が対応付けて記憶されることを示す。なお、各画像に付されるタグは、画像を登録する管理者等が付してもよいし、画像認識の種々の技術を適宜用いて対象を識別することにより、自動で付されてもよい。
【0050】
なお、画像情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、画像情報記憶部122は、画像を生成した日時に関する情報を記憶してもよい。また、例えば、画像情報記憶部122は、画像に含まれる対象に関する情報を記憶してもよい。また、例えば、画像情報記憶部122は、取得した元となる画像を記憶してもよい。
【0051】
(一覧情報記憶部123)
実施形態に係る一覧情報記憶部123は、画像における対象の占有率等に関する各種情報を記憶する。例えば、一覧情報記憶部123は、対象ごとに画像における対象の占有率等に関する各種情報を記憶する。図6は、実施形態に係る一覧情報記憶部の一例を示す図である。図6に示す例においては、一覧情報記憶部123は、一覧情報LT11や一覧情報LT21といった含まれる対象ごとに情報(テーブル)を記憶する。例えば、一覧情報LT11や一覧情報LT21は、「画像ID」や「占有率(%)」といった項目を有する。
【0052】
「画像ID」は、画像を識別するための識別情報を示す。「画像」は、画像情報を示す。一覧情報LT11の「占有率(%)」には、「猫」や「背景」といった項目が含まれる。また、一覧情報LT21の「占有率(%)」には、「犬」や「背景」といった項目が含まれる。
【0053】
例えば、図6中の一覧情報LT11に示すように、画像ID「IM11」により識別される画像(IM11)は、対象「猫」の占有率が「80」%であり、対象「背景」の占有率が「18」%であることを示す。また、例えば、図6中の一覧情報LT11に示すように、画像ID「IM12」により識別される画像(IM12)は、対象「猫」の占有率が「60」%であり、対象「背景」の占有率が「36」%であることを示す。
【0054】
なお、一覧情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、一覧情報記憶部123は、対象の画像における位置に関する情報を記憶してもよい。例えば、一覧情報記憶部123は、対象が画像の中央、上、下、右、左、全体等のどの部分に位置するかに関する種々の情報を記憶してもよい。例えば、一覧情報記憶部123は、各画像IDに対応する画像や画像の格納場所を示すファイルパス名などを記憶してもよい。また、図6の例では、一覧情報記憶部123は、一覧情報LT11や一覧情報LT21といったように、対象ごとにテーブルを分けて記憶する場合を示したが、対象の占有率等に関する各種情報を1つのテーブルに記憶してもよい。例えば、一覧情報記憶部123は、「占有率(%)」に全対象の項目を含ませることにより、1つのテーブルに記憶してもよい。
【0055】
(占有率情報記憶部124)
実施形態に係る占有率情報記憶部124は、画像における対象の占有率等に関する各種情報を記憶する。例えば、占有率情報記憶部124は、対象ごとに占有率の最適値に関する各種情報を記憶する。図7は、実施形態に係る占有率情報記憶部の一例を示す図である。図7に示す例においては、占有率情報記憶部124は、「対象」、「占有率(%)」、「クリック率順位」といった項目を有する。
【0056】
「対象」は、対象を識別するための情報を示す。「対象」には、対象を識別するためのIDが記憶されてもよい。「占有率(%)」は、占有率の範囲を示す。「クリック率順位」は、占有率の各範囲に対応するクリック率の順位を示す。
【0057】
例えば、図7に示す例において、対象「猫」を含む画像は、画像における猫の占有率が「0−20」(%)である場合、クリック率順位が「5」位であり、最もクリック率が低いことを示す。また、対象「猫」を含む画像は、画像における猫の占有率が「20−40」(%)である場合、クリック率順位が「3」位であることを示す。また、対象「猫」を含む画像は、画像における猫の占有率が「40−60」(%)である場合、クリック率順位が「2」位であることを示す。また、対象「猫」を含む画像は、画像における猫の占有率が「60−80」(%)である場合、クリック率順位が「1」位であり、最もクリック率が高いことを示す。また、対象「猫」を含む画像は、画像における猫の占有率が「80−100」(%)である場合、クリック率順位が「4」位であることを示す。
【0058】
なお、占有率情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、占有率情報記憶部124は、ユーザにクリックされた画像とその画像における対象の占有率を対応付けた情報を記憶してもよい。
【0059】
(制御部130)
図3の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、検索装置100内部の記憶装置に記憶されている各種プログラム(決定プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0060】
図3に示すように、制御部130は、取得部131と、学習部132と、推定部133と、抽出部134と、決定部135と、提供部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。
【0061】
(取得部131)
例えば、取得部131は、各種情報を取得する。例えば、取得部131は、画像を取得する。例えば、取得部131は、画像情報記憶部122から画像を取得する。図1では、取得部131は、画像情報記憶部122から画像IM11〜IM15等を取得する。なお、取得部131は、外部の情報処理装置から画像IM11〜IM15等を取得してもよい。
【0062】
また、取得部131は、画像検索におけるクエリを取得する。図2では、取得部131は、ユーザU1が利用する端末装置10からクエリを取得する。図2では、取得部131は、クエリとして文字列「猫」を取得する。例えば、取得部131は、文字列に変えてクエリ画像を取得してもよい。
【0063】
(学習部132)
学習部132は、種々の情報を学習する。また、学習部132は、学習により種々の情報を生成する。例えば、学習部132は、学習器(モデル)を学習する。言い換えると、学習部132は、学習を行うことにより学習器(モデル)を生成する。例えば、学習部132は、学習器LEを学習する。例えば、学習部132は、画像と当該画像における所定の対象の占有率との組み合わせにより学習器を学習する。また、学習部132は、所定の評価関数を最小化するように学習器を学習する。なお、学習部132が行う学習処理の詳細は後述する。
【0064】
(推定部133)
推定部133は、各種情報を推定する。例えば、推定部133は、入力画像に応じて当該入力画像中における所定の対象の占有率を出力する学習器と、取得部131により取得された画像とに基づいて、取得部131により取得された画像における所定の対象の占有率を推定する。例えば、推定部133は、所定のデータ(教師データ)により学習されたニューラルネットワークである学習器に基づいて、取得部131により取得された画像における所定の対象の占有率を推定する。例えば、推定部133は、画像と当該画像中における所定の対象の占有率との組み合わせにより学習されたニューラルネットワークである学習器に基づいて、取得部131により取得された画像における所定の対象の占有率を推定する。例えば、推定部133は、畳み込み処理及びプーリング処理を行うニューラルネットワークである学習器に基づいて、取得部131により取得された画像における所定の対象の占有率を推定する。
【0065】
図1では、推定部133は、画像IMを学習器LEに入力することにより、画像IMにおける猫の占有率を推定する。具体的には、画像IMが入力された学習器LEは、入力された画像IMにおける猫の占有率を示す情報を出力し、推定部133は、学習器LEが出力した画像IMにおける猫の占有率を示す情報に基づいて、画像IMにおける猫の占有率を推定する。例えば、推定部133は、学習器LEの出力に基づいて、画像IM11における猫の占有率を推定する。図1では、推定部133は、推定情報OC11に示すように、学習器LEの出力に基づいて、画像IM11における猫の占有率を80%と推定し、画像IM11における背景の占有率を18%と推定する。また、図1では、推定部133は、学習器LEの出力に基づいて、画像IM12〜IM15等における猫の占有率を推定する。例えば、推定部133は、タグ「猫」が対応付けられた画像IMを学習器LEに入力することにより、各画像IMにおける猫の占有率を推定する。
【0066】
なお、検索装置100が一覧情報記憶部123に記憶される占有率に関する情報を外部の情報処理装置から取得する場合は、検索装置100は、学習部132や推定部133を有しなくてもよい。すなわち、クエリに対して検索結果を提供する検索装置100と、学習処理等を行う情報処理装置とは、別体であってもよい。
【0067】
(抽出部134)
抽出部134は、種々の情報を抽出する。例えば、抽出部134は、画像情報記憶部122や一覧情報記憶部123から画像に関する情報を抽出する。例えば、抽出部134は、画像情報記憶部122や一覧情報記憶部123に記憶された所定の画像群から条件を満たす画像を抽出する。図2では、抽出部134は、クエリ「猫」に対応する画像を抽出する。
【0068】
(決定部135)
決定部135は、種々の情報を決定する。例えば、決定部135は、各画像におけるクエリに対応する対象のサイズに関する情報に基づいて、各画像のランキングを決定する。例えば、決定部135は、各画像における対象のサイズに関する情報と、各画像のサイズに関する情報とに基づく各画像における対象の占有率に関する情報に応じて、各画像のランキングを決定する。例えば、決定部135は、対象に応じて変動する占有率に関する情報に基づいて、各画像のランキングを決定する。例えば、決定部135は、推定部133により推定された複数の画像の各々におけるクエリに対応する対象の占有率に基づいて、複数の画像のランキングを決定する。
【0069】
例えば、決定部135は、対象に応じて変動する占有率に関する情報に基づいて、各画像のランキングを決定する。例えば、決定部135は、対象の検索結果としてユーザに提供された画像であって、ユーザにより選択された画像における対象の占有率に応じて決定される占有率に関する情報に基づいて、各画像のランキングを決定する。
【0070】
図2では、決定部135は、画像IMのランキングを決定する。例えば、決定部135は、最もクリック率順位が高い占有率の範囲である「60−80」%の範囲に含まれる画像IMのランキングが高くなるようにランキングを決定する。例えば、決定部135は、「60−80」%の範囲の中央値「70%」の占有率である画像IM15を1位とし、画像IM15の次に「70%」に近い画像IM19を2位とし、画像IM19の次に「70%」に近い画像IM17を3位とし、画像IM17の次に「70%」に近い画像IM11を4位とする。
【0071】
また、例えば、決定部135は、過去にクエリ「猫」に対応する検索結果としてユーザに提供され、ユーザに選択された画像に含まれる対象の占有率の平均を用いて、画像のランキングを決定してもよい。例えば、決定部135は、過去にクエリ「猫」に対応する検索結果としてユーザに提供され、ユーザにクリックされた各画像に含まれる複数の対象の占有率の分布に基づいて、画像のランキングを決定してもよい。例えば、決定部135は、過去にクエリ「猫」に対応する検索結果としてユーザに提供され、ユーザにクリックされた全画像の複数の対象の占有率の平均の分布である最適分布を、クエリ「猫」に対応する画像の最適値として、画像のランキングを決定してもよい。
【0072】
例えば、決定部135は、画像情報記憶部122から抽出したクエリ「猫」に対応する各画像に含まれる複数の対象の占有率の分布と、最適分布とのKLダイバージェンス等の指標値に基づいて画像のランキングを決定してもよい。例えば、決定部135は、クエリ「猫」に対応する各画像に含まれる複数の対象の占有率の分布と、最適分布とのKLダイバージェンスの値が小さい程、画像のランキングを高く決定してもよい。なお、決定部135は、KLダイバージェンスに限らず、各画像における分布の類似度に基づく指標値であれば、種々の指標値を適宜用いて、画像のランキングを決定してもよい。
【0073】
例えば、決定部135は、画像の各々のランキングにおける画像の各々の占有率の差に応じて、画像の各々のランキングを決定してもよい。例えば、決定部135は、画像の各々のランキングにおいて連続する画像の各々の占有率の差が所定の条件を満たすように、画像の各々のランキングを決定してもよい。例えば、決定部135は、連続するランキング間の画像IMにおける対象の占有率の差が5%以上になるように、画像のランキングを決定してもよい。例えば、決定部135は、ランキングが1位の画像IMにおける猫の占有率が「70」%である場合、ランキングが2位の画像IMにおける猫の占有率が「75」%より大きいか、または「65」%未満となるようにランキングが2位の画像IMを決定してもよい。
【0074】
例えば、決定部135は、画像の各々に検索対象以外の対象が含まれるか否かに応じて、画像の各々のランキングを決定してもよい。例えば、決定部135は、検索対象が「猫」である場合、画像に猫以外の対象(例えば、「犬」等)が含まれる場合、その画像のランキングが低くなるように、画像の各々のランキングを決定してもよい。例えば、決定部135は、画像の各々に文字情報が含まれるか否かに応じて、画像の各々のランキングを決定してもよい。例えば、決定部135は、画像の各々に文字情報が含まれる画像のランキングが低くなるように、画像の各々のランキングを決定してもよい。この場合、例えば、決定部135は、文字を認識する種々の従来技術を適宜用いて、画像の各々に文字情報が含まれるかを判別してもよい。
【0075】
例えば、決定部135は、各画像における検索対象の位置に応じて、各画像のランキングを決定してもよい。例えば、決定部135は、クエリに対応する対象の位置が右である場合にクリック率が高くなる場合、対象が右に位置する画像のランキングが高くなるように、各画像のランキングを決定してもよい。この場合、例えば、決定部135は、取得部131により取得された各画像における対象の位置を示す情報に基づいて、各画像における検索対象の位置を判別してもよい。また、例えば、決定部135は、位置情報を保持する学習器から出力される各画像における対象の位置を示す情報に基づいて、各画像における検索対象の位置を判別してもよい。なお、上記は一例であり、決定部135は、各画像における検索対象の位置を判別可能であれば、どのような情報を用いてもよい。
【0076】
(提供部136)
提供部136は、外部の情報処理装置へ各種情報を提供する。例えば、提供部136は、決定部135により決定された複数の画像のランキングに基づく情報を提供する。図2では、提供部136は、決定したランキングに基づいた検索結果をユーザU1に提供する。例えば、提供部136は、画像IM15を1位とし、画像IM19を2位とし、画像IM17を3位とし、画像IM11を4位とするランキングに基づいた表示順の検索結果をユーザU1が利用する端末装置10に提供する。例えば、提供部136は、決定したランキングに基づいた検索結果を端末装置10に送信する。
【0077】
〔3.占有率の推定処理のフロー〕
ここで、図8を用いて、実施形態に係る検索装置100による占有率の推定処理の手順について説明する。図8は、実施形態に係る画像における対象の占有率の推定の一例を示すフローチャートである。
【0078】
図8に示すように、検索装置100は、画像を取得する(ステップS101)。図1では、検索装置100は、画像IM11〜IM15等を取得する。その後、検索装置100は、ステップS101で取得した画像を学習器に入力する(ステップS102)。図1では、検索装置100は、取得した画像IM11〜IM15等を学習器LEに入力する。
【0079】
その後、検索装置100は、学習器の出力に基づいて入力画像における対象の占有率を推定する(ステップS103)。図1では、検索装置100は、学習器LEの出力に基づいて、入力した画像IM11〜IM15等における猫の占有率を推定する。
【0080】
その後、検索装置100は、占有率を含む画像の一覧情報を生成する(ステップS104)。図1では、検索装置100は、画像IM11〜IM15等における猫の占有率を示す一覧情報LT11を生成する。
【0081】
〔4.ランキングの決定処理のフロー〕
次に、図9を用いて、実施形態に係る検索装置100によるランキングの決定処理の手順について説明する。図9は、実施形態に係るランキングの決定の一例を示すフローチャートである。
【0082】
図9に示すように、検索装置100は、クエリを取得する(ステップS201)。図2では、検索装置100は、クエリとして文字列「猫」取得する。なお、検索装置100は、ステップS201では、文字列に変えてクエリ画像を取得してもよい。
【0083】
その後、検索装置100は、クエリに対応する画像を抽出する(ステップS202)。例えば、検索装置100は、画像情報記憶部122からタグ「猫」が付された画像IMを抽出する。
【0084】
その後、検索装置100は、クエリに対応する占有率情報を取得する(ステップS203)。図2では、検索装置100は、占有率情報記憶部124からクエリ「猫」に対応する占有率情報を取得する。
【0085】
その後、検索装置100は、クエリに対応する画像と、クエリに対応する占有率情報とに基づいてランキングを決定する(ステップS204)。図2の例では、検索装置100は、最もクリック率順位が高い占有率の範囲である「60−80」%の範囲に含まれる画像IMのランキングが高くなるようにランキングを決定する。
【0086】
その後、検索装置100は、決定したランキングに基づく、検索結果を提供する(ステップS205)。図2の例では、検索装置100は、画像IM15を1位とし、画像IM19を2位とし、画像IM17を3位とし、画像IM11を4位とするランキングに基づいた表示順の検索結果をユーザU1が利用する端末装置10に提供する。
【0087】
〔5.学習処理〕
ここで、検索装置100の学習部132における学習処理について、図10及び図11を用いて説明する。図10及び図11は、実施形態に係る学習処理の一例を示す図である。
【0088】
まず、図10を用いて説明する。図10に示す例は、検索装置100は、猫を含む画像IM21と画像中における猫等の占有率を示す情報RO21(以下、「正解情報RO21」と記載する場合がある)との組み合わせを教師データとして取得する(ステップS21)。図10では、説明を簡単にするために、正解情報RO21中には猫と背景の2つのクラスの占有率のみを図示するが、正解情報RO21中には学習器LEが出力するクラスに対応する占有率を含んでもよい。例えば、学習器LEが20個のクラスに関する占有率を示す情報を出力する場合、正解情報RO21は、猫と背景の2つのクラスの占有率に加えて他のクラスの占有率を示す情報を含んでもよい。学習器LEが猫や背景に対応する2つのクラスに加えて、犬や飛行機や自転車等のクラスに関する占有率を示す情報を出力する場合、正解情報RO21には、犬の占有率「0」や飛行機の占有率「0」や自転車の占有率「0」を示す情報を含んでもよい。
【0089】
そして、学習器LEには、猫を含む画像IM21が入力される(ステップS22)。その後、出力情報OC21−1に示すような対象の占有率を示す情報が学習器LEから出力される(ステップS23)。図10では、説明を簡単にするために、猫と背景の2つのクラスの占有率のみを図示するが、学習器LEは、他のクラスに関する占有率を示す情報を出力してもよい。例えば、学習器LEが20個のクラスに関する占有率を示す情報を出力する場合、学習器LEは、猫や背景に対応する2つのクラスに加えて、犬や飛行機や自転車等のクラスに関する占有率を示す情報を出力してもよい。
【0090】
上述したように、例えば、学習部132は、ディープラーニングの技術により、学習器LEを学習し、生成する。例えば、学習部132は、画像と当該画像中における所定の対象の占有率との組み合わせを教師データとして用いる。例えば、学習部132は、学習器LEにおける出力と、教師データに含まれる所定の対象の占有率との誤差が少なくなるようにパラメータ(接続係数)を補正するバックプロパゲーション(誤差逆伝播法)等の処理を行うことにより、学習器LEを学習する。例えば、学習部132は、所定の誤差(ロス)関数を最小化するようにバックプロパゲーション等の処理を行うことにより学習器LEを生成する。
【0091】
例えば、学習部132は、下記の式(1)に示すような、誤差関数Lを用いる。下記の式(1)に示すように、学習部132は、例えば、N−クラス分類問題の場合、交差エントロピーを誤差関数として用いる。なお、誤差関数Lは、識別結果の確信度を表すものであれば、どのような関数であっても良い。例えば、誤差関数Lは、識別確率から求められるエントロピーであってもよい。また、例えば、誤差関数Lは、学習器LEの認識の精度を示すものであれば、どのような関数であってもよい。
【0092】
【数1】
【0093】
ここで、上記式(1)や下記の式(2)〜(4)中の「x」は画像を示す。例えば、図10に示す例において、上記式(1)や下記の式(2)〜(4)中の「x」は、画像IMに対応する。また、変数「n」に代入される1〜Nは、学習器LEが識別(分類)する各クラスに対応する。例えば、上記式(1)に対応する学習器LEは、N個のクラスを識別することを示す。例えば、各クラスには、「猫」や「背景」等が各々対応する。
【0094】
また、上記式(1)や下記の式(3)、(4)中の「t(x)」は、画像IM21におけるクラスn(1〜Nのいずれか)に対応する対象の占有率を示す。例えば、上記式(1)中の「t(x)」は、正解情報RO21に示すような、クラスnに対応する対象の占有率を示す。この場合、例えば、クラス1に対応する対象を「猫」とした場合、「t(x)」は、「0.53(53%)」となる。また、例えば、上記式(1)中の「t(x)」は、正解クラスの時のみ1を取り、それ以外では0を取るように定義してもよい。
【0095】
また、上記式(1)や下記の式(2)、(3)中の「p(x)」は、画像IM21におけるクラスn(1〜Nのいずれか)に対応する対象について、学習器LEの出力に基づく占有率を示す。例えば、上記式(1)中の「p(x)」は、出力情報OC21−1に示すような、学習器LEが出力するクラスnに対応する対象の占有率を示す。この場合、例えば、クラス1に対応する対象を「猫」とした場合、「p(x)」は、「0.64(64%)」となる。
【0096】
また、上記式(1)中の「p(x)」は、xに対するクラスnの確率で以下の式(2)に示すようなSoftmax関数で定義される。
【0097】
【数2】
【0098】
上記式(2)の関数「f」は、CNN(学習器LE)が出力するクラスnのスコアである。「θ」は、CNN(学習器LE)のパラメータである。また、関数「exp」は、指数関数(exponential function)である。この場合、上記式(1)に示す誤差関数L(1)の勾配は、下記の式(3)により算出される。
【0099】
【数3】
【0100】
上記式(3)に示すように、1〜Nまでの全クラスにおいて、p(x)=t(x)である場合、誤差関数L(x)の勾配は0になり極値になる。例えば、学習部132は、誤差関数L(x)の勾配が0になるように、フィードバック処理を行う(ステップS24)。例えば、学習部132が上述のような処理を繰り返すことにより、学習器LEは、入力された画像における対象の占有率を適切に出力することができる。なお、図10は、学習器LEの出力を正解情報RO21に近づけるために、誤差関数L等を最小化するように処理を繰り返すことを視覚的に示すためのものであり、学習器LE内において自動で行われてもよい。
【0101】
上述のように、「t(x)」は、画像全体を1としたときのクラスnの占有率と定義すると、例えば、以下のような式(4)で示される。
【0102】
【数4】
【0103】
「δi,j」はクロネッカーのデルタであり、「j」はピクセルpのラベルである。例えば、「j」は、猫や背景等の複数のクラスのいずれかに対応するラベルである。例えば、各ピクセルのラベルは、そのピクセルがどの対象に関するピクセルであるかを示す。あるピクセルのラベルが猫に対応するラベルである場合、そのピクセルは対象「猫」に関するピクセルであることを示す。例えば、上記式(4)の分母は、画像「x」の全ピクセルの合計値となる。また、例えば、上記式(4)の分子は、画像「x」におけるクラスnのラベルが付されたピクセル数となる。このように、上記式(4)の「t(x)」は、0〜1の値となる。上記式(4)により、画像における各クラスに対応する対象の占有率が算出される。なお、各ピクセルへのラベル付けは、例えば検索装置100の管理者や画像の所有者等により行われてもよい。
【0104】
次に、図11を用いて説明する。図11では、検索装置100は、学習器LEとは別の学習器LE31の学習を行う場合を示す。図11に示す例は、検索装置100は、人やボトルを含む画像IM31と画像中における人やボトル等の占有率を示す情報RO31(以下、「正解情報RO31」と記載する場合がある)との組み合わせを教師データとして取得する(ステップS31)。そして、学習器LE31には、人やボトルを含む画像IM31が入力される(ステップS32)。その後、出力情報OC31−1に示すような対象の占有率を示す情報が学習器LE31から出力される(ステップS33)。図11に示す例においても、図10に示す例と同様に、学習部132は、上記式(1)〜(3)を用いて、誤差関数L(x)の勾配が0になるように、フィードバック処理を行う(ステップS34)。例えば、学習部132が上述のような処理を繰り返すことにより、対象が複数ある場合であっても、学習器LE31は、入力された画像における対象の占有率を適切に出力することができる。なお、図11は、学習器LE31の出力を正解情報RO31に近づけるために、誤差関数L等を最小化するように処理を繰り返すことを視覚的に示すためのものであり、学習器LE31内において自動で行われてもよい。
【0105】
〔6.学習処理のフロー〕
ここで、図12を用いて、実施形態に係る検索装置100による学習処理の手順について説明する。図12は、実施形態に係る学習処理の一例を示すフローチャートである。
【0106】
図12に示すように、検索装置100は、画像と画像中の各対象の占有率に関する正解情報とを取得する(ステップS301)。図10では、検索装置100は、猫を含む画像IM21と画像中における猫等の占有率を示す正解情報RO21とを取得する。その後、検索装置100は、ステップS301で取得した画像を学習器に入力する(ステップS302)。図10では、検索装置100は、取得した画像IM21を学習器LEに入力する。
【0107】
その後、検索装置100は、学習器の出力に基づく占有率と、正解情報の占有率との誤差が小さくなるように学習する(ステップS303)。図10では、検索装置100は、学習器LEの出力に基づく出力情報OC21−1に示す各対象の占有率と、正解情報RO21に示す各対象の占有率とに基づいて学習する。
【0108】
その後、検索装置100は、所定の条件を満たす場合(ステップS304:Yes)、処理を終了する。例えば、検索装置100は、学習器の出力に基づく占有率と正解情報の占有率との誤差が所定の閾値以内である場合や、学習を開始してから所定の時間が経過した場合に所定の条件を満たすとして、処理を終了してもよい。また、検索装置100は、所定の条件を満たさない場合(ステップS304:No)、ステップS303の処理を繰り返す。例えば、検索装置100は、学習器の出力に基づく占有率と正解情報の占有率との誤差が所定の閾値より大きい場合や、学習を開始してから所定の時間が経過していない場合に所定の条件を満たさないとして、ステップS303の処理を繰り返してもよい。なお、お、上記の学習処理は一例であり、検索装置100は、種々の手順により学習を行ってもよい。
【0109】
〔7.ランキングの決定〕
上述したように、検索装置100は、種々の情報を適宜用いて画像のランキングを決定してもよい。例えば、検索装置100は、各画像のランキングにおける各画像間の占有率の多様性に応じて、各画像のランキングを決定してもよい。この点について、図13を用いて、実施形態に係る検索装置100によるランキングの決定について説明する。図13は、実施形態に係るランキングの決定の一例を示す図である。
【0110】
図11に示す例においては、図2に示す例と同様に、占有率情報記憶部124や猫の占有率を示す一覧情報LT11に基づいて画像のランキングを決定する場合を示す。図11に示す例においては、検索装置100は、画像のランキングにおいて連続する画像の占有率が多様になるように画像のランキングを決定する(ステップS41)。例えば、検索装置100は、ランキング情報LT41に示すように、クリック率順位が「1」〜「5」位の占有率に対応する画像が、1位〜5位の順に繰り返し並ぶようにランキングを決定する。
【0111】
図11の例では、検索装置100は、クリック率順位が「1」である占有率60−80%に対応する画像IM15のランキングを1位に決定する。例えば、検索装置100は、猫の占有率が占有率60−80%の範囲内の70%である画像IM15のランキングを1位に決定する。また、図11の例では、検索装置100は、クリック率順位が「2」である占有率40−60%に対応する画像IM41のランキングを2位に決定する。例えば、検索装置100は、猫の占有率が占有率40−60%の範囲内の51%である画像IM41のランキングを2位に決定する。
【0112】
また、図11の例では、検索装置100は、クリック率順位が「3」である占有率20−40%に対応する画像IM45のランキングを3位に決定する。例えば、検索装置100は、猫の占有率が占有率20−40%の範囲内の28%である画像IM45のランキングを3位に決定する。また、図11の例では、検索装置100は、クリック率順位が「4」である占有率80−100%に対応する画像IM14のランキングを2位に決定する。例えば、検索装置100は、猫の占有率が占有率80−100%の範囲内の90%である画像IM14のランキングを4位に決定する。また、図11の例では、検索装置100は、クリック率順位が「5」である占有率0−20%に対応する画像IM49のランキングを5位に決定する。例えば、検索装置100は、猫の占有率が占有率0−20%の範囲内の11%である画像IM49のランキングを5位に決定する。そして、検索装置100は、ランキング6位から下の画像をクリック率順位が「1」から順に繰り返し決定する。
【0113】
図11の例では、検索装置100は、クリック率順位が「1」である占有率60−80%に対応する画像IM19のランキングを6位に決定する。例えば、検索装置100は、猫の占有率が占有率60−80%の範囲内の65%である画像IM19のランキングを6位に決定する。また、図11の例では、検索装置100は、クリック率順位が「2」である占有率40−60%に対応する画像IM47のランキングを7位に決定する。例えば、検索装置100は、猫の占有率が占有率40−60%の範囲内の55%である画像IM47のランキングを7位に決定する。また、図11の例では図示を省略するが、検索装置100は、占有率20−40%に対応する画像のランキングを8位とし、占有率80−100%に対応する画像のランキングを9位とし、占有率0−20%に対応する画像のランキングを10位とする。
【0114】
上述のように、検索装置100は、クリック率順位が「1」〜「5」位の占有率に対応する画像が繰り返し並ぶようにランキングを決定することにより、画像のランキングにおいて連続する画像の占有率が多様になるように画像のランキングを決定することができる。なお、上記ランキングの決定は一例であり、検索装置100は、多様な占有率の画像が並ぶように画像のランキングを決定することができれば、どのような情報を用いて画像のランキングを決定してもよい。
【0115】
〔8.効果〕
上述してきたように、実施形態に係る検索装置100は、取得部131と、決定部135とを有する。取得部131は、画像検索におけるクエリを取得する。決定部135は、
各画像におけるクエリに対応する対象(実施形態においては「猫」。以下、同じ)のサイズに関する情報に基づいて、各画像のランキングを決定する。
【0116】
これにより、実施形態に係る検索装置100は、各画像におけるクエリに対応する対象のサイズに関する情報に基づくことにより、クエリに対する検索結果における画像のランキングを適切に決定することができる。
【0117】
また、実施形態に係る検索装置100において、決定部135は、各画像における対象のサイズに関する情報と、各画像のサイズに関する情報とに基づく各画像における対象の占有率に関する情報に応じて、各画像のランキングを決定する。
【0118】
これにより、実施形態に係る検索装置100は、各画像における対象のサイズに関する情報と、各画像のサイズに関する情報とに基づく各画像における対象の占有率に関する情報を用いることにより、クエリに対する検索結果における画像のランキングを適切に決定することができる。
【0119】
また、実施形態に係る検索装置100において、決定部135は、対象に応じて変動する占有率に関する情報に基づいて、画像のランキングを決定する。
【0120】
これにより、実施形態に係る検索装置100は、対象に応じて変動する占有率に関する情報に基づくことにより、クエリに対する検索結果における画像のランキングを適切に決定することができる。
【0121】
また、実施形態に係る検索装置100において、決定部135は、対象の検索結果としてユーザに提供された画像であって、ユーザにより選択された画像における対象の占有率に応じて決定される占有率に関する情報に基づいて、各画像のランキングを決定する。
【0122】
これにより、実施形態に係る検索装置100は、対象の検索結果としてユーザに提供された画像であって、ユーザにより選択された画像における対象の占有率に応じて決定される占有率に関する情報に基づくことにより、クエリに対する検索結果における画像のランキングを適切に決定することができる。
【0123】
また、実施形態に係る検索装置100において、決定部135は、各画像のランキングにおける各画像間の占有率の多様性に応じて、各画像のランキングを決定する。
【0124】
これにより、実施形態に係る検索装置100は、各画像のランキングにおける各画像の占有率の差に基づいて、画像のランキングを決定することにより、クエリに対する検索結果における画像のランキングを適切に決定することができる。
【0125】
また、実施形態に係る検索装置100において、決定部135は、各画像のランキングにおいて連続する各画像の占有率の差が所定の条件を満たすように、各画像のランキングを決定する。
【0126】
これにより、実施形態に係る検索装置100は、各画像のランキングにおいて連続する各画像の占有率の差が所定の条件を満たすように、各画像のランキングを決定することにより、クエリに対する検索結果における画像のランキングを適切に決定することができる。
【0127】
また、実施形態に係る検索装置100において、決定部135は、各画像に対象以外の対象が含まれるか否かに応じて、各画像のランキングを決定する。
【0128】
これにより、実施形態に係る検索装置100は、各画像に検索対象以外の対象が含まれるか否かに応じて、各画像のランキングを決定することにより、クエリに対する検索結果における画像のランキングを適切に決定することができる。
【0129】
また、実施形態に係る検索装置100において、決定部135は、各画像に文字情報が含まれるか否かに応じて、各画像のランキングを決定する。
【0130】
これにより、実施形態に係る検索装置100は、各画像に文字情報が含まれるか否かに応じて、各画像のランキングを決定することにより、クエリに対する検索結果における画像のランキングを適切に決定することができる。
【0131】
また、実施形態に係る検索装置100は、提供部136を有する。提供部136は、決定部135により決定された各画像のランキングに基づく情報を提供する。
【0132】
これにより、実施形態に係る検索装置100は、対象のサイズに関する情報を用いて決定された画像のランキングに基づく情報を提供することにより、より適切な情報をユーザに提供することができる。
【0133】
〔9.ハードウェア構成〕
上述してきた実施形態に係る検索装置100は、例えば図14に示すような構成のコンピュータ1000によって実現される。図14は、検索装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0134】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0135】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ提供する。
【0136】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0137】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0138】
例えば、コンピュータ1000が実施形態に係る検索装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0139】
以上、本願の実施形態を図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0140】
〔10.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0141】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0142】
また、上述してきた実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0143】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0144】
1 検索システム
100 検索装置(決定装置)
121 学習情報記憶部
122 画像情報記憶部
123 一覧情報記憶部
124 占有率情報記憶部
130 制御部
131 取得部
132 学習部
133 推定部
134 抽出部
135 決定部
136 提供部
10 端末装置
N ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14