図面 (/)

技術 画像処理装置および方法、記録媒体、並びにプログラム

出願人 ソニー株式会社
発明者 近藤哲二郎大月知之
出願日 2004年1月8日 (16年3ヶ月経過) 出願番号 2004-002645
公開日 2005年7月21日 (14年9ヶ月経過) 公開番号 2005-196519
状態 拒絶査定
技術分野 画像処理 イメージ分析
主要キーワード 内側端点 外側端点 位置距離 各内側端 外乱要素 半径データ 眼球中心位置 中心データ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2005年7月21日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

人の頭部の半径を正確に推定できるようにする。

解決手段

頭頂部推定部12は、画像データ、および背景分離された画像データを基に頭頂の位置を算出する。垂直距離判定部21は、背景分離された画像データ、および頭頂の位置を基に、頭頂の位置から処理対象ラインまでの垂直方向の距離が、処理対象ラインにおける、頭部の画像の水平方向の幅の1/2に等しいか否かを判定する。半径算出部22は、垂直方向の距離が水平方向の幅の1/2に等しいと判断された場合、処理対象ラインにおける水平方向の幅または垂直方向の距離を基に、頭部の半径を算出する。本発明は、人の頭部の画像を処理する画像処理装置に適用できる。

概要

背景

人の画像を撮像して、撮像された画像のうち、人の頭部の画像を抽出して、抽出した人の頭部の画像から顔の向きを検出したり、視線を検出したりする画像処理技術が知られている。

例えば、特許文献1には、撮像された人の顔の画像データから、肌が露出して肌色に見える部分(肌色領域)と髪の毛が存在し黒く見える部分(黒色領域)を含む重心点検出領域を抽出し、抽出された重心点検出領域の肌色領域と黒色領域からなる領域の重心点と、重心点検出領域の肌色領域の重心点を検出し、検出した重心点検出領域の肌色領域と黒色領域からなる領域の重心点、および肌色領域の重心点から、顔の向きを推定する手法が提案されている。

また、例えば、特許文献2には、撮像された人の顔の画像データから、肌、白目、若しくは黒目などの色彩情報または鼻孔輝度情報を基に、顔における各部分についての位置関係を用いて、顔の視線を推定する手法が提案されている。

特開2001−78162号公報

特開2002−118832号公報

概要

人の頭部の半径を正確に推定できるようにする。頭頂部推定部12は、画像データ、および背景分離された画像データを基に頭頂の位置を算出する。垂直距離判定部21は、背景分離された画像データ、および頭頂の位置を基に、頭頂の位置から処理対象ラインまでの垂直方向の距離が、処理対象ラインにおける、頭部の画像の水平方向の幅の1/2に等しいか否かを判定する。半径算出部22は、垂直方向の距離が水平方向の幅の1/2に等しいと判断された場合、処理対象ラインにおける水平方向の幅または垂直方向の距離を基に、頭部の半径を算出する。本発明は、人の頭部の画像を処理する画像処理装置に適用できる。

目的

一連の処理をさせるプログラムが格納されている記録媒体は、図40に示されるように、コンピュータとは別に、ユーザにプログラムを提供する

効果

実績

技術文献被引用数
1件
牽制数
2件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

人の頭部の画像の頭頂の位置を推定する頭頂位置推定手段と、前記頭頂の位置までの垂直方向の距離が、前記頭部の画像の水平方向の幅に対して一定の関係になる検出位置を検出する検出手段と、前記検出位置における前記頭部の水平方向の幅または前記頭頂から前記検出位置までの距離を基に、前記頭部の画像に関係する頭部関係情報を算出する算出手段とを備えることを特徴とする画像処理装置

請求項2

前記一定の関係とは、垂直方向の距離が水平方向の幅のほぼ半分であることを特徴とする請求項1に記載の画像処理装置。

請求項3

前記算出手段は、前記検出位置における前記頭部の水平方向の幅の略1/2または前記頭頂から前記検出位置までの距離を基に、前記頭部関係情報として、頭頂部半径を算出することを特徴とする請求項1に記載の画像処理装置。

請求項4

前記算出手段は、前記検出位置における前記頭部の水平方向の幅の中心、前記頭頂の位置、および前記検出位置における前記頭部の水平方向の幅の略1/2または前記頭頂から前記検出位置までの距離を基に、前記頭部関係情報として、頭頂部の中心位置を算出することを特徴とする請求項1に記載の画像処理装置。

請求項5

人の頭部の画像の頭頂の位置を推定する頭頂位置推定ステップと、前記頭頂の位置までの垂直方向の距離が、前記頭部の画像の水平方向の幅に対して一定の関係になる検出位置を検出する検出ステップと、前記検出位置における前記頭部の水平方向の幅または前記頭頂から前記検出位置までの距離を基に、前記頭部の画像に関係する頭部関係情報を算出する算出ステップとを含むことを特徴とする画像処理方法

請求項6

人の頭部の画像の頭頂の位置を推定する頭頂位置推定ステップと、前記頭頂の位置までの垂直方向の距離が、前記頭部の画像の水平方向の幅に対して一定の関係になる検出位置を検出する検出ステップと、前記検出位置における前記頭部の水平方向の幅または前記頭頂から前記検出位置までの距離を基に、前記頭部の画像に関係する頭部関係情報を算出する算出ステップとを含むことを特徴とするコンピュータ読み取り可能なプログラムが記録されている記録媒体

請求項7

人の頭部の画像の頭頂の位置を推定する頭頂位置推定ステップと、前記頭頂の位置までの垂直方向の距離が、前記頭部の画像の水平方向の幅に対して一定の関係になる検出位置を検出する検出ステップと、前記検出位置における前記頭部の水平方向の幅または前記頭頂から前記検出位置までの距離を基に、前記頭部の画像に関係する頭部関係情報を算出する算出ステップとをコンピュータに実行させることを特徴とするプログラム。

技術分野

0001

本発明は画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、人の頭部の画像を処理する画像処理装置および方法、記録媒体、並びにプログラムに関する。

背景技術

0002

人の画像を撮像して、撮像された画像のうち、人の頭部の画像を抽出して、抽出した人の頭部の画像から顔の向きを検出したり、視線を検出したりする画像処理技術が知られている。

0003

例えば、特許文献1には、撮像された人の顔の画像データから、肌が露出して肌色に見える部分(肌色領域)と髪の毛が存在し黒く見える部分(黒色領域)を含む重心点検出領域を抽出し、抽出された重心点検出領域の肌色領域と黒色領域からなる領域の重心点と、重心点検出領域の肌色領域の重心点を検出し、検出した重心点検出領域の肌色領域と黒色領域からなる領域の重心点、および肌色領域の重心点から、顔の向きを推定する手法が提案されている。

0004

また、例えば、特許文献2には、撮像された人の顔の画像データから、肌、白目、若しくは黒目などの色彩情報または鼻孔輝度情報を基に、顔における各部分についての位置関係を用いて、顔の視線を推定する手法が提案されている。

0005

特開2001−78162号公報

0006

特開2002−118832号公報

発明が解決しようとする課題

0007

しかしながら、これらの方法では、人の画像の頭頂部半径または頭頂部の中心などの、人の頭部の画像のスケールまたは基準位置を正確に推定することができなかった。

0008

そのため、顔向きまたは視線を簡単かつ確実に推定することが困難である課題があった。本発明はかかる状況に鑑みてなされたものであり、簡単かつ確実に人の頭部を検出できるようにするものである。

課題を解決するための手段

0009

請求項1の画像処理装置は、人の頭部の画像の頭頂の位置を推定する頭頂位置推定手段と、頭頂の位置までの垂直方向の距離が、頭部の画像の水平方向の幅に対して一定の関係になる検出位置を検出する検出手段と、検出位置における頭部の水平方向の幅または頭頂から検出位置までの距離を基に、頭部の画像に関係する頭部関係情報を算出する算出手段とを備えることを特徴とする。

0010

算出手段は、検出位置における頭部の水平方向の幅の略1/2または頭頂から検出位置までの距離を基に、頭部関係情報として、頭頂部の半径を算出するようにすることができる。

0011

算出手段は、検出位置における頭部の水平方向の幅の中心、頭頂の位置、および検出位置における頭部の水平方向の幅の略1/2または頭頂から検出位置までの距離を基に、頭部関係情報として、頭頂部の中心位置を算出するようにすることができる。

