(実施の形態1)
<実施の形態1に至った経緯>
画像内から物体を認識する場合においては、認識すべき物体を特に制約せずに雑多な物体毎に物体認識を繰り返すというような総当たり的な手法も考えられる。もっとも、このような手法では、処理の効率が良くない上、画像にそぐわない物体の誤認識を招くことがある。
そこで、本実施の形態においては、画像内の人を検出すると、その人の属性情報を算出する。そして、予め記憶している属性情報と探索対象とする物体との対応関係を参照して、算出された属性情報に対応する探索対象の物体を特定する。
これにより、画像内の人の属性情報に応じた適切な物体を探索対象として特定し、物体の認識精度の向上を図る。
また、探索対象の物体の特定後には、予め記憶している探索対象とする物体と人の領域に基づいて探索すべき領域を特定するためのパラメーターを参照して、探索すべき領域を特定する。
このような領域の特定により、領域外において対象物体と似た画像特徴量を持つ部分を対象物体と誤認識することを防ぎ、もって物体の認識精度の向上を図る。
以下、実施の形態1における画像認識装置について、図面を参照しながら説明する。
<構成>
図1は、画像認識装置100の機能ブロック図である。
画像認識装置100は、画像蓄積装置110と、例えばUSB(Universal Serial Bus)ケーブルのようなケーブルを介して接続されている。
画像蓄積装置110は、撮影された画像を蓄積する機能を有する装置である。また、蓄積機能のみならず画像を撮影する機能を備えていても構わない。このような画像蓄積装置110は、例えば、ハードディスクや、デジタルスチルカメラ等から構成される。
次に、画像認識装置100の内部構成について説明する。
図1に示すように、画像認識装置100は、画像取得部101、基準物体検出部102、属性算出部103、探索物体特定部104、探索領域特定部105および物体認識部106から構成される。
画像取得部101は、画像蓄積装置110が蓄積している画像を取得し、取得した画像をそれぞれ固有の画像IDと対応づけて画像管理情報記憶部120に記憶させる。画像取得部101は、例えば、USBケーブルを挿入するためのUSBポートおよびUSBドライバ等のインターフェイスを制御するソフトウェアから構成される。
基準物体検出部102は、画像において、認識処理の基準となる物体を検出する。具体的には、画像取得部101が取得した画像から、認識対象とする物体や認識を行う領域を特定する際の基準となる、基準物体を検出する。基準物体の種類としては、人や車等が考えられる。本実施の形態では、基準物体として人を用いる場合について説明する。
また、基準物体検出部102は、人が写っている領域である人領域の位置を検出し、検出した人領域毎に固有の人IDを付与するとともにその人領域の大きさを算出する。そして、基準物体検出部102は、これら人領域毎の人IDとその人領域の位置と大きさを特定する情報とを、画像IDと対応づけて基準物体領域管理情報記憶部121に記憶させる。
ここで、人領域とは、画像に写る1人の人が画像において占有する領域をいう。
また、人領域の位置と大きさを特定する情報とは、画像の左上隅の1点を原点とする座標軸を定めた場合において、矩形の4頂点のうちの1頂点の座標と、矩形の幅及び高さとから構成される。
以下の例では、人領域を検出する方法として、あらかじめ用意された顔の学習モデルを用いて顔領域を検出し、顔と人との一般的な位置関係・大きさ割合に基づき切り出す手法を用いる。なお、これに限らず画像において、1人の人の全身を内側に含む面積最小の矩形の領域を人領域としても構わない。
属性算出部103は、基準物体検出部102が検出した基準物体の属性を示す属性情報を算出する。この属性情報は、基準物体の外観の特徴から得られる情報であり、本実施の形態では、基準物体である人の属性を示す属性情報として、服装と性別を用いる場合について説明する。この場合、属性算出部103は、人領域毎に服装と性別とを判定し、その人領域の人IDと対応付けて属性管理情報記憶部122に記憶させる。
探索物体特定部104は、基準物体の属性情報に基づき、基準物体の属性と関連する物体を、探索対象の物体として特定する(以後、物体認識処理の対象とする物体を、「探索物体」と呼ぶ。)。具体的には、探索物体特定部104は、属性・物体対応情報記憶部123が予め記憶している属性と探索物体との対応関係を参照して、属性算出部103が算出した属性情報に対応する物体を探索物体として特定する。そして、特定した探索物体を人IDに対応付けて探索物体管理情報記憶部124に記憶させる。
探索領域特定部105は、基準物体が占める領域の位置に基づいて、探索物体の認識処理を行うべき領域を特定する。以後、探索物体の認識処理を行うべき領域を、「探索領域」と呼ぶ。具体的には、探索領域特定部105は、領域値情報記憶部126aが予め記憶している、基準物体が占める領域に基づいて探索領域を特定するために用いるパラメータと探索物体との対応関係を参照して、探索物体特定部104が特定した探索物体に対応する領域を探索領域として特定する。
なお、この領域の特定とは、領域の位置と大きさとを特定可能な情報を算出することをいう。本実施の形態では、矩形な領域について、画像の左上隅の点を原点とする座標軸を定めた場合において、矩形の4頂点のうちの1頂点の座標と、矩形の幅及び高さとを算出することをいう。
物体認識部106は、探索領域特定部105で特定した画像内の探索領域に対して、探索物体特定部104で特定した探索物体の認識処理を行う。認識処理は、例えばあらかじめ用意された物体学習辞書とのパターンマッチングによる検出手法や、SVM(Support Vector Machine)を用いた機械学習による分類手法等がある。
なお、これら基準物体検出部102、属性算出部103、探索物体特定部104、探索領域特定部105および物体認識部106は、それぞれの処理用のプログラムを格納するROMなどのメモリと、プログラムを実行するCPUと、プログラムのデータを展開するためのRAMなどのメモリとから例えば構成することができる。
記憶部関係は次の通りである。各情報の詳細については動作の説明の中で述べる。
画像管理情報記憶部120は、画像管理情報701(図7参照)を記憶している。
基準物体領域管理情報記憶部121は、人領域管理情報801(図8参照)を記憶している。
属性管理情報記憶部122は、属性管理情報901(図9参照)を記憶している。
属性・物体対応情報記憶部123は、属性・物体対応情報1001(図10参照)を記憶している。
探索物体管理情報記憶部124は、探索物体管理情報1101(図11参照)を記憶している
物体・大きさ対応情報記憶部125は、物体・大きさ対応情報1201(図12参照)を記憶している。
領域値情報記憶部126aは、物体・探索領域種別対応情報1301(図13参照)を記憶する物体・探索領域種別対応情報記憶部126と、物体領域パラメータ情報1401(図14参照)を記憶する探索領域パラメータ記憶部127とを有する。
探索領域管理情報記憶部128は、探索領域管理情報1501(図15参照)を記憶している。
物体認識管理情報記憶部129は、物体認識管理情報1601(図16参照)を記憶している。
<動作>
図2のフローチャートを用いて、画像認識装置100が行う全体動作の概要を説明する。また、図2におけるS203、S204、S205、S206の詳細を、それぞれ図3、図4、図5、図6を用いて説明する。
画像取得部101は、画像蓄積装置110から画像を取得する(S201)。そして、画像取得部101は、取得した画像と、各画像に固有な画像IDとを対応付けて画像管理情報701として画像管理情報記憶部120に記憶させる。
図7に、画像管理情報701の例を示す。図7の例では、PPM(Portable Pixmap Format)フォーマットの画像を、画像の撮影日時情報とともに、画像IDと対応付けて管理している。図7の例では、2010年6月10日10時35分10秒に撮影された、ブーケを持った新婦の画像が、画像IDが11の画像として管理されていることを表している。ここで、画像の撮影日時情報は、画像ファイルが保存された日時を利用してもよいし、画像に付与されているExif(Exchangeable image file format)情報の撮影日時情報を利用してもよい。
なお、画像の格納方式は、先に述べた方式に限られない。PPMフォーマットで画像を格納する代わりに、JPEG(Joint Photographic Experts Group)フォーマットで画像を格納してもよいし、画像蓄積装置110における画像のファイルパスを格納してもよい。
次に、基準物体検出部102は、画像管理情報記憶部120に記憶されている各画像に対して、画像から基準物体となる人を検出する(S202)。本実施の形態においては、人の検出として、顔と体を含む人全体が映っている領域を検出するものとする。このような人の検出は、例えば下記のようにして行う。まず、画像から顔領域を検出する。顔領域の検出は、例えば画像とあらかじめ用意された顔の学習モデルとのパターンマッチング等によって行う。次に、顔領域から人領域を算出する。人領域の算出方法は、例えば顔と人との一般的位置・大きさの関係に基づき、顔領域から、顔領域を含む一定の下部領域を切り出す方法がある。
図18の例では、検出された顔領域が矩形であるとし、この矩形を顔領域の直下に6つ分並べた大きさの長方形を体領域としている。そして、顔領域と体領域を合わせた全体を人領域としている。例えば、顔領域が幅50ピクセル、高さ50ピクセルであるとすると、人領域として、顔領域の左上頂点座標から、幅50ピクセル、高さ350ピクセルの矩形領域を人領域として切り出す。
なお、体領域の大きさは、体領域を適切に包含しうるものであれば、図18の例に限らない。また、顔領域、体領域、さらにこれらをあわせた人領域の形状はそれぞれ矩形に限らず、画像に写る顔、体、人を包含することができればどのような形状であってもよい。また、人の検出方法は上記の例に限られず、例えば、Fujiyoshi著「Detecting Humans and Visualizing Human Motions for People Image Analysis」に示されているような、画像のエッジ特徴量を用いた人検出手法を用いても良い。
基準物体検出部102は、検出された人それぞれに対応する人領域に対して、固有の人IDを付与し、画像IDと対応付ける。そして、人ID、画像IDおよび人領域の位置・大きさを対応付けた人領域管理情報801として基準物体領域管理情報記憶部121に記憶させる。
図8に、人領域管理情報801の例を示す。図8の例では、人領域が矩形であるとして、矩形の左上頂点のX座標、左上頂点のY座標、幅、高さおよび画像IDを、人IDと対応づけて管理している。なお、頂点の座標については、画像の左上隅を原点、画像の幅方向をX軸、高さ方向をY軸としたピクセル単位のXY座標系により表現している。また、図8の例では、人IDが11と付与された人の人領域は、左上頂点の座標を(75,50)とし、幅50ピクセル、高さ350ピクセルの矩形領域であることを表している。
次に、属性算出部103は、基準物体領域管理情報記憶部121に記憶された人領域管理情報801をもとに、検出された人の属性情報を算出する(S203)。
ここで、検出された基準物体の属性情報を算出する処理S203の一例を、図3のフローチャートを用いて説明する。
まず、属性算出部103は、画像において検出した人の人IDから1つ選ぶ(S301)。具体的には、図8のような人領域管理情報801において、ある人IDを含む1行分の情報を選択する。
次に、属性算出部103は、画像において検出された各人領域について、人領域に属する人の服装を判定する(S302)。服装判定の方法については、例えば特許文献1等の方法がある。
次に、属性算出部103は、画像において検出された各人領域について、人領域に属する人の性別を判定する(S303)。性別判定の方法については、画像の顔領域における画像特徴量を、一般的な男女それぞれの画像特徴量を定義した学習モデルと比較することにより行う方法がある。
なお、上記の例では、属性情報として服装、性別を判定したが、画像における人領域の位置、画像全体に対する人領域の面積比率、年齢(年代)、顔の向き、体の向き、姿勢等を判定してもよい。例えば、人領域の位置、画面全体に対する人領域の面積比率は、基準物体領域管理情報記憶部121に記憶された情報と、画像の大きさから算出することができる。人の年齢(年代)および顔の向きは、例えば画像の顔領域における画像特徴量を、年齢(年代)および顔の向きごとの学習モデルと比較することにより判定できる。体の向きおよび姿勢は、例えば画像の人領域における画像特徴量を、体の向きおよび姿勢ごとの学習モデルと比較することにより判定できる。また、これらの属性情報は、すべてが判定できる必要はなく、少なくとも1つが判定できればよい。
属性算出部103は、以上のようにして各人領域に対して算出した属性情報を、その人領域の人IDと対応付けて、属性管理情報901として属性管理情報記憶部122に記憶させる。
図9に、属性管理情報901の例を示す。図9の例では、人の服装・性別の属性情報を、人IDと対応付けて管理している。この例では、人IDが11と付与された人の属性情報は、服装がウェディングドレス、性別が女性であることを表している。
S303の処理の後、属性算出部103は、画像に含まれるすべての人について、属性の算出が終了したかどうかを判定する(S304)。まだ属性を算出していない人が残っている場合(S304がNo)、S301の処理に戻る。S304において、すべての人について、属性の算出が終了した場合(S304がYes)、S203の処理を終了する。
図2に戻り、次に、探索物体特定部104は、属性管理情報901をもとに、探索物体を特定する(S204)。
ここで、S204の処理の一例を、図4のフローチャートを用いて説明する。
まず、探索物体特定部104は、画像において検出した人の人IDから1つ選ぶ(S401)。具体的には、図9のような属性管理情報901において、ある人IDを含む1行分の情報を選択する。
次に、探索物体特定部104は、選ばれた人IDに対応する属性情報に基づき、探索物体を特定する(S402)。探索物体の特定は、属性・物体対応情報記憶部123に記憶されている、属性情報と探索物体との対応関係を示す属性・物体対応情報1001を用いて、選択した人IDの属性情報と合致する探索物体を選択することにより行う。
図10に、属性・物体対応情報1001の例を示す。図10の例では、人の服装と性別属性と対応付けて探索物体を保持している。この例では、属性情報として服装が和服、性別が男性である場合、千歳飴と下駄を探索物体とすることを示している。
そして、探索物体特定部104は、特定された探索物体を、固有の探索物体IDと対応付けて、探索物体管理情報1101として探索物体管理情報記憶部124に記憶させる。
図11に、探索物体管理情報1101の例を示す。図11の例では、探索物体IDと対応付けて人IDおよび探索物体を管理している。この例では、探索物体ID11の物体は、人ID11に対応する物体であり、探索物体はブーケであることを示している。
S402の処理の後、探索物体特定部104は、画像に含まれるすべての人について、探索物体の特定が終了したかどうかを判定する(S403)。まだ探索物体を特定していない人が残っている場合(S403がNo)、S401の処理に戻る。S403において、すべての人について、探索物体の特定が終了した場合(S403がYes)、S204の処理を終了する。
図2に戻り、次に、探索領域特定部105は、人領域管理情報801、探索物体管理情報1101および物体・大きさ対応情報1201をもとに、探索領域を特定する(S205)。
ここで、S205の処理の一例を、図5のフローチャートを用いて説明する。
まず、S204において、探索領域特定部105は、画像に写る人のそれぞれに対して特定された探索物体IDから1つ選ぶ(S501)。具体的に探索領域特定部105は、図11のような探索物体管理情報1101において、ある探索物体IDを含む1行分の情報を選択する。
次に、探索領域特定部105は、選択した探索物体IDに対応する探索物体について、物体・大きさ対応情報1201に基づいて探索物体大きさ比率を選択する(S502)。
物体・大きさ対応情報1201は、物体・大きさ対応情報記憶部125に記憶されている情報であり、探索物体毎に、人領域の大きさに対する探索物体の大きさの比率を示す探索物体大きさ比率を対応付けている。本実施の形態では人領域は矩形であるため、人領域の幅に対する探索物体の幅の比率と、人領域の高さに対する探索物体の高さの比率として示される。
物体・大きさ対応情報1201の例を図12に示す。図12の例では、探索物体と対応付けて、人の幅・高さに対する探索物体の幅の比率をそれぞれ保持している。この例では、ブーケの幅は、人の幅の0.5倍であり、ブーケの高さは、人の高さの0.1倍であることを示している。
この場合、探索領域特定部105はステップS501で選んだ探索物体IDに対応する、探索物体の幅の比率と高さの比率とを大きさ比率として選択する。
選択された探索物体大きさ比率は、後述するステップS504で探索領域を算出するために用いられる。
次に、探索領域特定部105は、選択した探索物体IDに対応する探索物体について、探索領域種別を選択する(S503)。ここで、探索領域種別とは、探索物体が近くに存在しうる、基準物体付近の特定の領域の種別である。探索領域種別の例としては、基準物体が人の場合、手、足、右隣、左隣等がある。探索領域種別の特定は、物体・探索領域種別対応情報記憶部126に記憶されている、物体・探索領域種別対応情報1301を用いて、探索物体と合致する探索領域種別を選択することにより行う。
図13に、物体・探索領域種別対応情報1301の一例を示す。図13の例では、探索物体と対応付けて、探索領域種別を保持している。この例では、ブーケに対する探索領域種別は手であることを示している。
選択された探索領域種別は、後述するステップS504で、探索領域を算出するために用いられる。
次に、探索領域特定部105は、選択した探索物体IDに対応する、探索領域を算出する(S504)。
探索領域の算出は、人領域の拡大縮小・平行移動によって行う。具体的には後述する探索領域算出式に、探索領域パラメータ記憶部127に記憶されている探索領域パラメータ情報1401および選択した人IDの人領域情報を代入することにより、探索領域を算出することができる。ここで、探索領域算出式は、矩形の人領域を拡大縮小・平行移動することにより、矩形の探索領域を算出するための式である。探索領域算出式は、例えば、人の左上座標から探索領域の左上座標への移動量(移動の方向と大きさとを示す。)を算出する式と、探索領域の幅を算出する式と、探索領域の高さを算出する式とからなる。人の左上座標から探索領域の左上座標への移動量を(dX,dY)、探索領域の幅をW、探索領域の高さをHとすると、dX、dY、WおよびHは、それぞれ例えば以下の式のように表すことができる。
dX=α1×w+α2×Sw×w (式1)
dY=β1×h+β2×Sh×h (式2)
W=γ1×w+γ2×Sw×w (式3)
H=δ1×h+δ2×Sh×h (式4)
ここで、wは人領域の幅、hは人領域の高さであり、人領域管理情報801から、選ばれた人IDを含む1行分の情報を選択することで取得することができる。Swは人領域の幅に対する探索物体の幅の比率、Shは人の高さに対する探索物体の高さの比率であり、S502で特定した値である。また、探索領域パラメータα1、α2、β1、β2、γ1、γ2、δ1およびδ2は、人領域と探索領域種別から探索領域を算出するためのパラメータである。具体的には、α1、α2は、それぞれ人領域の幅、探索物体の幅の、dXへの寄与度合い、β1、β2は、それぞれ人領域の高さ、探索物体の高さの、dYへの寄与度合い、γ1、γ2は、それぞれ人領域の幅、探索物体の幅の、探索領域の幅への寄与度合い、δ1、δ2は、それぞれ人領域の高さ、探索物体の高さの、探索領域の高さへの寄与度合いを示している。探索領域パラメータの選択は、探索領域パラメータ記憶部127に記憶されている、探索領域パラメータ情報1401を用いて、探索領域種別と合致する探索領域パラメータを選択することにより行う。
図14に、探索領域パラメータ情報1401の例を示す。図14の例では、探索領域種別に対応付けて、探索領域算出式の係数を保持している。つまり、手、足、左端、右端の各探索領域種別に、探索領域算出式の係数α1、α2、β1、β2、γ1、γ2、δ1およびδ2を格納している。
以下では、この探索領域パラメータ情報を用いた探索領域の特定例について、次の(1)~(4)の探索領域種別毎に説明する。
(1)手の場合
図19は、人領域(実線の矩形)に対する、探索領域種別が手の場合の探索領域(破線の矩形)の例を示している。この例における探索領域は、人領域と重心(図の星印)が一致した、幅2×w+2×Sw×w、高さ0.2×h+2×Sh×hの矩形である。ここで、2×wおよび0.2×hの項は、手が動く可能性のある範囲である手の可動範囲を探索領域内に収めるためのものである。
また、2×Sw×w、2×Sh×hの項は、物体の大きさに比例して探索領域が変動することを意味する。また、図19から、人領域の左上座標から探索領域の左上座標の移動量(dX,dY)は(-w-Sw×w,0.4h-Sh×h)である。
このように探索領域の重心と人領域の重心とを一致させ、また手が動く可能性のある範囲をカバーするために、手の探索領域パラメータは、α1=-1、α2=-1、β1=0.4、β2=-1、γ1=2、γ2=2、δ1=0.2、δ2=2と設定している(図14の1行目の情報を参照)。
(2)足の場合
図20は、人領域(実線の矩形)に対する、探索領域種別が足の場合の探索領域(破線の矩形)の例を示している。この例における探索領域は、人領域の最下部の辺の中央(図の星印)を重心とする、幅w+2×Sw×w、高さ0.1×h+2×Sh×hの矩形である。ここで、wおよび0.1×hの項は、足の可動範囲を探索領域内に収めるためのものである。
また、2×Sw×w、2×Sh×hの項は、物体の大きさに比例して探索領域が変動することを意味する。また、図20から、人領域の左上座標から探索領域の左上座標の移動量は(-Sw×w,0.95h-Sh×h)である。
このように探索領域の重心と人領域の重心とを一致させ、また足が動く可能性のある範囲をカバーするために、足の探索領域パラメータは、α1=0、α2=-1、β1=0.95、β2=-1、γ1=1、γ2=2、δ1=0.1、δ2=2と設定している(図14の2行目の情報を参照)。
(3)左隣
図21は、人領域(実線の矩形)に対する、探索領域種別が左端の場合の探索領域(破線の矩形)の例を示している。この例における探索領域は、右下座標が人領域の左下座標と一致した、幅2×Sw×w、高さ2×Sh×hの矩形である。w、hの定数倍の項が存在しないのは、探索領域の大きさが人領域の大きさに依存せず、物体の大きさのみに依存して探索領域が変動することを意味する。
また、図21から、人領域の左上座標から探索領域の左上座標の移動量は(-2×Sw×w,h-2×Sh×h)である。
これらの探索領域の幅・高さ及び移動量を設定するために、左端の探索領域パラメータは、α1=0、α2=-2、β1=0、β2=-2、γ1=0、γ2=2、δ1=0、δ2=2と設定している(図14の3行目の情報を参照)。
(4)右隣
図22は、人領域(実線の矩形)に対する、探索領域種別が右端の場合の探索領域(破線の矩形)の例を示している。この例における探索領域は、左下座標が人領域右下座標と一致した、幅2×Sw×w、高さ2×Sh×hの矩形である。w、hの定数倍の項が存在しないのは、探索領域の大きさが人領域の大きさに依存せず、物体の大きさのみに依存して探索領域が変動することを意味する。また、図22から、人領域の左上座標から探索領域の左上座標の移動量は(w,h-2×Sh×h)である。
これらの探索領域の幅・高さ及び移動量を設定するために、右端の探索領域パラメータは、α1=1、α2=0、β1=0、β2=-2、γ1=0、γ2=2、δ1=0、δ2=2と設定している(図14の4行目の情報を参照)。
なお、探索領域特定部105は、S504において算出された探索領域の一部が画面外へはみでている場合は、画面内に収まっている部分のみを探索領域としてもよい。また、S504において算出された探索領域がすべて画面外へはみ出ている場合は、S501で選択された探索物体を除外してもよい。
以下、図5の説明に戻る。
探索領域特定部105は、S504で特定された探索領域に関する情報を、その探索物体の探索物体IDと対応付けて、探索領域管理情報1501として探索領域管理情報記憶部128に記憶させる。
図15に、探索領域管理情報1501の例を示す。図15の例では、探索物体IDと対応付けて、矩形の探索領域の左上座標、幅、高さを保持している。この例では、探索物体ID11の探索領域が、左上座標(0,155)、幅150、高さ140であることを示している。
S504の処理の後、すべての探索物体について、探索領域の算出が終了したかどうかを確認判定する(S505)。まだ探索領域を算出するべき探索物体が残っている場合(S505がNo)、S501の処理に戻る。S505において、すべての探索物体について、探索領域の算出が終了した場合(S505がYes)、S205の処理を終了する。
以上が図2におけるS205の処理の詳細の説明である。
<探索領域特定部105の変形例>
ここで、探索領域特定部105については、以下の(1)~(3)の変形例が考えられる。
(1)上述の説明では、探索領域特定部105は、人領域情報から探索領域種別に基づき探索領域を算出する方法について説明したが、これに限られない。探索領域種別である部位を直接検出することができれば、その検出情報を全部または一部利用して探索領域を算出してもよい。例えば、探索領域種別が手の探索物体の探索領域を算出する際には、山田、松尾、島田、白井著「手話認識のための見えの学習による手領域検出と形状識別」の方法により手領域を検出し、手領域の左上座標、幅、高さおよび探索物体大きさ比率から、手周辺の探索領域を算出してもよい。
(2)上述の説明では、探索領域特定部105は、S503において、探索物体の種類に基づき探索領域種別を選択した上で、S504において、探索領域種別に基づき探索領域パラメータを選択する方法について説明したが、これに限られない。探索物体の種類から、直接探索領域パラメータを選択してもよい。この場合、探索物体の種類自体に対応した探索領域を特定することができる。
具体的には、領域値情報記憶部126aにおいて、基準物体が占める領域に対する相対的な位置関係を示す探索領域のパラメータを探索物体毎に示す物体・探索領域パラメータ情報を記憶させておく。そして、探索領域特定部105は、この物体・探索領域パラメータ情報1701を用いて、探索領域パラメータを選択するとしてもよい。
図17に示すように、この物体・探索領域パラメータ情報1701は、図13の物体・探索領域種別対応情報1301と図14の探索領域パラメータ情報1401とをマージしたような情報となっている。図17の例では、ブーケの探索物体に対する探索領域パラメータが、α1=-0.25、α2=-1、β1=0.4、β2=-1、γ1=1.5、γ2=2、δ1=0.2、δ2=2であることを示している。
人領域・探索領域が矩形で表現される場合の探索領域パラメータについて、図23の例を挙げて詳しく説明する。図23は、人領域(実線の矩形)に対する、探索物体がブーケの場合の探索領域(破線の矩形)の例を示している。この例における探索領域は、人領域と重心(図の星印)が一致した、幅1.5×w+2×Sw×w、高さ0.2×h+2×Sh×hの矩形である。ここで、1.5×wおよび0.2×hの項は、手が動く可能性のある範囲である手の可動範囲を探索領域内に収めるためのものである。また、2×Sw×w、2×Sh×hの項は、物体の大きさに比例して探索領域が変動することを意味する。また、図19から、人領域の左上座標から探索領域の左上座標の移動量(dX,dY)は(-0.25×w-Sw×w,0.4h-Sh×h)である。これらの探索領域の幅・高さ及び移動量を設定するために、手の探索領域パラメータは、α1=-0.25、α2=-1、β1=0.4、β2=-1、γ1=1.5、γ2=2、δ1=0.2、δ2=2と設定している(図17の1行目の情報を参照)。
(3)上述の説明では、探索領域特定部105は、物体に対する探索領域種別の対応関係が、探索領域種別が1物体に対して1種別が割り当てられている場合について説明したが、これに限られない。探索領域種別が1物体に対して2種別以上が割り当てられている場合は、探索領域種別に対する探索領域それぞれの和集合を、対応する探索物体の探索領域としてもよい。例えば、図13の物体・探索領域種別対応情報1301の例では、入学式の看板の探索物体に対しては、左隣と右隣の2つの探索領域種別が割り当てられている。つまり、探索物体が入学式の看板の場合は、左端・右側の各探索領域パラメータを選択、各探索領域の算出を行い、2つの探索領域の和集合を探索領域とする。
以上の(1)~(3)が探索領域特定部105の変形例として考えられる。
さて、図2に戻ってフローの説明を続ける。次に、物体認識部106は、S205で特定した画像内の探索領域に対して、S204で特定した探索物体の認識処理を行う(S206)。この処理は、画像管理情報701、探索物体管理情報1101および探索領域管理情報1501を用いて行う。
ここで、S206の処理の一例を、図6のフローチャートを用いて説明する。
まず、画像に写る人のそれぞれに対してS204において特定された探索物体IDから1つ選ぶ(S601)。具体的には、図11のような探索物体管理情報1101において、ある探索物体IDを含む1行分の情報を選択する。
次に、選択した探索物体についての、画像における探索領域の画像特徴量を算出する(S602)。具体的には、探索領域管理情報1501を参照して、選択した探索物体IDに対応する探索領域を特定し、特定した領域の画像特徴量を算出する。
そして、S602で算出した画像特徴量をもとに探索物体の認識を行う(S603)。例えば、SVMによる機械学習による分類手法を用いる場合は、画像特徴量とSVMの分類器およびあらかじめ複数の画像で学習したモデルにより、分類したい物体の確からしさを表す尤度を算出し、尤度があらかじめ決められた閾値を越えているかどうかによって、分類したい物体が探索領域に存在するか否かを判定する。
S603の処理の後、すべての探索物体の認識処理が終わったかどうかを判定する(S604)。認識処理が終わっていない探索物体が残っている場合(S604がNo)は、S601に戻る。S604において、すべての探索物体について、認識処理が終了した場合(S604がYes)は、S206の処理を終了する。
このようにして、物体認識部106は、すべての探索物体に関して物体認識を行い、認識結果を、その探索物体の探索物体IDと対応付けて、物体認識管理情報1601として物体認識管理情報記憶部129に記憶させる。
図16に、物体認識管理情報1601の一例を示す。図16の例では、探索物体IDと対応付けて探索物体の認識結果を、YesまたはNoで保持している。この例では、探索物体ID11の物体について、物体認識結果はYesであること、つまり探索ID11の物体を認識できたことを示している。また、探索物体ID12の物体に対しては、認識結果はNoであること、つまり、探索物体ID12の物体を認識できなかったことを示している。
以上、実施の形態1に係る画像認識装置の構成および画像認識装置が行う処理について説明したが、以下では、実施の形態1に係る画像認識装置の動作の具体例について説明する。
<実施の形態1の具体例>
ここで、画像認識装置100が探索物体・探索領域を特定し、物体認識を行うまでの一連の流れについて、図2のフローチャートや図24を用いて具体的に説明する。図24の画像2401は、ウェディングドレスを着てブーケを持つ1人の女性が写っている写真である。
まず、図24(a)に示すように、画像取得部101は、画像2401を取得する(S201)。そして、画像取得部101は、取得した画像2401に画像ID11を付与し、画像管理情報701として、画像管理情報記憶部120に記憶させる。画像2401の画像管理情報は、図7の1行目(画像ID11が付与された画像)のような情報として管理される。
次に、図24(b)に示すように、基準物体検出部102は、入力された画像から人を検出する(S202)。基準物体検出部102は、まず顔検出を行う。顔領域の左上座標が(x,y)=(75,50)、幅が50ピクセル、高さが50ピクセルであったとする。この場合、図24(c)に示すように、図18と同様に、検出された顔領域の直下6つ分並べた大きさの長方形と顔領域を合わせた全体である領域を人領域とする。すなわち、人領域は左上座標が(x,y)=(75,50)、幅が50ピクセル、高さが350ピクセルの領域となる。基準物体検出部102は、検出された人に、人ID11を付与し、人領域の位置と大きさを特定する情報とともに人領域管理情報801に記憶させる。画像2401は、基準物体として人が1人検出されたものであるので、その人領域管理情報は図8のような情報として管理される。
次に、図24(d)に示すように、属性算出部103は、人ID11の属性を算出する(S203)。S203の具体例を、図3のフローチャートを用いて説明する。属性算出部103は、人領域管理情報801から、人ID11を選択する(S301)。そして、属性算出部103は、人ID11の服装をウェディングドレスと判定する(S302)。続いて、画像の人領域から、人ID11の性別を女性と判定する(S303)。そして、属性算出部103は、すべての人について属性判定が終了したと判定し(S304でYes)、S203の処理を終了する。以上の処理により算出された属性「ウェディングドレス・女性」は、図9の属性管理情報901の1行目(人ID11が対応付けられている。)のような情報として管理される。
次に、図24(e)に示すように、探索物体特定部104は探索物体を特定する(S204)。S204の具体例を、図4のフローチャートを用いて説明する。探索物体特定部104は、属性管理情報記憶部122に管理された情報から、人ID11および人ID11の属性「ウェディングドレス・女性」を選択する(S401)。その後、探索物体特定部104は、属性・物体対応情報1001を参照して、属性「ウェディングドレス・女性」と対応付いた探索物体としてブーケ、ケーキ、マイクを特定する。探索物体特定部104は、これらの探索物体には、それぞれ探索物体ID11、12、13を付与し、人ID11とともに探索物体管理情報1101として探索物体管理情報記憶部124に記憶させる。続いて、探索物体特定部104は、すべての人について探索物体の選択が終了したと判定し(S403でYes)、S204の処理を終了する。以上の処理により特定された探索物体「ブーケ、ケーキ、マイク」に関する情報は、図11の探索物体管理情報1101の1行目、2行目、3行目(探索物体ID11、12、13が付与された探索物体)のような情報として管理される。
次に、図24(f)に示すように、探索領域特定部105は探索領域を特定する(S205)。S205の具体例を、図5のフローチャートを用いて説明する。まず、探索領域特定部105は、探索物体管理情報1101に管理された情報から「探索物体ID=11、人ID=11、探索物体=ブーケ」を選択する(S501)。続いて、探索領域特定部105は、物体・大きさ対応情報1201によって、人に対するブーケの幅の比率としてSw=0.5、人に対するブーケの高さの比率としてSh=0.1を特定する(S502)。その後、探索領域特定部105は、物体・探索領域種別対応情報1301によって、ブーケと対応付いた探索領域種別として手を選択する(S503)。探索領域特定部105は、S504では、探索領域パラメータ情報1401によって、手の探索領域種別と対応付いた探索領域パラメータとしてα1=-1、α2=-1、β1=0.4、β2=-1、γ1=2、γ2=2、δ1=0.2、δ2=2を選択する。式1、式2、式3、式4および探索領域パラメータからブーケの探索領域算出式は、それぞれ下記の式5、式6、式7、式8で表される。
dX=-w-Sw×w (式5)
dY=0.4×h-Sh×h (式6)
W=2×w+2×Sw×w (式7)
H=0.2×h+2×Sh×h (式8)
ここで、人領域管理情報801によって、人ID11の人領域として左上座標(x,y)=(75,50)、幅w=50、高さh=350が特定される。したがって、式5、式6、式7、式8から、dX=-75、dY=105、W=150、H=140となる。すなわち、ブーケの探索領域として、左上座標が(0,155)、幅150、高さ140の矩形領域が算出される。以上のように、探索領域特定部105は、探索物体ID11の探索物体(ブーケ)に関する探索領域の算出を終えると(S505がNo)、探索物体ID12(ケーキ)、ID13(マイク)に対しても同様にS501~S504の処理を行って探索領域を算出する。探索領域特定部105は、すべての探索物体の探索領域を算出し終えると(S505がYes)、S205の処理を終了する。算出された探索領域情報は、探索物体IDと対応付けて、探索領域管理情報1501に管理され、画像2401に関するものとしては、図15の1行目、2行目、3行目(探索物体ID11、12、13が付与された探索物体)のような情報として管理される。
そして、物体認識部106は物体認識処理を行う(S206)。S206の具体例を、図6のフローチャートを用いて説明する。まず、物体認識部106は、探索物体管理情報1101から「探索物体ID=11、人ID=11、探索物体=ブーケ」を選択する(S601)。続いて、物体認識部106は、探索領域管理情報1501から探索物体ID11に対応する探索領域を特定し、特定した領域の画像特徴量を算出する(S602)。そして、物体認識部106は、S602で算出した画像特徴量を用いて、SVMにより、探索領域にブーケが存在するか否かを判定する(S603)。図24(g)にブーケについての物体認識処理のイメージを示す。
その後、物体認識部106は、探索物体ID12、13に対しても同様にして物体認識処理を行う。物体認識結果は、探索物体IDと対応付けて、物体認識管理情報1601に管理される。物体認識部106は、すべての探索物体について認識処理が終了したと判定すると(S604がYes)、S206の処理を終了する。以上の処理による物体認識結果は、図16の例では、1行目、2行目、3行目(探索物体ID11、12、13が付与された探索物体)のような情報として管理される。
本具体例では、人の属性「ウェディングドレス・女性」に基づき、探索物体「ブーケ」などに限定する。これにより、例えば、ウェディングドレス・女性という属性には適した探索物体に限定し、この属性には適さない物体を探索の対象から除くことができる。これにより物体認識の精度向上が期待できる。また、認識処理に要する負荷も軽減できる。
また、探索領域もブーケの存在が推定される領域である女性の手のあたりに限定することにより、誤認識の要因となるブーケと画像特徴量が似た他の物体を、領域から外すことができ、物体の認識精度の向上が期待できる。
以上のように、実施の形態1に係る画像認識装置100は、人の属性に基づき探索物体および探索領域を限定することで、人の属性に関連する物体を精度よく認識することができる。また、認識したい物体と属性が関係の無い人に付随する物体や、背景の画像特徴量が似ている部分における誤認識を防ぐことができる。
なお、実施の形態1で説明した画像認識装置は、典型的には、画像がどのような場面において撮影されたかを分類するために用いることができる。例えば、実施の形態1に係る画像認識装置において、ある画像の基準物体の属性としてウェディングドレスの服装を着た女性を検出できた場合、この検出結果に基づき、その画像が結婚式イベントで撮影されたものであると分類することができる。さらに、基準物体と共起(画像中に共に出現すること。)しうる物体であるケーキを検出できた場合、この検出結果に基づき、その画像が、結婚式イベントのケーキカットの場面で撮影されたものであると分類することが可能となる。
(実施の形態2)
実施の形態1では、1つの基準物体の属性情報に基づき探索物体・探索領域を選択する方法について説明を行ったが、属性情報を利用する基準物体は複数であってもよい。複数の基準物体の属性情報との関連性により、画像において存在しうる物体と、その物体が画像において存在しうる領域を絞り込むことができる。例えば、画像において横一列に並んだ基準物体が複数検出され、それらのうち隣接するいずれか2つの基準物体の間隔が他の隣接する2つの基準物体の間隔より大きい場合、間隔の大きい2つの基準物体の間に探索物体が存在する可能性が高いと考えられる。
実施の形態2に係る画像認識装置は、このような考えに基づき画像認識処理を行うものである。
<構成>
以下、本実施の形態2における画像認識装置について説明する。ここでは、属性算出部103で算出される複数の基準物体の属性情報を用いることによって、探索物体および探索領域を特定する実施例について説明する。
実施の形態2に係る画像認識装置2500の機能ブロック図を図25に示す。画像認識装置2500の構成は、図1の画像認識装置100と比較して、探索物体特定部および探索領域特定部の内部動作が異なる。以下では、実施の形態1と構成の異なる探索物体特定部2501および探索領域特定部2502について説明を行う。
探索物体特定部2501は、基準物体検出部102で取得した複数の基準物体の領域情報と、属性算出部103で取得した複数の基準物体の属性情報とから、探索物体を特定する。
探索領域特定部2502は、複数の基準物体の領域情報と、探索物体特定部2501で特定した探索物体情報とに基づき、その探索物体に対応付いた基準物体の相対探索領域種別を特定し、探索領域を算出する。
<動作>
次に、画像認識装置2500の動作について説明する。画像認識装置2500の全体動作は、図2と基本的には同様である。ただし、前述のように、探索物体特定部2501および探索領域特定部2502の動作が実施の形態1と異なることに伴い、図2におけるS204およびS205の具体的な処理が実施の形態1と異なっている。以下では、この点を中心に説明する。
図26は、実施の形態2における探索物体特定部2501の処理の一例を示すフローチャートである。なお、以下の例では、基準物体は人であり、複数とは2人であるとして説明を行う。
まず、探索物体特定部2501は、属性算出部103で検出した人の人IDから2つ選ぶ(S2601)。具体的には、図9のような属性管理情報において、ある画像において検出した2人分の人の人IDに対応する2行分の情報を選択する。
次に、探索物体特定部2501は、選択した2つの人IDに対応する属性情報および人領域情報に基づき、探索物体を特定する(S2602)。探索物体の特定は、例えば、複数人(この例では2人)の人の属性情報および人領域情報と探索物体との対応関係を示す属性・物体対応情報2801を用いて、選択した2つの人IDの属性情報と合致する探索物体を選択することにより行うことができる。ここで、属性・物体対応情報2801は、属性・物体対応情報記憶部123に記憶されている。
図28に、属性・物体対応情報2801の一例を示す。図28の例では、2人それぞれの服装・性別属性と対応付けて、2人の間の距離の条件と探索物体を保持している。この例では、ウェディングドレスを着用している女性とスーツを着用している男性の組に対して、2人の左上座標のX座標の差が2人の人領域の幅の和の0.3倍以下ならば、「ウェディングケーキ」を探索物体とすることを示している。
なお、属性・物体対応情報2801における1人目・2人目の順序と、S2601において選択した2つの人IDの順序は逆でも良い。
探索物体特定部2501は、特定された探索物体を、固有の探索物体IDと対応付けて、探索物体管理情報2901として探索物体管理情報記憶部124に記憶させる。
図29に、探索物体管理情報2901の例を示す。図29の例では、探索物体IDと対応付けて人IDおよび探索物体を管理している。この例では、探索物体ID21の物体は、人ID21および人ID22に対応する物体であり、探索物体は「入学式の看板」であることを示している。
探索物体特定部2501は、S2602の処理の後、画像に含まれるすべての2人の組合せについて、探索物体の特定が終了したかを判定する(S2603)。まだ探索物体を特定するべき組合せが残っている場合(S2603がNo)は、S2601の処理に戻る。S2603について、すべての2人の組合せにおいて、探索物体の特定が終了した場合(S2603がYes)は、探索物体特定部2501は処理を終了する。
次に、本実施の形態における探索領域特定部2502の処理の一例を、図27のフローチャートを用いて説明する。
まず、探索領域特定部2502は、S204において、画像に写る2人の組のそれぞれに対して特定された探索物体IDから1つ選ぶ(S2701)。具体的には、図29のような探索物体管理情報2901において、ある探索物体IDを含む1行分の情報を選択する。
次に、探索領域特定部2502選択した探索物体IDに対応する探索物体について、探索物体大きさ比率を選択する(S2702)。なお、探索物体大きさ比率とは、実施の形態1で説明したものと同様である。探索物体大きさ比率の特定は、例えば、探索物体と探索物体大きさ比率との対応関係を示す物体・大きさ対応情報3001から、選択した探索物体IDと合致する探索物体大きさ比率を選択することにより行うことができる。
図30に、物体・大きさ対応情報3001の一例を示す。図30の例では、探索物体と対応付けて、人の幅・高さに対する探索物体の幅の比率をそれぞれ保持している。この例では「ウェディングケーキ」の幅は、人の幅の0.5倍であり、高さは、人の高さの0.1倍であることを示している。
次に、選択した探索物体IDに対応する探索物体について、探索領域種別を特定する(S2703)。ここで、探索領域種別とは、探索物体が存在しうる領域の種別を、複数の基準物体との相対位置で定義した情報である。探索領域種別の例としては「2人の前方」「2人の間」等がある。探索領域種別の特定は、例えば、物体・探索領域種別対応情報記憶部126に記憶されている、物体・探索領域種別対応情報3101を用いて、探索物体と合致する探索領域種別を選択することにより行うことができる。
図31に、物体・探索領域種別対応情報3101の一例を示す。図31の例では、探索物体と対応付けて、探索領域種別を保持している。この例では、「ウェディングケーキ」に対する探索領域種別は「2人の前方」であることを示している。
特定された探索領域種別は、後述するステップS2704で、探索領域を算出するために用いられる。
次に、探索領域特定部2502は、特定した探索物体について、探索領域の位置と大きさを算出する(S2704)。探索領域の算出は、例えば、複数人の人領域から特定される領域の拡大縮小・平行移動によって行うことができる。例えば、人領域が矩形で表現されている場合は、探索領域パラメータ記憶部127に記憶されている探索領域パラメータ情報、および、選択した人IDの人領域情報から特定される値を、探索領域算出式に代入することにより、探索領域を算出することができる。ここで、探索領域算出式は、複数人の人領域のそれぞれの左上座標の平均値の座標を求め、求めた平均値の座標を左上座標とする領域を、拡大縮小・平行移動することにより、矩形の探索領域を算出する式である。
なお、この平均値は、以下の例では、単純平均として説明するが、人領域の大きさや人IDの重要性などに基づいて重み付けをした加重平均を用いても構わない。
探索領域算出式は、例えば、2人の人領域それぞれの左上座標の中点から探索領域の左上座標への移動量を算出する式と、探索領域の幅を算出する式と、探索領域の高さを算出する式からなる。2人の人領域の左上座標の中点から探索領域の左上座標への移動量を(dX,dY)、探索領域の幅をW、探索領域の高さをHとすると、dX、dY、WおよびHは、それぞれ例えば以下の式のように表すことができる。
dX=α1×w0+α2×Sw×w0 (式9)
dY=β1×h0+β2×Sh×h0 (式10)
W=γ1×w0+γ2×Sw×w0 (式11)
H=δ1×h0+δ2×Sh×h0 (式12)
ここで、w0は2人の人領域の幅の平均、h0は2人の人領域の高さの平均h0であり、人領域管理情報801から、選ばれた人IDを含む2行分の情報を選択することで算出することができる。Swは人領域の幅に対する探索物体の幅の比率、Shは人領域の高さに対する探索物体の高さの比率であり、S2702で特定した値である。また、α1、α2、β1、β2、γ1、γ2、δ1およびδ2は、探索領域種別により決まるパラメータである。具体的には、α1、α2は、それぞれ人領域の幅、探索物体の幅の、dXへの寄与度合い、β1、β2は、それぞれ人領域の高さ、探索物体の高さの、dYへの寄与度合い、γ1、γ2は、それぞれ人領域の幅、探索物体の幅の、探索領域の幅への寄与度合い、δ1、δ2は、それぞれ人領域の高さ、探索物体の高さの、探索領域の高さへの寄与度合いを示している。探索領域パラメータの選択は、例えば、探索領域パラメータ記憶部127に記憶されている、探索領域パラメータ情報3201を用いて、探索領域種別と合致する探索領域パラメータを選択することにより行うことができる。
本実施の形態では、上記の方法により探索領域の位置と大きさを算出するために、2人に対する相対探索領域の種別と、式9から式12に示した探索領域算出式の各係数とを対応付けて、探索領域パラメータ情報3201として探索領域パラメータ記憶部127に記憶している。
図32に、探索領域パラメータ情報3201の一例を示す。図32の例では、探索領域種別に対応付けて、探索領域算出式の係数の値を保持している。
以下では、人領域・探索領域が矩形で表現される場合の探索領域パラメータについて、図33、図34の例を挙げて詳しく説明する。図33は、2つの人領域(実線の矩形)に対する、探索物体種別が「2人の前方」の場合の探索領域(破線の矩形)の例を示している。この例における探索領域は、幅2×w0+2×Sw×w0、高さ0.2×h0+2×Sh×h0の矩形である。ここで、2×w0および0.2×h0の項は、手等の体の部位の存在範囲が幅2×w0、高さ0.2×h0の範囲で変動することに起因して探索領域が変動することを意味する。また、2×Sw×w0、2×Sh×h0の項は、物体の大きさに比例して探索領域が変動することを意味する。また、図33において、2人の人領域の左上座標の中点から探索領域の左上座標の移動量は(-0.5×w0-Sw×w0,0.4×h0-Sh×h0)である。
これらの探索領域パラメータの、α1=-0.5、α2=-1、β1=0.4、β2=-1、γ1=2、γ2=2、δ1=0.2、δ2=2は(図32の1行目の情報参照)、2人の人領域の重心の中心(図の星印)と、算出すべき探索領域の重心とが一致する値となるように設定されている。
図34は、人領域(実線の矩形)に対する、探索物体種別が「2人の間」の場合の探索領域(破線の矩形)の例を示している。この例における探索領域は、最下部の辺の中点が点P0に一致し、幅2×Sw×w0、高さ2×Sh×h0の矩形である。ここで、2人の人領域の最下部の辺の中点をそれぞれ点P1、点P2とするとき、点P0は点P1と点P2の中点である。w0、h0の定数倍の項が存在しないのは、探索領域の大きさが人領域の大きさに依存せず、物体の大きさのみに依存して探索領域が変動することを意味する。また、図34において、最下部の辺の中点が点P0に一致する条件から、2人の人領域の左上座標の中点から探索領域の左上座標の移動量は(0.5×w0-Sw×w0,h0-Sh×h0)である。この探索領域を設定するために用いる探索領域パラメータは、α1=0.5、α2=-1、β1=1、β2=-1、γ1=0、γ2=2、δ1=0、δ2=2である(図32の2行目の情報参照)。
以下、図27の説明に戻る。
探索領域特定部2502は、S2704で特定された探索領域に関する情報を、その探索物体の探索物体IDと対応付けて、探索領域管理情報1501として探索領域管理情報記憶部128に記憶する。なお、探索領域管理情報1501は、例えば、図15と同様の形式で、探索領域管理情報記憶部128に記憶されている。
S2704の処理の後、探索領域特定部2502は、すべての探索物体について、探索領域の算出が終了したかどうかを判定する(S2705)。まだ探索領域を算出するべき探索物体が残っている場合(S2705がNo)は、S2701の処理に戻る。S2705において、すべての探索物体について、探索領域の算出が終了した場合(S2705がYes)は、探索領域特定部2502は処理を終了する。
以上、実施の形態2に係る画像認識装置の構成および画像認識装置が行う処理について説明したが、以下では、実施の形態2に係る画像認識装置の動作の具体例について説明する。
<実施の形態2の具体例>
ここで、図35に示す画像3501に対して、画像認識装置2500が探索物体・探索領域を特定し、物体認識を行うまでの一連の流れについて、図2のフローチャートや図35を用いて具体的に説明する。図35の画像3501は、2人のスーツを着た男の子の間に、入学式の看板が写っている写真である。
まず、図35(a)に示すように、画像取得部101は、画像3501を取得する(S201)。取得した画像には画像ID21を付与し、画像管理情報701に管理する。画像3501に関する情報は、図7の2行目(画像ID21が付与された画像)のような情報として管理される。
次に、基準物体検出部102は、入力された画像から人を検出する(S202)。基準物体検出部102は、図35(b)に示すように、まず顔検出を行う。1人目の顔領域の左上座標が(x,y)=(50,200)、幅が48ピクセル、高さが48ピクセル、2人目の顔領域の左上座標が(x,y)=(300,180)、幅が60ピクセル、高さが60ピクセルであったとする。この場合、図18と同様に、検出された顔領域の直下6つ分並べた大きさの長方形と顔領域を合わせた全体である領域を人領域とする。すなわち、1人目の人領域は左上座標が(x,y)=(50,200)、幅が48ピクセル、高さが336ピクセルの領域、2人目の人領域は左上座標が(x,y)=(300,180)、幅が60ピクセル、高さが420ピクセルの領域となる。図35(c)に示すように、基準物体検出部102は、検出された人には順に人ID21、22を付与し、人領域とともに人領域管理情報801に記憶させる。検出された人に関する情報は、図8の2行目、3行目(人ID21、22が付与された人)のような情報として管理される。
次に、属性算出部103は、人の属性を算出する(S203)。S203の具体例を、図3のフローチャートを用いて説明する。まず、属性算出部103は、人領域管理情報801から、人ID21を選択する(S301)。続いて、属性算出部103は、人ID21の服装をスーツと、性別を男性と判定する(S302,S303)。この結果、属性管理情報901には、人ID21と対応付けて「スーツ・男性」の属性が記憶される。属性算出部103は、人ID22の属性が算出されていないためS304でNoと判定し、S301に戻る。次に、S301では、属性算出部103は、人領域管理情報801から、人ID22を選択する。属性算出部103は、S302では、人ID22の服装をスーツと判定し、S303では、人ID22の性別を男性と判定する。この結果、属性管理情報901には、人ID22と対応付けて「スーツ・男性」の属性が記憶される。S304では、属性算出部103は、すべての人について属性判定が終了したと判定し(S304でYes)、S203の処理を終了する。以上の処理により算出された属性に関する情報は、図9の2行目、3行目(人ID21、人ID22が付与された人)のような情報として管理される。
次に、図35(d)に示すように、探索物体特定部2501は、探索物体を特定する。具体例を図26のフローチャートを用いて説明する。まずS2601では、探索物体特定部2501は、人領域管理情報801から、人ID21、22およびそれぞれの人領域を選択する。S2602では、探索物体特定部2501は、属性・物体対応情報2801によって、人ID21、22に対応する探索物体を選択する。人ID21、22の人領域の左上座標のX座標の差は300-50=250であり、これは人ID21、22の人領域の幅の和(48+60=108)以上である。また、人ID21、22の属性はともに「スーツ・男性」であるため、探索物体特定部2501は、探索物体として「入学式看板」を選択する。探索物体特定部2501は、この探索物体に、探索物体ID21を付与し、人ID21、22とともに探索物体管理情報2901に記憶させる。S2603では、探索物体特定部2501は、すべての人IDの組合せについて探索物体の選択が終了したと判定し(S2603でYes)、探索物体特定部2501の処理を終了する。以上の処理により特定された探索物体に関する情報は、図29の例では、1行目(探索物体ID21が付与された探索物体)のような情報として管理される。
次に、図35(e)に示すように、探索領域特定部2502は探索領域を特定する。具体例を図27のフローチャートを用いて説明する。まず、探索領域特定部2502は、S2701では、探索物体管理情報2901から「探索物体ID=21、1人目人ID=21、2人目人ID=22、探索物体=入学式の看板」を選択する。探索領域特定部2502は、S2702では、物体・大きさ対応情報3001を参照して、人に対するブーケの幅の比率としてSw=0.5、人に対するブーケの高さの比率としてSh=0.1が選択する。S2703では、探索領域特定部2502は、物体・探索領域種別対応情報3101を参照して、「入学式の看板」と対応付いた探索領域種別として「2人の間」が選択する。S2704では、特定した探索物体の探索領域の位置と大きさを算出する。本実施の形態では、人領域管理情報801に記憶した2人の人領域に関する情報と、探索領域パラメータ情報3201に記憶した係数とを用いて、式9から式12で示した探索領域算出式により、探索領域の位置と大きさを算出する。探索領域パラメータ情報3201によって、「2人の間」の探索領域種別と対応付いた探索領域パラメータとしてα1=0.5、α2=-1、β1=1、β2=-1、γ1=0、γ2=2、δ1=0、δ2=2が選択される。式9、式10、式11、式12および探索領域パラメータから、探索領域算出式は下記の式13、式14、式15、式16で表される。
dX=0.5×w0-Sw×w0 (式13)
dY=h0-Sh×h0 (式14)
W=2×Sw×w0 (式15)
H=2×Sh×h0 (式16)
ここで、人領域管理情報801において、人ID21の人領域として左上座標(50,200)、幅48、高さ336が、人ID21の人領域として左上座標(300,180)、幅60、高さ420が記憶されている。これより、人ID21、22の人領域の左上座標の中点Mは(x0,y0)=(175,190)、幅の平均はw0=54、高さの平均はh0=378である。したがって、式13、式14、式15、式16から、dX=-54、dY=-189、W=162、H=1134となる。すなわち、探索領域として、左上座標が(121,1)、幅162、高さ1134の矩形領域が算出される。算出された探索領域情報は、探索物体ID21と対応付けて、探索領域管理情報1501に管理される。S2705では、すべての探索物体について探索領域の算出が終了したと判定され、探索領域特定部の処理が終了する。以上の処理により算出された探索領域情報は、図15の例では、4行目(探索物体ID21が付与された探索物体)のような情報として管理される。
そして、物体認識部106は物体認識処理を行う。具体例を、図6のフローチャートを用いて説明する。まず、S601では、探索物体管理情報2901から「探索物体ID=21、探索物体=入学式の看板」を取得する。S602では、探索領域管理情報1501から探索物体ID21に対応する探索領域「左上座標(121,1)、幅162、高さ1134」を特定し、特定した領域の画像特徴量を算出する。S603では、S602で算出した画像特徴量を用いて、SVMにより、探索領域に探索物体が存在するか否かを判定する。物体認識結果は、探索物体ID21と対応付けて、物体認識管理情報1601に管理される。S604では、すべての探索物体について認識処理が終了したと判定され、物体認識部の処理が終了する。以上の処理による物体認識結果は、図16の例では、4行目(探索物体ID21が付与された探索物体)のような情報として管理される。
以上のように、本実施の形態に係る画像認識装置2500は、複数の基準物体の属性から探索物体を特定し、探索物体に対応付けて相対探索領域を特定する。したがって、画像に複数人が写っている場合に、複数人の属性に関連する物体を、複数人の属性や位置関係を考慮した探索領域で探索することができる。例えば、入学式の看板(入学式のイベントにおいて「入学式」と書かれた看板)を認識する場合、人が1人しか写っていない場合は、人の左右両方に入学式の看板が存在しうるため、人の両側を探索範囲として設定する。一方、ある程度離れた間隔で2人が写っている場合には、2人の間に2人の属性と関連する物体がある可能性が高い。そのため、入学式の看板の探索範囲を2人の間に設定する。このように、物体認識の探索領域を人の数と属性・位置関係に応じて設定することができる。
(実施の形態3)
実施の形態1では、基準物体の属性情報に基づき探索物体・探索領域を選択する方法について説明を行った。これに加え、画像の撮影イベントに関する情報を用いることができる場合、探索物体を、撮影イベントにおいて存在しうる物体へとさらに絞り込むことができる。例えば、画像に和服を着用している女性が検出された場合、その写真が七五三のイベントの写真だと分かれば、千歳飴や草履といった七五三に関連する物体に探索物体を絞り込むことができ、その写真が結婚式のイベントの写真だと分かれば、ケーキやマイクといった結婚式に関連する物体に探索物体を絞り込むことができる。
実施の形態3に係る画像認識装置は、このような考えに基づき画像認識処理を行うものである。
<構成>
以下、本実施の形態3における画像認識装置について、図面を参照しながら説明する。
以下では、基準物体が人であるとし、人の属性に加えて、画像の撮影イベントに基づき探索物体を限定することにより、上記実施の形態1とは違う効果を奏する実施例について説明する。
図36に、本実施の形態3における画像認識装置3600の機能ブロック図を示す。なお、本実施の形態において、上記実施の形態1と同じ機能構成については同じ番号を付し、その説明は省略する。実施の形態3に係る画像認識装置3600では、撮影イベント特定部3601、探索物体特定部3602が、実施の形態1に係る画像認識装置100と異なる。以下では、実施の形態1と構成の異なる撮影イベント特定部3601および探索物体特定部3602について説明を行う。
撮影イベント特定部3601は、画像取得部101で取得した画像情報および属性算出部103で取得した属性情報から、撮影イベントを特定する。
探索物体特定部3602は、基準物体検出部102で取得した領域情報と、属性算出部103で取得した属性情報と、撮影イベント特定部3601で特定した撮影イベント管理情報から、探索物体を特定する。
<動作>
次に、本実施の形態に係る画像分離装置の全体動作について説明する。図37は、本実施の形態における、画像認識装置の全体動作の一例を示すフローチャートである。
ここで、S201からS203までの処理は、前述した図2のS201からS203までと同様であるため、説明を省略する。
撮影イベント特定部3601は、画像取得部101で取得した画像情報と、属性管理情報901からイベントを特定する(S3701)。具体的には、例えば、画像の撮影日時と、画像において検出された人の属性情報から、撮影イベントを特定する。人の属性情報は、例えば服装・性別等がある。
探索物体特定部3602は、属性管理情報901と、撮影イベント特定部3601で特定した撮影イベントとをもとに、探索物体を特定する(S3702)。
この後に続くS205からS206までの処理は、前述した図2のS205からS206までと同様であるため、説明を省略する。
次に、図37におけるS3701の処理の一例を、図38のフローチャートを用いて説明する。
まず、撮影イベント特定部3601は、画像取得部101で取得された画像の画像IDから1つ選ぶ(S3801)。具体的には、図7のような画像管理情報において、ある画像IDを含む1行分の情報を選択する。
次に、画像の撮影日時情報を取得する(S3802)。具体的には、S3801で画像管理情報701から取得した撮影日時情報を、画像の撮影日時とすることができる。
次に、画像に写る人の属性を取得する(S3803)。具体的には、人領域管理情報801において該当する画像IDを含む行から、画像に含まれる人に付与された人IDを取得し、属性管理情報901において該当する人IDを含む行から、画像に含まれる人の属性を取得することができる。
次に、S3802で取得した画像の撮影日時情報と、画像において検出された人の属性情報から、撮影イベントを特定する(S3804)。撮影イベントの特定は、例えば、画像から検出された人の属性や撮影日時と撮影イベントを対応づけたイベント条件情報を用いて、S3802で取得した撮影日時情報およびS3803で取得した人の属性情報が条件をみたす撮影イベントを選択することにより行うことができる。ここで、イベント条件情報は、イベント条件情報記憶部3621に記憶されている。
図40に、イベント条件情報記憶部3621が記憶するイベント条件情報4001の一例を示す。図40の例では、撮影イベントと対応付けて、撮影イベントに関連する服装・性別・撮影日時の条件を保持している。図40の1行目の例は、属性がウェディングドレス・女性の人が画像に写っていれば、撮影日時を問わず結婚式イベントを選択することを示す。また、2行目の例は、属性が和服・女性の人が画像に写っており、撮影日時が1月ならば成人式イベントを選択することを示す。これは、日本では、1月に成人の日が設定されていることに基づいている。さらに、3行目の例は、属性が和服の人が画像に写っていて撮影日時が11月ならば七五三イベントを選択することを示す。これは、7歳5歳3歳の子どもが神社に参詣するイベントである七五三は、通常11月に行われることに基づいている。
図40のようなイベント条件情報を用いて、撮影イベント特定部3601は、例えば、イベント条件情報4001の上の行から順に、服装・性別の条件を満たす人が写っており、かつ、撮影日時が条件を満たすイベントが見つかるまでイベント条件情報4001の検索を行うことにより、撮影イベントを特定する。
そして、撮影イベント特定部3601は、特定されたイベントを、撮影イベント管理情報4101として撮影イベント管理情報記憶部3622に記憶させる。
図41に、撮影イベント管理情報4101の例を示す。図41の例では、画像IDと対応付けて、撮影イベントを管理している。この例では、画像ID31の撮影イベントが七五三であることを示している。
S3804の処理の後、撮影イベント特定部3601は、すべての画像において、イベントの特定が終了したかどうかを判定する(S3805)。まだイベントを特定していない画像が残っている場合(S3805がNo)、S3801の処理に戻る。S3805において、すべての人について、探索物体の選択が終了した場合(S3805がYes)、S3701の処理を終了する。
なお、上記の説明では、1つの画像にはイベントがただ1つ特定される場合について説明したが、これに限られない。例えば、特定された属性および撮影日時がイベント条件情報4001の条件を満たすすべてのイベントを、撮影イベント管理情報4101に記憶してもよい。例えば、1月に撮影された画像で、属性が「服装=和服、性別=女性」の人と、「服装=ウェディングドレス、性別=女性」の人が検出された場合は、イベント条件情報4001の条件を満たす「結婚式」「成人式」の両撮影イベントを、画像IDと対応付けて撮影イベント管理情報4101に記憶してもよい。
また、上記の説明では、すべての属性および撮影日時を特定し、撮影イベントの特定を行う場合について説明を行ったが、これに限られない。属性および撮影日時の中で一部の情報を特定し、撮影イベントの特定を行ってもよい。この場合、特定された属性および撮影日時が満たしうるすべての撮影イベントを、撮影イベント管理情報4101に記憶してもよい。例えば、撮影日時情報が特定されていない画像で、属性が「服装=和服、性別=女性」の人が検出された場合は、イベント条件情報4001の条件を満たす「成人式」「七五三」を、画像IDと対応付けて撮影イベント管理情報4101に記憶してもよい。
また、上記の説明では、撮影イベント情報は画像情報および属性情報を用いて特定する場合について説明したが、撮影イベント情報の特定方法はこれに限られない。例えばユーザの入力により撮影イベント情報を特定してもよい。具体的には、撮影イベント特定部3601で撮影イベントを特定する代わりに、画像管理情報記憶部120で管理されている各画像に対してユーザに撮影イベント情報を入力させ、ユーザが入力した撮影イベント情報を画像IDと対応付けて撮影イベント管理情報記憶部3622に管理してもよい。
次に、本実施の形態におけるS3702の処理の一例を、図39のフローチャートを用いて説明する。
まず、探索物体特定部3602は、画像において検出した人の人IDから1つ選び、その人IDの属性を取得する(S3901)。具体的には、図9のような属性管理情報901において、ある人IDを含む1行分の情報を選択する。
次に、探索物体特定部3602は、選ばれた人IDに対応するイベント情報を取得する(S3902)。具体的には、人領域管理情報801において、選ばれた人IDを含む行の画像IDを取得することで、選ばれた人IDが撮影された画像の画像IDを特定する。そして、撮影イベント管理情報4101において、特定された画像IDを含む行の撮影イベントを取得する。
次に、探索物体特定部3602は、選ばれた人IDに対応する属性情報およびイベント情報に基づき、探索物体を特定する(S3903)。探索物体の特定は、例えば、属性・イベント・物体対応情報記憶部3623に記憶されている、属性情報・イベント情報と探索物体との対応関係を示す属性・イベント・物体対応情報4201を用いて、選択した人IDの属性情報と合致する探索物体を選択することにより行うことができる。
図42に、属性・イベント・物体対応情報4201の例を示す。図42の例では、人の服装と性別属性および撮影イベントに対応付けて探索物体を保持している。図42の1行目の例は、結婚式イベントにおいてスーツを着用している男性に対しては、ケーキ・マイクを探索物体とすることを示している。また、4行目の例は、七五三イベントにおいて和服を着る男性に対しては、七五三の祝いに定番の千歳飴(細長い棒状の飴を長い袋に入れたものである)などを探索物体とすることを示している。
そして、探索物体特定部3602は、特定された探索物体を、固有の探索物体IDと対応付けて、探索物体管理情報1101として探索物体管理情報記憶部124に記憶させる。
なお、1つの画像IDに対して、撮影イベント管理情報4101に、複数の撮影イベントが対応付けて記憶されている場合は、それぞれの撮影イベントについて探索物体を特定し、探索物体管理情報1101に記憶してもよい。例えば、1つの画像IDに対応付いた撮影イベントとして、撮影イベント管理情報4101に「結婚式」「七五三」が記憶されているとする。この場合、服装が和服、性別が女性の人に対応する探索物体は、「結婚式」の撮影イベントに対応する探索物体として「ケーキ」「マイク」を特定し、「七五三」の撮影イベントに対応する探索物体として「千歳飴」「草履」を特定する。そして、その人と対応付けて探索物体管理情報1101に「ケーキ」「マイク」「千歳飴」「草履」の探索物体を記憶してもよい。
S3903の処理の後、画像に含まれるすべての人において、探索物体の特定が終了したかどうかを判定する(S3904)。まだ探索物体を選択していない人が残っている場合(S3904がNo)は、S3901の処理に戻る。S3904において、すべての人について、探索物体の選択が終了した場合(S3904がYes)は、S3702の処理を終了する。
<実施の形態3の具体例>
ここで、図43に示す画像4301に対して、画像認識装置3600が探索物体を特定する(探索物体管理情報1101が探索物体管理情報記憶部124に管理される)までの一連の流れについて、図37のフローチャートや図43を用いて具体的に説明する。図43の画像4301は、2011年11月6日9時20分15秒に撮影された、和服を着た女の子と和服を着て千歳飴を持った男の子が並んで写っている写真である。
まず、図43(a)に示すように、画像取得部101は、画像4301を取得する(S201)。取得した画像には画像ID31を付与し、撮影日時情報とともに、画像管理情報701に管理する。図43に示す画像に関する情報は、図7の例では、3行目(画像ID31が付与された画像)のような情報として管理される。
次に、図43(b)に示すように、基準物体検出部102は、入力された画像から人を検出する(S202)。基準物体検出部102はまず顔検出を行う。1人目の顔領域の左上座標が(x,y)=(75,50)、幅が50ピクセル、高さが50ピクセル、2人目の顔領域の左上座標が(x,y)=(150,36)、幅が52ピクセル、高さが52ピクセルであったとする。この場合、図43(c)に示すように、図18と同様、検出された顔領域の直下6つ分並べた大きさの長方形と顔領域を合わせた全体である領域を人領域とする。すなわち、1人目の人領域は左上座標が(x,y)=(75,50)、幅が50ピクセル、高さが350ピクセルの領域、2人目の人領域は左上座標が(x,y)=(150,36)、幅が52ピクセル、高さが364ピクセルの領域となる。検出された人には順に人ID31、32が付与され、画像ID31、人領域とともに、人領域管理情報801に管理される。検出された人に関する情報は、図8の例では、4、5行目(人ID31、32が付与された人)のような情報として管理される。
次に、属性算出部103は、人の属性を算出する(S203)。S203の具体例を、図3のフローチャートを用いて説明する。まず、S301では、人領域管理情報801から、人ID31が選択される。S302では、人ID31の服装を和服と判定する。S303では、人ID31の性別を女性と判定する。属性管理情報901には、人ID31と対応付けて「和服・女性」の属性が管理される。属性算出部103は、S304では、人ID32の属性が算出されていないためNoと判定し、S301に戻る。次に、S301では、人領域管理情報801から、人ID32を選択する。S302では、人ID32の服装を和服と判定する。S303では、人ID32の性別を男性と判定する。属性管理情報901には、人ID32と対応付けて「和服・男性」の属性が記憶される。S304では、すべての人について属性判定が終了したと判定され(S304でYes)、S203の処理が終了する。以上の処理により算出された属性に関する情報は、図9の例では、4行目、5行目(人ID31、人ID32が付与された人)のような情報として管理される。
次に、図43(d)に示すように、撮影イベント特定部3601は撮影イベントを特定する(S3701)。具体例を図38のフローチャートを用いて説明する。まず、S3801では、画像管理情報701から、画像ID31を選択する。S3802では、画像管理情報701に管理されている情報から、撮影日時として2011年11月6日9時20分15秒を取得する。S3803では、撮影イベント特定部3601は人領域管理情報801を参照して、画像ID31で検出された人として人ID31、32が選択する。属性管理情報901から、人ID31の属性として「和服・女性」を、人ID32の属性として「和服・男性」を特定する。S3804では、イベント条件情報4001において撮影日時と人ID31の属性が七五三の条件を満たすことから、イベントとして七五三を特定する。そして、撮影イベント特定部3601は、七五三イベント情報を、画像ID31と対応付けて、撮影イベント管理情報4101に記憶させる。S3805では、撮影イベント特定部3601は、すべての画像についてイベント判定が終了したと判定し(S3805でYes)、S3701の処理を終了する。以上の処理により特定された撮影イベントに関する情報は、図41の例では、1行目(画像ID31が付与された画像)のような情報として管理される。
そして、図43(e)に示すように、探索物体特定部3602は探索物体を特定する(S3702)。具体例を図39のフローチャートを用いて説明する。まずS3901では、属性管理情報901に管理された情報から、人ID31の属性「和服・女性」を選択する。S3902では、人領域管理情報801から人ID31に対応する画像ID31が特定し、撮影イベント管理情報4101から画像ID31の撮影イベントとして七五三が特定する。S3903では、探索物体特定部3602は属性・イベント・物体対応情報4201を参照して、人ID31に対応する探索物体として「千歳飴、草履」を特定する。探索物体特定部3602は、これらの探索物体に、順に探索物体ID31、32を付与し、人ID31とともに探索物体管理情報1101に記憶させる。S3904では、探索物体特定部3602は人ID32の属性が算出されていないためNoと判定し、S3901に戻る。
次に、探索物体特定部3602は、S3901では、属性管理情報901に管理された情報から、人ID32の属性「和服・男性」を特定する。S3902では、人領域管理情報801から人ID32に対応する画像ID31が特定され、撮影イベント管理情報4101から撮影イベントとして七五三が特定される。S3903では、属性・イベント・物体対応情報4201によって、人ID32に対応する探索物体として「千歳飴、下駄」が特定される。探索物体特定部3602はこれらの探索物体に、順に探索物体ID33、34が付与し、人ID32とともに探索物体管理情報1101に記憶させる。S3903では、人について探索物体の選択が終了した(Yes)なので、S3702の処理を終了する。以上の処理により特定された探索物体に関する情報は、図11の例では、4行目、5行目、6行目、7行目(探索物体ID31、32、33、34が付与された探索物体)のような情報として管理される。
以上のように、本実施の形態に係る画像認識装置3600は、基準物体の属性に加え撮影イベントにより探索物体を特定する。したがって、基準物体の属性だけから探索物体を特定する場合と比較して、より探索物体を限定することができる。
なお、一連のイベントの中で撮影された複数の画像を入力とする場合は、撮影イベント特定部3601において、各画像の撮影時間および各画像で検出された人の属性に基づき一連の画像の撮影イベントを特定してもよい。具体的には、例えば、各画像で検出された人の属性のうち、1つでも特徴的な属性が判定された場合、一連の画像のすべてを、その特徴的な属性から特定される撮影イベントと特定してもよい。例えば、一連のイベントの中で撮影された複数の画像の中に、ウェディングドレスの服装が1つ以上判定されれば、それら複数の画像が撮影されたイベントを結婚式であると特定してもよい。さらに、例えば、各画像で検出された人の各属性のうち、最も多く特定された属性に基づき、撮影イベントを特定してもよい。例えば、一連のイベントの中で撮影された複数の画像の中で、最も多く現れる服装が和服であり、かつ複数の画像の撮影日が11月ならば、それら複数の画像のイベントを七五三と特定してもよい。
これにより、複数の画像に写る複数の人の属性情報に基づいて、撮影イベントをロバストに特定することができる。
(変形例)
以上、実施の形態に係る画像認識装置について説明したが、実施の形態は上で示したものに限らず以下のような変形例が考えられる。
(1)実施の形態1に係る画像認識装置は、画像がどのような場面において撮影されたかを分類するために用いることができることを説明した。とくに、1枚ずつ画像の物体認識をして、その結果を場面判定に利用する場合には、それまでの物体認識結果に基づいて、以降の画像に対して行う探索物体を絞り込むようにしてもよい。
つまり、1つのイベントにおいて同じ場面は2回以上現れないと考えられる(例えば、結婚式のイベントにおいてブーケトスのイベントは2回現れないだろう。)ため、それまでの処理において画像において既に認識された物体については、以降の処理においてその物体を探索対象から除外してもよい。
例えば、図44のように、画像認識装置100は、同じイベント結婚式に属する9枚の画像(画像1-1~画像4-2)の撮影日時を画像管理情報記憶部120から取得する。なお、9枚の画像は、その撮影日時や画像同士の撮影日時の間隔などに基づいて、内容不明の場面1~場面4として分けられているものとする。
そして、画像認識装置100は、画像1-1から画像4-2まで順番に図37のフローで説明した処理を行い、検出された物体を物体・場面情報4401に参照して、その画像が属する場面を決定する。
この一連の処理において、画像認識処理100は、画像1-2からマイクが検出され、画像1-1~画像1-3の場面がスピーチであると判定したとする。
そうすると、画像認識処理100は、その後の処理においては、マイクは探索物体から除外する。
続く処理において、画像2-2からウェディングケーキが検出され、画像2-1~画像2-2の場面がケーキカットであると判定されたとする。
そうすると、画像認識処理100は、その後の処理においては、マイク・ウェディングケーキ・ナイフは探索物体から除外して処理を続けることとなる。
なお、実際に検出されたマイク・ウェディングケーキに加えてナイフも探索物体から除外しているのは、物体・場面情報4401よりナイフはケーキカットの場面に特徴的な物体であるから、他の場面3,4では再登場しないだろうという推測に基づいている。
本変形例によれば、一連のイベントで撮影された画像群について、基準物体の属性に関連する物体に基づき場面を判定する際に、既に判定した場面情報を用いて、より探索物体を限定できる。
(2)前述の実施の形態1では、基準物体として比較的認識しやすい物体(オブジェクト)である人を利用する例について説明したが、基準物体は人以外の物体としてもよい。
例えば、基準物体を車としても良い。本変形例における画像認識装置100では、基準物体検出部102において画像から車を検出する。車の検出方法については、尾崎、山内、藤吉著「Joint HOG特徴を用いた2段階AdaBoostによる車両検出」に示されている方法を用いても良い。属性算出部103においては、物体に特徴的意味を付与する属性を検出する。属性としては、例えばドアの開閉やスピードが考えられる。探索物体特定部104では、車の属性に関連する物体を、探索物体として選択する。
例えば、ドアが開いている車に対しては、人を探索物体として選択し、スピードが0の車に対しては、信号機を探索物体として選択する。探索領域特定部105では、探索物体に基づき、車に対する相対探索領域種別を選択し、車の領域情報と、車に対する相対探索領域種別とに基づき、探索領域を算出する。例えば、人の探索物体に対しては、車に対する相対探索領域種別として車のドアの横が、信号機の探索物体に対しては、車に対する相対探索領域種別として車の上側が選択され、各相対探索領域種別と対応付けられた探索領域算出式の係数から、探索領域を算出する。物体認識部106は、探索物体特定部104で特定された探索物体を、探索領域特定部105で特定された探索領域において物体認識を行い、物体認識の結果を物体認識管理情報記憶部129に管理する。
本変形例によれば、車の属性に基づき探索物体および探索領域を限定することで、車の属性に関連する物体(人や信号機等)を認識することができる。
基準物体が車の場合の、属性管理情報4501および物体・探索領域種別対応情報4502の例を図45に示す。
また、基準物体としては、人、車の他にも犬、猫などのペットを用いてもよい。
この基準物体の要件としては、探索物体を認識する手がかりとなるように、対象物体より比較的認識しやすい物体(人を含む)であれば構わない。
ここで、基準物体が探索物体より「比較的認識しやすい」とは、基本的には物体認識技術の分野において高精度に認識が可能であることが知られたものであることを示す。もっとも、本実施の形態の手法を採用する画像認識装置において実際に実行可能な物体認識手法の種類や、認識処理に許容される処理負荷・処理時間など様々な要因に応じて、基準物体および探索物体たり得るものは変わり得る。また、将来的な物体認識技術の動向に応じてこれら基準物体および探索物体たり得るものは変わる可能性がある。
(3)上記の各実施の形態で説明した画像認識装置は、例えば、当該画像認識装置の機能を備える、BDレコーダ等のAV機器、パーソナルコンピュータ、およびサーバ端末などの据置き型端末、または、デジタルカメラや携帯電話などのモバイル型端末などとして実現することが可能である。
さらに、上記の実施の形態で説明した手法をネットワークサービスとして提供するサーバ装置とすることも可能である。この場合、コンテンツが蓄積されたAV機器、パーソナルコンピュータ、デジタルカメラなどからネットワークを介してコンテンツを受信すると、受信したコンテンツに対して上記の実施の形態で説明した手法による画像認識処理を行い、その処理結果を、ネットワークを介してAV機器、パーソナルコンピュータ、デジタルカメラなどに送信するようにすればよい。
なお、この場合において、画像認識装置が外部機器から受信したコンテンツと内部で蓄積しているコンテンツとの双方を対象として、上記の実施の形態で説明した手法による画像認識処理を行うようにしてもよい。
また、上記の実施の形態で説明した手法の手順を記述したプログラムをメモリに記憶しておき、CPU(Central Processing Unit)などがメモリからプログラムを読み出して、読み出したプログラムを実行することによって、上記の手法が実現されるようにしてもよい。
また、当該手法の手順を記述したプログラムをDVD等の記録媒体に格納して、頒布するようにしてもよい。また、当該手法の手順を記述したプログラムをインターネット等の伝送媒体を介して広く流通させてもよい。
上記の各実施の形態に係る各構成は、集積回路であるLSI(Large Scale Integration)として実現されてもよい。これらの構成は、1チップ化されても良いし、一部又はすべてを含むように1チップ化されてもよい。ここでは、LSIと表現したが、回路の集積度の違いによっては、IC(Integrated Circuit)、システムLSI、スーパーLSI、ウルトラLSIと称呼されることもある。また、集積回路化の手法は、LSIに限られるものではなく、専用回路または汎用プロセッサで集積回路化を行ってもよい。また、LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサー(ReConfigurable Processor)を用いてもよい。あるいは、これらの機能ブロックの演算は、例えば、DSP(Digital Signal Processor)やCPU(Central Processing Unit)などを用いて演算することもできる。さらに、これらの処理ステップはプログラムとして記録媒体に記録して実行することで処理することもできる。
(4)認識された物体や、その物体に基づいて分類された場面については、以下のような利用形態が考えられる。
第一に、認識された物体に応じたデコアイテムを付加するようにしてもよい。
図46(a)の例では、「ウェディングドレス・女性」という属性情報に基づいて画像4601からブーケが認識されている。そして、このブーケに対応する結婚式専用の花束のデコアイテム4601aを付加している。
このような処理は、例えば認識された物体とデコアイテムとを対応付けた情報を、画像認識処理装置内に予め準備しておくことにより実現できる。
なお、このようなデコアイテムは、デジタルスチルカメラなどの撮影機器を用いて撮影する際に、その表示画面上においてリアルタイムに自動的に付加するような例も考えられる。
第二に、画像のトリミングにおいて認識された物体を利用して行うことが考えられる。
図46(b)の例では、画像4602には、属性情報が「スーツ・男性」の人と「ウェディングドレス・女性」の人とが写っている。また2人の前方からはウェディングケーキが認識されている。この場合、画像認識処理は、この2人とウェディングケーキとが入るようにトリミングした画像4603を生成する。このように属性が特別な人物や認識された物体が入るようトリミングするとしてもよい。
第三に、レイアウトの構成に利用することができる。
図46(c)の例では、1ページ目のページ枠4604の画像4604aからウェディングケーキが物体認識処理により認識され、2ページ目のページ枠4605の画像4605aからはブーケが物体認識処理により認識されたものである。この認識結果に基づいて、画像認識装置の場面判定部は、画像4604a、4605aにそれぞれケーキカットの場面、ブーケトスの場面として判定している。なお、画像4605b,4605cは、例えば、画像4605aに撮影日時が近い画像である。
このように、物体認識処理の結果により判定された場面をアルバムやスライドショーの作成に利用することができ、場面の流れに応じたレイアウト構成が可能となる。
(5)各実施の形態で説明した構成を、機器とクラウドサーバーとを連携させて実現する構成も考えられる。
例えば、図47(a)(b)の例では、機器4701からクラウドサーバー4702に対して、画像をアップロードする。クラウドサーバー4702側では、アップロードされた画像に対して、図2で説明したような一連の処理を行い、機器4701に対して認識結果を通知する。
このような構成によれば、特に負荷の大きい処理をクラウドサーバー4702側に担わせることで、処理の分散化や高速化をもたらすことができる。また、図47(a)に示すように、クラウドサーバー4702の探索物体DB4702aや分類モデル4702bのデータを適宜更新することにより、認識可能な物体の対象数の増加や認識精度の向上を期待できる。
なお、機器4701で比較的軽い処理(例えば、図2のS202の人検出処理)を行い、画像に加えてその処理結果を機器4701からクラウドサーバー4702側にアップロードするような構成でもよい。
また、図47(b)に示すように、機器4701で基準物体検出処理(図2:S202)を行い、その処理結果を機器4701からクラウドサーバー4702に送るとしてもよい。このような構成は、クラウドサーバー上での基準物体検出処理を避けたい場合に有用である。
また、図47(c)に示すように、機器4701で属性算出処理(図2:S203)を行い、その処理結果を機器4701からクラウドサーバー4702に送り、クラウドサーバー4702から機器4701へはその属性と共起する可能性のある物体を特定する情報(例えば、属性「ウェディングドレス・女性」に対するブーケ)とその物体のモデル(例えばブーケのモデル)とを送るとしてもよい。このような構成によれば、多種多様な物体毎の物体のモデルを機器4701側で保持する必要がなくなるので、物体のモデルの容量がもたらす機器のストレージ容量の圧迫を避けることができる。
(6)図24(g)では、物体認識処理の結果は存在有り(Yes)、存在無し(No)のいずれかであるとして説明したが、モデルとの一致度を示す尤度に基づいて表示を段階的に変更するとしてもよい。
例えば、尤度がそれほど高くはない場合には、図48に示すように「ブーケがあるかも?」というメッセージを表示している。
ブーケのように物体認識精度が比較的低いものについては、このように曖昧な表示をすることによりその精度の不確定さをユーザに知らせることができ、ユーザの使いやすさ向上が見込まれる。
(7)探索領域特定部105による探索領域の特定に際しては、探索物体に合わせたデプス範囲を加味して行うようにしてもよい。
図49に本変形例における探索領域を特定する処理の一例を示すフローチャートである。
図5と同じステップ番号を付したS501~S505は実施の形態1で説明した処理と同様である。
基準物体が人、探索物体がウェディングケーキである例を用いてS4901、S4902を以下説明する。
探索領域特定部105は、属性管理情報4903を参照して、基準物体が「人」、探索物体が「ウェディングケーキ」に対応するデプス範囲1m~0mを取得する(S4901)。なお、図49に例示したデプス範囲は、焦点距離を基準の0mとし、その部分より手前をプラス、その部分より奥をマイナスであるとしている。
取得後、探索領域特定部105は、探索領域管理情報記憶部128が記憶する探索領域管理情報1501を参照して、S504で算出された「ウェディングケーキ」の探索領域の座標値、幅、高さを取得する。そして、探索領域特定部105は、取得した探索領域の中からデプス範囲0m~1mの範囲外を除外した修正後の探索領域を算出し、算出した探索領域の座標値、幅、高さを探索領域管理情報1501に上書きする(S4902)。
図50の例では、画像5001は、男女2名の前方にウェディングケーキが写っている。この例の場合、S504により算出された探索領域のうち、男性の左側の奥の領域が写り込んだ部分のデプス範囲はマイナスであることから、探索領域特定部105は、この部分を除外した領域を修正後の探索領域として算出している。
なお、画像のデプスを特定する方法については、例えば、ピクセル毎にデプス情報の埋め込みがなされている画像を用いる場合には、その埋め込まれたデプス情報をそのまま利用することができる。複眼カメラにより撮影された画像ならば、このようなデプス情報の埋め込みは容易である。もっとも、このような埋め込みの無い画像であっても、画素情報やExif情報に含まれる被写体までの焦点距離などを利用して、探索領域特定部105において画像からデプスマップを予め推定するとしてもよい。
なお、属性管理情報4903としては、「相対探索領域種別」の列は省略しても構わない。
(8)実施の形態1では、探索領域を決めるに際しては、移動量(dX,dY)や、人の幅・高さに対する大きさの比率を考慮するとして説明したが、これに限られない。
例えば、移動量(dX,dY)は、移動の方向と大きさとの双方を示すとしたが、移動の方向だけを規定するようにしてもよい。具体的には、正面を向いた人々が多数写るような集合写真の画像においては、人々が向いている方向を移動の方向とし、人領域の下側を探索領域として特定するようにしてもよい。また、画像の左半分側に人が写る画像においては、その人の領域から右方向に移動させた領域を探索領域としても構わない。
(9)実施の形態1,2では、図24,図35のように、人領域に関係する左上座標を移動させた後で、移動先の座標を起点としてある高さと幅を持った探索領域を算出するとして説明したが、座標点の移動は必ずしも必須ではない。
例えば、図23の例では、人領域の重心(図23の星印)を先に求めた上で、この重心を中心としてある高さと幅とを持った探索領域を算出するとしてもよい。
また、図33の例では、2人の人領域の重心(図33の星印)を先に求めた上で、この重心を中心としてある高さと幅とを持った探索領域を算出するとしてもよい。
(10)実施の形態1においては、探索物体の名称を説明に用いる都合上、図10~図13、図17、図28~図31などの各情報において、探索物体の名称を含めていたが、これらの名称を探索物体の識別子(ID)にすべて置き換えても構わない。また、置き換えた上で、探索物体の識別子と探索物体の名称とを対応付けたテーブルを別途用意しておき、ユーザへの認識結果の表示の際においては同テーブルを参照して探索物体の名称を表示に供するとしてもよい。
(補足)
以上述べた実施の形態およびその変形例は、以下の態様を含むものである。
(1)実施の形態に係る画像認識装置は、画像内から第1物体を認識する第1認識手段と、認識された第1物体の属性を示す属性情報を算出する算出手段と、属性情報毎に第2物体を示す識別子を対応付けた物体対応情報を参照して、算出された属性情報に対応する第2物体を示す識別子を特定する物体特定手段と、前記第1物体が占める第1領域に基づいて第2領域を特定するために用いる値を第2物体を示す識別子毎に対応付けた領域値情報を参照して、特定された識別子に対応する値を用いて第2領域を特定する領域特定手段と、特定された第2領域を対象として、前記特定された識別子に対応する第2物体を認識する第2認識手段と、を備える。
(2)(1)において、前記第2領域の特定に用いる値とは、前記第1領域に対する第2領域の相対的な位置関係を示す値であるとしても構わない。
(3)(2)において、前記相対的な位置関係を示す値は、前記第1領域に基づく点に対する特定すべき第2領域内の点への移動の方向の値とその大きさの値とを含み、前記領域特定手段は、前記領域値情報を参照し、前記特定された識別子に対応する移動の方向の値とその大きさの値とに基づいて、認識された第1物体が占める第1領域に基づく点を移動させ、移動先の点を含む領域を前記第2領域として特定するとしても構わない。
(4)(3)において、前記相対的な位置関係を示す値は、前記第1領域の幅と高さとのそれぞれに対する特定すべき第2領域の幅および高さの比率の値を含み、前記領域特定手段は、前記領域値情報を参照し、前記特定された識別子に対応する幅と高さとのそれぞれの比率に基づいて特定すべき第2領域の幅と高さとを求め、前記移動先の点を含み求めた幅および高さを有する領域を前記第2領域として特定するとしても構わない。
(5)(1)において、前記第1認識手段は、複数の第1物体を認識し、前記算出手段は、認識された複数の第1物体毎に、それぞれの属性情報を算出し、前記物体対応情報は、複数の属性情報の組合せと第2物体を示す識別子とを対応付けており、前記物体特定手段は、前記物体対応情報を参照し、算出された複数の属性情報に基づいて、前記第2物体を示す識別子を特定するとしても構わない。
(6)(5)において、前記物体対応情報における前記組合せは、認識された複数の第1物体それぞれが占める第1領域同士の間隔に関する大きさの項目を含み、前記物体特定手段は、前記物体対応情報を参照し、算出された複数の属性情報と、認識された複数の第1物体それぞれが占める第1領域同士の間隔の大きさとに基づいて、前記第2物体を示す識別子を特定するとしても構わない。
(7)(5)において、前記領域値情報は、前記第2領域の特定に用いる値として、前記第1領域同士の間隔が第1値以上の場合には、前記各第1領域とは重ならない前記第1領域同士の間の領域を特定すべき第2領域とする旨の値と、前記第1領域同士の間隔が前記第1値より小さい第2値以下の場合には、前記画像内の前記第1領域と部分的に重なる領域を特定すべき第2領域とする旨の値とを含むとしても構わない。
(8)(1)において、前記物体対応情報は、前記属性情報とイベントとの組合せ毎に第2物体を示す識別子を対応付けたものであって、さらに、前記画像が撮影されたイベントを特定する撮影イベント特定手段を備え、前記物体特定手段は、前記物体対応情報を参照して、前記算出された属性情報に基づくことに加えて、前記特定されたイベントに基づいて、前記第2物体を示す識別子を特定するとしても構わない。
この構成によれば、画像が撮影されたイベントに基づいて、第2物体を示す識別子を特定でき、適切な特定が可能となる。
(9)(1)において、前記画像が撮影されたイベントを特定する撮影イベント特定手段と、イベントを構成する場面毎に第2物体の識別子を対応付けた場面情報を参照して、前記第2認識手段により認識された第2物体に対応する識別子に基づいて、認識対象とした画像の場面を判定する場面判定手段と、を備えるとしても構わない。
この構成によれば、場面の判定結果を、例えば画像の分類に利用することができる。
(10)(9)において、前記撮影イベント特定手段により特定されたイベント情報が同一のイベントをそれぞれ示す複数の画像に対して、逐次画像毎に前記各手段による処理を行う場合において、前記第2認識手段により前記複数の画像の内の一の画像において一の第2物体が認識された後、それ以降前記複数の画像の内の他の画像に対して前記物体特定手段が前記特定を行うときには、前記場面情報を参照し、その認識された第2物体の識別子の場面と同一の場面が対応付けられた第2物体の識別子に対応する第2物体については、その特定の対象から除外するとしても構わない。
この構成によれば、特定の対象から除外することで、以降の処理においてより限定した適切な物体を第2物体として特定することに寄与する。
(11)実施の形態に係る画像認識方法は、画像内から第1物体を認識する第1認識ステップと、認識された第1物体の属性を示す属性情報を算出する算出ステップと、属性情報毎に第2物体を示す識別子を対応付けた物体対応情報を参照して、算出された属性情報に対応する第2物体を示す識別子を特定する物体特定ステップと、前記第1物体が占める第1領域に基づいて第2領域を特定するために用いる値を第2物体を示す識別子毎に対応付けた領域値情報を参照して、特定された識別子に対応する値を用いて第2領域を特定する領域特定ステップと、特定された第2領域を対象として、前記特定された識別子に対応する第2物体を認識する第2認識ステップと、を含む。
(12)実施の形態に係るプログラムは、コンピュータに画像認識処理を実行させるためのプログラムであって、前記画像認識処理は、画像内から第1物体を認識する第1認識ステップと、認識された第1物体の属性を示す属性情報を算出する算出ステップと、属性情報毎に第2物体を示す識別子を対応付けた物体対応情報を参照して、算出された属性情報に対応する第2物体を示す識別子を特定する物体特定ステップと、前記第1物体が占める第1領域に基づいて第2領域を特定するために用いる値を第2物体を示す識別子毎に対応付けた領域値情報を参照して、特定された識別子に対応する値を用いて第2領域を特定する領域特定ステップと、特定された第2領域を対象として、前記特定された識別子に対応する第2物体を認識する第2認識ステップと、を含む。
(13)実施の形態に係る集積回路は、画像内から第1物体を認識する第1認識手段と、認識された第1物体の属性を示す属性情報を算出する算出手段と、属性情報毎に第2物体を示す識別子を対応付けた物体対応情報を参照して、算出された属性情報に対応する第2物体を示す識別子を特定する物体特定手段と、前記第1物体が占める第1領域に基づいて第2領域を特定するために用いる値を第2物体を示す識別子毎に対応付けた領域値情報を参照して、特定された識別子に対応する値を用いて第2領域を特定する領域特定手段と、特定された第2領域を対象として、前記特定された識別子に対応する第2物体を認識する第2認識手段と、を備える。