しかしながら運転者の顔に対して一様に太陽光、反射光等の外光が照射される場合、オートゲイン機能により対応することが可能であるが、照射される外光が一様でない場合、画像全体の輝度を調整するオートゲイン機能では、局所的な照度の変化に対応することができない。例えば顔の左半分だけに太陽光が当たる偏変化が生じている場合、太陽光が当たっていない暗い部分を顔として認識することができず、明るい部分だけを顔の輪郭として検出する誤検出が生じるという問題がある。このように走行している車両内の運転者の顔面に当たる光線は、絶えず変化するため、顔又は顔に含まれる各部位の検出は、多様な方法にて行い総合的に判断しなければ十分な精度が得られないという問題がある。
本願は斯かる事情に鑑みてなされたものであり、撮像等の処理により得られた画像から人物の鼻等の検出対象を検出する場合に、画像の撮像時の垂直方向における位置を候補として複数検出し、検出した各位置に対応する水平方向に並ぶ画素の列の夫々に対し、画素の輝度に基づいて検出対象の候補となる範囲を検出し、検出した範囲の長さに基づいて、検出対象の候補の中から検出対象を特定することにより、検出方法を多様化し、検出精度を向上させることが可能な画像処理方法、該画像処理方法を適用した画像処理装置、及び該画像処理装置を実現するコンピュータプログラムを開示する。
さらに本願は、一の画素の輝度を、相隣る他の各画素の輝度に基づく加算、並びに前記一の画素から撮像時の水平方向及び垂直方向に所定距離離れた位置の画素の輝度に基づく減算の結果から検出対象を検出することにより、検出方法を多様化し、検出精度を向上させることが可能な画像処理方法、画像処理装置及びコンピュータプログラムを開示する。
また本願は、撮像時の水平方向に並ぶ画素の輝度の変化を垂直方向に積算した結果に基づく水平方向の範囲、及び垂直方向に並ぶ画素の輝度の変化を水平方向に積算した結果に基づく垂直方向の範囲として検出対象を検出することにより、検出方法を多様化し、検出精度を向上させることが可能な画像処理方法、画像処理装置及びコンピュータプログラムを開示する。
そして本願は、輝度の平均値及び分散値に基づいて検出方法の優先順位を決定することにより、状況に応じた効果的な検出方法を選択するので、検出精度を向上させることが可能な画像処理方法、画像処理装置及びコンピュータプログラムを開示する。
本願の画像処理方法は、夫々異なる第1方向及び第2方向に画素が並ぶ二次元の画像から特定の検出対象を検出する画像処理方法において、前記第1方向に並ぶ画素の輝度を積算して前記第2方向の積算値の変化を導出し、前記導出した積算値の変化を二次微分し、前記導出した積算値の変化に基づき、検出対象の候補に対応する位置として、前記第1方向に積算された画素の輝度の積算値から極小値を示す第2方向上での位置を、前記二次微分の結果が低い値を示す順に複数検出し、前記検出した各位置に対応する第1方向に並ぶ画素の列の夫々に対し、該第1方向に並ぶ画素の輝度の変化に基づく第1方向の範囲を、検出対象の候補として検出し、前記検出した範囲の長さに基づいて、検出対象の候補の中から検出対象を特定する。
本願の画像処理装置は、夫々異なる第1方向及び第2方向に画素が並ぶ二次元の画像から特定の検出対象を検出する画像処理装置において、前記第1方向に並ぶ画素の輝度を積算して前記第2方向の積算値の変化を導出する導出手段と、該導出手段が導出した積算値の変化を二次微分する手段と、前記導出手段が導出した積算値の変化に基づき、検出対象の候補に対応する位置として、前記第1方向に積算された画素の輝度の積算値から極小値を示す第2方向上での位置を、前記二次微分の結果が低い値を示す順に複数検出する候補検出手段と、該候補検出手段が検出した各位置に対応する第1方向に並ぶ画素の列の夫々に対し、該第1方向に並ぶ画素の輝度の変化に基づく第1方向の範囲を、検出対象の候補として検出する範囲検出手段と、該範囲検出手段が検出した範囲の長さに基づいて、検出対象の候補の中から検出対象を特定する特定手段とを備える。
本願の画像処理装置は、検出対象を含み、第1方向の範囲が検出対象より大きい検出領域の第1方向の範囲を検出する手段を更に備え、前記特定手段は、前記範囲検出手段が検出した検出対象の候補の第1方向の範囲の長さ、及び検出対象を含む検出領域の第1方向の範囲の長さを比較した結果に基づいて検出対象を特定するように構成してある。
本願の画像処理装置は、特定した検出対象に係る第2方向に並ぶ画素の輝度を積算して第1方向の積算値の変化を導出する手段と、第1方向の積算値の変化から極小値を検出する極小値検出手段と、検出した極小値の数を計数する手段と、計数した数が所定数未満である場合、特定した検出対象は偽であると判定する手段とを更に備える。
本願の画像処理装置は、前記極小値検出手段が検出した極小値に対応する画素を含み、該画素と輝度が同じで第2方向に連続する画素の数が、所定数を超える場合、特定した検出対象は偽であると判定する手段を更に備える。
本願の画像処理装置は、一の画素の輝度を、相隣る他の各画素の輝度に基づく加算、並びに前記一の画素から第1方向に所定距離離れた位置の画素の輝度及び第2方向に所定距離離れた位置の画素の輝度に基づく減算の結果に基づいて変換する変換手段と、該変換手段が変換した結果に基づいて検出対象を検出する検出対象検出手段とを備える。
本願の画像処理装置は、前記検出対象検出手段は、変換後の値が最小の画素を検出対象として検出するように構成してある。
本願の画像処理装置は、画素の輝度の平均値を算出する手段と、画素の輝度の分散値を算出する手段と、算出した平均値が第1所定値以下であり、かつ分散値が第2所定値以上である場合に、偏変化が生じていると判定する判定手段と、該判定手段の判定により、前記偏変化が生じていると判定した場合に、前記検出対象検出手段を前記候補検出手段より優先して実行し、前記偏変化が生じていないと判定した場合に、前記候補検出手段を前記検出対象検出手段より優先して実行する優先順位決定手段とを備える。
本願のコンピュータプログラムは、コンピュータに、夫々異なる第1方向及び第2方向に画素が並ぶ二次元の画像から特定の検出対象を検出させるコンピュータプログラムにおいて、コンピュータに、前記第1方向に並ぶ画素の輝度を積算して前記第2方向の積算値の変化を導出させる手順と、コンピュータに、前記導出した積算値の変化を二次微分させる手順と、コンピュータに、前記導出した積算値の変化に基づき、検出対象の候補に対応する位置として、前記第1方向に積算された画素の輝度の積算値から極小値を示す第2方向上での位置を、前記二次微分の結果が低い値を示す順に複数検出させる検出手順と、コンピュータに、前記検出した各位置に対応する第1方向に並ぶ画素の列の夫々に対し、該第1方向に並ぶ画素の輝度の変化に基づく第1方向の範囲を、検出対象の候補として検出させる手順と、コンピュータに、前記検出した範囲の長さに基づいて、検出対象の候補の中から検出対象を特定させる手順とを実行させる。
本願のコンピュータプログラムは、コンピュータに、一の画素の輝度を、相隣る他の各画素の輝度に基づく加算、並びに前記一の画素から第1方向に所定距離離れた位置の画素の輝度及び第2方向に所定距離離れた位置の画素の輝度に基づく減算の結果に基づいて変換させる変換手順と、コンピュータに、変換した結果に基づいて検出対象を検出させる第2検出手順とを実行させる。
本願のコンピュータプログラムは、コンピュータに、画素の輝度の平均値を算出させる手順と、コンピュータに、画素の輝度の分散値を算出させる手順と、コンピュータに、算出した平均値が第1所定値以下であり、かつ分散値が第2所定値以上である場合に、偏変化が生じていると判定させる判定手順と、コンピュータに、前記偏変化が生じていると判定された場合に、前記第2検出手順を前記検出手順より優先して実行させ、前記偏変化が生じていないと判定した場合に、前記検出手順を前記第2検出手順より優先して実行させる優先順位決定手順とを実行させる。
本願では、例えば撮像された画像内において、人物の顔の中の鼻孔を含む左右の小鼻までの領域を検出対象とした場合で、水平方向及び垂直方向を夫々第1方向及び第2方向とするときに、垂直方向の輝度の分布に着目して、眉、目及び口をも含む複数の候補を検出し、水平方向の幅に基づき候補の中から検出対象を特定することにより、検出対象を高精度に検出することが可能である。特に水平方向の輝度の分布に基づき検出対象を検出する他の方法と併用した場合、検出方法を多様化して検出対象の位置を総合的に判断することができるので、検出精度を更に高めることが可能である。
本願では、眉、目、口等の部位を含む複数の候補の中から水平方向に並ぶ画素の輝度に基づき範囲を検出することにより、鼻孔を含む領域と、他の部位との水平方向の範囲の差が明確になるように検出することが可能であり、検出精度を高めることが可能である。
本願では、検出対象である鼻孔を含む検出領域である顔の幅を検出し、顔の幅に対する比較、例えば顔の幅に対し、水平方向の範囲が22%〜43%である候補を、検出対象として特定することにより、眉、目、口等の他の部位と明確に区別することができるので、検出精度を高めることが可能である。
本願では、水平方向における極小値の数、即ち鼻孔である可能性が高い部位の数が、左右の鼻孔を想定して設定された2個等の所定数未満である場合、鼻孔である可能性は低いと判断して検出対象ではないと判定することにより、鼻孔以外の部位を鼻孔として判断する誤検出の可能性を低減することが可能である。
本願では、垂直方向の連続性が所定数にて示される閾値を超える場合、眼鏡フレームを検出している可能性が高いと判断して、検出対象ではないと判定することにより、誤検出の可能性を低減することが可能である。
本願では、例えば撮像された画像内において、人物の顔の中の鼻孔を検出対象とした場合で、水平方向及び垂直方向を夫々第1方向及び第2方向とするときに、相隣る画素の輝度が低く、更にその周囲の輝度が高い部位、即ち輝度が低い小さな領域を強調する変換処理を行うことにより、検出対象を高精度に検出することが可能である。特に検出対象を検出する他の方法と併用した場合、検出方法を多様化して検出対象の位置を総合的に判断することができるので、検出精度を更に高めることが可能である。
本願では、例えば撮像された画像内において、人物の顔の中の鼻孔の周囲の領域を検出対象とした場合で、水平方向及び垂直方向を夫々第1方向及び第2方向とするときに、垂直方向及び水平方向の夫々に対し、輝度の下降が大きい箇所が大きくなり、輝度の上昇が大きい箇所が小さくなる様な数値を導出し、導出した数値に基づいて周囲より輝度が低い四角形の領域である検出対象を検出することにより、検出対象を高精度に検出することが可能である。特に鼻孔そのものではなく、鼻孔の周囲の下向きの領域を検出するので、鼻孔が検出し難い角度に顔を傾けている場合でも検出対象を検出することが可能であり、特に他の方法と併用した場合、検出方法を多様化して検出対象の位置を総合的に判断することができるので、検出精度を更に高めることが可能である。しかも両目の位置、鼻の位置等の部位を他の方法で検出した場合、検出した部位との位置関係に基づいて領域の絞込を行った上で、当該発明に係る検出を行うことにより、更に高精度に検出対象を検出することが可能である。
本願では、例えば撮像された画像内において、人物の顔の中の鼻孔等の検出対象を検出する場合に、輝度の平均値及び分散値に基づいて、人物の顔に局所的な照度の変化が生じているか否かを判定し、判定した状況に応じて検出方法の優先順位を決定することにより、様々な検出方法の中から状況に応じた信頼性の高い検出方法及び検出順序を選択することができるので、検出精度を更に高めることが可能である。
本願では、人物の鼻孔を含む領域を高精度に検出することができるので、例えば車両に搭載された車載カメラ等の撮像装置により運転者の顔を撮像して得られた画像から、運転者の顔を検出対象として検出するシステムに適用され、運転者の状況を検知し、脇見運転の警告等の運転支援を行うシステムに展開することが可能である。
本願に記載の画像処理方法、画像処理装置及びコンピュータプログラムは、例えば車両に搭載された車載カメラ等の撮像装置により運転者の顔を撮像して得られた画像から、人物の顔の中の鼻孔を含む左右の小鼻までの領域を検出対象とする形態に適用される。そして本発明に係る画像処理装置等は、第1方向である水平方向に並ぶ画素の輝度を積算して第2方向である垂直方向の積算値の変化を導出し、導出した積算値の変化から極小値となる複数の位置を、検出対象を含む候補として検出し、更にその中から積算値の変化を二次微分して所定個数に絞り込み、絞り込んだ各位置に対応する第1方向に並ぶ画素の列の夫々に対し、画素の輝度に基づいて、検出対象の候補となる第1方向の範囲を検出し、検出した範囲の長さに基づいて、検出対象の候補の中から検出対象を特定する。
本発明は、この構成により、垂直方向の輝度の分布に着目して、輝度が低い眉、目及び口をも含む複数の候補を検出し、水平方向の幅に基づき候補の中から検出対象を特定することにより、検出対象を高精度に検出することが可能である等、優れた効果を奏する。特に本発明は、水平方向の輝度の分布に基づき検出対象を検出する他の方法と併用した場合、検出方法を多様化して検出対象の位置を総合的に判断することができるので、検出精度を更に高めることが可能である等、優れた効果を奏する。
そして本発明は、検出対象の検出の精度を向上させることにより、運転者の状況を正確に検知し、脇見運転の警告等の運転支援を行うシステムに適用した場合には、外光の状況が常に変化する環境下で運転を行った場合でも、誤検出の少ない信頼のおける運転支援システムを構築することが可能である等、優れた効果を奏する。
また本発明に係る画像処理装置等では、第1方向である水平方向に並ぶ画素列から検出対象の候補となる範囲を検出する場合に、第1方向に並ぶ画素の輝度の変化に基づいて範囲を検出することにより、具体的には水平方向の輝度が急激に変化する箇所を強調するフィルタ処理にて、第1方向に並ぶ輝度が低い画素列の両端を検出した結果に基づき範囲を検出することにより、鼻孔を含む領域と、眉、目、口等の他の部位との水平方向の範囲の差が明確になるように検出することが可能であり、このため検出精度を高めることが可能である等、優れた効果を奏する。
さらに本発明に係る画像処理装置等では、顔の幅を検出し、顔の幅に対する比較、例えば顔の幅に対し、水平方向の範囲が22%〜43%である候補を、検出対象として特定することにより、眉、目、口等の他の部位と明確に区別することができるので、検出精度を高めることが可能である等、優れた効果を奏する。
そして本発明に係る画像処理装置等では、検出対象を特定することができた場合であっても、特定した検出対象に含まれる水平方向に並ぶ画素の列において、検出対象に係る垂直方向の輝度の積算値が極小となる周囲より輝度が低い部位の数、即ち鼻孔である可能性が高い部位の数が、左右の鼻孔の数を示す所定数、即ち2個未満である場合、鼻孔である可能性は低いと判断して検出対象ではないと判定することにより、鼻孔以外の部位を鼻孔として判断する誤検出の可能性を低減することが可能である等、優れた効果を奏する。
しかも本発明に係る画像処理装置等では、垂直方向に並ぶ画素の数が所定数を超える場合、眼鏡フレームを検出している可能性が高いと判断して、検出対象ではないと判定することにより、誤検出の可能性を低減することが可能である等、優れた効果を奏する。
本願に記載の画像処理方法、画像処理装置及びコンピュータプログラムは、例えば車両に搭載された車載カメラ等の撮像装置により運転者の顔を撮像して得られた画像から、人物の顔の中の鼻孔を検出対象とする形態に適用される。そして本発明に係る画像処理装置等は、一の画素の輝度を、相隣る他の各画素の輝度に基づく加算、並びに前記一の画素の位置から第1方向である水平方向に所定距離離れた位置の画素及び第2方向である垂直方向に所定距離離れた位置の画素の輝度に基づく減算の結果に基づいて変換し、変換後の値が最小の画素を検出対象として検出する。
本発明は、この構成により、相隣る画素の輝度が低く、更にその周囲の輝度が高い部位、即ち輝度が低い小さな領域を強調する変換処理を行うことになり、輝度が低い小さな領域である鼻孔を高精度に検出することが可能である等、優れた効果を奏する。特に本発明は、顔が上向きの時、鼻孔を高精度に検出することができるので、検出対象を検出する他の方法と併用した場合、検出方法を多様化して検出対象の位置を総合的に判断することができるので、検出精度を更に高めることが可能である等、優れた効果を奏する。
そして本発明は、検出対象の検出の精度を向上させることにより、運転者の状況を正確に検知し、脇見運転の警告等の運転支援を行うシステムに適用した場合には、外光の状況が常に変化する環境下で運転を行った場合でも、誤検出の少ない信頼のおける運転支援システムを構築することが可能である等、優れた効果を奏する。
本願に記載の画像処理方法、画像処理装置及びコンピュータプログラムは、例えば車両に搭載された車載カメラ等の撮像装置により運転者の顔を撮像して得られた画像から、人物の顔の中の鼻孔の周囲の下向きの領域を検出対象とする形態に適用される。そして本発明に係る画像処理装置等は、第1方向である水平方向に相隣る画素との輝度差に基づく数値及び第1方向に相隣る画素の輝度の低さを示す数値を乗じた指標を、第2方向である垂直方向に積算して第1方向における積算値の変化を導出し、第2方向に相隣る画素との輝度差に基づく数値及び第2方向に相隣る画素の輝度の低さを示す数値を乗じた指標を、第1方向に積算して第2方向における積算値の変化を導出し、導出した夫々の積算値が、最大となる位置から最小となる位置までの第1方向の範囲及び第2方向の範囲に基づいて検出対象を検出する。
本発明は、この構成により、水平方向及び垂直方向の夫々に対し、輝度の下降が大きい箇所が大きくなり、輝度の上昇が大きい箇所が小さくなる様な数値を導出し、導出した数値に基づいて周囲より輝度が低い四角形の領域である検出対象を検出することになるので、検出対象を高精度に検出することが可能である等、優れた効果を奏する。特に本発明では、鼻孔そのものではなく、周囲より輝度が低い四角形の領域として鼻孔の周囲の下向きの領域を検出するので、鼻孔が検出し難い角度に顔を傾けている場合でも検出対象を検出することが可能である等、優れた効果を奏する。しかも本発明は、両目の位置、鼻の位置等の部位を他の方法で検出した場合、検出した部位との位置関係に基づいて領域の絞込を行った上で、当該発明に係る検出を行うことにより、更に高精度に検出対象を検出することが可能である等、優れた効果を奏する。従って本発明は、検出対象を検出する他の方法と併用した場合、検出方法を多様化して検出対象の位置を総合的に判断することができるので、検出精度を更に高めることが可能である等、優れた効果を奏する。
そして本発明は、検出対象の検出の精度を向上させることにより、運転者の状況を正確に検知し、脇見運転の警告等の運転支援を行うシステムに適用した場合には、外光の状況が常に変化する環境下で運転を行った場合でも、誤検出の少ない信頼のおける運転支援システムを構築することが可能である等、優れた効果を奏する。
本願に記載の画像処理方法、画像処理装置及びコンピュータプログラムは、例えば車両に搭載された車載カメラ等の撮像装置により運転者の顔を撮像して得られた画像から、人物の顔の鼻孔を含む領域を検出対象とする形態に適用される。そして本発明に係る画像処理装置等は、画素の輝度の平均値を算出し、画素の輝度の分散値を算出し、算出した平均値及び分散値に基づいて、複数の検出方法の中から検出方法の優先順位を決定する。
本発明は、この構成により、輝度の平均値及び分散値に基づいて、人物の顔に局所的な照度の変化が生じているか否かを判定し、判定した状況に応じて検出方法の優先順位を決定することにより、様々な検出方法の中から状況に応じた信頼性の高い検出方法及び検出順序を選択することができるので、検出精度を更に高めることが可能である等、優れた効果を奏する。
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
実施の形態1.
図1は、本発明の実施の形態1における画像処理システムの構成例を示すブロック図である。図1中1は、車両に搭載された車載カメラ等の撮像装置であり、撮像装置1は、画像処理を行う画像処理装置2に専用ケーブル等の通信線又は有線或いは無線にて構成される車内LAN(Local Area Network)等の通信網にて接続されている。撮像装置1は、車両内のハンドル、ダッシュボード等の運転者の前方に配設され、運転者の顔の横及び縦が画像の水平方向及び垂直方向になるように撮像することが可能な状態に調整されている。
撮像装置1は、装置全体を制御するMPU(Micro Processor Unit)11と、MPU11の制御に基づき実行される各種コンピュータプログラム及びデータを記録するROM(Read Only Memory)12と、ROM12に記録されたコンピュータプログラムの実行時に一時的に発生する各種データを記録するRAM(Random Access Memory)13と、CCD(Charge Coupled Device)等の撮像素子を用いて構成される撮像部14と、撮像部14の撮像により得られたアナログの画像データをデジタルデータに変換するA/D変換器15と、A/D変換器15によりデジタルに変換された画像データを一時的に記録するフレームメモリ16と、画像処理装置2との通信に用いられる通信インタフェース17とを備えている。
撮像装置1では、撮像部14により、連続的又は断続的に撮像処理を行い、撮像処理に基づいて例えば1秒当たり30枚の画像データ(画像フレーム)を生成してA/D変換器15へ出力し、A/D変換器15では、画像を構成する各画素を256階調(1Byte)等の階調にて示されるデジタル画像データに変換し、フレームメモリ16に記録させる。フレームメモリ16に記録させた画像データは、所定のタイミングで通信インタフェース17から画像処理装置2へ出力される。画像を構成する各画素は、二次元に配列されており、画像データは、平面直角座標系、所謂xy座標系にて示される各画素の位置、及び階調値として示される各画素の輝度を示すデータを含んでいる。なお各画素に対し夫々xy座標系による座標を示すのではなく、データ内に配列される順序により座標を示す様にしても良い。そして画像の水平方向は、画像データのx軸方向に対応し、画像の垂直方向は、画像データのy軸方向に対応する。
画像処理装置2は、装置全体を制御するCPU(Central Processing Unit)21と、本発明の実施の形態1に係るコンピュータプログラム31及びデータ等の各種情報を記録したCD−ROM等の記録媒体41から情報を読み取るCD−ROMドライブ等の補助記録部22と、補助記録部22により読み取った各種情報を記録するハードディスク(以下HDという)23と、HD23に記録されたコンピュータプログラム31の実行時に一時的に発生する各種データを記録するRAM24と、揮発性メモリにて構成されるフレームメモリ25と、撮像装置1との通信に用いられる通信インタフェース26とを備えている。
そしてHD23から本発明のコンピュータプログラム31及びデータ等の各種情報を読み取り、RAM24に記録させてコンピュータプログラム31に含まれる各種手順をCPU21により実行することで、車載用コンピュータは、本発明の画像処理装置2として動作する。HD23に記録されるデータとしては、コンピュータプログラム31の実行に係るデータ、例えば後述する数式、フィルタ、各種定数等の様々なデータ、更に検出された検出対象又は検出対象の候補を示すデータ等のデータがある。
画像処理装置2では、撮像装置1から出力された画像データを通信インタフェース26にて受け付け、受け付けた画像データをフレームメモリ25に記録し、フレームメモリ25に記録した画像データを読み出して、様々な画像処理を行う。受け付けた画像データに対して実行する様々な画像処理とは、画像データから運転者の顔の輪郭、目、鼻等の領域の検出に要する様々な処理である。具体的な処理の例としては、画像の垂直方向に並ぶ輝度を積算し、積算した値を所定の閾値と比較することで、背景より輝度が高い画素にて構成される顔の輪郭の水平方向の範囲を検出する輪郭幅検出処理を挙げることができる。また更にその処理において、積算値の水平方向の変化を微分して変化が大きい位置を特定して、輝度が大きく変化する背景と顔の輪郭との境界を検出する輪郭幅検出処理を挙げることができる。詳細な処理の内容は、例えば本願出願人により出願された特開2004−234494号公報、特開2004−234367号公報等の文献に記載されている。なおこれらの画像処理は、必ずしも特開2004−234494号公報及び特開2004−234367号公報に記載された処理に限るものではなく、その用途、ハードウェア構成、他のアプリケーションプログラムとの連携等の条件に応じて適宜選択することが可能である。
次に本発明の実施の形態1における画像処理システムにて用いられる各種装置の処理について説明する。本発明の実施の形態1は、図1を用いて説明した様に例えば車両に搭載された車載カメラ等の撮像装置1により運転者の顔を撮像して得られた画像から、運転者の顔の中の鼻孔を含む左右の小鼻までの領域を検出対象とする。図2及び図3は、本発明の実施の形態1における画像処理システムにて用いられる画像処理装置2の処理の例を示すフローチャートである。画像処理装置2では、RAM24に記録させたコンピュータプログラム31を実行するCPU21の制御により、撮像装置1の撮像により得られ通信インタフェース26を介して受け付けた画像データをフレームメモリ25から抽出し(S101)、抽出した画像データから運転者の顔の幅、即ち顔を示す領域の境界である輪郭の水平方向(第1方向)の範囲を、例えば上述した輪郭幅検出処理により検出し(S102)、検出した結果に基づいて、以降に行う画像処理の範囲を設定する(S103)。ステップS102にて検出された領域の範囲(輪郭の幅)、及び画像処理の範囲はHD23又はRAM24に記録される。
そして画像処理装置2は、CPU21の制御により、ステップS101にて抽出されステップS103にて設定された範囲の画像に対し、水平方向(第1方向)に並ぶ画素の輝度を積算し(S104)、積算した結果から垂直方向(第2方向)の積算値の変化を導出し(S105)、導出した垂直方向における積算値の変化から、検出対象の候補に対応する垂直方向上での位置として、極小値を示す複数の位置を検出する(S106)。ステップS106では、本来の検出対象である鼻孔を含む左右の小鼻までの領域だけでなく、輝度が低い眉、目及び口をも含む複数の候補を検出する。
画像処理装置2は、CPU21の制御により、ステップS105にて導出した積算値の変化を二次微分し(S107)、ステップS106にて検出した極小値を示す複数の位置の中で、二次微分値が低いものから順に、10個等の所定数の位置を垂直方向上での検出対象を含む候補の位置として検出する(S108)。積算値の変化を二次微分するステップS107の処理は、例えば下記の式1を用いて行われる。ステップS107は、ステップS106にて検出した候補を絞り込む処理であり、ステップS104〜S108の処理により、最大10個の候補が検出される。ただしステップS106にて検出された候補の数が10個未満である場合、ステップS108で検出される候補が10個未満になることは言うまでもない。なお所定数は、HD23又はRAM24に予め記録されている必要に応じて変更することが可能な数値である。またステップS108にて検出された候補を示すデータは、HD23又はRAM24に記録される。
二次微分値=P(y)・2−P(y−8)−P(y+8)…式1
但し、 y:垂直方向の座標(y座標)
P(y):位置yの積算値
そして画像処理装置2は、CPU21の制御により、ステップS108にて検出した検出対象の候補である垂直方向上での各位置を、HD23又はRAM24から読み取り、読み取った各位置に対応する水平方向に並ぶ画素の列の夫々に対し、画素の輝度の変化に基づいて、検出対象の候補の水平方向での端部、即ち左右端を検出し(S109)、検出した左右端に基づいて、検出対象の候補となる水平方向の範囲を検出する(S110)。なおステップS109にて左右端が検出されない候補、即ち一端側のみを検出した候補及び端部が検出されなかった候補は、検出対象の候補から除外され、HD23又はRAM24に記録されている内容は更新される。ステップS109の処理は、後述する様に、周囲より輝度の低い画素が連続する状態が途切れた点を端部として検出することにより行われる。またステップS109〜S110の処理は、全ての検出対象の候補に対して行われ、検出対象の候補の更なる絞り込み及び範囲の検出が行われる。
そして画像処理装置2は、CPU21の制御により、ステップS110にて検出して記録した検出対象の候補の水平方向の範囲の長さと、ステップS102にて検出して記録した運転者の顔の領域の水平方向の範囲(輪郭の幅)の長さとを比較し、検出対象の候補の中で、水平方向の範囲の長さが、運転者の顔の領域の水平方向の範囲の長さに対して、22〜43%の範囲に入る検出対象の候補を、検出対象であるとして特定し(S111)、HD23又はRAM24に検出対象の候補として記録されている内容を更新する。ステップS111では、全ての検出対象の候補について、検出対象、即ち鼻孔を含む左右の小鼻までの領域の候補の水平方向の範囲の長さに対し、検出対象を含む検出領域、即ち顔の領域の水平方向の長さが所定の範囲、ここでは22〜43%の範囲に入るか否かを判定し、所定の範囲に入る検出対象の候補を、検出対象として検出する。なおステップS111において、所定の範囲に入る検出対象の候補が複数である場合、ステップS109〜S110にて示す範囲の検出処理中に用いられる指標(後述する横エッジスコア)に基づいて、検出対象の候補の特定が行われる。また所定の範囲として示した22〜43%という数値は、固定されたものではなく、運転者の人種等の要因に応じて適宜設定される数値である。
そして画像処理装置2は、CPU21の制御により、ステップS111にて特定した検出対象を含み、水平方向の幅が検出対象に一致し、垂直方向の幅が3、5等の所定の画素数の検定領域を設定し(S112)、設定した検定領域内で垂直方向に並ぶ画素の輝度を積算して、水平方向の積算値の変化を導出し(S113)、導出した水平方向の積算値の変化から極小値を検出し(S114)、検出した極小値の数を計数し(S115)、計数した極小値の数が所定数、ここでは2個未満であるか否かを判定する(S116)。ステップS115において、計数した極小値の数が所定数未満である場合(S116:YES)、画像処理装置2は、CPU21の制御により、ステップS111にて特定した検出対象は偽であり、検出対象の検出は不可であると判定し(S117)、判定した結果に基づきHD23又はRAM24の記録内容を更新して、処理を終了する。特定した検出対象が、鼻孔を含む左右の小鼻までの領域である場合、ステップS113にて導出した積算値の変化においては、鼻孔に相当する位置が極小値となるため、2個以上の極小値を計数することができる。従って極小値が0又は1個の場合、特定した特定した検出対象は偽であると判定する。なお小鼻の輪郭付近等の位置が影となり極小値を示す可能性があるため、極小値が3個以上でも、それだけで偽とは判定しない。
ステップS116において、計数した極小値の数が所定数である2以上である場合(S116:NO)、画像処理装置2は、CPU21の制御により、極小値に対応する画素を含み、該画素と輝度が同じで垂直方向に連続する画素の数を計数し(S118)、計数した連続する画素の数が、予め設定されている所定数以上であるか否かを判定する(S119)。ステップS118では、輝度の低い画素の垂直方向の連続性を判定する。なお画素の数の計数は、輝度の低い画素の連続性を判定することを目的とするため、必ずしも極小値に対応する画素と同じ輝度の画素のみを計数する必要はない。具体的には、輝度を256段階に分級された階調として示す場合で、極小値を示す画素の階調が20であったとき、20±5等の幅を持たせた階調にて連続性を計数することが望ましい。
ステップS119において、計数した連続する画素の数が、予め設定されている所定数を超える場合(S119:YES)、画像処理装置2は、CPU21の制御により、ステップS111にて特定した検出対象は偽であり、検出対象の検出は不可であると判定し(S117)、判定した結果に基づきHD23又はRAM24の記録内容を更新して、処理を終了する。輝度の低い画素の連続性が所定数以上である場合、眼鏡のフレームを誤検出したと判断するのである。
ステップS119において、計数した連続する画素の数が、予め設定されている所定数以下である場合(S119:NO)、画像処理装置2は、CPU21の制御により、ステップS111にて特定した検出対象は真であり、検出対象を検出することができたと判定し(S120)、判定した結果に基づきHD23又はRAM24の記録内容を更新して、処理を終了する。
なおステップS109〜S111等の検出対象の候補を絞り込む処理により、検出対象の候補が全て除外された場合も、検出対象の検出は不可であると判定する。
図2及び図3のフローチャートを用いて説明した処理を更に具体的に説明する。先ずステップS101〜S108に係る処理について説明する。図4は、本発明の実施の形態1における画像処理システムの画像の処理の範囲の決定から検出対象の候補の検出までの処理の例を概念的に示す説明図である。図4(a)は、画像の処理の範囲を決定する状況を示しており、図4(a)中、実線で示した外側の枠がステップS101にて抽出した画像データにより示される画像の全体であり、撮像された運転者の顔の画像及び検出対象である運転者の顔の中の鼻孔を含む左右の小鼻までの領域が示されている。一点鎖線で示した画像の垂直方向(y軸方向)の線がステップS102にて検出された領域の範囲、即ち運転者の顔の輪郭の幅である。そして一点鎖線で示された顔の輪郭の幅と、実線で示された画像の全体の中の上下の枠とで囲まれた領域がステップS103にて設定される画像処理の範囲である。
図4(b)は、ステップS104にて、水平方向に並ぶ画素の輝度を積算し、ステップS105にて導出した垂直方向の輝度の積算値の分布を示すグラフである。図4(b)は、図4(a)に示した画像の垂直方向の輝度の積算値の分布を示しており、縦軸が図4(a)に対応する垂直方向の座標を示し、横軸が輝度の積算値を示している。図4(b)に示す様に垂直方向の輝度の積算値は、眉、目、鼻孔、口等の部位で矢印にて示す極小値をとるように変化しており、ステップS106にて、極小値に基づいて検出対象の候補を検出できることが読み取れる。
次にステップS109〜S111に係る処理について説明する。図5は、本発明の実施の形態1における画像処理システムの端部検出処理が行われる範囲の例を模式的に示す説明図であり、図6は、本発明の実施の形態1における画像処理システムの端部検出処理に用いられる係数の例を示す説明図である。図5は、検出対象の候補の周辺の画素を示しており、図5の上方に示した数字が画素の水平方向の位置、即ちx座標を示し、左方に示した記号が画素の垂直方向の位置、即ちy座標を示している。図5の横方向に並ぶ右上から左下への斜線にて示したy座標の値がyである画素の列yが検出対象の候補を示しており、画素の列yと、画素の列yの上下に隣接する左上から右下への斜線にて示したy座標の値が夫々y+1及びy−1である画素の列y+1及び列y−1とが端部の検出に用いられる。そして画素の列y,y+1,y−1に含まれる各画素に対し、図6に示す係数を乗ずることにより、水平方向に並ぶ画素で輝度が低い画素が連続する領域の端部を明確化する横エッジフィルタとして機能する。図6に示した係数は、3×3のマトリクスとして、九の画素の輝度に対して乗ずる係数を示しており、中心の一の画素の輝度及び隣接する八の画素の輝度に対し、夫々対応する一の係数を乗じて、その結果を合計した値の絶対値を中心の位置の画素の横エッジ係数として算出する。横エッジ係数は、図6に示す様に左方に隣接する画素の輝度に対して「−1」を乗じた数値、及び右方に隣接する画素の輝度に対して「1」を乗じた数値を加算することにより求められる。なお図5中の太線で示した3×3の領域は、座標(2,y+1)にて示される画素に対して横エッジフィルタを対応させた状態を示しており、座標(2,y+1)にて示される画素の横エッジ係数は、下記の式2で算出される。
|P(3,y+2)+P(3,y+1)+P(3,y)
−P(1,y+2)−P(1,y+1)−P(1,y)| …式2
但し、x:水平方向の座標(x座標)
y:垂直方向の座標(y座標)
p(x,y):座標(x,y)の画素の輝度
このようにして検出対象の候補となっている水平方向に並ぶ画素の列y並びにその上下に隣る画素の列y−1及びy+1に含まれる画素について、横エッジ係数を算出する。
図7は、本発明の実施の形態1における画像処理システムの端部検出処理が行われる範囲の例を模式的に示す説明図である。図7の上方に示された数字が画素の水平方向の位置、即ちx座標を示し、左方に示された記号が画素の垂直方向の位置、即ちy座標を示している。図7の横方向に並ぶy座標の値がyである画素の列yが検出対象の候補を示し、画素の列yと、画素の列yの上下に隣接するy座標の値が夫々y+1及びy−1である画素の列y+1及び列y−1とに対しては、横エッジ係数が算出されている。そして画素の列yの両端の画素を除く右上から左下への斜線にて示した各画素について、一の画素、及び該画素に隣接する八の画素を合計した九の画素に対し、横エッジ係数と予め設定されている所定の閾値とを比較する。そして横エッジ係数が所定の閾値を超える画素の数を示す指数を、一の画素の横エッジスコアとして算出する。図7中の太線で囲んだ3×3の領域は、座標(3,y)にて示される画素の横エッジスコアの算出に要する画素を示している。図7中の太線で囲んだ領域内の九の画素の中で、閾値を超える横エッジ係数を有する画素の数が座標(3,y)にて示される画素の横エッジスコアとなる。
そして0〜9の値を示す横エッジスコアが、5以上である画素については、検出対象の候補の水平方向の範囲内にあると判断する。即ち画像処理装置2は、ステップS109において、横エッジスコアが5個以上の最左端の画素を、検出対象の候補の水平方向の左側の端部であるとして検出し、横エッジスコアが5個以上の最右端の画素を、検出対象の候補の水平方向の右側の端部であるとして検出することになる。そしてステップS110では、検出した左右端に基づいて検出対象の候補の水平方向の範囲が検出される。
図8は、本発明の実施の形態1における画像処理システムの端部検出処理が行われる範囲の例を模式的に示す説明図である。図8は、検出対象の候補の画素及び横エッジスコアを示しており、図8の上方に示された数字が画素の水平方向の位置、即ちx座標を示している。図8に示す例では、x座標が5である画素からx座標が636である画素までが検出対象の水平方向の範囲として検出される。
図9は、本発明の実施の形態1における画像処理システムの検出対象の候補を示す説明図である。図9は、運転者の顔の画像と、ステップS109〜S110の処理にて水平方向の範囲が検出された検出対象の候補とを示している。図9中、×印が、ステップ109にて検出した左右端を示しており、×印にて示す左右端を結ぶ線分が検出対象の候補を示している。この段階で左右端が検出されなかった候補は、検出対象から除外される。図9に示す例では、眉、目、鼻孔、口及び顎の位置が検出対象の候補となっている。
そして図4に示した運転者の顔の領域の水平方向の範囲と、図9に示した検出対象の候補の水平方向の範囲とを比較することにより、ステップS111では、検出対象の候補の中から検出対象を特定する。なおステップS111において特定された検出対象の候補が複数である場合、特定された各検出対象を形成する水平方向に並ぶ夫々の画素の中で、横エッジスコアが所定値以上である画素の数を、特定された検出対象毎に計数し、得られた数値により示される指標を鼻孔領域スコアとする。そして鼻孔領域スコアが最大である検出対象を、真の検出対象とし、他の検出対象を偽として除外する。
図10は、本発明の実施の形態1における画像処理システムの鼻孔領域スコアを概念的に示す説明図である。図10は、図8にて検出された検出対象の水平方向の範囲に含まれる画素及び該画素の横エッジスコアを示す数値を示しており、数値が○で囲まれている画素は、横エッジスコアが所定値、ここでは5以上であることを示している。そして横エッジスコアが所定値以上である画素の数を計数し、鼻孔領域スコアとする。
そして本発明の画像処理システムでは、ステップS112以降の処理より、特定した検出対象の真偽を更に判定する。
前記実施の形態1に示した数値を含む各種条件等は、あくまでも一例であり、システム構成、目的等の状況に応じて適宜設定することが可能である。
実施の形態2.
図11は、本発明の実施の形態2における画像処理システムの構成例を示すブロック図である。図11中1は撮像装置であり、撮像装置1は、画像処理装置2と例えば専用ケーブルにより接続されている。撮像装置1は、MPU11、ROM12、RAM13、撮像部14、A/D変換器15、フレームメモリ16及び通信インタフェース17を備えている。
画像処理装置2は、CPU21、補助記録部22、HD23、RAM24、フレームメモリ25及び通信インタフェース26を備えており、本発明の実施の形態2に係るコンピュータプログラム32及びデータ等の各種情報を記録した記録媒体42から、補助記録部22により、各種情報を読み取ってHD23に記録し、RAM24に記録してCPU21にて実行することで、画像処理装置2は、本発明の実施の形態2に係る各種手順を実行する。
なお各装置の詳細な説明については、実施の形態1と同様であるので、実施の形態1を参照するものとし、その説明を省略する。
次に本発明の実施の形態2における画像処理システムにて用いられる各種装置の処理について説明する。本発明の実施の形態2は、例えば車両に搭載された車載カメラ等の撮像装置1により運転者の顔を撮像して得られた画像から、運転者の顔の中の鼻孔を検出対象とする。図12は、本発明の実施の形態2における画像処理システムにて用いられる画像処理装置2の処理の例を示すフローチャートである。画像処理装置2では、RAM24に記録させたコンピュータプログラム32を実行するCPU21の制御により、撮像装置1の撮像により得られ通信インタフェース26を介して受け付けた画像データをフレームメモリ25から抽出し(S201)、抽出した画像データから運転者の顔の幅、即ち顔を示す領域の境界である輪郭の水平方向の範囲を、例えば実施の形態1で示した輪郭幅検出処理により検出し(S202)、更に鼻孔を含む左右の小鼻までの領域を鼻孔周辺領域として検出する(S203)。ステップS202にて検出された輪郭の水平方向の範囲及びステップS203にて検出された鼻孔周辺領域は、HD23又はRAM24に記録される。ステップS203において、鼻孔周辺領域を検出する方法には、例えば実施の形態1にて示した方法が用いられる。
そして画像処理装置2は、CPU21の制御により、ステップS203にて検出した鼻孔周辺領域の水平方向の画素の輝度の変化から極小値をとる2点を極小点として導出し(S204)、導出した2点の極小点に基づいて検出対象を検出する探索範囲を設定する(S205)。ステップS205にて設定された探索範囲は、HD23又はRAM24に記録される。ステップS205にて極小点が3点以上である場合、輝度が小さい2点を極小点として導出する。ステップS205にて設定される範囲は、導出された極小値の2点の夫々に対し、水平方向に対しては、左右に夫々15画素分、垂直方向に対しては、上下に夫々5画素分の範囲である。なおステップS204にて導出された2点の極小点は、左右の鼻孔に関する点であると見なされるので、ステップS205では、左右の鼻孔の夫々に対して探索範囲が設定されたとみなすことができる。
そして画像処理装置2は、CPU21の制御により、ステップS205にて設定された探索範囲内の全ての画素に対し、相隣る他の画素の輝度に基づく加算、並びに水平方向に所定距離離れた位置の画素の輝度及び垂直方向に所定距離離れた位置の画素の輝度に基づく減算を行う黒領域算出フィルタ処理により、輝度を変換し(S206)、変換後の値が最小となる画素を検出対象として検出し(S207)、検出した結果をHD23又はRAM24に記録する。ステップS206〜S207の処理は、左右の鼻孔の夫々の探索範囲に含まれる画素に対して行われる。
図12のフローチャートを用いて説明した処理を更に具体的に説明する。図13は、本発明の実施の形態2における画像処理システムの検出範囲の設定の例を概念的に示す説明図である。図13中、実線で示した外側の枠がステップS201にて抽出した画像データにより示される画像の全体であり、一点鎖線で示した画像の垂直方向(y軸方向)の線がステップS202にて検出された領域の範囲、即ち運転者の顔の輪郭の幅である。そして太い実線で示された水平方向の線分が、ステップS203にて鼻孔周辺領域として検出される鼻孔を含む左右の小鼻までの領域である。
図14は、本発明の実施の形態2における画像処理システムの探索範囲の設定の例を概念的に示す説明図である。図14は、鼻孔を含む周囲の画像を示しており、図14中の実線で示した長方形の範囲がステップS205において、左右の鼻孔の夫々に対して設定される探索範囲である。
図15は、本発明の実施の形態2における画像処理システムの黒領域算出フィルタ処理に用いられる係数の例を示す説明図である。図15に示す係数を探索範囲に含まれる画素に対して乗ずることにより、中央が低輝度で周囲が高輝度の領域を明確化させることができる。図15に示す黒領域算出フィルタは、変換の対象となる一の画素の輝度及び隣接する八の画素の輝度に対して乗じられる係数に「1」が設定されており、また一の画素から左右に所定距離離れた位置に並ぶ夫々二の画素の輝度に対して乗じられる係数に「−1」が設定されており、一の画素から上下に所定距離離れた位置に並ぶ夫々二の画素の輝度に対して乗じられる係数に「−1」が設定されている。なお所定の距離は、ステップS202にて検出された領域の1/18に設定される。
図16は、本発明の実施の形態2における画像処理システムの黒領域算出フィルタ処理を用いた検出の例を概念的に示す説明図である。図16は、図14に示す様に設定された探索範囲において、図16に向かって左側の鼻孔として検出された検出対象に対して行われた黒領域算出フィルタ処理時の黒領域算出フィルタの位置を示している。図15に示す条件で設定された黒領域算出フィルタは、図16に示す様に鼻孔の中央付近の画素に対して黒領域算出フィルタ処理を行う場合に、加算のための係数が鼻孔に位置し、減算のための係数が鼻孔の外側に位置するため、鼻孔の中心を明確化することが可能である。
前記実施の形態2に示した数値を含む各種条件等は、あくまでも一例であり、システム構成、目的等の状況に応じて適宜設定することが可能である。
実施の形態3.
図17は、本発明の実施の形態3における画像処理システムの構成例を示すブロック図である。図17中1は撮像装置であり、撮像装置1は、画像処理装置2と例えば専用ケーブルにより接続されている。撮像装置1は、MPU11、ROM12、RAM13、撮像部14、A/D変換器15、フレームメモリ16及び通信インタフェース17を備えている。
画像処理装置2は、CPU21、補助記録部22、HD23、RAM24、フレームメモリ25及び通信インタフェース26を備えており、本発明の実施の形態3に係るコンピュータプログラム33及びデータ等の各種情報を記録した記録媒体43から、補助記録部22により、各種情報を読み取ってHD23に記録し、RAM24に記録してCPU21にて実行することで、画像処理装置2は、本発明の実施の形態3に係る各種手順を実行する。
なお各装置の詳細な説明については、実施の形態1と同様であるので、実施の形態1を参照するものとし、その説明を省略する。
次に本発明の実施の形態3における画像処理システムにて用いられる各種装置の処理について説明する。本発明の実施の形態3は、例えば車両に搭載された車載カメラ等の撮像装置1により運転者の顔を撮像して得られた画像から、運転者の顔の中の鼻孔の周囲の下向きの領域を検出対象とする。図18は、本発明の実施の形態3における画像処理システムにて用いられる画像処理装置2の処理の例を示すフローチャートである。画像処理装置2では、RAM24に記録させたコンピュータプログラム33を実行するCPU21の制御により、撮像装置1の撮像により得られ通信インタフェース26を介して受け付けた画像データをフレームメモリ25から抽出し(S301)、抽出した画像データから運転者の顔の幅、即ち顔を示す領域の境界である輪郭の水平方向の範囲を、例えば実施の形態1で示した輪郭幅検出処理により検出し(S302)、更にパターンマッチング等の処理を用いた両目及び鼻尖検出処理により両目及び鼻尖の位置を検出し(S303)、検出した輪郭の水平方向の範囲並びに両目及び鼻尖の位置に基づいて探索範囲を設定する(S304)。ステップS302にて検出された輪郭の水平方向の範囲、ステップS303にて検出された両目及び鼻尖の位置並びにステップS304にて設定された探索範囲は、HD23又はRAM24に記録される。なおステップS302における両目及び鼻尖検出処理の詳細な内容は、例えば本願出願人により出願された特開2004−234367号公報、特開2004−234494号公報等の文献に記載されている。ステップS304にて設定される探索範囲は、例えば垂直方向の上端が、両目の垂直方向の位置を示すy座標の平均から、輪郭の水平方向の幅の1/16の距離分だけ下の位置、下端が、両目のy座標の平均から輪郭の幅の3/8の距離分だけ下の位置、水平方向の左端が、鼻尖の水平方向の位置を示すx座標から輪郭の幅の1/8の距離分だけ左の位置、そして右端が、鼻尖のx座標から輪郭の幅の1/8の距離分だけ右の位置に基づく領域に設定される。
そして画像処理装置2は、CPU21の制御により、ステップS304にて設定された探索範囲内の全ての画素に対し、水平方向に隣接する画素との輝度差に基づく数値及び水平方向に隣接する画素の輝度の低さ示す数値を乗じた指標である水平方向画素スコアを導出し(S305)、導出した水平方向画素スコアを垂直方向に積算して水平方向における積算値の変化を示す指標である水平方向スコアを導出する(S306)。更に画像処理装置2は、CPU21の制御により、探索範囲内の全ての画素に対し、垂直方向に隣接する画素との輝度差に基づく数値及び垂直方向に隣接する画素の輝度の低さ示す数値を乗じた指標である垂直方向画素スコアを導出し(S307)、導出した垂直方向画素スコアを水平方向に積算して垂直方向における積算値の変化を示す指標である垂直方向スコアを導出する(S308)。そして画像処理装置2は、CPU21の制御により、ステップS306にて導出した水平方向スコアの最大値から最小値までの水平方向の範囲、及びステップS307にて導出した垂直方向スコアの最大値から最小値までの垂直方向の範囲に基づく領域を、検出対象として検出し(S309)、検出した結果をHD23又はRAM24に記録する。
図18のフローチャートを用いて説明した処理を更に具体的に説明する。図19は、本発明の実施の形態3における画像処理システムの探索範囲の設定の例を概念的に示す説明図である。図19中、実線で示した外側の枠がステップS301にて抽出した画像データにより示される画像の全体であり、一点鎖線で示した画像の垂直方向(y軸方向)の線がステップS302にて検出された領域の範囲、即ち運転者の顔の輪郭の幅であり、×印で示した箇所がステップS303にて検出された両目及び鼻尖の位置である。そして点線にて示した領域がステップS304にて設定される探索範囲である。
ステップS305にて導出される水平方向画素スコアは、下記の式3にて示される。
図20は、本発明の実施の形態3における画像処理システムの水平方向エッジフィルタ処理に用いられる係数の例を示す説明図である。式3に示す数式において、H(x,y)は、図20にて示す係数を用いて行われる水平方向エッジフィルタ処理の結果を示している。図20は、3×3のマトリクスとして、九の画素の輝度に対して乗ずる係数を示しており、中心の一の画素の輝度及び隣接する八の画素の輝度に対し、夫々対応する係数を乗じて、その結果を合計した値を、中心の位置の画素の水平方向エッジフィルタ処理結果として算出する。図20に示す係数を用いて行われる水平方向エッジフィルタ処理では、左方に隣接する画素の輝度に対して「1」を乗じた数値、及び右方に隣接する画素の輝度に対して「−1」を乗じた数値を加算することにより結果となる指標が求められる。即ち水平方向エッジフィルタ処理により、水平方向に隣接する画素との輝度差に基づく数値が求められる。
水平方向エッジフィルタ処理の結果に乗じる数式は、画素の輝度を256段階に分級した階調値の最高の数値を示す「255」から水平方向に隣接する画素の輝度を減じた値であり、輝度の低さを示す数値である。このように水平方向画素スコアとは、水平方向に隣接する画素との輝度差に基づく数値及び水平方向に隣接する画素の輝度の低さを示す数値に基づく指標である。なお水平方向エッジフィルタ処理の結果に乗じる数式に輝度が用いられる画素は、水平方向エッジフィルタ処理の結果の正負に応じて異なる。
そしてステップS306にて導出される水平方向スコアは、水平方向画素スコアを垂直方向に積算することにより導出される水平方向の位置であるx座標と、積算値との関係を示す指標である。即ち水平方向スコアにより、水平方向画素スコアの水平方向における変化が示される。具体的には、水平方向スコアにて、水平方向において画素の輝度が大きく低下する箇所の値が大きくなり、画素の輝度が大きく上昇する箇所の値が小さくなるように示すことができる。
ステップS307にて導出される垂直方向画素スコアは、下記の式4にて示される。
図21は、本発明の実施の形態3における画像処理システムの垂直方向エッジフィルタ処理に用いられる係数の例を示す説明図である。式4に示す数式において、V(x,y)は、図21にて示す係数を用いて行われる垂直方向エッジフィルタ処理の結果を示している。図21は、3×3のマトリクスとして、九の画素の輝度に対して乗ずる係数を示しており、中心の一の画素の輝度及び隣接する八の画素の輝度に対し、夫々対応する係数を乗じて、その結果を合計した値を、中心の位置の画素の垂直方向エッジフィルタ処理結果として算出する。図21に示す係数を用いて行われる垂直方向エッジフィルタ処理では、上方に隣接する画素の輝度に対して「1」を乗じた数値、及び下方に隣接する画素の輝度に対して「−1」を乗じた数値を加算することにより結果となる指標が求められる。即ち垂直方向エッジフィルタ処理により、垂直方向に隣接する画素との輝度差に基づく数値が求められる。
垂直方向エッジフィルタ処理の結果に乗じる数式は、画素の輝度を256段階に分級した階調値の最高の数値を示す「255」から垂直方向に隣接する画素の輝度を減じた値であり、輝度の低さを示す数値である。このように垂直方向画素スコアとは、垂直方向に隣接する画素との輝度差に基づく数値及び垂直方向に隣接する画素の輝度の低さを示す数値に基づく指標である。なお垂直方向エッジフィルタ処理の結果に乗じる数式に輝度が用いられる画素は、垂直方向エッジフィルタ処理の結果の正負に応じて異なる。
そしてステップS308にて導出される垂直方向スコアは、垂直方向画素スコアを水平方向に積算することにより導出される垂直方向の位置であるy座標と、積算値との関係を示す指標である。即ち垂直方向スコアにより、垂直方向画素スコアの垂直方向における変化が示される。具体的には、垂直方向スコアにて、垂直方向において画素の輝度が大きく低下する箇所の値が大きくなり、画素の輝度が大きく上昇する箇所の値が小さくなるように示すことができる。
そしてステップS309では、水平方向スコアの最大値を水平方向の左端とし、最小値を水平方向の右端とし、垂直方向スコアの最大値を垂直方向の上端とし、最小値を垂直方向の下端とする領域が検出される。
図22は、本発明の実施の形態3における画像処理システムの検出の結果を示す説明図である。図22は、ステップS304にて設定された探索範囲を示しており、左端L、右端R、上端U及び下端Dにより囲まれた斜線にて示す長方形の領域が、検出された鼻孔の周囲の下向きの領域である。
前記実施の形態3に示した数値を含む各種条件等は、あくまでも一例であり、システム構成、目的等に状況に応じて適宜設定することが可能である。例えば前記実施の形態3では、水平方向スコアを導出後、垂直方向スコアを導出する形態を示したが、垂直方向スコアを導出後、水平方向スコアを導出する様にしても良く、更には水平方向スコアを導出せずに、水平方向の左端及び右端を顔の輪郭の幅とし、垂直方向スコアのみを導出する様にしても良い等、様々な形態に展開することが可能である。
実施の形態4.
図23は、本発明の実施の形態4における画像処理システムの構成例を示すブロック図である。図23中1は撮像装置であり、撮像装置1は、画像処理装置2と例えば専用ケーブルにより接続されている。撮像装置1は、MPU11、ROM12、RAM13、撮像部14、A/D変換器15、フレームメモリ16及び通信インタフェース17を備えている。
画像処理装置2は、CPU21、補助記録部22、HD23、RAM24、フレームメモリ25及び通信インタフェース26を備えており、本発明の実施の形態4に係るコンピュータプログラム34及びデータ等の各種情報を記録した記録媒体44から、補助記録部22により、各種情報を読み取ってHD23に記録し、RAM24に記録してCPU21にて実行することで、画像処理装置2は、本発明の実施の形態4に係る各種手順を実行する。本発明の実施の形態4に係る画像処理装置2には、本発明の実施の形態1乃至3にて説明した検出方法を含む複数の検出方法が記録されている。
なお各装置の詳細な説明については、実施の形態1と同様であるので、実施の形態1を参照するものとし、その説明を省略する。
次に本発明の実施の形態4における画像処理システムにて用いられる各種装置の処理について説明する。本発明の実施の形態4は、例えば車両に搭載された車載カメラ等の撮像装置1により運転者の顔を撮像して得られた画像から、運転者の顔の鼻孔を含む領域を検出対象とする。図24は、本発明の実施の形態4における画像処理システムにて用いられる画像処理装置2の処理の例を示すフローチャートである。画像処理装置2では、RAM24に記録させたコンピュータプログラム34を実行するCPU21の制御により、撮像装置1の撮像により得られ通信インタフェース26を介して受け付けた画像データをフレームメモリ25から抽出し(S401)、抽出した画像データに含まれる画素の輝度の平均値を算出し(S402)、算出した結果である平均値を、輝度の平均値に対して予め設定されている閾値と比較する(S403)。更に画像処理装置2では、CPU21の制御により、画素の輝度の分散値を算出し(S404)、算出した結果である分散値を、輝度の分散値に対して予め設定されている閾値と比較する(S405)。そして画像処理装置2では、CPU21の制御により、輝度の平均値と閾値との比較結果、及び輝度の分散値と閾値との比較結果に基づいて、HD23に記録している複数の検出方法の優先順位を決定する(S406)。
本発明の実施の形態4では、輝度の平均値及び分散値に基づいて、検出方法の優先順位を決定する処理を行う。決定される優先順位は、複数の検出方法の実行の要否及び実行の順序であり、決定された内容に従って、上述した本発明の実施の形態1乃至3にて説明した検出方法、更には他の検出方法が実行される。
画像データの輝度の平均値及び分散値は、運転者の顔に照射される光線の状況によって大きく変化するので、平均値及び分散値から照射の状況を判定し、最適な検出方法を選択するのである。具体的には、顔の左半分だけに太陽光が当たる様な偏変化が生じている場合、輝度の平均値が閾値以下となり、また輝度の分散値が閾値以上となるため、偏変化が生じていると判定することができ、偏変化に影響されにくい検出方法を優先するのである。
例えば偏変化が生じていない状態では、実施の形態1に示した検出方法により鼻孔周辺領域を検出し、検出した結果を用いて実施の形態2に示した検出方法により鼻孔を検出する。鼻孔周辺領域を検出することにより、画像処理の対象となる範囲が限定されるので、処理速度が向上し、また検出精度が向上する。しかしながら偏変化が生じている場合、輝度飽和が発生する可能性が高いため、実施の形態1の横エッジフィルタを用いた処理の信頼性が低くなる。従って実施の形態2に示した検出方法による鼻孔の検出を優先する。
前記実施の形態4では、輝度の平均値及び分散値の閾値を一つ設定したが、本発明はこれに限らず、複数の閾値を設定し、様々な状況に応じた検出方法の優先順位を決定するようにしても良く、また検出を行うための画像処理に要する各種設定値等の処理条件を、平均値及び分散値に基づいて決定するようにしても良い。
前記実施の形態1乃至4では、平面直角座標系にて示される画像データに対する処理を示したが本発明はこれに限らず、例えばハニカム状に配置された画素を含む画像を扱う場合に第1方向と第2方向とが60度の角度をもって交差する座標系にて示される画像データに適用する等、様々な座標系の画像データに適用することが可能である。
また前記実施の形態1乃至4では、車両の運転者を検出対象とする形態を示したが、本発明はこれに限らず、様々な人物、更には人物以外の生物又は無生物を検出対象とする形態であっても良い。
さらに前記実施の形態1乃至4では、車載カメラを用いた撮像装置の撮像により生成された画像から検出対象を検出する形態を示したが、本発明はこれに限らず、様々な装置により様々な方法にて生成された画像をHDに記録しておき、記録している画像から特定の検出対象を検出する様々な画像処理に適用することが可能である。