0012

請求項4の画像処理方法は、人の頭部の画像の頭頂の位置を推定する頭頂位置推定ステップと、頭頂の位置までの垂直方向の距離が、頭部の画像の水平方向の幅に対して一定の関係になる検出位置を検出する検出ステップと、検出位置における頭部の水平方向の幅または頭頂から検出位置までの距離を基に、頭部の画像に関係する頭部関係情報を算出する算出ステップとを含むことを特徴とする。

0013

請求項5の記録媒体のプログラムは、人の頭部の画像の頭頂の位置を推定する頭頂位置推定ステップと、頭頂の位置までの垂直方向の距離が、頭部の画像の水平方向の幅に対して一定の関係になる検出位置を検出する検出ステップと、検出位置における頭部の水平方向の幅または頭頂から検出位置までの距離を基に、頭部の画像に関係する頭部関係情報を算出する算出ステップとを含むことを特徴とする。

0014

請求項6のプログラムは、人の頭部の画像の頭頂の位置を推定する頭頂位置推定ステップと、頭頂の位置までの垂直方向の距離が、頭部の画像の水平方向の幅に対して一定の関係になる検出位置を検出する検出ステップと、検出位置における頭部の水平方向の幅または頭頂から検出位置までの距離を基に、頭部の画像に関係する頭部関係情報を算出する算出ステップとをコンピュータに実行させることを特徴とする。

0015

本発明の画像処理装置および方法、記憶媒体、並びにプログラムにおいては、人の頭部の画像の頭頂の位置が推定され、頭頂の位置までの垂直方向の距離が、頭部の画像の水平方向の幅に対して一定の関係になる検出位置が検出され、その検出位置における頭部の水平方向の幅または頭頂から検出位置までの距離を基に、頭部の画像に関係する頭部関係情報が算出される。

発明の効果

0016

本発明によれば、人の頭頂の画像のスケールまたは基準位置を推定することができる。

0017

また、本発明によれば、画像上のノイズなどの外乱要素が存在しても、人の画像の頭頂部の半径または頭頂部の中心などの、人の頭部の画像のスケールまたは基準位置を、簡単かつ確実に、より正確に推定することができる。

発明を実施するための最良の形態

0018

以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応していないものであることを意味するものではない。

0019

さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。

0020

請求項1の画像処理装置は、人の頭部の画像の頭頂の位置(例えば、図13のIv)を推定する頭頂位置推定手段(例えば、図1頭頂推定部12)と、頭頂の位置までの垂直方向の距離が、頭部の画像の水平方向の幅(例えば、図9のw)に対して一定の関係(例えば、略1/2)になる検出位置(例えば、処理対象ラインの位置)を検出する検出手段(例えば、図1垂直距離判定部21)と、検出位置における頭部の水平方向の幅または頭頂から検出位置までの距離(例えば、図9のh)を基に、頭部の画像に関係する頭部関係情報(例えば、頭頂部の半径、頭頂部中心)を算出する算出手段(例えば、図1の半径算出部22、図19の中心位置算出部71)とを備える。

0021

算出手段は、検出位置における頭部の水平方向の幅の略1/2または頭頂から検出位置までの距離を基に、頭部関係情報として、頭頂部の半径を算出する(例えば、図8のステップS56、図18のステップS76の処理)ようにすることができる。

0022

算出手段は、検出位置における、頭部の水平方向の幅の中心、頭頂の位置、および検出位置における頭部の水平方向の幅の略1/2または頭頂から検出位置までの距離を基に、頭部関係情報として、頭頂部の中心位置を算出する(例えば、図21のステップS126、S127、図22のステップS146、S147の処理)ようにすることができる。

0023

請求項4の画像処理方法は、人の頭部の画像の頭頂の位置(例えば、図13のIv)を推定する頭頂位置推定ステップ(例えば、図2のステップS2の処理)と、頭頂の位置までの垂直方向の距離が、頭部の画像の水平方向の幅(例えば、図9のw)に対して一定の関係(例えば、略1/2)になる検出位置(例えば、処理対象ラインの位置)を検出する検出ステップ(例えば、図8のステップS52、S53、図18のステップS72、S73、図21のステップS122、S123、図22のステップS142、S143の処理)と、検出位置における頭部の水平方向の幅または頭頂から検出位置までの距離(例えば、図9のh)を基に、頭部の画像に関係する頭部関係情報(例えば、頭頂部の半径、頭頂部中心)を算出する算出ステップ(例えば、図8のステップS56の処理、図18のステップS76の処理、図21のステップS126、S127、図22のステップS146、S147の処理)とを含む。

0024

請求項5と請求項6のプログラムは、人の頭部の画像の頭頂の位置(例えば、図13のIv)を推定する頭頂位置推定ステップ(例えば、図2のステップS2の処理)と、頭頂の位置までの垂直方向の距離が、頭部の画像の水平方向の幅(例えば、図9のw)に対して一定の関係(例えば、略1/2)になる検出位置(例えば、処理対象ラインの位置)を検出する検出ステップ(例えば、図8のステップS52、S53、図18のステップS72、S73、図21のステップS122、S123、図22のステップS142、S143の処理)と、検出位置における頭部の水平方向の幅または頭頂から検出位置までの距離(例えば、図9のh)を基に、頭部の画像に関係する頭部関係情報(例えば、頭頂部の半径、頭頂部中心)を算出する算出ステップ(例えば、図8のステップS56の処理、図18のステップS76の処理、図21のステップS126、S127、図22のステップS146、S147の処理)とを含む。

0025

以下、図面を参照しながら本発明の実施の形態について説明する。

0026

図1は、本発明に係る画像処理装置の一実施の形態の構成を示すブロック図である。画像処理装置1は、背景分離部11、頭頂推定部12、および頭頂部半径推定部13により構成される。

0027

背景分離部11は、人を撮像して得られた画像データを入力して、その画像データに基づく画像を背景および前景に分離し、背景から分離された前景の画像の画像データを頭頂推定部12および頭頂部半径推定部13に供給する。分離された前景の画像には、人の画像が含まれている。

0028

頭頂推定部12は、前景の画像の画像データを基に、前景の画像に含まれる人の画像の頭頂位置を推定し、推定した頭頂位置を示すデータを頭頂部半径推定部13に供給する。

0029

頭頂部半径推定部13は、背景分離部11から供給された、背景が分離された前景の画像の画像データ、および頭頂推定部12から供給された頭頂位置を示すデータを基に、頭頂部半径を推定し、推定された頭頂部半径を示す頭頂部半径データを出力する。

0030

頭頂部半径推定部13は、垂直距離判定部21および半径算出部22により構成される。

0031

垂直距離判定部21は、前景の画像上の垂直方向の所定の検出位置を順次設定して、前景の画像の画像データおよび頭頂位置を示すデータを基に、頭頂の位置から、設定した検出位置までの垂直方向の距離が、前景の画像の水平方向の幅に対して一定の関係となるか否かを判定する。具体的には、垂直方向の距離が、水平方向の幅の略1/2の長さになるかが判定される。垂直距離判定部21は、頭頂の位置から、設定した検出位置までの垂直方向の距離が、前景の画像の水平方向の幅の略1/2に等しいと判定された場合、設定した検出位置の垂直位置を示すデータを半径算出部22に供給する。

0032

半径算出部22は、垂直距離判定部21から供給された、頭頂の位置からの距離が前景の画像の水平方向の幅の略1/2に等しい検出位置の垂直位置を示すデータを基に、頭頂部半径を算出する。

0033

次に、図2を参照して、図1の画像処理装置1の頭頂部の半径の推定の処理を説明する。

0034

ステップS1において、背景分離部11は、入力された画像データを取得して、取得した画像データに、背景分離の処理を適用して、前景を抽出する。背景分離の処理の詳細は、図3を参照して後述する。

0035

背景分離部11は、背景分離の処理の結果得られた、人の画像が含まれている前景の画像の画像データを頭頂推定部12および頭頂部半径推定部13に供給する。

0036

ステップS2において、頭頂推定部12は、人の画像が含まれている前景の画像の画像データに、頭頂推定の処理を適用して、頭頂を推定する。頭頂推定の処理の詳細は、図6を参照して後述する。

0037

