(58)【調査した分野】(Int.Cl.,DB名)
前記学習部は、前記距離情報に基づいて当該被写体が平坦であるか否かを判定し、当該被写体が平坦である場合には、当該被写体が所定の表示装置により表示された被写体である旨を特定するモデルを学習する
ことを特徴とする請求項12に記載の付与装置。
前記特定部は、前記距離情報が示す距離が所定の範囲内に収まる領域が移動する速さまたは方向の少なくともいずれか一方を特定し、特定内容に基づいて、前記被写体の動きを特定する
ことを特徴とする請求項14に記載の付与装置。
【発明を実施するための形態】
【0010】
以下に、本願に係る付与装置、付与方法および付与プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る付与装置、付与方法および付与プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
[実施形態]
〔1−1.付与装置の一例〕
まず、
図1を用いて、付与装置が実行する決定処理の一例について説明する。
図1は、実施形態に係る付与装置が実行する決定処理の一例を示す図である。
図1では、付与装置10は、インターネット等の所定のネットワークNを介して、撮像装置100や利用者U01が使用する端末装置200(例えば、
図2)と通信可能である。なお、付与装置10は、任意の数の撮像装置100や任意の数の端末装置200と通信可能であってよい。
【0012】
撮像装置100は、画像を撮像する撮像装置であり、デジタルカメラやスマートフォン等、静止画像や動画像といった各種の画像のデータを取得可能な任意の装置により実現される。そして、撮像装置100は、撮像した画像のデータ(以下、単に「画像」と記載する場合がある。)を付与装置10へと送信する。例えば、撮像装置100は、USB(Universal Serial Bus)等といった有線若しくはLAN(Local Area Network)等といった無線の通信手段を介して、画像を付与装置10へと送信する。なお、撮像装置100は、PC(Personal Computer)端末やサーバ装置等の情報処理装置に画像データを格納し、情報処理装置を介して付与装置10に画像のデータを送信してもよい。
【0013】
付与装置10は、画像のデータを受付けると、後述する付与処理を実行することで、画像の特徴を示すラベルを画像に付与する。そして、付与装置10は、ラベルを付与した画像を保持する。そして、付与装置10は、端末装置200から検索クエリを取得した場合には、検索クエリと内容が合致するラベルを付与した画像を特定し、特定した画像を検索結果として端末装置200へと送信する。すなわち、付与装置10は、画像に付与したラベルを用いて、画像の検索処理を実行する。
【0014】
なお、付与装置10は、所謂類似画像検索にラベルを利用してもよい。例えば、付与装置10は、検索クエリとして、画像を端末装置200から受信した場合は、付与処理と同様の処理を実行することで、画像の特徴を示すラベルを特定する。そして、付与装置10は、特定したラベルと同一または類似するラベルが付与された画像を検索し、検索した画像を検索クエリと類似する画像として端末装置200へと配信する。
【0015】
端末装置200は、利用者U01が使用する端末装置であり、例えば、スマートフォンやタブレット等といった携帯移動端末装置やPC端末、サーバ装置等により実現される。例えば、端末装置200は、利用者が検索クエリとして入力したテキストや画像を付与装置10へと送信する。そして、端末装置200は、付与装置10から検索結果として受信した画像を表示する。
【0016】
〔1−2.決定処理について〕
ここで、画像にラベルを付与する方法として、画像の各画素のRGB(Red Green Blue)の変化やエッジの抽出等、画像解析技術を用いて、被写体を特定し、特定した被写体を示すラベルを付与する技術が考えられる。しかしながら、このような技術では、適切なラベルを付けることができるとは限らなかった。
【0017】
例えば、人の顔を識別するモデルを用いて、画像に人の顔が撮像されているか否かを判定し、画像に人の顔が撮像されている場合は、人物が撮像されている旨のラベルを付与する技術が考えられる。しかしながら、人の顔を識別するモデルは、人物の顔を表示する表示装置が撮像されている場合に、人物の顔が撮像されているのか、人物の顔を表示する表示装置が撮像されているのかを精度良く特定することができない。この結果、人物の顔を表示する表示装置が撮像されている画像に、人物が撮像されている旨のラベルを付してしまう恐れがある。
【0018】
そこで、付与装置10は、以下の付与処理を実行する。まず、付与装置10は、被写体までの距離に関する情報である距離情報を画像から取得する。続いて、付与装置10は、距離情報に基づいて、画像の特徴を特定する。そして、付与装置10は、特定された特徴を示すラベルを画像に付与する。
【0019】
例えば、付与装置10は、距離情報が示す距離の分布が、画像全体において所定の閾値よりも遠い場合は、風景が撮像された画像であると判定し、風景が撮像されている旨を示すラベルを画像に付与する。また、付与装置10は、画像内に、距離情報が示す距離が所定の閾値よりも近い領域が存在する場合は、かかる領域に撮像された被写体を特定し、特定した被写体を示すラベルを画像に付与する。
【0020】
〔1−3.距離情報について〕
以下、付与装置10が距離情報を画像から取得する処理について説明する。例えば、撮像装置100は、撮像後に焦点距離を変更することができる画像の撮像を行うことができるカメラであり、所謂ライトフィールドカメラである。例えば、撮像装置100は、複数のレンズを用いて、撮像位置が異なる複数の画像を同時に撮像し、撮像した複数の画像を合成することで、撮像後に焦点距離を変更することができる画像を生成する。
【0021】
なお、撮像装置100は、被写体までの距離を特定し、特定した距離を示す距離情報を画像データに埋め込むことができる測距カメラであってもよい。また、撮像装置100は、位置が異なる複数のレンズを有し、各レンズを用いて同時に撮像した画像を合成することで、立体写真を撮像するためのステレオカメラであってもよい。また、撮像装置100は、撮像時に取得された光を所定のカラーフィルターに通し、カラーフィルターを通した光の屈折率の違いに基づいて、撮像位置から被写体までの距離を特定するカメラであってもよい。すなわち、撮像装置100は、「深度」や「デプス」等と呼ばれる被写体までの奥行き方をデータまたは画像として記録するカメラであれば、任意のカメラが適用可能である。
【0022】
このような撮像装置100が撮像した画像からは、撮像位置から被写体までの距離を画素ごとに特定することが可能である。そこで、付与装置10は、撮像位置から被写体までの距離(以下、単に「被写体までの距離」と記載する。)を撮像装置100が撮像した画像から取得する。例えば、付与装置10は、画像を複数の領域分割し、各領域ごとにピントが合う際の焦点距離を求めることで、各領域ごとに被写体までの距離を特定する。また、例えば、付与装置10は、撮像装置100のレンズ間の距離と、焦点距離と、各レンズが撮像した画像とに基づいて、被写体までの距離を特定してもよい。なお、付与装置10は、このような処理以外にも、任意の処理に基づいて、被写体までの距離を特定して良い。
【0023】
なお、「撮像位置から被写体までの距離」とは、例えば1メートル等といった所定の単位系で示すことができる数値のみならず、他の画像に含まれる被写体を基準として遠いか近いかといった相対的な情報をも含む概念である。例えば、付与装置10は、第1の領域に撮像された被写体までの距離が何メートルであるかを示す距離情報を取得してもよく、第1の領域と第2の領域とのうち、どちらの領域がより撮像位置に近いかを示す距離情報を取得してもよい。
【0024】
〔1−4.距離情報に基づいた特徴の特定について〕
そして、付与装置10は、画像から取得した距離情報を用いて、画像の特徴を特定する。より具体的には、付与装置10は、距離情報が示す距離の画像における分布に基づいて、画像の特徴を特定する。例えば、付与装置10は、距離情報が示す距離が所定の範囲内となる領域を画像上から特定する。そして、付与装置10は、特定した領域内に撮像された被写体を特定する。すなわち、付与装置10は、距離情報に基づいたクラスタリングを行うことで同一距離の被写体が抽出できる。さらに同一距離の被写体が複数ある場合が考えられるので、各クラスタ毎に画像中の座標値でクラスタリングやラベリング(連結領域の抽出)を行うことで同一距離の複数の被写体を分離できる。すなわち、付与装置10は、距離情報が示す距離が同程度となる範囲の画像中の座標値を特定し、特定した座標値を考慮して、距離情報が同程度にまとまる範囲のクラスタリングやラべリングを行う。この結果、付与装置10は、距離が同程度となる範囲、すなわち、ある一つの被写体や同一視が可能な被写体が含まれる範囲を特定できる。
【0025】
すなわち、同一の被写体が撮像された領域に含まれる各画素(若しくは、距離情報が取得可能な単位)は、距離情報が同程度の距離を示すと予測される。そこで、付与装置10は、距離情報が示す距離の画像における分布に基づいて、同一の被写体が含まれると推定される領域を抽出し、抽出した領域に含まれる被写体を画像の特徴として特定する。例えば、付与装置10は、被写体までの距離が1メートルとなる領域を画像から抽出し、抽出した領域に撮像されている被写体を特定する。そして、付与装置10は、特定した被写体が、例えば、人物である場合は、人物が撮像された画像である旨を示すラベルを画像に付与する。なお、付与装置10は、距離の分布に応じて、画像から複数の領域を抽出し、抽出した領域ごとに撮像された被写体を特定する。そして、付与装置10は、特定した各被写体を示すラベルを画像に付与してもよい。
【0026】
また、付与装置10は、距離情報に基づいたクラスタリングを行うことで、被写体が主題であるか、背景であるかを特定してもよい。例えば、付与装置10は、距離情報及び座標情報に基づいたクラスタリングを行う。そして、付与装置10は、特定した被写体が主題となる被写体であるか、背景であるかを特定し、特定した内容を示すラベルを付与してもよい。すなわち、付与装置10は、特定した被写体までの距離に基づくラベルを付与してもよい。例えば、付与装置10は、画像から複数の領域を抽出し、抽出した領域ごとに撮像された被写体を特定した場合、特定した各被写体の奥行方向の位置関係を距離情報から特定することができる。例えば、付与装置10は、被写体までの距離が第1距離の領域から第1被写体を特定し、被写体までの距離が第1距離よりも遠い第2距離の領域から第2被写体を特定した場合、第1被写体の奥に第2被写体が撮像されている旨を特定することができる。そこで、付与装置10は、例えば、第1被写体と第2被写体とが撮像されている旨のラベルと共に、第1被写体よりも奥に第2被写体が撮像されている旨を示すラベルを付与してもよい。また、付与装置10は、第1距離および第2距離を示す値をラベルとして付与してもよい。
【0027】
また、付与装置10は、各領域に撮像された被写体までの距離に応じたラベルとして、各被写体が背景であるか、主題であるかを示すラベルを付与してもよい。例えば、付与装置10は、画像の特徴として、画像に撮像されている被写体のうち、撮像位置までの距離が最も近い被写体を特定し、特定された被写体が主となる被写体である旨を示すラベルを画像に付与してもよい。例えば、付与装置10は、画像から、撮像位置までの距離が最も近い領域を抽出し、抽出した領域に撮像されている被写体を特定する。そして、付与装置10は、特定した被写体が主題である旨を示すラベルを画像に付与してもよい。なお、例えば、付与装置10は、画像から、撮像位置までの距離が所定の閾値よりも短い領域をすべて抽出し、抽出した領域に撮像されている1つ又は複数の被写体を特定する。なお、近いだけでなく画像の中心に位置するかを主となる被写体の判断基準として追加しても良い。そして、付与装置10は、特定した1つ又は複数の被写体が主題である旨を示すラベルを画像に付与してもよい。
【0028】
例えば、付与装置10は、画像の特徴として、画像に撮像されている被写体のうち、撮像位置までの距離が最も遠い被写体を特定し、特定された被写体が背景となる被写体である旨を示すラベルを画像に付与してもよい。例えば、付与装置10は、画像から、撮像位置までの距離が最も遠い領域を抽出し、抽出した領域に撮像されている被写体を特定する。そして、付与装置10は、特定した被写体が背景である旨を示すラベルを画像に付与してもよい。なお、一般的な画像において、背景となる被写体(例えば、遠方の山や空)等は、焦点距離が無限大となる。そこで、付与装置10は、撮像位置までの距離が所定の閾値よりも長い領域や撮像位置までの距離が無限大となる領域を抽出し、抽出した領域に撮像されている被写体を特定し、特定した被写体が背景である旨を示すラベルを画像に付与してもよい。なお、被写体が画像中の周辺に位置するという情報を加えて背景か否かを判断しても良い。
【0029】
また、付与装置10は、特定された被写体が撮像された領域の占有率に基づいたラベルを付与してもよい。例えば、付与装置10は、特定された被写体が撮像された領域の画像に対する占有率を特定する。そして、付与装置10は、特定した占有率が最も大きい被写体を示すラベルを画像に付与してもよい。また、例えば、付与装置10は、特定した占有率が最も大きい被写体を主題とするラベルを画像に付与してもよい。また、例えば、付与装置10は、各被写体が撮像された領域の画像に対する占有率を示すラベルを付与してもよい。
【0030】
また、付与装置10は、画像に撮像されている被写体の数を距離の分布や座標に基づいて特定し、特定した被写体の数を示すラベルを付与してもよい。例えば、付与装置10は、画像内に距離が第1の範囲内に収まる第1領域と、距離が第2の範囲内に収まる第2領域とが含まれている場合、第1領域と第2領域とに異なる被写体が撮像されていると判定する。この結果、付与装置10は、2つの被写体が撮像されている旨のラベルを画像に付与してもよい。
【0031】
このように、付与装置10は、距離情報に基づいて、被写体までの距離、被写体が撮像された範囲の画像に対する占有率(面積でもよい)、被写体の個数等を特定し、特定した内容を示すラベルを画像に付与してもよい。
【0032】
〔1−5.被写体の特定について〕
ここで、付与装置10は、被写体を任意の画像解析技術により特定してよい。例えば、付与装置10は、距離情報に基づいて抽出した領域に撮像された被写体を特定するためのモデルであれば、任意のモデルを採用可能である。例えば、付与装置10は、SVM(Support Vector Machine)といったモデルのみならず、DNN(Deep Neural Network)、RNN(Recurrent Neural Network)、CNN(Convolutional Neural Network)等といったニューラルネットワークの技術を用いたモデルを用いて、取引対象の分類を行ってもよい。
【0033】
また、付与装置10は、距離情報が示す被写体までの距離に基づいて、被写体の特定を行ってもよい。例えば、付与装置10は、距離情報が示す被写体までの距離に基づいて、被写体の特定を行うモデルを学習し、学習したモデルを用いて、被写体を画像の特徴として特定してもよい。例えば、付与装置10は、距離情報が示す被写体までの距離が所定の距離よりも短い場合は、被写体が主題となる被写体である旨を特定するモデルの学習を行ってもよい。
【0034】
また、例えば、付与装置10は、距離情報に基づいて被写体が平坦であるか否かを判定し、被写体が平坦である場合には、被写体が所定の表示装置により表示された被写体である旨を特定するモデルを学習してもよい。例えば、付与装置10は、被写体が平坦であり、かつ、画素のRGBに基づいて人の顔が画像に含まれている場合には、人の顔を表示している表示装置を被写体として特定し、被写体が平坦ではなく、かつ、画素のRGBに基づいて人の顔が画像に含まれている場合には、人の顔を被写体として特定するモデルの学習を行ってもよい。
【0035】
また、付与装置10は、距離情報を用いた任意の学習を行ってもよい。例えば、付与装置10は、正解データとなる画像から距離情報に基づいて抽出した領域と、かかる領域に対応する距離情報とを入力し、かかる領域に撮像された被写体がどのような物体であるのか、どのような状態の物体であるのか等を出力するように、バックプロパゲーション法によりモデルが有する各ノード間の伝達係数を修正してもよい。
【0036】
例えば、付与装置10は、距離情報に基づいて、撮像された領域が星空であるのか、星空を投影したプラネタリウムの画像であるのかを判定するモデルを学習してもよい。具体的には、付与装置10は、画像に星空の特徴が含まれており、かつ、距離情報が示す距離が所定の距離よりも遠い場合は、本物の星空が被写体であると判定し、画像に星空の特徴が含まれており、かつ、距離情報が示す距離が所定の距離よりも短い場合は、星空の写真やプラネタリウムの写真が被写体であると判定するモデルを学習してもよい。
【0037】
ここで、上板が一様なテーブル等に物体が配置されている場合、従来のRGBのみを用いたモデルは、テーブルに物体が配置されているのか、物体が浮いているのかを判定することができない。そこで、付与装置10は、距離情報に基づいて、テーブル等といった上に物体が配置されているのか、物体が浮いているのかを判定するモデルを学習してもよい。例えば、付与装置10は、距離情報が示す距離が徐々に変化する領域であって、RGBの値が一様な領域上に複数の物体が配置されている場合は、テーブルの上に複数の物体が配置されていると判定し、距離情報が示す距離が変化しない、若しくは距離が所定の閾値よりも遠い領域であって、RGBの値が一様な領域上に複数の物体が配置されている場合は、複数の物体が浮いていると判定するモデルを学習してもよい。
【0038】
〔1−6.複数の画像を用いた付与処理について〕
ここで、付与装置10は、動画像にラベルを付与する場合、動画像に含まれる複数の画像のそれぞれについて、距離情報を取得し、複数の画像のそれぞれについて取得した距離情報に基づいて、被写体の動きを複数の画像の特徴として特定してもよい。また、付与装置10は、距離情報が示す距離が所定の範囲内に収まる領域が移動する速さまたは方向の少なくともいずれか一方を特定し、特定内容に基づいて、被写体の動きを特定してもよい。
【0039】
例えば、付与装置10は、動画像から第1のフレーム画像と、第1のフレーム画像よりも後で表示される第2のフレーム画像とを抽出する。ここで、第1のフレーム画像と第2のフレーム画像とは、連続するフレーム画像であってもよく、再生時間が所定の時間だけ離れたフレーム画像であってもよい。続いて、付与装置10は、第1のフレーム画像および第2のフレーム画像から距離情報に基づいて、主となる被写体が撮像されている領域を特定する。そして、付与装置10は、第1のフレーム画像から抽出した領域と、第2のフレーム画像から抽出した領域との位置の差や、被写体までの距離等に基づいて、被写体の移動速度や移動方向(例えば、奥側であるのか手前側であるのか等)を特定し、特定した移動速度や移動方向を示すラベルを動画像に付与してもよい。
【0040】
また、付与装置10は、被写体の移動方向や速さ、距離の変化等に応じて、例えば、被写体が踊っている、走っている、ジャンプしている、手を振っている、ドラムをたたいている等、被写体の任意の動作を特定してもよい。また、付与装置10は、被写体の移動方向や速さ、距離の変化等に応じて、被写体が移動した結果、撮像範囲から外れたのか、所定の表示装置が被写体を断続的に表示しているのかといった判別を行ってもよい。
【0041】
〔1−7.ラベルについて〕
ここで、付与装置10は、利用者が入力した検索クエリとの比較対象となるラベルを画像に付与する。例えば、付与装置10は、主題が何であるか、背景が何であるかを示すラベルや、いくつの被写体が撮像されているか、被写体までの距離がどれくらいであるかを示すラベル等を付与する。なお、付与装置10は、上述したラベル以外にも、被写体を示すラベルであれば、距離情報に基づくラベル等、任意のラベルを付与してよい。
【0042】
〔1−8.決定処理の一例について〕
次に、
図1を用いて、付与装置10が実行する決定処理の一例について説明する。例えば、付与装置10は、撮像装置100から、距離情報を取得可能な画像を取得する(ステップS1)。このような場合、付与装置10は、画像から、距離情報を取得し、取得した距離情報が示す距離の分布に基づいて、同一被写体が含まれると推定される領域を抽出する(ステップS2)。
【0043】
例えば、
図1に示す例では、画像P1として、青空の手前に山が写っており、その手前に地面が撮像されるとともに、地面上であって画像の右側に1人の人物が写っており、さらに手前に2人の人物が撮像されている画像を取得する。かかる画像P1を取得した場合、付与装置10は、距離情報に基づいて、被写体までの距離が同程度となる複数の領域A1〜A6を抽出する。例えば、付与装置10は、空が撮像された領域を被写体までの距離が最も遠くなる領域A1として抽出し、山が撮像された範囲を被写体までの距離が2番目に遠い領域A2として抽出し、地面が撮像された範囲を被写体までの距離が3番目に遠い領域A3として抽出する。また、付与装置10は、1人の人物が撮像された範囲を被写体までの距離が4番目に遠い領域A4として抽出し、2人の人物が撮像された範囲を被写体までの距離が最も近いに領域A5および領域A6として抽出する。
【0044】
そして、付与装置10は、被写体を推定するモデルを用いて、抽出した領域A1〜A6ごとに撮像された被写体を特定し、特定結果と、各被写体までの距離とに基づいたラベルを画像に付与する(ステップS3)。例えば、付与装置10は、モデルを用いて、領域A1内に撮像された被写体が「青空」であると判定し、領域A2内に撮像された被写体が「山」であると判定する。また、付与装置10は、モデルを用いて、領域A4〜A6に撮像された被写体が「人物」であると判定する。
【0045】
また、付与装置10は、距離情報に基づいて、領域A1内に撮像された被写体までの距離「距離#1」、領域A2内に撮像された被写体までの距離「距離#2」、領域A4内に撮像された被写体までの距離「距離#3」、領域A5および領域A6内に撮像された被写体までの距離「距離#4」を特定する。このような場合、付与装置10は、各距離を比較し、領域A5および領域A6内に撮像された被写体が、撮像位置に最も近い被写体である旨を特定する。この結果、付与装置10は、領域A5および領域A6内に撮像された被写体が、画像P1の「主題」となる被写体であり、他の領域に撮像された被写体が、画像P1の「背景」となる被写体であると判定する。
【0046】
また、付与装置10は、撮像位置までの距離ごとに領域の数を計数し、計数した数を被写体の数とする。例えば、付与装置10は、撮像位置までの距離が「距離#1」である領域、撮像位置までの距離が「距離#2」である領域、および撮像位置までの距離が「距離#3」である領域がそれぞれ1つであり、撮像位置までの距離が「距離#4」である領域が2つである旨を特定する。
【0047】
この結果、付与装置10は、撮像位置までの距離が「距離#1」である領域A1内に撮像された被写体が「1」つの「青空」であり、かかる被写体が「背景」である旨を示すラベル「背景:青空:1」を画像P1に付与する。また、付与装置10は、撮像位置までの距離が「距離#2」である領域A2内に撮像された被写体が「1」つの「山」であり、かかる被写体が「背景」である旨を示すラベル「背景:山:1」を画像P1に付与する。また、付与装置10は、撮像位置までの距離が「距離#3」である領域A4内に撮像された被写体が「1」つの「人物」であり、かかる被写体が「背景」である旨を示すラベル「背景:人物:1」を画像P1に付与する。また、付与装置10は、撮像位置までの距離が「距離#4」である領域A5および領域A6内に撮像された被写体が「2」つの「人物」であり、かかる被写体が「主題」である旨を示すラベル「主題:人物:2」を画像P1に付与する。
【0048】
また、付与装置10は、利用者U01から検索クエリを受信する(ステップS4)。このような場合、付与装置10は、受信した検索クエリと合致するラベルの画像を特定し、特定した画像を利用者U01に提供する(ステップS5)。例えば、付与装置10は、「2人の人物」等といった検索クエリを受付けた場合は、主題が「2人の人物」である旨を示すラベル、すなわち「主題:人物:2」が付与された画像を検索し、検索した画像を利用者U01に提供する。
【0049】
なお、付与装置10は、利用者U01から検索クエリとして画像を受信した場合は、従来の画像解析技術もしくは上述した付与処理に基づいて、画像の特徴を示すラベルを特定し、特定したラベルと一致または類似するラベルが付与された画像の検索を行う。そして、付与装置10は、検索された画像を利用者U01に提供することで、類似画像検索を実現する。
【0050】
〔2.付与装置の構成〕
以下、上記した決定処理を実現する付与装置10が有する機能構成の一例について説明する。
図2は、実施形態に係る付与装置の構成例を示す図である。
図2に示すように、付与装置10は、通信部20、記憶部30、および制御部40を有する。
【0051】
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、撮像装置100や端末装置200との間で情報の送受信を行う。
【0052】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、モデルデータベース31、および画像データベース32(以下、「各データベース31〜32」と総称する場合がある。)を記憶する。
【0053】
モデルデータベース31には、取引対象の分類を行うモデルが格納される。例えば、
図3は、実施形態に係るモデルデータベースに登録される情報の一例を示す図である。
図3に示すように、モデルデータベース31には、複数のモデルのモデルデータが登録されている。なお、
図3に示す例では、モデルデータとして、「モデル#1」、「モデル#2」といった概念的な値を記載したが、実際には、モデルとして動作するSVMのデータ、ニューラルネットワークのノード情報や伝達係数、カテゴリの名称等といったデータが登録されることとなる。
【0054】
図3に示すように、モデルデータベース31には「モデル#1」や「モデル#2」といった複数のモデルが登録されている。これらのモデルは、それぞれ異なる被写体が撮像されているか否かを判定するように学習されたモデルである。例えば、「モデル#1」は、被写体が「山」であるか否かを判定し、「モデル#2」は、被写体が「人物」であるか否かを判定するように学習されたモデルである。この例では各モデルは2値クラス(山か山でないの2値)で表現しているが、マルチクラスの識別器を利用する場合には単一のモデルにより複数の分類クラスを判定することも可能である。また、RGBおよび距離、さらには、これらRGBおよび距離を動画として、つまり、時間時上の連続した複数の画像(フレーム)を学習して、上述の各種判別情報を抽出するモデルを生成した上で、各種情報を判定しても良い。
【0055】
図2に戻り、説明を続ける。画像データベース32には、検索対象となる画像がラベルと共に格納される。例えば、
図4は、実施形態に係る画像データベースに登録される情報の一例を示す図である。
図4に示すように、画像データベース32には、「画像ID(Identifier)」、「画像データ」、「撮像日時」、「距離情報」、「ラベル」といった項目を有する情報が登録されている。なお、画像データベース32には、他にも、画像に関連する情報であれば、任意の情報が登録されていてよい。
【0056】
ここで、「画像ID」とは、取引対象の識別子である。また、「画像データ」とは、画像のデータであり、任意のデータ形式が採用可能である。また、「撮像日時」とは、画像が撮像された日時を示す。また、「距離情報」とは、画像の各領域に撮像された被写体までの距離を示す情報である。また、「ラベル」とは、付与処理によって付与されたラベルである。
【0057】
例えば、
図4に示す例では、画像ID「ID#1」、画像データ「画像データ#1」、撮像日時「2016/09/08/10:10」、距離情報「距離情報#1」、ラベル「主題:人物:2、背景:人物:1、背景:山:1、背景:青空:1・・・」といった情報が対応付けて登録されている。かかる情報は、画像ID「ID#1」が示す画像の画像データが「画像データ#1」であり、撮像された日時が「2016/09/08/10:10」である旨を示す。また、かかるデータは、画像ID「ID#1」が示す画像の各画素に撮像された被写体までの距離を距離情報「距離情報#1」が示しており、ラベル「主題:人物:2、背景:人物:1、背景:山:1、背景:青空:1・・・」が付与されている旨を示す。
【0058】
なお、
図4に示す例では、「画像データ#1」や「距離情報#1」といった概念的な値について記載したが、実際には、各種画像のデータや、各画素または所定の領域ごとに被写体までの距離を示す距離情報が登録されているものとする。
【0059】
図2に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、付与装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0060】
図2に示すように、制御部40は、取得部41、特定部42、付与部43、検索部44、および学習部45を有する。取得部41は、被写体までの距離に関する情報である距離情報を画像から取得する。例えば、取得部41は、撮像装置100から、登録対象となる画像を取得する。このような場合、取得部41は、撮像装置100が撮像した画像から、画素ごとに被写体までの距離を特定し、特定した距離を示す距離情報を生成する。なお、取得部41は、例えば、画像に付与されるデータとして撮像装置100が特定した距離情報を取得してもよい。
【0061】
特定部42は、距離情報に基づいて、画像の特徴を特定する。例えば、特定部42は、距離情報が示す距離の画像における分布に基づいて、画像の特徴を特定する。より具体的な例を挙げると、特定部42は、距離情報が示す距離の画像における分布に基づいて、画像のうち同一の被写体が含まれると推定される領域を抽出する。そして、特定部42は、抽出した領域に含まれる被写体、すなわち、画像に撮像されている被写体を画像の特徴として特定する。より具体的には、特定部42は、後述する学習部45により、画像に含まれる被写体を特定するように学習が行われたモデルを用いて、画像から抽出した各領域内に撮像されていた被写体を特定する。例えば、特定部42は、モデルデータベース31に登録された各モデルを用いて、画像から抽出した各領域内に撮像されていた被写体を特定する。
【0062】
例えば、特定部42は、画像に撮像されている被写体のうち、撮像位置までの距離が最も近い被写体を主題として特定してもよい。また、特定部42は、画像に撮像されている被写体のうち、撮像位置までの距離が所定の閾値よりも遠い被写体を背景として特定してもよい。また、特定部42は、抽出した領域のうち、撮像位置に最も近い領域の被写体を主題として特定してもよく、他の領域の被写体を背景として特定してもよい。
【0063】
また、特定部42は、画像に撮像されている被写体の数を距離の分布に基づいて特定してもよい。例えば、特定部42は、撮像位置までの距離が同程度となる領域の数を距離情報に基づいて特定し、特定した数を被写体の数としてもよい。また、特定部42は、被写体が撮像された領域の占有率を特徴として特定してもよい。
【0064】
付与部43は、特定部42により特定された特徴を示すラベルを画像に付与する。例えば、付与部43は、特定部42により主題となる被写体として特定された被写体が、主題となる被写体である旨を示すラベルを画像に付与する。また、付与部43は、特定部42により背景となる被写体として特定された被写体が、背景となる被写体である旨を示すラベルを画像に付与する。
【0065】
なお、付与部43は、特定部42により特定された被写体までの距離に基づくラベルを画像に付与してもよい。例えば、付与部43は、特定部42により特定された被写体までの距離を距離情報に基づいて特定し、特定した距離を示すラベルを画像に付与してもよい。この結果、付与部43は、利用者U01が入力した検索クエリとの比較対象となるラベルを画像に付与することができる。その後、付与部43は、画像データから撮像日時を特定するとともに、画像データと、画像が撮像された日時と、距離情報と、ラベルとを対応付けて画像データベース32に登録する。
【0066】
なお、ラベルの付与対象が動画像である場合、取得部41は、動画像に含まれる複数の画像のそれぞれについて、距離情報を取得する。そして、特定部42は、複数の画像のそれぞれについて取得した距離情報に基づいて、被写体の動きを複数の画像の特徴として特定することとなる。例えば、特定部42は、距離情報が示す距離が所定の範囲内に収まる領域が移動する速さまたは方向の少なくともいずれか一方を特定し、特定内容に基づいて、被写体の動きを特定する。そして、付与部43は、特定部42が特定した特徴を示すラベルを動画像に付与する。なお、付与装置10は、動画像のみならず、例えば、時間差で撮像した複数の画像について、動画像と同様の処理を実行することで、被写体の動きを画像の特徴として特定し、特定した特徴を示すラベルを付与してもよい。
【0067】
検索部44は、利用者U01が入力した検索クエリとの比較対象となるラベルが付与された画像を検索する。例えば、検索部44は、検索クエリとしてテキストを端末装置200から受信した場合は、形態素解析等といった任意の文字解析技術を用いて、検索クエリと合致又は類似するラベルを特定し、特定したラベルが付与された画像を画像データベース32から検索する。そして、検索部44は、検索した画像を端末装置200へと送信する。
【0068】
なお、検索部44は、検索クエリとして画像を受信した場合は、特定部42および付与部43と同様の処理を実行することで、検索クエリである画像に付与すべきラベルを特定する。そして、検索部44は、特定したラベルと一致するラベルが付与された画像を画像データベース32から検索し、検索した画像を端末装置200へと送信する。
【0069】
学習部45は、距離情報に基づいて、画像に含まれる被写体を特定するモデルを学習する。より具体的には、学習部45は、距離情報に基づいて被写体が平坦であるか否かを判定し、被写体が平坦である場合には、被写体が所定の表示装置により表示された被写体である旨を特定するモデルを学習する。
【0070】
例えば、
図5は、実施形態に係る付与装置が実行する学習処理の一例を示す図である。例えば、
図5中(A)に示す画像には、利用者U01の顔が撮像されている。このような画像の距離情報に基づいて、被写体までの距離を特定した場合は、
図5中(B)に示すように、利用者U01の顔の凹凸に起因して、被写体までの距離が一様ではない領域が生じると考えられる。一方、
図5中(C)に示す画像には、利用者の顔を表示する表示装置D01が撮像されている。このような画像の距離情報に基づいて、被写体までの距離を特定した場合は、
図5中(D)に示すように、被写体までの距離が一様となる領域が生じると考えられる。
【0071】
そこで、学習部45は、抽出された領域内に撮像された被写体が平坦であるか否かを距離情報に基づいて判定し、被写体が平坦である場合には、被写体が所定の表示装置により表示された被写体である旨を特定するモデルを学習してもよい。例えば、学習部45は、被写体が平坦であり、かつ、画素のRGBに基づいて人の顔が画像に含まれていると判定可能な場合には、人の顔を表示している表示装置が被写体であると判定し、被写体が平坦ではなく、かつ、画素のRGBに基づいて人の顔が画像に含まれていると判定可能な場合には、人の顔が被写体であると判定するモデルの学習を行ってもよい。
【0072】
〔3.付与処理の流れの一例〕
続いて、
図6を用いて、付与装置10が実行する付与処理の流れについて説明する。
図6は、実施形態にかかる付与装置が実行する決定処理の流れの一例を示すフローチャートである。例えば、付与装置10は、画像を取得すると、被写体までの距離を示す距離情報を画像から取得する(ステップS101)。続いて、付与装置10は、取得した距離情報が示す距離の分布に基づいて、同一被写体を含むと推定される領域を抽出する(ステップS102)。そして、付与装置10は、各領域に撮像された被写体を特定し(ステップS103)、特定した被写体と、各領域までの距離とに基づくラベルを画像に付与して(ステップS104)、処理を終了する。
【0073】
〔4.変形例〕
上記では、付与装置10による付与処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、付与装置10が実行する決定処理のバリエーションについて説明する。
【0074】
〔4−1.装置構成〕
付与装置10は、撮像装置100と同一視可能なサーバ装置やクラウドシステム等により実現されてもよく、撮像装置100のバックエンドサーバとして動作してもよい。また、付与装置10が発揮する機能は、撮像装置100内に含まれていてもよい。
【0075】
また、付与装置10は、複数の装置が協調することにより、上述した付与処理や学習処理を実現してもよい。例えば、付与装置10は、取得部41、特定部42、付与部43、検索部44を有する付与サーバと、学習部45を有する学習サーバにより実現されてもよい。また、記憶部30に格納された各データベース31〜32は、付与装置10の内部ではなく、例えば、外部のストレージサーバ等に格納されていてもよい。
【0076】
〔4−2.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0077】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0078】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0079】
〔5.プログラム〕
また、上述してきた実施形態に係る付与装置10は、例えば
図7に示すような構成のコンピュータ1000によって実現される。
図7は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0080】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。
【0081】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0082】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0083】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0084】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0085】
例えば、コンピュータ1000が付与装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
【0086】
〔6.効果〕
上述したように、付与装置10は、被写体までの距離に関する情報である距離情報を画像から取得する。そして、付与装置10は、距離情報に基づいて、画像の特徴を特定し、特定した特徴を示すラベルを画像に付与する。このため、付与装置10は、被写体までの距離に基づいた特徴を特定し、特定したラベルを画像に付与するので、画像に付与するラベルの精度を向上させることができる。
【0087】
また、付与装置10は、利用者が入力した検索クエリとの比較対象となるラベルを画像に付与する。このため、付与装置10は、距離情報に基づいたラベルを用いた画像検索を実現するので、画像を検索する際の検索精度を向上させることができる。
【0088】
また、付与装置10は、距離情報が示す距離の画像における分布に基づいて、画像の特徴を特定する。このため、付与装置10は、画像に付与するラベルの精度を向上させることができる。
【0089】
例えば、付与装置10は、距離情報が示す距離の画像における分布に基づいて、画像のうち同一の被写体が含まれると推定される領域を抽出し、抽出した領域に含まれる被写体を画像の特徴として特定する。このため、付与装置10は、画像に付与するラベルの精度を向上させることができる。
【0090】
また、付与装置10は、画像に含まれる被写体を特定するモデルを用いて、抽出した領域から被写体を特定する。このため、付与装置10は、被写体を示すラベルを画像に付与することができる。
【0091】
また、付与装置10は、画像の特徴として、画像に撮像されている被写体のうち、撮像位置までの距離が最も近い被写体を特定する。そして、付与装置10は、特定された被写体が主となる被写体である旨を示すラベルを画像に付与する。このため、付与装置10は、主となる被写体に基づいた画像検索を実現することができる。
【0092】
また、付与装置10は、画像の特徴として、画像に撮像されている被写体のうち、撮像位置までの距離が所定の閾値よりも遠い被写体を特定する。そして、付与装置10は、特定された被写体が背景である旨を示すラベルを画像に付与する。このため、付与装置10は、背景となる被写体に基づいた画像検索を実現することができる。
【0093】
また、付与装置10は、画像の特徴として、画像に撮像されている被写体の数を距離の分布に基づいて特定する。このため、付与装置10は、例えば、被写体の数の判定精度を向上させることができる。
【0094】
また、付与装置10は、画像の特徴として、画像に撮像されている被写体を特定し、特定された被写体を示すラベルを画像に付与する。また、付与装置10は、特定された被写体までの距離に基づくラベルを画像に付与する。また、付与装置10は、画像のうち、特定された被写体が撮像された領域の占有率に基づいたラベルを画像に付与する。このため、付与装置10は、様々な画像の特徴に応じた検索を実現するためのラベルを付与することができる。
【0095】
また、付与装置10は、距離情報に基づいて、画像に含まれる被写体を特定するモデルを学習する。例えば、付与装置10は、距離情報に基づいて被写体が平坦であるか否かを判定し、被写体が平坦である場合には、被写体が所定の表示装置により表示された被写体である旨を特定するモデルを学習する。そして、付与装置10は、学習したモデルを用いて、被写体を画像の特徴として特定する。このため、付与装置10は、被写体の判定精度を向上させることができる。
【0096】
また、付与装置10は、複数の画像のそれぞれについて、距離情報を取得し、複数の画像のそれぞれについて取得した距離情報に基づいて、被写体の動きを複数の画像の特徴として特定する。例えば、付与装置10は、距離情報が示す距離が所定の範囲内に収まる領域が移動する速さまたは方向の少なくともいずれか一方を特定し、特定内容に基づいて、被写体の動きを特定する。このため、付与装置10は、動画像や撮像時間に時間差がある複数の画像から、被写体の動きを判定する際の判定精度を向上させることができる。
【0097】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0098】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、特定部は、特定手段や特定回路に読み替えることができる。