JP2018097573A - 顔向き推定用コンピュータプログラム、顔向き推定装置及び顔向き推定方法 - Google Patents

顔向き推定用コンピュータプログラム、顔向き推定装置及び顔向き推定方法 Download PDF

Info

Publication number
JP2018097573A
JP2018097573A JP2016241143A JP2016241143A JP2018097573A JP 2018097573 A JP2018097573 A JP 2018097573A JP 2016241143 A JP2016241143 A JP 2016241143A JP 2016241143 A JP2016241143 A JP 2016241143A JP 2018097573 A JP2018097573 A JP 2018097573A
Authority
JP
Japan
Prior art keywords
face
orientation
image
assumed
represented
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016241143A
Other languages
English (en)
Other versions
JP6897082B2 (ja
Inventor
中山 收文
Osafumi Nakayama
收文 中山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016241143A priority Critical patent/JP6897082B2/ja
Priority to US15/794,061 priority patent/US10740923B2/en
Priority to EP17198585.6A priority patent/EP3336753A3/en
Publication of JP2018097573A publication Critical patent/JP2018097573A/ja
Application granted granted Critical
Publication of JP6897082B2 publication Critical patent/JP6897082B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/59Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
    • G06V20/597Recognising the driver's state or behaviour, e.g. attention or drowsiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30268Vehicle interior

Abstract

【課題】画像に表された顔の向きの推定精度を向上できる顔向き推定用コンピュータプログラムを提供する。【解決手段】顔向き推定用コンピュータプログラムは、仮定された複数の顔の向きのそれぞれについて、入力画像に表された顔の向きをその仮定された顔の向きに応じて所定の向きへ変換した顔向き変換画像を生成し、仮定された顔の向きごとに、顔向き変換画像に表された顔を反転して反転顔画像を生成し、反転顔画像に表された顔の向きを仮定された顔の向きとなるよう変換するか、入力画像に表された顔の向きをその仮定された顔の向きに応じて所定の向きへ変換し、変換結果に基づいて、仮定された顔の向きごとに、反転顔画像に表された顔と入力画像に表された顔間の相違度を表す評価値を算出し、評価値に基づいて、仮定された顔の向きのうちの一つを入力画像に表された顔の向きとして特定する、ことをコンピュータに実行させるための命令を含む。【選択図】図8

Description

本発明は、例えば、画像上に表された顔の向きを推定する顔向き推定用コンピュータプログラム、顔向き推定装置及び顔向き推定方法に関する。
顔が表された画像から、顔の向きを推定する技術が研究されている。
例えば、ドライバの顔の向きを検知するための顔向き検知センサが知られている。この顔向き検知センサは、入力画像から検出されたエッジに基づいて顔端及び顔部品を検出し、検出された顔端及び顔部品に基づいて顔中心を推定する。そしてこの顔向き検知センサは、顔が円筒であるという仮説に基づいて顔端と顔中心から顔向き角度を演算する。
また、顔向き推定の他の技術では、顔の複数の特徴点にそれぞれ対応する複数のノードの位置を定めた3次元モデルの各ノードが顔の画像上に射影される。そして各ノードの射影点に基づいて、現在の3次元モデルと各特徴点の位置のずれを示す誤差推定量が求められ、その誤差推定量と現在の3次元モデルとに基づいて、画像における顔の各特徴点の3次元位置が推定され、その結果に基づいて顔の向きが推定される。さらに、画像中の顔の向きが変換されて正面顔が作成され、その正面顔の左右対称性の度合いに基づいて顔の向きが推定される技術が知られている(例えば、非特許文献1、特許文献1及び特許文献2を参照)。
特開2007−249280号公報 特開2004−94491号公報
林他、「運転者監視のための映像処理技術」、映像情報メディア学会誌、Vol.61、No.12、pp.1701-1704、2007年
対象者の顔の向きを高精度で推定することが求められることがある。例えば、車両の運転支援装置では、車両のドライバが前方を視認せずに脇見をしている場合に、ドライバに対して警告を発せるように、ドライバの顔の向きを常に正確に推定することがもとめられる。
しかしながら、上記の顔向き検知センサでは、人の顔の形状が、実際とは異なる円筒形状に仮定されているため、推定される顔の向きの誤差が大きくなることがある。また、3次元モデルを利用して顔の向きを推定する技術では、特に誤差推定量が小さい場合に、顔の各特徴点の位置のずれが顔の個人性によるものか、3次元モデルに表された顔の向きと画像上の顔の向きとのずれによるものかが区別されないことがある。このような場合、推定された顔の向きの誤差が大きくなることがある。さらに、正面顔の左右対称性の度合いに基づいて顔の向きが推定される技術では、実際の顔の向きが正面方向に近い場合、あるいは、左右対称性の度合いの判定の際に仮定された顔の向きが実際の顔の向きに近い場合に、左右対称性の度合いの低下が少なくなる。そのため、この技術では、顔の向きの推定精度が不十分となることがある。
一つの側面では、本発明は、画像に表された顔の向きの推定精度を向上できる顔向き推定用コンピュータプログラムを提供することを目的とする。
一つの実施形態によれば、顔向き推定用コンピュータプログラムが提供される。この顔向き推定用コンピュータプログラムは、顔が表された入力画像を入力し、入力画像に表された顔に対して仮定された複数の顔の向きのそれぞれについて、入力画像に表された顔の向きをその仮定された顔の向きに応じて所定の向きへ変換した顔向き変換画像を生成し、仮定された複数の顔の向きのそれぞれについて、顔向き変換画像に表された顔を反転して反転顔画像を生成し、仮定された複数の顔の向きのそれぞれについて、反転顔画像に表された顔の向きをその仮定された顔の向きとなるように変換するか、または、入力画像に表された顔の向きをその仮定された顔の向きに応じて所定の向きへ変換し、変換した結果に基づいて、仮定された複数の顔の向きのそれぞれについて、反転顔画像に表された顔と入力画像に表された顔間の相違度を表す評価値を算出し、評価値に基づいて、仮定された複数の顔の向きのうち、一の顔の向きを入力画像に表された顔の向きとして特定する、ことをコンピュータに実行させるための命令を含む。
一つの側面では、本発明は、画像に表された顔の向きの推定精度を向上できる。
顔向き推定装置が実装された一つの実施形態による運転支援装置のハードウェア構成図である。 車両内における運転支援装置の配置の一例を示す図である。 顔向き推定処理に関する、制御部の機能ブロック図である。 顔向き推定処理の概要の説明図である。 3次元顔形状モデルを利用した、顔向き変換の処理の概要を説明する図である。 (a)は、仮定された顔の向きが誤っている場合における、顔向き推定処理にて利用される各画像の一例を示す図であり、(b)は、仮定された顔の向きが正しい場合における、顔向き推定処理にて利用される各画像の一例を示す図である。 (a)〜(c)は、それぞれ、評価値の算出に利用される各指標の説明図である。 入力画像と所定の顔の向きの範囲内のそれぞれの照合用反転顔画像の一例を示す図である。 顔向き推定処理の動作フローチャートである。 変形例による、顔向き推定処理の動作フローチャートである。
以下、図を参照しつつ、顔向き推定装置について説明する。この顔向き推定装置は、画像に表されている顔の向きを仮定された顔の向きに応じて正面方向へ変換し、さらに、その正面方向を向いた顔を左右反転する。そしてこの顔向き推定装置は、左右反転された正面方向を向いた顔を仮定された顔の向きに変換した上で、その変換後の画像上の顔と元の画像の顔との相違度合いを表す評価値を算出する。そしてこの顔向き推定装置は、複数の仮定された顔の向きごとに評価値を算出し、その評価値が最小となるとき仮定された向きを、画像に表されている顔の向きとして推定する。
本実施形態では、顔向き推定装置は、車両の運転支援装置に実装され、車両のドライバの顔が表された画像に基づいてドライバの顔の向きを推定する。しかし、顔向き推定装置は、他の用途に利用され、ドライバ以外の対象者の顔の向きの推定に利用されてもよい。
図1は、顔向き推定装置が実装された一つの実施形態による運転支援装置のハードウェア構成図である。図2は、車両内における運転支援装置の配置の一例を示す図である。運転支援装置1は、カメラ2と、記憶部3と、制御部4と、通信インターフェース部5とを有する。運転支援装置1は、さらに、車両10の周囲を撮影するための車外カメラ(図示せず)、及び、各種の情報を表示するためのディスプレイ(図示せず)などを有してもよい。記憶部3、制御部4及び通信インターフェース部5は、例えば、基板7上に設けられる。また、カメラ2は、コントロールエリアネットワークといった規格に準拠した車内ネットワーク6及び通信インターフェース部5を介して制御部4と接続される。さらに、制御部4は、通信インターフェース部5及び車内ネットワーク6を介して、車両10の電子制御装置(ECU)(図示せず)と接続される。
カメラ2は、例えば、車室内前方の天井付近、例えば、ルームミラー付近に、ドライバ11の方へ向けて取り付けられる。そしてカメラ2は、一定の周期(例えば、50msec〜100msec)ごとに、ドライバ11の想定位置を含む撮影範囲を撮影することで画像を生成し、生成した画像を車内ネットワーク6を介して制御部4へ出力する。そのために、カメラ2は、例えば、CCDまたはC-MOSといった固体撮像素子により形成されるイメージセンサと、イメージセンサ上に撮影範囲の像を形成する撮像光学系とを有する。カメラ2により生成される画像は、例えば、RGB表色系、HLS表色系、またはYCbCr表色系で表されるカラー画像、あるいは、モノクロ画像とすることができる。
記憶部3は、例えば、読み書き可能な不揮発性または揮発性の半導体メモリ及び読み出し専用の不揮発性の半導体メモリを有する。そして記憶部3は、制御部4上で実行される、顔向き推定処理を含む、運転支援処理のプログラムを記憶する。また記憶部3は、運転支援処理で利用あるいは生成される各種のデータを記憶する。
制御部4は、一つまたは複数のプロセッサ及びその周辺回路を有し、運転支援装置1の各部及びECUと信号線あるいは車内ネットワーク6を通じて接続されている。制御部4は、一定周期ごとに、例えば、カメラ2から画像を取得する度に、運転支援処理を実行する。そして制御部4は、例えば、推定された顔の向きに基づいて、ドライバが前方を視認していないと判定した場合、通信インターフェース部5を介して車両10の車室内に設けられたスピーカ(図示せず)を介して警告音を出力する。
通信インターフェース部5は、車内ネットワーク6と接続するためのインターフェース回路を有する。そして通信インターフェース部5は、カメラ2からの画像など、車内ネットワーク6を介して受信した各種の信号を制御部4へわたす。また通信インターフェース部5は、制御部4から出力された各種の信号を通信インターフェース部5を介して車内ネットワーク6へ出力する。
図3は、顔向き推定処理に関する、制御部4の機能ブロック図である。制御部4は、顔検出部21と、顔向き変換部22と、顔反転部23と、顔向き逆変換部24と、評価値算出部25と、顔向き推定部26とを有する。
制御部4が有するこれらの各部は、制御部4が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールである。あるいは、制御部4が有するこれらの各部は、その各部に対応する回路が集積された一つまたは複数の集積回路として、制御部4が有するプロセッサとは別個に、運転支援装置1に実装されてもよい。
なお、制御部4が有するこれらの各部は、カメラ2から得た画像のそれぞれに対してそれら各部の処理を実行するので、以下では、一つの画像を例として、各部の処理を説明する。また、以下では、カメラ2から得られた画像を入力画像と呼ぶ。また、制御部4が有するこれらの各部は、画素値として、輝度値、あるいは、何れかの色成分値を用いることができる。
図4は、制御部4により実行される顔向き推定処理の概要を説明する図である。制御部4は、入力画像400に表されている顔の向きを、仮定された顔の向きが実際の顔の向きと同一の場合に顔が正面を向くように(すなわち、顔がカメラ2と正対するように)、その仮定された顔の向きに応じて変換することで、正面顔画像401を生成する。そして制御部4は、正面顔画像401に表されている顔を左右反転して反転顔画像402を生成する。さらに、制御部4は、反転顔画像402に表されている顔の向きを、仮定された顔の向きとなるよう変換して、照合用反転顔画像403を生成する。そして制御部4は、入力画像400と照合用反転顔画像403とを比較して、入力画像400上に表された顔と照合用反転顔画像403上に表された顔の相違度合いを表す評価値を算出する。
制御部4は、所定の顔の向きの範囲内で、仮定された顔の向きを変化させながら、その仮定された顔の向きごとに評価値を算出する。そして制御部4は、評価値が最小となるときの仮定された顔の向きを、入力画像に表された顔の向きと推定する。
顔検出部21は、入力画像上に表された顔を検出する。本実施形態では、顔検出部21は、入力画像上で、顔の特徴を表す複数の特徴点を検出する。例えば、顔検出部21は、Harrisフィルタといったコーナー検出フィルタを入力画像に適用することで、画素値がコーナー状に変化する複数の特徴点を検出する。なお、顔検出部21は、画像上に表された顔の特徴点を検出する他の様々な技術の何れを利用して、顔の特徴点を検出してもよい。
顔検出部21は、検出された特徴点のそれぞれについて、その特徴点を含む入力画像上の所定の範囲(例えば、10x10画素)をテンプレートとして、予め用意される顔抽出モデル画像上の顔器官特徴点を含む局所領域との間でテンプレートマッチングを行う。なお、顔抽出モデル画像は、例えば、平均的な人の顔のモデルを表す画像であり、左右の眼の眼頭及び目尻、左右の口端といった顔器官特徴点を表す。また、顔検出部21は、テンプレートマッチングにより、テンプレートと局所領域間の正規化相互相関値、あるいは、対応画素間の誤差2乗和などを、テンプレートと局所領域間の一致度合を表す評価値として算出する。
顔検出部21は、顔抽出モデル画像上の所定個数(例えば、10個)の顔器官特徴点のそれぞれについて、入力画像から検出された特徴点のうち、最も一致する特徴点を、入力画像上でのその顔器官特徴点と判定する。その際、顔検出部21は、顔器官特徴点と最も一致する特徴点を、その顔器官特徴点を含む局所領域と各特徴点のテンプレート間の評価値に基づいて決定すればよい。すなわち、評価値が正規化相互相関値であれば、評価値が最大となる特徴点が顔器官特徴点と最も一致する特徴点となり、評価値が誤差2乗和であれば、評価値が最小となる特徴点が顔器官特徴点と最も一致する特徴点となる。
カメラ2とドライバの顔間の距離などにより、入力画像上に表されるドライバの顔の大きさは変動する。しかし、顔の向きを推定する際に、顔のサイズ、及び、各顔器官特徴点の位置は一定であることが好ましい。これは、画像上での顔のサイズの変動、または、顔の傾きまたは顔の位置による各顔器官特徴点の位置の変動が評価値に影響することを避けることができるためである。そこで、顔検出部21は、入力画像上で検出された各顔器官特徴点の位置が、顔抽出モデル画像上のその顔器官特徴点の位置となる正規化顔画像を生成する。
正規化顔画像を生成するために、顔検出部21は、入力画像上で検出された各顔器官特徴点の位置が、正規化顔画像上でのその顔器官特徴点の位置となるように、入力画像上の各点の位置を変換するアフィン変換パラメータを算出する。例えば、アフィン変換は、次式で表される。
Figure 2018097573
ここで、Rnormは、回転成分を表す回転行列であり、Tnormは、並進成分を表す並進ベクトルである。また、(xi M,yi M)は、正規化顔画像上でのi番目の点(例えば、顔器官特徴点)の座標を表し、(xi D,yi D)は、対応する、入力画像上でのi番目の点の座標を表す。
ここで、検出された各顔器官特徴点の座標値をそれぞれ要素とするベクトルPD=(x1 D,y1 D,x2 D,y2 D,...,xK D,yK D)を考える(Kは顔器官特徴点の数)。この場合、(1)式から、次式が成立する。
Figure 2018097573
したがって、顔検出部21は、次式を解くことにより、アフィン変換の回転行列Rnormの各要素及び並進ベクトルTnormの各要素を算出できる。
Figure 2018097573
なお、顔検出部21は、(3)式を解く際に、最小二乗法を適用してもよい。
顔検出部21は、アフィン変換パラメータを算出すると、正規化顔画像の各画素について、(1)式に従って入力画像上の対応位置を算出する。そして顔検出部21は、対応位置の画素値を、その周囲の画素の値を用いた補間処理により算出し、対応位置の画素値を正規化画像のその画素の値とすることで、正規化顔画像を生成する。なお、補間処理が利用されるのは、対応位置の座標値が、整数値とならないことがあるためである。また、補間処理として、例えば、バイリニア補間、あるいは、バイキュービック補間が用いられる。
顔検出部21は、生成した正規化顔画像を記憶部3に保存する。
顔向き変換部22は、所定の顔の向きの範囲に含まれる、複数の仮定された顔の向きのそれぞれについて、正規化顔画像に表された顔の向きをその仮定された顔の向きに応じて所定の向きへ変換した顔向き変換画像を生成する。本実施形態では、顔向き変換部22は、入力画像上に表された顔の向きが仮定された顔の向きである場合に、顔の向きがカメラ2に対する正面方向を向くように、正規化顔画像上の顔の向きを変換することで正面顔画像を生成する。なお、正面顔画像は、顔向き変換画像の一例である。または正面方向は、所定の向きの一例である。
上述したように、仮定された顔の向きは、所定の顔の向きの範囲内で、ヨー角及びピッチ角の両方または一方について所定の角度単位で複数設定される。そこで、顔向き変換部22は、仮定された顔の向きごとに正面顔画像を生成する。なお、所定の顔の向きの範囲は、例えば、ヨー角について、正面方向に対して左右それぞれに25°とし、ピッチ角について、正面方向に対して上下それぞれに20°とすることができる。また、所定の角度単位は、例えば、5°単位とすることができる。しかし、所定の顔の向きの範囲及び所定の角度単位は、この例に限られない。
本実施形態では、顔向き変換部22は、顔の向きを変換するために、人の顔の3次元形状を表す3次元顔形状モデルを利用する。
図5は、3次元顔形状モデルを利用した、顔向き変換の処理の概要を説明する図である。顔の向き変換後に得られる正面顔画像500上の着目画素f=(fx,fy)が、正面方向を向いた3次元顔形状モデル501に投影され、その投影点Aの3次元位置が算出される。そして、3次元顔形状モデル501が、仮定された顔の向きに従って、3次元顔形状モデル501のヨー軸及びピッチ軸を回転軸として回転され、投影点Aに対応する点Bの3次元位置が算出される。点Bを正規化顔画像502に投影することで、着目画素f=(fx,fy)に対応する、正規化顔画像502上の対応点r=(rx,ry)が求められる。そして正規化顔画像502上の対応点r=(rx,ry)の画素値が、正面顔画像500の着目画素f=(fx,fy)の画素値とされる。なお、対応点rの画素値は、例えば、対応点rの周囲の画素の値を用いた補間処理により算出される。顔向き変換部22は、補間処理として、例えば、バイリニア補間あるいは、バイキュービック補間を用いればよい。なお、補間処理が利用されるのは、対応点rの座標値(rx,ry)が、整数値とならないことがあるためである。顔向き変換部22は、正面顔画像500上の各画素について、上記の処理を行うことで、仮定された顔の向きに対応する正面顔画像500を生成できる。
以下、顔向き変換処理の詳細について説明する。
3次元顔形状モデルは、例えば、3次元の三角形のパッチPiの集合{Pi;i∈{1,2,...,N}}(Nは、三角形のパッチの総数)として規定される。個々の三角形のパッチは、3次元顔形状モデルにおける、顔の表面の一部を表す。また、パッチPiの各頂点は、Vj i(j∈{1,2,3})として規定される。そして3次元顔形状モデルは、頭蓋重心位置が正規化顔画像に対応する仮想的なカメラの位置を原点とするカメラ座標系において、位置(X0,Y0,Z0)となるように配置されていると仮定する。なお、カメラ座標系において、Z方向は、光軸と平行な方向を表す。また、X方向及びY方向は、それぞれ、正規化顔画像における水平方向及び垂直方向を表す。
顔向き変換部22は、例えば、ピンホールモデルに従って、正面顔画像上の各点を3次元顔形状モデルに投影する。そこで、顔向き変換部22は、正規化顔画像上の着目画素(fx,fy)に対応する視線ベクトル(mx,my,1)を次式に従って算出する。
Figure 2018097573
ここで、(FX,FY)は、正規化顔画像に対応する仮想的なカメラについての、水平方向及び垂直方向の焦点距離を表す。また、(CX,CY)は、その仮想的なカメラの光軸方向に対応する、正規化顔画像上の点の座標である。
顔向き変換部22は、3次元顔形状モデルの各パッチのうち、視線ベクトルと交差するパッチを特定する。その際、顔向き変換部22は、パッチごとに、そのパッチが表される平面と視線ベクトルとの交点を算出し、その交点がパッチの内部にあるパッチを、視線ベクトルと交差するパッチとして特定すればよい。そして顔向き変換部22は、その交点を、正規化顔画像上の着目画素(fx,fy)に対応する、3次元顔形状モデル上の投影点Aとする。
顔向き変換部22は、3次元顔形状モデルを、仮定された顔の向きに従って3次元顔形状モデルのヨー軸及びピッチ軸を回転軸として回転したときの、投影点A=(Ax,Ay,Az)に対応する点B=(Bx,By,Bz)の3次元位置を次式に従って算出する。
Figure 2018097573
ここで、φは、仮定された顔の向きに対応する、正面方向からのヨー軸周りの回転角、すなわち、ヨー角をあらわす。また、θは、仮定された顔の向きに対応する、正面方向からのピッチ軸周りの回転角、すなわち、ピッチ角をあらわす。そしてRφ、Rθは、それぞれ、ヨー軸周りの回転を表す回転行列、ピッチ軸周りの回転を表す回転行列である。またG=(X0,Y0,Z0)は、3次元顔形状モデルの頭蓋重心位置、すなわち、ヨー、ピッチ、ロールの各回転軸が交差する点である。
顔向き変換部22は、点Bを、次式に従って、正規化顔画像上に投影することで、着目画素(fx,fy)の対応点r=(rx,ry)を算出する。
Figure 2018097573
そして顔向き変換部22は、対応点rの画素値を周囲の画素の画素値に基づく補間処理を実行することで算出し、対応点rの画素値を、正面顔画像の着目画素(fx,fy)の画素値とすればよい。
なお、以下では、説明の便宜上、(4)式〜(6)式をまとめて、下記のように表記する。
Figure 2018097573
顔向き変換部22は、正面顔画像の各画素について上記の処理を実行することで、正面顔画像を生成できる。
また、顔向き変換部22は、(7)式に従って、正規化顔画像上の各顔器官特徴点に対応する、正面顔画像上の対応位置を算出する。そして顔向き変換部22は、各顔器官特徴点のそれぞれの対応位置を、正面顔画像上でのその顔器官特徴点の位置とする。そして顔向き変換部22は、生成した正面顔画像及び正面顔画像上の各顔器官特徴点の位置を顔反転部23へわたす。
顔反転部23は、反転向き一致部の一例であり、複数の仮定された顔の向きのそれぞれについて、その仮定された顔の向きに基づいて生成された正面顔画像を左右反転させることで、反転顔画像を生成する。例えば、顔反転部23は、正面顔画像の各画素について、次式に従って反転顔画像上の対応画素の座標を算出する。
Figure 2018097573
ここで、(fx,fy)は、正面顔画像上の着目画素の水平座標、垂直座標を表し、(fx2,fy2)は、着目画素(fx,fy)に対応する反転顔画像上の画素の水平座標、垂直座標を表す。そしてwwは、正面顔画像の原点(0,0)が正面顔画像の左上端であるときの正面顔画像の右端座標を表す。
顔反転部23は、正面顔画像の各画素について、その画素の値を、反転顔画像の対応画素の値とすることで、反転顔画像を生成できる。また、顔反転部23は、正面顔画像の各顔器官特徴点について、(8)式に従って、反転顔画像上の位置を算出できる。
仮定された顔の向きが正しい場合、すなわち、仮定された顔の向きが入力画像に表された顔の向きと等しい場合、正面顔画像に表された顔は正面を向いている。そのため、この場合には、顔の正中線近傍を基準として、顔が左右反転されることになる。また、顔の左右対称性は一般的に高い。したがって、反転顔画像に表された顔と正面顔画像に表された顔間の類似度は高い。しかし、仮定された顔の向きが入力画像に表された顔の向きと異なっている場合、正面顔画像に表された顔は正面を向いていない。そのため、この場合には、顔の正中線からずれた位置を基準として、顔が左右反転されることになる。その結果、反転顔画像に表された顔と正面顔画像に表された顔間の類似度は低くなる。さらに、場合によっては、反転顔画像上に表される顔は歪んだものとなる。
顔反転部23は、さらに、反転顔画像を仮定された顔の向きに従って元の顔の向きに変換することで照合用反転顔画像を生成する。そのために、顔反転部23は、顔向き変換部22と同様に、3次元顔形状モデルに基づいて、照合用反転顔画像上の各画素に対応する、反転顔画像上の対応位置を算出する。すなわち、顔反転部23は、照合用反転顔画像上の各画素について、その画素を仮定された顔の向きの3次元顔形状モデル上に投影して投影点を求める。そして顔反転部23は、3次元顔形状モデルの顔の向きが正面向きとなるよう、3次元顔形状モデルを回転させたときの各投影点の3次元位置を求める。そして顔反転部23は、照合用反転顔画像上の各画素について、3次元顔形状モデルが正面を向いているときの対応する投影点を反転顔画像上に投影することで反転顔画像上の対応点をもとめ、その対応点の画素値を、照合用反転顔画像上のその画素の値とする。なお、顔反転部23も、顔向き変換部22と同様に、対応点の周囲の画素値を用いた補間により、対応点の画素値を算出すればよい。
その際、顔反転部23は、次式に従って、照合用反転顔画像上の着目画素d=(dx,dy)に対応する、反転顔画像上の対応位置f=(fx,fy)を算出する。
Figure 2018097573
ここで、(-φ,-θ)は、仮定された顔の向きから顔を正面方向へ向けるよう3次元形状顔モデルを回転させるためのヨー角及びピッチ角を表す。また、関数H2x(dx,dy;-φ,-θ)及びH2y(dx,dy;-φ,-θ)は、(7)式と同様に、(4)〜(6)式をまとめたものを表す。ただし、H2x(dx,dy;-φ,-θ)及びH2y(dx,dy;-φ,-θ)では、着目画素d=(dx,dy)が投影される3次元顔形状モデルは、仮定された顔の向きに従って、すなわち、(φ,θ)だけ、正面方向からヨー軸周り及びピッチ軸周りに回転されたものとなる。また(5)式における、回転行列Rφ、Rθの各要素について、(φ,θ)が(-φ,-θ)に置換される。
また、顔反転部23は、(9)式に従って、反転顔画像上の各顔器官特徴点について、照合用反転顔画像上の対応位置を算出する。そして顔反転部23は、各顔器官特徴点のそれぞれの対応位置を、照合用反転顔画像上でのその顔器官特徴点の位置とする。
図6(a)は、仮定された顔の向きが誤っている場合における、顔向き推定処理にて利用される各画像の一例を示す図である。仮定された顔の向きが誤っている場合、入力画像601に表された顔の向きがその仮定された顔の向きに応じて変換された正面顔画像602の生成、及び、正面顔画像602の反転による反転顔画像603の生成を通じて、顔の歪みが拡大される。さらに、反転顔画像603に表されている顔の向きを、仮定された顔の向きに応じて元の向きとなるよう変換することで照合用反転顔画像604を生成することで、顔の歪みがさらに拡大される。その結果、入力画像601上に表された顔と照合用反転顔画像604上に表された顔の相違が大きくなる。本実施形態では、このように、仮定された顔の向きと入力画像601上の実際の顔の向きの差による影響が、正面顔画像602、反転顔画像603及び照合用反転顔画像604の生成を通じて強調される。そのため、仮定された顔の向きと入力画像601上の実際の顔の向きの差がそれほど大きくなくても、入力画像601上に表された顔と照合用反転顔画像604上に表された顔の相違が大きくなる。
一方、図6(b)は、仮定された顔の向きが正しい場合における、顔向き推定処理にて利用される各画像の一例を示す図である。この場合、正面顔画像612、反転顔画像613及び照合用反転顔画像614の生成全体にわたって、顔の歪みはそれほど生じない。その結果、入力画像611上に表された顔と、照合用反転顔画像614上に表された顔の相違も小さい。
したがって、入力画像照合用反転顔画像との顔の相違度を調べることで、制御部4は、仮定された顔の向きが正しいか否かを評価することができる。
顔反転部23は、照合用反転顔画像、及び、照合用反転顔画像上の各顔器官特徴点の位置を評価値算出部25へわたす。
顔向き逆変換部24は、複数の仮定された顔の向きのそれぞれについて、正面方向を向いた平均的な顔を表す基準顔画像から、その平均的な顔が仮定された顔の向きとなる補正基準顔画像を(9)式に従って生成する。なお、基準顔画像は、予め記憶部3に保存される。なお、基準顔画像は、顔抽出モデル画像と同一であってもよく、あるいは、顔抽出モデル画像と異なる画像であってもよい。なお、後述するように、評価値の算出において、補正基準顔画像が利用されない場合には、顔向き逆変換部24は省略されてもよい。
顔向き逆変換部24は、補正基準顔画像を評価値算出部25へわたす。
評価値算出部25は、仮定された顔の向きごとに、入力画像と照合用反転顔画像とを比較して、入力画像に表された顔と照合用反転顔画像に表された顔の相違度を表す評価値を算出する。
本実施形態では、評価値算出部25は、下記の3個の指標に従って評価値を算出する。
図7(a)〜図7(c)を参照しつつ、各指標について説明する。
(1)入力画像に表された顔と照合用反転顔画像に表された顔間の相違度合いS1:
図7(a)に示されるように、入力画像701の各画素と、照合用反転顔画像702の対応画素間の輝度の差が算出され、その差の絶対値和が相違度合いS1として算出される。もし、仮定された顔の向きが正しければ、入力画像に表された顔と照合用反転顔画像に表された顔とは、同じ方向を向いているはずである。また、人の顔は一般的に左右対称性が高いので、相違度合いS1は小さくなる。一方、仮定された顔の向きと実際の顔の向きとの差が大きくなるほど、照合用反転顔画像の顔の各位置の画素値は、顔の異なる位置の画素値が参照されることで求められていることになるので、相違度合いS1は大きくなる。相違度合いS1は、例えば、次式に従って算出される。
Figure 2018097573
ここで、I(x,y)は入力画像上の座標(x,y)の画素の値を表し、D(x,y)は、照合用反転顔画像上の座標(x,y)の画素の値を表す。またFRは、照合用反転顔画像全体を表す。
(2)入力画像に表された顔器官特徴点と照合用反転顔画像に表された顔器官特徴点間の位置の相違度合いS2:
図7(b)に示されるように、顔器官特徴点ごとに、入力画像711上の位置(Ix,Iy)と、照合用反転顔画像712上の位置(Dx,Dy)の差が算出され、その差の絶対値和が相違度合いS2として算出される。もし、仮定された顔の向きが正しければ、入力画像上での各顔器官特徴点の位置と、照合用反転顔画像上での対応する顔器官特徴点の位置とは、ほぼ同じとなるはずである。そのため、相違度合いS2は小さくなる。一方、仮定された顔の向きと実際の顔の向きとの差が大きくなるほど、入力画像上での各顔器官特徴点の位置と、照合用反転顔画像上での対応する顔器官特徴点の位置の差も大きくなると想定されるので、相違度合いS2は大きくなる。相違度合いS2は、例えば、次式に従って算出される。
Figure 2018097573
ここで、(Ix(k),Iy(k))は、入力画像上でのk番目の顔器官特徴点の水平方向位置及び垂直方向位置を表す。また(Dx(k),Dy(k))は、照合用反転顔画像上でのk番目の顔器官特徴点の水平方向位置及び垂直方向位置を表す。そしてKは、相違度合いS2の算出に利用される顔器官特徴点の総数である。
(3)正規化顔画像に表された顔と補正基準顔画像に表された顔間の相違度合いS3
図7(c)に示されるように、正規化顔画像721の各画素と、補正基準顔画像722の対応画素間の輝度の差が算出され、その差の絶対値和が相違度合いS3として算出される。人の顔の構造は、異なる人の顔同士でもある程度類似しているため、仮定された顔の向きが正しければ、正規化顔画像に表された顔と補正基準顔画像に表された基準顔画像間の相違は小さい。そのため、相違度合いS3は小さくなる。一方、仮定された顔の向きと実際の顔の向きとの差が大きくなるほど、正規化顔画像に表された顔の向きと補正基準顔画像に表された基準顔画像の向きの差が大きくなる。そのため、仮定された顔の向きと実際の顔の向きとの差が大きくなるほど、正規化顔画像に表された顔と補正基準顔画像に表された基準顔画像間の相違も大きくなり、相違度合いS3も大きくなる。相違度合いS3は、例えば、次式に従って算出される。
Figure 2018097573
ここで、I(x,y)は正規化顔画像上の座標(x,y)の画素の値を表し、M(x,y)は、補正基準顔画像上の座標(x,y)の画素の値を表す。またFRは、補正基準顔画像全体を表す。
評価値算出部25は、上記の相違度合いS1〜S3に基づいて評価値S(φ,θ)を算出する。例えば、評価値算出部25は、次式に従って評価値S(φ,θ)を算出する。
Figure 2018097573
ここで、a1〜a3は、それぞれ、相違度合いs1〜s3に対する重み係数であり、例えば、a1=0.4、a2=a3=0.3に設定される。なお、a1〜a3は、互いに同じ値に設定されてもよい。
なお、変形例によれば、評価値算出部25は、相違度合いs1自体を評価値S(φ,θ)として算出してもよい(すなわち、評価値算出部25は、(13)式において、a2=a3=0としてもよい)。あるいは、評価値算出部25は、相違度合いs2及びs3のうちの一方と、相違度合いs1とを重み付け加算することで、評価値S(φ,θ)を算出してもよい。この場合、評価値算出部25は、例えば、(13)式において、a1=0.6とし、a2及びa3のうちの一方を0.4、他方を0とすればよい。
評価値算出部25は、仮定された顔の向き(φ,θ)と、評価値S(φ,θ)を顔向き推定部26へわたす。
顔向き推定部26は、仮定された顔の向きごとの評価値S(φ,θ)に基づいて、入力画像に表された顔の向きを推定する。本実施形態では、顔向き推定部26は、仮定された顔の向きごとの評価値S(φ,θ)の中から、評価値S(φ,θ)の最小値Sminを求める。そして顔向き推定部26は、評価値の最小値Sminに対応する顔の向きを、入力画像に表された顔の向きと推定する。顔向き推定部26は、推定した顔の向きを出力する。
なお、顔向き推定部26は、仮定された顔の向き全てについて評価値S(φ,θ)が算出されてから、Sminを求めてもよい。あるいは、顔向き推定部26は、仮定された顔の向きについての評価値S(φ,θ)が算出される度に、その評価値S(φ,θ)を、それ以前の評価値の最小値(以下、暫定最小値と呼ぶ)と比較してもよい。そして顔向き推定部26は、評価値S(φ,θ)が暫定最小値よりも小さい場合に、その評価値S(φ,θ)で暫定最小値を更新し、更新された暫定最小値及び対応する顔の向き(φ,θ)を記憶部3に保存してもよい。
図8は、入力画像と所定の顔の向きの範囲内のそれぞれの照合用反転顔画像の一例を示す図である。この例では、ヨー角について、正面方向を中心として±25°の範囲、及び、ピッチ角について、正面方向を中心として±20°の範囲内で、ヨー角及びピッチ角とも、5°単位で照合用反転顔画像が生成されている。図8に示される例では、入力画像801に対して、生成された照合用反転顔画像の組810のうち、ヨー角が-25°、ピッチ角が0°のときの照合用反転顔画像811が最も類似している。すなわち、照合用反転顔画像811について算出される評価値S(-25°,0°)が最小値となる。したがって、(-25°,0°)が、入力画像上に表された顔の向きとして推定される。
図9は、顔向き推定処理の動作フローチャートである。制御部4は、この動作フローチャートに従って、入力画像ごとにその画像に表された顔の向きを推定する。なお、制御部4は、この動作フローチャートの開始時点で、評価値の暫定最小値Smin'を初期値(例えば、想定される評価値の最大値)に設定する。
顔検出部21は、入力画像に表されたドライバの顔の各顔器官特徴点を検出する(ステップS101)。そして顔検出部21は、各顔器官特徴点の位置に基づいて、正規化顔画像を生成する(ステップS102)。
制御部4は、所定の顔の向きの範囲内で、顔の向き(φ,θ)を仮定する(ステップS103)。そして顔向き変換部22は、仮定された顔の向き(φ,θ)に応じて正規化顔画像に表された顔の向きを正面方向へ変換することで、正面顔画像を生成する。また顔向き変換部22は、仮定された顔の向き(φ,θ)に応じて、正面顔画像上での各顔器官特徴点の位置をもとめる(ステップS104)。
顔反転部23は、正面顔画像に表された顔を左右反転して、反転顔画像を生成するとともに、反転顔画像上での各顔器官特徴点の位置をもとめる(ステップS105)。
さらに顔反転部23は、反転顔画像に表された顔の向きを仮定された顔の向き(φ,θ)となるよう変換して、照合用反転顔画像を生成する。また顔反転部23は、照合用反転顔画像上での各顔器官特徴点の位置をもとめる(ステップS106)。さらに、顔向き逆変換部24は、基準顔画像に表された顔の向きを仮定された顔の向き(φ,θ)となるよう変換して、補正基準顔画像を生成する(ステップS107)。
評価値算出部25は、仮定された顔の向き(φ,θ)についての顔の向きの評価値S(φ,θ)を、照合用反転顔画像及び補正基準顔画像と入力画像とを比較して算出する(ステップS108)。そして顔向き推定部26は、評価値S(φ,θ)が評価値の暫定最小値Smin'よりも小さいか否か判定する(ステップS109)。
評価値S(φ,θ)が評価値の暫定最小値Smin'よりも小さい場合(ステップS109−Yes)、顔向き推定部26は、評価値S(φ,θ)で暫定最小値Smin'を更新する(ステップS110)。そして顔向き推定部26は、更新された暫定最小値Smin'及び対応する顔の向き(φ,θ)を記憶部3に保存する。一方、評価値S(φ,θ)が評価値の暫定最小値Smin'以上である場合(ステップS109−No)、暫定最小値Smin'を更新しない。
ステップS110の後、あるいは、評価値の暫定最小値Smin'が更新されない場合(ステップS109−No)、制御部4は、所定の顔の向きの範囲内の全ての顔の向きについて評価値S(φ,θ)を算出したか否か判定する(ステップS111)。所定の顔の向きの範囲内に評価値S(φ,θ)が算出されていない顔の向きがある場合(ステップS111−No)、制御部4は、所定の顔の向きの範囲内で評価値S(φ,θ)が算出されていない顔の向きの何れかを、仮定する顔の向きに設定する(ステップS112)。そして制御部4は、ステップS104以降の処理を実行する。
一方、所定の顔の向きの範囲内の全ての顔の向きについて評価値S(φ,θ)が算出されている場合(ステップS111−Yes)、顔向き推定部26は、記憶部3に記憶されている評価値の暫定最小値Smin'が評価値の最小値Sminであると判定する。そして顔向き推定部26は、その最小値Sminに対応する顔の向き(φminmin)を、入力画像に表されているドライバの顔の向きと推定する(ステップS113)。その後、制御部4は、顔向き推定処理を終了する。
制御部4は、推定された顔の向きが所定の条件を満たすか否か判定し、その判定結果に応じた信号を、通信インターフェース部5を介して他の機器へ出力する。例えば、制御部4は、推定された顔の向きが、ドライバが車両10の前方を視認していると想定される顔の向きの範囲(以下、正常範囲と呼ぶ)に含まれるか否か判定する。なお、正常範囲は、例えば、予め記憶部3に記憶される。推定された顔の向きが正常範囲に含まれる場合、制御部4は、ドライバは車両10の前方を視認していると判定する。一方、推定された顔の向きが正常範囲から外れている場合、制御部4は、ドライバが脇見をしていると判定する。そして制御部4は、所定期間(例えば、0.5秒〜1秒)中に取得される各入力画像についてドライバが脇見をしていると判定した場合、通信インターフェース部5を介して車両10の車室内に設けられたスピーカ(図示せず)を介して警告音を出力する。
以上に説明してきたように、この顔向き推定装置は、仮定された顔の向きに応じて入力画像上の顔の向きを正面を向くよう変換した上で顔の左右を反転する。そしてこの顔向き推定装置は、反転した顔の向きを仮定された顔の向きとなるよう再度変換して得られる照合用反転顔画像を、元の入力画像と比較する。そのため、仮定された顔の向きと実際の顔の向きとの差に応じて、顔の向きの変換及び顔の左右反転を通じて、照合用反転顔画像上の顔の各部の位置と元の入力画像上の顔の対応位置との差が拡大される。そのため、仮定された顔の向きと実際の顔の向きとの差が比較的小さくても、照合用反転顔画像と元の入力画像との間で顔の相違が強調される。その結果、照合用反転顔画像と入力画像間での顔の相違度を表す評価値は、仮定された顔の向きと実際の顔の向きとの差が比較的小さくても、その差に応じて変動する。したがって、この顔向き推定装置は、評価値が最小となる顔の向きを特定することで、正確に元の画像上に表された顔の向きを推定できる。
変形例によれば、顔向き変換部22は、正規化顔画像に表された顔の向きを、正面方向に対して仮定された顔の向きと反対の向きとなるように、すなわち、正面方向を挟んで仮定された顔の向きの2倍回転するように変換して、逆向き画像を生成してもよい。なお、逆向き画像は、顔向き変換画像の他の一例である。この場合も、顔向き変換部22は、上記の実施形態と同様に、3次元顔形状モデルを利用して、顔の向きを変換すればよい。すなわち、顔向き変換部22は、逆向き画像上の各画素について、(4)〜(6)式に従って正規化顔画像上の対応点を求め、その対応点の画素値を、逆向き画像上のその画素の値とすればよい。ただし、この場合には、顔向き変換部22は、逆向き画像上の各画素を、正面方向に対して仮定された顔の向きと反対の顔の向きとした3次元顔形状モデルに投影する。そして顔向き変換部22は、(5)式における、各回転行列の要素について、仮定された顔の向きの2倍のヨー角及びピッチ角を設定する。
この場合、顔反転部23が、逆向き画像を左右反転することで、顔の向きが元に戻るとともに、顔が左右反転するので、照合用反転顔画像が得られる。なお、この変形例においても、顔向き逆変換部24は、上記の実施形態と同様に、基準顔画像から補正基準顔画像を生成すればよい。
図10は、変形例による、顔向き推定処理の動作フローチャートである。なお、制御部4は、図9に示される動作フローチャートのうちのステップS104〜S107の処理の代わりに、図10に示される各ステップの処理を実行すればよい。
顔向き変換部22は、ステップS103にて顔の向き(φ,θ)が仮定されると、その顔の向き(φ,θ)と反対向きとなるよう正規化顔画像の顔の向きを変換して逆向き画像を生成する。また顔向き変換部22は、逆向き画像上での各顔器官特徴点の位置をもとめる(ステップS201)。
顔反転部23は、逆向き画像を左右反転して、照合用反転顔画像を生成する(ステップS202)。また、顔向き逆変換部24は、基準顔画像に表された顔の向きを仮定された顔の向き(φ,θ)となるよう変換して、補正基準顔画像を生成する(ステップS203)。そして制御部4は、ステップS108以降の処理を実行する。
この変形例によれば、制御部4は、仮定された顔の向きごとに、顔の向きを変換する処理を1回省略できるので、演算量を削減できる。
また他の変形例によれば、互いに顔の向きが異なる複数の顔抽出モデル画像が用意されてもよい。そして顔検出部21は、複数の顔抽出モデル画像のそれぞれについて、入力画像から検出された各顔器官特徴点の位置を用いてアフィン変換パラメータを算出してもよい。そして顔検出部21は、アフィン変換パラメータの絶対値和が最小となる顔抽出モデル画像を選択し、選択した顔抽出モデル画像に対応するアフィン変換パラメータを用いて正規化顔画像を生成してもよい。これにより、顔検出部21は、実際の顔の向きに比較的近い顔の向きの顔抽出モデル画像に基づいて正規化顔画像を生成できるので、正規化顔画像で顔が歪むことを抑制できる。さらに、この場合、制御部4は、選択された顔抽出モデル画像に応じて、仮定する顔の向きの範囲を限定してもよい。例えば、制御部4は、選択された顔抽出モデル画像に表された顔の向きを中心として、ヨー角方向及びピッチ角方向それぞれについて±10°の範囲を、仮定する顔の向きの範囲としてもよい。これにより、仮定する顔の向きの数が少なくなるので、顔向き推定処理の演算量が削減される。
さらに他の変形例によれば、顔反転部23は、入力画像に表された顔の向きを、仮定された顔の向きに応じて正面方向を向くよう変換して、照合用顔画像を生成してもよい。この場合には、顔反転部23は、顔向き変換部22による、正規化顔画像から正面顔画像を生成する際の処理と同様の処理を入力画像に対して実行することで、照合用顔画像を生成できる。そして評価値算出部25は、照合用顔画像と反転顔画像間で相違度合いS1及びS2を算出し、照合用顔画像と基準顔画像間で相違度合いS3を算出することで、評価値S(φ,θ)を算出してもよい。
また、場合によっては、顔の向きの推定対象となる人と、その人を撮影するカメラの位置関係がほぼ一定となることがある。あるいは、顔の向きの推定対象となる人が、特定の人物に限られることがある。例えば、上記の実施形態またはその変形例において、ドライバが、車両10の所有者であることがある。このような場合には、入力画像上での顔の各器官の位置は、顔の向き以外の要因ではあまり変動しない。そこでさらに他の変形例によれば、顔検出部21は、正規化顔画像を生成しなくてもよい。この場合には、顔向き変換部22は、正規化顔画像の代わりに、入力画像そのものを使用すればよい。
また、上記の実施形態または変形例による制御部の各部の機能を実現するコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体といった、コンピュータ読取可能な可搬性の記録媒体に記録された形で提供されてもよい。なお、記録媒体には、搬送波は含まれない。
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)
顔が表された入力画像を入力し、
前記入力画像に表された顔に対して仮定された複数の顔の向きのそれぞれについて、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて所定の向きへ変換した顔向き変換画像を生成し、
前記仮定された複数の顔の向きのそれぞれについて、前記顔向き変換画像に表された顔を反転して反転顔画像を生成し、
前記仮定された複数の顔の向きのそれぞれについて、前記反転顔画像に表された顔の向きを当該仮定された顔の向きとなるように変換するか、または、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて前記所定の向きへ変換し、
変換した結果に基づいて、前記仮定された複数の顔の向きのそれぞれについて、前記反転顔画像に表された顔と前記入力画像に表された顔間の相違度を表す評価値を算出し、
前記評価値に基づいて、前記仮定された複数の顔の向きのうち、一の顔の向きを前記入力画像に表された顔の向きとして特定する、
ことをコンピュータに実行させるための顔向き推定用コンピュータプログラム。
(付記2)
前記特定された前記入力画像に表された顔の向きが所定の条件を満たすか否か判定し、判定結果に応じた信号を出力することをさらにコンピュータに実行させる、付記1に記載の顔向き推定用コンピュータプログラム。
(付記3)
前記顔の向きを特定することは、前記仮定された複数の顔の向きのそれぞれについて算出された前記相違度が小さいほど値が小さくなる評価値のうちの最小値に対応する仮定された顔の向きを、前記入力画像に表された顔の向きとして特定する、付記1または2に記載の顔向き推定用コンピュータプログラム。
(付記4)
前記所定の向きは前記入力画像を取得するカメラに対する正面方向である、付記1〜3の何れかに記載の顔向き推定用コンピュータプログラム。
(付記5)
前記所定の向きは、前記仮定された顔の向きに対して、前記入力画像を取得するカメラに対する正面方向を挟んで反対の向きである、付記1〜3の何れかに記載の顔向き推定用コンピュータプログラム。
(付記6)
前記入力画像から前記顔の複数の特徴点を検出し、前記複数の特徴点のそれぞれが所定の位置となるように前記入力画像上の前記顔の位置を移動して正規化顔画像を生成することをさらにコンピュータに実行させ、
前記顔向き変換画像を生成することは、前記正規化顔画像に表された顔の向きを前記仮定された顔の向きに応じて前記所定の向きへ変換することで前記顔向き変換画像を生成する、付記1〜5の何れかに記載の顔向き推定用コンピュータプログラム。
(付記7)
前記評価値を算出することは、前記入力画像上の各画素と前記反転顔画像上の対応画素間の画素値の差に基づいて前記評価値を算出する、付記1〜6の何れかに記載の顔向き推定用コンピュータプログラム。
(付記8)
前記評価値を算出することは、複数の顔の特徴点のそれぞれについて、前記入力画像上の当該顔の特徴点の位置と前記反転顔画像上の当該顔の特徴点の位置との差にさらに基づいて前記評価値を算出する、付記7に記載の顔向き推定用コンピュータプログラム。
(付記9)
前記入力画像を取得するカメラに対する正面方向を向いた顔が表された基準顔画像について、当該基準顔画像に表された顔の向きを前記仮定された顔の向きとなるよう変換して補正基準顔画像を生成することをさらにコンピュータに実行させ、
前記評価値を算出することは、前記入力画像上の各画素と前記補正基準顔画像上の対応画素間の画素値の差にさらに基づいて前記評価値を算出する、付記7または8に記載の顔向き推定用コンピュータプログラム。
(付記10)
顔が表された入力画像を入力し、
前記入力画像に表された顔に対して仮定された複数の顔の向きのそれぞれについて、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて所定の向きへ変換した顔向き変換画像を生成し、
前記仮定された複数の顔の向きのそれぞれについて、前記顔向き変換画像に表された顔を反転して反転顔画像を生成し、
前記仮定された複数の顔の向きのそれぞれについて、前記反転顔画像に表された顔の向きを当該仮定された顔の向きとなるように変換するか、または、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて前記所定の向きへ変換し、
変換した結果に基づいて、前記仮定された複数の顔の向きのそれぞれについて、前記反転顔画像に表された顔と前記入力画像に表された顔間の相違度を表す評価値を算出し、
前記評価値に基づいて、前記仮定された複数の顔の向きのうち、一の顔の向きを前記入力画像に表された顔の向きとして特定する、
ことを含む顔向き推定方法。
(付記11)
顔が表された入力画像を入力し、前記入力画像に表された顔に対して仮定された複数の顔の向きのそれぞれについて、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて所定の向きへ変換した顔向き変換画像を生成する顔向き変換部と、
前記仮定された複数の顔の向きのそれぞれについて、前記顔向き変換画像に表された顔を反転して反転顔画像を生成し、前記反転顔画像に表された顔の向きを当該仮定された顔の向きとなるように変換するか、または、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて前記所定の向きへ変換する反転顔画像生成部と、
変換した結果に基づいて、前記仮定された複数の顔の向きのそれぞれについて、前記反転顔画像に表された顔と前記入力画像に表された顔間の相違度を表す評価値を算出する評価値算出部と、
前記評価値に基づいて、前記仮定された複数の顔の向きのうち、一の顔の向きを前記入力画像に表された顔の向きとして特定する顔向き推定部と、
を有する顔向き推定装置。
1 運転支援装置
2 カメラ
3 記憶部
4 制御部(顔向き推定装置)
5 通信インターフェース部
6 車内ネットワーク
7 基板
10 車両
11 ドライバ
21 顔検出部
22 顔向き変換部
23 顔反転部
24 顔向き逆変換部
25 評価値算出部
26 顔向き推定部