頭頂推定部12は、頭頂推定の処理の結果得られた、頭頂位置を示すデータを頭頂部半径推定部13に供給する。

0038

ステップS3において、頭頂部半径推定部13は、頭頂位置を示すデータおよび人の画像が含まれている前景の画像の画像データを基に、頭頂部半径算出の処理を実行して、人の画像における頭頂部の半径を算出する。頭頂部半径算出の処理の詳細は図8を参照して後述する。

0039

次に、ステップS1の背景分離の処理の詳細について、図3フローチャートを参照して説明する。

0040

ステップS21において、背景分離部11は、画像の画素の各画素値が所定の条件を満たすか否かを判定する。例えば、ステップS21において、背景分離部11は、“肌色”または“黒”を示す所定の範囲の値が設定されている閾値と、画像の画素の各画素値とを比較して、各画素値が閾値の範囲に含まれるかを基に、画像の画素の各画素値が所定の条件を満たすか否かを判定する。

0041

“肌色”を示す所定の範囲の値が設定されている閾値は、前景である、人の画像の皮膚の画像を識別するために使用される。“黒”を示す所定の範囲の値が設定されている閾値は、前景である、人の画像の髪または毛などの画像を識別するために使用されている。

0042

すなわち、この場合、画像の画素の各画素値が、“肌色”または“黒”の閾値で示される範囲に属する場合、人の画像なので、背景分離部11は、画素値が条件を満たすと判定する。

0043

また、例えば、ステップS21において、背景分離部11は、“青”を示す所定の範囲の値が設定されている閾値と、画像の画素の各画素値とを比較して、各画素値が閾値の範囲に含まれないかを基に、画像の画素の各画素値が所定の条件を満たすか否かを判定する。

0044

“青”を示す所定の範囲の値が設定されている閾値は、背景の画像を識別するために使用される。

0045

この場合、画像の画素の各画素値が、“青”の閾値で示される範囲に属さない場合、背景の画像ではなく、人の画像であるとして、背景分離部11は、画素値が条件を満たすと判定する。

0046

なお、ステップS21においては、画像の個々の画素値について、それぞれの画素値が所定の条件を満たすか否かが判定される。

0047

ステップS21において、画素値が所定の閾値の範囲内であると判定された場合、ステップS22に進み、背景分離部11は、閾値の範囲内であると判定された画素値を前景としての値に変換する。例えば、背景分離部11は、閾値の範囲内であると判定された画素値を「1」に変換する。この場合、閾値の範囲内であると判定されたすべての画素値は、「1」に設定されることになる。

0048

ステップS21において、画素値が所定の閾値の範囲内でないと判定された場合、ステップS23に進み、背景分離部11は、閾値の範囲内でないと判定された画素値を背景としての値に変換する。例えば、背景分離部11は、閾値の範囲内でないと判定された画素値を「0」に変換する。この場合、閾値の範囲内でないと判定されたすべての画素値は、「0」に設定されることになる。

0049

ここで、図4に示される画像の画像データが入力された場合の具体例を説明する。背景分離の処理において、画像データに含まれる各画素値について、所定の条件を満たすか否かが判定される。所定の条件を満たす場合には、その画素は前景の画素とされ、条件を満たさない場合には、その画素は背景の画素とされる。

0050

前景とされた画素の画素値には、所定の値が設定され、背景とされた画素の画素値には、他の値が設定される。例えば、前景とされた画素の画素値には、「1」が設定され、背景とされた画素の画素値には、「0」が設定される。すなわち、この場合、2値画像が生成されることになる。

0051

図5は、図4に示される画像に背景分離の処理を適合した場合の、背景分離の処理の結果である2値画像を示す図である。“肌色”または“黒”の閾値の範囲に属する画素値を前景とし、“肌色”または“黒”の閾値の範囲に属しない画素値を背景とした場合、図5に示されるように、人の画像が、「1」に対応する白色に表示され、背景の画像が、「0」に対応する黒色に表示される。なお、図5において、人の画像以外の白点はノイズによる誤検出部分を示す。

0052

背景分離の方法は、上述した例に限られるものではない。例えば、人物が動いていれば、画像の動きを示す動きベクトルを基に、動きベクトルが「0」である画素を背景として検出することで、背景分離をすることができる。

0053

次に、図2のステップS2の頭頂推定の処理の詳細について、図6のフローチャートを参照して説明する。

0054

ステップS31において、頭頂推定部12は、画像データで表される画像の処理対象ラインの垂直方向の位置に初期値を設定する。

0055

すなわち、図7に示されるように、背景分離された画像上の、垂直方向のある位置における水平の直線(ライン)を考え、ステップS31において、画像上のラインを特定する垂直方向の位置を表す初期値として、例えば、画像の上端部のラインの位置が設定される。

0056

ステップS32において、頭頂推定部12は、垂直位置で特定されるライン上の前景の画素の数が、閾値以上であるか否か判定する。例えば、ステップS32において、頭頂推定部12は、背景分離された結果、前景の画素値が「1」とされ、背景の画素値が「0」とされた2値画像について、垂直位置で特定されるライン上の、「1」である画素値の画素の数を求めて、求めた画素の数が、閾値以上であるか否か判定する。

0057

ステップS1の背景分離の処理において、背景画素前景画素として誤って検出してしまうおそれがない場合でかつ頭部の形状が、理想的な円である場合、閾値に「1」、またはそれに近い値を設定することができる。しかし、通常は、ノイズによる影響を除去するため、また、頭頂付近の形状が平坦である等のバラツキを考慮して、閾値としては、もっと大きい値が設定される。この値を小さくすれば精度は上がるが、ノイズによる誤検出のおそれが大きくなるので、両者のバランスを考えながら所定の値が設定される。

0058

ステップS32において、そのラインの前景の画素の数が閾値未満であると判定された場合、ステップS33に進み、頭頂推定部12は、垂直位置を1ライン分進める。すなわち、ステップS33において、頭頂推定部12は、処理対象ラインを下方向に1画素分移動させる。いまの場合、初期値から2番目のラインに変更される。

0059

ステップS34において、頭頂推定部12は、処理対象ラインの垂直位置が画像(画面)の外(最下端のラインより下のラインの位置)であるか否かを判定する。例えば、ステップS34において、頭頂推定部12は、予め記憶している画像の全ライン数と、画像の上端から垂直位置までの距離とを比較することにより、画像の上端から処理対象ラインの垂直位置までの距離が、画像の全ライン数を超えている場合、垂直位置が画像の外であると判定し、画像の上端から処理対象ラインの垂直位置までの距離が、画像の全ラインの数以下である場合、垂直位置が画像の外でないと判定する。

0060

ステップS34において、垂直位置が画像の外でない、すなわち、垂直位置が画像内であると判定された場合、ステップS32に戻り、2番目のラインについて、同様の処理が行なわれる。

0061

従って、処理対象ラインが、図7の垂直位置31の範囲内にあるとき、ステップS34において、垂直位置が画像の外でないと判定され、ステップS32に戻り、上述した処理が繰り返される。

0062

ステップS32乃至ステップS34の処理が繰り返されることにより、図7で示される画像上の処理対象ラインが、1画素分ずつ画像上の下側に順次移動する。

0063

一方、ステップS32において、前景の画素の数が閾値以上であると判定された場合、ステップS35に進み、頭頂推定部12は、前景の画素の数が閾値以上となる処理対象ラインの垂直位置を頭頂位置Ivとして出力する。

0064

図7に示される例においては、ステップS32乃至ステップS34の処理が繰り返されることにより、画像上の処理対象ラインが、1画素分ずつ画像上の下側に順次移動し、処理対象ラインが垂直位置32となった場合、垂直位置32におけるライン上の前景の画素の数が、閾値以上であるので、頭頂位置Ivは、垂直位置32となる。

0065

なお、ステップS34において、垂直位置が画像の外であると判定された場合、ステップS36に進み、頭頂推定部12は、頭頂位置を推定できなかった旨を示すエラーを出力する。エラーを出力した場合、頭頂位置を推定できなかったので、図2のステップS3の処理は実行されない。なお、ステップS32における閾値を、ある程度大きくすれば、頭頂位置Ivとして検出される位置は、実際の頭頂より下方の位置となる。そこで、その分を考慮して、検出された値に一定の値を加算した値を頭頂位置Ivとして出力するようにしてもよい。

