(57)【要約】【課題】高精度の輪郭検出を効率よく実行する。【解決手段】入力操作により、開始領域２１から終了領域２２に向かって延伸された、一定以上の幅を有する探索領域２０が入力画像に設定される。探索手段４は、延伸方向の角度ごとにエッジ探索範囲が対応付けられた探索範囲情報５に基づき、着目画素における探索領域２０の延伸方向の角度に対応するエッジ探索範囲を判別し、着目画素の周囲画素のうちエッジ探索範囲内に位置する画素から、エッジ強度の大きい画素を次の着目画素に設定する。探索手段４はこのような探索処理を繰り返す。また、探索手段４は、着目画素が特定領域１０に含まれる場合には、この着目画素について判別したエッジ探索範囲を拡張し、この着目画素の周囲画素のうち拡張したエッジ探索範囲内に位置する画素から、エッジ強度の大きい画素を次の着目画素に設定する。【選択図】図１
2014102711.tif 000002
【特許請求の範囲】
【請求項１】
入力画像上に特定領域を設定する領域設定手段と、
入力操作に応じて、開始領域から終了領域に向かって延伸された、一定以上の幅を有する探索領域を前記入力画像上に設定する入力受付手段と、
前記探索領域の中から設定した着目画素の位置での前記探索領域の延伸方向の角度を判別し、延伸方向の角度ごとにエッジを探索するためのエッジ探索範囲が対応付けられた探索範囲情報に基づいて、前記判別した延伸方向の角度に対応するエッジ探索範囲を判別し、前記設定した着目画素の周囲画素のうち前記判別したエッジ探索範囲内に位置する画素から、エッジである可能性が高い画素を判定して次の着目画素に設定するエッジ探索処理を、着目画素が前記開始領域から前記終了領域に達するまで繰り返す探索手段と、
を有し、
前記探索手段は、着目画素が前記特定領域に含まれる場合には、当該着目画素について判別したエッジ探索範囲を拡張し、当該着目画素の周囲画素のうち前記拡張した前記エッジ探索範囲内に位置する画素から、エッジである可能性が高い画素を次の着目画素に設定する、
ことを特徴とする輪郭検出装置。
【請求項２】
前記特定領域は、人の耳を含む領域であることを特徴とする請求項１記載の輪郭検出装置。
【請求項３】
前記領域設定手段は、前記入力画像から人の顔を検出し、顔の検出結果を基に前記耳を含む領域を設定することを特徴とする請求項２記載の輪郭検出装置。
【請求項４】
前記領域設定手段は、前記耳を含む領域を耳の上下方向に分割した第１の領域と第２の領域とを前記入力画像上に設定し、
前記探索手段は、着目画素が前記第１の領域と前記第２の領域のどちらに含まれるかに応じて、当該着目画素について判別したエッジ探索範囲を、当該着目画素について判別した延伸方向を基準として右側または左側に対して選択的に拡張する、
ことを特徴とする請求項２または３に記載の輪郭検出装置。
【請求項５】
前記入力受付手段は、前記入力画像上において指示位置を連続的に移動させる入力操作を受け付け、前記指示位置の軌跡に沿った一定以上の幅を有する領域を前記探索領域に設定することを特徴とする請求項１〜４のいずれか１項に記載の輪郭検出装置。
【請求項６】
前記入力受付手段は、前記入力画像上において一定の大きさを有するアイコン画像を連続的に移動させる入力操作を受け付け、前記アイコン画像が移動した領域を前記探索領域に設定することを特徴とする請求項１〜４のいずれか１項に記載の輪郭検出装置。
【請求項７】
輪郭検出装置が、
入力画像上に特定領域を設定し、
入力操作に応じて、開始領域から終了領域に向かって延伸された、一定以上の幅を有する探索領域を前記入力画像上に設定し、
前記探索領域の中から設定した着目画素の位置での前記探索領域の延伸方向の角度を判別し、延伸方向の角度ごとにエッジを探索するためのエッジ探索範囲が対応付けられた探索範囲情報に基づいて、前記判別した延伸方向の角度に対応するエッジ探索範囲を判別し、前記設定した着目画素の周囲画素のうち前記判別したエッジ探索範囲内に位置する画素から、エッジである可能性が高い画素を判定して次の着目画素に設定するエッジ探索処理を、着目画素が前記開始領域から前記終了領域に達するまで繰り返す、
処理を実行し、
前記エッジ探索処理では、着目画素が前記特定領域に含まれる場合には、当該着目画素について判別したエッジ探索範囲を拡張し、当該着目画素の周囲画素のうち前記拡張した前記エッジ探索範囲内に位置する画素から、エッジである可能性が高い画素を次の着目画素に設定する、
ことを特徴とする輪郭検出方法。
【請求項８】
コンピュータに、
入力画像上に特定領域を設定し、
入力操作に応じて、開始領域から終了領域に向かって延伸された、一定以上の幅を有する探索領域を前記入力画像上に設定し、
前記探索領域の中から設定した着目画素の位置での前記探索領域の延伸方向の角度を判別し、延伸方向の角度ごとにエッジを探索するためのエッジ探索範囲が対応付けられた探索範囲情報に基づいて、前記判別した延伸方向の角度に対応するエッジ探索範囲を判別し、前記設定した着目画素の周囲画素のうち前記判別したエッジ探索範囲内に位置する画素から、エッジである可能性が高い画素を判定して次の着目画素に設定するエッジ探索処理を、着目画素が前記開始領域から前記終了領域に達するまで繰り返す、
処理を実行させ、
前記エッジ探索処理では、着目画素が前記特定領域に含まれる場合には、当該着目画素について判別したエッジ探索範囲を拡張し、当該着目画素の周囲画素のうち前記拡張した前記エッジ探索範囲内に位置する画素から、エッジである可能性が高い画素を次の着目画素に設定する、
ことを特徴とする輪郭検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、輪郭検出装置、輪郭検出方法および輪郭検出プログラムに関する。
【背景技術】
【０００２】
写真などの画像から画像処理によって特定の物体の輪郭を検出する技術が知られている。このような技術は、例えば、人物の輪郭を検出して、輪郭外の背景画像を消去する、あるいは差し替えることなどに利用されている。
【０００３】
また、人物などの所望の物体の輪郭を正確に検出するための技術として、輪郭を検出させる領域をマウスなどの入力デバイスを用いてユーザに指定させ、輪郭の検出範囲を指定された領域またはその近傍領域に限定する技術がある。例えば、ユーザ操作によって指定された始点と終点との間において、終点に向かってエッジ検出強度の大きい画素を探索していく方法がある。また、ユーザ操作によって指定された帯状領域において、その中心線と交差する幅方向に画素を走査することで輪郭点を探索する方法もある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２０９４３０号公報
【特許文献２】特開平７−９２６５０号公報
【特許文献３】特開２０００−３３９４８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
輪郭の検出領域をユーザに指定させる方法では、検出領域をできるだけ輪郭の形状に沿って設定することで、輪郭の検出精度が向上する。例えば、人の顔を正面から見たときの耳の領域のように輪郭線が急峻に曲がっている部分では、その輪郭線の曲線に沿うように検出領域を設定することで、輪郭の検出精度が向上する。しかしながら、輪郭の形状に沿うように検出領域を設定するための操作は非常に手間がかかり、作業効率が低いという問題があった。
【０００６】
１つの側面では、本発明は、高精度の輪郭検出を効率よく実行可能な輪郭検出装置、輪郭検出方法および輪郭検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの案では、次のような輪郭検出装置が提供される。この輪郭検出装置は、領域設定手段、入力受付手段および探索手段を有する。領域設定手段は、入力画像上に特定領域を設定する。入力受付手段は、入力操作に応じて、開始領域から終了領域に向かって延伸された、一定以上の幅を有する探索領域を入力画像上に設定する。探索手段は、探索領域の中から設定した着目画素の位置での探索領域の延伸方向の角度を判別し、延伸方向の角度ごとにエッジを探索するためのエッジ探索範囲が対応付けられた探索範囲情報に基づいて、判別した延伸方向の角度に対応するエッジ探索範囲を判別し、設定した着目画素の周囲画素のうち判別したエッジ探索範囲内に位置する画素から、エッジである可能性が高い画素を判定して次の着目画素に設定するエッジ探索処理を、着目画素が開始領域から終了領域に達するまで繰り返す。また、探索手段は、着目画素が特定領域に含まれる場合には、この着目画素について判別したエッジ探索範囲を拡張し、この着目画素の周囲画素のうち拡張したエッジ探索範囲内に位置する画素から、エッジである可能性が高い画素を次の着目画素に設定する。
【０００８】
また、１つの案では、上記の輪郭検出装置と同様の処理が実行される輪郭検出方法、および、上記の輪郭検出装置と同様の処理をコンピュータに実行させる輪郭検出プログラムが提供される。
【発明の効果】
【０００９】
１態様によれば、高精度の輪郭検出を効率よく実行できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態に係る輪郭検出装置の構成例および処理例を示す図である。
【図２】第２の実施の形態に係る輪郭検出装置のハードウェア構成例を示す図である。
【図３】輪郭検出装置が備える処理機能の構成例を示すブロック図である。
【図４】トレース操作実行時における状態遷移の例を示す図である。
【図５】トレース方向角度の算出方法について説明するための図である。
【図６】トレース領域情報に登録される情報の例を示す図である。
【図７】トレース方向角度の分類の例を示す図である。
【図８】角度範囲とエッジ探索範囲との関係の例について示す図である。
【図９】エッジ強度の算出例を示す図である。
【図１０】上記の輪郭検出処理による問題点について説明するための図である。
【図１１】耳領域の検出例を示す図である。
【図１２】トレース領域の設定例を示す図である。
【図１３】耳領域での探索範囲の設定例を示す図である。
【図１４】第２の実施の形態に係る輪郭検出装置の処理手順の例を示すフローチャートである。
【図１５】第３の実施の形態に係る輪郭検出装置の処理機能の構成例を示すブロック図である。
【図１６】耳の輪郭線の一例を示す図である。
【図１７】耳領域における探索範囲の設定例を示す図である。
【図１８】第３の実施の形態に係る輪郭検出装置の処理手順の例を示すフローチャートである。
【図１９】第３の実施の形態に係る輪郭検出装置の処理手順の例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る輪郭検出装置の構成例および処理例を示す図である。図１の輪郭検出装置１は、入力画像から物体の輪郭線を検出する処理を実行する装置であり、領域設定手段２、入力受付手段および探索手段４を有する。また、探索手段４は、探索範囲情報５を参照可能になっている。
【００１２】
なお、領域設定手段２、入力受付手段３および探索手段４の各処理は、例えば、輪郭検出装置１が備えるプロセッサが所定のプログラムを実行することで実現される。あるいは、領域設定手段２、入力受付手段３および探索手段４の処理の少なくとも一部は、専用回路によって実現されてもよい。また、探索範囲情報５は、例えば、輪郭検出装置１が備える不揮発性記憶装置に記憶される。
【００１３】
領域設定手段２は、入力画像上に特定領域を設定する。図１には例として矩形の特定領域１０を示したが、特定領域の設定の仕方はこの例に限らない。例えば、特定領域は、入力画像上の横方向（ｘ軸方向）の範囲のみ規定された領域、あるいは、縦方向（ｙ軸方向）の範囲のみ規定された領域であってもよい。
【００１４】
特定領域としては、例えば、物体の輪郭線が急峻に曲がっている部分を含むように設定される。具体的な例としては、人の耳を含む領域を特定領域とすることができる。顔が正面に向いた状態での人の輪郭線を検出する場合、耳の上端や下端の部分において輪郭線が急峻に曲がる場合がある。
【００１５】
なお、特定領域は、ユーザの操作入力によって設定されてもよいし、輪郭検出装置１によって自動的に設定されてもよい。後者の例として、人の顔の検出結果に基づいて、耳を含む領域を特定領域に設定する方法が考えられる。
【００１６】
入力受付手段３は、ユーザの入力操作に応じて、エッジを探索するための探索領域を入力画像上に設定する。探索領域は、開始領域から終了領域に向かって延伸された、一定以上の幅を有する領域である。図１では、開始領域２１から終了領域２２に向かって緩やかに湾曲した探索領域２０の例を示している。
【００１７】
探索領域は、できるだけ簡易な操作によって設定できることが望ましい。探索領域の設定方法の例としては、ユーザが指示位置を連続的に移動させる操作を行うと、その移動軌跡に沿って一定の幅の探索領域が設定されるという方法が考えられる。この場合の指示位置とは、例えば、マウスカーソルの位置や、タッチパネルに対する接触位置とすることができる。また、類似する例として、ユーザが一定の大きさのアイコン画像を移動させる操作を行うと、アイコン画像が移動した領域が探索領域に設定されるという方法も考えられる。
【００１８】
探索手段４は、設定された探索領域において、その開始領域のいずれかの画素を起点として着目画素を設定し、着目画素の周囲画素の中からエッジである可能性が高い画素を次の着目画素に設定するエッジ探索処理を、着目画素が終了領域に達するまで繰り返す。これにより、設定された着目画素群が輪郭線として検出される。
【００１９】
探索手段４は、より具体的には次のような処理を行う。探索手段４は、設定した着目画素の位置での探索領域の延伸方向の角度を判別する。この延伸方向の角度は、例えば、着目画素から探索領域の中心線に下ろした垂線と、中心線との交点における接線の傾きとして定義することができる。
【００２０】
また、探索手段４は、探索範囲情報５を参照する。探索範囲情報５には、探索領域の延伸方向の角度ごとに、エッジを探索するためのエッジ探索範囲が対応付けられている。探索手段４は、探索範囲情報５に基づき、着目画素について判別した延伸方向の角度に対応する探索範囲角度を判別する。そして、探索手段４は、着目画素の周囲画素のうち、探索範囲情報５を基に判別したエッジ探索範囲内に位置する画素から、エッジである可能性が高い画素を判定して、その画素を次の着目画素に設定する。探索手段４は、このようなエッジ探索処理を、着目画素が開始領域から終了領域に達するまで繰り返す。
【００２１】
例えば、図１の画素３１を着目画素に設定した場合、探索手段４は、画素３１についての延伸方向Ａ１の角度を判別し、探索範囲情報５に基づいて、延伸方向Ａ１の角度に対応するエッジ探索範囲Ｂ１を判別する。そして、探索手段４は、画素３１の周囲画素のうち、エッジ探索範囲Ｂ１内に位置する画素の中から、エッジである可能性が高い画素３２を判定して、画素３２を次の着目画素に設定する。
【００２２】
ここで、エッジ探索範囲の内角の大きさは、基本的に、延伸方向の角度に関係なく略一定値とされる。そして、エッジ探索範囲は、例えば、次に設定され得る着目画素（すなわち、エッジであるかの判定対象とされる画素）が、現在の着目画素から探索領域の延伸方向に向かう範囲に限定されるように設定される。これにより、探索領域に沿って伸びている輪郭線、すなわちユーザが意図する輪郭線を、正確に検出できるようになる。
【００２３】
また、探索手段４は、着目画素が、領域設定手段２により設定された特定領域に含まれる場合には、この着目画素について判別されたエッジ探索範囲を拡張する。そして、探索手段４は、この着目画素の周囲画素のうち、拡張したエッジ探索範囲内に位置する画素の中から、エッジである可能性が高い画素を判定して次の着目画素に設定する。
【００２４】
例えば、図１の画素４１は、設定された特定領域１０に含まれる。この画素４１を着目画素に設定した場合、探索手段４は、画素４１についての延伸方向Ａ２の角度を判別し、探索範囲情報５に基づいて、延伸方向Ａ２の角度に対応するエッジ探索範囲Ｂ２を判別する。さらに、探索手段４は、判別されたエッジ探索範囲Ｂ２を拡張して、新たなエッジ探索範囲Ｂ３とする。そして、画素４１の周囲画素のうち、拡張後のエッジ探索範囲Ｂ３内に位置する画素の中から、エッジである可能性が高い画素４２を判定して、画素４２を次の着目画素に設定する。
【００２５】
このようなエッジ探索範囲の拡張が行われることで、探索手段４は、物体の輪郭線が急峻に曲がっている場合でも、その輪郭線を正確に検出することができるようになる。すなわち、特定領域１０においては、物体の輪郭線の方向が探索領域の延伸方向から大きくずれていても、その輪郭線を正確に検出できるようになる。このため、ユーザは、輪郭線が急峻に曲がっている部分についても、その輪郭線の形状に正確に沿うように探索領域を設定せずに、大まかな輪郭線の形状に沿うように探索領域を設定すればよくなり、ユーザの作業効率が向上する。従って、高精度の輪郭検出を効率よく実行可能になる。
【００２６】
〔第２の実施の形態〕
次に、人の輪郭線を検出するための輪郭検出装置の例について説明する。図２は、第２の実施の形態に係る輪郭検出装置のハードウェア構成例を示す図である。輪郭検出装置１００は、例えば、図２に示すようなコンピュータとして実現される。
【００２７】
輪郭検出装置１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２８】
ＲＡＭ１０２は、輪郭検出装置１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００２９】
バス１０９に接続されている周辺機器としては、例えば、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００３０】
ＨＤＤ１０３は、内蔵したディスクに対して磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、輪郭検出装置１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００３１】
グラフィック処理装置１０４には、モニタ１０４ａが接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ１０４ａの画面に表示させる。モニタ１０４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３２】
入力インタフェース１０５には、キーボード１０５ａとマウス１０５ｂとが接続されている。入力インタフェース１０５は、キーボード１０５ａやマウス１０５ｂから送られてくる信号をプロセッサ１０１に送信する。なお、マウス１０５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３３】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク１０６ａに記録されたデータの読み取りを行う。光ディスク１０６ａは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク１０６ａには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３４】
機器接続インタフェース１０７は、輪郭検出装置１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置１０７ａやメモリリーダライタ１０７ｂを接続することができる。メモリ装置１０７ａは、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ１０７ｂは、メモリカード１０７ｃへのデータの書き込み、またはメモリカード１０７ｃからのデータの読み出しを行う装置である。メモリカード１０７ｃは、カード型の記録媒体である。
【００３５】
ネットワークインタフェース１０８は、ネットワーク１０８ａに接続されている。ネットワークインタフェース１０８は、ネットワーク１０８ａを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００３６】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示した輪郭検出装置１も、図２に示した輪郭検出装置１００と同様のハードウェアにより実現することができる。
【００３７】
図３は、輪郭検出装置が備える処理機能の構成例を示すブロック図である。輪郭検出装置１００は、ユーザの入力操作に応じて入力画像上に設定された、一定以上の幅を有する探索領域において、その探索領域の延伸方向に対してエッジ強度が強い画素を順次探索していくことで、入力画像上の人の輪郭線を検出する。特に、輪郭検出装置１００は、顔が正面を向いた人の頭部近傍の輪郭線を高精度に検出可能とするものである。また、探索領域は、所定の大きさのアイコン画像をユーザがドラッグ操作により移動させる操作を行ったときに、アイコン画像が移動した領域として設定されるものとする。さらに、輪郭検出装置１００は、顔検出によって抽出された、耳を含む領域においては、エッジ強度が強い画素の探索処理手順をそれ以外での手順から変更することで、耳を含む領域における輪郭線の検出精度を向上させる。
【００３８】
輪郭検出装置１００は、画像読み込み部１１１、顔検出部１１２、トレース入力部１１３および輪郭検出部１１４を有する。画像読み込み部１１１、顔検出部１１２、トレース入力部１１３および輪郭検出部１１４の各処理は、プロセッサ１０１が所定のプログラムを実行することで実現される。ただし、これらの処理の少なくとも一部が、例えばグラフィック処理装置１０４内の回路などの専用回路によって実現されてもよい。
【００３９】
また、輪郭検出装置１００の記憶装置には、耳領域情報１２１、トレース領域情報１２２、探索範囲情報１２３および輪郭情報１２４が記憶される。これらの情報のうち、探索範囲情報１２３は、ＨＤＤ１０３などの不揮発性記憶装置にあらかじめ記憶される。一方、耳領域情報１２１、トレース領域情報１２２および輪郭情報１２４は、少なくとも、ＲＡＭ１０２などの揮発性記憶装置に一時的に記憶される。
【００４０】
画像読み込み部１１１は、人が映った入力画像を、ＨＤＤ１０３などの輪郭検出装置１００に接続された不揮発性記憶装置や、ネットワーク１０８ａ上の情報処理装置などからＲＡＭ１０２へ読み込む。本実施の形態では、入力画像には、少なくとも、顔が正面を向いた人の頭部が映っているものとする。
【００４１】
顔検出部１１２は、入力画像から人の顔を検出し、その顔検出結果から耳を含む領域（耳領域）を抽出する。耳領域を示す情報は、耳領域情報１２１としてＲＡＭ１０２に記憶される。
【００４２】
トレース入力部１１３は、所定の大きさのアイコン画像をユーザがドラッグ操作により移動させる「トレース操作」を行ったとき、アイコン画像が移動した領域を探索領域に設定する。以下、アイコン画像が移動した領域を「トレース領域」と呼ぶ。トレース領域を示す情報は、トレース領域情報１２２としてＲＡＭ１０２に記憶される。
【００４３】
トレース入力部１１３は、設定したトレース領域内の画素のそれぞれについて、「トレース方向角度」を算出し、算出したトレース方向角度を各画素に対応付けてトレース領域情報１２２に登録する。トレース方向角度は、画素ごとにエッジ探索のための進行可能方向を判定するための基準角度である。トレース方向角度の詳細については後述する。
【００４４】
探索範囲情報１２３には、トレース方向角度ごとに、エッジ探索を行う範囲を示すエッジ探索範囲が対応付けて記憶されている。
輪郭検出部１１４は、トレース領域における開始領域から終了領域に向かって、エッジ強度が大きい画素を順次辿っていくことで、輪郭線を検出する。このようなエッジ探索処理において、輪郭検出部１１４は、耳領域情報１２１、トレース領域情報１２２および探索範囲情報１２３を参照する。輪郭検出部１１４は、検出された輪郭線の情報を輪郭情報１２４として出力する。
【００４５】
また、輪郭検出部１１４は、処理対象とする着目画素が、耳領域情報１２１が示す耳領域に含まれる場合には、着目画素を起点とした探索の進行方向の範囲（エッジ強度の判定対象とする画素の範囲）を、それ以外の領域における範囲より拡張する。これにより、輪郭線が急峻に曲がっている耳付近の領域でも、輪郭線を正確に検出できるようにする。
【００４６】
次に、輪郭検出装置１００の基本的な輪郭検出処理手順について説明する。基本的な輪郭検出処理は、次のような処理ステップを含む。
（１）トレース操作に応じてトレース領域を設定する。
【００４７】
（２）トレース領域の各画素について、トレース方向角度を算出する。
（３）トレース領域の開始領域内のいずれかの画素を着目画素に設定し、着目画素がトレース領域の終了領域に達するまで、次の（３−１）〜（３−３）を繰り返す。
【００４８】
（３−１）着目画素についてのトレース方向角度に対応するエッジ探索範囲を、探索範囲情報１２３を基に判別する。
（３−２）着目画素の周囲画素のうちエッジ探索範囲に含まれる画素のエッジ強度を算出する。
【００４９】
（３−３）エッジ強度が最も強い画素を次の着目画素に設定する。
なお、トレース方向角度の算出は、（２）の時点でトレース領域内の全画素について行われるのではなく、（３−１）の時点で、設定された着目画素について行われてもよい。
【００５０】
以下、図４〜図９を用いて、上記の（１）〜（３）の処理について説明する。
まず、図４は、トレース操作実行時における状態遷移の例を示す図である。この図４を用いて、トレース操作およびトレース領域について説明する。
【００５１】
本実施の形態では例として、ユーザは、トレース領域を指定するためのトレース操作を、マウスを用いて行うものとする。そして、ユーザが、矩形のアイコン画像２０１をドラッグ操作により移動させることで、トレース領域２１０が設定されるものとする。
【００５２】
図４において、トレース領域２１０は、破線によって囲まれた領域である。また、図４中の点線矢印は、アイコン画像２０１の中心点が移動した軌跡を示し、以下、この軌跡を「トレース領域の中心線」と呼ぶ。
【００５３】
図４の状態１のように、ユーザが、マウスカーソルを入力画像２００上の所望の位置に配した状態でマウスボタンを押下すると、マウスカーソルの位置にアイコン画像２０１が表示される。なお、アイコン画像２０１は、マウスボタン押下の前からマウスカーソルの位置に表示されていてもよい。
【００５４】
ユーザが、マウスボタンを押下したままでマウスを動かして画面上の指示位置を移動させると、その移動に伴ってアイコン画像２０１も移動する。このとき、図４の状態２のように、アイコン画像２０１が移動した領域がトレース領域２１０に設定されるとともに、設定されたトレース領域２１０が画面上に識別可能な状態で表示される。その後、ユーザが所望の位置でマウスボタンの押下を終了すると、図４の状態３に示すように、トレース領域２１０の設定が完了する。
【００５５】
人の頭部の輪郭線を検出させる場合、ユーザは、アイコン画像２０１の内部に常に入力画像２００上の人の頭部の輪郭が含まれるように、アイコン画像２０１を移動させればよい。
【００５６】
なお、タッチパネルが用いられる場合、ユーザは例えば、入力画像上の所望の位置に指を接触させ、指が接触された状態を保ったまま接触位置を移動させ、その後、所望の位置で指を離す、という操作により、トレース領域２１０を指定することができる。
【００５７】
また、図４の例では、アイコン画像２０１が移動した領域がトレース領域２１０に設定されているが、その他に例えば、マウスカーソルの軌跡または指の接触位置の軌跡を中心とした一定幅の領域が、トレース領域２１０に設定されてもよい。
【００５８】
また、アイコン画像２０１の形状は、図４のような矩形に限らない。
ところで、後述するように、エッジ探索の始点および終点を判別するために、トレース領域２１０の開始領域および終了領域が設定される。開始領域としては、トレース領域２１０の始点側の端部に隣接する複数画素が設定され、終了領域としては、トレース領域２１０の終点側の端部に隣接する複数画素が設定される。
【００５９】
図４のように矩形のアイコン画像２０１が用いられる場合、例えば、開始領域としては、トレース領域２１０においてアイコン画像２０１が最初に配置された領域のうち、端部に面する１辺または２辺の画素が設定される。アイコン画像２０１が初期位置から左右方向（ｘ軸方向）または上下方向（ｙ軸方向）に移動した場合、開始領域としては、端部に面する１辺の画素が設定される。一方、アイコン画像２０１が初期位置から斜めに移動した場合、開始領域としては、端部に面する２辺の画素が設定される。図４は後者の例を示しており、辺２１１，２１２に隣接する画素が開始領域に設定される。
【００６０】
また、終了領域についても同様であり、トレース領域２１０においてアイコン画像２０１が最後に配置された領域のうち、端部に面する１辺または２辺の画素が設定される。アイコン画像２０１が最終位置に対して左右方向（ｘ軸方向）または上下方向（ｙ軸方向）に移動した場合、終了領域としては、端部に面する１辺の画素が設定される。一方、アイコン画像２０１が最終位置に対して斜めに移動した場合、終了領域としては、端部に面する２辺の画素が設定される。図４は後者の例を示しており、辺２１３，２１４に隣接する画素が終了領域に設定される。
【００６１】
図５は、トレース方向角度の算出方法について説明するための図である。なお、図５では、図４と同様に、破線によって囲まれた領域がトレース領域２１０を示し、点線矢印はトレース領域２１０の中心線を示している。
【００６２】
図４に示したようにトレース領域２１０が設定されると、トレース入力部１１３は、トレース領域２１０内の各画素に対してトレース方向角度を算出し、トレース領域情報１２２に登録する。トレース方向角度は、各画素の位置におけるトレース領域２１０の延伸方向の角度を示す。トレース方向角度は、対応する画素に着目したとき、その周囲画素のうちどの画素を探索対象とするかを決定するための基準角度となる。
【００６３】
具体的な算出方法の例を、図５における画素２２１を例に挙げて説明する。トレース方向角度θ１は、画面上の所定の基準方向（本実施の形態では垂直方向）に対する角度として設定される。画素２２１についてのトレース方向角度θ１は、画素２２１から中心線に対して下ろした垂線と中心線との交点２２２における、中心線の接線２２３の傾きθ２として算出することができる。
【００６４】
なお、上記の接線２２３の傾きθ２は、演算負荷の軽減や処理速度の向上を目的として、より簡易な計算方法によって近似的に算出されてもよい。例えば、交点２２２の座標と、交点２２２を起点として終点側に所定距離だけ離れた中心線上の座標とを結ぶ直線の角度が、接線２２３の傾きθ２の近似値として算出されてもよい。
【００６５】
図６は、トレース領域情報に登録される情報の例を示す図である。トレース入力部１１３は、ユーザの操作入力によってトレース領域２１０が設定されると、トレース領域情報１２２に、トレース領域２１０に含まれる画素ごとにレコードを作成する。各レコードには、例えば、座標、トレース方向角度、開始領域フラグおよび終了領域フラグの欄が設けられる。
【００６６】
座標の欄には、各画素の座標が登録される。トレース方向角度の欄には、図５で説明した画素ごとのトレース方向角度が登録される。開始領域フラグは、該当の画素が図４で説明した開始領域に属するか否かを示すフラグであり、開始領域に属する場合は「１」が登録され、属さない場合は「０」が登録される。終了領域フラグは、該当の画素が図４で説明した終了領域に属するか否かを示すフラグであり、終了領域に属する場合は「１」が登録され、属さない場合は「０」が登録される。なお、終了領域に属する画素は、その画素が着目画素に設定されたときにそれ以上のエッジ探索が行われないので、その画素についてはトレース方向角度が登録されていなくてよい。
【００６７】
図７は、トレース方向角度の分類の例を示す図である。前述のように、探索範囲情報１２３には、トレース方向角度ごとに、エッジ探索を行う範囲を示すエッジ探索範囲が対応付けて記憶されている。本実施の形態では、トレース方向角度が図７に示す８つの角度範囲Ｄ０〜Ｄ７に分類され、分類された角度範囲ごとにエッジ探索範囲が対応付けられる。
【００６８】
ここで、トレース方向角度が８つの角度範囲Ｄ０〜Ｄ７に分類される理由は、トレース領域内の着目画素の周囲に８つの画素が存在することと関係する。角度範囲Ｄ０〜Ｄ７は、それぞれ着目画素の上側、右上側、右側、右下側、下側、左下側、左側、左上側に対して、それぞれ略均等の角度を有するように設定されればよい。
【００６９】
図７の例では、表示画面の上側を角度の基準方向として、３３８°以上３６０°未満および０°以上２４°未満の範囲を角度範囲Ｄ０に、２４°以上６８°未満の範囲を角度範囲Ｄ１に、６８°以上１１４°未満の範囲を角度範囲Ｄ２に、１１４°以上１５８°未満の範囲を角度範囲Ｄ３に、１５８°以上２０４°未満の範囲を角度範囲Ｄ４に、２０４°以上２４８°未満の範囲を角度範囲Ｄ５に、２４８°以上２９４°未満の範囲を角度範囲Ｄ６に、２９４°以上３３８°未満の範囲を角度範囲Ｄ７に、それぞれ設定している。
【００７０】
図８は、角度範囲とエッジ探索範囲との関係の例について示す図である。なお、図８では、着目画素の周囲画素について、上側、右上側、右側、右下側、下側、左下側、左側、左上側の順にＮ０，Ｎ１，Ｎ２，Ｎ３，Ｎ４，Ｎ５，Ｎ６，Ｎ７という符号を付して示している。
【００７１】
図８に示す「探索対象画素」とは、エッジ探索の対象とする画素、より具体的には、エッジ強度の計算を行う対象の画素を示す。エッジ探索範囲とは、着目画素の周囲画素のうち探索対象画素が含まれる範囲を示す。輪郭検出部１１４によるエッジ探索範囲は、着目画素について算出されたトレース方向角度が示す方向の近傍範囲に限定される。換言すると、次の着目画素として設定可能な画素は、現在の着目画素の周囲画素のうちエッジ探索範囲に含まれる画素に限定される。これにより、トレース領域の延伸方向から大きく外れた方向に位置するエッジが検出されなくなり、ユーザが意図する輪郭線が検出されやすくなる。
【００７２】
本実施の形態では例として、図８に示すように、エッジ探索範囲は図７に示した角度範囲ごとに設定される。トレース方向角度が角度範囲Ｄ０に含まれる場合、エッジ探索範囲は着目画素の上方向の近傍に設定され、画素Ｎ７，Ｎ０，Ｎ１が探索対象画素となる。トレース方向角度が角度範囲Ｄ１に含まれる場合、エッジ探索範囲は着目画素の右上方向の近傍に設定され、画素Ｎ０，Ｎ１，Ｎ２が探索対象画素となる。トレース方向角度が角度範囲Ｄ２に含まれる場合、エッジ探索範囲は着目画素の右方向の近傍に設定され、画素Ｎ１，Ｎ２，Ｎ３が探索対象画素となる。トレース方向角度が角度範囲Ｄ３に含まれる場合、エッジ探索範囲は着目画素の右下方向の近傍に設定され、画素Ｎ２，Ｎ３，Ｎ４が探索対象画素となる。
【００７３】
トレース方向角度が角度範囲Ｄ４に含まれる場合、エッジ探索範囲は着目画素の下方向の近傍に設定され、画素Ｎ３，Ｎ４，Ｎ５が探索対象画素となる。トレース方向角度が角度範囲Ｄ５に含まれる場合、エッジ探索範囲は着目画素の左下方向の近傍に設定され、画素Ｎ４，Ｎ５，Ｎ６が探索対象画素となる。トレース方向角度が角度範囲Ｄ６に含まれる場合、エッジ探索範囲は着目画素の左方向の近傍に設定され、画素Ｎ５，Ｎ６，Ｎ７が探索対象画素となる。トレース方向角度が角度範囲Ｄ７に含まれる場合、エッジ探索範囲は着目画素の左上方向の近傍に設定され、画素Ｎ６，Ｎ７，Ｎ０が探索対象画素となる。
【００７４】
なお、図８の例では探索対象画素を着目画素の周囲１画素の範囲に設定したが、探索対象画素を着目画素の周囲複数画素の範囲に設定してもよい。
探索範囲情報１２３には、角度範囲ごとに、探索対象画素の位置を示す情報（例えば、図８に示すＮ０〜Ｎ７）があらかじめ登録される。輪郭検出部１１４は、着目画素を設定すると、着目画素についてのトレース角度範囲に対応する探索対象画素を、探索範囲情報１２３に基づいて判別する。輪郭検出部１１４は、判別した探索対象画素のそれぞれについてエッジ強度を算出し、エッジ強度が最も強い画素を次の着目画素に設定する。
【００７５】
図９は、エッジ強度の算出例を示す図である。エッジ強度は、対象の画素がエッジである可能性の高さを示す指標である。この図９では、Ｓｏｂｅｌフィルタを用いて探索対象画素のエッジ強度を算出する例について示す。
【００７６】
Ｓｏｂｅｌフィルタを用いた方法では、ｘ方向およびｙ方向のそれぞれについてのフィルタ係数が用意される。それぞれのフィルタ係数を用いて、エッジ強度のｘ成分、ｙ成分が算出される。そして、ｘ成分およびｙ成分を合成することでエッジ強度が算出される。
【００７７】
ｘ，ｙの各方向のフィルタ演算では、探索対象画素およびその周囲画素の合計９個の画素にそれぞれフィルタ係数が設定される。図９の例では、探索対象画素についてのｘ方向のフィルタ演算は、「左上画素の輝度値×（−１）＋上側画素の輝度値×０＋右上側画素の輝度値×１＋左側画素の輝度値×（−２）＋探索対象画素の輝度値×０＋右側画素の輝度値×２＋左下側画素の輝度値×（−１）＋下側画素の輝度値×０＋右下側画素の輝度値×１」なる式によって行われ、これによりエッジ強度のｘ成分が算出される。
【００７８】
また、図９の例では、探索対象画素についてのｙ方向のフィルタ演算は、「左上画素の輝度値×（−１）＋上側画素の輝度値×（−２）＋右上側画素の輝度値×（−１）＋左側画素の輝度値×０＋探索対象画素の輝度値×０＋右側画素の輝度値×０＋左下側画素の輝度値×１＋下側画素の輝度値×２＋右下側画素の輝度値×１」なる式によって行われ、これによりエッジ強度のｙ成分が算出される。
【００７９】
そして、ｘ成分の二乗値とｙ成分の二乗値とを加算した値の平方根をとることで、エッジ強度Ｅが算出される。
次に、図１０は、上記の輪郭検出処理による問題点について説明するための図である。
【００８０】
上記の図４〜図９において説明した輪郭検出手順によれば、トレース領域の延伸方向から大きく外れた方向に位置するエッジが検出されなくなり、ユーザが意図する輪郭線が検出されやすくなる。その反面、輪郭線が急峻に曲がる領域では、輪郭線の曲がった先の部分が探索範囲に含まれなくなる可能性があり、その結果、輪郭線が正確に検出されない可能性が生じる。
【００８１】
図１０に示すように、顔が正面を向いた状態の人の頭部近傍の輪郭線を検出したい場合、耳の領域では輪郭線が急峻に曲がる場合がある。例えば、頭部の右側を上側から下側に向かってエッジ探索を行う場合、耳の上側の付け根では、矢印３０１のように輪郭線が左側に急峻に曲がる場合がある。
【００８２】
急峻に曲がった輪郭線を正確に検出するためには、ユーザは、トレース領域を輪郭線の形状に沿ってできるだけ正確に設定すればよい。図１０の例では、アイコン画像２０１が矢印３０１に沿って移動するようにユーザが操作することで、耳の部分の輪郭線を検出できるようになる。しかしながら、このような操作は手間がかかり、作業効率が低い。特に、多数の入力画像のそれぞれから輪郭検出を行う場合には、作業に多くの手間と時間がかかってしまうという問題がある。
【００８３】
そこで、本実施の形態の輪郭検出装置１００は、入力画像から耳を含む領域を抽出し、着目画素が耳を含む領域に位置する場合には、探索範囲をそれ以外の領域の範囲より拡張する。これにより、輪郭線が急峻に曲がっている場合でも、輪郭線の曲がった先の部分が探索範囲に含まれるようになる。
【００８４】
図１１は、耳領域の検出例を示す図である。本実施の形態では、顔検出部１１２は、入力画像から顔領域Ｒ０を検出し、検出した顔領域Ｒ０の位置に基づいて、耳を含む領域（耳領域Ｒ１）を設定する。耳領域Ｒ１は、その境界が耳の外縁部より外側に位置するように設定されることが望ましい。
【００８５】
また、本実施の形態では例として、耳領域Ｒ１は、画面の垂直方向（ｙ軸方向）の座標範囲として設定されるものとする。この場合、耳領域Ｒ１の上端および下端の座標は、例えば、検出された顔領域Ｒ０の垂直方向の範囲をあらかじめ決められた割合で分割した分割点として求めることができる。
【００８６】
図１２は、トレース領域の設定例を示す図である。トレース領域２１０の設定の際には、例えば、アイコン画像２０１の大きさが、少なくとも耳の水平方向の範囲より大きく設定される。ユーザは、図１２に示すように、頭部の輪郭線に大まかに沿ってアイコン画像２０１を移動させる。このとき、耳の形状に沿ってアイコン画像２０１の移動方向を変化させる必要はなく、耳の水平方向の範囲がアイコン画像２０１の内部に包含されるようにアイコン画像２０１が移動されればよい。このような簡単な操作により、耳の部分についても輪郭線を正確に検出できる。
【００８７】
図１３は、耳領域での探索範囲の設定例を示す図である。図８に示したように、耳領域Ｒ１以外の領域Ｒ２では、着目画素の周囲画素のうち３画素のみが、探索対象画素に設定される。これに対し、耳領域Ｒ１では、例えば、探索対象画素の設定範囲が左回りおよび右回りにそれぞれ１画素ずつ拡張される。
【００８８】
図１３では、頭部の右側領域において上側から下側に向かってエッジ探索が行われ、トレース方向角度が角度範囲Ｄ４（図７，図８参照）に含まれている場合の探索範囲の設定例を示す。着目画素が耳領域Ｒ１外の領域Ｒ２に位置する場合、着目画素の周囲画素のうち、３つの画素Ｎ３〜Ｎ５が探索対象画素に設定される。これに対し、着目画素が耳領域Ｒ１に入ると、着目画素の周囲画素のうち、５つの画素Ｎ２〜Ｎ６が探索対象画素に設定される。このように、着目画素が耳領域Ｒ１に位置する場合には探索範囲が拡張されることで、耳の輪郭線を正確に検出できるようになる。
【００８９】
次に、図１４は、第２の実施の形態に係る輪郭検出装置の処理手順の例を示すフローチャートである。
［ステップＳ１１］画像読み込み部１１１は、入力画像の画像データをＲＡＭ１０２に読み込む。
【００９０】
［ステップＳ１２］顔検出部１１２は、入力画像から顔検出を行い、顔の検出位置に基づいて耳領域を検出する。顔検出部１１２は、検出した耳領域を示す情報を耳領域情報１２１としてＲＡＭ１０２に保存する。
【００９１】
［ステップＳ１３］トレース入力部１１３は、ユーザによるトレース操作を受け付ける。
［ステップＳ１４］トレース入力部１１３は、トレース操作に基づいて、トレース領域を設定する。トレース入力部１１３は、トレース領域内の各画素に対応するレコードをトレース領域情報１２２に作成し、各画素の座標を登録する。また、トレース入力部１１３は、各画素についてのトレース方向角度を算出して、トレース領域情報１２２に登録する。さらに、トレース入力部１１３は、トレース領域における開始領域および終了領域を判別して、その判別結果を基にトレース領域情報１２２の開始領域フラグおよび終了領域フラグを設定する。
【００９２】
［ステップＳ１５］輪郭検出部１１４は、トレース領域における開始領域の各画素のエッジ強度を算出し、エッジ強度が最も大きい画素を最初の着目画素に設定する。
［ステップＳ１６］輪郭検出部１１４は、トレース領域情報１２２から、現在の着目画素に対応付けられたトレース方向角度を読み出す。輪郭検出部１１４は、探索範囲情報１２３を参照し、読み出したトレース方向角度が属する角度範囲に対応する、探索対象画素の位置を判別する。
【００９３】
［ステップＳ１７］輪郭検出部１１４は、耳領域情報１２１に基づき、現在の着目画素が耳領域に含まれるかを判定する。着目画素が耳領域に含まれる場合、ステップＳ１８の処理が実行され、含まれない場合、ステップＳ１９の処理が実行される。
【００９４】
［ステップＳ１８］輪郭検出部１１４は、エッジの探索範囲を拡大する。例えば、輪郭検出部１１４は、ステップＳ１６で判別した探索対象画素に加えて、周囲画素のうちのさらに右回り方向および左回り方向のそれぞれの１画素を、探索対象画素とする。
【００９５】
［ステップＳ１９］輪郭検出部１１４は、探索対象画素のそれぞれについてのエッジ強度を算出し、最もエッジ強度が大きい探索対象画素を新たな着目画素に設定して、現在の着目画素を更新する。
【００９６】
［ステップＳ２０］輪郭検出部１１４は、更新された現在の着目画素が終了領域に含まれるかを判定する。着目画素が終了領域に含まれない場合、ステップＳ１６の処理が実行され、エッジ探索処理が続行される。一方、着目画素が終了領域に含まれる場合、その着目画素が輪郭線の終端となる。この場合、輪郭検出部１１４は、ステップＳ１６〜Ｓ１９の繰り返しによって設定したすべての着目画素の位置を輪郭情報１２４に登録することで、輪郭線の情報を出力する。
【００９７】
以上の図１４の処理によれば、ユーザが意図する輪郭線が正確に検出されるようになる。特に、輪郭線が急峻に曲がる可能性のある耳の領域においても、輪郭線が正確に検出される。そして、ユーザが曲がった輪郭線に沿って忠実にアイコン画像を移動させなくても、輪郭線を正確に検出することができる。従って、簡単な操作によって輪郭線を効率よく検出することができる。
【００９８】
なお、上記の図１４の処理では、エッジ探索処理を開始する前のステップＳ１５において、事前にトレース領域内の全画素のトレース方向角度を算出した。しかし、他の例として、ステップＳ１５の時点ではトレース方向角度を算出せずに、ステップＳ１６の時点で着目画素のトレース方向角度を算出してもよい。
【００９９】
また、図１４の処理では、ステップＳ１５およびステップＳ１９の時点でエッジ強度の計算を行った。しかし、他の例として、ステップＳ１４でトレース領域を設定した後、ステップＳ１５の処理を実行する前の段階で、トレース方向角度と同様に、トレース領域内の全画素のエッジ強度をあらかじめ計算し、トレース領域情報１２２に登録しておいてもよい。この場合、ステップＳ１５およびステップＳ１９では、該当する画素のエッジ強度がトレース領域情報１２２から読み出される。
【０１００】
また、入力画像上の全画素についてのトレース方向角度とエッジ強度のいずれか、または両方が、ステップＳ１３でトレース操作を受け付けるより前の時点で計算されて、記憶装置に一時的に記憶されてもよい。
【０１０１】
〔第３の実施の形態〕
図１５は、第３の実施の形態に係る輪郭検出装置の処理機能の構成例を示すブロック図である。この図１５では、図３と共通する構成要素には同じ符号を付して示しており、ここではそれらについての説明を省略する。第３の実施の形態に係る輪郭検出装置１００ａは、第２の実施の形態に係る輪郭検出装置１００を次のように変形したものである。
【０１０２】
輪郭検出装置１００ａにおいて、耳領域情報１２１ａは、第２の実施の形態の耳領域情報１２１と同様に耳を含む領域を示す情報を保持するが、耳領域情報１２１ａは、耳を含む領域を上半分と下半分とに２分割した分割領域を示す情報を保持する。顔検出部１１２ａは、入力画像から顔を検出し、顔の検出結果を基に上記の耳領域の上側および下側の各分割領域を判別して、各分割領域を示す位置情報を耳領域情報１２１ａに登録する。また、顔検出部１１２ａは、顔の検出結果を基に、顔位置情報１２５をＲＡＭ１０２に登録する。顔位置情報１２５は、着目画素が顔の右側または左側のどちらに位置するかを判定するための情報であり、例えば、水平方向（ｙ方向）に対する顔の中心を示す座標が登録される。
【０１０３】
輪郭検出部１１４ａによる基本的なエッジ探索処理の手順は第１の実施の形態の輪郭検出部１１４と同様であるが、輪郭検出部１１４ａは、着目画素が耳領域の上側または下側のどちらの分割領域に位置するかによって、エッジの探索範囲を拡張する方向を変える。
【０１０４】
図１６は、耳の輪郭線の一例を示す図である。前述のように、顔が正面を向いた状態の人の頭部近傍の輪郭線を検出したい場合、耳の領域では輪郭線が急峻に曲がる場合がある。例えば、図１６に示すように、頭部の右側を上側から下側に向かってエッジ探索を行う場合、耳の上側の付け根では、矢印３０２のように輪郭線が左側に急峻に曲がる場合がある。一方、耳の輪郭を上側から下側に向かってエッジ探索を行う場合、耳の下側において矢印３０３のように輪郭線が右側に急峻に曲がる場合がある。
【０１０５】
上記の特徴に鑑みると、耳領域のうち、耳の上半分を含む領域では、エッジの探索範囲を拡張する方向を左回りの方向に限定することができ、耳の下半分を含む領域では、エッジの探索範囲を拡張する方向を右回りの方向に限定することができる。これにより、耳の輪郭の検出精度を第２の実施の形態と同様の精度に維持しつつ、エッジ強度を計算する画素数を減らして、処理速度を向上させることができる。
【０１０６】
図１７は、耳領域における探索範囲の設定例を示す図である。図１７の例では、耳領域のうちの上半分に相当する上側領域Ｒ１１と、下半分に相当する下側領域Ｒ１２とが設定される。上側領域Ｒ１１および下側領域Ｒ１２は、第２の実施の形態で判定された耳領域を上下方向に２分割することで設定することができる。
【０１０７】
図１７の例では、頭部の右側領域において上側から下側に向かってエッジ探索が行われ、トレース方向角度が角度範囲Ｄ４（図７，図８参照）に含まれている場合の探索範囲の設定例を示す。着目画素が耳領域外の領域Ｒ２に位置する場合、着目画素の周囲画素のうち、３つの画素Ｎ３〜Ｎ５が探索対象画素に設定される。
【０１０８】
これに対し、着目画素が耳の上側領域Ｒ１１に入ると、探索範囲が左回り方向に１画素分拡張され、４つの画素Ｎ２〜Ｎ５が探索対象画素に設定される。また、着目画素が耳の下側領域Ｒ１２に入ると、探索範囲が右回り方向に１画素分拡張され、４つの画素Ｎ３〜Ｎ６が探索対象画素に設定される。
【０１０９】
探索範囲を拡張する方向は、現在顔のどちら側に位置する耳の近傍を探索しているか（すなわち、着目画素が顔の中心より左右どちら側に位置するか）、およびエッジ探索を上下のどちらの方向に行っているかによって決められる。詳しい設定方法は、次の図１８のフローチャートに示す。
【０１１０】
図１８，図１９は、第３の実施の形態に係る輪郭検出装置の処理手順の例を示すフローチャートである。図１８，図１９では、図１４と同様の処理が実行される処理ステップには同じ符号を付して示し、その説明を省略する。
【０１１１】
図１４に示したステップＳ１１が実行された後、次のステップＳ１２ａが実行される。
［ステップＳ１２ａ］顔検出部１１２ａは、入力画像から顔検出を行い、顔の検出位置に基づいて、顔の中心と、耳の上側領域および下側領域とを検出する。顔検出部１１２ａは、顔の中心を示す水平方向の座標（ｘ座標）を顔位置情報１２５としてＲＡＭ１０２に保存し、耳の上側領域および下側領域をそれぞれ示す情報を耳領域情報１２１ａとしてＲＡＭ１０２に保存する。なお、耳領域情報１２１ａには、例えば、上側領域および下側領域のそれぞれについての垂直方向の境界を示すｙ座標が設定される。
【０１１２】
このステップＳ１２ａが実行された後、図１４に示したステップＳ１３，Ｓ１４が実行され、さらに輪郭検出部１１４ａによりステップＳ１５，Ｓ１６が実行される。その後、次のステップＳ３１以降の処理が実行される。
【０１１３】
［ステップＳ３１］輪郭検出部１１４ａは、耳領域情報１２１ａに基づき、現在の着目画素が耳領域に含まれるか（すなわち、耳の上側領域または下側領域のいずれかに含まれるか）を判定する。着目画素が耳領域に含まれる場合、ステップＳ３２の処理が実行され、含まれない場合、ステップＳ１９の処理が実行される。
【０１１４】
［ステップＳ３２］輪郭検出部１１４ａは、現在のエッジ探索の方向が上方向か、または下方向かを判定する。エッジ探索の方向が上方向か、または下方向かは、例えば、現在の着目画素のｙ座標と、直前に設定された着目画素のｙ座標との差分の正負を基に判定することができる。エッジ探索の方向が上方向と判定された場合、ステップＳ３３の処理が実行され、下方向と判定された場合、ステップＳ３６の処理が実行される。
【０１１５】
［ステップＳ３３］輪郭検出部１１４ａは、耳領域情報１２１ａに基づき、現在の着目画素が耳の上側領域または下側領域のどちらに含まれるかを判定する。上側領域に含まれる場合、ステップＳ３４の処理が実行され、下側領域に含まれる場合、ステップＳ３５の処理が実行される。
【０１１６】
［ステップＳ３４］輪郭検出部１１４ａは、顔位置情報１２５に基づき、着目画素が顔の右側または左側のどちらに位置するかを判定する。右側に位置する場合、ステップＳ４０の処理が実行され、左側に位置する場合、ステップＳ３９の処理が実行される。
【０１１７】
［ステップＳ３５］輪郭検出部１１４ａは、顔位置情報１２５に基づき、着目画素が顔の右側または左側のどちらに位置するかを判定する。右側に位置する場合、ステップＳ３９の処理が実行され、左側に位置する場合、ステップＳ４０の処理が実行される。
【０１１８】
［ステップＳ３６］輪郭検出部１１４ａは、耳領域情報１２１ａに基づき、現在の着目画素が耳の上側領域または下側領域のどちらに含まれるかを判定する。上側領域に含まれる場合、ステップＳ３７の処理が実行され、下側領域に含まれる場合、ステップＳ３８の処理が実行される。
【０１１９】
［ステップＳ３７］輪郭検出部１１４ａは、顔位置情報１２５に基づき、着目画素が顔の右側または左側のどちらに位置するかを判定する。右側に位置する場合、ステップＳ３９の処理が実行され、左側に位置する場合、ステップＳ４０の処理が実行される。
【０１２０】
［ステップＳ３８］輪郭検出部１１４ａは、顔位置情報１２５に基づき、着目画素が顔の右側または左側のどちらに位置するかを判定する。右側に位置する場合、ステップＳ４０の処理が実行され、左側に位置する場合、ステップＳ３９の処理が実行される。
【０１２１】
［ステップＳ３９］輪郭検出部１１４ａは、エッジの探索範囲を左回り方向に拡大する。例えば、輪郭検出部１１４ａは、ステップＳ１６で判別した探索対象画素に加えて、周囲画素のうちのさらに左回り方向の１画素を、探索対象画素とする。
【０１２２】
［ステップＳ４０］輪郭検出部１１４ａは、エッジの探索範囲を右回り方向に拡大する。例えば、輪郭検出部１１４ａは、ステップＳ１６で判別した探索対象画素に加えて、周囲画素のうちのさらに右回り方向の１画素を、探索対象画素とする。
【０１２３】
ステップＳ３９またはステップＳ４０が実行された後、輪郭検出部１１４ａによりステップＳ１９，Ｓ２０が実行される。
以上の第３の実施の形態によれば、着目画素が耳領域に含まれる場合に、第２の実施の形態と比較して、エッジの探索範囲の拡張範囲が狭くなって、エッジ強度の計算対象の画素数が減少する。これにより、輪郭検出の処理速度を向上することができる。
【０１２４】
なお、第３の実施の形態では、第２の実施の形態と比較して、着目画素が耳領域に含まれる場合のエッジの探索範囲の右または左への拡張範囲を、広くしてもよい。例えば、図１４のステップＳ１８では左回り方向および右回り方向にそれぞれ１画素ずつ探索範囲を拡張したのに対し、図１９のステップＳ３９，Ｓ４０では、左回り方向または右回り方向に対して２画素分、探索範囲を拡張してもよい。これにより、輪郭線がより大きく曲がった場合でも輪郭線を正確に検出できるようになる。また、第２の実施の形態において右回り方向または左回り方向へ拡張する画素数（上記の例では１画素）より、第３の実施の形態において右回り方向または左回り方向へ拡張する画素数（上記の例では２画素）を２倍以内とすることで、エッジの計算対象とする画素数は増加せず、処理速度を第２の実施の形態と同等かそれ以下に抑制することができる。
【０１２５】
なお、上記の各実施の形態に示した装置（輪郭検出装置１，１００，１００ａ）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１２６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１２７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【符号の説明】
【０１２８】
１  輪郭検出装置
２  領域設定手段
３  入力受付手段
４  探索手段
５  探索範囲情報
１０  特定領域
２０  探索領域
２１  開始領域
２２  終了領域
３１，３２，４１，４２  画素
Ａ１，Ａ２  延伸方向
Ｂ１〜Ｂ３  エッジ探索範囲
【図１】
2014102711.tif 000003
【図２】
2014102711.tif 000004
【図３】
2014102711.tif 000005
【図４】
2014102711.tif 000006
【図５】
2014102711.tif 000007
【図６】
2014102711.tif 000008
【図７】
2014102711.tif 000009
【図８】
2014102711.tif 000010
【図９】
2014102711.tif 000011
【図１０】
2014102711.tif 000012
【図１１】
2014102711.tif 000013
【図１２】
2014102711.tif 000014
【図１３】
2014102711.tif 000015
【図１４】
2014102711.tif 000016
【図１５】
2014102711.tif 000017
【図１６】
2014102711.tif 000018
【図１７】
2014102711.tif 000019
【図１８】
2014102711.tif 000020
【図１９】
2014102711.tif 000021