(57)【要約】【課題】画像に対象が含まれる態様を適切に推定すること。【解決手段】本願に係る検索装置は、取得部と、推定部とを有する。取得部は、画像を取得する。推定部は、入力画像に応じて当該入力画像中における所定の対象の占有率を出力する学習器と、取得部により取得された画像とに基づいて、取得部により取得された画像における所定の対象の占有率を推定する。例えば、推定部は、所定のデータにより学習されたニューラルネットワークである学習器に基づいて、取得部により取得された画像における所定の対象の占有率を推定する。【選択図】図３
2018018384.tif 000002
【特許請求の範囲】
【請求項１】
画像を取得する取得部と、
入力画像に応じて当該入力画像中における所定の対象の占有率を出力する学習器と、前記取得部により取得された画像とに基づいて、前記取得部により取得された画像における前記所定の対象の占有率を推定する推定部と、
を備えることを特徴とする推定装置。
【請求項２】
前記推定部は、
所定のデータにより学習されたニューラルネットワークである前記学習器に基づいて、前記取得部により取得された画像における前記所定の対象の占有率を推定する
ことを特徴とする請求項１に記載の推定装置。
【請求項３】
前記推定部は、
画像と当該画像中における所定の対象の占有率との組み合わせにより学習されたニューラルネットワークである前記学習器に基づいて、前記取得部により取得された画像における前記所定の対象の占有率を推定する
ことを特徴とする請求項２に記載の推定装置。
【請求項４】
前記推定部は、
畳み込み処理及びプーリング処理を行う前記ニューラルネットワークである前記学習器に基づいて、前記取得部により取得された画像における前記所定の対象の占有率を推定する
ことを特徴とする請求項３に記載の推定装置。
【請求項５】
前記学習器を学習する学習部、
をさらに備えることを特徴とする請求項１〜４のいずれか１項に記載の推定装置。
【請求項６】
前記学習部は、
画像と当該画像における所定の対象の占有率との組み合わせにより前記学習器を学習する
ことを特徴とする請求項５に記載の推定装置。
【請求項７】
前記学習部は、
所定の評価関数を最小化するように前記学習器を学習する
ことを特徴とする請求項５または請求項６に記載の推定装置。
【請求項８】
前記推定部により推定された複数の画像の各々における前記所定の対象の占有率に基づいて、前記複数の画像のランキングを決定する決定部、
をさらに備えることを特徴とする請求項１〜７のいずれか１項に記載の推定装置。
【請求項９】
前記決定部により決定された前記複数の画像のランキングに基づく情報を提供する提供部、
をさらに備えることを特徴とする請求項８に記載の推定装置。
【請求項１０】
コンピュータが実行する推定方法であって、
画像を取得する取得工程と、
入力画像に応じて当該入力画像中における所定の対象の占有率を出力する学習器と、前記取得工程により取得された画像とに基づいて、前記取得工程により取得された画像における前記所定の対象の占有率を推定する推定工程と、
を含むことを特徴とする推定方法。
【請求項１１】
画像を取得する取得手順と、
入力画像に応じて当該入力画像中における所定の対象の占有率を出力する学習器と、前記取得手順により取得された画像とに基づいて、前記取得手順により取得された画像における前記所定の対象の占有率を推定する推定手順と、
をコンピュータに実行させることを特徴とする推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定装置、推定方法、及び推定プログラムに関する。
【背景技術】
【０００２】
従来、ニューラルネットワークによる画像の特徴抽出に関する技術が提供されている。例えば、畳み込みニューラルネットワーク（Convolutional  Neural  Network）により、画像に含まれる対象を識別する技術が提供されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−３３８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では画像にどのような態様で対象が含まれるかを適切に推定することは難しい。例えば、画像にある対象が含まれると判別できるだけでは、その画像に対象が含まれる態様が適切に推定されるとは限らない。
【０００５】
本願は、上記に鑑みてなされたものであって、画像に対象が含まれる態様を適切に推定する推定装置、推定方法、及び推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る推定装置は、画像を取得する取得部と、入力画像に応じて当該入力画像中における所定の対象の占有率を出力する学習器と、前記取得部により取得された画像とに基づいて、前記取得部により取得された画像における前記所定の対象の占有率を推定する推定部と、を備えたことを特徴とする。
【発明の効果】
【０００７】
実施形態の一態様によれば、画像に対象が含まれる態様を適切に推定することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る検索処理の一例を示す図である。
【図２】図２は、実施形態に係る検索処理の一例を示す図である。
【図３】図３は、実施形態に係る検索装置の構成例を示す図である。
【図４】図４は、実施形態に係る学習情報記憶部の一例を示す図である。
【図５】図５は、実施形態に係る画像情報記憶部の一例を示す図である。
【図６】図６は、実施形態に係る一覧情報記憶部の一例を示す図である。
【図７】図７は、実施形態に係る画像における対象の占有率の推定の一例を示すフローチャートである。
【図８】図８は、実施形態に係るランキングの決定の一例を示すフローチャートである。
【図９】図９は、実施形態に係る学習処理の一例を示す図である。
【図１０】図１０は、実施形態に係る学習処理の一例を示す図である。
【図１１】図１１は、実施形態に係る学習処理の一例を示すフローチャートである。
【図１２】図１２は、検索装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る推定装置、推定方法、及び推定プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る推定装置、推定方法、及び推定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１０】
（実施形態）
〔１．検索処理〕
図１及び図２を用いて、実施形態に係る検索処理の一例について説明する。図１及び図２は、実施形態に係る検索処理の一例を示す図である。具体的には、図１は、後述する検索の対象となる画像群の各々における対象の占有率の推定の一例を示す図である。図１に示す検索装置１００は、画像における対象の占有率を出力（推定）する学習器（モデル）を用いて、検索の対象となる画像群の各々における対象の占有率を推定する。
【００１１】
また、具体的には、図２は、クエリ画像を取得した場合に、クエリ画像における対象の占有率に応じた検索結果の提供の一例を示す図である。図２に示す検索装置１００は、画像における対象の占有率を出力（推定）する学習器ＬＥを用いて、クエリ画像における対象の占有率を推定する。また、検索装置１００は、クエリ画像における対象の占有率に応じて、検索結果をユーザに提供する。なお、ここでいうクエリ画像とは、検索において指定する条件を示す画像を意味し、クエリ画像との間において所定の条件を満たす画像を取り出すため処理の要求（問い合わせ）を含んでもよい。また、画像における対象の占有率を出力（推定）する学習器ＬＥは、入力画像とその入力画像における対象等の占有率を示す正解情報とを用いることにより生成されるが、詳細は後述する。また、図１及び図２に示す例においては、占有率を推定する対象が猫である場合を示すが、対象は、猫に限らず、犬や人間等の他の生物や植物や車等の種々の物体等であってもよい。また、ここでいう対象は、識別可能であれば種々の対象が含まれてもよく、例えば火や海の波など種々の現象等が含まれてもよい。
【００１２】
ここで、検索装置１００が用いる学習器について簡単に説明する。検索装置１００が用いる学習器は、例えば、入力されたデータに対する演算結果を出力する複数のノードを多層に接続した学習器であって、教師あり学習により抽象化された画像の特徴を学習された学習器である。例えば、学習器は、複数のノードを有する層を多段に接続したニューラルネットワークであり、いわゆるディープラーニングの技術により実現されるＤＮＮ（Deep  Neural  Network）であってもよい。また、画像の特徴とは、画像に含まれる文字の有無、色、構成等、画像内に現れる具体的な特徴のみならず、撮像されている物体が何であるか、画像がどのような利用者に好かれるか、画像の雰囲気等、抽象化（メタ化）された画像の特徴をも含む概念である。
【００１３】
例えば、学習器は、ディープラーニングの技術により、以下のような学習手法により生成される。例えば、学習器は、各ノードの間の接続係数が初期化され、様々な特徴を有する画像が入力される。そして、学習器は、学習器における出力と、入力した画像との誤差が少なくなるようにパラメータ（接続係数）を補正するバックプロパゲーション（誤差逆伝播法）等の処理により生成される。例えば、学習器は、誤差関数等、所定の損失（ロス）関数を最小化するようにバックプロパゲーション等の処理を行うことにより生成される。上述のような処理を繰り返すことで、学習器は、入力された画像をより良く再現できる出力、すなわち入力された画像の特徴を出力することができる。
【００１４】
なお、学習器の学習手法については、上述した手法に限定されるものではなく、任意の公知技術が適用可能である。また、学習器の学習を行う際に用いられる情報は、画像及びその画像に含まれる対象を示す情報等の種々の画像のデータセットを利用してもよい。学習器の学習を行う際に用いられる情報は、対象が１つ含まれる画像及び対象が１つであることを示す情報のセットや、対象が複数（例えば２つ）含まれる画像及び対象が複数（例えば２つ）であることを示す情報のセットや、対象が含まれない画像及び対象が含まれない（０である）ことを示す情報のセット等を利用してもよい。また、学習器に対する画像の入力方法、学習器が出力するデータの形式、学習器に対して明示的に学習させる特徴の内容等は、任意の手法が適用できる。すなわち、検索装置１００は、画像から抽象化された特徴を示す特徴量を算出できるのであれば、任意の学習器を用いることができる。
【００１５】
図１では、検索装置１００は、入力画像の局所領域の畳み込みとプーリングとを繰り返す、いわゆる畳み込みニューラルネットワーク（ＣＮＮ：Convolutional  Neural  Network）による学習器ＬＥを用いるものとする。以下では、畳み込みニューラルネットワークをＣＮＮと記載する場合がある。例えば、ＣＮＮによる学習器ＬＥは、画像から特徴を抽出して出力する機能に加え、画像内に含まれる文字や撮像対象等の位置的変異に対し、出力の不変性を有する。このため、学習器ＬＥは、画像の抽象化された特徴を精度良く算出することができる。
【００１６】
例えば、図１では、検索装置１００は、画像における対象（猫）の占有率に関する情報を出力する識別器（モデル）である学習器ＬＥを用いる。すなわち、図１では、検索装置１００は、上述のような所定の学習処理により生成済みの学習器ＬＥを用いるものとする。なお、図１では、検索装置１００が画像に含まれる対象を識別する学習器ＬＥを用いる場合を示すが、検索装置１００は、所定の対象の占有率を推定可能であれば、どのような学習器を用いてもよい。また、学習器ＬＥを生成（学習）する際には、所定の損失関数や正解情報等を用いるが詳細は後述する。
【００１７】
図２に示すように、検索システム１には、端末装置１０と、検索装置１００とが含まれる。端末装置１０と、検索装置１００とは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。また、図２に示した検索システム１には、複数台の端末装置１０や、複数台の検索装置１００が含まれてもよい。
【００１８】
端末装置１０は、ユーザによって利用される情報処理装置である。端末装置１０は、例えば、スマートフォンや、タブレット型端末や、ノート型ＰＣ（Personal  Computer）や、デスクトップＰＣや、携帯電話機や、ＰＤＡ（Personal  Digital  Assistant）等により実現される。図２に示す例においては、端末装置１０がスマートフォンである場合を示す。なお、以下では、端末装置１０をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置１０と読み替えることもできる。
【００１９】
検索装置１００は、入力画像中における所定の対象の占有率を出力する学習器ＬＥを用いて、取得した画像における所定の対象の占有率を推定する推定装置である。また、検索装置１００は、端末装置１０からクエリ画像を取得し、取得したクエリ画像に基づいて、所定の画像群から検索対象の占有率に関する条件を満たす検索結果画像を抽出する推定装置である。
【００２０】
まず、図１を用いて、検索装置１００による検索対象となる各画像における対象（猫）の占有率の推定について説明する。例えば、図１に示す画像ＩＭ１１〜ＩＭ１５等は、画像情報記憶部１２２（図５）に記憶される。以下では、画像ＩＭ１１〜ＩＭ１５等を区別せずに説明する場合、「画像ＩＭ」と記載する場合がある。
【００２１】
例えば、検索装置１００は、画像ＩＭを学習器ＬＥに入力することにより、画像ＩＭにおける猫の占有率を推定する。具体的には、画像ＩＭが入力された学習器ＬＥは、入力された画像ＩＭにおける猫の占有率を示す情報を出力し、検索装置１００は、学習器ＬＥが出力した画像ＩＭにおける猫の占有率を示す情報に基づいて、画像ＩＭにおける猫の占有率を推定する。画像ＩＭが入力された学習器ＬＥは、猫のみではなく、入力された画像ＩＭにおける種々の対象の占有率を示す情報を出力する。図１及び図２では、説明を簡単にするために、猫と背景の２つのクラスの占有率のみを図示するが、学習器ＬＥは、他のクラスに関する占有率を示す情報を出力してもよい。なお、ここでいうクラスとは、機械学習におけるクラスであり、学習器により分類される種別等であってもよい。例えば、学習器ＬＥは、２０個のクラスに関する占有率を示す情報を出力してもよい。この場合、学習器ＬＥは、猫や背景に対応する２つのクラスに加えて、犬や飛行機や自転車等のクラスに関する占有率を示す情報を出力してもよい。なお、学習器ＬＥが、どの対象（クラス）の占有率を示す情報を出力するかは、学習によるが詳細は後述する。
【００２２】
また、検索装置１００は、検索対象となる全画像ＩＭを学習器ＬＥに入力することにより、画像ＩＭにおける猫の占有率を推定してもよいが、対象である猫が含まれると想定される画像ＩＭのみを学習器ＬＥに入力して、画像ＩＭにおける猫の占有率を示す情報を出力してもよい。例えば、検索装置１００は、画像情報記憶部１２２（図５）中の画像ＩＭのうち、タグ「猫」が対応付けられた画像ＩＭのみを学習器ＬＥに入力して、画像ＩＭにおける猫の占有率を示す情報を出力してもよい。例えば、図１に示す画像ＩＭ１１〜ＩＭ１５等にタグ「猫」が対応付けられている場合、検索装置１００は、画像ＩＭ１１〜ＩＭ１５等を学習器ＬＥに入力して、画像ＩＭにおける猫の占有率を示す情報を出力してもよい。
【００２３】
図１の例では、検索装置１００は、画像ＩＭ１１を学習器ＬＥに入力する（ステップＳ１１−１）。例えば、検索装置１００は、画像情報記憶部１２２（図５）から画像ＩＭ１１を取得し、画像ＩＭ１１を学習器ＬＥに入力する。その後、検索装置１００は、学習器ＬＥの出力に基づいて、画像ＩＭ１１における猫の占有率を推定する（ステップＳ１２−１）。例えば、検索装置１００は、推定情報ＯＣ１１に示すように、学習器ＬＥの出力に基づいて、画像ＩＭ１１における猫の占有率を８０％（０．８）と推定し、画像ＩＭ１１における背景の占有率を１８％（０．１８）と推定する。例えば、検索装置１００は、各対象（クラス）の占有率の合計が１００％になるように各対象の占有率を推定する。例えば、検索装置１００は、猫や背景以外の対象（クラス）の各々の占有率の合計が２％となるように推定する。なお、本実施形態においては、占有率を百分率「％」（例えば、８０％等）で表記するが、小数点（例えば、０．８等）であってもよい。例えば、学習器ＬＥは、各対象（クラス）の占有率を示す０〜１の範囲内の数値を出力してもよい。
【００２４】
また、図１の例では、検索装置１００は、画像ＩＭ１２を学習器ＬＥに入力する（ステップＳ１１−２）。例えば、検索装置１００は、画像情報記憶部１２２（図５）から画像ＩＭ１２を取得し、画像ＩＭ１２を学習器ＬＥに入力する。その後、検索装置１００は、学習器ＬＥの出力に基づいて、画像ＩＭ１２における猫の占有率を推定する（ステップＳ１２−２）。例えば、検索装置１００は、推定情報ＯＣ１２に示すように、学習器ＬＥの出力に基づいて、画像ＩＭ１２における猫の占有率を６０％と推定し、画像ＩＭ１２における背景の占有率を３６％と推定する。
【００２５】
また、図１の例では、検索装置１００は、画像ＩＭ１３を学習器ＬＥに入力する（ステップＳ１１−３）。例えば、検索装置１００は、画像情報記憶部１２２（図５）から画像ＩＭ１３を取得し、画像ＩＭ１３を学習器ＬＥに入力する。その後、検索装置１００は、学習器ＬＥの出力に基づいて、画像ＩＭ１３における猫の占有率を推定する（ステップＳ１２−３）。例えば、検索装置１００は、推定情報ＯＣ１３に示すように、学習器ＬＥの出力に基づいて、画像ＩＭ１３における猫の占有率を２０％と推定し、画像ＩＭ１３における背景の占有率を７５％と推定する。
【００２６】
また、図１の例では、検索装置１００は、画像ＩＭ１４を学習器ＬＥに入力する（ステップＳ１１−４）。例えば、検索装置１００は、画像情報記憶部１２２（図５）から画像ＩＭ１４を取得し、画像ＩＭ１４を学習器ＬＥに入力する。その後、検索装置１００は、学習器ＬＥの出力に基づいて、画像ＩＭ１４における猫の占有率を推定する（ステップＳ１２−４）。例えば、検索装置１００は、推定情報ＯＣ１４に示すように、学習器ＬＥの出力に基づいて、画像ＩＭ１４における猫の占有率を９０％と推定し、画像ＩＭ１４における背景の占有率を９％と推定する。
【００２７】
また、図１の例では、検索装置１００は、画像ＩＭ１５を学習器ＬＥに入力する（ステップＳ１１−５）。例えば、検索装置１００は、画像情報記憶部１２２（図５）から画像ＩＭ１５を取得し、画像ＩＭ１５を学習器ＬＥに入力する。その後、検索装置１００は、学習器ＬＥの出力に基づいて、画像ＩＭ１５における猫の占有率を推定する（ステップＳ１２−５）。例えば、検索装置１００は、推定情報ＯＣ１５に示すように、学習器ＬＥの出力に基づいて、画像ＩＭ１５における猫の占有率を７０％と推定し、画像ＩＭ１５における背景の占有率を２７％と推定する。
【００２８】
また、検索装置１００は、タグ「猫」が対応付けられた他の画像ＩＭについても学習器ＬＥに入力し、各画像ＩＭにおける猫の占有率を推定する。その後、検索装置１００は、推定した各画像ＩＭにおける猫の占有率を示す一覧情報を生成する（ステップＳ１３）。図１の例では、検索装置１００は、画像ＩＭ１１〜ＩＭ１５等における猫の占有率を示す一覧情報ＬＴ１１を生成する。なお、図１の例では、検索装置１００が説明のために、一覧情報ＬＴ１１を生成する場合を一例とするが、ステップＳ１２−１〜Ｓ１２−５等において推定した各画像ＩＭにおける猫の占有率を示す情報を、各画像に対応付けて画像情報記憶部１２２（図５）に記憶してもよい。
【００２９】
次に、図２を用いて、クエリ画像を取得した場合における、検索装置１００による検索結果の提供について説明する。まず、検索装置１００は、ユーザＵ１が利用する端末装置１０からクエリ画像ＩＭ１０を取得する（ステップＳ１４）。図２の例では、検索装置１００は、端末装置１０から猫が含まれるクエリ画像ＩＭ１０を取得する。
【００３０】
その後、検索装置１００は、取得した画像ＩＭ１０を学習器ＬＥに入力する（ステップＳ１５）。そして、検索装置１００は、学習器ＬＥの出力に基づいて、画像ＩＭ１０における猫の占有率を推定する（ステップＳ１６）。例えば、検索装置１００は、推定情報ＯＣ１０に示すように、学習器ＬＥの出力に基づいて、画像ＩＭ１０における猫の占有率を６８％と推定し、画像ＩＭ１０における背景の占有率を３０％と推定する。このように、図２の例では、検索装置１００は、検索対象が「猫」であり、その検索対象に関する条件が占有率「６８％」であることを示す画像ＩＭ１０を、端末装置１０から取得する。すなわち、検索装置１００は、クエリ画像（画像ＩＭ１０）を取得することにより、検索対象が「猫」であり、その検索対象に関する条件が占有率「６８％」であることを示す指定情報を取得する。
【００３１】
なお、図２の例では、検索装置１００がクエリ画像（画像ＩＭ１０）を取得することにより、指定情報を取得する場合を示すが、検索装置１００は、指定情報を文字情報として取得してもよい。例えば、検索装置１００は、ユーザＵ１が端末装置１０に、検索対象が「猫」、占有率「６８％」と入力した場合、その入力された情報を指定情報として取得してもよい。この場合、検索装置１００は、ユーザＵ１が端末装置１０に、指定情報を文字情報として入力する画面等の入力インターフェイスを提供してもよい。
【００３２】
そして、検索装置１００は、検索対象が「猫」であり、その検索対象に関する条件が占有率「６８％」を満たす検索結果画像を抽出する（ステップＳ１７）。例えば、検索装置１００は、猫の占有率を示す一覧情報ＬＴ１１に含まれる画像群から、猫の占有率が条件である「６８％」から所定の範囲内の画像ＩＭを抽出する。図２の例では、検索装置１００は、猫の占有率が条件である「６８％」から±２５％以内である画像ＩＭを抽出する。例えば、検索装置１００は、猫の占有率が４３％から９３％の範囲内である画像ＩＭを抽出する。具体的には、検索装置１００は、抽出情報ＬＴ１２に示すように、画像ＩＭ１１、画像ＩＭ１２、画像ＩＭ１４、画像ＩＭ１５等を抽出する。このように、図２の例では、検索装置１００は、猫の占有率が２０％であり範囲外である画像ＩＭ１３等の条件を満たさない画像ＩＭ以外の画像ＩＭを抽出する。
【００３３】
その後、検索装置１００は、抽出した画像ＩＭのランキングを決定する（ステップＳ１８）。例えば、検索装置１００は、ランキング情報ＬＴ１３に示すように、猫の占有率が条件である「６８％」からの誤差が小さい画像ＩＭのランキングが高くなるようにランキングを決定する。具体的には、検索装置１００は、誤差が「２（＝７０−６８）」であり最小の画像ＩＭ１５を１位とし、画像ＩＭ１５の次に誤差が小さい画像ＩＭ１９を２位とし、画像ＩＭ１９の次に誤差が小さい画像ＩＭ１２を３位とし、画像ＩＭ１２の次に誤差が小さい画像ＩＭ１７を４位とする。
【００３４】
その後、検索装置１００は、決定したランキングに基づいた検索結果をユーザＵ１に提供する（ステップＳ１９）。図２の例では、検索装置１００は、画像ＩＭ１５を１位とし、画像ＩＭ１９を２位とし、画像ＩＭ１２を３位とし、画像ＩＭ１７を４位とするランキングに基づいた表示順の検索結果をユーザＵ１に提供する。例えば、検索装置１００は、決定したランキングに基づいた検索結果をユーザＵ１が利用する端末装置１０に送信する。
【００３５】
上述したように、検索装置１００は、画像における対象の占有率を出力する学習器を用いることにより、画像に対象が含まれる態様、すなわち画像において対象がどれくらいの割合を占めるかを適切に推定することができる。また、検索装置１００は、クエリ画像を取得した場合に、クエリ画像における対象の占有率に応じて画像を抽出することにより、クエリ画像に対応する画像を適切に抽出することができる。図２に示すように、検索装置１００は、クエリ画像における対象の占有率を条件として、対象を含む画像を抽出することにより、ユーザの意図をより適切に反映した検索結果をユーザに提供することができる。
【００３６】
なお、上記例では、検索装置１００が猫の占有率の差に応じて画像を抽出する例を示したが、類似度に基づいて、画像を抽出してもよい。例えば、検索装置１００は、各画像に含まれる複数の対象の占有率の分布に基づいて、画像を抽出してもよい。例えば、検索装置１００は、ＫＬダイバージェンス等の指標値に基づいて、画像を抽出してもよい。例えば、検索装置１００は、所定の画像群の画像うち、その画像に含まれる複数の対象の占有率の分布とクエリ画像に含まれる複数の対象の占有率の分布とのＫＬダイバージェンスの値が所定の閾値内の画像を検索結果画像として抽出してもよい。なお、検索装置１００は、ＫＬダイバージェンスに限らず、各画像における分布の類似度に基づく指標値であれば、種々の指標値を適宜用いて、画像を抽出してもよい。
【００３７】
また、上述した例では、検索装置１００が１つの学習器ＬＥを用いる場合を示したが、検索装置１００は、対象ごとに学習器を使い分けてもよい。例えば、検索装置１００は、犬を対象とする学習器を、猫を対象とする学習器と別に用いてもよい。
【００３８】
〔２．検索装置の構成〕
次に、図３を用いて、実施形態に係る検索装置１００の構成について説明する。図３は、実施形態に係る検索装置１００の構成例を示す図である。図３に示すように、検索装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、検索装置１００は、検索装置１００の管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【００３９】
（通信部１１０）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部１１０は、ネットワークと有線または無線で接続され、例えば検索システム１に含まれる端末装置１０との間で情報の送受信を行う。
【００４０】
（記憶部１２０）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部１２０は、図３に示すように、学習情報記憶部１２１と、画像情報記憶部１２２と、一覧情報記憶部１２３とを有する。
【００４１】
（学習情報記憶部１２１）
実施形態に係る学習情報記憶部１２１は、学習に関する各種情報を記憶する。例えば、図４では、学習情報記憶部１２１は、所定の学習処理により生成された学習器ＬＥに関する学習情報（モデル）を記憶する。図４に、実施形態に係る学習情報記憶部１２１の一例を示す。図４に示す学習情報記憶部１２１は、「重み（ｗｉｊ）」を記憶する。
【００４２】
例えば、図４に示す例において、「重み（ｗ１１）」は「０．２」であり、「重み（ｗ１２）」は「−０．３」であることを示す。また、図４に示す例において、「重み（ｗ２１）」は「０．５」であり、「重み（ｗ２２）」は「１．３」であることを示す。
【００４３】
なお、「重み（ｗｉｊ）」は、例えば、学習器ＬＥにおけるニューロンｙｉからニューロンｘｊへのシナプス結合係数であってもよい。また、学習情報記憶部１２１は、上記に限らず、目的に応じて種々の情報を記憶してもよい。また、検索装置１００は、対象ごとに学習器を使い分ける場合、複数の学習器に関する情報を記憶してもよい。例えば、検索装置１００は、犬を対象とする学習器を、猫を対象とする学習器と別に用いる場合、犬を対象とする学習器に関する情報も記憶してもよい。
【００４４】
（画像情報記憶部１２２）
実施形態に係る画像情報記憶部１２２は、画像に関する各種情報を記憶する。図５に、実施形態に係る画像情報記憶部１２２の一例を示す。例えば、画像情報記憶部１２２には、検索対象となる画像が記憶される。図５に示す画像情報記憶部１２２は、「画像ＩＤ」、「画像」、「タグ」といった項目を有する。
【００４５】
「画像ＩＤ」は、画像を識別するための識別情報を示す。「画像」は、画像情報を示す。具体的には、「画像」は、検索対象となる画像を示す。図５では、説明のため画像ＩＤにより識別される画像を図示するが、「画像」としては、画像の格納場所を示すファイルパス名などが格納されてもよい。「タグ」は、画像に対応付けて付される情報であり、画像に含まれる対象を示す。
【００４６】
例えば、図５に示す例において、画像ＩＤ「ＩＭ１１」により識別される画像は、猫を含む画像ＩＭ１１であり、タグ「猫」が対応付けて記憶されることを示す。なお、各画像に付されるタグは、画像を登録する管理者等が付してもよいし、画像認識の種々の技術を適宜用いて対象を識別することにより、自動で付されてもよい。
【００４７】
なお、画像情報記憶部１２２は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、画像情報記憶部１２２は、画像を生成した日時に関する情報を記憶してもよい。また、例えば、画像情報記憶部１２２は、画像に含まれる対象に関する情報を記憶してもよい。また、例えば、画像情報記憶部１２２は、取得した元となる画像を記憶してもよい。
【００４８】
（一覧情報記憶部１２３）
実施形態に係る一覧情報記憶部１２３は、画像における対象の占有率等に関する各種情報を記憶する。例えば、一覧情報記憶部１２３は、対象ごとに画像における対象の占有率等に関する各種情報を記憶する。図６は、実施形態に係る一覧情報記憶部の一例を示す図である。図６に示す例においては、一覧情報記憶部１２３は、一覧情報ＬＴ１１や一覧情報ＬＴ２１といった含まれる対象ごとに情報（テーブル）を記憶する。例えば、一覧情報ＬＴ１１や一覧情報ＬＴ２１は、「画像ＩＤ」や「占有率（％）」といった項目を有する。
【００４９】
「画像ＩＤ」は、画像を識別するための識別情報を示す。「画像」は、画像情報を示す。一覧情報ＬＴ１１の「占有率（％）」には、「猫」や「背景」といった項目が含まれる。また、一覧情報ＬＴ２１の「占有率（％）」には、「犬」や「背景」といった項目が含まれる。
【００５０】
例えば、図６中の一覧情報ＬＴ１１に示すように、画像ＩＤ「ＩＭ１１」により識別される画像（ＩＭ１１）は、対象「猫」の占有率が「８０」％であり、対象「背景」の占有率が「１８」％であることを示す。また、例えば、図６中の一覧情報ＬＴ１１に示すように、画像ＩＤ「ＩＭ１２」により識別される画像（ＩＭ１２）は、対象「猫」の占有率が「６０」％であり、対象「背景」の占有率が「３６」％であることを示す。
【００５１】
なお、一覧情報記憶部１２３は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、一覧情報記憶部１２３は、対象の画像における位置に関する情報を記憶してもよい。例えば、一覧情報記憶部１２３は、対象が画像の中央、上、下、右、左、全体等のどの部分に位置するかに関する種々の情報を記憶してもよい。例えば、一覧情報記憶部１２３は、各画像ＩＤに対応する画像や画像の格納場所を示すファイルパス名などを記憶してもよい。また、図６の例では、一覧情報記憶部１２３は、一覧情報ＬＴ１１や一覧情報ＬＴ２１といったように、対象ごとにテーブルを分けて記憶する場合を示したが、対象の占有率等に関する各種情報を１つのテーブルに記憶してもよい。例えば、一覧情報記憶部１２３は、「占有率（％）」に全対象の項目を含ませることにより、１つのテーブルに記憶してもよい。
【００５２】
（制御部１３０）
図３の説明に戻って、制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、検索装置１００内部の記憶装置に記憶されている各種プログラム（推定プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００５３】
図３に示すように、制御部１３０は、取得部１３１と、学習部１３２と、推定部１３３と、抽出部１３４と、決定部１３５と、提供部１３６とを有し、以下に説明する情報処理の機能や作用を実現または実行する。
【００５４】
（取得部１３１）
例えば、取得部１３１は、各種情報を取得する。例えば、取得部１３１は、画像を取得する。例えば、取得部１３１は、画像情報記憶部１２２から画像を取得する。図１では、取得部１３１は、画像情報記憶部１２２から画像ＩＭ１１〜ＩＭ１５等を取得する。なお、取得部１３１は、外部の情報処理装置から画像ＩＭ１１〜ＩＭ１５等を取得してもよい。
【００５５】
また、取得部１３１は、画像検索における指定情報に基づいて、検索対象の占有率に関する情報を取得する。例えば、取得部１３１は、指定情報としてクエリ画像から推定される検索対象の占有率に関する情報を取得する。図２では、取得部１３１は、ユーザＵ１が利用する端末装置１０からクエリ画像ＩＭ１０を取得する。図２では、取得部１３１は、検索対象が「猫」であり、その検索対象に関する条件が占有率「６８％」であることを示す画像ＩＭ１０を、端末装置１０から取得する。例えば、取得部１３１は、クエリ画像（画像ＩＭ１０）を取得し、後述する推定部１３３による占有率の推定により、検索対象が「猫」であり、その検索対象に関する条件が占有率「６８％」であることを示す指定情報を取得する。また、例えば、取得部１３１は、ユーザＵ１が端末装置１０に、検索対象が「猫」、占有率「６８％」と入力した場合、その入力された情報を指定情報として取得してもよい。
【００５６】
（学習部１３２）
学習部１３２は、種々の情報を学習する。また、学習部１３２は、学習により種々の情報を生成する。例えば、学習部１３２は、学習器（モデル）を学習する。言い換えると、学習部１３２は、学習を行うことにより学習器（モデル）を生成する。例えば、学習部１３２は、学習器ＬＥを学習する。例えば、学習部１３２は、画像と当該画像における所定の対象の占有率との組み合わせにより学習器を学習する。また、学習部１３２は、所定の評価関数を最小化するように学習器を学習する。なお、学習部１３２が行う学習処理の詳細は後述する。
【００５７】
（推定部１３３）
推定部１３３は、各種情報を推定する。例えば、推定部１３３は、入力画像に応じて当該入力画像中における所定の対象の占有率を出力する学習器と、取得部１３１により取得された画像とに基づいて、取得部１３１により取得された画像における所定の対象の占有率を推定する。例えば、推定部１３３は、所定のデータ（教師データ）により学習されたニューラルネットワークである学習器に基づいて、取得部１３１により取得された画像における所定の対象の占有率を推定する。例えば、推定部１３３は、画像と当該画像中における所定の対象の占有率との組み合わせにより学習されたニューラルネットワークである学習器に基づいて、取得部１３１により取得された画像における所定の対象の占有率を推定する。例えば、推定部１３３は、畳み込み処理及びプーリング処理を行うニューラルネットワークである学習器に基づいて、取得部１３１により取得された画像における所定の対象の占有率を推定する。
【００５８】
図１では、推定部１３３は、画像ＩＭを学習器ＬＥに入力することにより、画像ＩＭにおける猫の占有率を推定する。具体的には、画像ＩＭが入力された学習器ＬＥは、入力された画像ＩＭにおける猫の占有率を示す情報を出力し、推定部１３３は、学習器ＬＥが出力した画像ＩＭにおける猫の占有率を示す情報に基づいて、画像ＩＭにおける猫の占有率を推定する。例えば、推定部１３３は、学習器ＬＥの出力に基づいて、画像ＩＭ１１における猫の占有率を推定する。図１では、推定部１３３は、推定情報ＯＣ１１に示すように、学習器ＬＥの出力に基づいて、画像ＩＭ１１における猫の占有率を８０％と推定し、画像ＩＭ１１における背景の占有率を１８％と推定する。また、図１では、推定部１３３は、学習器ＬＥの出力に基づいて、画像ＩＭ１２〜ＩＭ１５等における猫の占有率を推定する。例えば、推定部１３３は、タグ「猫」が対応付けられた画像ＩＭを学習器ＬＥに入力することにより、各画像ＩＭにおける猫の占有率を推定する。
【００５９】
また、図２では、推定部１３３は、画像ＩＭ１０が入力された学習器ＬＥの出力に基づいて、画像ＩＭ１０における猫の占有率を推定する。例えば、推定部１３３は、推定情報ＯＣ１０に示すように、学習器ＬＥの出力に基づいて、画像ＩＭ１０における猫の占有率を６８％と推定し、画像ＩＭ１０における背景の占有率を３０％と推定する。
【００６０】
（抽出部１３４）
抽出部１３４は、種々の情報を抽出する。例えば、抽出部１３４は、画像情報記憶部１２２や一覧情報記憶部１２３から画像に関する情報を抽出する。例えば、抽出部１３４は、画像情報記憶部１２２や一覧情報記憶部１２３に記憶された所定の画像群から条件を満たす画像を抽出する。例えば、抽出部１３４は、所定の画像群から検索対象の占有率に関する条件を満たす検索結果画像を抽出する。例えば、抽出部１３４は、クエリ画像中における検索対象を含む対象の占有率に関する情報と、所定の画像群の各画像中における検索対象を含む対象の占有率に関する情報との類似度に基づいて、検索結果画像を抽出する。
【００６１】
図２では、抽出部１３４は、検索対象が「猫」であり、その検索対象に関する条件が占有率「６８％」を満たす検索結果画像を抽出する。例えば、抽出部１３４は、猫の占有率を示す一覧情報ＬＴ１１に含まれる画像群から、猫の占有率が条件である「６８％」から所定の範囲内の画像ＩＭを抽出する。抽出部１３４は、猫の占有率が条件である「６８％」から±２５％以内である画像ＩＭを抽出する。例えば、抽出部１３４は、猫の占有率が４３％から９３％の範囲内である画像ＩＭを抽出する。具体的には、抽出部１３４は、抽出情報ＬＴ１２に示すように、画像ＩＭ１１、画像ＩＭ１２、画像ＩＭ１４、画像ＩＭ１５等を抽出する。このように、図２の例では、抽出部１３４は、猫の占有率が２０％であり範囲外である画像ＩＭ１３等の条件を満たさない画像ＩＭ以外の画像ＩＭを抽出する。
【００６２】
（決定部１３５）
決定部１３５は、種々の情報を決定する。例えば、決定部１３５は、推定部１３３により推定された複数の画像の各々における所定の対象の占有率に基づいて、複数の画像のランキングを決定する。例えば、決定部１３５は、抽出部１３４により抽出された検索結果画像の各々における検索対象の占有率に関する情報に応じて、検索結果画像のランキングを決定する。
【００６３】
図２では、決定部１３５は、抽出した画像ＩＭのランキングを決定する。例えば、決定部１３５は、図２中のランキング情報ＬＴ１３に示すように、猫の占有率が条件である「６８％」からの誤差が小さい画像ＩＭのランキングが高くなるようにランキングを決定する。具体的には、決定部１３５は、誤差が「２（＝７０−６８）」であり最小の画像ＩＭ１５を１位とし、画像ＩＭ１５の次に誤差が小さい画像ＩＭ１９を２位とし、画像ＩＭ１９の次に誤差が小さい画像ＩＭ１２を３位とし、画像ＩＭ１２の次に誤差が小さい画像ＩＭ１７を４位とする。また、決定部１３５は、抽出した各画像ＩＭに含まれる複数の対象の占有率の分布とクエリ画像に含まれる複数の対象の占有率の分布との類似度に基づいて、ランキングを決定してもよい。例えば、決定部１３５は、抽出した各画像ＩＭに含まれる複数の対象の占有率の分布とクエリ画像に含まれる複数の対象の占有率の分布とのＫＬダイバージェンスの値が小さい程ランキングを高く決定してもよい。
【００６４】
例えば、決定部１３５は、検索結果画像の各々のランキングにおける検索結果画像の各々の占有率の差に応じて、検索結果画像の各々のランキングを決定してもよい。例えば、決定部１３５は、検索結果画像の各々のランキングにおいて連続する検索結果画像の各々の占有率の差が所定の条件を満たすように、検索結果画像の各々のランキングを決定してもよい。例えば、決定部１３５は、連続するランキング間の画像ＩＭにおける対象の占有率の差が５％以上になるように、検索結果画像のランキングを決定してもよい。例えば、決定部１３５は、ランキングが１位の画像ＩＭにおける猫の占有率が「７０」％である場合、ランキングが２位の画像ＩＭにおける猫の占有率が「７５」％より大きいか、または「６５」％未満となるようにランキングが２位の画像ＩＭを決定してもよい。
【００６５】
例えば、決定部１３５は、検索結果画像の各々に検索対象以外の対象が含まれるか否かに応じて、検索結果画像の各々のランキングを決定してもよい。例えば、決定部１３５は、検索対象が「猫」である場合、画像に猫以外の対象（例えば、「犬」等）が含まれる場合、その画像のランキングが低くなるように、検索結果画像の各々のランキングを決定してもよい。
【００６６】
例えば、決定部１３５は、検索結果画像の各々に文字情報が含まれるか否かに応じて、検索結果画像の各々のランキングを決定してもよい。例えば、決定部１３５は、検索結果画像の各々に文字情報が含まれる画像のランキングが低くなるように、検索結果画像の各々のランキングを決定してもよい。この場合、例えば、決定部１３５は、文字を認識する種々の従来技術を適宜用いて、検索結果画像の各々に文字情報が含まれるかを判別してもよい。
【００６７】
例えば、決定部１３５は、検索結果画像の各々における検索対象の位置に応じて、検索結果画像の各々のランキングを決定してもよい。例えば、決定部１３５は、クエリ画像における対象の位置が右である場合、検索結果画像のうち、対象が右に位置する画像の順位が高くなるように、検索結果画像の各々のランキングを決定してもよい。この場合、例えば、決定部１３５は、取得部１３１により取得された検索結果画像の各々における対象の位置を示す情報に基づいて、検索結果画像の各々における検索対象の位置を判別してもよい。また、例えば、決定部１３５は、位置情報を保持する学習器から出力される検索結果画像の各々における対象の位置を示す情報に基づいて、検索結果画像の各々における検索対象の位置を判別してもよい。なお、上記は一例であり、決定部１３５は、検索結果画像の各々における検索対象の位置を判別可能であれば、どのような情報を用いてもよい。
【００６８】
（提供部１３６）
提供部１３６は、外部の情報処理装置へ各種情報を提供する。例えば、提供部１３６は、決定部１３５により決定された複数の画像（検索結果画像）のランキングに基づく情報を提供する。図２では、提供部１３６は、決定したランキングに基づいた検索結果をユーザＵ１に提供する。例えば、提供部１３６は、画像ＩＭ１５を１位とし、画像ＩＭ１９を２位とし、画像ＩＭ１２を３位とし、画像ＩＭ１７を４位とするランキングに基づいた表示順の検索結果をユーザＵ１が利用する端末装置１０に提供する。例えば、提供部１３６は、決定したランキングに基づいた検索結果を端末装置１０に送信する。
【００６９】
〔３．占有率の推定処理のフロー〕
ここで、図７を用いて、実施形態に係る検索装置１００による占有率の推定処理の手順について説明する。図７は、実施形態に係る画像における対象の占有率の推定の一例を示すフローチャートである。
【００７０】
図７に示すように、検索装置１００は、画像を取得する（ステップＳ１０１）。図１では、検索装置１００は、画像ＩＭ１１〜ＩＭ１５等を取得する。その後、検索装置１００は、ステップＳ１０１で取得した画像を学習器に入力する（ステップＳ１０２）。図１では、検索装置１００は、取得した画像ＩＭ１１〜ＩＭ１５等を学習器ＬＥに入力する。
【００７１】
その後、検索装置１００は、学習器の出力に基づいて入力画像における対象の占有率を推定する（ステップＳ１０３）。図１では、検索装置１００は、学習器ＬＥの出力に基づいて、入力した画像ＩＭ１１〜ＩＭ１５等における猫の占有率を推定する。
【００７２】
その後、検索装置１００は、占有率を含む画像の一覧情報を生成する（ステップＳ１０４）。図１では、検索装置１００は、画像ＩＭ１１〜ＩＭ１５等における猫の占有率を示す一覧情報ＬＴ１１を生成する。
【００７３】
〔４．ランキングの決定処理のフロー〕
次に、図８を用いて、実施形態に係る検索装置１００によるランキングの決定処理の手順について説明する。図８は、実施形態に係るランキングの決定の一例を示すフローチャートである。
【００７４】
図８に示すように、検索装置１００は、クエリ画像を取得する（ステップＳ２０１）。図２では、検索装置１００は、クエリ画像として画像ＩＭ１０を取得する。なお、検索装置１００は、ステップＳ２０１では、クエリ画像に変えて文字情報を取得してもよい。この場合、検索装置１００は、ステップＳ２０２の処理を行わなくてもよい。
【００７５】
その後、検索装置１００は、クエリ画像を学習器に入力する（ステップＳ２０２）。図２では、検索装置１００は、画像ＩＭ１０を学習器ＬＥに入力する。
【００７６】
その後、検索装置１００は、学習器の出力に基づいてクエリ画像における対象の占有率を推定する（ステップＳ２０３）。図２では、検索装置１００は、学習器ＬＥの出力に基づいて、入力した画像ＩＭ１０における猫の占有率を推定する。
【００７７】
その後、検索装置１００は、一覧情報中の各画像における検索対象の占有率と、クエリ画像における検索対象の占有率とに基づいて一覧情報から画像を抽出する（ステップＳ２０４）。図２の例では、検索装置１００は、猫の占有率が条件である「６８％」から±２５％以内である画像ＩＭを抽出する。例えば、検索装置１００は、抽出情報ＬＴ１２に示すように、画像ＩＭ１１、画像ＩＭ１２、画像ＩＭ１４、画像ＩＭ１５等を抽出する。
【００７８】
その後、検索装置１００は、抽出した画像のランキングを決定する（ステップＳ２０５）。例えば、検索装置１００は、ランキング情報ＬＴ１３に示すように、猫の占有率が条件である「６８％」からの誤差が小さい画像ＩＭのランキングが高くなるようにランキングを決定する。
【００７９】
その後、検索装置１００は、決定したランキングに基づく、検索結果を提供する（ステップＳ２０６）。図２の例では、検索装置１００は、画像ＩＭ１５を１位とし、画像ＩＭ１９を２位とし、画像ＩＭ１２を３位とし、画像ＩＭ１７を４位とするランキングに基づいた表示順の検索結果をユーザＵ１が利用する端末装置１０に提供する。
【００８０】
〔５．学習処理〕
ここで、検索装置１００の学習部１３２における学習処理について、図９及び図１０を用いて説明する。図９及び図１０は、実施形態に係る学習処理の一例を示す図である。
【００８１】
まず、図９を用いて説明する。図９に示す例は、検索装置１００は、猫を含む画像ＩＭ２１と画像中における猫等の占有率を示す情報ＲＯ２１（以下、「正解情報ＲＯ２１」と記載する場合がある）との組み合わせを教師データとして取得する（ステップＳ２１）。図９では、説明を簡単にするために、正解情報ＲＯ２１中には猫と背景の２つのクラスの占有率のみを図示するが、正解情報ＲＯ２１中には学習器ＬＥが出力するクラスに対応する占有率を含んでもよい。例えば、学習器ＬＥが２０個のクラスに関する占有率を示す情報を出力する場合、正解情報ＲＯ２１は、猫と背景の２つのクラスの占有率に加えて他のクラスの占有率を示す情報を含んでもよい。学習器ＬＥが猫や背景に対応する２つのクラスに加えて、犬や飛行機や自転車等のクラスに関する占有率を示す情報を出力する場合、正解情報ＲＯ２１には、犬の占有率「０」や飛行機の占有率「０」や自転車の占有率「０」を示す情報を含んでもよい。
【００８２】
そして、学習器ＬＥには、猫を含む画像ＩＭ２１が入力される（ステップＳ２２）。その後、出力情報ＯＣ２１−１に示すような対象の占有率を示す情報が学習器ＬＥから出力される（ステップＳ２３）。図９では、説明を簡単にするために、猫と背景の２つのクラスの占有率のみを図示するが、学習器ＬＥは、他のクラスに関する占有率を示す情報を出力してもよい。例えば、学習器ＬＥが２０個のクラスに関する占有率を示す情報を出力する場合、学習器ＬＥは、猫や背景に対応する２つのクラスに加えて、犬や飛行機や自転車等のクラスに関する占有率を示す情報を出力してもよい。
【００８３】
上述したように、例えば、学習部１３２は、ディープラーニングの技術により、学習器ＬＥを学習し、生成する。例えば、学習部１３２は、画像と当該画像中における所定の対象の占有率との組み合わせを教師データとして用いる。例えば、学習部１３２は、学習器ＬＥにおける出力と、教師データに含まれる所定の対象の占有率との誤差が少なくなるようにパラメータ（接続係数）を補正するバックプロパゲーション（誤差逆伝播法）等の処理を行うことにより、学習器ＬＥを学習する。例えば、学習部１３２は、所定の誤差（ロス）関数を最小化するようにバックプロパゲーション等の処理を行うことにより学習器ＬＥを生成する。
【００８４】
例えば、学習部１３２は、下記の式（１）に示すような、誤差関数Ｌを用いる。下記の式（１）に示すように、学習部１３２は、例えば、Ｎ−クラス分類問題の場合、交差エントロピーを誤差関数として用いる。なお、誤差関数Ｌは、識別結果の確信度を表すものであれば、どのような関数であっても良い。例えば、誤差関数Ｌは、識別確率から求められるエントロピーであってもよい。また、例えば、誤差関数Ｌは、学習器ＬＥの認識の精度を示すものであれば、どのような関数であってもよい。
【００８５】
【数１】
2018018384.tif 000003
【００８６】
ここで、上記式（１）や下記の式（２）〜（４）中の「ｘ」は画像を示す。例えば、図９に示す例において、上記式（１）や下記の式（２）〜（４）中の「ｘ」は、画像ＩＭに対応する。また、変数「ｎ」に代入される１〜Ｎは、学習器ＬＥが識別（分類）する各クラスに対応する。例えば、上記式（１）に対応する学習器ＬＥは、Ｎ個のクラスを識別することを示す。例えば、各クラスには、「猫」や「背景」等が各々対応する。
【００８７】
また、上記式（１）や下記の式（３）、（４）中の「ｔｎ（ｘ）」は、画像ＩＭ２１におけるクラスｎ（１〜Ｎのいずれか）に対応する対象の占有率を示す。例えば、上記式（１）中の「ｔｎ（ｘ）」は、正解情報ＲＯ２１に示すような、クラスｎに対応する対象の占有率を示す。この場合、例えば、クラス１に対応する対象を「猫」とした場合、「ｔ１（ｘ）」は、「０．５３（５３％）」となる。また、例えば、上記式（１）中の「ｔｎ（ｘ）」は、正解クラスの時のみ１を取り、それ以外では０を取るように定義してもよい。
【００８８】
また、上記式（１）や下記の式（２）、（３）中の「ｐｎ（ｘ）」は、画像ＩＭ２１におけるクラスｎ（１〜Ｎのいずれか）に対応する対象について、学習器ＬＥの出力に基づく占有率を示す。例えば、上記式（１）中の「ｐｎ（ｘ）」は、出力情報ＯＣ２１−１に示すような、学習器ＬＥが出力するクラスｎに対応する対象の占有率を示す。この場合、例えば、クラス１に対応する対象を「猫」とした場合、「ｐ１（ｘ）」は、「０．６４（６４％）」となる。
【００８９】
また、上記式（１）中の「ｐｎ（ｘ）」は、ｘに対するクラスｎの確率で以下の式（２）に示すようなＳｏｆｔｍａｘ関数で定義される。
【００９０】
【数２】
2018018384.tif 000004
【００９１】
上記式（２）の関数「ｆｎ」は、ＣＮＮ（学習器ＬＥ）が出力するクラスｎのスコアである。「θ」は、ＣＮＮ（学習器ＬＥ）のパラメータである。また、関数「ｅｘｐ」は、指数関数（exponential  function）である。この場合、上記式（１）に示す誤差関数Ｌ（１）の勾配は、下記の式（３）により算出される。
【００９２】
【数３】
2018018384.tif 000005
【００９３】
上記式（３）に示すように、１〜Ｎまでの全クラスにおいて、ｐｎ（ｘ）＝ｔｎ（ｘ）である場合、誤差関数Ｌ（ｘ）の勾配は０になり極値になる。例えば、学習部１３２は、誤差関数Ｌ（ｘ）の勾配が０になるように、フィードバック処理を行う（ステップＳ２４）。例えば、学習部１３２が上述のような処理を繰り返すことにより、学習器ＬＥは、入力された画像における対象の占有率を適切に出力することができる。なお、図９は、学習器ＬＥの出力を正解情報ＲＯ２１に近づけるために、誤差関数Ｌ等を最小化するように処理を繰り返すことを視覚的に示すためのものであり、学習器ＬＥ内において自動で行われてもよい。
【００９４】
上述のように、「ｔｎ（ｘ）」は、画像全体を１としたときのクラスｎの占有率と定義すると、例えば、以下のような式（４）で示される。
【００９５】
【数４】
2018018384.tif 000006
【００９６】
「δｉ,ｊ」はクロネッカーのデルタであり、「ｊｐ」はピクセルｐのラベルである。例えば、「ｊｐ」は、猫や背景等の複数のクラスのいずれかに対応するラベルである。例えば、各ピクセルのラベルは、そのピクセルがどの対象に関するピクセルであるかを示す。あるピクセルのラベルが猫に対応するラベルである場合、そのピクセルは対象「猫」に関するピクセルであることを示す。例えば、上記式（４）の分母は、画像「ｘ」の全ピクセルの合計値となる。また、例えば、上記式（４）の分子は、画像「ｘ」におけるクラスｎのラベルが付されたピクセル数となる。このように、上記式（４）の「ｔｎ（ｘ）」は、０〜１の値となる。上記式（４）により、画像における各クラスに対応する対象の占有率が算出される。なお、各ピクセルへのラベル付けは、例えば検索装置１００の管理者や画像の所有者等により行われてもよい。
【００９７】
次に、図１０を用いて説明する。図１０では、検索装置１００は、学習器ＬＥとは別の学習器ＬＥ３１の学習を行う場合を示す。図１０に示す例は、検索装置１００は、人やボトルを含む画像ＩＭ３１と画像中における人やボトル等の占有率を示す情報ＲＯ３１（以下、「正解情報ＲＯ３１」と記載する場合がある）との組み合わせを教師データとして取得する（ステップＳ３１）。そして、学習器ＬＥ３１には、人やボトルを含む画像ＩＭ３１が入力される（ステップＳ３２）。その後、出力情報ＯＣ３１−１に示すような対象の占有率を示す情報が学習器ＬＥ３１から出力される（ステップＳ３３）。図１０に示す例においても、図９に示す例と同様に、学習部１３２は、上記式（１）〜（３）を用いて、誤差関数Ｌ（ｘ）の勾配が０になるように、フィードバック処理を行う（ステップＳ３４）。例えば、学習部１３２が上述のような処理を繰り返すことにより、対象が複数ある場合であっても、学習器ＬＥ３１は、入力された画像における対象の占有率を適切に出力することができる。なお、図１０は、学習器ＬＥ３１の出力を正解情報ＲＯ３１に近づけるために、誤差関数Ｌ等を最小化するように処理を繰り返すことを視覚的に示すためのものであり、学習器ＬＥ３１内において自動で行われてもよい。
【００９８】
〔６．学習処理のフロー〕
ここで、図１１を用いて、実施形態に係る検索装置１００による学習処理の手順について説明する。図１１は、実施形態に係る学習処理の一例を示すフローチャートである。
【００９９】
図１１に示すように、検索装置１００は、画像と画像中の各対象の占有率に関する正解情報とを取得する（ステップＳ３０１）。図９では、検索装置１００は、猫を含む画像ＩＭ２１と画像中における猫等の占有率を示す正解情報ＲＯ２１とを取得する。その後、検索装置１００は、ステップＳ３０１で取得した画像を学習器に入力する（ステップＳ３０２）。図９では、検索装置１００は、取得した画像ＩＭ２１を学習器ＬＥに入力する。
【０１００】
その後、検索装置１００は、学習器の出力に基づく占有率と、正解情報の占有率との誤差が小さくなるように学習する（ステップＳ３０３）。図９では、検索装置１００は、学習器ＬＥの出力に基づく出力情報ＯＣ２１−１に示す各対象の占有率と、正解情報ＲＯ２１に示す各対象の占有率とに基づいて学習する。
【０１０１】
その後、検索装置１００は、所定の条件を満たす場合（ステップＳ３０４：Ｙｅｓ）、処理を終了する。例えば、検索装置１００は、学習器の出力に基づく占有率と正解情報の占有率との誤差が所定の閾値以内である場合や、学習を開始してから所定の時間が経過した場合に所定の条件を満たすとして、処理を終了してもよい。また、検索装置１００は、所定の条件を満たさない場合（ステップＳ３０４：Ｎｏ）、ステップＳ３０３の処理を繰り返す。例えば、検索装置１００は、学習器の出力に基づく占有率と正解情報の占有率との誤差が所定の閾値より大きい場合や、学習を開始してから所定の時間が経過していない場合に所定の条件を満たさないとして、ステップＳ３０３の処理を繰り返してもよい。なお、お、上記の学習処理は一例であり、検索装置１００は、種々の手順により学習を行ってもよい。
【０１０２】
〔７．効果〕
上述してきたように、実施形態に係る検索装置１００は、取得部１３１と、推定部１３３とを有する。取得部１３１は、画像を取得する。推定部１３３は、入力画像に応じて当該入力画像中における所定の対象（実施形態においては「猫」。以下、同じ）の占有率を出力する学習器（実施形態においては「学習器ＬＥ」。以下、同じ）と、取得部１３１により取得された画像とに基づいて、取得部１３１により取得された画像における所定の対象の占有率を推定する。
【０１０３】
これにより、実施形態に係る検索装置１００は、画像における対象の占有率を出力する学習器を用いることにより、画像に対象が含まれる態様、すなわち画像において対象がどれくらいの割合を占めるかを適切に推定することができる。このように、検索装置１００は、画像に対象が含まれる態様を適切に推定することができる。
【０１０４】
また、実施形態に係る検索装置１００において、推定部１３３は、所定のデータにより学習されたニューラルネットワークである学習器に基づいて、取得部１３１により取得された画像における所定の対象の占有率を推定する。
【０１０５】
これにより、実施形態に係る検索装置１００は、所定のデータにより学習されたニューラルネットワークである学習器に基づくことにより、画像において対象がどれくらいの割合を占めるかを適切に推定することができる。このように、検索装置１００は、画像に対象が含まれる態様を適切に推定することができる。
【０１０６】
また、実施形態に係る検索装置１００において、推定部１３３は、画像と当該画像中における所定の対象の占有率との組み合わせにより学習されたニューラルネットワークである学習器に基づいて、取得部１３１により取得された画像における所定の対象の占有率を推定する。
【０１０７】
これにより、実施形態に係る検索装置１００は、画像と当該画像中における所定の対象の占有率との組み合わせにより学習されたニューラルネットワークである学習器に基づくことにより、画像において対象がどれくらいの割合を占めるかを適切に推定することができる。このように、検索装置１００は、画像に対象が含まれる態様を適切に推定することができる。
【０１０８】
また、実施形態に係る検索装置１００において、推定部１３３は、畳み込み処理及びプーリング処理を行うニューラルネットワークである学習器に基づいて、取得部１３１により取得された画像における所定の対象の占有率を推定する。
【０１０９】
これにより、実施形態に係る検索装置１００は、畳み込み処理及びプーリング処理を行うニューラルネットワークである学習器に基づくことにより、画像において対象がどれくらいの割合を占めるかを適切に推定することができる。このように、検索装置１００は、画像に対象が含まれる態様を適切に推定することができる。
【０１１０】
また、実施形態に係る検索装置１００は、学習部１３２を有する。学習部１３２は、学習器を学習する。
【０１１１】
これにより、実施形態に係る検索装置１００は、学習した学習器に基づくことにより、画像において対象がどれくらいの割合を占めるかを適切に推定することができる。このように、検索装置１００は、画像に対象が含まれる態様を適切に推定することができる。
【０１１２】
また、実施形態に係る検索装置１００は、学習部１３２を有する。学習部１３２は、画像と当該画像における所定の対象の占有率との組み合わせにより学習器を学習する。
【０１１３】
これにより、実施形態に係る検索装置１００は、画像と当該画像における所定の対象の占有率との組み合わせにより学習した学習器に基づくことにより、画像において対象がどれくらいの割合を占めるかを適切に推定することができる。このように、検索装置１００は、画像に対象が含まれる態様を適切に推定することができる。
【０１１４】
また、実施形態に係る検索装置１００は、学習部１３２を有する。学習部１３２は、所定の評価関数を最小化するように学習器を学習する。
【０１１５】
これにより、実施形態に係る検索装置１００は、所定の評価関数を最小化するように学習した学習器に基づくことにより、画像において対象がどれくらいの割合を占めるかを適切に推定することができる。このように、検索装置１００は、画像に対象が含まれる態様を適切に推定することができる。
【０１１６】
また、実施形態に係る検索装置１００は、決定部１３５を有する。決定部１３５は、推定部１３４により推定された複数の画像の各々における所定の対象の占有率に基づいて、複数の画像のランキングを決定する。
【０１１７】
これにより、実施形態に係る検索装置１００は、推定された複数の画像の各々における所定の対象の占有率に基づいて、複数の画像のランキングを決定することにより、複数の画像のランキングを適切に決定することができる。
【０１１８】
また、実施形態に係る検索装置１００は、提供部１３６を有する。提供部１３６は、決定部１３５により決定された複数の画像のランキングに基づく情報を提供する。
【０１１９】
これにより、実施形態に係る検索装置１００は、対象の占有率を用いて決定された複数の画像のランキングに基づく情報を提供することにより、より適切な情報をユーザに提供することができる。
【０１２０】
〔８．ハードウェア構成〕
上述してきた実施形態に係る検索装置１００は、例えば図１２に示すような構成のコンピュータ１０００によって実現される。図１２は、検索装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１２１】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１２２】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、ネットワークＮを介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータをネットワークＮを介して他の機器へ提供する。
【０１２３】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【０１２４】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１２５】
例えば、コンピュータ１０００が実施形態に係る検索装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１３０の機能を実現する。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【０１２６】
以上、本願の実施形態を図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１２７】
〔９．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１２８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１２９】
また、上述してきた実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１３０】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０１３１】
１      検索システム
１００  検索装置（推定装置）
１２１  学習情報記憶部
１２２  画像情報記憶部
１２３  一覧情報記憶部
１３０  制御部
１３１  取得部
１３２  学習部
１３３  推定部
１３４  抽出部
１３５  決定部
１３６  提供部
１０    端末装置
Ｎ      ネットワーク
【図１】
2018018384.tif 000007
【図２】
2018018384.tif 000008
【図３】
2018018384.tif 000009
【図４】
2018018384.tif 000010
【図５】
2018018384.tif 000011
【図６】
2018018384.tif 000012
【図７】
2018018384.tif 000013
【図８】
2018018384.tif 000014
【図９】
2018018384.tif 000015
【図１０】
2018018384.tif 000016
【図１１】
2018018384.tif 000017
【図１２】
2018018384.tif 000018