0066

次に、図2のステップS3の頭頂部半径推定の処理の詳細について、図8のフローチャートを参照して説明する。

0067

ステップS51において、頭頂部半径推定部13の垂直距離判定部21は、画像データで表される画像の処理対象ラインの垂直方向の位置である垂直位置に初期値を設定する。この初期値は、人の頭の頂部に対応する。具体的には、図6のステップS35で出力された頭頂位置Iv(図7の垂直位置32)が初期値として設定される。

0068

続くステップS52の検出処理において、前景(頭部)の水平方向の幅である水平幅が過小に検出されることが想定される場合には、処理対象ラインの初期値を頭頂位置Ivよりも下の位置に設定することができる。また、この初期値を垂直位置Ivより下の位置に設定することで、所望の検出位置をより迅速に検出することが可能となる。

0069

ステップS52において、垂直距離判定部21は、処理対象ラインの前景の水平幅を算出する。例えば、ステップS52において、垂直距離判定部21は、背景分離された結果、前景の画素値が「1」とされ、背景の画素値が「0」とされた2値画像について、処理対象ライン上の、「1」である画素値の画素の数であって、画像の横方向に連続する画素の数を求めることによって、処理対象ラインの前景の水平幅wを算出する。図9に示されるように、処理対象ラインの前景の水平幅wは、処理対象ラインの頂部からの距離(ライン数)hにより変化する値である。

0070

具体的には、垂直距離判定部21は、例えば、処理対象ラインを含む、一定の範囲の連続する複数のライン(演算ライン)の前景の画素の数を求めて、求めた前景の画素の数を、そのラインの数で割り算して、処理対象ラインの垂直位置における前景の水平幅を算出する。

0071

例えば、水平幅wは、以下に示す式(1)により算出される。

0072

水平幅w=(演算ラインの前景の画素数)/(演算ラインの本数)・・・(1)

0073

図9に示される例において、両端に矢印が配された直線で示される処理対象ラインを基準として、上側のn本のラインと、下側のn本のラインの、合計(2n+1)本のラインが演算ラインとされる。そして、(2n+1)本の演算ラインの画素のうち、図中ハッチングを施して示す領域の前景の画素の数が、ラインの数(2n+1)で割り算されることにより、水平幅wが算出される。理論的には、1本のラインだけから水平幅wを算出することが可能であるが、そのようにするとノイズによる影響を受け易い。そこで、複数本のラインの平均値から水平幅wが演算される。

0074

ステップS53において、垂直距離判定部21は、頭頂位置Ivから、処理対象ラインまでの垂直方向の距離が、水平幅の1/2以上であるか否か判定する。

0075

ステップS53においては、人の頭頂部が球形(半球状)に近似する形状であることが仮定される。

0076

すなわち、図10乃至図15に示されるように、人の頭部の形状は、顔の向きに拘わらず略一定であると仮定される。図10および図13は、左側を向いている顔の画像を示し、図11および図14は、正面を向いている顔の画像を示し、図12および図15は、右側を向いている顔の画像を示す。

0077

人の頭頂部が球形に近似する形状なので、人の画像において、頭頂部は円形に近似する形状となり、図10乃至図12に示されるように、人の顔向きが変わっても、頭頂部の画像の形状はほとんど変化しない。

0078

すなわち、図13乃至図15に示されるように、人の画像における、頭頂部は円で近似することができる。人の画像における、頭頂部が円で近似できれば、円の中心Oから円周までの距離、すなわち、半径Rは、一定である。

0079

図13乃至図15に示されるように、頭頂部が円で近似されるとすれば、頭頂位置Ivは、円周上に位置するので、頭頂位置Ivから、頭頂部を近似する円の中心Oまでの距離と、画像において水平の直線上の半径Rとは等しい。

0080

半径Rは、直径の1/2なので、頭頂位置Ivから、頭頂部を近似する円の中心Oまでの距離は、画像において水平の直線上の直径(水平幅)の1/2に等しいことになる。

0081

図13乃至図15に示されるように、人の画像における、頭頂部は円で近似することができるので、頭頂位置Ivから、頭頂部を近似する円の中心Oまでの距離と、画像において水平の直線上の半径Rとが等しいという関係は、人の顔の向きが変わっても成立する。

0082

また、図13乃至図15に示されるように、人の画像における、頭頂部は円で近似することができるので、垂直方向の上端(頭頂位置Iv)より、処理対象ラインを下に向かって移動させた場合、移動の距離が小さいとき、処理対象ラインにおける頭頂部の幅の1/2は、頭頂位置Ivから処理対象ラインまでの距離よりも大きく、処理対象ラインが円の中心Oを通る位置(検出位置)になったとき、頭頂位置Ivから処理対象ラインまでの距離と等しくなる。すなわち、処理対象ラインが円の中心Oを通る状態の場合、頭頂位置Ivから処理対象ラインまでの垂直方向の距離と、頭頂部の水平方向の幅の1/2の値が等しくなる。

0083

このように、円の中心Oにおいて、頭頂位置Ivからの処理対象ラインの距離と水平方向の幅の1/2の値が等しくなる(一定の関係になる)ことを利用して、人の画像における、頭頂部を近似する円の中心の垂直方向の位置が求められる。

0084

ステップS53において、頭頂位置Ivから処理対象ラインまでの垂直方向の距離が、水平幅の1/2未満であると判定された場合、ステップS54に進み、垂直距離判定部21は、垂直位置を定数分進める。定数は、「1」または、式(1)で説明した、図9のハッチングを施した領域の幅(2n+1)とすることができる。

0085

図9に示される例の状態においては、垂直方向の距離hは水平幅wの1/2未満であるので、ステップS54において、処理対象ラインが定数分進められる。

0086

ステップS55において、垂直距離判定部21は、処理対象ラインが画像(画面)の外(最下端のラインより下のライン)であるか否かを判定する。例えば、ステップS55において、垂直距離判定部21は、予め記憶している画像の全ライン数と、画像の上端から処理対象ラインまでの距離とを比較することにより、画像の上端から処理対象ラインまでの距離が、画像の全ライン数を超えている場合、処理対象ラインが画像の外であると判定し、画像の上端から処理対象ラインまでの距離が、画像の全ラインの数以下である場合、処理対象ラインが画像の外でないと判定する。

0087

ステップS55において、処理対象ラインが画像の外でない、すなわち、処理対象ラインが画像内であると判定された場合、ステップS52に戻り、定数分進められた処理対象ラインについて、上述した処理が繰り返される。

0088

図16に示される例は、図9に示される例から、処理対象ラインが定数分進められた状態を示す。この状態でも、垂直方向の距離hは水平幅wの1/2未満であるので、ステップS54に進み、処理対象ラインが定数分進められる。ステップS55において、処理対象ラインが画像内であるので、処理は、ステップS52に戻り、上述した処理が繰り返される。

0089

ステップS52乃至ステップS55の処理が繰り返されることにより、図16に示される画像上の垂直位置が、定数分ずつ画面上の下側に順次移動する。

0090

一方、ステップS53において、頭頂位置Ivから垂直位置までの処理対象ラインの距離が、水平幅の1/2以上であると判定された場合、処理対象ラインが人の画像における、頭頂部を近似する円の中心Oの垂直方向の位置(検出位置)に到達したことになる。すなわち、この場合、その時点における処理対象ラインと頭頂との距離hが、前景としての人の頭頂の水平方向の幅の略1/2と等しいことになる。そこで、ステップS56に進み、半径算出部22は、その時点での処理対象ライン、すなわち、頭頂位置Ivから処理対象ラインまでの垂直方向の距離が、水平幅の1/2以上となる処理対象ラインにおける、水平幅の1/2を頭頂部半径として算出する。

0091

このように、図9図16、および図17に示されるように、ステップS52乃至ステップS55の処理が繰り返されることにより、画像上の垂直位置が、定数分(例えば、1画素)ずつ画像上の下側に移動し、ステップS53において、頭頂位置Ivから垂直位置までの垂直方向の距離hが、その垂直位置における水平幅wの略1/2以上となった場合、ステップS56において、頭頂部半径として、w/2が算出される。

0092

ステップS57において、頭頂部半径推定部13は、ステップS56において算出した頭頂部半径を図示せぬ後段の装置に出力して、処理は終了する。

0093