Claims (7)

  1. 顔が表された入力画像を入力し、
    前記入力画像に表された顔に対して仮定された複数の顔の向きのそれぞれについて、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて所定の向きへ変換した顔向き変換画像を生成し、
    前記仮定された複数の顔の向きのそれぞれについて、前記顔向き変換画像に表された顔を反転して反転顔画像を生成し、
    前記仮定された複数の顔の向きのそれぞれについて、前記反転顔画像に表された顔の向きを当該仮定された顔の向きとなるように変換するか、または、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて前記所定の向きへ変換し、
    変換した結果に基づいて、前記仮定された複数の顔の向きのそれぞれについて、前記反転顔画像に表された顔と前記入力画像に表された顔間の相違度を表す評価値を算出し、
    前記評価値に基づいて、前記仮定された複数の顔の向きのうち、一の顔の向きを前記入力画像に表された顔の向きとして特定する、
    ことをコンピュータに実行させるための顔向き推定用コンピュータプログラム。
  2. 前記顔の向きを特定することは、前記仮定された複数の顔の向きのそれぞれについて算出された前記相違度が小さいほど値が小さくなる評価値のうちの最小値に対応する仮定された顔の向きを、前記入力画像に表された顔の向きとして特定する、請求項1に記載の顔向き推定用コンピュータプログラム。
  3. 前記所定の向きは前記入力画像を取得するカメラに対する正面方向である、請求項1または2に記載の顔向き推定用コンピュータプログラム。
  4. 前記入力画像から前記顔の複数の特徴点を検出し、前記複数の特徴点のそれぞれが所定の位置となるように前記入力画像上の前記顔の位置を移動して正規化顔画像を生成することをさらにコンピュータに実行させ、
    前記顔向き変換画像を生成することは、前記正規化顔画像に表された顔の向きを前記仮定された顔の向きに応じて前記所定の向きへ変換することで前記顔向き変換画像を生成する、請求項1〜3の何れか一項に記載の顔向き推定用コンピュータプログラム。
  5. 前記評価値を算出することは、前記入力画像上の各画素と前記反転顔画像上の対応画素間の画素値の差に基づいて前記評価値を算出する、請求項1〜4の何れか一項に記載の顔向き推定用コンピュータプログラム。
  6. 顔が表された入力画像を入力し、
    前記入力画像に表された顔に対して仮定された複数の顔の向きのそれぞれについて、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて所定の向きへ変換した顔向き変換画像を生成し、
    前記仮定された複数の顔の向きのそれぞれについて、前記顔向き変換画像に表された顔を反転して反転顔画像を生成し、
    前記仮定された複数の顔の向きのそれぞれについて、前記反転顔画像に表された顔の向きを当該仮定された顔の向きとなるように変換するか、または、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて前記所定の向きへ変換し、
    変換した結果に基づいて、前記仮定された複数の顔の向きのそれぞれについて、前記反転顔画像に表された顔と前記入力画像に表された顔間の相違度を表す評価値を算出し、
    前記評価値に基づいて、前記仮定された複数の顔の向きのうち、一の顔の向きを前記入力画像に表された顔の向きとして特定する、
    ことを含む顔向き推定方法。
  7. 顔が表された入力画像を入力し、前記入力画像に表された顔に対して仮定された複数の顔の向きのそれぞれについて、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて所定の向きへ変換した顔向き変換画像を生成する顔向き変換部と、
    前記仮定された複数の顔の向きのそれぞれについて、前記顔向き変換画像に表された顔を反転して反転顔画像を生成し、前記反転顔画像に表された顔の向きを当該仮定された顔の向きとなるように変換するか、または、前記入力画像に表された顔の向きを当該仮定された顔の向きに応じて前記所定の向きへ変換する反転顔画像生成部と、
    変換した結果に基づいて、前記仮定された複数の顔の向きのそれぞれについて、前記反転顔画像に表された顔と前記入力画像に表された顔間の相違度を表す評価値を算出する評価値算出部と、
    前記評価値に基づいて、前記仮定された複数の顔の向きのうち、一の顔の向きを前記入力画像に表された顔の向きとして特定する顔向き推定部と、
    を有する顔向き推定装置。
