JP2010027000A - 画像検出装置および画像検出方法 - Google Patents
画像検出装置および画像検出方法 Download PDFInfo
- Publication number
- JP2010027000A JP2010027000A JP2008191316A JP2008191316A JP2010027000A JP 2010027000 A JP2010027000 A JP 2010027000A JP 2008191316 A JP2008191316 A JP 2008191316A JP 2008191316 A JP2008191316 A JP 2008191316A JP 2010027000 A JP2010027000 A JP 2010027000A
- Authority
- JP
- Japan
- Prior art keywords
- image
- face
- detection
- image data
- face detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
【課題】時間とともに変化する動画を鮮明に撮影するために、動画像のフレームに追従する検査処理スピードにしてシームレスな顔を追跡検出する。
【解決手段】画面上の画像データを拡大または縮小するスケーリング部201と、上記スケーリング部で得られた画像データに対して所定個数の画素を有する区画が複数個設けられ、該複数個の区画で設けられた画面上を所定の大きさの矩形領域で水平方向、または水平および垂直方向に走査し、上記スケーリング処理された画像データの中の特定画像を検出する画像検出部203と、上記検出して得られた特定画像の画面の区画の重複度に応じた検出確度値を設定する候補領域処理部204と、該設定された検出確度値を記憶する記憶部202と、を有する。
【選択図】図2
【解決手段】画面上の画像データを拡大または縮小するスケーリング部201と、上記スケーリング部で得られた画像データに対して所定個数の画素を有する区画が複数個設けられ、該複数個の区画で設けられた画面上を所定の大きさの矩形領域で水平方向、または水平および垂直方向に走査し、上記スケーリング処理された画像データの中の特定画像を検出する画像検出部203と、上記検出して得られた特定画像の画面の区画の重複度に応じた検出確度値を設定する候補領域処理部204と、該設定された検出確度値を記憶する記憶部202と、を有する。
【選択図】図2
Description
本発明は、画面の中から特定の画像を検出する画像検出装置および画像検出方法に関し、特に画面の中から特定の領域の人物の顔の画像を検出して所望の処理を行う画像検出装置及び画像検出方法に関する。
近年、静止画像の撮影を主とするディジタルスチルカメラや動画像の撮影を主とするディジタルビデオカメラには、撮影対象となる人物の顔を検出し、検出結果をAF(Auto Focus)、AE(Auto Exposure)やAWB(Auto White Balance)の制御に用いたり、撮影画像の肌色の色合いの調整を行ったりする機能が搭載されてきている。時々刻々と変化する一瞬の情景を、上記の制御を活かしながら鮮明に撮影するためには、動画像のフレームレイトに匹敵する、または、それ以上のスピードで顔を追跡しながら検出する必要がある。
この顔検出を行う方法に関し、特許文献1には、顔らしさを示す検出確度値に基づき、対象物が顔であるか否かを判断し、画像を段階的に縮小させて走査を行い、画像の中から顔の位置およびサイズを検索する方法が開示してある。
この特許文献1では、画面上で、撮像された画像の左上の端から右下の端まで、所定サイズの矩形領域を水平方向にΔx、垂直方向にΔyだけ移動させて走査することにより、顔の位置を求める。
また、撮像された画像を所定の縮小率Δrだけ段階的に縮小させた縮小画像を生成し、生成された縮小画像に対して走査を繰り返すことにより、顔のサイズを求める。
そして、所定サイズの矩形領域内の全ての画素の中から、予め学習によって定められた2点の画素の輝度値の差分を全て算出し、算出結果に基づき顔らしさを示す検出確度値をそれぞれ求める。矩形領域の画像の検出確度値には、対象物が顔であるか否かを判断するための閾値が予め設けられており、算出された検出確度値が閾値以上であれば、対象物が顔であると判断し、閾値よりも低ければ、対象物が顔でないと判断する。
この特許文献1では、画面上で、撮像された画像の左上の端から右下の端まで、所定サイズの矩形領域を水平方向にΔx、垂直方向にΔyだけ移動させて走査することにより、顔の位置を求める。
また、撮像された画像を所定の縮小率Δrだけ段階的に縮小させた縮小画像を生成し、生成された縮小画像に対して走査を繰り返すことにより、顔のサイズを求める。
そして、所定サイズの矩形領域内の全ての画素の中から、予め学習によって定められた2点の画素の輝度値の差分を全て算出し、算出結果に基づき顔らしさを示す検出確度値をそれぞれ求める。矩形領域の画像の検出確度値には、対象物が顔であるか否かを判断するための閾値が予め設けられており、算出された検出確度値が閾値以上であれば、対象物が顔であると判断し、閾値よりも低ければ、対象物が顔でないと判断する。
この特許文献1における顔検出を行う手法では、画像一枚を処理する場合の演算処理回数が非常に多い。対象物が顔であるか否かを判断する演算処理回数は、「画像の縮小回数×矩形領域の移動回数」となる。その演算処理回数の多さが顔の検出処理スピードを下げる原因となっている。
この不利益を解決するために特許文献2に、色特徴に基づいて顔を含む可能性の高い候補領域を探し、その候補領域中のみを顔の検索対象とすることで、演算処理回数を減らす手法が開示されている。
ここで、「顔を含む可能性が高い」とは、例えば肌色を有する画像領域である。しかし、この方法では背景に肌色に近い色が存在すると、その背景を候補領域に含めてしまう不利益がある。また、肌色は顔のみとは限らず、例えば腕や足など肌が露出している部分も肌色であり、その部分を候補領域に含めてしまう不利益がある。
この不利益を解決するために特許文献2に、色特徴に基づいて顔を含む可能性の高い候補領域を探し、その候補領域中のみを顔の検索対象とすることで、演算処理回数を減らす手法が開示されている。
ここで、「顔を含む可能性が高い」とは、例えば肌色を有する画像領域である。しかし、この方法では背景に肌色に近い色が存在すると、その背景を候補領域に含めてしまう不利益がある。また、肌色は顔のみとは限らず、例えば腕や足など肌が露出している部分も肌色であり、その部分を候補領域に含めてしまう不利益がある。
また、この不利益を解決するために特許文献3では、過去の撮影によって得られた顔検出結果(顔のサイズ、顔の位置、など)を蓄積していき、この撮像装置では、どの位置にどのような大きさの顔が写るように撮影される傾向にあるかを学習する。その学習データに基づいて、撮像画像データ中に顔が存在する可能性のある候補領域を探し、その領域に対してのみ顔検出処理を行うことで演算処理回数を減らす方法が開示されている。
しかし、この方法では定点カメラのように撮像する情景が一定で、撮影される画像の傾向が定まるような場合では非常に有効であるが、ディジタルスチルカメラやディジタルビデオカメラにように持ち運びが自由な撮像装置の場合には、撮影される画像の傾向が時間と場所によって変化するために、学習データが役にたたず、候補領域が特定できない。
しかし、この方法では定点カメラのように撮像する情景が一定で、撮影される画像の傾向が定まるような場合では非常に有効であるが、ディジタルスチルカメラやディジタルビデオカメラにように持ち運びが自由な撮像装置の場合には、撮影される画像の傾向が時間と場所によって変化するために、学習データが役にたたず、候補領域が特定できない。
この顔検出を行う手法は、矩形領域が顔であるか否かを表す検出確度値を求め、検出確度値が閾値以上であれば、対象物が顔であると判断し、閾値よりも低ければ、対象物が顔でないと判断する方法を取っている。矩形領域の検出確度値が撮像画像の条件により下がってしまった場合は顔と判定されない。検出確度値が下がる条件としては、顔の向きや、光の当たり方、メガネ・帽子などの顔を隠す物体の有無、顔の前方を横切る障害物などが挙げられる。顔が検出できない瞬間があるということは、その瞬間に撮像画像中の顔の位置とサイズを見失うことを意味し、その後の顔検出の追跡が出来なくなってしまう。
この不利益を解決するために特許文献4では、検出された顔の位置に関連付けて、顔の位置と相対関係で定まる領域から取得される周囲情報を記録し、もし、顔が検出されなかった場合には、直前に検出された顔の位置に基づいて、顔の位置候補を複数求め、この位置候補にそれぞれ対応する周囲情報を取得し、直前に検出された顔の位置に関連付けられている周囲情報に、もっとも類似する周囲情報をもつ位置候補を、顔の位置とする方法が開示されている。
上述した周囲情報の例としては顔の下側に位置する服装などである。しかし、この方法では顔が検出されなかった場合に、直前に検出された顔の位置に関連付けられた周囲情報が残っているとは限らないため、類似する周囲情報を探し出せない場合がある。
例えば、服装を周囲情報と考えると、顔の向きが変わったことで顔が検出できなくなった場合には、顔の向きが変わった理由として体全体の向きが変わったとすれば、服装の向きも変化することが考えられる。また、光の当たり方で顔が検出されなくなった場合には、例えば人物が建物の影に入った場合などのように、体全体にあたる光が変わったとすれば、服装に当たる光も変化することが考えられる。
また、顔の前方を横切る障害物で顔が検出されなくなった場合には、横切る障害物として顔のみを覆い隠す小さい障害物もあれば、体全体を覆い隠してしまう大きな障害物も存在する。これにより服装も隠されてしまうことが考えられる。また、制服などのように、同一の服装の人物を撮影する場合に、類似する周囲情報をもつ位置候補が複数存在することになり、顔の位置の絞り込みが出来ない。
例えば、服装を周囲情報と考えると、顔の向きが変わったことで顔が検出できなくなった場合には、顔の向きが変わった理由として体全体の向きが変わったとすれば、服装の向きも変化することが考えられる。また、光の当たり方で顔が検出されなくなった場合には、例えば人物が建物の影に入った場合などのように、体全体にあたる光が変わったとすれば、服装に当たる光も変化することが考えられる。
また、顔の前方を横切る障害物で顔が検出されなくなった場合には、横切る障害物として顔のみを覆い隠す小さい障害物もあれば、体全体を覆い隠してしまう大きな障害物も存在する。これにより服装も隠されてしまうことが考えられる。また、制服などのように、同一の服装の人物を撮影する場合に、類似する周囲情報をもつ位置候補が複数存在することになり、顔の位置の絞り込みが出来ない。
したがって、本発明の目的は、処理検出を高速化すると共にシームレスな顔の追跡検出を行う画像検出装置とその方法を提供することにある。
本発明の画像検出装置は、画面上の画像データを拡大または縮小するスケーリング部と、上記スケーリング部で得られた画像データに対して所定個数の画素を有する区画が複数個設けられ、該複数個の区画で設けられた画面上を所定の大きさの矩形領域で水平方向、または水平および垂直方向に走査し、上記スケーリング処理された画像データの中の特定画像を検出する画像検出部と、上記検出して得られた特定画像の画面の区画の重複度に応じた検出確度値を設定する候補領域処理部と、上記候補領域処理部で設定された検出確度値を記憶する記憶部と、を有する。
本発明の、画像検出方法は、画面上の画像データをスケーリング処理により拡大または縮小するステップと、上記スケーリング処理により拡大または縮小された画像データに所定個数の画素を有する区画を複数個設けるステップと、上記画面上に設けられた前記複数個の区画を所定の大きさの矩形領域で上記画面上の水平方向、または水平および垂直方向に走査するステップと、上記矩形領域の走査により、上記スケーリング処理された画像データの中の特定画像を検出するステップと、上記検出して得られた特定画像に対応する区画の重複度に応じた検出確度値を設定するステップと、上記設定された検出確度値を記憶するステップとを有する。
本発明の画像検出装置または画像検出方法は、フレーム画像に複数の画素で構成される区画を複数個設け、特定の大きさの検査領域で画面上の複数の区画を水平方向、垂直方向に走査し、検査領域に特定画像が含まれる場合は検査確度値を設定し、それ以外の場合は検査確度値を零(0)に設定し、各フレーム画像で同様な検査を行い検出候補領域を求める。
本発明の画像検出装置及び画像検出方法によれば、画面上の特定画像領域の例えば顔検出の追跡が中断されること無く、顔検出のスピードを速くすることができる。
図1に、この発明の実施形態である撮像装置100の構成例を示す。以下、具体例として顔検出を行う画像検出装置について説明するが、本発明は画像データとして特に顔に限定されるものでなく、画面上のその他の特定される画像であっても良い。
撮像装置100は、光学ブロック101、信号変換部102、カメラ信号処理部103、顔検出部104、表示処理部105、画像信号処理部106、記憶部107、表示部108、画像RAM(Random Access Memory)109、制御部(CPU;Central Processing Unit)110、ROM(Read Only Memory)111、RAM112および画像バス113を備える。
光学ブロック101は、内部に、不図示の被写体を撮像するためのレンズ群、絞り調整機構、フォーカス調整機構、ズーム機構、シャッター機構およびフラッシュ機構などを備え、後述する制御部(CPU)110からの制御信号に応じてズーム制御、シャッター制御および露出制御などの制御が行われる。
信号変換部102は、CCD(Charge Coupled Device)やCMOS(complementary Metal Oxide Semiconductor)イメージセンサなどの撮像素子により構成され、入力された被写体像は光学ブロック101において結像面に結像される。この信号変換部102は、例えば、シャッター操作に応じて制御部110から供給される画像取り込みタイミング信号を受けて、結像面に結像されている被写体像の光信号を撮像(映像)信号の電気信号に変換し、カメラ信号処理部103に供給する。
カメラ信号処理部103は、制御部110からの制御信号に基づき、信号変換部102から出力された撮像信号に対して各種の信号処理を施す。具体的には、例えば、信号変換部102からの撮像信号に対して、ガンマ補正やAGC(Auto Gain Control)などの処理を行うとともに、撮像信号をディジタル信号としての画像データに変換する処理を行う。また、カメラ信号処理部103は、制御部110からの制御信号に基づき、この画像データに対してホワイトバランス制御や露出補正制御などをさらに行う。
顔検出部104は、カメラ信号処理部103から出力された画像データを、画像RAM(Random Access Memory)109を介して受け取り、受け取った画像データの中から人物の顔を検出し、その検出結果を制御部110に供給する。なお、顔検出部104の構成や顔検出処理の詳細については、後述する。
表示処理部105は、カメラ信号処理部103および後述する画像信号処理部106から出力された画像データを、画像RAM109を介して受け取り、例えば表示に適した解像度の画像に変換して、表示部108に供給する。
表示部108は、表示処理部105で処理された画像データを表示画面に表示する。この表示部108は、撮像装置におけるビューファインダとして用いられるとともに、記憶部107から再生された画像のモニタとして用いられる。表示部108としては、例えばLCD(Liquid Crystal Display;液晶表示装置)を用いることができる。
画像信号処理部106は、カメラ信号処理部103から出力された画像データを、画像RAM109を介して受け取り、この画像データを圧縮符号化して、動画像あるいは静止画像のデータファイルとして記憶部107に出力する。
また、画像信号処理部106は、後述する記憶部107から読み出された画像データファイルを復号し、画像RAM109を介して表示処理部105に供給する。なお、例えば、動画像の符号化方式としては、MPEG(Moving Picture Experts Group)方式、静止画像の符号化方式としては、JPEG(Joint Photographic Experts Group)方式を適用することができる。
また、画像信号処理部106は、後述する記憶部107から読み出された画像データファイルを復号し、画像RAM109を介して表示処理部105に供給する。なお、例えば、動画像の符号化方式としては、MPEG(Moving Picture Experts Group)方式、静止画像の符号化方式としては、JPEG(Joint Photographic Experts Group)方式を適用することができる。
記憶部107は、画像信号処理部106により符号化されて生成された画像ファイルを記憶する。記憶部107としては、例えば、磁気テープや光ディスクなどの記録媒体のドライブ装置、フラッシュメモリ、あるいはHDD(Hard Disc Drive)などを用いることができる。この記憶部107は、記憶された画像データファイルを画像信号処理部106に読み出すことの他に、その画像データファイルに付随した情報を制御部110に供給する。画像データファイルに付随した情報とは、例えば画像データファイル中に埋め込まれた撮像条件や顔検出結果などのデータである。
画像RAM109は、カメラ信号処理部103、顔検出部104、表示処理部105および画像信号処理部106に対して、画像バス113を介して接続されている。画像RAM109は、画像バス113に接続されたこれらの処理ブロックにより共有され、各ブロック間では画像RAM109を介して画像データが受け渡される。なお、この例では、これらの処理ブロックは、画像RAM109を介して画像データを授受するものとして説明しているが、本発明は、この例に限らず、例えば、顔検出部104および表示処理部105は、カメラ信号処理部103および画像信号処理部106からの出力画像データを、画像バス113を介さずに直接受け取ることができるようにしてもよい。
制御部(CPU)110はCPUなどを備え、ROM111に予め格納されたプログラムに従い、RAM112をワークメモリとして、この撮像装置(100)全体を制御する。例えば、制御部110のCPUは、撮像装置100の各部とコマンドやデータのやりとりを行い、それぞれを制御する。また、制御部110のCPUは、図示されない操作部に対する操作に応じた制御信号や撮像信号などに基づき、光学ブロック101のフォーカス、絞り、ズームなどを制御するための制御信号を生成し、光学ブロック101に供給する。
図2に、顔検出部104の回路ブロックの構成例を示す。顔検出部104は、画像変換部としてのスケーリング部201、画像バッファ202、顔検出処理部としての顔検出コア部203、候補領域処理部204、コントローラ205を備える。
スケーリング部201は、画像RAM109から画像バス113を介して読み出した画像データのサイズ(水平方向および垂直方向の各画素数)を、顔検出コア部203における顔検出処理に適するように縮小または拡大するスケーリング処理を行い、画像バッファ202に供給する。
また、顔を含む可能性の高い候補領域として、候補領域処理部204により算出された、顔の検出候補領域ビットマップをコントローラ205より受け取り、画像と同様にスケーリング処理を行い、画像バッファ202に供給する。なお、顔の検出候補領域ビットマップのスケーリング処理の詳細については後述する。
また、顔を含む可能性の高い候補領域として、候補領域処理部204により算出された、顔の検出候補領域ビットマップをコントローラ205より受け取り、画像と同様にスケーリング処理を行い、画像バッファ202に供給する。なお、顔の検出候補領域ビットマップのスケーリング処理の詳細については後述する。
画像バッファ202は、スケーリング部201によってサイズ変換された画像データを一時的に保持する。そして、コントローラ205の制御に基づき、画像データの中から指示された位置における、所定サイズの矩形画像データを切り出す走査処理を行い、顔検出コア部203に供給する。
また、スケーリング部201によってサイズ変換された顔の検出候補領域ビットマップから、切出された矩形画像データが、顔の検出候補領域内に当てはまるものかどうかを判定し、顔検出処理を行う(On)/行わない(Off)を表すフラグデータを作成して、顔検出コア部203へ供給する。なお、顔検出を行う(On)/行わない(Off)を表すフラグデータの作成方法の詳細については後述する。
また、スケーリング部201によってサイズ変換された顔の検出候補領域ビットマップから、切出された矩形画像データが、顔の検出候補領域内に当てはまるものかどうかを判定し、顔検出処理を行う(On)/行わない(Off)を表すフラグデータを作成して、顔検出コア部203へ供給する。なお、顔検出を行う(On)/行わない(Off)を表すフラグデータの作成方法の詳細については後述する。
顔検出コア部203は、画像バッファ202から供給された矩形画像データに対して、顔検出処理を施す。顔検出コア部203では、顔検出処理として、顔判定処理、重複判定処理を行い、顔検出結果を制御部110と候補領域処理部204に出力する。ただし、上記の顔検出処理を行うのは、画像バッファ202から供給された顔検出を行う(On)/行わない(Off)を表すフラグデータが、Onの矩形画像データに対してであり、Offの矩形画像データについては顔検出処理を行わない。
候補領域処理部204は、顔検出コア部203から供給された顔の検出結果に基づいて、次のフレーム画像で顔が検出される可能性が高い領域を算出し、その領域を次のフレーム画像で、顔の検出候補領域に設定する。顔が検出される可能性が高い領域とは、現フレーム画像で顔が検出された位置の周辺画像である。設定された顔の検出候補領域データはコントローラ205に供給される。なお、顔の検出候補領域データの算出方法については後述する。
コントローラ205は、制御部110に設けられたCPUの制御に基づき、スケーリング部201に対する画像データの縮小率(または拡大率)の指示や、画像バッファ202に対する書き込みまたは読み出しのメモリアドレスの指示など、顔検出部104の各部を制御する。また、候補領域処理部204によって求めた顔の検出候補領域データを、顔の検出候補ビットマップに変換した後に、スケーリング部201に供給する。なお、顔の検出候補領域ビットマップの算出方法については後述する。
次に、図1と図2を用いて撮像装置100の動作を説明する。
まず、画像の取り込みについて説明する。
画像の記録時には、被写体からの光が光学ブロック101を介して不図示の撮像素子に入射され、撮像素子上に結像された画像は、信号変換部102で光電変換により電気信号に変換された撮像(映像)信号となる。その撮像信号は順次カメラ信号処理部103に供給され、ディジタル変換や画質補正処理などが施される。各種処理が施された画像データは、画像バス113を介して画像RAM109に一旦記憶される。
まず、画像の取り込みについて説明する。
画像の記録時には、被写体からの光が光学ブロック101を介して不図示の撮像素子に入射され、撮像素子上に結像された画像は、信号変換部102で光電変換により電気信号に変換された撮像(映像)信号となる。その撮像信号は順次カメラ信号処理部103に供給され、ディジタル変換や画質補正処理などが施される。各種処理が施された画像データは、画像バス113を介して画像RAM109に一旦記憶される。
表示処理部105は、カメラ信号処理部103からの画像データを、画像RAM109を介して受け取り、表示用の画像信号を生成して表示部108に供給する。これにより、現在撮像中の画像が表示部108に表示され、撮影者は、この画像を視認して画角を確認することができる。
また、画像信号処理部106は、カメラ信号処理部103から出力された画像データを、画像RAM109を介して順次受け取り、例えばMPEG方式を用いて圧縮符号化処理を施して動画像ファイルを生成し、記憶部107に記録する。
また、図示しない操作部に設けられたシャッターボタンの押下などに応じて、カメラ信号処理部103から1フレーム分の画像データを取り出し、画像信号処理部106において、例えばJPEG方式を用いて圧縮符号化処理を施して静止画像ファイルを生成し、記憶部107に記録することもできる。
さらに、画像の再生時には、記憶部107に記憶された画像ファイルが、画像信号処理部106に読み出されて復号され、表示処理部105に供給されて表示用の画像に変換される。これにより、動画像または静止画像を表示部108に再生表示することができる。
上述のような画像の記録時において、顔検出部104は、カメラ信号処理部103からの出力画像データを、画像RAM109を介して受け取り、顔の検出処理を実行する。顔検出部104の顔の検出結果は制御部110に供給される。
次に、上述したAE、AF、AWB制御について説明する。
制御部110のCPUは、顔検出部104の顔検出結果に基づきAE(Auto Exposure)、AF(Auto Focus)やAWB(Auto White Balance)などの制御を行う。例えば、検出された顔の明るさや色を最適にするように絞り量、シャッタースピードやホワイトバランスゲインを調整する。あるいは、検出された顔にフォーカスを合わせるといった制御を行うことができる。
なお、顔検出部104は、記憶部107内の画像ファイルの再生時において、画像信号処理部106により復号された画像データを、画像RAM109を介して受け取り、画像の記録時と同様に、顔の検出処理を実行してもよい。
制御部110のCPUは、顔検出部104の顔検出結果に基づきAE(Auto Exposure)、AF(Auto Focus)やAWB(Auto White Balance)などの制御を行う。例えば、検出された顔の明るさや色を最適にするように絞り量、シャッタースピードやホワイトバランスゲインを調整する。あるいは、検出された顔にフォーカスを合わせるといった制御を行うことができる。
なお、顔検出部104は、記憶部107内の画像ファイルの再生時において、画像信号処理部106により復号された画像データを、画像RAM109を介して受け取り、画像の記録時と同様に、顔の検出処理を実行してもよい。
次に、顔検出の主な処理動作である、スケーリング処理、操作処理、顔判定処理と検出候補領域処理について説明する。
まず、スケーリング処理について説明する。
スケーリング部201では、撮像された画面上の画像データ300を所定の縮小率(または拡大率)で縮小(または拡大)した画像データ301を生成する。また、画像データと同じ縮小率(または拡大率)で、コントローラ205から供給された顔の検出候補領域のビットマップ302についても縮小(拡大)を行い、スケーリングされた顔の検出候補領域のビットマップ303を生成する。図3に、画像データとそれに対応するビットマップ図を示す。
図3(a)、(b)において、画像データ300、301は互いに拡大または縮小した時の画像を示す。これに対応して、図3(c)、(d)は、画像データを拡大または縮小したときに対応するビットマップデータを示す。
顔の検出候補領域のビットマップとは、画像データのピクセル(画素)に対応したフラグデータ群で、画像バッファ202により走査処理のために切出される矩形画像データの左上ピクセルが、顔の検出候補領域内であればOn(1)となり、顔の検出候補領域外であればOff(0)となる。
まず、スケーリング処理について説明する。
スケーリング部201では、撮像された画面上の画像データ300を所定の縮小率(または拡大率)で縮小(または拡大)した画像データ301を生成する。また、画像データと同じ縮小率(または拡大率)で、コントローラ205から供給された顔の検出候補領域のビットマップ302についても縮小(拡大)を行い、スケーリングされた顔の検出候補領域のビットマップ303を生成する。図3に、画像データとそれに対応するビットマップ図を示す。
図3(a)、(b)において、画像データ300、301は互いに拡大または縮小した時の画像を示す。これに対応して、図3(c)、(d)は、画像データを拡大または縮小したときに対応するビットマップデータを示す。
顔の検出候補領域のビットマップとは、画像データのピクセル(画素)に対応したフラグデータ群で、画像バッファ202により走査処理のために切出される矩形画像データの左上ピクセルが、顔の検出候補領域内であればOn(1)となり、顔の検出候補領域外であればOff(0)となる。
図3(a)は、拡大した時の画像データ300を示し、この画像データ300に対応した顔の検出候補領域のビットマップ302を図3(c)に示す。検出候補領域のビットマップ302において、データ“1”を示す領域は、顔の検出候補領域を示し、データ“0”を示す領域は、顔の検出候補領域以外の領域を示す。
図3(b)は、縮小した時の画像データ301を示し、これに対応した検出候補領域のビットマップ303において、データ“1”を示す領域は顔の検出候補領域を示し、データ“0”を示す領域は顔の検出候補領域以外の領域を示す。
図3(c)と図3(d)を比較すると、拡大した時のデータ“1”の領域が5*5(ここで、*印は掛算記号を示す)の領域を示し、縮小した時の顔の検出候補領域を示すデータ“1”の領域が3*3の領域を示す。
図3(b)は、縮小した時の画像データ301を示し、これに対応した検出候補領域のビットマップ303において、データ“1”を示す領域は顔の検出候補領域を示し、データ“0”を示す領域は顔の検出候補領域以外の領域を示す。
図3(c)と図3(d)を比較すると、拡大した時のデータ“1”の領域が5*5(ここで、*印は掛算記号を示す)の領域を示し、縮小した時の顔の検出候補領域を示すデータ“1”の領域が3*3の領域を示す。
次に、図4、5を用いて走査処理について説明する。
走査処理(後述の図12のステップST−102に対応する)では、スケーリングした画像データに対して、所定サイズの矩形領域を水平方向および垂直方向に所定量だけ移動させながら走査し、矩形画像データを切り出す。
画像バッファ202は、コントローラ205の制御に基づき、スケーリング処理によって得られた画像データに対して、図4に示す処理を行う。すなわち、所定サイズの矩形領域310を画面の左上の端から水平方向に移動量Δxだけ移動させ(水平方向に移動した矩形領域311に対応する)、画像データの右端に到達すると、左端に戻るとともに、垂直方向に移動量Δyだけ位置を変更し、再び水平方向に移動させる。この動作を繰り返して画像データの右下端まで走査を行い、矩形画像データを順次切り出す。
また、コントローラ205は、走査処理により切出された矩形画像データの左上ピクセルに対応する、顔の検出候補領域のフラグデータを取り出す処理も行う。
走査処理(後述の図12のステップST−102に対応する)では、スケーリングした画像データに対して、所定サイズの矩形領域を水平方向および垂直方向に所定量だけ移動させながら走査し、矩形画像データを切り出す。
画像バッファ202は、コントローラ205の制御に基づき、スケーリング処理によって得られた画像データに対して、図4に示す処理を行う。すなわち、所定サイズの矩形領域310を画面の左上の端から水平方向に移動量Δxだけ移動させ(水平方向に移動した矩形領域311に対応する)、画像データの右端に到達すると、左端に戻るとともに、垂直方向に移動量Δyだけ位置を変更し、再び水平方向に移動させる。この動作を繰り返して画像データの右下端まで走査を行い、矩形画像データを順次切り出す。
また、コントローラ205は、走査処理により切出された矩形画像データの左上ピクセルに対応する、顔の検出候補領域のフラグデータを取り出す処理も行う。
図5に画面をスケーリング部201により縮小した時の画像を示す。画像データ300をスケーリング比によりΔr倍した画像を画像データ300aに示し、この画像データ300aをまたΔr倍した画像を画像データ300bに示す。以下同様に、所定、または任意のスケーリングにより、画像を縮小する。
図5では、縮小する場合のスケーリングの例を示したが、拡大する場合のスケーリングも同様に行うことができる。例えば画面データ300dを基準にして、画像データ300c、300b、300a、300の順序に沿った画面とするとよい。なお、拡大する場合に関する説明は、縮小する場合と逆であるので省略する。
図5では、縮小する場合のスケーリングの例を示したが、拡大する場合のスケーリングも同様に行うことができる。例えば画面データ300dを基準にして、画像データ300c、300b、300a、300の順序に沿った画面とするとよい。なお、拡大する場合に関する説明は、縮小する場合と逆であるので省略する。
なお、図5に示すように、走査処理の際に走査される矩形領域310のサイズは、画像データの拡大または縮小した時のサイズによらず、常に同一のサイズとする。顔検出部104に入力された画像データのサイズをスケーリング部201で変更し、サイズが変更された画像データに対して所定サイズの矩形領域310を走査させることで、矩形領域310内で検出される顔のサイズが変わるため、実際の顔サイズを検出することができる。
次に、顔判定処理について説明する。
顔判定処理(後述の図12のステップST−104に対応)では、走査処理によって切り出した矩形画像データにおける所定の画素に対して、所定の演算処理を施し、矩形画像データが顔を含むか否かを判定する。
走査処理によってスケーリングされた画像データから矩形画像データが切り出されると、顔検出コア部203は、画像バッファ202から供給された矩形画像データ内の画素のうち、予め学習によって定められた2点の画素における輝度値の差分を算出する。
また、学習によって定められた他の2点の画素における輝度値の差分を同様に算出していき、算出されたこれらの輝度値の差分に基づいて、矩形画像データにおける顔らしさを示す検出確度値を決定する。そして、この検出確度値に対して所定の閾値を設定し、検出確度値が閾値以上であれば、矩形画像データが顔を含むと判定し、検出確度値が閾値よりも低ければ、矩形画像データが顔を含まないと判定する。
なお、ここで顔検出に輝度値を用いた例を示したが、これは顔の眉、目、鼻、口などの輝度データが互いに関連することに基づいているためであり、必ずしも顔の色データ、顔の形状などに基づいて顔を検出する必要がない。
また、これとは別に、従来の顔の色データや顔の形状データ、輝度データを組み合わせて顔を検出しても良く、本発明はこれらに限定するものでない。
顔判定処理(後述の図12のステップST−104に対応)では、走査処理によって切り出した矩形画像データにおける所定の画素に対して、所定の演算処理を施し、矩形画像データが顔を含むか否かを判定する。
走査処理によってスケーリングされた画像データから矩形画像データが切り出されると、顔検出コア部203は、画像バッファ202から供給された矩形画像データ内の画素のうち、予め学習によって定められた2点の画素における輝度値の差分を算出する。
また、学習によって定められた他の2点の画素における輝度値の差分を同様に算出していき、算出されたこれらの輝度値の差分に基づいて、矩形画像データにおける顔らしさを示す検出確度値を決定する。そして、この検出確度値に対して所定の閾値を設定し、検出確度値が閾値以上であれば、矩形画像データが顔を含むと判定し、検出確度値が閾値よりも低ければ、矩形画像データが顔を含まないと判定する。
なお、ここで顔検出に輝度値を用いた例を示したが、これは顔の眉、目、鼻、口などの輝度データが互いに関連することに基づいているためであり、必ずしも顔の色データ、顔の形状などに基づいて顔を検出する必要がない。
また、これとは別に、従来の顔の色データや顔の形状データ、輝度データを組み合わせて顔を検出しても良く、本発明はこれらに限定するものでない。
このように、スケーリングされた画像データを矩形領域310で走査することによって得られる矩形画像データに対して顔判定処理を行うことにより、検出確度値に応じて画像データ中の顔の位置を求めることができる。スケーリング処理においてスケーリングされた画像に対してさらに縮小率(拡大率)Δrで縮小(拡大)されたスケーリングされた画像について、同様の顔判定処理を順次行うことにより、画像データ中の顔のサイズを求めることができる。
また、これらの顔判定処理は、後述の分岐(図12のステップST−103)で示すように、走査によって切出された矩形画像データと共に取り出された顔の検出候補領域のフラグデータが、On(1)の場合のみ行われ、Off(0)の場合には行われない。これにより、顔の検出候補領域内の矩形画像データのみに検出処理の実行が限定され、演算量を減らすことが出来る。
顔判定処理は画像のすべての領域を走査するまで繰り返される。さらに、すべてのサイズの画像データを処理するまで繰り返される。
また、これらの顔判定処理は、後述の分岐(図12のステップST−103)で示すように、走査によって切出された矩形画像データと共に取り出された顔の検出候補領域のフラグデータが、On(1)の場合のみ行われ、Off(0)の場合には行われない。これにより、顔の検出候補領域内の矩形画像データのみに検出処理の実行が限定され、演算量を減らすことが出来る。
顔判定処理は画像のすべての領域を走査するまで繰り返される。さらに、すべてのサイズの画像データを処理するまで繰り返される。
次に、検出候補領域処理について説明する。
検出候補領域処理は、顔検出コア部203により出力された顔検出結果をもとに、次のフレーム画像で顔検出を行う画像範囲を、顔の検出候補領域として算出する。
検出候補領域処理は、顔検出コア部203により出力された顔検出結果をもとに、次のフレーム画像で顔検出を行う画像範囲を、顔の検出候補領域として算出する。
ここで、上述した検出候補領域について定義する。
顔の検出候補領域データは図6(a)に示すように、入力画像を縦横m*mピクセル(画素;mは正の整数)単位に区画分けし、横方向を行候補領域データ(column_block)、縦方向を列候補領域データ(row_block)と定義したものである。mの大きさは、顔の検出候補領域を詳細に設定したければ小さい値にすれば良いが、小さい値にするほど行または列候補領域データのデータ量が増大してしまうので実用的ではない。そのために、mは使用上の適切なサイズに定義する。また、区画分けは、これ以外に縦横m*nピクセルとしmとn(画素;nとmは正の整数)が異なる値に設定しても良い。
さらに、行候補領域データは一区画当たり所定の検出確度値の範囲で、例えば0〜3の2ビットの顔検出確度値をもち、この2ビットが横方向の区画の一行分を表す。同様に列候補領域データは一区画当たり2ビットの顔検出確度値をもち、この2ビットが縦方向の区画の一列分を表す。
顔の検出候補領域データは図6(a)に示すように、入力画像を縦横m*mピクセル(画素;mは正の整数)単位に区画分けし、横方向を行候補領域データ(column_block)、縦方向を列候補領域データ(row_block)と定義したものである。mの大きさは、顔の検出候補領域を詳細に設定したければ小さい値にすれば良いが、小さい値にするほど行または列候補領域データのデータ量が増大してしまうので実用的ではない。そのために、mは使用上の適切なサイズに定義する。また、区画分けは、これ以外に縦横m*nピクセルとしmとn(画素;nとmは正の整数)が異なる値に設定しても良い。
さらに、行候補領域データは一区画当たり所定の検出確度値の範囲で、例えば0〜3の2ビットの顔検出確度値をもち、この2ビットが横方向の区画の一行分を表す。同様に列候補領域データは一区画当たり2ビットの顔検出確度値をもち、この2ビットが縦方向の区画の一列分を表す。
なお、顔検出確度値の0〜3の値は、画面上の各区画のそれぞれ独立した座標上のアドレスに設けられるのではなく、図6(b)に示すように、画面上に構成された各区画に対応した行方向の1列と列方向の1列に対してのみ設定される。原理的には、全ての区画に顔検出確度値をそれぞれ設定してよいが、行と列方向の1行と1列のみに顔検出確度値を設定して、行、列方向の顔検出確度値が所定以上の範囲を顔検出候補領域をする方が、演算処理する回数を減少することができ、それに伴い画像処理を高速化することができる。なお、詳細な例に付いては、後述する。
顔検出確度値は、数値が大きいほど次のフレームで顔が検出される可能性の高いことを表している。顔検出確度値=0は、顔が検出される可能性が無いことである。
この行候補領域データと列候補領域データ中の顔検出確度値が共に顔検出確度値≧1である領域が、次のフレーム画像の検出候補領域である。
この行候補領域データと列候補領域データ中の顔検出確度値が共に顔検出確度値≧1である領域が、次のフレーム画像の検出候補領域である。
なお、ここで顔検出確度値とは、0〜3(2ビット)までの重み付けした値を示し、フレーム画像間において変化する。
例えば、現フレーム画像において、画面上で矩形領域310が検出候補領域を水平方向または垂直方向に移動した時に、顔検出されない矩形領域の座標の原点(0,0)が前フレーム画像における顔検出された区画に重複すると、前フレーム画像の顔検出確度値から“1”を減算する。たとえば、前フレーム画像の顔検出確度値が“3”のとき、顔検出確度値は、1減少して“2”となり、また前フレーム画像で顔検出確度値が“2”のとき、“1”になり、さらに前フレーム画像の顔検出確度値が“1”のときは“0”になる。
また、前フレーム画像における顔検出確度値が“0,1,2”のとき、現フレーム画像で新たに顔検出される区画では顔検出確度値は“3”となる。
図6(b)は、画面上で1区画をm*m個(mは正の整数)の画素で構成し、行候補領域の区画をk=0,1,2,・・・,p−1また列候補領域の区画をi=0,1,2,・・・,n−1(ここで、pとnは1より大きい整数を表す)としたときの複数の区画で構成される画面構成を示す。
例えば、現フレーム画像において、画面上で矩形領域310が検出候補領域を水平方向または垂直方向に移動した時に、顔検出されない矩形領域の座標の原点(0,0)が前フレーム画像における顔検出された区画に重複すると、前フレーム画像の顔検出確度値から“1”を減算する。たとえば、前フレーム画像の顔検出確度値が“3”のとき、顔検出確度値は、1減少して“2”となり、また前フレーム画像で顔検出確度値が“2”のとき、“1”になり、さらに前フレーム画像の顔検出確度値が“1”のときは“0”になる。
また、前フレーム画像における顔検出確度値が“0,1,2”のとき、現フレーム画像で新たに顔検出される区画では顔検出確度値は“3”となる。
図6(b)は、画面上で1区画をm*m個(mは正の整数)の画素で構成し、行候補領域の区画をk=0,1,2,・・・,p−1また列候補領域の区画をi=0,1,2,・・・,n−1(ここで、pとnは1より大きい整数を表す)としたときの複数の区画で構成される画面構成を示す。
次に、図7を用いて検出候補領域の設定について説明する。
顔検出結果を受け取ると候補領域処理部204は、1以上の顔検出確度値をもつ、すべての区画の顔検出確度値から1を減算した後に、図7に示すように顔検出座標が含まれる行候補領域データの区画番号(i)と列候補領域データの区画番号(k)を算出し、区画(i,k)C00の周辺区画±nに対応する行候補領域データと列候補領域データに、顔検出確度値=3を設定する。図8(a)〜(d)は、顔検出確度値の遷移400〜403は時間の経過による変化を図示したものである。
顔検出結果を受け取ると候補領域処理部204は、1以上の顔検出確度値をもつ、すべての区画の顔検出確度値から1を減算した後に、図7に示すように顔検出座標が含まれる行候補領域データの区画番号(i)と列候補領域データの区画番号(k)を算出し、区画(i,k)C00の周辺区画±nに対応する行候補領域データと列候補領域データに、顔検出確度値=3を設定する。図8(a)〜(d)は、顔検出確度値の遷移400〜403は時間の経過による変化を図示したものである。
図7において、C00は、n=0のときの区画で座標(i,k)のC00を示し、n=1のときの1区画は(i,k)を中心として水平、垂直方向にそれぞれ1区画広げた区画を示す。
この拡大した区画は、図7の斜線で示した区画で、(i−n,k−n)、(i,k−n)、(i+n,k―n)、(i−n,k)、(i,k)、(i+n,k)、(i−n,k+n)、(i,k+n)、(i+n,k+n)の9区画で構成され、顔検出確度値をRow block i[1:0]=3, coloumn block k[1:0]=3で表す。
その結果、画面上の画像データは9区画をまとめて1区画と見做され、この区画を新たな区画として顔検出用の矩形領域310を走査するので、フレーム間で画像が激しく移動する場合、顔検出を見失うことを少なくすることができる。さらに、変数nを2、3、・・・と変えて区画をさらに拡張することができる。
このように、変数nを可変することにより、画像の移動の変化に伴う顔検出を最適化することができる。
この拡大した区画は、図7の斜線で示した区画で、(i−n,k−n)、(i,k−n)、(i+n,k―n)、(i−n,k)、(i,k)、(i+n,k)、(i−n,k+n)、(i,k+n)、(i+n,k+n)の9区画で構成され、顔検出確度値をRow block i[1:0]=3, coloumn block k[1:0]=3で表す。
その結果、画面上の画像データは9区画をまとめて1区画と見做され、この区画を新たな区画として顔検出用の矩形領域310を走査するので、フレーム間で画像が激しく移動する場合、顔検出を見失うことを少なくすることができる。さらに、変数nを2、3、・・・と変えて区画をさらに拡張することができる。
このように、変数nを可変することにより、画像の移動の変化に伴う顔検出を最適化することができる。
図7において、周辺区画±nは次のフレーム画像で顔の検出される確率が高い領域の広さを表すものである。微小時間単位で動画像より切出したフレーム画像間では、人物の顔の移動量が±n区画以内(移動の最大量)に収まるとした場合である。
図7および図8ではn=1とした例を示す。周辺区画±nの数値は、移動の最大量から算出しても良いし、予測の確率を高めたければ、例えば動画像の圧縮技術で取り入れられている動き予測のアルゴリズムを用いて算出しても良い。また、nの値を上下左右に分解して、各々の向きに違った値を用いてもよい。
また、図8(b)において、前フレーム画像の検出確度値が“3”であったすべての区画の顔検出確度値“3”から“1”を減算して“2”としているのは、同一の位置から顔が検出される確率は、時間の経過と共に下がっていくと考えられるためである。図8(c)と図8(d)においても、同様にフレーム画像が時間経過とともに顔検出確度値は減少する。顔検出確度値≧1の間は顔が検出される確率がまだ存在するとして、顔の検出候補領域に設定する。顔検出確度値=0になると、顔の検出候補領域から除外される。
以上のように顔検出の確度値を減算する処理は、一時的な顔の条件(向き、輝度、髪型、表情、など)により顔が検出出来なかった場合に、顔の検出候補領域データの顔検出確度値の設定に慣性を与える。これにより、一時的に顔が検出できなかったとしても、顔の検出候補領域を見失うことなく、顔の追跡検出が可能となる。
図7および図8ではn=1とした例を示す。周辺区画±nの数値は、移動の最大量から算出しても良いし、予測の確率を高めたければ、例えば動画像の圧縮技術で取り入れられている動き予測のアルゴリズムを用いて算出しても良い。また、nの値を上下左右に分解して、各々の向きに違った値を用いてもよい。
また、図8(b)において、前フレーム画像の検出確度値が“3”であったすべての区画の顔検出確度値“3”から“1”を減算して“2”としているのは、同一の位置から顔が検出される確率は、時間の経過と共に下がっていくと考えられるためである。図8(c)と図8(d)においても、同様にフレーム画像が時間経過とともに顔検出確度値は減少する。顔検出確度値≧1の間は顔が検出される確率がまだ存在するとして、顔の検出候補領域に設定する。顔検出確度値=0になると、顔の検出候補領域から除外される。
以上のように顔検出の確度値を減算する処理は、一時的な顔の条件(向き、輝度、髪型、表情、など)により顔が検出出来なかった場合に、顔の検出候補領域データの顔検出確度値の設定に慣性を与える。これにより、一時的に顔が検出できなかったとしても、顔の検出候補領域を見失うことなく、顔の追跡検出が可能となる。
図8に、画面上に形成された複数の区画を顔検出用の矩形領域310で走査した例を示す。
図8(a)は、画面上の区画をRow_block_i[1:0]のiをi=20、colum_block_k[1:0]のkをk=15とした例を示す。顔検出において、矩形領域310は顔が検出された位置である。
データ“0”は顔検出度確度値=0で検出されなかったことを示す。一方、データ“3”は顔検出確度値=3で現フレーム画像で顔検出したことを示す。
そして、検出結果を記憶する場合は、画面上の各区画の座標値の顔検出確度値を記憶しないで、y座標列に対応した00333000・・・とまたx座標列に対応した00000000003330・・・の値を例えばコントローラ205に記憶する。
図8(a)は、画面上の区画をRow_block_i[1:0]のiをi=20、colum_block_k[1:0]のkをk=15とした例を示す。顔検出において、矩形領域310は顔が検出された位置である。
データ“0”は顔検出度確度値=0で検出されなかったことを示す。一方、データ“3”は顔検出確度値=3で現フレーム画像で顔検出したことを示す。
そして、検出結果を記憶する場合は、画面上の各区画の座標値の顔検出確度値を記憶しないで、y座標列に対応した00333000・・・とまたx座標列に対応した00000000003330・・・の値を例えばコントローラ205に記憶する。
図8(b)は、例えば次のフレーム画像で顔が左斜め下に1区画移動した画像を示す。図8(a)と同様に、矩形領域310aは顔が検出された位置であり、i=10〜12とk=4〜6で囲まれる領域はこのフレーム画像で新たに顔が検出されたから顔検出確度値=3となる。一方、今回顔は検出されなかった領域で且つ前フレーム画像で顔検出された領域である、k=3でi=11〜13は“2”と顔検出確度値が“3”から“2”へ“1”減少する。またi=13で且つk=4、5の領域も顔検出確度値は“1”減少し、顔検出確度値は“2”となる。前フレーム画像と現フレーム画像で顔が検出されなかった領域(区画)の顔検出確度値は“0”である。
この結果、x座標列に対応して0000000033200000とy座標列の0023330000000をコントローラ205に記憶する。
この結果、x座標列に対応して0000000033200000とy座標列の0023330000000をコントローラ205に記憶する。
図8(c)は、図8(b)に続くフレーム画像における顔の移動状態を示す。図8(b)の顔の位置から斜め右下へ1区画移動した例を示す。その結果、i=11〜13、k=3の領域は、さらに顔検出確度値が“1”減少し、顔検出確度値=1となり、i=10〜12、k=4の領域は前フレーム画像で顔検出され、現フレーム画像で顔検出されなかったので顔検出確度=2、i=13且つk=4で示される領域は前々回と前フレーム画像で顔検出されなかったので、顔検出確度値=1となる。i=10とk=5、6では前回顔検出されたので顔検出確度値=2、i=11〜13とk=5〜7では今回顔検出されたので、顔検出確度値=3となる。
その結果、x座標列の0000000002333000・・・とy座標列の001233300000・・・が記憶部107に記憶される。
図8(d)は、時間経過に伴うフレーム画像で顔が右斜め下に1区画ずつシフトした例を示す。上述した例と同様に検出した結果、x座標列に対応して、0000000001233300・・・、y座標列に対応して、000123330000・・・の顔検出確度値が得られ、この顔検出確度値をコントローラ205に記憶する。
その結果、x座標列の0000000002333000・・・とy座標列の001233300000・・・が記憶部107に記憶される。
図8(d)は、時間経過に伴うフレーム画像で顔が右斜め下に1区画ずつシフトした例を示す。上述した例と同様に検出した結果、x座標列に対応して、0000000001233300・・・、y座標列に対応して、000123330000・・・の顔検出確度値が得られ、この顔検出確度値をコントローラ205に記憶する。
上述したように、フレーム経過に対応して、検出した顔検出確度値を設定することにより、顔検出の領域の顔検出確度値に重み付けし、その検出確度の出現割合を数値化して確度の高い検出候補領域を設定することができる。
図9を用いて、検出候補領域のビットマップ変換の動作について説明する。
図9(a)に示す顔の検出候補領域データを受け取るとコントローラ205は図9(b)に示すように、検出候補領域データを検出候補領域のビットマップへ展開する。
x座標列に対応して、顔検出確度値00000000012333000・・・、y座標列に対応して顔検出確度値00012333000・・・が求められ、このx座標列で得られた顔検出確度値12333とy座標列で得られた顔検出確度値12333で囲まれる領域が、検出候補領域となる。
図9(b)は、図9(a)の画像をビットマップに変換した例である。図9(b)において、顔の検出候補領域のビットマップがOn(1)となるのは、行候補領域データと列候補領域データの顔検出確率値が共に顔検出確度値≧1(ビットマップ=1)の区画で、その区画内のすべてのピクセルに対応するビットマップが対象である。すなわち、row_block>=1かつcolumn_Block_k>=1で囲まれた領域が検出候補領域である。それ以外の行候補領域データと列候補領域データの顔検出確率値のどちらかが、顔検出確度値=0(ビットマップ=0)の区画はOff(0)が設定される。
図9(a)に示す顔の検出候補領域データを受け取るとコントローラ205は図9(b)に示すように、検出候補領域データを検出候補領域のビットマップへ展開する。
x座標列に対応して、顔検出確度値00000000012333000・・・、y座標列に対応して顔検出確度値00012333000・・・が求められ、このx座標列で得られた顔検出確度値12333とy座標列で得られた顔検出確度値12333で囲まれる領域が、検出候補領域となる。
図9(b)は、図9(a)の画像をビットマップに変換した例である。図9(b)において、顔の検出候補領域のビットマップがOn(1)となるのは、行候補領域データと列候補領域データの顔検出確率値が共に顔検出確度値≧1(ビットマップ=1)の区画で、その区画内のすべてのピクセルに対応するビットマップが対象である。すなわち、row_block>=1かつcolumn_Block_k>=1で囲まれた領域が検出候補領域である。それ以外の行候補領域データと列候補領域データの顔検出確率値のどちらかが、顔検出確度値=0(ビットマップ=0)の区画はOff(0)が設定される。
図10を用いて、追跡復帰の設定について説明する。
図10(a)は、時間経過に対するフレーム画像A−02、A−01、A00、A01、A02、A03、・・・の例を示し、このフレーム画像の内、フレーム画像A−02では画面全体で顔検出を行い、フレーム画像A−01では検出の検出確度を求める。
また、フレーム画像A00は顔検出した結果、前フレーム画像A00で検出した検出候補領域のビットマップ=1で顔が検出されないときの動作を示し、フレーム画像A01は前フレーム画像でビットマップの“1”と“0”の領域を切り替えて(反転して)、顔検出する領域を異なる領域に設定する動作を示す。フレーム画像A02は、フレーム画像A01で“1”となった領域を走査して、その中から新たに顔検出候補領域を検出し、検出候補領域(ビットマップ=1)を求める動作を示す。
図10(a)は、時間経過に対するフレーム画像A−02、A−01、A00、A01、A02、A03、・・・の例を示し、このフレーム画像の内、フレーム画像A−02では画面全体で顔検出を行い、フレーム画像A−01では検出の検出確度を求める。
また、フレーム画像A00は顔検出した結果、前フレーム画像A00で検出した検出候補領域のビットマップ=1で顔が検出されないときの動作を示し、フレーム画像A01は前フレーム画像でビットマップの“1”と“0”の領域を切り替えて(反転して)、顔検出する領域を異なる領域に設定する動作を示す。フレーム画像A02は、フレーム画像A01で“1”となった領域を走査して、その中から新たに顔検出候補領域を検出し、検出候補領域(ビットマップ=1)を求める動作を示す。
以下、上述した追跡復帰の動作について図10(b)〜図10(d)を用いて具体的に説明する。
図10(b)に示すように、顔検出しないフレーム画像A00では、row_bloc_i>=1,colum_block_k>=1がビットマップ=1を表し、それ以外の領域がビットマップ=0を表し、顔はこのビットマップ=0の領域に存在しない。すなわち、フレーム画像A00において、ビットマップ=1の領域に顔の画像が存在せず、顔画像を見失った状態を示す。
時間が経過し、図10(c)に示すように、顔検出の動作を行うフレーム画像A01において、row_block_i>=1,colum_block_k>=1がビットマップ=0、それ以外の領域がビットマップ=1を示し、図10(b)のビットマップデータを反転した値になっている。この反転したビットマップにおいて、顔はこのビットマップ=1の領域に存在する。
さらに、時間経過し、図10(d)に示すように、顔検出したフレーム画像A02において、フレーム画像A01でビットマップ=1の領域の中で顔検出され、row_block_1>=1,colum_block_k>=1がビットマップ=1、それ以外の領域がビットマップ=0となる。すなわち、一度顔画像を見失ってもビットマップを反転し、この反転した領域について新たに顔検出することにより、再度顔を検出することができる。
図10(b)に示すように、顔検出しないフレーム画像A00では、row_bloc_i>=1,colum_block_k>=1がビットマップ=1を表し、それ以外の領域がビットマップ=0を表し、顔はこのビットマップ=0の領域に存在しない。すなわち、フレーム画像A00において、ビットマップ=1の領域に顔の画像が存在せず、顔画像を見失った状態を示す。
時間が経過し、図10(c)に示すように、顔検出の動作を行うフレーム画像A01において、row_block_i>=1,colum_block_k>=1がビットマップ=0、それ以外の領域がビットマップ=1を示し、図10(b)のビットマップデータを反転した値になっている。この反転したビットマップにおいて、顔はこのビットマップ=1の領域に存在する。
さらに、時間経過し、図10(d)に示すように、顔検出したフレーム画像A02において、フレーム画像A01でビットマップ=1の領域の中で顔検出され、row_block_1>=1,colum_block_k>=1がビットマップ=1、それ以外の領域がビットマップ=0となる。すなわち、一度顔画像を見失ってもビットマップを反転し、この反転した領域について新たに顔検出することにより、再度顔を検出することができる。
上述したように、顔の検出候補領域内に対して顔検出処理を行っていたとしても、顔の条件(向き、輝度、髪型、表情、など)が変化して顔が検出できない状態が続いたり、人物の顔が検出候補領域外へ瞬時に移動して顔が検出できなくなったりした場合には、顔検出確度値≧1を満たす期間内に顔が再検出できなくなり、フレーム画像A00において追跡していた顔を見失うことが考えられる。その場合にコントローラ205は前フレーム画像までOn(1)、Off(0)としていた顔のフレーム画像A00の検出候補領域ビットマップを、現フレーム画像では前フレーム画像のビットマップをフレーム画像A01で入れ替えて設定し、顔検出処理を行う。これにより見失った顔を改めてフレーム画像A02で検出し、顔検出の追跡を復帰させることができる。
また、図11を用いて新規に顔が出現する場合の顔検出の追跡動作について説明する。
図11(a)は、時間経過に対する顔検出の有無のフレーム画像を示す。フレーム画像B00は顔検出あり、またこれに続いてフレーム画像B01で新たに顔が現われた例を示す。
図11(a)は、時間経過に対する顔検出の有無のフレーム画像を示す。フレーム画像B00は顔検出あり、またこれに続いてフレーム画像B01で新たに顔が現われた例を示す。
図11(b)に示すように、フレーム画像B00において、row_block_k>=1,colum_block_i>=1の領域はビットマップ=1、それ以外の領域はビットマップ=0を示し、顔はビットマップ=1の領域に存在する。
時間が経過し、図11(c)に示すようにフレーム画像B01において、フレーム画像B01で顔が新たに1個出現して2個の顔が存在する例を示す。フレーム画像B00で顔検出したビットマップ=1の領域とビットマップ=0の領域のデータを反転し、顔検出されなかった領域を、ビットマップ=0からビットマップ=1とする。この新たにビットマップ=1とした領域のみを顔検出する。顔検出したフレーム画像B01において、row_block_k>=1,colum_block_K>=1がビットマップ=0、それ以外の領域がビットマップ=1を示し、顔はこのビットマップ=1の領域にも存在する。このビットマップ=1とした領域内で新たに顔検出を行い、その領域中で顔検出された検出候補領域のみがrow_block_k>=1,colum_block_K>=1となり、それ以外はビットマップ=0となる。
さらに、時間経過し、図11(d)に示すように、顔検出したフレーム画像B02において、2個の顔が存在する領域を合わせて単純化された矩形領域が新たに検出候補領域となり、row_block_k>=1,colum_block_K>=1がビットマップ>=1、それ以外の領域がビットマップ=0を示す。すなわち、新たに出現した顔を追加した2個の顔がこのビットマップ=1で示す領域内に存在する。
時間が経過し、図11(c)に示すようにフレーム画像B01において、フレーム画像B01で顔が新たに1個出現して2個の顔が存在する例を示す。フレーム画像B00で顔検出したビットマップ=1の領域とビットマップ=0の領域のデータを反転し、顔検出されなかった領域を、ビットマップ=0からビットマップ=1とする。この新たにビットマップ=1とした領域のみを顔検出する。顔検出したフレーム画像B01において、row_block_k>=1,colum_block_K>=1がビットマップ=0、それ以外の領域がビットマップ=1を示し、顔はこのビットマップ=1の領域にも存在する。このビットマップ=1とした領域内で新たに顔検出を行い、その領域中で顔検出された検出候補領域のみがrow_block_k>=1,colum_block_K>=1となり、それ以外はビットマップ=0となる。
さらに、時間経過し、図11(d)に示すように、顔検出したフレーム画像B02において、2個の顔が存在する領域を合わせて単純化された矩形領域が新たに検出候補領域となり、row_block_k>=1,colum_block_K>=1がビットマップ>=1、それ以外の領域がビットマップ=0を示す。すなわち、新たに出現した顔を追加した2個の顔がこのビットマップ=1で示す領域内に存在する。
このように、コントローラ205は図11で示すように、検出候補領域のビットマップのOn(1)、Off(0)の入れ替えを定期的に実行しフレーム画像B01で行い、画像中に出現した新規顔について、フレーム画像B02において追跡を開始できるように動作させることも出来る。
次に、図12のフローチャートを用いて顔検出部104の動作について説明する。
画像データが例えば画像RAM109から画像バス113を介して顔検出部104のスケーリング部201に入力される(ST−100)。
画像データが例えば画像RAM109から画像バス113を介して顔検出部104のスケーリング部201に入力される(ST−100)。
ステップST−101において、スケーリング部201で、画像データのサイズ(水平方向および垂直方向の各画素数)を、顔検出コア部203における顔検出処理に適するように縮小または拡大するスケーリング処理を行い、画像バッファ202に供給する(図3参照)。また、顔を含む可能性の高い検出候補領域として、候補領域処理部204により算出された、顔の検出候補領域のビットマップをコントローラ205より受け取り、画像と同様にスケーリング処理を行い、この処理したデータを画像バッファ202に供給する。
ステップST−102において、スケーリング処理された後、顔領域を検出するために、矩形領域(検出領域)310をΔx、Δy方向にシフトして、画面上を走査することにより操作処理が行われる。
ステップST−103において、矩形領域で走査した領域が、顔の検出候補領域内で有るか否かが判別され、判別した結果、検出候補領域内でないときステップST−105に遷移し、検出候補領域内のとき、ステップST−104へ遷移する。
ステップST−104において、ステップST−102の走査処理によって切り出した矩形画像データにおける所定の画素に対して、所定の演算処理を施し、矩形画像データが顔を含むか否かを判定する。この詳細な動作については、上述したように、図8〜図11を用いて説明した。
ステップST−105において、矩形領域310を表示画面上で全ての領域に渡り走査したか否かを判別する。判別の結果、全ての領域を走査していないとき、ステップST―102に遷移し、全ての領域を走査したときは、ステップST−106に遷移する。
画面上の全ての領域を走査した画像データを全てのサイズで処理したかどうかを判別する。判別した結果、全てのサイズを処理したときは、ステップST−107に遷移し、顔検出結果を出力する。判別の結果、全てのサイズの画像データを処理しないときは、ステップST−101に遷移しスケーリング処理を行う。
ステップST−107において、顔検出コア部203により出力された顔検出結果をもとに、次のフレーム画像で顔検出を行う画像範囲を、顔の検出候補領域として算出する。その後、ステップST−102へ遷移する。
このように、顔の検出候補領域データとビットマップを用いて顔検出することにより、演算量を削減できる。また、顔の検出候補領域データの区分けによる顔検出候補データ量も削減することができる。顔検出度候補確度の制御によるシームレスな顔の追跡ができる。さらに、顔の検出候補領域データを制御することにより、顔の追跡を復帰でき、また新規に現われた顔も追跡できる。
以上述べたことから、本発明は以下の利点を有する。
顔の検出処理を検出候補領域に絞り込むことで、一枚のフレーム画像を処理するための演算量が削減でき、その結果、顔の検出処理スピードを上げることが出来る。顔の検出処理スピードが上がると、顔の検出結果をAF(Auto Focus)、AE(Auto Exposure)やAWB(Auto White Balance)の制御に用いる場合に、時間的に細かな制御が可能となる。細かな制御が可能になると、一瞬のシャッターチャンスを逃すことなく鮮明な画像を捕らえることができる
顔の検出処理を検出候補領域に絞り込むことで、一枚のフレーム画像を処理するための演算量が削減でき、その結果、顔の検出処理スピードを上げることが出来る。顔の検出処理スピードが上がると、顔の検出結果をAF(Auto Focus)、AE(Auto Exposure)やAWB(Auto White Balance)の制御に用いる場合に、時間的に細かな制御が可能となる。細かな制御が可能になると、一瞬のシャッターチャンスを逃すことなく鮮明な画像を捕らえることができる
顔の検出候補領域データの設定に慣性を持たせることで、一時的な顔の条件(向き、輝度、髪型、表情、など)変化により顔が未検出になったとしても、追跡が途切れることを防止できる。これにより、シームレスな顔検出の追跡が可能となる。シームレスな顔検出の追跡が可能になると、例えば、運動会の子供を撮影する場合などのように、屋外を動き回る被写体に対しても顔検出ができ、その顔の検出結果に対してAF、AE、AWBの制御を適用すれば鮮明な動画像を撮影できる。
顔の条件(向き、輝度、髪型、表情、など)変化が長時間続いたり、動き回る人物の顔の移動量が大きく、顔が検出候補領域内から一瞬のうちに外れたりした場合、検出していた顔を見失って追跡が途切れる場合がある。その場合に、今まで顔の検出候補としていた領域以外を、あらたに検出候補に設定し、見失った顔を検出しなおして、追跡処理に復帰することが出来る。これにより、顔の追跡の途切れる時間を最小に抑えることが出来る。
また、検出領域を画像の顔の移動量に応じて可変することにより、顔の移動スピードが速い場合でも、追従することができる。
このように、追跡している顔の検出結果に対して、AF、AE、AWBの制御に適用すれば、AF、AE、AWBの制御ができない時間を最小限に抑えることができ、その結果、動画像が不鮮明になる時間を最小限にできる。
また、検出領域を画像の顔の移動量に応じて可変することにより、顔の移動スピードが速い場合でも、追従することができる。
このように、追跡している顔の検出結果に対して、AF、AE、AWBの制御に適用すれば、AF、AE、AWBの制御ができない時間を最小限に抑えることができ、その結果、動画像が不鮮明になる時間を最小限にできる。
今まで顔の検出候補としていた領域以外を検出候補に設定する動作を定期的に行うことで、検出される顔が増減した場合でも、顔の検出と追跡処理が可能となる。これにより、複数人の顔の検出結果に対して、AF、AE、AWBの制御を適用すれば、被写体が複数人の動画像についても、鮮明な画像が撮影できる。
よって本発明は、移動する人物の動画像を微小時間単位で切出したフレーム画像において、時間的に並べられたフレーム画像の前後2枚の画像に対して顔検出を行い、その顔の位置とサイズの変移量を調べると、微小時間が十分小さいと考えれば、その変移量は大きくない。これは、動画像を微小時間単位で切出したフレーム画像であれば、現在のフレーム画像で検出した顔を含む周辺の画像領域を、顔を含む可能性の高い候補領域とし、次のフレームで顔の検索対象領域とすれば、顔検出の探索範囲を絞り込むことができ、その結果、演算回数を削減することができる。
また、現在のフレーム画像で検出した顔の位置と、まったく同じ位置に顔が検出される確率は、時間が経過する毎に低くなっていくと考えられる。これは人物がフレーム画像中を動くためで、時間の経過と共に、顔が検出された位置からの変移量が大きくなっていくと考えられるからである。しかし、一定の時間が経過するまでは確率はゼロとは言い切れない。従って、顔が検出されたという事象を持つ領域を、一定の時間が経過するまで顔を含む可能性が高い候補領域とする処理を加える。これにより、顔が検出されない瞬間があったとしても、顔の位置とサイズを見失うことなく顔の検索が行われ、撮像画像の条件が元に戻ったところで、再び顔が検出できるようになる。
また、顔を含む可能性が高い候補領域内で、一定の時間が経過しても顔が検出されない場合は、逆に候補領域外の方が顔を含む可能性が高いと判定し、顔の検索対象領域を候補領域外に切り替える処理を加える。これにより、顔の位置とサイズを見失うことになったとしても、改めて顔を検出することができ、顔検出の追跡動作へ復帰することが可能となる。なお、候補領域の領域内・外を排他的に切り替える理由は、顔検出の探索範囲を絞り込む効果を、顔検出の追跡動作を復帰する場合にも維持するためである。
本発明において、画面上の画像データを拡大または縮小するスケーリング部は、スケーリング部に対応する。上記スケーリング部で得られた画像データに対して所定個数の画素を有する区画が複数個設けられ、該複数個の区画で設けられた画面上を所定の大きさの矩形領域で水平方向、または水平および垂直方向に走査し、上記スケーリング処理された画像データの中の特定画像を検出する画像検出部は、顔検出部に対応する。上記検出して得られた特定画像の画面の区画の重複度に応じた検出確度値を設定する候補領域処理部は、候補領域処理部に対応する。上記候補処理部で設定された検出確度値を記憶する記憶部は、画像バッファに対応する。
100…撮像装置、101…光学ブロック、102…信号変換部、103…カメラ信号処理部、104…顔検出部、105…表示処理部、106…画像信号処理部、107…記憶部、108…表示部、109…画像RAM、110…制御部(CPU)、111…ROM、112…RAM、113…画像バス、201…スケーリング部、202…画像バッファ、203…顔検出コア部、204…候補領域処理部、205…コントローラ、300,300a〜300d…画像データ、310,310a〜310d,311…矩形領域。
Claims (14)
- 画面上の画像データを拡大または縮小するスケーリング部と、
上記スケーリング部で得られた画像データに対して所定個数の画素を有する区画が複数個設けられ、該複数個の区画で設けられた画面上を所定の大きさの矩形領域で水平方向、または水平および垂直方向に走査し、上記スケーリング処理された画像データの中の特定画像を検出する画像検出部と、
上記検出して得られた特定画像の画面の区画の重複度に応じた検出確度値を設定する候補領域処理部と、
上記候補領域処理部で設定された検出確度値を記憶する記憶部と、
を有する
画像検出装置。 - 上記画像データの特定画像は、顔を表す
請求項1記載の画像検出装置。 - 上記検出確度値は、時間経過と共に変化する上記画像データを有するフレーム画像に応じて可変する
請求項2記載の画像検出装置。 - 上記検出確度値は、特定の範囲の重複度を表す値である
請求項3記載の画像検出装置。 - 上記検出確度値は、上記画面上の複数の区画の水平または垂直座標に対して設定される
請求項4記載の画像検出装置。 - 上記検出確度値は、各フレーム画像に対応して上記記憶部に記憶され、該記憶されたデータに基づいて特定フレーム画像で検出されなかった特定画像を後のフレーム画像で検出するために用いる
請求項5記載の画像検出装置。 - 上記特定画像を検出するための検出候補領域は、上記画像データの特定画像の移動量に応じて可変される
請求項1記載の画像検出装置。 - 上記フレーム画像で検出された特定画像のビットマップ値を反転して、該反転した領域以外について特定画像を検査する
請求項1記載の画像検出装置。 - 前記画像検出部は、所定のフレーム間隔で、フレーム画像全体の上記区画を検出する
請求項1記載の画像検出装置。 - 画面上の画像データをスケーリング処理により拡大または縮小するステップと、
上記スケーリング処理により拡大または縮小された画像データに所定個数の画素を有する区画を複数個設けるステップと、
上記画面上に設けられた前記複数個の区画を所定の大きさの矩形領域で上記画面上の水平方向、または水平および垂直方向に走査するステップと、
上記矩形領域の走査により、上記スケーリング処理された画像データの中の特定画像を検出するステップと、
上記検出して得られた特定画像に対応する区画の重複度に応じた検出確度値を設定するステップと、
上記設定された検出確度値を記憶するステップと
を有する
画像検出方法。 - 上記画像データの特定領域を顔の画像データとし、上記検出確度値は、時間経過と共に変化する上記画像データを有するフレーム画像に応じて可変する
請求項10記載の画像検出方法。 - 上記検出確度値は、各フレーム画像に対応して上記記憶部に記憶され、該記憶されたデータに基づいて特定フレーム画像で検出されなかった特定画像を後のフレーム画像で検出するために用いる
請求項10記載の画像検出方法。 - 上記フレーム画像で検出された特定画像のビットマップ値を反転して、該反転した領域以外について特定画像を検査する
請求項10記載の画像検出方法。 - 前記画像検出ステップは、所定のフレーム間隔で、フレーム画像全体の上記区画を検出する
請求項10記載の画像検出方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008191316A JP2010027000A (ja) | 2008-07-24 | 2008-07-24 | 画像検出装置および画像検出方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008191316A JP2010027000A (ja) | 2008-07-24 | 2008-07-24 | 画像検出装置および画像検出方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010027000A true JP2010027000A (ja) | 2010-02-04 |
Family
ID=41732739
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008191316A Pending JP2010027000A (ja) | 2008-07-24 | 2008-07-24 | 画像検出装置および画像検出方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2010027000A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011188094A (ja) * | 2010-03-05 | 2011-09-22 | Toyota Central R&D Labs Inc | 物体認識装置及びプログラム |
| JP2014023158A (ja) * | 2012-07-17 | 2014-02-03 | Samsung Electronics Co Ltd | 映像提供システム及びその方法 |
| CN113190700A (zh) * | 2021-07-02 | 2021-07-30 | 成都旺小宝科技有限公司 | 用于房产交易的人脸抓拍、筛选和存储的方法及系统 |
-
2008
- 2008-07-24 JP JP2008191316A patent/JP2010027000A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011188094A (ja) * | 2010-03-05 | 2011-09-22 | Toyota Central R&D Labs Inc | 物体認識装置及びプログラム |
| JP2014023158A (ja) * | 2012-07-17 | 2014-02-03 | Samsung Electronics Co Ltd | 映像提供システム及びその方法 |
| CN113190700A (zh) * | 2021-07-02 | 2021-07-30 | 成都旺小宝科技有限公司 | 用于房产交易的人脸抓拍、筛选和存储的方法及系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4274233B2 (ja) | 撮影装置、画像処理装置、および、これらにおける画像処理方法ならびに当該方法をコンピュータに実行させるプログラム | |
| US8629897B2 (en) | Image processing device, image processing method, and program | |
| US8818055B2 (en) | Image processing apparatus, and method, and image capturing apparatus with determination of priority of a detected subject and updating the priority | |
| US11070729B2 (en) | Image processing apparatus capable of detecting moving objects, control method thereof, and image capture apparatus | |
| JP4218712B2 (ja) | 顔検出装置、撮像装置および顔検出方法 | |
| US20120182400A1 (en) | Image processing apparatus and method, and program | |
| JP2007072606A (ja) | 画像処理装置及び方法 | |
| CN102685365A (zh) | 图像合成装置、图像合成方法和图像合成程序 | |
| JP2009110486A (ja) | 画像処理装置、画像処理方法および画像処理プログラム、並びに、撮像装置および撮像装置の制御方法 | |
| JP2010114752A (ja) | 撮像装置及び撮像方法及びプログラム | |
| KR20150078275A (ko) | 움직이는 피사체 촬영 장치 및 방법 | |
| JP5289993B2 (ja) | 追尾装置および追尾方法 | |
| JP2021105850A (ja) | 画像処理装置及び方法、及び撮像装置 | |
| WO2015156149A1 (ja) | 画像処理装置および画像処理方法 | |
| JP7324066B2 (ja) | 画像処理装置およびその制御方法、ならびに撮像装置 | |
| JP2009124644A (ja) | 画像処理装置、撮像装置及び画像再生装置 | |
| JP2012034069A (ja) | 画像処理装置、および画像処理プログラム | |
| US9686470B2 (en) | Scene stability detection | |
| JP2010027000A (ja) | 画像検出装置および画像検出方法 | |
| JP2023033355A (ja) | 画像処理装置およびその制御方法 | |
| JP6545229B2 (ja) | 画像処理装置、撮像装置、画像処理装置の制御方法およびプログラム | |
| JP6937603B2 (ja) | 画像処理装置およびその制御方法、プログラム、並びに記憶媒体 | |
| US10880457B2 (en) | Image processing apparatus, image capturing apparatus, image processing method, and storage medium | |
| JP2008035125A (ja) | 撮像装置、画像処理方法およびプログラム | |
| JP5858658B2 (ja) | 撮像装置 |