図17に示される例において、頭頂部半径として、w/2が出力される。

0094

なお、ステップS55において、処理対象ラインが画像の外であると判定された場合、ステップS58に進み、垂直距離判定部21は、頭頂部半径を出力できなかった旨を示すエラーを出力し、処理は終了する。

0095

次に、図2のステップS3頭頂部半径算出の他の処理の詳細について、図18のフローチャートを参照して説明する。

0096

ステップS71乃至ステップS75の処理は、図8における、ステップS51乃至ステップS55の処理とそれぞれ同様である。

0097

すなわち、ステップS71において、処理対象ラインの初期値が設定され、ステップS72乃至ステップS75の処理が繰り返されることにより、画像上の処理対象ラインが、定数分ずつ画像上の下側に順次移動し、ステップS73において、頭頂位置Ivから処理対象ラインまでの垂直方向の距離が、水平幅の1/2以上であると判定された場合、処理は、ステップS76に進む。

0098

ステップS76において、半径算出部22は、頭頂位置Ivから処理対象ラインまでの垂直方向の距離が、前景の水平幅の1/2以上となる垂直位置における、頭頂位置Ivから処理対象ラインまでの垂直方向の距離を頭頂部半径として算出する。

0099

すなわち、図13乃至図15を参照して説明したように、頭頂位置Ivは、円周上に位置し、頭頂部が円で近似されるとすれば、円の中心Oから円周までの距離、すなわち、半径Rは、一定であるので、頭頂位置Ivから処理対象ラインまでの垂直方向の距離は、頭頂部半径であると言える。

0100

図17に示される例において、垂直方向の距離hは水平幅wの1/2以上であるので、ステップS76において、頭頂部半径として、頭頂位置Ivから垂直位置までの距離hが算出される。

0101

ステップS77において、頭頂部半径推定部13は、ステップS76において算出した頭頂部半径を図示せぬ後段の装置に出力して、処理は終了する。

0102

図17に示される例において、頭頂部半径として、hが出力される。

0103

ステップS78の処理は、図8におけるステップS58の処理と同様であり、その説明は省略する。

0104

このように、図1に示される画像処理装置1は、頭部関係情報として、頭頂部半径を算出することができる。

0105

図19は、本発明に係る画像処理装置の一実施の形態の他の構成を示すブロック図である。図1に示す場合と対応する部分には、同一の番号が付してあり、その説明は適宜省略する。この画像処理装置51は、背景分離部11、頭頂推定部12、および頭頂部中心推定部61を有している。

0106

背景分離部11と頭頂推定部12は、図1における場合と同様の機能を有している。

0107

頭頂部中心推定部61は、背景分離部11から供給された、背景が分離された前景の画像データ、および頭頂推定部12から供給された頭頂位置を示すデータを基に、頭頂部中心位置を推定し、推定された頭頂部中心位置を示す頭頂部中心データを図示せぬ後段の装置に出力する。

0108

頭頂部中心推定部61は、垂直距離判定部21および中心位置算出部71により構成される。

0109

垂直距離判定部21は、図1における場合と同様の機能を有する。

0110

中心位置算出部71は、垂直距離判定部21から供給された、頭頂の位置からの距離が前景の画像の水平方向の幅の1/2に等しい、垂直方向の垂直位置を示すデータなどを基に、頭頂部中心位置を算出する。

0111

次に図20のフローチャートを参照して、図19の画像処理装置51による、頭頂部の中心の推定の処理を説明する。

0112

図20における、ステップS101およびステップS102の処理のそれぞれは、図2における、ステップS1およびステップS2の処理のそれぞれと同様である。すなわち、これらの処理により、背景が分離された画像が得られ、頭頂位置Ivが得られる。

0113

ステップS103において、頭頂部中心推定部61は、頭頂位置を示すデータおよび人の画像が含まれている前景の画像データを基に、頭頂部中心算出の処理を実行して、人の画像における頭頂部の中心位置を算出して、処理は終了する。

0114

次に、図20のステップS103の頭頂部中心算出の処理の詳細について、図21のフローチャートを参照して説明する。ステップS121乃至ステップS125の処理のそれぞれは、図8のステップS51乃至ステップS55の処理のそれぞれと同様なので、その説明は省略する。

0115

ステップS121乃至ステップS125の処理で、頭頂からの距離が、人の頭頂部の水平幅の略1/2である処理対象ラインが検出された場合、ステップS126において、中心位置算出部71は、頭頂部中心の水平位置として、頭頂位置Ivから処理対象ラインまでの垂直方向の距離が、水平幅の1/2以上となる所定の処理対象ラインにおける、前景の水平幅wの中心を求める。

0116

例えば、頭頂部中心の水平位置である水平幅wの中心として、垂直方向の距離hが水平幅wの略1/2となる垂直位置における、図9図16においてハッチングを施して示した領域(処理対象領域)の水平方向の重心を求めることができる。

0117

以下、処理対象領域の水平方向の重心を、重心Ghとする。

0118

ステップS127において、中心位置算出部71は、頭頂位置Ivから処理対象ラインまでの垂直方向の距離が、水平幅wの略1/2となる垂直位置における水平幅wの1/2を、頭頂位置Ivに加算することで、頭頂部中心の垂直位置を算出する。

0119

図17に示される例においては、中心位置算出部71は、頭頂部中心の垂直位置として、(頭頂位置Iv+(水平幅w/2))を算出する。

0120

ステップS128において、頭頂部中心推定部61は、ステップS126およびステップS127の処理において算出した水平位置および垂直位置で示される頭頂部中心位置を出力する。

0121

図17に示される例においては、頭頂部中心位置推定部61は、頭頂部中心位置として、(重心Gh、頭頂位置Iv+(水平幅w/2))を出力する。

0122

なお、ステップS125において、処理対象ラインの垂直位置が画像の外であると判定された場合、ステップS129に進み、垂直距離判定部21は、頭頂部中心位置を出力できなかった旨を示すエラーを出力し、処理は終了する。

0123

次に、図20のステップS103の処理に対応する、頭頂部中心算出の他の処理の詳細について、図22のフローチャートを参照して説明する。

0124

ステップS141乃至ステップS146の処理のそれぞれは、図21における、ステップS121乃至ステップS126の処理のそれぞれと同様であり、その説明は省略する。

0125

この場合の処理では、ステップS147において、中心位置算出部71は、水平幅wの略1/2となる、頭頂位置Ivから垂直位置までの垂直方向の距離を、頭頂位置Ivに垂直方向の距離hを加算することで、頭頂部中心の垂直位置を算出する。

0126

図17に示される例においては、中心位置算出部71は、頭頂部中心の垂直位置として、(頭頂位置Iv+垂直方向の距離h)を算出する。

0127

ステップS148において、頭頂部中心推定部61は、ステップS146およびステップS147において算出した水平位置および垂直位置で示される頭頂部中心位置を出力して、処理は終了する。

0128

図17に示される例においては、頭頂部中心推定部61は、頭頂部中心位置として、(重心Gh、頭頂位置Iv+垂直方向の距離h)を出力する。

0129

ステップS149の処理は、図21における、ステップS129の処理と同様である。

0130

このように、図19の画像処理装置51は、頭部関係情報として、頭頂部中心位置を算出することができる。

0131

以上の処理においては、頭頂部を半円形と仮定したが、楕円、その他の形状に仮定してもよい。この場合においても、頭部の水平方向の幅と頭頂からの距離が一定の関係(仮定した形状によって規定される)になる検出位置が検出される。

また、以上の処理においては、画素アスペクト比が1対1であることを前提としたが、画素アスペクト比が1対1以外の場合であっても同様に処理を行うことができる。

0132

図23および図24は、画素アスペクト比を説明する図である。図23および図24において、縦横の直線に囲まれた四角は、画像における画素を示す。

0133

画素アスペクト比a:bが1:1である場合、図23に示される例のように、画素の縦の長さbと、横の長さaは等しく、画素は正方形である。縦横の比率が1:1の場合、垂直方向の長さと、水平方向の長さとの比率(例えば、頭頂位置Ivからの垂直位置と、水平幅wとの比率)を変更することなく、頭部関係情報(例えば、頭頂部半径)が算出される。

0134