JP2016241143A 2016-12-13 2016-12-13 顔向き推定用コンピュータプログラム、顔向き推定装置及び顔向き推定方法 Active JP6897082B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016241143A JP6897082B2 (ja) 2016-12-13 2016-12-13 顔向き推定用コンピュータプログラム、顔向き推定装置及び顔向き推定方法
US15/794,061 US10740923B2 (en) 2016-12-13 2017-10-26 Face direction estimation device and face direction estimation method for estimating the direction of a face represented on an image
EP17198585.6A EP3336753A3 (en) 2016-12-13 2017-10-26 Face direction estimation device and face direction estimation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016241143A JP6897082B2 (ja) 2016-12-13 2016-12-13 顔向き推定用コンピュータプログラム、顔向き推定装置及び顔向き推定方法

Publications (2)

Publication Number Publication Date
JP2018097573A true JP2018097573A (ja) 2018-06-21
JP6897082B2 JP6897082B2 (ja) 2021-06-30

Family

ID=60201838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016241143A Active JP6897082B2 (ja) 2016-12-13 2016-12-13 顔向き推定用コンピュータプログラム、顔向き推定装置及び顔向き推定方法

Country Status (3)

Country Link
US (1) US10740923B2 (ja)
EP (1) EP3336753A3 (ja)
JP (1) JP6897082B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013179A (ja) * 2018-07-13 2020-01-23 株式会社デンソーアイティーラボラトリ 注視対象物検知装置、注視対象物検知方法、およびプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6897082B2 (ja) * 2016-12-13 2021-06-30 富士通株式会社 顔向き推定用コンピュータプログラム、顔向き推定装置及び顔向き推定方法
CN111104822B (zh) * 2018-10-25 2023-09-19 北京嘀嘀无限科技发展有限公司 人脸朝向识别方法、装置及电子设备
KR20210136092A (ko) * 2019-04-19 2021-11-16 후지쯔 가부시끼가이샤 화상 처리 장치, 화상 처리 방법 및 화상 처리 프로그램
KR102389066B1 (ko) * 2019-11-15 2022-04-22 주식회사 에버정보기술 얼굴 인식을 위한 얼굴영상 생성 방법
CN114581627B (zh) * 2022-03-04 2024-04-16 合众新能源汽车股份有限公司 基于arhud的成像方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004025564A1 (ja) * 2002-08-30 2004-03-25 Nec Corporation 顔向き推定装置および顔向き推定方法ならびに顔向き推定プログラム
JP2008146132A (ja) * 2006-12-06 2008-06-26 System Product Co Ltd 画像検出装置、プログラム及び画像検出方法
JP2008310392A (ja) * 2007-06-12 2008-12-25 Yamaha Motor Co Ltd 人物属性識別装置及びその方法
US20150348269A1 (en) * 2014-05-27 2015-12-03 Microsoft Corporation Object orientation estimation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4093273B2 (ja) * 2006-03-13 2008-06-04 オムロン株式会社 特徴点検出装置、特徴点検出方法および特徴点検出プログラム
US8406479B2 (en) 2006-07-14 2013-03-26 Panasonic Corporation Visual axis direction detection device and visual line direction detection method
JP2010245721A (ja) 2009-04-03 2010-10-28 Seiko Epson Corp 顔画像に対する画像処理
JP5484184B2 (ja) * 2010-04-30 2014-05-07 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP5910631B2 (ja) * 2011-05-24 2016-04-27 日本電気株式会社 情報処理装置、情報処理方法および情報処理プログラム
US10082877B2 (en) * 2016-03-15 2018-09-25 Ford Global Technologies, Llc Orientation-independent air gesture detection service for in-vehicle environments
JP6897082B2 (ja) * 2016-12-13 2021-06-30 富士通株式会社 顔向き推定用コンピュータプログラム、顔向き推定装置及び顔向き推定方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004025564A1 (ja) * 2002-08-30 2004-03-25 Nec Corporation 顔向き推定装置および顔向き推定方法ならびに顔向き推定プログラム
JP2004094491A (ja) * 2002-08-30 2004-03-25 Nec Corp 顔向き推定装置および顔向き推定方法ならびに顔向き推定プログラム
JP2008146132A (ja) * 2006-12-06 2008-06-26 System Product Co Ltd 画像検出装置、プログラム及び画像検出方法
JP2008310392A (ja) * 2007-06-12 2008-12-25 Yamaha Motor Co Ltd 人物属性識別装置及びその方法
US20150348269A1 (en) * 2014-05-27 2015-12-03 Microsoft Corporation Object orientation estimation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高橋 祐介 外2名: "楕円体モデルを用いた顔向き補正による照合性能改善", 電子情報通信学会2003年総合大会, JPN6020042073, 3 March 2003 (2003-03-03), JP, pages 214, ISSN: 0004380459 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013179A (ja) * 2018-07-13 2020-01-23 株式会社デンソーアイティーラボラトリ 注視対象物検知装置、注視対象物検知方法、およびプログラム
JP7014680B2 (ja) 2018-07-13 2022-02-01 株式会社デンソーアイティーラボラトリ 注視対象物検知装置、注視対象物検知方法、およびプログラム

