(57)【特許請求の範囲】
【請求項１】
画像内に含まれる、第一の画素の輝度値と、第一の方向上で該第一の画素を挟み、前記第一の画素と互いに１画素以上離れた位置にある複数の画素の輝度値と、前記第一の方向に直交する第二の方向上で前記第一の画素を挟み、前記第一の画素と互いに１画素以上離れた位置にある複数の画素の輝度値とを、該第一の画素を前記画像内で走査させながらそれぞれ取得する取得部と、
前記第一の方向上の複数の画素および前記第二の方向上の複数の画素よりも輝度値が小さい第一の画素を、前記画像内を走査させながら複数抽出する抽出部と、
前記抽出部によって抽出された前記第一の画素と前記第一の方向上の複数の画素とにより算出される第１の近似関数が該複数の画素間で最小値を取る位置と、該第一の画素と前記第二の方向上の複数の画素とにより算出される第２の近似関数が該複数の画素間で最小値を取る位置とを基に特定される輝度最小点の位置に対応付けて、前記第１の近似関数の係数値または前記第２の近似関数の係数値を特徴量として記憶部に格納する格納部と、
前記抽出部によって抽出された他の第一の画素の輝度最小点の位置が、前記第一の画素の輝度点の位置と共通する場合に、前記他の第一の画素の輝度最小点の位置に対応する第１の近似関数の係数値または第２の近似関数の係数値を、前記記憶部に格納されている特徴量に加算することで該特徴量を更新する更新部と、
前記記憶部に格納されている各輝度最小点に対応する特徴量の大きさに基づいて、顔部品となる特徴点または特徴点の組み合わせを特定する特定部と
を有することを特徴とする画像処理装置。
【請求項２】
前記更新部は、前記抽出部によって抽出された他の第一の画素の輝度最小点の位置が、前記第一の画素の輝度点の位置と共通する場合に、前記他の第一の画素の輝度最小点の位置に対応する第１の近似関数の最大次数の項の係数値または第２の近似関数の最大次数の項の係数値のうち小さい方の係数値を前記記憶部に格納されている特徴量に加算し、
前記特定部は、前記記憶部に格納された特徴量のうち最も大きい値に対応付けられた前記画素の位置に基づいて、前記特徴点を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像は顔を含んだ画像であり、
前記特徴点に基づいて前記顔の向きを検出し、検出した該顔の向きが適正範囲にあるか否かを判定する判定部と、
前記判定の結果に応じた警告を報知する報知部と
をさらに有することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
コンピュータに、
画像内に含まれる、第一の画素の輝度値と、第一の方向上で該第一の画素を挟み、前記第一の画素と互いに１画素以上離れた位置にある複数の画素の輝度値と、前記第一の方向に直交する第二の方向上で前記第一の画素を挟み、前記第一の画素と互いに１画素以上離れた位置にある複数の画素の輝度値とを、該第一の画素を前記画像内で走査させながらそれぞれ取得し、
前記第一の方向上の複数の画素および前記第二の方向上の複数の画素よりも輝度値が小さい第一の画素を、前記画像内を走査させながら複数抽出し、
抽出された前記第一の画素と前記第一の方向上の複数の画素とにより算出される第１の近似関数が該複数の画素間で最小値を取る位置と、該第一の画素と前記第二の方向上の複数の画素とにより算出される第２の近似関数が該複数の画素間で最小値を取る位置とを基に特定される輝度最小点の位置に対応付けて、前記第１の近似関数の係数値または前記第２の近似関数の係数値を特徴量として記憶部に格納し、
抽出された他の第一の画素の輝度最小点の位置が、前記第一の画素の輝度点の位置と共通する場合に、前記他の第一の画素の輝度最小点の位置に対応する第１の近似関数の係数値または第２の近似関数の係数値を、前記記憶部に格納されている特徴量に加算することで該特徴量を更新し、
前記記憶部に格納されている各輝度最小点に対応する特徴量の大きさに基づいて、顔部品となる特徴点または特徴点の組み合わせを特定する
処理を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の開示する技術は、画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
従来、例えば、画像内に写っている顔について、画像上のエッジを抽出することにより顔の両端位置および中心位置を検出し、検出した顔の両端位置および中心位置から顔の向きを求める技術がある。
【０００３】
また、顔の向きを求めるための情報として、鼻や目などの顔を構成する部品である顔部品の位置を検出する技術がある。例えば、顔画像からエッジを抽出することでエッジ画像を生成し、エッジ画像を所定の方向に投影して得られるヒストグラムの形状を分析することで顔部品の画像上の位置を検出する。また、画像のエッジ情報を用いる手法以外にも、Ｈａａｒ特徴量など、輝度をベースとした特徴量データに基づいて顔部品の顔画像上の位置を検出する技術もある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−７２６２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、画像からエッジを抽出する技術は、輝度値の変化をエッジとして捉える為、被写体に照射される光の変化に影響を受けやすく、画像コントラストの低下や画像ボケを原因として、顔部品の検出精度が低下する場合があるという問題がある。
【０００６】
例えば、被写体である顔に照射されている光が一様ではない場合には、顔部品により顔画像内に形成されるエッジだけではなく、顔画像に形成される光と影の境界をエッジとして抽出してしまう。このため、顔部品の検出精度が低下する場合がある。
【０００７】
また、被写体である顔に照射される光の強度や照射範囲の変化に伴って、顔画像のコントラストが変化する場合も考えられる。例えば、顔画像からエッジを抽出する場合には、輝度値の変化有無を判断するために任意の閾値が設定される。しかし、画像のコントラストの低下を予め想定し、顔部品により顔画像に形成されるエッジのみを精度よく抽出する閾値を設定することは事実上困難である。また、画像の部位ごとに異なる閾値を算出する手法も存在するが、閾値の算出のために、輝度値の変化モデルに基づくパラメータを設定しておく必要がある。このため、外光の変化に応じて閾値やパラメータを変化させないと、光の強度や照射範囲の変化に伴って顔部品の検出精度が低下する場合がある。
【０００８】
また、被写体である顔を撮影する撮影装置のフォーカス性能の個体差やレンズの取り付け具合などによっては、画像ボケを起こした顔画像が撮影される場合も考えられる。しかしながら、撮影装置のフォーカス性能の個体差などを原因とする画像ボケを予め想定し、顔部品により顔画像に形成されるエッジのみを精度よく抽出する閾値を設定することは、撮影装置ごとに閾値を補正する必要が生じるため、事実上困難である。このため、閾値を変化させないと、撮影装置のフォーカス性能の個体差やレンズの取り付け具合などによって顔部品の検出精度が低下する場合がある。
【０００９】
このように、エッジを抽出することにより顔画像から顔部品を検出する技術では、被写体に照射される光の変化、コントラストの低下あるいは画像ボケなどにより、その検出精度が低下してしまう。
【００１０】
また、上述したＨａａｒ特徴量などを用いる技術も顔画像の輝度値を扱う技術である。このため、顔部品の検出精度は、エッジを抽出する技術と同様に、顔に照射される光の変化に影響を受けやすく、被写体に照射される光の変化、コントラストの低下あるいは画像ボケなどにより、顔部品の検出精度が低下する場合がある。Ｈａａｒ特徴量は画像の明暗パターンがテンプレートに一致するか否かで、検出対象を含んだ画像であるか否かを判断する技術である。画像上に現れる明暗パターンは外光変化により影響を受け易い。従って、同一の被写体であっても明暗パターンの現れ方が変化してしまうので、テンプレートと一致しているか否かの評価が困難になり、検出精度が低下する場合がある。
【００１１】
開示の技術は、上記に鑑みてなされたものであって、外光の影響下であっても、画像から顔部品などの特徴点領域を検出する場合の検出精度の低下を防止することが可能な画像処理装置および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本願の開示する画像処理装置は、一つの態様において、取得部と検出部を有する。取得部は、画像内に含まれる、第一の画素と、該第一の画素と互いに１画素以上離れた位置にある複数の画素との輝度値を、該第一の画素を前記画像内で走査させながらそれぞれ取得する。検出部は、走査させながら取得した前記第一の画素と前記複数の画素とのそれぞれの輝度値に基づいて、前記画像内の特徴点を検出する。
【発明の効果】
【００１３】
本願の開示する技術の一つの態様によれば、外光の影響下であっても、画像から特徴点領域を検出する場合の検出精度の低下を防止できる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例１に係る画像処理装置の説明に用いる図である。
【図２】図２は、実施例１に係る画像処理装置の構成を示す機能ブロック図である。
【図３】図３は、実施例１に係る特徴量記憶部に記憶される情報の一例を示す図である。
【図４】図４は、実施例１に係る検出部の動作の説明に用いる図である。
【図５】図５は、実施例１に係る検出部の動作の説明に用いる補足図である。
【図６】図６は、実施例１に係る検出部の動作の説明に用いる補足図である。
【図７】図７は、実施例１に係る検出部の動作の説明に用いる補足図である。
【図８】図８は、実施例１に係る特徴量画像の一例を示す図である。
【図９】図９は、実施例１に係る画像処理装置による処理の全体的な流れを示す図である。
【図１０】図１０は、実施例１に係る画像処理装置による特徴点検出処理の流れを示す図である。
【図１１】図１１は、実施例１に係る画像処理装置の処理結果を説明するための図である。
【図１２】図１２は、実施例１に係るコントラストの低下した画像に対する画像処理装置による処理結果を説明するための図である。
【図１３】図１３は、実施例１に係る照射光の強度が変化した画像に対する画像処理装置による処理結果を説明するための図である。
【図１４】図１４は、画像処理プログラムを実行する電子機器の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下に、図面を参照しつつ、本願の開示する画像処理装置および画像処理プログラムの一実施形態について詳細に説明する。本願の開示する画像処理プログラムおよび画像処理装置の一実施形態として後述する実施例により、本願が開示する技術が限定されるものではない。なお、以下の実施例では、画像中に人の顔が写っている画像のことを顔画像と呼ぶ。そして、顔画像から、例えば、鼻の穴に相当する領域を示す特徴点を検出する場合の一実施形態について説明する。また、以下の実施例に開示する技術は、処理内容に矛盾を生じさせない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１６】
図１は、実施例１に係る画像処理装置の説明に用いる図である。図１に示す１Ａは顔画像を表す。図１に示す１Ｂは、顔画像１Ａが撮影されたときに顔に照射されていた光とは、強度や照射範囲などが異なる光が照射された場合に撮影された顔画像を表す。図１に示す１Ｃは、顔画像１Ａ内の、ある部分領域に相当する輝度値の変化を表したグラフである。この１Ｃに示す部分領域は、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている領域Ｒ１を含んでいる。図１に示す１Ｄは、顔画像１Ｂ内の、ある部分領域に相当する輝度値の変化を表したグラフである。この１Ｄに示す部分領域は、１Ｃに示す部分領域と同様に、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている領域Ｒ２を含んでいる。ここで、画像のｘｙ座標軸をそれぞれｘ軸、ｙ軸とし、ｚ軸に、ｘｙ座標で示される位置の画素の輝度値をとると、輝度値の変化の状態を、三次元上の曲面と見なすことができる。このような輝度曲面では、領域Ｒ１や領域Ｒ２は、領域の中ほどに凹んだ底を持つ穴のように表されることになる。
【００１７】
人の顔をほぼ正面から撮影した場合に、顔画像内に映し出された鼻の穴に相当する領域は、鼻の穴が周囲よりもくぼんでいるので、意図的に光を顔の下から当てない限り、影になる。従って、鼻の穴に相当する領域は、領域Ｒ１や領域Ｒ２のように、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなる、換言すれば、輝度値が領域の外側から内側へ向かうに従って小さくなることに発明者は気づいた。更に、発明者は、このような画像上の輝度値変化の特徴を利用すれば、画像からエッジを抽出することなく、顔部品の画像上の位置を特定できることに気づいた。実施例１に係る画像処理装置は、領域Ｒ１や領域Ｒ２のように、顔画像内の部分領域であって、各画素の輝度値が領域の内側から外側へ向い次第に大きくなっている領域は、顔に照射される光の変化に影響されずに、その輝度値変化の特徴を留めている点に着目する。つまり、図１に示す領域Ｒ１や領域Ｒ２が、その輝度値変化の特徴を留めるのは、顔に照射される光が変化する場合に限らず、顔画像全体のコントラストが低下した場合や、顔画像がボケた場合のいずれについても同様である。
【００１８】
そこで、実施例１に係る画像処理装置は、顔画像上で顔部品の位置を検出する際に、鼻の穴のように、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている領域内の画素位置を利用することで、顔部品の検出精度の低下を防止する。
【００１９】
［画像処理装置の構成（実施例１）］
図２は、実施例１に係る画像処理装置の構成を示す機能ブロック図である。図２に示すように、実施例１に係る画像処理装置３００は、例えば、車両１に実装される。そして、画像処理装置３００は、車両１に搭載された１または複数の撮影装置１００および出力装置２００に接続される。なお、図２においては、撮影装置１００が複数記載されているが、撮影装置１００は１台であっても構わない。
【００２０】
撮影装置１００は、例えば、単眼カメラやステレオカメラなどに該当する。撮影装置１００には、運転者の顔を正面やや下方から撮影した顔画像を撮影するために車室内のステアリングカラムや計器パネル内に備え付けられるものや、車両１の周囲を撮影するために車両の所定位置に設置されるものがある。出力装置２００は、例えば、車室内に備え付けられたモニタやディスプレイに該当し、例えば、撮影装置１００により撮影された画像を表示する。
【００２１】
また、図２に示すように、画像処理装置３００は、記憶部３１０および制御部３２０を有する。
【００２２】
記憶部３１０は、図２に示すように、画像記憶部３１１および特徴量記憶部３１２を有する。なお、記憶部３１０は、例えば、ＲＡＭ（Random  Access  Memory）やフラッシュメモリ(flash  memory)などの半導体メモリ素子である。
【００２３】
画像記憶部３１１は、例えば、運転者の顔を正面やや下方から撮影した顔画像を記憶する。運転者の顔画像は、上述した撮影装置１００により取得される。特徴量記憶部３１２は、後述する検出部３２２により実行された特徴点検出処理の結果として、例えば、顔画像上の座標と所定の特徴量とを対応付けて記憶する。図３は、実施例１に係る特徴量記憶部に記憶される情報の一例を示す図である。図３に示すように、特徴量記憶部３１２は、座標（Ｘ１，Ｙ１）と特徴量（Ｖ１）、座標（Ｘ２，Ｙ２）と特徴量（Ｖ２）、座標（Ｘ３，Ｙ３）と特徴量（Ｖ３）などをそれぞれ対応付けて記憶する。なお、特徴量記憶部３１２に記憶される座標や特徴量については、後述する検出部３２２の説明の中で明らかにする。
【００２４】
図２に戻り、制御部３２０は、取得部３２１と、検出部３２２と、判定部３２３と、報知部３２４とを有する。なお、制御部３２０は、例えば、電子回路や集積回路に該当する。電子回路としては、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）がある。また、集積回路としては、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array)などがある。
【００２５】
取得部３２１は、画像記憶部３１１から顔画像のデータを取得し、顔画像に含まれる各画素の輝度値を取得する。
【００２６】
検出部３２２は、取得部３２１により取得された顔画像に含まれる各画素の輝度値に基づいて、顔画像から、例えば、鼻の穴のような特徴点を検出する特徴点検出処理を実行する。図２に示すように、検出部３２２は、抽出部３２２Ａ、計算部３２２Ｂ、格納部３２２Ｃおよび決定部３２２Ｄを有する。
【００２７】
抽出部３２２Ａは、取得部３２１により取得された顔画像に含まれる各画素の輝度値を元に、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている可能性がある領域を特定する処理対象となる画素を抽出する。以下、図４を参照しつつ、抽出部３２２Ａについて説明する。図４は、実施例１に係る検出部の動作の説明に用いる図である。
【００２８】
図４に示すＰ１は注目画素を表す。図４に示す４Ａは顔画像のある一部の領域を表す。図４に示す領域４Ｂは、Ｐ１を注目画素とした場合に、計算部３２２Ｂが行う処理のイメージを分かり易くするためにハッチングされている。図４に示すＰ２およびＰ３は、注目画素Ｐ１を中心として左右方向、つまりＸ軸方向に左右に５ピクセルずつ離れた位置にある２つの近傍画素をそれぞれ表す。図４に示すＰ４およびＰ５は、注目画素Ｐ１を中心として上下方向、つまりＹ軸方向に上下に５ピクセルずつ離れた位置にある２つの近傍画素をそれぞれ表す。図４に示すＣ１はＸ軸方向に配列された３つの画素の輝度値から算出した近似２次関数を表す。図４に示すＣ２はＹ軸方向に配列された３つの画素の輝度値から算出した近似２次関数を表す。図４に示すＢ１は２次関数Ｃ１の底、すなわち最小値をとる位置に相当するＹ座標を示す線分を表す。図４に示すＢ２は２次関数Ｃ２の底、すなわち最小値をとる位置に相当するＸ座標を示す線分を表す。図４に示す４Ｃは、線分Ｂ１と線分Ｂ２とが交差する画素の位置を表す。ここで、図４に示す４Ｃは、近似式に基づいて、領域４Ｂに含まれる画素の中で輝度値が最も小さいと推定される画素に該当する。なお、以下では、注目画素Ｐ１に対する画素４Ｃのことを輝度最小点と記すものとする。
【００２９】
図４に示すように、抽出部３２２Ａは、顔画像４Ａに含まれる画素の一つを注目画素Ｐ１として選択し、注目画素Ｐ１からＸ軸方向に両側５ピクセルの位置にある近傍画素Ｐ２およびＰ３を取得する。続いて、抽出部３２２Ａは、注目画素Ｐ１からＹ軸方向に両側５ピクセルの位置にある近傍画素Ｐ４およびＰ５を取得する。続いて、抽出部３２２Ａは、注目画素Ｐ１の輝度値と近傍画素Ｐ２およびＰ３の各輝度値とを比較するとともに、注目画素Ｐ１の輝度値と近傍画素Ｐ４およびＰ５の各輝度値とを比較する。比較の結果、注目画素Ｐ１の輝度値が近傍画素Ｐ２〜Ｐ５の輝度値よりも大きくなければ、注目画素Ｐ１および４個の近傍画素を計算部３２２Ｂの処理対象とする。注目画素Ｐ１が４個の近傍画素のいずれかよりも輝度値が大きければ、この注目画素Ｐ１は鼻の穴のように周囲よりも輝度値が暗い領域ではない位置であると見なすことができる。このように、注目画素Ｐ１が鼻の穴に相当する領域外であることが自明である場合は、そのＰ１を計算部３２２Ｂの処理対象にしないことで、計算量を少なくすることができる。なお、近傍画素は注目画素の上下左右の４個に限る必要は無く、注目画素を囲む位置にある複数の画素を利用することができる。
【００３０】
なお、上述した注目画素から近傍画素までの距離（サイズ）は一例である。注目画素から何ピクセル離れた位置の画素を近傍画素とするか、言い換えれば、左右もしくは上下の近傍画素間の距離（サイズ）をどの程度とするか、は、５ピクセルに限るものではなく、以下のようなサイズを設定できる。例えば、撮影装置１００で運転席に着いた運転者の顔を撮影した時に顔画像内に映し出される鼻の穴の領域の幅の一般値を予め決定しておく。そして、上述のサイズを、顔画像内で鼻の穴が有する領域の幅よりも狭く、かつ該幅の半分よりも大きな大きさに設定する。例えば、顔画像内に映し出された鼻の穴の領域の縦幅もしくは横幅の７割程度に相当するサイズが適当である。もちろん、本実施例に開示する技術では、鼻の穴以外であっても、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなるような領域であれば検出できる。従って、検出したい領域の画像上での大きさに応じて、検出したい領域の一般値の縦幅もしくは横幅の７割程度に相当するサイズを用いればよい。
【００３１】
計算部３２２Ｂは、抽出部３２２Ａにより取得された注目画素Ｐ１および４個の近傍画素について、画素の輝度値の変動を近似する２次関数を算出する。以下、図４を参照しつつ、計算部３２２Ｂの動作を説明する。
【００３２】
例えば、計算部３２２Ｂは、注目画素Ｐ１の輝度値と、注目画素Ｐ１を含むＸ軸方向上に配列された２つの近傍画素Ｐ２およびＰ３の輝度値をそれぞれ取得する。そして、計算部３２２Ｂは、注目画素Ｐ１の輝度値と、近傍画素Ｐ２の輝度値およびＰ３の輝度値とを用いて、２次関数Ｃ１を求める。二次関数Ｃ１は、画素Ｐ１と同じＹ座標をもつ、画素Ｐ２からＰ３までの間にある各画素の輝度値の変化の状態を近似していると見なすことができる。同様に、計算部３２２Ｂは、注目画素Ｐ１を含むＹ軸方向上に配列された２つの近傍画素Ｐ４およびＰ５の輝度値をそれぞれ取得する。そして、計算部３２２Ｂは、この注目画素Ｐ１の輝度値と、近傍画素Ｐ４の輝度値およびＰ５の輝度値とを用いて、２次関数Ｃ２を求める。二次関数Ｃ２は、画素Ｐ１と同じＸ座標をもつ、画素Ｐ４からＰ５までの間にある各画素の輝度値の変化の状態を近似していると見なすことができる。
【００３３】
なお、計算部３２２Ｂは、２次関数を用いて、輝度の変化の状態を近似する場合に限られるものではなく、輝度の変化の状態が評価できる関数であればどのような関数を用いてもよい。例えば、三角関数などを用いることもできる。
【００３４】
格納部３２２Ｃは、計算部３２２Ｂにより求められた二つの２次関数それぞれの底により特定される位置の座標に対応付けて所定の特徴量を格納する。以下、図４を参照しつつ、格納部３２２Ｃについて説明する。
【００３５】
例えば、格納部３２２Ｃは、計算部３２２Ｂにより求められた２次関数Ｃ１および２次関数Ｃ２との底、すなわち最小値をとる位置のＸ座標とＹ座標とを求める。続いて、格納部３２２Ｃは、図４の４Ｃに示すように、２次関数Ｃ１が最小値をとる位置をＹ軸方向に延長した線分Ｂ１と２次関数Ｃ２が最小値をとる位置をＸ軸方向に延長した線分Ｂ２とが交差する位置４Ｃを検出する。つまり、格納部３２２Ｃは、２次関数Ｃ１が最小値をとる位置のＸ座標と、２次関数Ｃ２が最小値をとる位置のＹ座標を取得する。
【００３６】
続いて、格納部３２２Ｃは、図４の４Ｃに示す位置の座標を注目画素Ｐ１に着目した処理における輝度最小点に決定する。続いて、格納部３２２Ｃは、２次関数Ｃ１の２次の項の係数値と２次関数Ｃ２の２次の項の係数値とを比較して小さい方の係数値を特徴量として取得する。続いて、格納部３２２Ｃは、決定した輝度最小点の座標に対応付けて、特徴量として取得した係数値を特徴量記憶部３１２に格納する。
【００３７】
なお、抽出部３２２Ａおよび計算部３２２Ｂによる、ある注目画素Ｐ１に対する処理が終わると、注目画素Ｐ１の位置を顔画像内で一つずらして、新たな注目画素Ｐ１に対して上述の抽出部３２２Ａおよび計算部３２２Ｂによる処理を行う。即ち、注目画素Ｐ１をずらしながら、顔画像を走査する。ここで、処理簡略化のために、顔画像を間引いて処理することも考えられる。間引いて処理を行う場合には、注目画素Ｐ１を１つずつずらして走査するのではなく、所定個数おきにすらして走査しても良い。また、処理簡略化のために、顔画像から、顔が映っていそうな範囲を特定できるのであれば、そのような範囲のみを対象にして注目画素Ｐ１を走査させることも考えられる。例えば、撮影装置１００の位置が、顔や鼻の穴などの検出対象に対して固定的であるならば、画像上における検出対象の写る領域を凡そ特定できる。また例えば、肌色の領域を特定し、肌色の領域内で注目画素Ｐ１を走査させることも考えられる。
【００３８】
ここで例えば、一つ前に処理した注目画素Ｐ１に対して計算部３２２Ｂが算出した結果と、次に処理する注目画素Ｐ１に対して計算部３２２Ｂが算出した結果との間で輝度最小点の座標が同一座標になる場合がある。即ち、異なる注目画素に対してそれぞれ求めた輝度最小点の位置が重複する場合がある。特に、各画素の輝度値が顔画像内のある部分領域において内側から外側へ向かうに従って大きくなっている領域内に注目画素Ｐ１がある場合には、輝度最小点が重複することがある。このように、輝度最小点の座標が同一座標になる場合には、格納部３２２Ｃは、同一の座標に対応付けて、ある注目画素について格納済みの特徴量に対して他の注目画素に対して算出した特徴量を加算し、特徴量記憶部３１２に記憶されている特徴量を更新する。
【００３９】
なお、格納部３２２Ｃが、２次関数の２次の項の係数値のうち小さい方の係数値を特徴量とするのは、最終的に特定したい領域とは異なる領域に関する特徴量を低く抑える趣旨である。例えば、顔画像中の鼻の穴に相当する図１に示す領域Ｒ１や領域Ｒ２のような領域では、Ｘ軸方向およびＹ軸方向の輝度の変化状態を近似した二次関数のカーブが双方同程度となり、各２次関数の２次の項の係数値に大きな差はないことが予想される。ここで、領域Ｒ１や領域Ｒ２のような領域とは異なり、Ｘ軸方向またはＹ軸方向のいずれか一方の二次関数のカーブが他方に比べて鋭い領域では、近似する２次関数の２次の項の一方の係数値が大きくなる。このように、Ｘ軸方向またはＹ軸方向のいずれか一方の二次関数のカーブが鋭い領域は、最終的に検出したい領域、例えば、図１に示す領域Ｒ１や領域Ｒ２に該当しないので、このような領域で特徴量が大きくならない方が処理上で都合が良い。そこで、２次関数の小さい方の係数値を特徴量として格納することにより、最終的に検出したい領域に該当しない領域に対する処理の結果、格納される特徴量をできるだけ抑える。
【００４０】
ここで、図５〜図７を用いて、上述してきた検出部３２２により実行される特徴点検出処理について補足説明する。図５〜図７は、実施例１に係る検出部の動作の説明に用いる補足図である。
【００４１】
図５に示す５Ａは、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている閉鎖領域（α）を有する顔画像の領域の一部を表す３次元モデルである。Ｘ軸およびＹ軸は、顔画像のＸ軸方向およびＹ軸方向の位置を示し、Ｚ軸方向はＸＹ座標で特定される位置の画素の輝度値を示す。例えば、顔画像の内、鼻の穴に相当する領域は、閉鎖領域（α）のような状態になる。なお、閉鎖領域（α）に含まれるＸ軸方向のある画素列の輝度変動を近似すると、例えば、上述した図４に示す２次関数Ｃ１のようになる。同様に、閉鎖領域（α）に含まれるＹ軸方向のある画素列の輝度変動を近似すると、例えば、上述した図４に示す２次関数Ｃ２のようになる。図５に示す５Ｂは、上述した抽出部３２２Ａ、計算部３２２Ｂ、格納部３２２Ｃにより、５Ａに示される範囲の顔画像内の各画素を注目画素Ｐ１として走査した場合に、特徴量記憶部３１２に格納される特徴量を立体的に表した３次元モデルである。Ｘ軸およびＹ軸は、図５ＡのＸ軸およびＹ軸に対応し、Ｚ軸方向はＸＹ座標で特定される位置の画素の特徴量を示す。５Ｂに示すように、５Ａに示す閉鎖領域（α）のように、Ｘ軸方向Ｙ軸方向とも同程度の二次関数のカーブであれば、複数の注目画素間で輝度最小点がある画素の位置におおよそ集中し、閉鎖領域（α）に関する特徴量が大きく現れる。
【００４２】
続いて、図６に示す６Ａは、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている溝状の領域（β）を有する顔画像の領域の一部を表す３次元モデルである。Ｘ軸およびＹ軸は、顔画像のＸ軸方向およびＹ軸方向の位置を示し、Ｚ軸方向はＸＹ座標で特定される位置の画素の輝度値を示す。例えば、顔画像の内、顔の皺や、線状のくぼみに相当する領域は、閉鎖領域（β）のような状態になる。図６に示す６Ｂは、上述した抽出部３２２Ａ、計算部３２２Ｂ、格納部３２２Ｃにより、６Ａに示される範囲の顔画像内の各画素を注目画素Ｐ１として走査した場合に、特徴量記憶部３１２に格納される特徴量を立体的に表した３次元モデルである。Ｘ軸およびＹ軸は、図６ＡのＸ軸およびＹ軸に対応し、Ｚ軸方向はＸＹ座標で特定される位置の画素の特徴量を示す。６Ｂに示すように、６Ａに示す溝状の領域（β）のように、Ｘ軸方向とＹ軸方向との二次関数のカーブが類似していなければ、即ち、二次関数の二次の項の係数値が大きく相違すれば、複数の注目画素間で輝度最小点が複数の画素の位置に分散し、溝状の領域（β）の特徴量が現れる。
【００４３】
続いて、図７に示す７Ａは、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている局所的な閉鎖領域（γ）と、輝度が階段状に変化した領域とを有する顔画像の領域の一部を表す３次元モデルである。例えば、顔画像の内、鼻の穴に相当する領域である閉鎖領域（γ）にかかる位置に影が生じていると、図７Ａのような状態になる。Ｘ軸およびＹ軸は、顔画像のＸ軸方向およびＹ軸方向の位置を示し、Ｚ軸方向はＸＹ座標で特定される位置の画素の輝度値を示す。図７に示す７Ｂは、上述した抽出部３２２Ａ、計算部３２２Ｂ、格納部３２２Ｃにより、７Ａに示される範囲の顔画像内の各画素を注注目画素Ｐ１として走査した場合に、特徴量記憶部３１２に格納される特徴量を立体的に表した３次元モデルである。Ｘ軸およびＹ軸は、図７ＡのＸ軸およびＹ軸に対応し、Ｚ軸方向はＸＹ座標で特定される位置の画素の特徴量を示す。７Ｂに示すように、輝度が階段状に変化した領域がある場合、つまり顔に光が一様に照射されておらず、影が生じている場合であっても、７Ａに示す局所的な閉鎖領域（γ）のある画素の位置に、集中して特徴量が大きく現れる。
【００４４】
図５および図７に示すように、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている局所的な閉鎖領域では、該閉鎖領域内に注目画素が存在する間は輝度最小点の位置が集中したり重複したりすることが多い。従って、輝度最小点が特定の画素またはその周囲に集中し、その結果、特徴量が大きく現れる。この理由を説明する。まず、図４の４Ｂに示すサイズを、顔画像内で鼻の穴が有する面積よりも狭く、かつ顔画像内の鼻の穴の中心位置を常に含むような大きさに設定する。すると、鼻の穴の領域内に注目画素と近傍画素とが存在する場合に、輝度最小点が重複する可能性を高くできる。よって、鼻の穴の領域内の特定画素の座標に特徴量が加算される結果、例えば、図５および図７に示すように、特定の画素付近に集中して特徴量が大きく現れる。
【００４５】
一方、図６に示すように、溝状の領域では、該領域内に注目画素や近傍画素が存在する場合でも、注目画素の位置が変わると、近似二次関数の底が重複せず、複数の画素の位置に分散して特徴量が現れていることが分かる。溝状の領域は、周囲と比べて輝度値が低い画素が、ある領域内に固まることがなく線上に続く為、注目画素の位置が変わるにつれて輝度最小点の位置も変化し、重複しにくい。このため、特徴量が分散して格納される結果、例えば、図６に示すように、複数の画素の位置に分散して特徴量が現れる。本発明では、鼻の穴領域の中央付近の輝度値は周辺画素より輝度値が低いことを利用して、特徴量の大きな画素を鼻の穴を検出する際の候補として検出する。従って、特徴量が大きく現れる画素の位置を特定することは、顔画像上で鼻の穴に相当する位置を特定することと同義と考えることができる。
【００４６】
このように、上述した検出部３２２により実行される特徴点検出処理により、顔画像内で検出対象とする顔部品、例えば、鼻の穴である可能性が高い領域内の特定の画素に対応付けられる特徴量が大きくなる。このため、後述する決定部３２２Ｄは、この特徴量に基づいて、顔画像から鼻の穴の位置を決定することができる。
【００４７】
決定部３２２Ｄは、特徴量記憶部３１２に記憶されている特徴量に基づいて、顔画像の鼻の位置を決定する。特徴量記憶部３１２から取得した特徴量を所定の閾値と比較して、特徴量が閾値よりも大きい画素の座標を特徴点の候補に決定する。そして、決定部３２２Ｄは、特徴点の候補に対応する画素を「白」で描画し、特徴点の候補以外の画素を「黒」で描画した特徴量画像を生成する。図８は、実施例１に係る特徴量画像の一例を示す図である。図８に示す８Ａは顔画像を表し、図８に示す８Ｂは特徴量画像を表す。決定部３２２Ｄは、図８の８Ａに示すような顔画像について、図８の８Ｂに示すような特徴量画像を生成する。
【００４８】
続いて、決定部３２２Ｄは、特徴量画像内に含まれる複数の特徴点の候補の中から、特徴量が最も大きい特徴点の候補を取得する。ここで、特徴点の候補として、単一の画素を扱っても良いし、特徴量を有する画素同士の位置が接している場合にグルーピングし、グルーピングした後の画素群を特徴点の候補として扱っても良い。顔画像の中で、周囲よりも輝度が小さく、線状でもない領域は鼻の穴の他には存在しないことが多いので、特徴量が最も大きい特徴点の候補は、鼻の穴のいずれか一方の位置に該当するとみなすことができる。続いて、決定部３２２Ｄは、特徴量が最も大きい特徴点の候補を鼻の穴の一方とした場合に、他方の鼻の穴になり得る特徴点の候補を特徴量画像内に含まれる複数の特徴点の候補の中から取得し、特徴点の候補の組合せを決定する。例えば、決定部３２２Ｄは、予め記憶しておいた画像上の鼻の穴の平均的な広さや穴同士の間隔、鼻の穴の輝度パターンなどを用いることにより特徴点の候補の組合せを決定する。そして、決定部３２２Ｄは、決定した特徴点の候補の組合せに含まれる各特徴点の候補を特徴点とし、該特徴点の位置を鼻の穴の位置に決定する。
【００４９】
あるいは、決定部３２２Ｄは、次のようにして鼻の位置を決定してもよい。例えば、決定部３２２Ｄは、特徴量記憶部３１２に記憶されている特徴量の中から、最も大きい特徴量に対応付けられた座標を取得する。続いて、決定部３２２Ｄは、取得した座標を一方の鼻の穴の位置とした場合に、他方の鼻の穴の位置になり得る座標に対応付けられた特徴量を特徴量記憶部３１２に記憶されている特徴量の中から１または複数取得し、取得した特徴量の中で最も大きい特徴量を特定する。このようにして、決定部３２２Ｄは、鼻の穴となる特徴点の組合せを決定し、各特徴点の座標を鼻の穴の位置に決定する。
【００５０】
判定部３２３は、決定部３２２Ｄにより決定された鼻の穴の位置に基づいて顔の向きを検出し、運転中の顔の向きとして適正であるか否かを判定する。例えば、判定部３２３は、決定部３２２Ｄが決定した鼻の穴の位置及び、予め記憶されていた鼻の穴の位置に対する平均的な目の位置を用いて、顔画像内のおおよその目の位置を取得する。そして、おおよその目の位置付近で、予め記憶されていた目の形状パターン検出や、エッジ検出により目の位置を特定する。ここで、鼻の穴の位置に基づいて特定された凡その目の位置付近の輝度平均に基づいて、目を検出するためのエッジ検出の際の閾値を設定しても構わない。
【００５１】
続いて、判定部３２３は、継時的に撮影装置１００により撮影される顔画像内の鼻の穴の位置および目の位置を捕捉し、鼻の穴の位置および目の位置の移動量を取得する。続いて、鼻の穴の位置および目の位置の移動量から顔の形状を復元し、鼻の穴の位置、目の位置および顔の形状から顔の向きを検出する。続いて、判定部３２３は、顔の向きの追跡を開始し、運転中の顔の向きとして適正であるか否かの判定処理を実行する。例えば、顔の向きが正面から所定角度以上逸れた場合に、適正ではないと判定することが考えられる。ここで、判定部３２３は、鼻の穴の位置のみ、もしくは鼻の穴の位置と目の位置のみを継時的に捕捉し、その位置が著しく変化した場合や画像上の所定の範囲から外れた場合に、余所見をした、すなわち顔の向きが適正ではないと判定することもできる。判定の結果、適正である場合には、判定部３２３は、報知停止指示を報知部３２４に送る。その結果、報知部３２４により報知がなされた状態が継続していた場合には、報知が停止される。報知部３２４により報知がなされていなかった状態であれば、そのまま報知を行わない状態を継続する。一方、判定の結果、不適正である場合には、判定部３２３は、顔の向きが不適正である旨の警告の報知指示を報知部３２４に送る。
【００５２】
報知部３２４は、上述した判定部３２３からの指示に従って、警告の報知および警告の報知停止を行う。報知部３２４は、判定部３２３から警告の報知指示があると、余所見を注意する警告を一定間隔で繰り返し報知する。また、報知部３２４は、判定部３２３から警告の報知停止指示があると、警告の報知を停止する。
【００５３】
［画像処理装置による処理（実施例１）］
続いて、図９および図１０を用いて、実施例１に係る画像処理装置による処理の流れを説明する。図９は、実施例１に係る画像処理装置による処理の全体的な流れを示す図である。図１０は、実施例１に係る画像処理装置による特徴点検出処理の流れを示す図である。
【００５４】
まず、図９を用いて、画像処理装置３００による処理の全体的な流れを説明する。なお、画像処理装置３００は、例えば、車両１が有する点火装置の作動に応じて図９の処理を開始する。制御部３２０による判定により、もしくは他の装置からの指示信号により、画像処理装置３００にて処理を開始するものと判定された場合には（ステップＳ１０１，ＹＥＳ）、検出部３２２は特徴点検出処理を実行する（ステップＳ１０２）。なお、車両１が有する点火装置の作動していない場合には、画像処理装置３００は、ステップＳ１０１の判定結果をＮｏとして、ステップＳ１０１の判定を繰り返す。もしくは、点火装置が作動していない場合には、画像処理装置３も起動していない場合もある。また、点火装置が作動しているだけでなく、車両１の走行速度が所定以上になったことを制御部３２０が検出した場合に、Ｓ１０１でＹＥＳと判定しても良い。
【００５５】
続いて、決定部３２２Ｄは、ステップＳ１０２の特徴点検出処理の検出結果に基づいて特徴量画像を生成し（ステップＳ１０３）、生成した特徴量画像を元に、顔画像の鼻の穴の位置を検出する（ステップＳ１０４）。決定部３２２Ｄは、上述したようにステップＳ１０３を行わずに、ステップＳ１０４において、鼻の穴の位置に相当する特徴点の位置を特定しても良い。判定部３２３は、鼻の穴の位置から運転者の顔の向きを検出し（ステップＳ１０５）、顔の向きの追跡を開始し（ステップＳ１０６）、運転者の顔の向きが不適正であるか否かの判定処理を開始する（ステップＳ１０７）。判定の結果、運転者の顔の向きが不適正である場合には（ステップＳ１０７，ＹＥＳ）、判定部３２３は、警告の報知指示を報知部３２４に送出する（ステップＳ１０８）。続いて、制御部３２０は次の処理フレームが入力されたかどうかを判定する（ステップＳ１０９）。判定の結果、次の処理フレームが入力された場合には（ステップＳ１０９，ＹＥＳ）、制御部３２０は、処理の終了判定を実行する（ステップＳ１１０）。判定の結果、処理を終了する場合には（ステップＳ１１０，ＹＥＳ）、処理を終了する。一方、処理を終了しない場合には（ステップＳ１１０，ＮＯ）、上述したステップＳ１０２に戻り特徴点抽出処理を実行する。
【００５６】
ここで、ステップＳ１０７の説明に戻る。判定の結果、運転者の顔の向きが不適正ではない場合には（ステップＳ１０７，ＮＯ）、判定部３２３は、警告報知指示を送出済みであるか否かを判定する（ステップＳ１１１）。判定の結果、送出済みである場合には（ステップＳ１１１，ＹＥＳ）、判定部３２３は、警告報知停止指示を報知部３２４に送出する（ステップＳ１１２）。続いて、制御部３２０は、上述したステップＳ１０９に戻り、次の画像フレームの入力を待機する。ここで、ステップＳ１０９の説明に戻る。制御部３２０は、判定の結果、次の処理フレームが入力されていない場合には（ステップＳ１０９，ＮＯ）、次の処理フレームの入力を待機する。なお、制御部３２０は、上述したステップＳ１１０にて、処理を終了すると判定するまで、入力される処理フレームについて上述したステップＳ１０１〜ステップＳ１１２までの処理を繰り返す。
【００５７】
続いて、図１０を用いて、画像処理装置３００による特徴点検出処理の流れを説明する。図１０に示すように、抽出部３２２Ａは、画像記憶部３１１から顔画像を取得し、取得した顔画像に含まれる画素を一つ、注目画素として選択する（ステップＳ２０１）。続いて、抽出部３２２Ａは、注目画素の輝度値が近傍画素の輝度値以下であるかを判定する（ステップＳ２０２）。判定の結果、注目画素の輝度値が近傍画素の輝度値以下である場合には（ステップＳ２０２，Ｙｅｓ）、抽出部３２２Ａは、注目画素と近傍画素との輝度値と座標位置を顔画像から抽出する（ステップＳ２０３）。
【００５８】
続いて、計算部３２２Ｂは、抽出部３２２Ａにより抽出された注目画素および近傍画素に基づいてＸ軸方向の近似２次関数を求める（ステップＳ２０４）。続いて、計算部３２２Ｂは、抽出部３２２Ａにより抽出された注目画素および近傍画素に基づいてＹ軸方向の近似２次関数を求める（ステップＳ２０５）。なお、ステップＳ２０４とＳ２０５とは、どちらを先に実行しても構わない。
【００５９】
続いて、格納部３２２Ｃは、各２次関数が最小値をとる位置により特定される座標を取得し（ステップＳ２０６）、２次関数の２次の係数値を比較して小さい方の係数値を特徴量として取得する（ステップＳ２０７）。続いて、格納部３２２Ｃは、ステップＳ２０６で取得した座標に対応付けて、ステップＳ２０７で特徴量として取得した係数値を格納する（ステップＳ２０８）。続いて、格納部３２２Ｃは、顔画像内に含まれる処理対象とすべき全画素を注目画素として選択完了したか否かを判定する（ステップＳ２０９）。判定の結果、全画素を選択完了していない場合には（ステップＳ２０９，Ｎｏ）、格納部３２２Ｃは、注目画素として取得する画素の位置を更新して、上述したステップＳ２０１に処理を戻す。一方、判定の結果、全画素を選択完了している場合には（ステップＳ２０９，Ｙｅｓ）、格納部３２２Ｃは、特徴点検出処理を終了する。なお、上述したステップＳ２０８において、格納部３２２Ｃは、同一の輝度最小点の座標に対応付けて特徴量が格納済みである場合には、格納済みの特徴量に対して今回の特徴量を加算して更新する。
【００６０】
ここで、ステップＳ２０２の説明に戻る。判定の結果、注目画素の輝度値が近傍画素の輝度値よりも大きい場合には、抽出部３２２Ａは、ステップＳ２０２の判定結果をＮｏとして、注目画素として取得する画素の位置を更新して、ステップＳ２０１に処理を戻す。
【００６１】
続いて、図１１〜図１３を参照して、実施例１に係る画像処理装置の処理結果を説明する。図１１は、実施例１に係る画像処理装置の処理結果を説明するための図である。図１２は、実施例１に係るコントラストの低下した画像に対する画像処理装置による処理結果を説明するための図である。図１３は、実施例１に係る照射光の強度が変化した画像に対する画像処理装置による処理結果を説明するための図である。なお、図１１〜図１３には、画像処理装置３００による処理結果として、顔画像と特徴量画像と特徴量との関係を示している。
【００６２】
図１１に示す１１Ａは顔画像を表す。図１１に示す１１Ｂは１１Ａに対応する特徴量画像を表す。図１１に示す１１Ｃは顔画像１１Ａと特徴量画像１１Ｂと特徴量の格納結果とを重畳させた図を表す。図１１に示す１１ＤはＹ軸上に投影した特徴量の格納結果を表し、特徴量が大きいほどＸ軸方向の値が大きく示されている。説明の便宜上、特徴量をＹ軸上に投影しているので、同一のＹ座標をもつ複数の画素に対する特徴量が加算された状態を示している。１１Ｃに示すように、顔画像１１Ａに対して特徴量画像１１Ｂを重畳すると、顔画像１１Ａに映し出された鼻の穴の位置と、特徴量画像１１Ｂ内に描画された特徴点の位置とが一致する。また、１１Ｃに示すように、顔画像１１Ａに対して特徴量の格納結果１１Ｄを重畳すると、鼻の穴の位置に対応する位置に特徴点のピークが現れている。１１Ｂにおいては、例えば、鼻の穴に加えて、鼻翼の影や目尻、眉の影なども現れている。しかし、１１Ｄに示されているように、鼻の穴以外の特徴は、特徴量が大きくないので、鼻の穴に相当する特徴とは区別されうる。
【００６３】
図１２に示す１２Ａは、例えば、図１１に示す１１Ａよりもコントラストの低下した顔画像を表す。例えば、薄暗い環境下で顔画像を撮影した場合が相当する。図１２に示す１２Ｂは１２Ａに対応する特徴量画像を表す。図１２に示す１２Ｃは顔画像と特徴量画像と特徴量の格納結果とを重畳させた図を表す。図１２に示す１２ＤはＹ軸上に投影した特徴量の格納結果を表し、特徴量が大きいほどＸ軸方向の値が大きく示されている。説明の便宜上、特徴量をＹ軸上に投影しているので、同一のＹ座標をもつ複数の画素に対する特徴量が加算された状態を示している。１２Ｃに示すように、顔画像１２Ａに対して特徴量画像１２Ｂを重畳すると、顔画像１２Ａに映し出された鼻の穴の位置と、特徴量画像１２Ｂ内に描画された特徴点の位置とが一致する。また、１２Ｃに示すように、顔画像１２Ａに対して特徴量の格納結果１２Ｄを重畳すると、鼻の穴の位置に対応する位置に特徴点のピークが現れている。顔画像の全体的なコントラストが低い場合でも、１２Ｄに示されているように、鼻の穴に相当する特徴には、比較して大きな特徴量が対応付けられているので、鼻の穴に相当する特徴と他の特徴とは区別されうる。
【００６４】
図１３に示す１３Ａは、例えば、図１１に示す１１Ａよりも照射光の強度が変化した顔画像を表す。例えば、顔の一部に影がかかっている状態で撮影した場合が相当する。図１３に示す１３Ｂは１３Ａに対応する特徴量画像を表す。図１３に示す１３Ｃは顔画像と特徴量画像と特徴量の格納結果とを重畳させた図を表す。図１３に示す１３ＤはＹ軸上に投影した特徴量の格納結果を表し、特徴量が大きいほどＸ軸方向の値が大きく示されている。説明の便宜上、特徴量をＹ軸上に投影しているので、同一のＹ座標をもつ複数の画素に対する特徴量が加算された状態を示している。１３Ｃに示すように、顔画像１３Ａに対して特徴量画像１３Ｂを重畳すると、顔画像１３Ａに映し出された鼻の穴の位置と、特徴量画像１３Ｂ内に描画された特徴点の位置とが一致する。また、１３Ｃに示すように、顔画像１３Ａに対して特徴量の格納結果１３Ｄを重畳すると、鼻の穴の位置に対応する位置に特徴点のピークが現れている。顔画像の一部に影などの影響により部分的に輝度が低い領域がある場合でも、１３Ｄに示されているように、鼻の穴に相当する特徴には、他の特徴と比較して大きな特徴量が対応付けられている、鼻の穴に相当する特徴と他の特徴とは区別されうる。
【００６５】
［実施例１による効果］
上述してきたように、実施例１に係る画像処理装置３００は、顔画像に含まれる各画素の輝度値に基づいて、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている可能性が高い領域内に位置する注目画素およびその近傍画素を取得する。続いて、画像処理装置３００は、近傍画素によって特定される範囲内で、輝度が最も小さい可能性がある画素の座標に対応付けて所定の特徴量を格納していく。そして、画像処理装置３００は、最も高い特徴量に対応付けられた座標を、例えば、顔画像内に映し出された鼻の穴の領域に含まれる画素として検出する。従って、実施例１によれば、画像に含まれるエッジではなく、輝度の変化の状態に基づいて位置の検出を行うので、画像から検出対象を検出する場合の外光や撮影装置の特性の影響による検出精度の低下を防止できる。言い換えれば、上述した図１１〜図１３にも示すように、顔に照射される光の変化、画像コントラストの低下や画像ボケなどに対して頑健な顔部品の検出を実現できる。
【００６６】
また、実施例１では、高速化のために、近傍画素よりも輝度値が大きくない画素に対してのみ、近似関数の算出を行う。このため、実施例１によれば、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている可能性のある領域から効率的に処理を行うことができる。
【００６７】
また、実施例１では、注目画素と近傍画素との間のサイズを、顔画像内で鼻の穴が有する幅よりも狭く、かつ該幅の半分よりも大きな大きさに設定する。これは、顔画像に映し出された鼻の穴の領域内に注目画素および近傍画素が含まれる場合には、顔画像内に映し出された鼻の穴の中心位置および中心位置の近傍に輝度最小点が決定されやすくなるように考慮したものである。このようにして、実施例１では、検出対象とすべき領域の内に注目画素および近傍画素が含まれる場合に、輝度最小点が重複する可能性を高める。このため、実施例１によれば、鼻の穴の領域内の特定画素に対応する座標の特徴量を大きくできる。
【００６８】
また、実施例１では、近傍画素で挟まれるＸ軸方向およびＹ軸方向で、近傍画素と注目画素との輝度変動を近似する２次関数をそれぞれ求め、各２次関数が最小値をとる位置に基づいて、輝度値が最も小さいと推定される画素を求める。ここで、近傍画素よりも輝度値の低い注目画素のみを近似関数の算出対象とすれば、近傍画素で挟まれるＸ座標およびＹ座標の範囲で輝度値が最も小さいと推定される画素を求められることになる。このため、実施例１によれば、近傍画素で挟まれるＸ座標およびＹ座標の範囲内の輝度最小点を簡易に求めることができる。また、画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている領域の範囲を特定せずに、即ち、エッジ抽出などの処理を行わずに、領域内の輝度最小点を求めることができる。
【００６９】
また、実施例１では、輝度最小点に対応する画素の座標に対応付けて、２次関数の２次の項の係数値のうち小さい方の係数値を特徴量として格納する。このため、実施例１によれば、例えば、上述した図６に示す顔画像内の溝状の領域については、格納される特徴量を低く抑えることができる。なお、係数値を特徴量として格納する場合に限らず、輝度最小点ごとに所定の度数を１度数ずつ格納してもよい。
【００７０】
また、実施例１では、エッジの抽出のように、決めうちの閾値による処理を行わないので、鼻の穴のように、検出対象となる顔部品の特徴点を画像のコントラストが低い場合でも顔画像内に埋もれさせてしまう恐れがなく、顔部品の検出精度を高くできる。
【００７１】
なお、実施例１では、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている領域内の画素位置を画像から検出することで、例えば、画像が人の顔を撮影したものであれば、鼻の穴を検出できる場合を説明した。これに限定されるものではなく、鼻の穴のような輝度曲面を有する顔部品、例えば、耳の穴などを検出することも可能である。当然ながら、顔部品でなくても、画像上で同様の輝度曲面を呈する領域であれば、検出することが可能である。
【００７２】
なお、実施例１では、例えば、図４に示す２次関数Ｃ１が最小値をとる位置と、２次関数Ｃ２が最小値をとる位置とに基づいて、輝度値が最小となる画素の位置を推定する場合を説明したが、これに限定されるものではない。例えば、図４に示す注目画素Ｐ１に対して、近傍画素Ｐ２からＰ３の範囲にある画素列の中で輝度値が最小である画素を取得し、この画素のＸ座標を取得する。同様に、注目画素Ｐ１に対して、近傍画素Ｐ４からＰ５の範囲にある画素列の中で輝度値が最小である画素を取得し、この画素のＹ座標を取得する。そして、このＸ座標およびＹ座標で特定される画素を、４つの近傍画素で特定される領域内で輝度値が最小となる可能性のある画素としてもよい。
【００７３】
また、実施例１では、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている領域、言い換えれば輝度曲面において緩やかに窪んだ領域内の画素位置を検出する方法を説明した。当然ながら、顔画像における鼻の穴の検出に限らず、各画素の輝度値が領域の内側から外側へ向かうに従って大きくなっている領域であれば、顔以外のものを被写体とした画像であっても適用することができる。また、上述した実施例１と同様の方法で、例えば、各画素の輝度値が領域の内側から外側へ向かうに従って徐々に小さくなっている領域、言い換えれば、輝度曲面において盛り上がった領域内の画素位置を検出することもできる。例えば、カメラ画像内に映し出されたＬＥＤ（Light  Emitting  Diode）の光の位置を検出する場合などに利用できる。各車載カメラで撮影された各カメラ画像内のＬＥＤの光の位置を検出できれば、この位置を利用して、例えば、車載カメラのキャリブレーションを実行できる。
【００７４】
また、実施例１において、輝度曲面において窪んだ領域内の画素位置を検出するとともに、輝度曲面において盛り上がった領域内の画素位置を合わせて検出するようにしてもよい。例えば、顔画像内に映し出された鼻の頭は、ある画素を中心に外側に向かうに従って輝度が徐々に小さくなっている領域である可能性が高い。よって、例えば、仮に、特徴量画像内の特徴点から鼻の穴の位置の候補となる組合せが複数検出された場合に、輝度が盛り上がった領域の一つを鼻の頭と仮定することで、鼻の穴の位置を特定できる場合がある。
【実施例２】
【００７５】
以下、本願の開示する画像処理装置および画像処理プログラムの他の実施形態を説明する。
【００７６】
（１）装置構成等
例えば、図２に示した画像処理装置３００の機能ブロックの構成は概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、図２に示した検出部３２２の抽出部３２２Ａ、計算部３２２Ｂおよび格納部３２２Ｃを機能的または物理的に統合してもよい。このように、画像処理装置３００の機能ブロックの全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７７】
（２）画像処理プログラム
また、上述の実施例１にて説明した画像処理装置３００により実行される各種の処理は、例えば、車両１に搭載されるＥＣＵ（Electronic  Control  Unit）に実装されたマイコンなどの電子機器で所定のプログラムを実行することによって実現することもできる。そこで、以下では、図１４を用いて、実施例１にて説明した画像処理装置３００により実行される処理と同様の機能を実現する画像処理プログラムを実行する電子機器の一例を説明する。図１４は、画像処理プログラムを実行する電子機器の一例を示す図である。
【００７８】
図１４に示すように、画像処理装置３００により実行される各種処理を実現する電子機器４００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）４１０を有する。また、図１４に示すように、電子機器４００は、カメラ画像を取得するためのカメラインターフェース４２０、ディスプレイとの間で各種データのやり取りを行うためのディスプレイインターフェース４３０を有する。また、図１４に示すように、電子機器４００は、ハードウェアアクセラレータとして機能するグラフィックエンジン４４０を有する。
【００７９】
また、図１４に示すように、電子機器４００は、ＣＰＵ４１０により各種処理を実現するためのプログラムやデータ等を記憶するハードディスク装置４５０と、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）などのメモリ４６０とを有する。そして、各装置４１０〜４６０は、バス４７０に接続される。
【００８０】
なお、ＣＰＵ４１０の代わりに、例えば、ＭＰＵ（Micro  Processing  Unit）などの電子回路、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ(Field  Programmable  Gate  Array)などの集積回路を用いることもできる。また、メモリ４６０の代わりに、フラッシュメモリ(flash  memory)などの半導体メモリ素子を用いることもできる。
【００８１】
ハードディスク装置４５０には、画像処理装置３００の機能と同様の機能を発揮する画像処理プログラム４５１および画像処理用データ４５２が記憶されている。なお、この画像処理プログラム４５１を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
【００８２】
そして、ＣＰＵ４１０が、画像処理プログラム４５１をハードディスク装置４５０から読み出してＲＡＭ４６０に展開することにより、図１４に示すように、画像処理プログラム４５１は画像処理プロセス４６１として機能する。画像処理プロセス４６１は、ハードディスク装置４５０から読み出した画像処理用データ４５２等の各種データを適宜メモリ４６０上の自身に割当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。
【００８３】
なお、画像処理プロセス４６１は、例えば、図２に示した画像処理装置３００の制御部３２０にて実行される処理、例えば、図１０に示す処理を含む。
【００８４】
なお、画像処理プログラム４５１については、必ずしも最初からハードディスク装置４５０に記憶させておく必要はない。例えば、電子機器４００が実装されたＥＣＵへ対応ドライブを接続可能なフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、電子機器４００がこれらから各プログラムを読み出して実行するようにしてもよい。
【００８５】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介して、電子機器４００が実装されたＥＣＵに接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておく。そして、電子機器４００がこれらから各プログラムを読み出して実行するようにしてもよい。
【００８６】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８７】
（付記１）画像内に含まれる、第一の画素と、該第一の画素と互いに１画素以上離れた位置にある複数の画素との輝度値を、該第一の画素を前記画像内で走査させながらそれぞれ取得する取得部と、
走査させながら取得した前記第一の画素と前記複数の画素とのそれぞれの輝度値に基づいて、前記画像内の特徴点を検出する検出部と
を有することを特徴とする画像処理装置。
【００８８】
（付記２）前記検出部は、
前記第一の画素であって、前記複数の画素よりも輝度値が大きくない画素を複数抽出する抽出部と、
前記抽出部により抽出された前記複数の第一の画素それぞれについて、前記第一の画素と前記複数の画素との輝度値に基づき特定される画素の位置に、前記第一の画素と前記複数の画素との輝度値に基づき算出される値を対応付けて記憶部に格納する格納部と、
前記格納部により格納された値に基づいて前記特徴点を決定する決定部と
を有することを特徴とする付記１に記載の画像処理装置。
【００８９】
（付記３）前記複数の画素のそれぞれは前記第一の画素から等しい画素数離れた位置の画素のうち、前記第一の画素を挟む位置に存在する第１の方向上に位置する２つの画素と、前記第一の画素を挟む位置に存在し、かつ、前記第１の方向と直交する第２の方向上に位置する２つの画素とであり、
前記検出部はさらに、前記第１の方向上に位置する２つの画素と前記第一の画素との輝度値から求められる第１の近似関数と、前記第２の方向上に位置する２つの画素と前記第一の画素との輝度値から求められる第２の近似関数とをそれぞれ計算する計算部を有し、
前記格納部は、前記第１の方向上に位置する２つの画素の位置間で前記第１の近似関数が極値をとる位置と、前記第２の方向上に位置する２つの画素の位置間で前記第２の近似関数が極値をとる位置とに基づいて特定される前記画素の位置に対応付けて、前記第１の近似関数の最大次数の項の係数値および前記第２の近似関数の最大次数の項の係数値のうち小さい方の係数値を前記記憶部に格納し、
前記決定部は、前記記憶部に格納された係数値のうち最も大きい値に対応付けられた前記画素の位置に基づいて、前記特徴点を決定することを特徴とする付記２に記載の画像処理装置。
【００９０】
（付記４）前記画像は顔を含んだ画像であり、
前記特徴点に基づいて前記顔の向きを検出し、検出した該顔の向きが適正範囲にあるか否かを判定する判定部と、
前記判定の結果に応じた警告を報知する報知部と
をさらに有することを特徴とする付記１乃至３いずれか１項に記載の画像処理装置。
【００９１】
（付記５）コンピュータに、
画像内に含まれる、第一の画素と、該第一の画素と互いに１画素以上離れた位置にある複数の画素との輝度値を、該第一の画素を前記画像内で走査させながらそれぞれ取得し、
前記走査させながら取得した前記第一の画素と前記複数の画素とのそれぞれの輝度値に基づいて、前記画像内の特徴点を検出する
処理を実行させることを特徴とする画像処理プログラム。
【００９２】
（付記６）前記コンピュータに、
前記第一の画素であって、前記複数の画素よりも輝度値が大きくない画素を複数抽出し、
前記抽出された前記複数の第一の画素それぞれについて、前記第一の画素と前記複数の画素との輝度値に基づき特定される画素の位置に、前記第一の画素と前記複数の画素との輝度値に基づき算出される値を対応付けて記憶部に格納し、
前記格納部により格納された値に基づいて前記特徴点を決定する
処理をさらに実行させることを特徴とする付記５に記載の画像処理プログラム。
【００９３】
（付記７）前記複数の画素のそれぞれは前記第一の画素から等しい画素数離れた位置の画素のうち、前記第一の画素を挟む位置に存在する第１の方向上に位置する２つの画素と、前記第一の画素を挟む位置に存在し、かつ、前記第１の方向と直交する第２の方向上に位置する２つの画素とであり、
前記コンピュータに、
前記第１の方向上に位置する２つの画素と前記第一の画素との輝度値から求められる第１の近似関数と、前記第２の方向上に位置する２つの画素と前記第一の画素との輝度値から求められる第２の近似関数とをそれぞれ計算する処理をさらに実行させ、
前記第１の方向上に位置する２つの画素の位置間で前記第１の近似関数が極値をとる位置と、前記第２の方向上に位置する２つの画素の位置間で前記第２の近似関数が極値をとる位置とに基づいて特定される前記画素の位置に対応付けて、前記第１の近似関数の最大次数の項の係数値および前記第２の近似関数の最大次数の項の係数値のうち小さい方の係数値を前記記憶部に格納し、
前記記憶部に格納された係数値のうち最も大きい値に対応付けられた前記画素の位置に基づいて、前記特徴点を決定する
処理を実行させることを特徴とする付記６に記載の画像処理プログラム。
【符号の説明】
【００９４】
１  車両
１００  撮影装置
２００  出力装置
３００  画像処理装置
３１０  記憶部
３１１  画像記憶部
３１２  特徴量記憶部
３２０  制御部
３２１  取得部
３２２  検出部
３２２Ａ  抽出部
３２２Ｂ  計算部
３２２Ｃ  格納部
３２２Ｄ  決定部
３２３  判定部
３２４  報知部
４００  電子機器
４１０  ＣＰＵ
４２０  カメラインターフェース
４３０  ディスプレイインターフェース
４４０  グラフィックエンジン
４５０  ハードディスク装置
４５１  画像処理プログラム
４５２  画像処理用データ
４６０  ＲＡＭ
４６１  画像処理プロセス
【図１】
0005699497.tif 000002
【図２】
0005699497.tif 000003
【図３】
0005699497.tif 000004
【図４】
0005699497.tif 000005
【図５】
0005699497.tif 000006
【図６】
0005699497.tif 000007
【図７】
0005699497.tif 000008
【図８】
0005699497.tif 000009
【図９】
0005699497.tif 000010
【図１０】
0005699497.tif 000011
【図１１】
0005699497.tif 000012
【図１２】
0005699497.tif 000013
【図１３】
0005699497.tif 000014
【図１４】
0005699497.tif 000015