すなわち、例えば、縦横の比率が1:1の場合、垂直位置距離判定部21は、頭頂位置Ivから垂直位置までの垂直方向の距離が、水平幅wの1/2以上であるか否かの判定をし、その判定結果に基づいて、頭部関係情報を算出する。

0135

これに対して、図24に示されるように、画素アスペクト比a:bが1:1ではない場合、画素は長方形となる。

0136

画素アスペクト比a:bが1:1ではない場合、水平方向の長さに、b/aを乗算するか、垂直方向の長さにa/bを乗算してから頭部関係情報(例えば、頭頂部半径)が算出される。

0137

例えば、画素アスペクト比a:bが1:1ではない場合、垂直位置距離判定部21は、水平幅wにb/aを乗算してから、頭頂位置Ivから垂直位置までの垂直方向の距離が、b/aが乗算された水平幅wの1/2以上であるか否かの判定をし、その判定結果に基づいて、頭部関係情報を算出する。

0138

次に、頭部関係情報を求めて、頭部関係情報を基に、顔の向きを推定するか、または視線を推定する場合の実施の形態を説明する。

0139

まず、頭部関係情報として、人の画像の頭頂部の半径を求めて、頭頂部の半径を基に、顔の向きを推定する画像処理装置について説明する。

0140

図25は、顔の向きを推定する、画像処理装置101の一実施の形態の構成を示すブロック図である。図25において、図1に示される場合と対応する部分には、同一の番号を付してあり、その説明は適宜省略する。

0141

背景分離部11、頭頂推定部12、および頭頂部半径推定部13により、画像データを基に、推定された頭頂部半径は重心点検出領域設定部122および角度検出部125に供給される。

0142

領域決定部121は、画像データを基に、肌色領域および黒色領域を決定し、決定した肌色領域および黒色領域を示すデータを重心点検出領域設定部122および重心点検出部123に供給する。

0143

重心点検出領域設定部122は、頭頂部半径推定部13より供給される頭頂部半径を基に、色領域決定部121より供給されるデータに基づく肌色領域および黒色領域から重心点検出領域を抽出し、重心点検出領域を示すデータを重心点検出部123に供給する。

0144

重心点検出部123は、色領域決定部121より供給されるデータに基づく肌色領域および黒色領域、および重心点検出領域設定部122より供給されるデータに基づく重心点検出領域を基に、重心点検出領域の肌色領域Aおよび黒色領域Bの両方からなる領域の重心点、および肌色領域の重心点を検出し、検出した重心点検出領域の肌色領域Aおよび黒色領域Bの両方からなる領域の重心点および肌色領域の重心点を重心点X成分差分検出部124に供給する。

0145

重心点X成分差分検出部124は、重心点検出部123より検出される重心点検出領域の重心点、および肌色領域の重心点を基に、重心点検出領域の重心点と、肌色領域の重心点とのX軸方向の差分(X成分の差分)を検出し、検出したX成分の差分を角度検出部125に供給する。

0146

角度検出部125は、頭頂部半径推定部13より供給される頭頂部半径、および重心点X成分差分検出部124より供給される重心点検出領域の重心点と、肌色領域の重心点とのX成分の差分を基に、顔の向きを検出し、検出した顔の向きを示す顔向きデータを出力する。

0147

図26は、図25に示される画像処理装置101による、顔向きの検出の処理を説明するフローチャートである。

0148

ステップS201において、背景分離部11乃至頭頂部半径推定部13は、頭頂部半径推定の処理を実行する。

0149

ステップS201における、頭頂部半径推定の処理の詳細について、図27のフローチャートを参照して説明する。

0150

ステップS221において、背景分離部11は、背景分離の処理を実行する。背景分離の処理の詳細は、図3のフローチャートを参照して説明した処理と同様なので、その説明は省略する。

0151

ステップS222において、頭頂推定部12は、頭頂推定の処理を実行する。頭頂推定の処理の詳細は、図6のフローチャートを参照して説明した処理と同様なので、その説明は省略する。

0152

ステップS223において、頭頂部半径推定部13は、頭頂部半径推定の処理を実行して、頭頂部半径推定の処理は終了する。頭頂部半径推定の処理の詳細は、図8のフローチャートまたは図18のフローチャートを参照して説明した処理と同様なので、その説明は省略する。

0153

すなわち、これらの処理により、上述したように人の頭部の半径が算出される。以下、推定された頭頂部半径を、Rhとする。

0154

図26に戻り、ステップS202において、色領域決定部121は、肌色領域Aおよび黒色領域Bを決定する。例えば、ステップS202において、色領域決定部121は、図28Aに示されるような、人の顔を含む画像データが供給されると、供給された画像データを基に、画像の色彩(色)情報(画素値)を用いて、図28Bに示されるように、肌色領域A(図28B中、白抜き部分)および黒色領域(図28B中、影が付されている部分)を決定する。すなわち、肌が露出して肌色に見える部分(顔部分および首部分)が、肌色領域Aとなり、髪の毛が存在し黒く見える部分(頭部)が、黒色領域Bとなる。肌の色と髪の毛の色は、対象となる人種によって適宜設定可能である。

0155

ステップS203において、重心点検出領域設定部122は、重心点検出領域Wを抽出する。すなわち、重心点検出領域設定部122は、肌色領域Aおよび黒色領域Bからなる領域の上端を検出し、その上端上に引かれる、X軸と平行な線を基準線B1とする。図28に示される例において、黒色領域Bが肌色領域Aより上側に位置するので、黒色領域Bの上端(頭の先端)上に引かれる、X軸と平行な線が基準線B1とされる。次に、重心点検出領域設定部122は、基準線B1を、距離L1分だけ下方(Y軸が大きくなる方向)にX軸に対して平行移動させ、基準線B2を設定し、さらに基準線B2を、距離L2分だけ下方にX軸に対して平行移動させ、基準線B3を設定する。

0156

但し、距離L1および距離L2は、頭頂部半径Rhを基に、以下に示す式(2)および式(3)により算出される。

0157

L1=Rh×L1_rat・・・(2)

0158

但し、式(2)において、L1_ratは定数である。

0159

L2=Rh×L2_rat・・・(3)

0160

但し、式(3)において、L2_ratは定数である。

0161

このように、重心点検出領域設定部122は、基準線B1、基準線B2、および基準線B3を設定し、図28Cに示されるように、基準線B2と基準線B3で区分されるその間の領域(重心点検出領域W)を抽出する。

0162

距離L1および距離L2は、頭頂部半径Rhを基に求められるので、基準線B2および基準線B3は、画面における人の頭頂部の画像の大きさ(画像のスケール)に応じて設定される。すなわち、重心点検出領域Wは、画像のスケールに応じて抽出される。その結果、正確な抽出が可能となる。

0163

ステップS204において、重心点検出部123は、抽出した重心点検出領域Wに存在する肌色領域Aおよび黒色領域Bの両方からなる領域の重心点G1と、重心点検出領域Wに存在する肌色領域Aの重心点G2を検出し、それぞれのX軸上の値を検出する。図28Cに、図28Bの重心点検出領域Wの肌色領域Aおよび黒色領域Bの両方からなる領域の重心点G1およびそのX軸上の値X1、並びに肌色領域Aの重心点G2およびそのX軸上の値X2が示されている。なお、この例の場合、値X1は値X2とほぼ同値となっている。

0164

ステップS205において、重心点X成分差分検出部124は、重心点検出部123で検出した重心点G1の値X1および重心点G2の値X2の差D_orgを算出する。図28に示される例においては、値X1および値X2はほぼ同値であるので、その差D_orgは「0」となる。

0165

ステップS206において、角度検出部125は、ステップS205において算出した差D_orgを正規化し、正規化後の差Dを基に、顔の向きを検出する。

0166

正規化後の差Dは、以下に示す式(4)により算出される。

0167

D=D_org/Rh・・・(4)

0168

具体的には、角度検出部125は、図29で示されるような、差Dと顔の向きの角度(正面に対する角度)との対応関係を示すデータを予め有して(記憶して)おり、差Dと顔の向きの角度との対応関係を示すデータを参照して、差Dに対応する顔の向きの角度Vを検出する。図29に示される例において、D=0には、V=0が対応しているので、0度が検出される。

0169

正規化された差Dを基に、角度を検出するので、画像のスケールに影響されることなく、より正確に角度を検出することができる。

0170

また、図29で示される対応関係は、例えば、以下に示す式(5)により算出される。