Also Published As

Publication number Publication date
US10740923B2 (en) 2020-08-11
EP3336753A3 (en) 2018-09-19
JP6897082B2 (ja) 2021-06-30
US20180165832A1 (en) 2018-06-14
EP3336753A2 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
JP6897082B2 (ja) 顔向き推定用コンピュータプログラム、顔向き推定装置及び顔向き推定方法
JP6330987B2 (ja) 画像処理装置、画像処理方法、及び記憶媒体
US10659768B2 (en) System and method for virtually-augmented visual simultaneous localization and mapping
US9429418B2 (en) Information processing method and information processing apparatus
EP2992508B1 (en) Diminished and mediated reality effects from reconstruction
JP2873338B2 (ja) 動物体認識装置
US9866818B2 (en) Image processing apparatus and method, image processing system and program
US11233983B2 (en) Camera-parameter-set calculation apparatus, camera-parameter-set calculation method, and recording medium
JP6891954B2 (ja) 物体検知装置、物体検知方法、及びプログラム
JP2015096812A (ja) 画像処理装置、撮像装置および距離補正方法
KR102386444B1 (ko) 이미지 심도 결정 방법 및 생체 식별 방법, 회로, 디바이스, 및 매체
CN107808398B (zh) 摄像头参数算出装置以及算出方法、程序、记录介质
US20190156511A1 (en) Region of interest image generating device
JP6874850B2 (ja) 物体検知装置、物体検知方法、及びプログラム
US11715218B2 (en) Information processing apparatus and information processing method
CN114742866A (zh) 图像配准方法、装置、存储介质及电子设备
KR20180131743A (ko) Sift 플로우를 이용한 광각영상의 스테레오 정합 방법 및 장치
KR102132527B1 (ko) Avm 시스템 및 avm 시스템에서, 영상 사이의 매칭점 검출 방법
KR20200033601A (ko) 영상 처리 장치 및 방법
US11069121B2 (en) Methods, devices and computer program products for creating textured 3D images
WO2024009377A1 (ja) 情報処理装置、自己位置推定方法、及び非一時的なコンピュータ可読媒体
US10097772B2 (en) Image processing device and image processing method
US20210404843A1 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
JP2014106092A (ja) 3次元位置計測装置、3次元位置計測方法および3次元位置計測プログラム
US20230386078A1 (en) Information processing apparatus, information processing method, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210524

R150 Certificate of patent or registration of utility model

Ref document number: 6897082

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150