以下、添付図面を参照しながら本発明の実施形態について説明する。なお、以下の実施形態において示す構成は一例に過ぎず、図示された構成に限定されるものではない。
(第1の実施形態)
図1は、本実施形態に係るシステム構成を示す図である。画像処理装置100は、後述する画像処理を実行する装置である。なお、画像処理装置100は、例えば、後述する画像処理の機能を実現するためのプログラムがインストールされたパーソナルコンピュータなどによって実現される。
表示装置101は、画像処理装置100に接続され、後述する画像処理により出力される画像やUI(user interface)などをユーザーが閲覧するための表示装置である。撮影装置102は、画像を撮影する装置であり、例えば、ネットワークを介して撮影した画像データなどを送信できるネットワークカメラなどである。
記憶装置103は、撮影装置102で撮影された画像の画像データなどを記憶することができる装置である。また、画像処理装置100、撮影装置102、および記憶装置103は、ネットワーク104を介して通信を行う。なお、本実施形態において、ネットワーク104は有線による通信を用いたネットワークでもよいし、無線による通信を用いたネットワークでもよい。
また、図1の構成では、撮影装置102により撮影された画像の画像データや記憶装置103にて記憶された画像データなどが画像処理装置100に送信される。ただし、本実施形態はこれに限定されるものではない。例えば、撮影装置102で撮影された画像の画像データが、一旦他の外部装置のストレージデバイスに保存され、その後、他の外部装置により画像処理装置100へ送信される構成であってもよい。
図2は、本実施形態に係る画像処理装置の機能ブロック図である。なお、図2に示す各機能ブロックは、ソフトウェアモジュールのみで実現されてもよいし、ハードウェアモジュールのみで実現されてもよい。また、ソフトウェアモジュールとハードウェアモジュールを複合させて実現されてもよい。
また、後述する画像処理において、本実施形態に係る画像処理装置によって、画像に含まれる特定の物体が検出される。特定の物体は、画像内からユーザーが検出しようとする対象である。なお、本実施形態における特定の物体は人物の顔として説明するが、これに限定されない。例えば、人物の頭・肩・腰・手足などの身体の一部、人物の全身、または車両などを特定の物体として後述する画像処理を実行してもよい。
通信部201は、撮影装置102により撮影された画像の画像データなどを受信する。なお、通信部201は、例えば、記憶装置103に記憶された画像データ、またはネットワーク104を介して他の外部装置のストレージデバイスから送信された画像データなどを受信してもよい。
検出部202は、算出部207と記憶部208と判別部209とを有し、画像に含まれる人物の顔を検出する検出処理を行う。
算出部207は、画像に含まれる画像領域に人物の顔が含まれることの確からしさを示す信頼度を算出する。なお、この信頼度の値が大きいほど、実際の人物の顔である確率が高いことを示す。
記憶部208は、算出部207で算出された、画像に含まれる画像領域に人物の顔が含まれることの確からしさを示す信頼度、当該画像領域の位置、および後述する閾値や特定範囲に関する情報などを記憶する。なお、本実施形態における画像領域や特定範囲の位置は、具体的には、受信した画像の左上の頂点を原点とするxy座標で表される。
判別部209は、算出部207にて算出された信頼度と、画像領域に人物の顔が含まれるかを判別する基準となる閾値とを比較する。そして、閾値より信頼度が大きい場合、判別部209は、該信頼度に対応する画像領域に人物の顔が含まれると判別する。なお、初期段階における閾値は、画像の全体に設定されたものである。
出力制御部203は、判別部209によって人物の顔が含まれていると判別された画像領域の信頼度と、該画像領域の位置を示す検出枠と、各検出枠に対応する番号と、を通信部201で受信した画像に重畳させて、表示装置101に出力する。また、本実施形態における出力制御部203は、各検出枠に対応する番号ごとに選択項目を生成し、表示装置101に、生成された選択項目を含むリストも表示する。なお、画像領域の信頼度と、該画像領域の位置を示す検出枠と、各検出枠に対応する番号と、が重畳されて表示装置101に出力される画像は、静止画でもよいし、動画でもよい。
操作受付部204は、キーボードやマウスなどの入力装置(不図示)を介してユーザーにより行われた画像に関する操作を受け付ける。
範囲決定部205は、操作受付部204にて受け付けたユーザーによる操作に対応する画像内の物体と、当該物体に対応する画像内における範囲である特定範囲とを決定する。
検出処理変更部206は、範囲決定部205により決定された画像内の物体が人物の顔であると検出部202により検出されることが抑制されるように、該物体に対して行われた検出処理の結果に基づいて、特定範囲における検出処理を変更する。なお、本実施形態における検出処理変更部206は、特定範囲における範囲決定部205により決定された物体に対応する信頼度より閾値が大きくなるように、特定範囲における閾値を変更することで、特定範囲における検出処理を変更する。検出処理変更部206で変更された特定範囲での閾値、および、画像内の特定範囲の位置は記憶部208にて記憶される。
検出処理変更部206によって検出部202における検出処理が変更された後、記憶部208に記憶された情報に基づいて、通信部201にて受信される画像データに対する検出処理が検出部202により行われる。
次に、算出部207が行う処理について更に詳細に説明する。本実施形態における算出部207は、通信部201で受信された画像内を、予め設定されているテンプレートで走査し、各画像領域の画素とテンプレートとの差分値を算出する。算出された差分値に基づいて、SSD(Sum of Squared Difference)やSAD(Sum of Absolute Difference)を計算する。そして、これらSSDやSADが小さくなるほど、画像領域毎のテンプレートとの一致度が高くなるように各画像領域の一致度を算出する。なお、本実施形態におけるテンプレートは、人物の顔の画像領域を検出するためのテンプレートであり、人物の頭部付近の形状に似た形状、および、人物の肌色に合わせたテンプレートである。よって、本実施形態における一致度は、画像領域に人物の顔が含まれることの確からしさを示す信頼度を表す。
なお、本実施形態におけるテンプレートを用いて、画像領域中の肌色成分を検出する際には、人種や照明光などの影響を考慮して、必ずしも一般的な肌色ではない色を含めてもよい。すなわち、受信した画像の画像領域とテンプレートとの比較の際には、人種や照明光などの影響を考慮した略肌色の領域を肌色領域とみなし、それら略肌色の領域が多ければ一致度を高くするようにしてもよい。
また、一致度は、肌色成分の領域の面積に応じた一致度に限定されない。例えば、受信した画像にエッジ検出フィルタ処理を施して、エッジ検出フィルタ処理後の各画像領域のエッジ成分以外の領域とテンプレートにおけるエッジ成分以外の領域との一致度であってもよい。また、一致度は、エッジ検出フィルタ処理を施した画像において、各画像領域のエッジ成分とテンプレートのエッジ成分との一致度であってもよい。また、受信した画像に対して予め適用する処理としては、エッジ検出フィルタ処理以外にも、輝度色差成分への色変換処理や、拡大縮小処理や回転処理であってもよく、この場合、それら処理後の画像とテンプレートの一致度を求める。なお、拡大縮小処理は、受信した画像における様々なサイズの人物の顔とテンプレートとを合わせるため、回転処理は、受信した画像において人物の顔の傾きとテンプレートとを合わせるために行われる。
また、拡大縮小処理や回転処理などは、受信した画像に対して施すのではなく、テンプレートに対して施すようにしてもよい。また、人物の顔の検出処理を実行する際に、テンプレートに対してそれら処理を施すのではなく、それら処理がなされた複数のテンプレート群を予め用意しておいてもよい。
なお、上述した処理は、複数のテンプレートを予め用意しておく場合だけでなく、予め保持していたテンプレートに対して幾何学変換処理を施すことで、複数のテンプレートを生成した場合にも適用可能である。
以上、本実施形態における算出部207の処理について、特定の物体を人物の顔であるとして説明を行ったが、これに限定されない。例えば、人物の頭・肩・腰・手足などの身体の一部、人物の全身、もしくは車両などを特定の物体としてもよく、その場合、それぞれの特定の物体に適したテンプレートを用いて本実施形態に係る画像処理を行えばよい。また、本実施形態では、テンプレートを用いた特定の物体の検出方法について述べたが、物体の検出方法はこの方法に限らない。例えば、局所特徴量と統計的解析手法を用いて人物の顔などを検出してもよい。具体的には、顔の局所的な明暗差から人物の顔であるかを判断する、Haar-like特徴を用いた顔識別機によって、画像領域に人物の顔が含まれることの確からしさを示す信頼度を算出してもよい。
次に、第1の実施形態における画像処理について図3のフローチャートを参照して説明する。図3は、本実施形態に係る画像処理の流れを示すフローチャートである。図3に示すフローチャートの処理は、主に図2の各機能ブロックにより行われる。
ステップS300にて、通信部201は、撮影装置102で撮影された画像の画像データや、記憶装置103にて記憶された画像データを、ネットワーク104を介して要求する。
次に、ステップS301にて、通信部201は要求した画像データを受信する。
次に、ステップS302にて、受信した画像データに対して、検出部202が画像に含まれる人物の顔を検出する検出処理を行う。ここで検出部202における検出処理について、図4を用いて、詳細に説明する。
図4(a)は、本実施形態における算出部207による信頼度の算出処理の結果を、通信部201にて受信した画像に示した図である。図4(a)において、領域401は、人物402の顔を含んでおり、算出された信頼度は78ポイントである。鉢植え404における領域403に対して算出された信頼度は60ポイントである。領域405は、人物406の顔を含んでおり、算出された信頼度は85ポイントである。人物が映ったポスター408における領域407に対して算出された信頼度は80ポイントである。このように、ポスター408に対応する領域407の信頼度は、人物402に対応する領域401の信頼度よりも高い数値となっており、領域407において人の顔を含んでいると検出されてしまうおそれがある。また、猫410における領域409に対して算出された信頼度は55ポイントである。
算出部207で算出された、画像に含まれる画像領域の信頼度、および、当該画像領域の位置は記憶部208に記憶される。なお、本実施形態における画像領域の位置は、受信した画像の左上の頂点を原点とするxy座標で表される。例えば、1920×1080ピクセルの解像度を想定すると、図4(a)における領域401の位置は、領域401における4つの頂点の座標、(100,140)と、(420,140)と、(100,410)と、(420,410)と、で定められる。
判別部209は、算出部207にて算出された信頼度と、画像全体に設定されている初期段階の閾値とを比較する。そして、閾値より信頼度が大きい場合、該信頼度に対応する画像領域に人物の顔が含まれると判別する。
画像の全体に設定されている初期段階での閾値は、本実施形態においては事前に設定された値の69ポイントとする。よって、図3に示すステップS302の段階では、図4(a)における領域401、領域405、領域407が、人物の顔を含む領域であると判別される。なお、ステップS302の段階では、ポスター408における領域407が、人物の顔を含むと判別されているが、後述するステップS303~S307のステップを経て、領域407は、人物の顔を含む領域であると判別されなくなる。また、本実施形態では、画像の全体に設定された閾値を事前に設定された値としたが、これに限定されない。例えば、領域401と、領域403と、領域405と、領域407と、領域409にそれぞれ対応する信頼度を出力制御部203により通信部201で受信した画像に重畳させて、表示装置101に表示させる。そして、表示された各領域に対応する各信頼度をユーザーが確認しつつ、ユーザーが任意に閾値を設定してもよい。これにより、画像の全体に設定される閾値をより最適な値にすることができる。以上説明したように、検出部202は画像から人物の顔を検出する検出処理を行う。
次に、図3に示す本実施形態に係る画像処理のフローチャートの説明に戻る。ステップS303にて、出力制御部203は、人物の顔が含まれていると判別された画像領域の信頼度と、該画像領域の位置を示す検出枠と、各検出枠に対応する番号と、を通信部201で受信した画像に重畳させて、表示装置101に出力する。また、本実施形態における出力制御部203は、各検出枠に対応する番号ごとに選択項目を生成し、表示装置101に、生成された選択項目を含むリストも表示する。これにより、ステップS302において検出部202により人物の顔であると検出された物体の中から、人物の顔であると検出すべきではなかった物体を、ユーザーは容易に確認しつつ選択することができる。なお、画像領域の信頼度と、該画像領域の位置を示す検出枠と、各検出枠に対応する番号と、が重畳されて表示装置101に出力される画像は、静止画でもよいし、動画でもよい。
図4(b)は、出力制御部203の処理に基づいて出力された画像である。また、本実施形態において、検出枠401bは、領域401に対応する枠であり、対応する番号は(1)である。検出枠405bは、領域405に対応する枠であり、対応する番号は(2)である。検出枠407bは、領域407に対応する枠であり、対応する番号は(3)である。また、リスト420bにおいて、各検出枠に対応する番号ごとに生成された選択項目が表示されている。
選択項目411bは、番号(1)の検出枠401bに対応する。選択項目415bは、番号(2)の検出枠405bに対応する。選択項目417bは、番号(3)の検出枠407bに対応する。なお、ポイントという表記について、種々の変更が可能である。例えば、値を表示せずに信頼度を低・中・高などと表示してもよい。また、本実施形態では信頼度を画像中に表記しているが、表記しなくてもよい。
次に、ステップS304にて、操作受付部204は、キーボードやマウスなどの入力装置(不図示)を介してユーザーにより行われた操作を受け付ける。
次に、ステップS305にて、範囲決定部205は、ステップ304にて受け付けたユーザーによる操作に対応する画像内の物体と、当該物体に対応する特定範囲とを決定する。以下、本実施形態における操作受付部204および範囲決定部205の処理について更に詳細に説明する。
本実施形態における操作受付部204は、ユーザーによるリスト420bから選択項目のいずれかを選択する操作を受け付ける。ここでは、ユーザーによって選択項目417bが選択されたものとする。その場合、範囲決定部205は、操作受付部204にて受け付けたユーザーの操作に基づいて、ポスター408に対応する領域407に含まれる物体を、ユーザーによる操作に対応する物体として決定する。つまり、領域407に含まれるポスター408に描かれた人物の顔部分がユーザーによる操作に対応する物体として決定される。このとき、出力制御部203は、領域407に対応する検出枠407bの色を変更し、ユーザーによる操作に対応する物体が決定されたことを、ユーザーが視認できるようにしてもよい。なお、ここでの物体は、現段階において、閾値を上回る信頼度の画像領域に含まれる物体である。
そして、図4(c)に示される、領域407に含まれる該物体に対応する特定範囲407cを決定する。なお、図4(c)は、範囲決定部205により決定された特定範囲407cを画像中に示した図である。また、本実施形態において、範囲決定部205により決定される特定範囲407cは、領域407を包含し、かつ、領域407の面積より大きな範囲とする。ただし、特定範囲407cは、領域407と同じ範囲でもよいし、特定の物体の範囲に沿った範囲でもよい。また、出力制御部203は、通信部201で受信した画像に特定範囲407cを示す枠を重畳させて、表示装置101に出力してもよい。これにより、ユーザーは特定範囲407cを視認することができる。
なお、本実施形態において、操作受付部204は、ユーザーによるリスト420bから選択項目のいずれかを選択する操作を受け付けるとしたが、これに限定されない。例えば、操作受付部204は、検出枠401b、405b、407bが重畳された画像において、ユーザーが画像内の一点をマウスで指定した操作などを受け付けてもよい。これにより、ステップS302において検出部202により人物の顔であると検出された物体の中から、人物の顔であると検出すべきではなかった物体を、ユーザーは容易に確認しつつ選択することができる。なお、この場合、範囲決定部205は、ユーザーが指定した画像内の一点から最も近い距離にある物体を、ユーザーの操作に対応する物体であると決定する。
そして、当該物体に対応する特定範囲を決定する。本実施形態の場合、ユーザーが検出枠407bの近くの点を指定した情報をもとに、範囲決定部205は、ポスター408に対応する領域407に含まれる物体を、ユーザーによる操作に対応する物体として決定する。つまり、領域407に含まれるポスター408に描かれた人物の顔部分が、ユーザーによる操作に対応する物体として決定される。このとき、出力制御部203は、領域407に対応する検出枠407bの色を変更してもよい。これより、ユーザーによる操作に対応する物体が決定されたことを、ユーザーが視認できる。
そして、範囲決定部205は、領域407に含まれる該物体に対応する特定範囲407cを決定する。なお、範囲決定部205により決定される特定範囲407cは、領域407を包含し、かつ、領域407の面積以上の範囲とする。ただし、特定範囲407cは、領域407と同じ範囲でもよいし、特定の物体の範囲に沿った範囲でもよい。また、出力制御部203は、通信部201で受信した画像に特定範囲407cを示す枠を重畳させて、表示装置101に出力してもよい。
また、本実施形態において、操作受付部204は、ユーザーが画像内における任意の範囲の選択(以下、範囲選択)をおこなっていれば、その範囲の情報を受け取ってもよい。本実施形態の場合、ユーザーによって範囲選択された範囲に含まれ、かつ、ステップS302において人物の顔を含んでいると判別されている領域407に含まれる物体を、範囲決定部205は、ユーザーの操作に対応する物体であると決定する。そして、範囲決定部205は、領域407に含まれる物体に対応する特定範囲407cを決定する。なお、ユーザーによって範囲選択された範囲そのものを特定範囲としてもよい。
次に、ステップS306にて、検出処理変更部206は、画像の全体に設定された閾値を、特定範囲を対象として、特定範囲における範囲決定部205により決定された物体に対応する信頼度より高い値に変更することで、特定範囲における検出処理を変更する。
本実施形態の場合、ステップS305にて範囲決定部205により決定された物体に対応する領域407の信頼度は80ポイントである。そのため、検出処理変更部206は、特定範囲407cにおける閾値を81ポイントとする。これより、ポスター408に対する検出部202による人物の顔の検出を抑制できる。なお、特定範囲407cに侵入した人物に対して算出された信頼度が81ポイントより大きい(例えば、85ポイント)場合、当該人物に対しては検出部202により人物の顔を検出することができる。以上、本実施形態では、範囲決定部205により決定された物体に対して行われた検出処理の結果に基づいて、特定範囲407cの閾値を変更した。これにより、特定範囲407cにおいて特定の物体の検出を全く行わないように検出処理を変更する場合と比較して、特定範囲407cにおいて、検出すべき人物の顔に対して、人物の顔であると検出されなくなる可能性を低減する。
なお、撮影装置102が撮影する領域において、照明などの環境の変化によっては、算出部207にて算出される信頼度に変動が生じる場合がある。例えば、ポスター408に当たる照明の明るさによって、ポスター408に対して算出部207により算出される信頼度が変化することがある。そこで、照明などの環境の変化によって生じる信頼度の変動を考慮して、ポスター408に対する人物の顔の検出をより抑制したいのであれば、特定範囲407cにおける閾値は次のように変更してもよい。すなわち、特定範囲407cにおける閾値を、領域407の信頼度(80ポイント)より1ポイント大きい81ポイントではなく、2ポイント以上大きい値、例えば、85ポイントにしてもよい。
次に、ステップS307にて、検出処理変更部206によって変更された特定範囲における閾値、および、画像内の特定範囲の位置は記憶部208にて記憶される。なお、本実施形態における特定範囲の位置は、上述した画像領域の位置と同様に、受信した画像の左上の頂点を原点とするxy座標で表される。
本実施形態では、検出処理変更部206で変更された特定範囲407c内における閾値、そして画像内の特定範囲407cの位置に関する情報が記憶部208にて記憶される。検出処理変更部206によって検出部202における検出処理が変更された後、記憶部208に記憶された情報に基づいて、通信部201にて受信される画像データに対する検出処理が検出部202により行われる。これより、ポスター408に対して誤って人物の顔があると検出部202により検出されてしまう誤検出が抑制される。なお、検出処理変更部206の処理後、出力制御部203は、検出処理が行われた画像データを表示装置101に表示する以外に、例えば、検出処理後の画像データやその他の情報を記憶装置103に記憶してもよい。また、ネットワーク104を介して、他の外部装置のストレージデバイスに保存してもよい。
また、本実施形態において、通信部201で受信した一枚の画像に対して信頼度の算出が行われたが、これに限定されるものではない。例えば、算出部207において画像内の各物体の信頼度を算出する処理を、異なる時間で撮影された複数の画像に対して行ってもよい。この場合、例えば、ポスター408に対する信頼度は、複数の画像にわたって複数回算出される。そして、検出処理変更部206は、例えば、算出された複数の信頼度の中で一番大きい値を閾値が超えるように、特定範囲内における閾値を変更すればよい。
また、本実施形態における上述した画像処理は、通信部201で受信した画像内において特定範囲を1つ設定したが、設定される特定範囲は複数でもよい。例えば、本実施形態において、画像の全体に設定されている初期段階での閾値が50ポイントである場合を考える。このとき、図3に示すステップS302の段階では、図4(a)における領域401、領域403、領域405、領域407、領域409が、人物の顔を含む領域であると判別される。この場合、ユーザーの操作に基づいて、範囲決定部205は、領域403と領域407と領域409のそれぞれに含まれる各物体をユーザーの操作に対応する物体として決定する。また、範囲決定部205は、各領域に含まれる各物体にそれぞれ対応する特定範囲を決定する。そして、各特定範囲において範囲決定部205により決定された各物体が人物の顔であると検出部202により検出されることが抑制されるように、各特定範囲における検出処理を検出処理変更部206により変更すればよい。なお本実施形態に係る検出処理変更部206は、画像全体に設定された初期段階の閾値を、特定範囲を対象として、特定範囲における範囲決定部205により決定された物体に対応する信頼度より高い値に変更することで、特定範囲における検出処理を変更する。よって、領域403に含まれる物体に対応する特定範囲における閾値を61ポイント、領域407に含まれる物体に対応する特定範囲における閾値を81ポイント、領域409に含まれる物体に対応する特定範囲における閾値を56ポイントに変更すればよい。
以上、図3のフローチャートに示される本実施形態における画像処理の後、記憶部208に記憶された情報に基づいて、通信部201にて受信される画像データに対する検出処理が検出部202により行われる。このとき、ポスター408に対して、検出部202によって人物の顔が存在すると検出されることが抑制される。
以上説明したように、本実施形態の構成によれば、範囲決定部205により決定された物体に対して行われた検出処理の結果に基づいて、特定範囲407cにおける検出処理を変更した。これにより、人物の顔ではない物体が誤って人物の顔であると検出されてしまう誤検出を抑制する範囲である特定範囲が設定される場合において、特定範囲において検出すべき人物の顔に対して、人物の顔であると検出されなくなる可能性を低減する。なお、ポスター408に関する誤検出だけではなく、マネキン等の特定の物体に形状が似ている任意の物体に関する誤検出を抑制することができる。
(第2の実施形態)
第2の実施形態では、特定範囲に動体が侵入している場合、特定範囲において変更されていた検出処理を変更前に戻す実施形態について説明する。これにより、特定の物体ではない物体が誤って特定の物体であると検出されてしまう誤検出を抑制する特定範囲が設定される場合において、特定範囲において検出すべき特定の物体に対して、特定の物体であると検出されなくなる可能性をより低減する。以下、第1の実施形態と異なる部分を主に説明し、第1の実施形態と同様な部分については、適宜、省略する。
図5は、第2の実施形態に係る画像処理装置の機能ブロック図であり、図2に示した機能ブロック図に動体検出部501と侵入判定部502とが加えられている。
動体検出部501は、通信部201にて受信した画像の画像データから、動体検出を行う。なお、動体検出処理は事前に背景画像を設定し、背景差分処理を行って、動体(前景)を検出する処理であってもよいし、前フレームと現在のフレームとの間差分処理を行って、動体を検出する処理でもよい。なお、以下の説明において、背景差分処理によって検出された前景のことも動体と称することとする。
侵入判定部502は、範囲決定部205により決定された特定範囲の位置と、動体検出部501で検出された動体の位置から、特定範囲に動体が侵入しているかを判定する。
侵入判定部502において、特定範囲に動体が侵入していると判定された場合、検出処理変更部206は、検出処理変更部206によって特定範囲において変更されていた検出処理を変更前に戻す。
また、侵入判定部502において、特定範囲に動体は侵入していないと判定された場合、検出処理変更部206は、特定範囲における検出処理を、検出処理変更部206によって特定範囲において変更されていた検出処理にする。
以上の処理が行われたのち、通信部201にて受信された画像データに対して検出処理が検出部202により行われる。以下、図6に示すフローチャートを参照して、本実施形態について更に詳細に説明する。
図6は、第2の実施形態に係る画像処理のフローチャートである。図に示すフローチャートの処理は主に図5の各機能ブロックにより行われる。
ステップS300にて、通信部201は、撮影装置102で撮影された画像の画像データや、記憶装置103にて記憶された画像データを、ネットワーク104を介して要求する。
次に、ステップS301にて、通信部201は、要求した画像データを受信する。
次に、ステップS602にて、動体検出部501がS301で受信した画像データに対して動体検出を行う。動体が検出された場合(S602においてYes)、該動体の位置を侵入判定部502へ送る。なお、本実施形態における動体の位置は、受信した画像の左上の頂点を原点としたときのxy座標で表される。
次に、ステップS603にて、侵入判定部502は、範囲決定部205で決定された特定範囲の位置と、動体検出部501で検出された動体の位置の情報から、特定範囲に動体が侵入しているかを判定する。以下図7を参照して、侵入判定部502の処理について更に詳細に説明する。
図7は、画像内における特定範囲と動体検出部501により検出された動体とを示す図である。図7における特定範囲407cは、範囲決定部205にて決定された特定範囲である。動体703は、特定範囲407cに侵入した人物である。領域704は、検出された動体703の位置を示す。なお、画像全体に設定された初期段階での閾値は69ポイント、検出処理変更部206により変更されていた特定範囲407cにおける閾値は81ポイントである。
本実施形態における侵入判定部502は、図7に示す、特定範囲407cと領域704とで重なる領域がある場合に特定範囲に動体が侵入していると判定する。しかし、本実施形態は、これに限定されない。例えば、特定範囲407cと領域704とで重なる面積が、特定範囲407cの面積に対して所定の割合(例えば、20%)以上だった場合、特定範囲407cに動体が侵入していると判定してもよい。
次に、ステップS603にて、侵入判定部502により特定範囲に動体が侵入していると判定された場合(S603においてYes)、ステップS604の処理を行う。S604にて、検出処理変更部206は、検出処理変更部206によって特定範囲において変更されていた検出処理を変更前に戻す。本実施形態の場合、検出処理変更部206は、特定範囲407cにおける閾値を、検出処理変更部206により変更されていた特定範囲407cにおける閾値(81ポイント)から、初期段階の画像全体に設定されていた閾値(69ポイント)にする。ここでの処理を経て変更された閾値は記憶部208にて記憶される。これより、例えば、動体703が特定範囲407cに侵入している際、算出部207により算出された動体703における顔の領域の信頼度が78ポイントであるとしても、検出部202は動体703に対して人物の顔があると検出する。
次に、ステップS603にて、侵入判定部502により特定範囲に動体が侵入していないと判定された場合(ステップS603においてNo)、ステップS605の処理を行う。ステップS605にて、検出処理変更部206は、特定範囲における検出処理を、検出処理変更部206により特定範囲において変更されていた検出処理にする。本実施形態の場合、検出処理変更部206は、特定範囲407cにおける閾値を、図3に示す画像処理のフローを経て、検出処理変更部206により変更されていた特定範囲407cにおける閾値(81ポイント)にする。ここでの処理を経て変更された閾値は記憶部208に記憶される。これより、特定範囲407cに動体が侵入していないとき、ポスター408に対して人物の顔があると検出部202により検出されることが抑制される。S602~S605の処理を経たのち、通信部201にて受信された画像データに対する検出処理が検出部202により行われる。
なお、本実施形態における上述した画像処理は、通信部201で受信した画像内において特定範囲が1つである場合を想定したが、画像内における特定範囲が複数あってもよい。この場合、画像内に存在する複数の特定範囲のそれぞれに対して、ステップS603~ステップS605の処理を行えばよい。例えば、画像内に特定範囲aと特定範囲bと特定範囲cがある場合を想定する。このとき、ステップS603にて、侵入判定部502は、各特定範囲の位置と、動体検出部501で検出された動体の位置の情報から、各特定範囲に動体が侵入しているかを判定する。そして、例えば、特定範囲aに動体が侵入していると判定された場合、S604にて、検出処理変更部206は、検出処理変更部206により特定範囲aにおいて変更されていた検出処理を変更前に戻す。
以上説明したように、本実施形態における構成では、特定範囲に動体が侵入している場合、検出処理変更部206により変更されていた特定範囲における検出処理を変更前に戻すようにした。これより、人物が特定範囲に侵入している場合でも、特定範囲以外に設定されている検出処理の条件に基づいて人物の顔を検出することができる。よって、本実施形態における構成によれば、人物の顔ではない物体が誤って人物の顔であると検出されてしまう誤検出を抑制する特定範囲が設定される場合において、特定範囲における人物の顔に対して、人物の顔であると検出されなくなる可能性をより低減する。なお、特定範囲に動体が侵入している場合、検出処理変更部206により変更されていた特定範囲における検出処理を変更前と同じ状態にしなくてもよい。例えば、検出処理変更部206は、特定範囲に動体が侵入している場合、変更前の閾値に近づくように特定範囲の閾値を変更してもよい。
(第3の実施形態)
第1の実施形態および第2の実施形態では、特定範囲内における閾値を変更することで、検出処理を変更する構成について説明した。本実施形態では、特定範囲における範囲決定部により決定された物体に対応する信頼度が、画像全体に設定された閾値より小さくなるように、特定範囲において算出される信頼度を変更することで、特定範囲における検出処理を変更する構成について説明する。以下、他の実施形態と異なる部分を主に説明し、他の実施形態と同様な部分については、適宜、省略する。
第3の実施形態において、図2に示す通信部201が画像データを受信してから、範囲決定部205が特定範囲を決定するまでの処理は、第1の実施形態と同様のため説明を省略する。
検出処理変更部206は、特定範囲における範囲決定部205により決定された物体に対応する信頼度が、画像全体に設定された閾値より小さくなるように、特定範囲において算出される信頼度を変更することで、特定範囲における検出処理を変更する。
検出処理変更部206の処理後、通信部201にて受信される画像の検出処理が行われていく。このとき、ポスター408における領域407は、人物の顔を含むと判別部209にて判別されることが抑制される。つまり、ポスター408に対して人物の顔が存在すると検出部202により検出されることが抑制される。次に、第3の実施形態における画像処理の流れを図8に示すフローチャートを参照して、更に詳細に説明する。
図8は、第3の実施形態に係る画像処理のフローチャートである。図に示すフローチャートの処理は主に図2の各機能ブロックにより行われる。
ステップS300~ステップS305までのステップは、第1の実施形態と同様であるため説明を省略する。
ステップS806にて、検出処理変更部206は、特定範囲における範囲決定部205により決定された物体の信頼度が、画像領域全体に設定された初期段階の閾値より小さくなるように、特定範囲において算出される信頼度を変更する。なお、本実施形態における検出処理変更部206は、特定範囲における算出部207による信頼度の算出方法を変更することで、特定範囲において算出される信頼度を変更する。
図4を参照して、本実施形態における検出処理変更部206の処理について更に詳細に説明する。検出処理変更部206は、特定範囲407cにおいて範囲決定部205により決定された物体の信頼度が、画像全体に設定されている閾値(69ポイント)より小さくなるように算出部207の算出方法を変更する。なお、本実施形態において、ステップS305にて範囲決定部205により決定された物体に対応する領域407の信頼度は80ポイントであり、画像全体に設定された閾値は69ポイントである。よって、特定範囲407cにて算出される信頼度は12ポイント減算されるようにする。以上より、範囲決定部205により決定された物体に対応する領域407の信頼度は68ポイントとなり、画像全体に設定された閾値(69ポイント)より小さくなる。ここでは、ステップS302にて算出された領域407の信頼度(80ポイント)と、画像全体に設定された閾値(69ポイント)との差分の絶対値(11ポイント)に1ポイント加えた値が、特定範囲407cにて算出された信頼度から減算されるようにした。しかし、本実施形態は、これに限定されない。例えば、特定範囲407cにて算出される信頼度に対して、68/80を掛けた値が算出されるようにしてもよい。これより、範囲決定部205により決定された物体に対応する領域407の信頼度は68ポイントとなり、画像全体に設定された閾値(69ポイント)より小さくなる。
なお、本実施形態において、ステップS302において算出された領域407の信頼度(80ポイント)が、画像全体に設定された閾値(69ポイント)より1ポイント小さくなるように、特定範囲における算出部207による信頼度の算出方法を変更した。このとき、ポスター408における検出部202による人物の顔の検出を抑制できる。また、例えば、特定範囲407cにて算出される信頼度は12ポイント減算されるようにする場合、特定範囲407cに侵入した人物の信頼度が85ポイントであるとすると、当該人物に対しては検出部202により人物の顔を検出することができる。以上、本実施形態では、範囲決定部205により決定された物体に対して行われた検出処理の結果に基づいて、特定範囲407cにおいて算出される信頼度を変更する。これにより、特定範囲407cにおいて人物の顔の検出を全く行わないように検出処理を変更する場合と比較して、特定範囲407cにおいて、検出すべき人物の顔に対して、人物の顔であると検出されなくなる可能性を低減する。
なお、撮影装置102が撮影する領域において、照明などの環境の変化によっては、算出部207にて算出される信頼度に変動が生じる場合がある。そこで、照明などの環境の変化によって生じる信頼度の変動を考慮して、ポスター408に対する人物の顔の検出をより抑えたいのであれば、特定範囲における算出部207による信頼度の算出方法は、例えば、次のように変更してもよい。すなわち、ステップS302において算出された領域407の信頼度(80ポイント)が、画像全体に設定された閾値(69ポイント)より2ポイント以上小さくなるように、特定範囲における算出部207による信頼度の算出方法を変更してもよい。
また、本実施形態において、算出部207により算出された、ポスター408に対応する領域407が特定範囲407cに包含されたとき、算出方法を変更するようにしたが、これに限定されない。例えば、特定範囲407cと領域407とで重なる領域の面積が、領域407の面積に対して一定の割合(例えば、80%)以上である場合、領域407の信頼度が画像全体に設定された閾値を下回る値が算出されるようにしてもよい。
ステップS806にて特定範囲における算出部207の算出方法が変更された後、通信部201にて受信される画像の検出処理が検出部202により行われる。このとき、ポスター408における検出部202による人物の顔の誤検出を抑制できる。
以上説明したように、本実施形態の構成によれば、範囲決定部205により決定された物体に対して行われた検出処理の結果に基づいて、特定範囲407cにおける検出処理を変更する。これにより、人物の顔ではない物体が誤って人物の顔であると検出されてしまう誤検出を抑制する範囲が設定される場合において、該範囲において検出すべき人物の顔に対して、人物の顔であると検出されなくなる可能性を低減する。
(第4の実施形態)
本実施形態では、パンチルトズーム制御を行うことができる撮影装置によって撮影された画像に対する画像処理について説明する。以下、他の実施形態と異なる部分を主に説明し、他の実施形態と同様な部分については、適宜、省略する。
図9は、本実施形態に係る撮影装置102の外観図である。また、図10は、本実施形態に係る撮影装置102の機能ブロック図である。
レンズ902の光軸の向く方向が撮影装置102の撮影方向であり、レンズ902を通過した光束は、撮影部905の撮像素子に結像する。なお、レンズ902は、フォーカスレンズ及びズームレンズ等からなる。また、レンズ駆動部910は、フォーカスレンズ及びズームレンズなどの駆動系により構成され、レンズ902の焦点距離を変更する。レンズ駆動部910は、パンチルトズーム制御部908により制御される。
パン駆動部900は、パン動作を行うメカ駆動系及び駆動源のモータにより構成され、撮影装置102の撮影方向をパン方向903に変更するように駆動する。また、パン駆動部900は、パンチルトズーム制御部908により制御される。
チルト駆動部901は、チルト動作を行うメカ駆動及び駆動源のモータにより構成され、撮影装置102の撮影方向をチルト方向904に変更するように駆動する。チルト駆動部901は、パンチルトズーム制御部908により制御される。
撮影部905は、CCD(charge coupled device)センサやCMOS(complementary metal oxide semiconductor)センサ等の撮像素子により構成される。そして、撮影部905は、レンズ902を通って結像された被写体像を光電変換して電気信号を生成する。
画像処理部906は、撮影部905において光電変換された電気信号をデジタル信号へ変換する処理や、圧縮符号化処理などを行い、画像データを生成する。
パンチルトズーム制御部908は、システム制御部907から伝達された指示に基づいて、パン駆動部900、チルト駆動部901及びレンズ駆動部910の制御を行う。
通信部909は、画像処理装置100との通信を行うインターフェースである。例えば、通信部909は、生成された画像データを画像処理装置100に送信する。また、通信部909は、画像処理装置100が送信するカメラ制御コマンドを受信し、システム制御部907へ伝達する。
システム制御部907は、撮影装置102の全体を制御し、例えば、次のような処理を行う。すなわち、システム制御部907は、通信部909から伝達されたカメラ制御コマンドを解析し、コマンドに応じた処理を行う。また、システム制御部907は、パンチルトズーム制御部908に対してパンチルトズーム動作の指示を行う。
また、システム制御部907は、画像処理部906で生成された画像データを画像処理装置100に送る際に、該画像データを取得した際の撮影情報も画像データに付与する。なお、本実施形態における撮影情報は、パンチルトズーム制御部908等から取得される、撮影装置102のパン角度とチルト角度と、撮影装置102により撮影される画像の水平画角と垂直画角と、を示す情報を含む。
なお、パン角度は、パン駆動部900の駆動端の一方を0°としたときの、撮影装置102のパン方向903における撮影方向(光軸)の角度である。また、チルト角度は、チルト駆動部901の駆動端の一方を0°としたときの、撮影装置102のチルト方向904における撮影方向(光軸)の角度である。なお、撮影装置102により撮影される画像の水平画角と垂直画角は、レンズ902の焦点距離から算出可能である。
次に、図2を参照して、本実施形態に係る画像処理について説明する。なお、以下の説明において第1の実施形態の説明に用いた図2を参照するが、第1の実施形態と異なり、本実施形態では、画像領域や特定範囲などの位置が球面座標上で定められる。通信部201は、撮影装置102により撮影された画像の画像データと撮影情報とを受信する。
検出部202は、通信部201で受信した画像に含まれる人物の顔を検出する検出処理を行う。このとき、記憶部208は、画像に含まれる画像領域に人物の顔が含まれることの確からしさを示す信頼度、当該画像領域の位置を記憶する。なお、本実施形態における画像領域の位置は、球面座標上にて、該画像領域の重心点におけるパン角度とチルト角度、および、該画像領域の垂直画角と水平画角により定められる。
出力制御部203と操作受付部204と範囲決定部205と検出処理変更部206における処理は、第1の実施形態と同様であるため説明を省略する。
記憶部208は、検出処理変更部206にて変更された特定範囲内における閾値と、画像内の特定範囲の位置とを記憶する。なお、本実施形態における特定範囲の位置は、球面座標上にて、特定範囲の重心点におけるパン角度とチルト角度、および、該特定範囲の垂直画角と水平画角により定められる。
検出処理変更部206によって検出部202での検出処理が変更された後、記憶部208に記憶された情報に基づき、通信部201にて受信される画像に対して検出処理が行われる。
図11は、第4の実施形態に係る画像処理の流れを示すフローチャートである。図11を用いて本実施形態について更に詳細に説明する。図11に示すフローチャートの処理は主に図2の各機能ブロックにより行われる。
ステップS300にて、通信部201は、撮影装置102で撮影された画像の画像データを、ネットワーク104を介して要求する。
次に、ステップS1100にて、撮影装置102が撮影した画像の画像データと、撮影装置102の撮影情報とを通信部201が受信する。
次に、ステップS302にて、通信部201で受信した画像データに対して、検出部202が画像内の人物の顔を検出する検出処理を行う。このとき、記憶部208は、算出部207で算出された、画像に含まれる画像領域に人物の顔が含まれることの確からしさを示す信頼度と、当該画像領域の位置とを記憶する。なお、本実施形態における画像領域の位置は、球面座標上にて、該画像領域の重心点におけるパン角度とチルト角度、および、該画像領域の垂直画角と水平画角により定められる。以下、図12を参照して、本実施形態における画像領域の位置について詳しく説明する。
図12(a)は、画像に含まれる画像領域の重心点がパン角度とチルト角度で球面座標上に示された図である。また、図12(b)は、画像に含まれる画像領域の水平画角と垂直画角が球面座標上にて示された図である。図12(a)において、画像領域1202は、撮影装置102にて撮影された画像1201に含まれる領域である。角度1203は、画像領域1202の重心点Pの球面座標上におけるパン角度である。角度1204は、画像領域1202の重心点Pの球面座標上におけるチルト角度である。また、図12(b)において、角度1205は、画像領域1202の球面座標上における垂直画角である。角度1206は、画像領域1202の球面座標上における水平画角である。以上のように、本実施形態における画像領域の位置は、球面座標上において定められる。
図11の説明に戻るが、ステップS303~ステップS306までの処理は、第一の実施形態と同様であるため説明を省略する。
ステップS307にて、検出処理変更部206によって変更された特定範囲での閾値、および、画像内の特定範囲の位置は記憶部208にて記憶される。なお、上述した本実施形態における画像領域の位置と同様に、本実施形態における特定範囲の位置は、球面座標上にて、特定範囲の重心点におけるパン角度とチルト角度、および、該特定範囲の垂直画角と水平画角により定められる。
以上、図11のフローチャートに示される処理の後、記憶部208に記憶された情報に基づいて、通信部201にて受信される画像の検出処理が検出部202により行われる。このとき、パント・チルト・ズーム制御が行われて撮影装置102により撮影される領域が変化したとしても、範囲決定部205により決定された物体に対して、人物の顔であると検出部202により検出されることが抑制される。
以上説明したように、本実施形態の構成によれば、パント・チルト・ズーム制御ができる撮影装置であっても、第一の実施形態に係る画像処理の機能を実現できる。なお、本実施形態は、第2の実施形態、第3の実施形態、および後述する第5の実施形態にも適用することが可能である。また、本実施形態は、パント、チルト、及びズームの少なくともいずれかを変更可能な撮影装置に適用可能である。
(第5の実施形態)
本実施形態では、各実施形態に係る画像処理装置100の1以上の機能を、撮影装置102が有する実施形態について説明する。つまり、撮影装置102が画像処理装置としての機能も有する実施形態について説明する。以下、他の実施形態と異なる部分を主に説明し、他の実施形態と同様な部分については、適宜、省略する。
例えば、図5に示す、検出部202と、範囲決定部205と、検出処理変更部206と、動体検出部501と、侵入判定部502は撮影装置102が有していてもよい。なお、このとき、出力制御部203と、操作受付部204は、後述する図14に示すハードウェア構成により実現されるクライアント装置(不図示)が有する。この場合について図13を参照して説明する。
図13は、各実施形態に係る画像処理装置100の一部の機能を有する撮影装置102とクライアント装置の機能ブロック図の一例である。撮影部905は、CCDセンサやCMOSセンサ等の撮像素子により構成され、撮影装置102のレンズを通って結像された被写体像を光電変換して電気信号を生成する。
画像処理部906は、撮影部905において光電変換された電気信号をデジタル信号へ変換する処理や、圧縮符号化処理を行い、画像データを生成する。なお、圧縮符号化処理は省略してもよい。
検出部202は、生成された画像データに対して人物の顔を検出する検出処理を行う。検出部202における検出処理の結果は、撮影装置102における通信部909と、クライアント装置1300における通信部1301を介して、クライアント装置1300における出力制御部203へ送られる。出力制御部203および操作受付部204における処理は、各実施形態と同様であるため説明を省略する。
クライアント装置1300における操作受付部204が受け付けたユーザーによる操作の情報は、通信部1301および通信部909を介して、撮影装置102における範囲決定部205へ送られる。範囲決定部205は、操作受付部204にて受け付けたユーザーによる操作に対応する画像内の物体と、当該物体に対応する特定範囲とを決定する。そして、検出処理変更部206は、範囲決定部205により決定された画像内の物体が人物の顔であると検出部202により検出されることが抑制されるように、該物体に対して行われた検出処理の結果に基づいて、特定範囲における検出処理を変更する。
また、図13に示すように、第2の実施形態に係る画像処理装置の機能を撮影装置102が有する場合において、動体検出部501は、画像処理部906にて生成された画像の画像データから、動体検出を行う。なお、侵入判定部502および検出処理変更部206における処理は、第2の実施形態と同様であるため説明を省略する。
以上のように各実施形態に係る画像処理装置100の1以上の機能は、撮影装置102が有していてもよい。
(その他の実施形態)
次に、図14を用いて、各実施形態の各機能を実現するための画像処理装置100のハードウェア構成を説明する。RAM(Random Access Memory)1401は、CPU(Central Processing Unit)1400が実行するコンピュータプログラムを一時的に記憶する。また、RAM1401は、通信インターフェース1403を介して外部から取得したデータ(コマンドや画像データ)などを一時的に記憶する。また、RAM1401は、CPU1400が各種の処理を実行する際に用いるワークエリアを提供する。また、RAM1401は、例えば、フレームメモリとして機能したり、バッファメモリとして機能したりする。
CPU1400は、RAM1401に格納されるコンピュータプログラムを実行する。CPU以外にも、DSP(Digital Signal Processor)等のプロセッサやASIC(Application Specific Integrated Circuit)を用いてもよい。
HDD(Hard Disk Drive)1402は、オペレーティングシステムのプログラムや画像データを記憶する。
HDD1402に保存されているコンピュータプログラムやデータは、CPU1400による制御に従って、適宜、RAM1401にロードされ、CPU1400によって実行される。HDD以外にもフラッシュメモリ等の他の記憶媒体を用いてもよい。以上が各実施形態における画像処理装置100のハードウェア構成である。
なお、本発明は、上述の実施形態の1以上の機能を実現するプログラムを1つ以上のプロセッサが読出して実行する処理でも実現可能である。プログラムは、ネットワーク又は記憶媒体を介して、プロセッサを有するシステム又は装置に供給するようにしてもよい。また、本発明は、上述の実施形態の1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。また、画像処理装置100の各部は、図14に示すハードウェアにより実現してもよいし、ソフトウェアにより実現することもできる。
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲は限定的に解釈されるものではない。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱しない範囲において、様々な形で実施することができる。例えば、各実施形態を組み合わせたものも本明細書の開示内容に含まれる。