0171

D=c × sin V・・・(5)

0172

なお、cは、所定の定数である。

0173

また、図29に示される例において、正の値の角度Vは右方向を向いていることを示し、負の値の角度Vは左方向を向いていることを示している。

0174

例えば、人の顔が右方向を向いている場合における以上の処理は次のようになる。

0175

すなわち、ステップS201において、頭頂部半径推定部12は、頭頂部半径Rhを推定し、ステップS202において、色領域決定部121は、図30Bに示されるように、肌色領域Aおよび黒色領域Bを決定し、ステップS203において、重心検出領域設定部122は、重心点検出領域Wを設定する。次に、ステップS204において、重心点検出部123は、重心点G1(重心点検出領域Wに存在する肌色領域Aおよび黒色領域Bの重心点)のX軸上の値X1、および重心点G2(重心点検出領域Wに存在する肌色領域Aの重心点)のX軸上の値X2を検出し、ステップS205において、重心点X成分差分検出部124は、値X1および値X2より、差D_orgを算出する。次に、ステップS206において、角度検出部125は、差D_orgを基に算出された差Dに対応する顔の向きの角度Vを検出する。例えば、図30における、差Dの値である差Deを基に、図29で示される対応関係より、正面に対して右方向を向いていることを示す角度Veが検出される。

0176

このように、画像上のノイズなどの外乱要素が存在しても、頭頂部半径Rhをより正確に推定して、推定された頭頂部半径Rhを基に、顔の向きを示す角度Vを検出するようにしたので、より正確な顔の向きを検出することができるようになる。

0177

次に、頭頂部関係情報として、人の画像の頭頂部の半径および頭頂部中心位置を求めて、頭頂部の半径および頭頂部中心位置を基に、視線の向きを推定する画像処理装置について説明する。

0178

図31は、視線の向きを推定する、画像処理装置151の一実施の形態の構成を示すブロック図である。

0179

図31において、図1または図19で示される場合と対応する部分には、同一の番号を付してあり、その説明は適宜省略する。

0180

頭頂部半径推定部13は頭頂部の半径を推定し、推定した頭頂部の半径を目輪郭検出範囲設定部171に供給する。頭頂部中心推定部61は、頭頂部中心位置を推定し、目輪郭検出範囲設定部171に供給する。

0181

目輪郭検出範囲設定部171は、頭頂部中心推定部61から供給された頭頂部中心位置、および頭頂部半径推定部13から供給された頭頂部半径を基に、目の輪郭が検出される範囲を設定し、設定した範囲を目輪郭検出部172に供給する。

0182

目輪郭検出部172は、目輪郭検出範囲設定部171より供給された、目の輪郭が検出される範囲における画像データを基に、目の輪郭を検出し、検出した目の輪郭を示すデータを鼻孔検出部173、眼球中心/半径推定部174、および瞳孔中心検出部175に供給する。

0183

鼻孔検出部173は、画像データ、および目輪郭検出部172より供給された、目の輪郭を基に、鼻孔を検出し、検出した鼻孔を示すデータを眼球中心/半径推定部174に供給する。

0184

眼球中心/半径推定部174は、目輪郭検出部172より供給された目の輪郭を示すデータ、および鼻孔検出部173より供給された鼻孔を示すデータを基に、眼球の中心および半径を推定し、眼球の中心および半径を示すデータを視線検出部176に供給する。

0185

瞳孔中心検出部175は、画像データ、および目輪郭検出部172より供給された目の輪郭を示すデータを基に、瞳孔の中心位置を検出し、検出した瞳孔の中心位置を示すデータを視線検出部176に供給する。

0186

視線検出部176は、眼球中心/半径推定部174より供給された眼球の中心および半径を示すデータ、および瞳孔中心検出部175より供給された瞳孔の中心位置を示すデータを基に、視線を検出する。

0187

次に、図32のフローチャートを参照して、図31の画像処理装置151による、視線の検出の処理を説明する。

0188

ステップS301において、背景分離部11、頭頂推定部12、および頭頂部中心推定部61は、頭頂部中心推定の処理を行う。

0189

図33は、ステップS301に対応する、頭頂部中心推定の処理の詳細を説明するフローチャートである。

0190

ステップS321において、背景分離部11は、背景分離の処理を実行する。背景分離の処理の詳細は、図3のフローチャートを参照して説明した処理と同様なので、その説明は省略する。

0191

ステップS322において、頭頂推定部12は、頭頂推定の処理を実行する。頭頂推定の処理の詳細は、図6のフローチャートを参照して説明した処理と同様なので、その説明は省略する。

0192

ステップS323において、頭頂中心推定部61は、頭頂部中心算出の処理を実行して、頭頂部中心推定の処理は終了する。頭頂部中心算出の処理の詳細は、図21または図22のフローチャートを参照して説明した処理と同様なので、その説明は省略する。

0193

すなわち、上述したように、以上の処理により頭頂部中心が推定される。以下、推定された頭頂部中心位置を、C1とする。

0194

図32に戻り、ステップS302において、頭頂部半径推定部13は、頭頂部半径算出の処理を実行する。頭頂部半径算出の処理の詳細は、図8または図18のフローチャートを参照して説明した処理と同様であるので、その説明は省略する。これにより、頭頂部半径Rhが算出される。

0195

ステップS303において、目輪郭検出範囲設定部171は、頭頂部中心推定部61より供給された頭頂部中心位置C1、および頭頂部半径推定部13より供給された頭頂部半径Rhを基に、目の輪郭が検出される輪郭検出範囲を設定する。例えば、ステップS303において、頭頂部中心推定部61より供給された頭頂部中心位置C1、および頭頂部半径推定部13より供給された頭頂部半径Rhを基に、図34に示されるように、目の輪郭検出範囲は、中心を頭頂部中心位置C1とし、半径を頭頂部半径Rhとする円191の内側の範囲として設定される。

0196

ステップS304において、目輪郭検出部172は、目の輪郭検出範囲における、画像データの色彩情報を用いることで、顔画像における両目の輪郭を検出する。すなわち、供給された画像の色彩情報からステップS303で設定した目輪郭検出範囲内で、例えば肌、白目、黒目等の色領域を抽出し、それら抽出した色領域の境界を求めること等により、図35に示すように、右目および左目の輪郭Eを検出する。なお、図35においては、片目のみ示している。

0197

目の輪郭Eは、頭頂部の内側に存在し、ステップS303において、目の輪郭検出範囲が、頭頂部中心位置C1および頭頂部半径Rhを基に設定されるようにしたので、ステップS304において、目輪郭検出部172は、顔画像における両目の輪郭Eをより確実に検出することができる。

0198

ステップS305において、鼻孔検出部173は、ステップS304の処理で検出された両目のそれぞれの輪郭Eに基づいて、鼻孔を検出する。例えば、ステップS305において、鼻孔検出部173は、両目のそれぞれの輪郭Eに基づいて、右目の内側端点F1および外側端点F2の位置、並びに左目の内側端点F1および外側端点F2の位置を求め、それら右目および左目のそれぞれの内側端点F1および外側端点F2の位置を基準として、図36に示されるような鼻孔を検索するための検索範囲NEを決定し、検索範囲NE内から鼻孔NHの位置を検出する。すなわち、鼻孔検出部173は、左右両目について、図35に示されるように、それぞれ目の輪郭Eを構成する画素集合の重心Qと、目の輪郭Eを構成する画素集合の2次モーメント(線に関する慣性)を最小にする線Mを求め、さらに、目の輪郭Eを構成する画素集合の中から、線Mの方向において重心Qからの距離が最大となる距離L3、L4の位置の画素を、重心Qから左右方向に1つずつ求め、これらの画素位置を上記内側端点F1と外側端点F2とする。

0199

なお、画素集合の2次モーメント(線に関する慣性)を最小にする線Mの算出については、図39を参照して後述する。

0200

次に、図36に示されるように、鼻孔検出部173は、上述のようにして求めた右目の内側端点F1および外側端点F2の位置と、左目の内側端点F1および外側端点F2の位置とを基準とし、それら各内側端点F1および外側端点F2から下方側に、鼻孔を検索するための探索範囲NEを決定する。ここで、鼻孔NH部分の画像は他の部分の画像と比較して暗く写るので、探索範囲NE内で、輝度が低い画像部分を鼻孔NHの位置として検出する。

