JP2019197295A - 画像処理装置、画像処理方法およびプログラム - Google Patents
画像処理装置、画像処理方法およびプログラム Download PDFInfo
- Publication number
- JP2019197295A JP2019197295A JP2018089679A JP2018089679A JP2019197295A JP 2019197295 A JP2019197295 A JP 2019197295A JP 2018089679 A JP2018089679 A JP 2018089679A JP 2018089679 A JP2018089679 A JP 2018089679A JP 2019197295 A JP2019197295 A JP 2019197295A
- Authority
- JP
- Japan
- Prior art keywords
- tracking
- eye
- image
- image processing
- face
- 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
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
【課題】誤追尾の発生を低減可能にすることを課題とする。【解決手段】画像処理装置(40)は、複数の画像から、特定の顔に含まれる一方の眼を探索して追尾する追尾手段と、追尾の対象となる一方の眼を追尾手段が画像から探索するエリアを、追尾の対象になされていない他方の眼の位置に基づいて制限する設定手段と、を有する。【選択図】図1
Description
本発明は、画像の被写体等を検出して追尾する技術に関する。
近年のデジタルカメラは、撮像素子から得られた画像データから被写体の検出及び追尾を行い、その被写体に対してピント、明るさ、色を好適な状態に合わせて撮影する機能を有することが一般的になっている。検出対象となる被写体として一般的なものとしては、人物の顔や人体、あるいは犬猫などの特定の動物などが知られている。さらに、検出した被写体の特定の部位を検出する技術として、顔の中の眼、鼻、口といった器官検出がある。器官検出の代表的な使用用途としては瞳AF(オートフォーカス)がある。ニーズとして、人間を含む生物を撮影する際に、顔に対してピントが合っていることが求められ、特に顔の中の眼に対してピントが合っていることが求められている。
顔検出機能と器官検出機能は、別機能として装置に搭載されていることが想定される。例えば顔検出機能では画面内から複数の顔候補を検出することが可能であり、その複数の顔候補の中からAF対象となりうる顔を選択・決定することが可能となる。また、AF対象として選択された顔を含む顔エリアを器官検出機能に投入し、より詳細に解析することで器官を検出することが可能となる。このように、顔検出機能と器官検出機能を別機能とした場合、それらの実行の順序関係がおのずと決定され、さらに器官検出に要する時間によっては、顔検出実行時との時間的な乖離が発生することがある。これに対し、特許文献1には、顔検出と器官検出の実行時間差による位置ズレを補正演算により解決する技術が開示されている。
特許文献1に記載の技術では、器官検出に要する時間が長いことを前提とし、その間に発生する実際の被写体位置移動については補間演算により対応している。しかしながらこの場合、あくまで演算による位置算出であり、実際の被写体の位置とは異なる場合がある。別の手法として、時間がかかる検出処理を行わず、被写体を追尾することで位置ズレを少なくする手法もある。例えば、テンプレートマッチング手法を用いた汎用的な物体追尾処理を行い、ある時点での器官位置を含む画像エリアをテンプレートとして作成し、次フレーム以降はテンプレートと類似するエリアを探索するパターンマッチングを行う手法が挙げられる。
しかしながら、テンプレートマッチングは、画像内に存在する類似パターンを探索する手法であるため、本来検出したい被写体に類似している別の被写体を誤って追尾してしまう場合がある。例えば、追尾対象として人物の眼を想定した場合には、特に誤追尾が生じ易くなる。人物の眼は、追尾対象となされた眼と追尾対象ではないもう一方の眼とは類似しており、また近接した位置関係で配置されているため、追尾対象ではない方の眼を誤って追尾してしまうような誤追尾のリスクが高い状態で追尾が行われてしまう可能性が高い。また多くの場合、眼は小さいため追尾のための領域として十分な解像度が得られず、マッチング精度が不足して誤追尾が発生する場合がある。
そこで、本発明は、誤追尾の発生を低減可能にすることを目的とする。
本発明の画像処理装置は、複数の画像から、特定の顔に含まれる一方の眼を探索して追尾する追尾手段と、前記追尾の対象となる前記一方の眼を前記追尾手段が前記画像から探索するエリアを、前記追尾の対象になされていない他方の眼の位置に基づいて制限する設定手段と、を有することを特徴とする。
本発明によれば、誤追尾の発生を低減可能にとなる。
以下、本発明の好ましい実施形態を、添付の図面に基づいて詳細に説明する。
図1は、本実施形態の画像処理装置の一適用例である撮像装置(デジタルカメラ、以下、カメラ100とする。)の概略的な構成を示した図である。
レンズ10は外光を集光して光学像を撮像部20に結像させる。
メカ駆動回路16は、レンズ10を光軸方向に沿って駆動することで焦点調節や画角調節(ズーム動作)を行う。またメカ駆動回路16は、カメラブレに応じてレンズを光軸方向以外にも駆動することで手ぶれ補正を行うことも可能である。なお、手ぶれ補正は撮像部20を動かすことでも同様に実現可能である。手ぶれ補正を行う場合、システム制御部42は、例えば図示しない加速度センサや角速度センサ等の検出出力を基にカメラ100のぶれを検出し、そのカメラ100のぶれを相殺するような公知の補正制御を行う。
図1は、本実施形態の画像処理装置の一適用例である撮像装置(デジタルカメラ、以下、カメラ100とする。)の概略的な構成を示した図である。
レンズ10は外光を集光して光学像を撮像部20に結像させる。
メカ駆動回路16は、レンズ10を光軸方向に沿って駆動することで焦点調節や画角調節(ズーム動作)を行う。またメカ駆動回路16は、カメラブレに応じてレンズを光軸方向以外にも駆動することで手ぶれ補正を行うことも可能である。なお、手ぶれ補正は撮像部20を動かすことでも同様に実現可能である。手ぶれ補正を行う場合、システム制御部42は、例えば図示しない加速度センサや角速度センサ等の検出出力を基にカメラ100のぶれを検出し、そのカメラ100のぶれを相殺するような公知の補正制御を行う。
絞り13は口径を変化させる。NDフィルター14は光透過量を調節する。メカシャッター12は全閉により遮光する。これら絞り13、NDフィルター14、メカシャッター12は光量調節機構として設けられており、用途に応じて使い分けられ、レンズ10を通過した光の光量を調節する。
発光制御回路32は、システム制御部42による制御の下、ストロボユニット30の発光駆動および発光の制御を行う。
発光制御回路32は、システム制御部42による制御の下、ストロボユニット30の発光駆動および発光の制御を行う。
レンズ10、光量調節機構(12,13,14)を通過した光は、撮像部20により受光される。撮像部20は、撮像駆動回路22からの駆動指示により動作し、撮像素子への露光、露光時間の調節、露光した撮像信号の読み出し、読み出した撮像信号の増幅または減衰、撮像信号のA/D変換などを行う。撮像部20から出力された撮像データは、画像処理部40に入力されるか、あるいはRAM46に一時的に記憶される。
画像処理部40は、撮像部20から直接入力された撮像データ、あるいはRAM46を経由して入力された撮像データに対し、画像処理や画像解析など様々な処理を行う。撮影時の露出合わせ(AE:Auto Exposure)やピント合わせ(AF:Auto Focus)の際には、画像処理部40は、撮像部20から順次出力される撮像データから輝度成分や周波数成分を抽出してシステム制御部42に出力する。システム制御部42は、画像処理部40からの輝度成分や周波数成分を評価値として用い、メカ駆動回路16や撮像駆動回路22を介してAE,AF動作を制御する。
また画像処理部40は、撮像部20から取得した撮像データを現像処理して画質を調節することができ、色合い、階調、明るさ、などを適切に設定して鑑賞に適した写真の画像データを生成する。画像処理部40は、入力された画像の一部の切り出しや、画像の回転、画像の合成などの、各種画像処理を行うこともできる。
また画像処理部40は、入力された画像から、例えば特定の被写体を検出する被写体検出処理、被写体を構成している各構成要素のうち特定の構成要素を検出する要素検出処理、複数の画像から特定の被写体や構成要素を追尾する追尾処理を行うこともできる。画像から検出する特定の被写体としては、例えば人物の人体や顔、犬猫などの特定の動物などを挙げることができる。また特定の被写体の構成要素としては、例えば顔を構成している眼、鼻、口といった器官を挙げることができる。また画像処理部40は、入力画像から例えば人物の顔などを検出した場合、その画像内における人物の顔の位置、大きさ(サイズ)、傾き、顔の確からしさ情報などを得ることができる。また画像処理部40は、検出した人物の顔エリアを詳細に解析して顔の構成要素である眼、鼻、口といった器官を検出した場合、それら各器官の位置、大きさ、傾き、各器官の確からしさを検出できる。さらに画像処理部40は、例えば眼の特徴を解析することにより、瞳の位置、視線の方向等を検出するようないわゆる視線検出処理も行うことができる。
表示装置50は、液晶デバイス(LCD)などからなり、例えば画像処理部40で現像処理された画像を表示したり、文字やアイコンを表示したりすることができる。文字やアイコンの表示により、カメラ100のユーザ(使用者)に対して、各種情報の伝達が可能となる。また表示装置50にはタッチパネルも設けられている。
操作部44は、カメラ100のユーザにより操作され、このユーザ操作情報がシステム制御部42に入力される。システム制御部42は、操作部44からのユーザ操作情報に基づいて、例えばカメラ100の各部への電源投入、撮影モード切り替え、各種設定、撮影の実行、画像の再生など、カメラ100の各部の動作や信号処理を制御する。
外部メモリI/F52は、不図示のメモリソケット等を介して外部メモリ90が挿入され、その外部メモリ90とカメラ100とを接続する。カメラ100は、外部メモリI/F52を介して外部メモリ90と接続することにより、画像の授受やプログラムの取得等を行うことができる。
外部機器I/F54は、不図示の接続コネクタや無線通信等を介して外部機器92とカメラ100とを接続する。カメラ100は、外部機器I/F54を介して外部機器92と接続することにより、画像の授受や互いの機器を動作させるコマンド情報などのやり取り、プログラムの取得等を行うことができる。
ROM48は書き換え可能な不揮発性メモリであり、カメラ100の各種設定値やプログラムを格納している。RAM46は、撮像部20にて撮像された画像データ、画像処理部40による処理途中や処理後の画像データの一時記憶等を行う。また、RAM46には、ROM48から読み出されたプログラムが展開される。
システム制御部42は、ROM48から読み出されてRAM46に展開されたプログラムを実行し、カメラ100の前述した各部の制御や各種演算等を行う。また、システム制御部42は、ユーザにより表示装置50の画面タッチがなされた場合、タッチパネルからのタッチ検知情報を基に、ユーザがタッチした座標を取得することもできる。
図2(a)と図2(b)は、本実施形態のカメラ100の概略的な外観図である。図2(a)はカメラ前面側を示し、図2(b)はカメラ背面側を示している。図2(a)に示すように、カメラ前面側にはレンズ10が配置されており、これによりカメラ100は被写体像を撮像することができる。またカメラ前面側にはストロボユニット30が配置されており、カメラ100は、主被写体が暗い場合にストロボユニット30を発光させることで十分な光量を得ることができ、暗い中でも速いシャッター速度を保ち、好適な画像を得ることができる。またカメラ100には、図1に示した操作部44における各操作部材200,202,210,220,222,224,226,228が配されている。個々の説明は省略するが、各操作部材は、操作ボタンや操作スイッチ、操作レバー等からなり、それらユーザ操作に応じて、例えばカメラの電源投入、撮影モード切り替え、各種設定、撮影の実行、画像の再生などの機能が発動する。一例として、操作部材200は電源ボタン、操作部材202はシャッターボタンである。
ここで、本実施形態のカメラ100において、撮像部20から得られた画像データを基に被写体を検出して追尾等を行い、その被写体に対してピント、明るさ、色を好適な状態に合わせて撮影する機能を有している。これら検出と追尾の対象は、撮影された画像から自動的に検出されてもよいし、例えば表示装置50にライブビュー(LV)画像を表示している状態で、ユーザがタッチした座標に基づいて検出されてもよい。
以下、検出対象を顔およびその顔の中の構成要素である器官とし、例えば顔の中の器官を追尾対象として追尾する場合を挙げて、本実施形態のカメラ100における検出機能及び追尾機能について説明する。
図3(a)〜図3(c)は、画像処理部40において顔の器官を検出する様子を説明するための図である。図3(a)は、複数の顔が写っている画像例を示しており、顔検出処理によって複数の顔エリア301,311,321が検出できている様子を表している。図3(b)は、図3(a)の中の例えば顔エリア301に対する器官検出処理の実行により検出された各器官の検出結果を示している。器官検出処理は顔内部の特徴点を抽出することで顔内の各器官を検出する処理であり、顔内の代表的な器官である例えば眼、鼻、口等を検出する。器官検出処理では、各器官の端点を検出することも可能であり、例えば眼に関しては目尻、目頭、眼中心の3点を求めるなども可能となっている。図3(b)では、器官検出処理によって顔内から検出された器官を含む器官エリアとして、眼エリア303及び305、鼻エリア307、口エリア309が検出された例を示している。
図3(a)〜図3(c)は、画像処理部40において顔の器官を検出する様子を説明するための図である。図3(a)は、複数の顔が写っている画像例を示しており、顔検出処理によって複数の顔エリア301,311,321が検出できている様子を表している。図3(b)は、図3(a)の中の例えば顔エリア301に対する器官検出処理の実行により検出された各器官の検出結果を示している。器官検出処理は顔内部の特徴点を抽出することで顔内の各器官を検出する処理であり、顔内の代表的な器官である例えば眼、鼻、口等を検出する。器官検出処理では、各器官の端点を検出することも可能であり、例えば眼に関しては目尻、目頭、眼中心の3点を求めるなども可能となっている。図3(b)では、器官検出処理によって顔内から検出された器官を含む器官エリアとして、眼エリア303及び305、鼻エリア307、口エリア309が検出された例を示している。
また本実施形態のカメラ100は、顔の各器官の検出状況を表す検出スコアを生成することも可能となされている。検出スコアは、検出の信頼度、自信度と言い換えることもできる情報であり、その顔の人物自身の表情によって変化したり、環境光の当たり方などの外部要因によっても変化したりする。検出スコアは、高スコアであるほど正確な位置を検出できていることを表しており、低スコアの場合にはその位置情報の信頼性が低い、といった使い分けを行うことができる。なお、検出スコアは、例えば表示装置50の画面上に表示等されてもよい。図3(c)は、前述した顔エリア301として検出された顔において、その顔の各器官の状況変化、例えば表情の変化(眼や口の変化)に応じた検出スコア360の一例を示している。図3(c)には、前述した顔エリア301と同じ表情の顔(301)の検出スコアが高く、顔331、顔351のように例えば眼と口の変化が大きくなるにつれて検出スコアが低くなっている例を示している。
図4(a)〜図4(c)は撮影から追尾までの処理動作のタイミングとテンプレートマッチングの概念を説明するための図である。図4(a)は、撮像部20の撮像素子における駆動信号VD401、露光期間403、読み出し期間405、画像処理部40における画像生成期間407、追尾処理期間409のタイミング図である。撮像部20は、駆動信号VD401の周期で駆動され、露光期間403と読み出し期間405の繰り返し動作により撮像データを出力する。そして、画像処理部40は、撮像部20から得られた撮像データに対し現像処理等を行い、画像生成期間407ごとに画像データを生成する。図4(a)の画像生成期間407において、例えば、画像生成期間[1]は、露光期間403の露光期間[1]で露光され、読み出し期間405の読み出し期間[1]で読み出された撮像データから画像が生成されることを表している。
また画像処理部40は、画像生成期間407ごとに生成された画像データを用いたテンプレートマッチング処理により、追尾処理期間409ごとに追尾処理を行う。図4(a)の追尾処理期間409において、例えば追尾処理期間[1,2]は、画像生成期間[1]で生成された画像と画像生成期間[2]で生成された画像とを用いたテンプレートマッチングにより追尾処理が行われることを表している。図4(b)は、例えば図4(a)の画像生成期間[1]で生成された画像421の一例を示した図である。また、図4(c)は、例えば図4(a)の画像生成期間[2]で生成された画像423の一例を示した図である。追尾処理期間[1,2]では、図4(b)の画像421内で追尾対象を含むエリアをテンプレート431として設定し、図4(c)の画像423内でテンプレートを矢印方向に順次移動させながら画像差分を求めるサーチ動作433が行われる。テンプレートマッチングにおけるサーチ動作は、画像内でテンプレートを左上端から右方向に順次移動させ、右端に到達すると左端に戻すとともに1テンプレート分だけ下に移動させて左から右方向に順次移動させるようなこと繰り返す動作となされている。そして、図4(c)の画像423内で画像差分が最も小さくなったマッチエリア435が探索されると、それが追尾対象の存在するエリアとして確定される。その後は、図4(c)の画像423内で確定されたマッチエリア435が、次回の追尾処理期間[2,3]におけるテンプレートマッチングで用いるテンプレートに設定(つまりテンプレートが更新)される。追尾処理期間[3,4]以降についても同様の処理が繰り返し実行されることにより、連続的な追尾処理が実現される。
図5(a)と図5(b)は、例えば短い一定の時間間隔ごとに静止画像を連続的に撮影する連写撮影等が行われる場合において、静止画の撮影や前述した顔及び器官検出・追尾処理等に要する各処理時間の一例を表したタイミング図である。
図5(a)は、静止画を撮影する静止画撮影期間511と次の静止画撮影期間512との間に、AF用のLV画像を取得するLV期間513と、LV画像から被写体等を検出する検出期間521と、AF動作を行うAF期間515とが存在する例を示している。検出期間521では、LV期間513で取得されたLV画像から顔や器官を検出する処理が行われ、AF期間515では、検出期間521で検出された顔や器官をAF対象としたAF動作が行われる。図5(a)のタイミング図において、顔や器官の検出処理にはある程度以上の処理時間がかかり、このため、検出期間521は、連写撮影に必要な高速なコマ速(連写速度)を実現する際の律速となっている。
図5(a)は、静止画を撮影する静止画撮影期間511と次の静止画撮影期間512との間に、AF用のLV画像を取得するLV期間513と、LV画像から被写体等を検出する検出期間521と、AF動作を行うAF期間515とが存在する例を示している。検出期間521では、LV期間513で取得されたLV画像から顔や器官を検出する処理が行われ、AF期間515では、検出期間521で検出された顔や器官をAF対象としたAF動作が行われる。図5(a)のタイミング図において、顔や器官の検出処理にはある程度以上の処理時間がかかり、このため、検出期間521は、連写撮影に必要な高速なコマ速(連写速度)を実現する際の律速となっている。
図5(b)は、静止画撮影期間531と次の静止画撮影期間532との間に、LV期間513と、マッチング処理によって追尾処理が行われる追尾期間541と、AF期間535とが存在する例を示している。一般に、顔や器官の検出処理は複雑度が高く処理時間が長くなるのに対し、シンプルなマッチング処理を用いた追尾処理は短時間で終えることができる。このため、図5(b)の例のように追尾期間541で行われる追尾結果を用いてAF動作を行うようにすれば、図5(a)の例よりも高速なコマ速の連写撮影が可能になると考えられる。
しかしながら、図5(b)のように顔や器官等の検出処理を行わずに追尾処理のみを続けていくと、例えばマッチング処理で用いるテンプレートとは類似しているが本来の追尾対象とは異なっているエリアを、誤って追尾してしまうことが生ずる懸念がある。このような誤追尾は、例えば追尾対象に設定されている器官の周囲に、その追尾対象の器官と類似した別の器官等が存在しているような場合に特に起こり易い。一例として、顔の器官のうち左右の眼は近接して配置しているとともに、それらの特徴(形状等)は類似しているため、例えば右眼が追尾対象に設定されている場合に、左眼の方を追尾してしまうような誤追尾が生ずることがある。また例えば、画像内に複数の人物の顔が存在しており、ある特定の人物の眼が追尾対象に設定されているような場合に、別の人物の眼を誤追尾してしまう虞もある。その他にも、顔内で占める面積が小さい眼の場合、追尾のための領域として十分な解像度が得られずに、マッチング精度の不足による誤追尾が発生することもある。
図5(c)は、本実施形態のカメラ100において連写撮影が行われる場合に、静止画の撮影と顔及び器官等の検出と追尾処理等の際の各期間を表したタイミング図である。図5(c)に示すように、静止画撮影期間551と次の静止画撮影期間552との間には、LV期間513と、追尾期間561及び検出期間565と、AF期間555とが存在する。つまり、図5(c)の場合、追尾期間561の追尾処理と検出期間565の検出処理とは並行して行われ、検出処理とともに追尾処理が発動されている。AF期間555では、追尾期間561の追尾結果を基にAF動作が行われる。検出期間565では、LV期間553で取得されたLV画像から顔や器官を検出する処理が行われる。ただし、図5(c)の例の場合、検出期間565による検出結果は、次の静止画撮影期間552の後の追尾期間563の追尾処理に用いられる。図5(c)の場合、検出期間565の検出処理の終了を待たず、追尾期間561の追尾結果を用いてAF期間555のAF動作が行われるため、高速なコマ速の連写撮影が可能となる。また図5(c)の場合、静止画撮影期間551の後の検出期間565における検出結果が、次の静止画撮影期間552後の追尾期間563の追尾処理に用いられるため、誤追尾の虞が少ない高い精度の追尾処理が可能となる。すなわち図5(c)の場合、図5(a)で述べた処理時間による律速と図5(b)で述べた誤追尾との、両方の問題を解決可能であり、高速なコマ速による連写を実現しつつ高精度な検出結果を反映した追尾処理を実現できる。
本実施形態のカメラ100では、図5(c)に示したように、一つ前の静止画撮影期間後の検出処理で得られた検出結果が、次の静止画撮影期間後の追尾処理に用いられる。このため、追尾処理の際には、以下に説明するように、一つ前の検出処理で取得した検出結果を基に、次の追尾処理時に探索するエリア(追尾探索エリアとする)を制御することができ、誤追尾発生の低減と処理時間の短縮が可能となる。
本実施形態に係る追尾探索エリア制御の詳細を述べる前に、図6(a)及び図6(b)を参照して、例えば人物の眼が追尾対象となっている場合の一般的な追尾処理とその問題点について説明する。
図6の画像601は連写撮影で取得された画像の一例であり、その画像内には人物の顔611が写っているとする。そして、この画像601からは、顔611の追尾対象となされる主器官として例えば一方の眼613が設定され、その眼613を含む矩形のエリアがテンプレート651として設定されているとする。例えば、画像601の顔611に対する器官検出処理により、顔631内の眼、口、鼻等の各器官の中で、追尾対象になり得る眼613が自動的に選択され、その選択された眼613を含むエリアがテンプレート651として設定される。また、テンプレート651は、ユーザからの指定の操作に応じて設定されてもよい。この場合、ユーザにより画像691の顔611の中の眼613を指定する操作が行なわれた時に、その指定された眼613を含むエリアがテンプレート651として設定される。そして、眼を追尾する追尾処理は、テンプレート651の設定が行われたことに応じて発動されることになる。
図6の画像601は連写撮影で取得された画像の一例であり、その画像内には人物の顔611が写っているとする。そして、この画像601からは、顔611の追尾対象となされる主器官として例えば一方の眼613が設定され、その眼613を含む矩形のエリアがテンプレート651として設定されているとする。例えば、画像601の顔611に対する器官検出処理により、顔631内の眼、口、鼻等の各器官の中で、追尾対象になり得る眼613が自動的に選択され、その選択された眼613を含むエリアがテンプレート651として設定される。また、テンプレート651は、ユーザからの指定の操作に応じて設定されてもよい。この場合、ユーザにより画像691の顔611の中の眼613を指定する操作が行なわれた時に、その指定された眼613を含むエリアがテンプレート651として設定される。そして、眼を追尾する追尾処理は、テンプレート651の設定が行われたことに応じて発動されることになる。
図6の画像621は、連写撮影によって、画像601の次に撮影された画像例を示しており、同じ人物の顔631が写っているとする。追尾処理の際のテンプレートマッチングでは、前の画像601で設定されたテンプレート651を、画像621内で矢印方向に順次移動させるサーチ動作671が行われる。ここで、画像621の中に、テンプレート651の眼613に対応した眼633が存在する場合、サーチ動作671によって、その眼633を含むエリアがマッチエリア653として検出されることになる。そして、画像621から検出されたマッチエリア653は、連写撮影により取得される次の画像に対するテンプレートとして設定される。このように、眼を追尾する追尾処理は、連写撮影により順次取得された画像から検出されたマッチエリアを、次の画像のテンプレートとするような処理が繰り返されることで行われる。
ここで、一般的なテンプレートマッチングでは、サーチ動作671が画像621の全面に対して行われるため、図6の画像621からは、画像601の眼613に類似した眼635を含むエリアについても、マッチエリア655として検出されることがある。つまり、人間をはじめとする様々な生物は左右二つの眼を持つことが一般的であり、左右の眼の特徴は類似しているため、例えば一方の眼を含むエリアをテンプレートとした場合、左右の眼の両方についてマッチングが成立してしまうことがある。このように、例えば一方の眼のみを追尾対象としているのにも関わらず、左右両方の眼が追尾対象として認識されてしまうと、追尾対象ではない方の眼を追尾してしまうような誤追尾が生じることがある。
図7(a)と図7(b)は、図6で説明したような誤追尾発生を低減可能とする本実施形態に係る追尾探索エリア制御の例を説明するための図である。
図7(a)の画像711は連写撮影で取得された画像の一例であり、その画像内には人物の顔712が写っているとする。この画像711からは顔712内の器官として例えば一方の眼713が検出され、その眼713を含む矩形のエリアがテンプレート715として設定されたとする。このとき、画像処理部40は、もう一方(他方)の眼714の例えば中心の位置716をも検出して、例えばRAM46に一時記憶する。位置716は、例えば前述した図5(c)で示したように追尾期間561と並行して実行される検出期間565の器官検出処理によって得られる位置情報を用いることができる。あるいは、眼714の位置716は、予め眼714に対して追尾処理を行い、その追尾処理で得られた位置情報を用いてもよい。位置716は画像711の例えば左上端を原点とするx,y座標で表されてもよいが、本実施形態の場合は少なくともx座標(EyeX)により表される位置であればよい。
図7(a)の画像711は連写撮影で取得された画像の一例であり、その画像内には人物の顔712が写っているとする。この画像711からは顔712内の器官として例えば一方の眼713が検出され、その眼713を含む矩形のエリアがテンプレート715として設定されたとする。このとき、画像処理部40は、もう一方(他方)の眼714の例えば中心の位置716をも検出して、例えばRAM46に一時記憶する。位置716は、例えば前述した図5(c)で示したように追尾期間561と並行して実行される検出期間565の器官検出処理によって得られる位置情報を用いることができる。あるいは、眼714の位置716は、予め眼714に対して追尾処理を行い、その追尾処理で得られた位置情報を用いてもよい。位置716は画像711の例えば左上端を原点とするx,y座標で表されてもよいが、本実施形態の場合は少なくともx座標(EyeX)により表される位置であればよい。
図7(a)の画像721は、連写撮影によって、画像711の次に撮影された画像例を示しており、同じ人物の顔722が写っているとする。追尾処理の際のテンプレートマッチングでは、前の画像711で設定されたテンプレート715を、画像721内で順次移動させるサーチ動作が行われる。本実施形態では、画像721においてテンプレート715と類似するエリアを探索する際、前に撮影された画像711において一時記憶された位置716を基に、画像721に対して追尾探索を実行するエリア(追尾探索エリア727)を設定する。例えば画像処理部40は、RAM46に一時記憶した位置716を基に、画像721に対して同じ位置725(EyeX)を設定し、その位置725から、画像711で追尾対象の眼713が存在していた側を、画像721の追尾探索エリア727として設定する。一方、その位置725から、画像711で追尾対象ではない眼714が存在していた側については、画像721の追尾探索エリア外726とする。図7(a)の画像721の場合、追尾対象でない眼724の中心を境界とし、追尾対象の眼723が存在する側が追尾探索エリア727となり、追尾対象でない眼724が存在する側が追尾探索エリア外726となる。このように追尾探索がなされるエリアを制限することで、追尾対象でない眼724つまり誤追尾のリスクが高い眼724は、追尾探索エリア727から除外されることになり、追尾対象でない眼724の誤追尾による追尾性能の低下を防ぐことができる。またこの図7(a)の例の場合、追尾探索エリア727は、前述した図6の例のように画像全体をサーチする場合よりもサーチエリアが狭くなるため、追尾処理に要する処理時間が短縮される効果も得られる。なお前述の例では、追尾探索エリア727と追尾探索エリア外726の両方を設定するとしたが、追尾探索エリア727のみを設定し、その追尾探索エリア727のみで追尾探索を行うようにしてもよい。または、追尾探索エリア外726のみを設定し、その追尾探索エリア外726以外で追尾探索を行うようにしてもよい。
なお、前述の例とは逆のケースとして、図7(a)の画像711で例えば眼714の方を追尾対象として設定した場合、一時記憶される位置は、もう一方(他方)の眼713の位置(EyeX)となされる。そしてこのケースの場合、画像721に対して、その一時記憶された位置を基に設定される追尾探索エリアは、画像711で追尾対象の眼714が存在していた側のエリアとなされる。一方、追尾探索エリア外は、画像711で追尾対象ではない眼713が存在していた側のエリアとなされる。つまりこの例の場合、画像721に対しては、追尾対象でない眼723の中心を境界とし、追尾対象の眼724が存在する側のエリアが追尾探索エリアとして設定され、追尾対象でない眼723が存在する側のエリアが追尾探索エリア外として設定される。この例の場合も、追尾対象でない眼723(誤追尾のリスクが高い眼)は追尾探索エリアから除外されることになり、当該追尾対象でない眼723が誤って追尾されてしまうことによる追尾性能の低下を防ぐことができる。
図7(b)の画像731は連写撮影にて得られた画像例であり、画像内には人物の顔732が写っているとする。また、その画像731からは顔732内の器官として一方の眼733が検出され、その眼733を含むエリアがテンプレート735として設定されているとする。画像処理部40は、追尾対象としての眼733と他方の眼734との間の間隔736(ΔEyeX)を求めてRAM46に一時記憶する。なお、間隔736は、前述した図5(c)の検出期間565の器官検出処理で得られる位置情報を基に算出してもよいし、予め眼733と眼734に対する追尾処理を行って得た位置情報を基に算出してもよい。間隔736は画像731の例えば左上端を原点とするx,y座標における差分座標として表されてもよいが、本実施形態の場合は少なくともx座標における差分座標(ΔEyeX)により表してもよい。
図7(b)の画像741は、連写撮影で画像731の次に撮影された画像例であり、同じ人物の顔742が写っているとする。この図7(b)の例の場合、画像処理部40は、画像741からテンプレート735と類似するエリアを探索する際、RAM46に一時記憶している間隔736を基に、画像741に対して追尾探索エリア748を設定する。例えば画像処理部40は、一時記憶した間隔736を基に、画像741に対し、追尾対象の眼743の周辺のみに追尾探索エリア748を設定し、それ以外のエリアを追尾探索エリア外747として設定する。このときの追尾探索エリア748は、追尾対象の眼743を中心とした例えば矩形のエリアとする。また追尾探索エリア748は、一時記憶した間隔736つまり画像741における眼743と眼744との間の間隔746(ΔEyeX)の、所定倍(例えば2倍)の幅(2ΔEyeX)を有するエリアとする。このように、追尾探索エリア748を追尾対象の眼743の周辺のみに制限することで、追尾対象でない眼744つまり誤追尾のリスクが高い眼744は、追尾探索エリア748から除外されることになる。これにより、追尾対象でない眼744が誤って追尾されてしまうことによる追尾性能の低下を防ぐことができる。また図7(b)の例の場合、追尾探索エリア748は、前述した図7(a)の追尾探索エリア727よりもさらに狭くなるため、追尾処理に要する処理時間がより短縮される効果も得られる。
なおこれとは逆の例として、図7(b)の画像731で眼734の方が追尾対象として設定された場合、画像741に対して設定される追尾探索エリアは、画像741で追尾対象の眼744を中心としたエリアとなされ、それ以外が追尾探索エリア外となされる。この例の場合も、追尾対象でない眼743(誤追尾のリスクが高い眼)は追尾探索エリアから除外され、当該眼743が誤って追尾されてしまうことによる追尾性能の低下を防ぐことができる。
前述した図7(a)と図7(b)がカメラをいわゆる横位置に構えて連写撮影がなされ例を挙げたが、カメラをいわゆる縦位置に構えて撮影が行われた場合にも前述同様の追尾探索エリアの設定制御は適用可能である。
図8(a)と図8(b)は、カメラを縦位置に構えて連写撮影がなされた場合において、本実施形態に係る追尾探索エリア制御の例を説明するための図である。なお、図8(a)と図8(b)の例には、カメラを横位置に構え、横になっている被写体(人物等)を撮影する場合も含まれる。
図8(a)と図8(b)は、カメラを縦位置に構えて連写撮影がなされた場合において、本実施形態に係る追尾探索エリア制御の例を説明するための図である。なお、図8(a)と図8(b)の例には、カメラを横位置に構え、横になっている被写体(人物等)を撮影する場合も含まれる。
図8(a)は、カメラを縦位置に構えた状態の連写撮影で得られた画像に対し、前述の図7(a)で説明したのと同様の追尾探索エリア制御を適用する場合の例である。図8(a)の画像811は連写撮影で得られた画像例である。その画像内には人物の顔812が写っていて、例えば眼814を含むテンプレート815が設定されたとする。画像処理部40は、もう一方の眼813の中心の位置816を検出してRAM46に一時記憶する。この例の場合も、位置816は、前述の図7(a)で説明したのと同様の位置情報等を用いることができる。なお、位置816は、画像811のx,y座標で表されてもよいが、少なくともy座標(EyeY)により表される位置であればよい。
図8(a)の画像821は、画像811の次に撮影された画像例であり、同じ人物の顔822が写っている。例えば画像処理部40は、一時記憶した位置816を基に、画像821に対して同じ位置825(EyeY)を設定し、その位置825から、画像811で追尾対象の眼814が存在していた側を画像821の追尾探索エリア827として設定する。一方、その位置825から、画像811で追尾対象ではない眼813が存在していた側を、画像821の追尾探索エリア外826として設定する。図8(a)の例においても図7(a)と同様に、追尾対象でない眼823は追尾探索エリア827から除外されて、当該追尾対象でない眼823が誤って追尾されてしまうことによる追尾性能の低下を防ぐことができる。またこの図8(a)の場合も、追尾探索エリア827は、画像全体よりも狭いため、追尾処理に要する処理時間が短縮される効果も得られる。なお、図8(a)の例でも、画像811で例えば眼814の方を追尾対象として設定した場合も前述同様に追尾探索エリアを設定することで、誤追尾による追尾性能の低下を防ぐことができる。
図8(b)は、カメラを縦位置に構えた状態の連写撮影で得られた画像に対し、前述の図7(b)で説明したのと同様の追尾探索エリア制御を適用する場合の例である。図8(b)の画像831は連写撮影で得られた画像例であり、その画像内は人物の顔832が写っていて、例えば眼834を含むテンプレート835が設定されたとする。画像処理部40は、追尾対象として眼834と他方の眼833との間の間隔836を求めてRAM46に一時記憶する。この例の場合も、間隔836は、前述の図7(b)で説明したのと同様の位置情報等を基に算出してもよい。なお、間隔836は、画像831のx,y座標の差分として表されてもよいが、少なくともy座標の差分座標(ΔEyeY)により表してもよい。
図8(b)の画像841は、画像831の次に撮影された画像例であり、同じ人物の顔824が写っている。この図8(b)の例の場合、画像処理部40は、RAM46に一時記憶している間隔836を基に、画像841に対して、追尾対象の眼844の周辺のみに追尾探索エリア848を設定し、それ以外を追尾探索エリア外847として設定する。また追尾探索エリア848は、一時記憶した間隔836、つまり画像841における眼842と眼844との間の間隔846(ΔEyeY)の、例えば2倍の幅(2ΔEyeY)を有するエリアとする。図8(b)の例でも図7(b)と同様に、追尾探索エリア848が追尾対象の眼844の周辺のみに制限されて、追尾対象でない眼843が誤って追尾されてしまって追尾性能が低下するのを防ぐことができる。またこの図8(b)の場合、追尾探索エリア848は、図8(a)の追尾探索エリア827よりもさらに狭くなるため、追尾処理に要する処理時間がより短縮される効果も得られる。なお、図8(b)の例でも、画像831で例えば眼833の方を追尾対象として設定した場合も前述同様に追尾探索エリアを設定することで、誤追尾による追尾性能の低下を防ぐことができる。
前述した説明では、連写撮影の際に被写体の人物位置が殆ど変化していない場合を例に挙げたが、例えば、連写撮影中に人物が移動等した場合やカメラの操作等によって各画像内で人物の位置が大きく変化することがある。この場合、図7(a)や図8(b)の例において、或る時点で撮影された画像内の人物の眼の位置を基に、次に撮影された画像に対して追尾探索エリアを設定した際に、その追尾探索エリア内に左右の二つの眼が入ってしまうことがある。そして、追尾探索エリア内に左右の二つの眼が存在すると、それら二つの眼に対してマッチングが成立し、追尾対象ではない方の眼を誤って追尾してしまう虞がある。
図9(a)の画像911は、テンプレート作成から追尾探索エリア設定までの間に、人物の移動やカメラのパンニング等により顔912の位置が水平方向に大きく移動し、左右の眼913,914が追尾探索エリア918内に位置してしまった例を示している。図9(a)の例では、追尾探索エリア設定処理により追尾対象ではない眼を探索しないように追尾探索エリア外917を設定したにも関わらず、人物の水平移動やカメラのパンニング等により両方の眼913,914が追尾探索エリア918に入ってしまっている。この場合、両方の眼913,914に対してマッチングが成立するリスクが高くなり、誤追尾が生じ易くなる。
また図9(b)の画像921は、人物の水平移動やカメラのパンニング等は略々無いが、カメラのズーミングによる焦点距離の変更や人物の奥行き方向の移動等により、顔922の両方の眼923,924が追尾探索エリア928に位置した例を示している。図9(b)の例では、追尾探索エリア設定処理により追尾探索エリア外927が設定されたにも関わらず、カメラのズーミングや人物の奥行き方向の移動等により両方の眼923,924が追尾探索エリア928に入ってしまっている。この例の場合も、両方の眼923,924に対してマッチングが成立するリスクが高くなり、誤追尾が生じ易くなる。
これら図9(a)や図9(b)のケースに対応するため、本実施形態では、追尾対象の眼が左右いずれの眼なのかを予め記憶し、追尾探索エリア内で二つのマッチングが成立した場合、その位置関係からどちらのマッチング位置が追尾対象の眼であるかを判定する。例えば、図9(a)において追尾対象が眼913であった場合、画像処理部40は、その追尾対象の眼913が左右いずれの眼であるかを示す情報を例えばRAM46に記憶させる。その後、追尾探索エリア918内で眼913と眼914の二つのマッチングが成立した場合、画像処理部40は、それらマッチング位置915(EyeX1)とマッチング位置916(EyeX2)を算出し、それらの位置関係を求める。さらに、画像処理部40は、それらマッチング位置915,916の位置関係と、RAM46に予め記憶しておいた情報とを基に、マッチング位置915,位置916のいずれが、追尾対象の眼の位置であるかを判定する。そして、画像処理部40は、追尾対象の眼の位置であると判定したマッチング位置915を基に、眼の追尾を継続的に行う。同様に、例えば図9(b)において追尾対象が眼923であった場合、画像処理部40は、その追尾対象の眼923が左右にずれの眼であるかを示す情報を記憶する。その後、画像処理部40は、追尾探索エリア928内で二つのマッチングが成立した場合、それらマッチング位置925(EyeX1)とマッチング位置926(EyeX2)の位置関係を求め、いずれの位置が追尾対象の眼の位置であるかを判定する。そして、画像処理部40は、追尾対象の眼の位置であると判定したマッチング位置925を基に、眼の追尾を継続的に行う。
前述した例の他も、例えば画像内に複数の人物が写っているケースでも、追尾対象ではない方の人物の眼を誤って追尾してしまう虞がある。図10の画像1001は、二人の人物の顔1011と1021が写っている例を挙げている。図10の画像1001の例では、例えば顔1021の眼1023が、追尾対象に設定されているとする。この図10の例の場合、追尾対象の眼1023に対し、同一人物の眼1025と、別人物の眼1013とが近接して位置しているため、同一人物の眼1025と別人物の眼1013をそれぞれ誤って追尾してしまうリスクが高い状態になっている。
図10のように複数の人物が写っているケースの場合、画像処理部40は、同一人物の顔1021については、前述同様にして追尾探索エリア1029と追尾探索エリア外1028を設定する。画像処理部40は、追尾対象の眼1023の位置を基に追尾探索エリア1029を設定し、追尾対象でない方の眼1025の中心位置1027(EyeX2)を基に追尾探索エリア外1028を設定する。さらに、画像処理部40は、図10に示すように、別人物の顔1011の眼のうち、顔1021の追尾対象の眼1023に近い方の眼1013の中心位置1015(EyeX1)を基に、追尾探索エリア外1030を設定する。このように、別人物の顔1011の眼のうち、追尾対象の眼1023に近い方の眼1013について、追尾探索エリア外1030を設定することにより、誤追尾の発生を低減可能となる。
図9(a)及び図9(b)と図10の説明では、図7(b)のように追尾探索エリアが設定された場合を例に挙げたが、図8(b)のような追尾探索エリアが設定された場合にも同様に適用可能である。図8(b)のような追尾探索エリアが設定された場合にも、被写体の移動やカメラ100の移動等により追尾探索エリア内で二つの眼が存在したり、二人の人物の眼が入ったりする場合もある。例えば、追尾対象の眼が左右いずれの眼なのかを予め記憶しておき、図8(b)のように設定された追尾探索エリア内で二つのマッチングが成立した場合、予め記憶した眼の位置関係からどちらのマッチング位置が追尾対象の眼であるかを判定すればよい。また図8(b)の追尾探索エリア内に二人の人物の眼が存在するような場合、別人物の顔の眼のうち、追尾対象の眼に近い方の眼の中心位置(EyeX1)を基に、さらに追尾探索エリア外を設定すればよい。さらに、図9(a)及び図9(b)と図10で説明した追尾探索エリアの設定が組み合わされて行われてもよい。
また例えば、追尾対象となっていない他方の眼の位置が不明である場合には、顔検出により得られた顔の位置、顔の大きさ、顔の傾き等の少なくともいずれかを基に、追尾探索エリアを設定(追尾探索エリア外を設定)してもよい。すなわち、顔検出により顔の位置、顔の大きさ、顔の傾き等が既知であれば、追尾対象でない他方の眼の位置を推定できるため、その推定を基に、追尾探索エリア(追尾探索エリア外)を設定できる。
図11は、被写体の検出および追尾の対象となされる画像1111の解像度を適応的に変化させた画像1122から、追尾対象の被写体を正確に追尾可能にする方法について説明する図である。一般に、撮像された画像1111から例えば人物の顔1113を検出するような場合、その画像1111内に含まれる全ての顔を検出する必要があるため、その画像1111の全体(広画角の画像全体)が顔検出のエリアとなされる。またこの時、撮像された画像1111の解像度を所定の解像度まで落とすリサイズ処理を行い、そのリサイズ処理後の画像1121を用いて顔エリア1123の検出処理を行うことで、検出処理にかかる時間を短くすることが多い。一方で、例えば眼等の追尾処理を行う際に、リサイズ処理された低解像度の画像1121の顔エリア1123を用いると、誤追尾が発生し易くなって充分な追尾性能が得られなくなることがある。このため、例えば眼の追尾処理を行う際、画像処理部40は、図11に示すように、撮像部20にて撮像された高解像度の画像1111の中で顔1113が含まれるエリアを追尾探索エリア1115として設定する。つまり、追尾探索エリア1115は、画像1121よりも相対的に狭画角かつ高解像度の画像1131である。そして、画像処理部40は、その追尾探索エリア1115の狭画角かつ高解像度の画像1131から顔エリア1133を検出して眼の追尾処理を行うようにする。これにより、画像処理部40は、追尾対象の眼を確に追尾可能となる。
図12、図13、図14は、本実施形態のカメラ100において、システム起動、撮影画像に対する被写体検出及び追尾、追尾探索エリアの設定制御の各処理のフローチャートを示す。これら各フローチャートの処理は、ハードウェア構成により実行されてもよいし、CPU等が実行するプログラムに基づくソフトウェア構成により実現されてもよく、一部がハードウェア構成で残りがソフトウェア構成により実現されてもよい。CPU等が実行するプログラムは、例えばROM48等に格納されていてもよいし、外部メモリ90等の記録媒体から取得されてもよく、或いは不図示のネットワーク等を介して取得されてもよい。以下の説明では、各処理のステップS101〜ステップS319をS101〜S319と略記する。
図12は、本実施形態のカメラ100におけるシステム起動後の全体の処理の流れを示したフローチャートである。
カメラ100は、電源ボタン(200)が押下されて主電源がオンされると、S101において図12のフローチャートの処理を開始する。そして、S103において、カメラ100ではシステム起動処理が行われる。ここでは、カメラシステムが動作するに必要なCPUやLSI等への電源供給、クロック供給をはじめ、メモリやOSの初期化など、基本システムの起動が行われる。
カメラ100は、電源ボタン(200)が押下されて主電源がオンされると、S101において図12のフローチャートの処理を開始する。そして、S103において、カメラ100ではシステム起動処理が行われる。ここでは、カメラシステムが動作するに必要なCPUやLSI等への電源供給、クロック供給をはじめ、メモリやOSの初期化など、基本システムの起動が行われる。
次にS105において、システム制御部42は、撮像部20内のCCDやCMOS等の撮像素子の起動、メカ駆動回路16を介してレンズ10のフォーカスレンズやズームレンズ等の鏡筒系デバイスの起動を行う。これにより、メカシャッター12や絞り13が動作し、撮像部20の撮像素子に外光が導かれる。また、システム制御部42は、撮像駆動回路22を介して撮像部20の撮像素子や増幅器、A/D変換器等の撮像系デバイスの駆動を開始する。
そしてこの状態で、システム制御部42は、S113においてAE駆動を開始し、S111においてAF駆動を開始して、撮影対象に対して適切な明るさ、ピントになるように制御し続けていく。このときS201において、システム制御部42は、画像処理部40による被写体の検出および追尾処理も合わせて開始させる。また、システム制御部42は、画像処理部40にて検出および追尾されている被写体情報をAFやAEに利用することで、被写体のピントや明るさをより適切になるように調節することができる。またこれと同時期に、画像処理部40では、表示装置50に出力するライブ画像の現像処理も開始され、これにより撮影者はライブビュー映像を表示装置50の画面上で確認することが可能となる。これはすなわちファインダー用途としての要件を満たした状態であり、撮影者は撮影対象を捕えて画角調節などのフレーミング作業を行うことができる。
次にS121において、システム制御部42は、撮影者によって操作部44のシャッターボタン(202)のいわゆる半押し操作(SW1がオン)がなされたか否かを判定する。システム制御部42は、SW1がオンされていない場合(SW1Off)にはS111、S113、S201に処理を戻し、SW1がオンされた場合(SW1On)にはS123においてAFに適した露出にするためのAF用のAE制御を行う。そして、システム制御部42は、測距エリアが適切な明るさになった後(AFに適した露出になされた後)、S125において、例えば静止画用のいわゆるワンショットAF(One Shot AF)制御を行う。
さらにこの状態で、システム制御部42は、例えば被写体が移動しているような場合、S133において被写体にAEを合わせ続けるサーボAE、S131において被写体にピントを合わせ続けるサーボAFの制御を行う。また、この時のシステム制御部42は、S202において被写体の検出および追尾も続ける。
次にSW1のオンによる一連の撮影準備が終わった後、システム制御部42は、S141において、シャッターボタン(202)の半押し操作が維持されているか否か、さらにいわゆる全押し操作(SW2がオン)がなされたか否かを判定する。システム制御部42は、SW2がオンされずにSW1のオン状態が維持されている場合(SW1Keep)にはS131、S133、S202に処理を戻す。一方、システム制御部42は、SW2がオンされずにSW1もオフされた場合(SW1Off)には、S111、S113、S201に処理を戻す。これに対し、システム制御部42は、SW1がオフされずにさらにSW2がオンされた場合(SW2On)にはS143に処理を進める。
S143に進むと、システム制御部42は、SW2の状態を基に、静止画撮影を実行するか、あるいはコマ間のライブビュー(LV)を実行するかどうかを判定する。そして、システム制御部42は、静止画撮影を実行すると判定した場合、S151にて静止画撮影が実行されるように各部を制御した後、S141に処理を戻す。一方、システム制御部42は、コマ間のライブビュー(LV)を実行すると判定した場合、S173においてサーボAE、S171においてサーボAF、S202において被写体の検出および追尾の制御を行った後、S141に処理を戻す。これにより、SW2がオンされた状態が続いている間は、静止画の連写撮影が続けられる。また本実施形態においては、SW1のオン状態が継続している時や連写による静止画撮影時のコマ間のライブビュー中に、被写体に対する追尾が継続される。
図13は、図12のS201、S202、S203における、被写体の検出および追尾処理の動作の詳細を示すフローチャートである。図13のフローチャートは、図5(c)で説明したタイミング図と略々等価な処理を実行するフローチャートである。図13のフローチャートの処理は、システム制御部42による制御の下で画像処理部40により行われる。図12のS201、S202、S203は同じ処理であるため、ここではS201について説明する。
画像処理部40は、S201で図13のフローチャートの処理を開始すると、先ずS203において、撮像部20からの撮像データを用いて現像処理を行って画像データ(Frame1とする)を生成する。そして、画像処理部40では、S203の現像処理後の画像データを用いて、以下の追尾対象の検出処理と追尾処理を並行して実行する。S211からS219までは検出処理の流れを示し、S231からS249までは追尾処理の流れを示している。
先ず、S211からS219までの検出処理から説明する。画像処理部40は、S211においてFrame1の画像データを用いて顔検出を行い、次にS213において顔が検出されたか否かを判定する。そして、画像処理部40は、顔が検出されていないと判定した場合にはS215に処理を進め、一方、顔が検出されたと判定した場合にはS221に処理を進める。
S215に進んだ場合、画像処理部40は、検出結果が未確定であるとし、顔の位置及びサイズが不定であることを示す情報と、被写体(顔)が無いことを示す情報とを、RAM46に一時記憶させた後、後述するS217に処理を進める。
S221に進んだ場合、画像処理部40は、検出結果を確定させ、その検出された顔の位置及びサイズの情報と、検出された被写体が顔であることを示す情報とを、RAM46に一時記憶させた後、S223に処理を進める。
S221に進んだ場合、画像処理部40は、検出結果を確定させ、その検出された顔の位置及びサイズの情報と、検出された被写体が顔であることを示す情報とを、RAM46に一時記憶させた後、S223に処理を進める。
S223に進むと、画像処理部40は、検出された顔に対して器官検出処理を実行する。なお、検出された顔が複数存在する場合、画像処理部40は、それら顔の中からAF対象となる主被写体の顔を一つ決定して、その主被写体の顔に対して器官検出処理を実行する。
次にS225において、画像処理部40は、S223で検出した器官の中で、眼(具体的には瞳)が検出されたか否か判定し、瞳が検出されていない場合にはS217に処理を進め、一方、瞳が検出されたと判定した場合にはS227に処理を進める。そして、S227に進むと、画像処理部40は、検出された瞳の位置、サイズ、左右いずれの眼の瞳であるかを示す情報を、RAM46に一時記憶させた後、S217に処理進める。
S217に進むと、画像処理部40は、前述したS215で一時記憶した情報、または、S227で一時記憶した情報、つまり顔の有無や器官の有無、顔や器官の位置やサイズ等の各種情報を、検出結果の情報として確定する。そして、S219において、それら検出結果の情報はアウトプット情報となされる。このS217とS219の後、画像処理部40は、S203に処理を戻す。
次にS231からS239までの追尾処理について説明する。画像処理部40は、S231において、追尾対象が確定済みであるか否かを判定する。この図13のフローチャートでは、検出処理と連動して追尾処理が発動され、検出処理と追尾処理が並行して実行され、S217で一つ前の画像の被写体の検出結果の情報が確定していれば、その検出結果を起点として追尾処理が行われることになる。
次のS233において、画像処理部40は、テンプレートを作成可能な画像が存在するか否かを判定する。ここで追尾処理は、少なくとも、現在と過去の2枚の画像を用いて実現されるため、顔の画像からテンプレートを作成できることが追尾処理実施の必要条件となる。このため、S233において、画像処理部40は、Frame1の画像データに対し、過去のFrame0の画像データ、つまりテンプレートを作成可能な画像が存在するか否かを判定する。そして、画像処理部40は、テンプレートを作成可能な画像が存在しないと判定した場合には後述するS243に処理を進め、一方、テンプレートを作成可能な画像が存在すると判定した場合にはS235に処理を進める。
S235に進むと、画像処理部40は、Frame1の画像データに対して過去のFrame0の画像データからテンプレートを切り出した後、S236に処理を進める。
S236に進むと、画像処理部40は、前述したような追尾探索エリアを設定する処理を行う。S236における追尾探索エリアの設定処理の詳細は、後述する図14のフローチャートにおいて説明する。S236の追尾探索エリアの設定処理の後、画像処理部40は、S237に処理を進める。
S236に進むと、画像処理部40は、前述したような追尾探索エリアを設定する処理を行う。S236における追尾探索エリアの設定処理の詳細は、後述する図14のフローチャートにおいて説明する。S236の追尾探索エリアの設定処理の後、画像処理部40は、S237に処理を進める。
S237に進むと、画像処理部40は、Frame1の画像データについて、S236で設定された追尾探索エリア内でテンプレートを用いたマッチング処理による追尾処理を行う。また、S239において、画像処理部40は、次回の追尾処理の際に使用するためのFrame1の画像データを、過去のFrame0の画像データとしてRAM46に一時記憶させるような退避処理を行う。さらに、画像処理部40は、S241において、S237のマッチング処理で最も画像差分が少ない位置を特定するマッチングが成立したか否かを判定する。
そして、画像処理部40は、マッチングが成立していないと判定した場合にはS243に処理を進め、追尾結果が未確定であるとし、追尾対象の位置、サイズ、種類が不定であることを示す情報を、RAM46に一時記憶させた後、S247に処理を進める。
一方、画像処理部40は、マッチングが成立したと判定した場合にはS245に処理を進め、追尾結果を確定させ、その追尾対象の位置、サイズ、種類を示す情報を、RAM46に一時記憶させた後、S247に処理を進める。
一方、画像処理部40は、マッチングが成立したと判定した場合にはS245に処理を進め、追尾結果を確定させ、その追尾対象の位置、サイズ、種類を示す情報を、RAM46に一時記憶させた後、S247に処理を進める。
S247に進むと、画像処理部40は、S243で一時記憶した情報、または、S245で一時記憶した情報、つまり追尾結果の有無や追尾対象の位置、サイズ、追尾対象の種類等の各種情報を、追尾結果の情報として確定する。そして、S249において、それら追尾結果の情報はアウトプット情報となされる。このS247とS249の後、画像処理部40は、S203に処理を戻す。
図14は、図13のS236における追尾探索エリアの設定処理の詳細を示すフローチャートである。ここでは、顔の眼(瞳)が追尾対象となされている場合の例を示している。図14のフローチャートの処理は、システム制御部42による制御の下で画像処理部40により行われる。
画像処理部40は、S311で図14のフローチャートの処理を開始すると、先ずS313において、現在の状態が瞳の追尾状態になっているか否かを判定する。そして、画像処理部40は、瞳の追尾状態になっていると判定した場合にはS315に処理を進め、瞳の追尾状態になっていないと判定した場合にはS317に処理を進める。
S315に進むと、画像処理部40は、顔内の左右二つの眼の瞳のうち、追尾対象となっている瞳が存在する側を追尾探索エリアとし、追尾対象でない瞳の側には追尾探索エリア外とするように設定した後、S317に処理を進める。このS315における追尾探索エリアの設定処理は、前述した図7(a)や図7(b)、図8(a)や図8(b)、図9(a)や図9(b)を用いて説明した処理に相当する。
S317に進むと、画像処理部40は、画像内に複数の人物の顔が写っているか否かを判定する。画像処理部40は、画像内に複数の顔が写っていると判定した場合にはS319に処理を進め、一方、複数の顔が写っていない(顔は一つだけ)と判定した場合には図14のフローチャートの処理を終了する。
S319に進んだ場合、画像処理部40は、追尾対象の人物以外の別の人物の瞳を追尾探索エリアから除外するような追尾探索エリアの設定処理を行う。このS319における追尾探索エリアの設定処理は、前述した図10で説明した処理に相当する。例えば、別人物の二つの眼(瞳)のうち、追尾対象の人物における追尾対象の眼(瞳)から近い方の眼(瞳)を除外するように追尾探索エリア外を設定することで、必然的に別人物の両方の眼を追尾するような誤追尾の発生を防ぐことができる。
以上説明したように、本実施形態によれば、追尾対象の眼とは異なる追尾対象ではない眼を外すように追尾探索エリアを制限することにより、眼のよう小さい被写体を高い精度で追尾可能となる。また、別人物の眼を追尾するような誤追尾を無くすことができ、追尾性能の向上を実現できる。
なお前述の例では、被写体として、顔の構成要素の一つである眼を追尾対象とした例を挙げたが、これには限定されない。一例として、追尾対象の被写体は人や動物だけでなく、走行中の自動車や電車等であってもよい。例えば、自動車や電車等の一方のヘッドライトなどのように、或る程度近接して配置されていて特徴(形状)が類似している少なくとも二つの構成要素のうち、一方を追尾対象として追尾する場合にも、本実施形態は適用可能である。
また前述の説明では、画像処理部40において被写体の検出および追尾処理が行われる例を挙げたが、これらの処理はシステム制御部42が本実施形態に係るプログラムを実行することにより実現されてもよい。また、一部が画像処理部40により実行され、残りがプログラムを基にシステム制御部42により実行されてもよい。
また本実施形態は、連写撮影だけでなく、動画撮影時における映像内で被写体を追尾する場合にも適用可能である。前述した実施形態では、画像処理装置の適用例としてデジタルカメラ等を挙げたが、この例には限定されず他の撮像装置にも適用可能である。例えば、カメラ機能を備えたスマートフォンやタブレット端末などの各種携帯端末、各種の監視カメラ、工業用カメラ、車載カメラ、医療用カメラなどにも本実施形態は適用可能である。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線/無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光/光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
10:レンズ、20:撮像部、40:画像処理部、42:システム制御部、44:操作部、46:RAM、48:ROM、50:表示装置
Claims (14)
- 複数の画像から、特定の顔に含まれる一方の眼を探索して追尾する追尾手段と、
前記追尾の対象となる前記一方の眼を前記追尾手段が前記画像から探索するエリアを、前記追尾の対象になされていない他方の眼の位置に基づいて制限する設定手段と、
を有することを特徴とする画像処理装置。 - 前記追尾手段は、
画像から特定の顔を検出する顔検出手段と、
前記検出された前記特定の顔から前記一方の眼を検出する器官検出手段と、を有し、
前記複数の画像から前記一方の眼の位置を検出して前記追尾を行うことを特徴とする請求項1に記載の画像処理装置。 - 前記複数の画像は所定の時間間隔ごとに順に撮影された画像であり、
前記顔の検出と前記眼の追尾は並行して行われ、
前記器官検出手段は、前記追尾する前記眼の位置を、一つ前の時間間隔で撮影された画像から検出された前記顔および眼の位置に基づいて決定することを特徴とする請求項2に記載の画像処理装置。 - 前記追尾手段は、前記追尾の対象となる前記一方の眼の決定がなされたことに応じて、前記追尾の処理を発動することを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
- 前記追尾の対象となる前記一方の眼の決定は、前記特定の顔からの前記一方の眼の検出、または、前記特定の顔に対して前記一方の眼を指定する操作に応じて行われることを特徴とする請求項4に記載の画像処理装置。
- 前記設定手段は、前記追尾の対象になされていない前記他方の眼の中心から、前記追尾の対象となる前記一方の眼が存在しない側を、前記探索を制限するエリアとすることを特徴とする請求項1から5のいずれか1項に記載の画像処理装置。
- 前記設定手段は、前記追尾の対象となる前記一方の眼と前記追尾の対象になされていない前記他方の眼との間の間隔を基に、前記探索するエリアを制限することを特徴とする請求項1から5のいずれか1項に記載の画像処理装置。
- 前記設定手段は、前記追尾の対象となる前記一方の眼を中心とし、前記一方の眼と前記他方の眼との間の間隔を所定倍したエリアを、前記探索するエリアとすることを特徴とする請求項7に記載の画像処理装置。
- 前記追尾手段は、前記探索するエリアから二つの眼が探索された場合、前記追尾の対象として設定された眼が左右のいずれの眼であったかに基づいて、前記探索された二つの眼のいずれを追尾するかを決定することを特徴とする請求項1から8のいずれか1項に記載の画像処理装置。
- 前記設定手段は、特定の顔の一方の眼が前記追尾の対象として設定された場合、別の顔の眼の位置に基づいて、前記探索するエリアを制限することを特徴とする請求項1から9のいずれか1項に記載の画像処理装置。
- 前記設定手段は、前記顔の位置と大きさに基づいて前記探索するエリアを制限することを特徴とする請求項1から10のいずれか1項に記載の画像処理装置。
- 前記設定手段は、前記画像の解像度を低くして前記顔の検出が行われる場合、前記探索するエリアの解像度を、前記低くした解像度よりも相対的に高い解像度とすることを特徴とする請求項1から11のいずれか1項に記載の画像処理装置。
- 画像処理装置が実行する画像処理方法であって、
複数の画像から、特定の顔に含まれる一方の眼を探索して追尾する追尾工程と、
前記追尾の対象となる前記一方の眼を前記追尾工程で前記画像から探索するエリアを、前記追尾の対象になされていない他方の眼の位置に基づいて制限する設定工程と、
を有することを特徴とする画像処理方法。 - コンピュータを、請求項1から12のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018089679A JP2019197295A (ja) | 2018-05-08 | 2018-05-08 | 画像処理装置、画像処理方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018089679A JP2019197295A (ja) | 2018-05-08 | 2018-05-08 | 画像処理装置、画像処理方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019197295A true JP2019197295A (ja) | 2019-11-14 |
Family
ID=68538422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018089679A Pending JP2019197295A (ja) | 2018-05-08 | 2018-05-08 | 画像処理装置、画像処理方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019197295A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7451171B2 (ja) | 2019-12-24 | 2024-03-18 | キヤノン株式会社 | 画像処理装置 |
-
2018
- 2018-05-08 JP JP2018089679A patent/JP2019197295A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7451171B2 (ja) | 2019-12-24 | 2024-03-18 | キヤノン株式会社 | 画像処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5159515B2 (ja) | 画像処理装置およびその制御方法 | |
JP5564987B2 (ja) | 被写体追尾装置及び撮像装置 | |
US8929598B2 (en) | Tracking apparatus, tracking method, and storage medium to store tracking program | |
US9317748B2 (en) | Tracking apparatus | |
US10163222B2 (en) | Image capturing apparatus, tracking device, control method, and storage medium | |
US8411159B2 (en) | Method of detecting specific object region and digital camera | |
CN108737718B (zh) | 拍摄方法、装置和智能设备 | |
JP2009268086A (ja) | 撮像装置 | |
CN109451240B (zh) | 对焦方法、装置、计算机设备和可读存储介质 | |
KR20140090078A (ko) | 이미지 처리 방법 및 그 방법을 처리하는 전자 장치 | |
JP2010074815A (ja) | 画像処理装置、画像処理方法、および、プログラム | |
JP2019186911A (ja) | 画像処理装置および画像処理方法、ならびに撮像装置 | |
JP2012015642A (ja) | 撮像装置 | |
JP2009141475A (ja) | カメラ | |
JP2007081682A (ja) | 画像処理装置、画像処理方法、及び、情報処理装置が実行可能なプログラム | |
JP2021124669A (ja) | 電子機器 | |
WO2021184341A1 (en) | Autofocus method and camera system thereof | |
JP2019197295A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2017121042A (ja) | 被写体追尾装置、その制御方法、および制御プログラム、並びに撮像装置 | |
JP2020065173A (ja) | 画像処理装置、学習装置、画像処理方法、学習方法およびプログラム | |
KR102198177B1 (ko) | 촬영 장치, 그 제어 방법 및 컴퓨터 판독 가능 기록 매체 | |
JP7479803B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2018185576A (ja) | 画像処理装置および画像処理方法 | |
JP7122916B2 (ja) | 撮像装置およびその制御方法、プログラムならびに記憶媒体 | |
JP2009278280A (ja) | 撮像装置、その制御方法及びプログラム |