0201

ステップS306において、眼球中心/半径推定部174は、眼球の中心および半径を推定する。例えば、ステップS306において、眼球中心/半径推定部174は、図37に示されるように、右目の内側端点F1および外側端点F2の位置と、左目の内側端点F1および外側端点F2の位置と、鼻孔NHの位置との幾何学的な位置関係とに基づいて、眼球EBの中心位置ECおよび眼球EBの半径rを推定する。

0202

ステップS307において、瞳孔中心検出部175は、右目の輪郭Eおよび左目の輪郭E内の画像の輝度情報を用いて、瞳孔の中心を検出する。例えば、ステップS307において、瞳孔中心検出部175は、図36に示されるように、瞳孔EAの中心位置EACを検出する。

0203

ステップS308において、視線検出部176は、視線の方向を検出して、処理は終了する。例えば、ステップS308において、視線検出部176は、図38に示されるように、ステップS306の処理で検出した眼球EBの中心位置ECと、ステップS307の処理で検出した瞳孔EAの中心位置EACとを結ぶベクトルEVを演算し、得られたベクトルEVを視線の方向として検出する。

0204

以上のように、視線が検出される。

0205

なお、図35で示される、輪郭Eのような特定の画素集合の2次モーメントを最小にする線Mは、例えば、以下のような演算により求めることができる。ここでは、図39に示されるように、式(6)で表される直線Mを例に説明する。

0206

0207

輪郭Eの画素集合上の各点(xi,yi)と直線Mとの距離をRiとするとき、直線Mに関する2次モーメントmは、式(7)のように表すことができる。

0208

0209

すなわち、2次モーメントを最小にする直線Mとは、式(7)のmを最小にする直線Mのことである。θは直線Mの傾きを表し、ρは原点から直線Mまでの距離を表す。結論を述べると、式(7)のmを最小にするには、式(7)中のθ、ρとして、式(8)および式(9)の条件を満たすものを使用する。

0210

0211

0212

なお、式(9)の(x0sinθ−y0cosθ+ρ=0)は、直線Mが画素集合の重心を通ることを意味する。

0213

但し、式(8)および式(9)において、a,b,cは、式(10)、式(11)、および式(12)で表される。なお、(x0,y0)は画素集合の重心である。

0214

0215

0216

0217

以上のように、画像上のノイズなどの外乱要素が存在しても、頭頂部中心位置および頭頂部半径をより正確に推定して、推定された頭頂部中心位置および頭頂部半径を基に、目の輪郭の検出範囲を設定して、目の輪郭を検出するようにしたので、より確実により正確な視線が検出されるようになる。

0218

上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用パーソナルコンピュータなどに、記録媒体からインストールされる。

0219

図40は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)201は、ROM(Read Only Memory)202、または記録部208に記録されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。

0220

CPU201にはまた、バス204を介して入出力インタフェース205が接続されている。入出力インタフェース205には、キーボードマウスマイクロホンなどよりなる入力部206、ディスプレイスピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行する。そして、CPU201は、処理の結果得られた画像等を出力部207に出力する。

0221

入出力インタフェース205に接続されている記録部208は、例えばハードディスクなどで構成され、CPU201が実行するプログラムや各種のデータを記録する。通信部209は、インターネット、その他のネットワークを介して外部の装置と通信する。この例の場合、通信部209は、入力画像を取得するか、または出力画像を出力する、外部とのインタフェースとして動作する。

0222

また、通信部209を介してプログラムを取得し、記録部208に記録してもよい。

0223

入出力インタフェース205に必要に応じて接続されるドライブ210は、磁気ディスク221、光ディスク222、光磁気ディスク223、或いは半導体メモリ224などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部208に転送され、記録される。

0224

一連の処理をさせるプログラムが格納されている記録媒体は、図40に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク221(フレキシブルディスクを含む)、光ディスク222(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク223(MD(Mini-Disc)(商標)を含む)、若しくは半導体メモリ224などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM202や、記録部208に含まれるハードディスクなどで構成される。

0225

なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータモデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線通信媒体を介してコンピュータにインストールされるようにしてもよい。

0226

また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。

0227

なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。

図面の簡単な説明

0228

本発明に係る画像処理装置の一実施の形態の構成を示すブロック図である。
頭頂部の半径の推定の処理を説明するフローチャートである。
背景分離の処理の詳細を説明するフローチャートである。
入力画像の例を示す図である。
背景分離の処理の結果である2値画像の例を示す図である。
頭頂部推定の処理の詳細を説明するフローチャートである。
頭頂部推定を説明する図である。
頭頂部半径算出の処理の詳細を説明するフローチャートである。
画像データで表される画像の垂直方向の位置である垂直位置を説明する図である。
人の頭頂部の形状を説明する図である。
人の頭頂部の形状を説明する図である。
人の頭頂部の形状を説明する図である。
人の頭頂部の形状を説明する図である。
人の頭頂部の形状を説明する図である。
人の頭頂部の形状を説明する図である。
画像データで表される画像の処理対象ラインの垂直位置を説明する図である。
画像データで表される画像の処理対象ラインの垂直位置を説明する図である。
頭頂部半径算出の他の処理を説明するフローチャートである。
本発明に係る画像処理装置の一実施の形態の他の構成を示すブロック図である。
頭頂部の中心の推定の処理を説明するフローチャートである。
頭頂部中心算出の処理の詳細を説明するフローチャートである。
頭頂部中心算出の他の処理の詳細を説明するフローチャートである。
画素アスペクト比を説明する図である。
画素アスペクト比を説明する図である。
本発明に係る画像処理装置の一実施の形態のさらに他の構成を示すブロック図である。
顔の向きの検出の処理を説明するフローチャートである。
頭頂部半径推定の処理を説明するフローチャートである。
画像データおよび重心点検出領域の例を示す図である。
差Dと顔の向きの角度との対応を示す図である。
画像データおよび重心点検出領域の他の例を示す図である。
本発明に係る画像処理装置の一実施の形態のさらに他の構成を示すブロック図である。
視線の検出の処理を説明するフローチャートである。
頭頂部中心推定の処理を説明するフローチャートである。
目の輪郭検出範囲の設定を説明する図である。
目の両端位置の検出を説明する図である。
鼻孔の検索範囲を説明する図である。
目の両端位置、鼻孔位置眼球中心位置を説明する図である。
視線の方向の検出を説明する図である。
画素集合の2次モーメントを最小にする線を説明する図である。
パーソナルコンピュータの構成を説明するブロック図である。

符号の説明

0229

11背景分離部, 12頭頂推定部, 13頭頂部半径推定部, 21垂直距離判定部, 22 半径算出部, 61 頭頂部中心推定部, 71 中心位置算出部, 121 色領域決定部, 122重心点検出領域設定部, 123重心点検出部, 124 重心点X成分差分検出部, 125角度検出部, 171 目輪郭検出範囲設定部, 172 目輪郭検出部, 173鼻孔検出部, 174眼球中心/半径推定部, 175瞳孔中心検出部, 176視線検出部, 208 記録部, 221磁気ディスク, 222光ディスク, 223光磁気ディスク, 224 半導体メモリ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • ジャパンモード株式会社の「 メイクアップ支援システム、及びメイクアップ支援方法」が 公開されました。( 2020/02/13)

    【課題】 ユーザ端末と接続した状態でメイクアップの施術に関するアドバイスを行い、施術すべきメイクアップに応じたメイクアップ支援システムを提供する。【解決手段】ユーザ端末5と専門員装置3とを接続した状... 詳細

  • 株式会社デンソーテンの「 画像処理装置及び画像処理方法」が 公開されました。( 2020/02/13)

    【課題】障害物が存在する場所を自車両が通過しようとするときに、事前に通過可能かをユーザが容易に把握できる画像処理技術を提供する。【解決手段】画像処理装置は、撮影画像取得部と、表示画像生成部と、を備える... 詳細

  • エイアイビューライフ株式会社の「 情報処理装置」が 公開されました。( 2020/02/13)

    【課題】被介護者を適切かつ迅速に介護することができないこと。【解決手段】本発明の情報処理装置は、所定領域の距離画像を取得する距離画像取得手段と、距離画像に基づいて当該距離画像内の第一人物を検出する検出... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