(57)【特許請求の範囲】
【請求項１】
顔画像の顔キーポイントを取得することと、
前記顔画像の顔キーポイントをニューラルネットワークに入力して、前記ニューラルネットワークから出力される前記顔画像の顔姿勢情報を取得することと、を含み、
前記ニューラルネットワークのトレーニング方法は、
トレーニングデータセットから、顔キーポイントと顔姿勢アノテーション情報を含むトレーニングデータを取得することと、
前記トレーニングデータにおける顔キーポイントを、トレーニング対象であるニューラルネットワークに入力して、前記トレーニング対象であるニューラルネットワークから出力される顔姿勢情報を取得することと、
前記トレーニング対象であるニューラルネットワークから出力される顔姿勢情報と前記トレーニングデータ中の顔姿勢アノテーション情報との差をガイダンス情報として、前記トレーニング対象であるニューラルネットワークに対して教師あり学習を行うこととを、含むことを特徴とする顔姿勢解析方法。
【請求項２】
前記顔姿勢情報は、
Ｘ軸を中心に回転する情報、Ｙ軸を中心に回転する情報及びＺ軸を中心に回転する情報のうちの少なくとも１つを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記顔画像の顔キーポイントを取得することは、
畳み込みニューラルネットワークを用いて被処理顔画像の顔キーポイントを取得することを含み、
前記顔画像の顔キーポイントをニューラルネットワークに入力することは、
前記被処理顔画像の顔キーポイントに対して座標正規化処理を行い、座標正規化処理後の顔キーポイントをニューラルネットワークに入力することを含むことを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記ニューラルネットワークは、顔キーポイントと顔姿勢アノテーション情報を含むトレーニングデータに基づいて予めトレーニングして得られるものであり、
前記ニューラルネットワークは、正規化線形ユニットを備えた少なくとも２つの全結合層と出力層とされる１つの全結合層とを含むことを特徴とする請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記Ｘ軸を中心に回転する情報は、Ｘ軸を中心に回転する角度を含み、及び／又は、
前記Ｙ軸を中心に回転する情報は、Ｙ軸を中心に回転する角度を含み、及び／又は
前記Ｚ軸を中心に回転する情報は、Ｚ軸を中心に回転する角度を含むことを特徴とする請求項２又は４に記載の方法。
【請求項６】
前記顔画像の顔姿勢情報に基づいて、前記顔画像に対して、顔識別、顔変形処理、美顔処理、メイクアップ処理、顔の画像レンダリング処理、顔状態検出処理、表情検出処理、器官微細位置決定処理及び運転状態決定処理のうちの少なくとも１つを含む処理を行うことを更に含むことを特徴とする請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記トレーニングデータセットにおけるトレーニングデータの生成方法は、
顔画像サンプルの顔キーポイントを取得することと、
前記顔画像サンプルの顔キーポイントに基づいて、３次元顔モデルを用いて前記顔画像サンプルの顔姿勢アノテーション情報を決定することと、を含み、
前記顔画像サンプルの顔キーポイントと顔画像サンプルの顔姿勢アノテーション情報が、トレーニングデータセットにおける１つのトレーニングデータとされることを特徴とする請求項１に記載の方法。
【請求項８】
前記顔画像サンプルの顔キーポイントに基づいて、３次元顔モデルを用いて前記顔画像サンプルの顔姿勢アノテーション情報を決定することは、
勾配降下法により３次元顔モデルのパラメータを調整して、前記顔画像サンプルの顔キーポイントとパラメータ調整後の３次元顔モデルの顔キーポイントとを投影して得られた２次元顔キーポイントの間の距離の和を最適化して、前記顔画像サンプルの顔姿勢アノテーション情報を決定することを含み、
前記の３次元顔モデルのパラメータを調整することは、
３次元顔モデルの位置、３次元顔モデルの姿勢及び３次元顔モデルの表情のうちの少なくとも１つを調整することを含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記トレーニングデータセットにおけるトレーニングデータの生成方法は、
トレーニングデータセットにおける１つのトレーニングデータを取得し、当該一つのトレーニングデータにおける顔キーポイントに対して座標変換を行い、且つ顔キーポイントの座標変換により当該一つのトレーニングデータ中の顔姿勢アノテーション情報に対して、対応する変換を行うことと、
変換処理後の顔キーポイントと顔姿勢アノテーション情報とを１つの新しいトレーニングデータとして前記トレーニングデータセットに加えることと、を含むことを特徴とする請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
顔が正面顔である時に、顔キーポイントの、Ｙ軸を中心に回転する情報とＺ軸を中心に回転する角情報がいずれも回転していないことを示すとした場合に、前記の当該一つのトレーニングデータにおける顔キーポイントに対して座標変換を行い、且つ顔キーポイントの座標変換により当該一つのトレーニングデータ中の顔姿勢アノテーション情報に対して、対応する変換を行うことは、当該一つのトレーニングデータにおける顔キーポイントのＸ軸座標に対してミラーリング処理を行い、且つ当該一つのトレーニングデータ中の顔姿勢アノテーション情報中のＹ軸を中心に回転する情報とＺ軸を中心に回転する情報とに対してそれぞれ負の値をとることを含み、
又は、
前記の当該一つのトレーニングデータにおける顔キーポイントに対して座標変換を行い、且つ顔キーポイントの座標変換により当該一つのトレーニングデータ中の顔姿勢アノテーション情報に対して、対応する変換を行うことは、当該一つのトレーニングデータにおける顔キーポイントの座標を所定の角度で２次元回転させ、且つこの所定の角度に基づいて、当該一つのトレーニングデータ中の顔姿勢アノテーション情報中のＺ軸を中心に回転する情報を調整することを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
請求項１〜１０のいずれか一項に記載の顔姿勢解析方法を用いて、車載カメラにより収集された運転者画像の顔姿勢情報を得ることと、
所定時間内の運転者画像の顔姿勢情報に基づいて、注意散漫運転状態及び疲労運転状態のうちの少なくとも１つを含む運転者の運転状態を決定することと、を含むことを特徴とする運転状態監視方法。
【請求項１２】
所定時間内の運転者画像の顔キーポイントにより運転者の開眼閉眼動作を決定することを更に含み、前記の所定時間内の運転者画像の顔姿勢情報に基づいて、運転者の運転状態を決定することは、所定時間内の運転者画像の顔姿勢情報及び前記開眼閉眼動作に基づいて、運転者の運転状態を決定することを含み、
又は、
所定時間内の運転者画像の顔キーポイントに基づいて、運転者の開口閉口動作を決定することを更に含み、前記の所定時間内の運転者画像の顔姿勢情報に基づいて、運転者の運転状態を決定することは、所定時間内の運転者画像の顔姿勢情報及び前記開口閉口動作に基づいて、運転者の運転状態を決定することを含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
運転者画像の手部キーポイントを取得することと、
所定時間内の運転者画像の顔キーポイントと手部キーポイントに基づいて、運転者の手の顔部領域での滞留状態を決定することと、を更に含み、
前記の所定時間内の運転者画像の顔姿勢情報に基づいて、運転者の運転状態を決定することは、
所定時間内の運転者画像の顔姿勢情報及び前記滞留状態に基づいて、運転者の運転状態を決定することを含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
所定時間内の運転者画像の顔キーポイントに基づいて、運転者の顔向き方向を決定することを更に含み、
前記の所定時間内の運転者画像の顔姿勢情報に基づいて、運転者の運転状態を決定することは、
所定時間内の運転者画像の顔姿勢情報及び前記顔向き方向に基づいて、運転者の運転状態を決定することを含むことを特徴とする請求項１１に記載の方法。
【請求項１５】
前記の運転者の運転状態を決定したに、
前記運転者の運転状態が所定の警告条件を満たしたことに応答して、
警告通知情報を出力する操作、
クラウドサーバ又は所定の関連付け通信端末に情報を送信する操作であって、前記情報が、前記運転者の運転状態、前記運転者の運転状態に対応する少なくとも１フレームの運転者画像のうちの少なくとも１つを含む操作、
の少なくとも一項を実行することを更に含み、ことを特徴とする請求項１１〜１４のいずれか一項に記載の方法。
【請求項１６】
顔画像の顔キーポイントを取得するためのキーポイント取得モジュールと、
前記顔画像の顔キーポイントをニューラルネットワークに入力して、前記ニューラルネットワークから出力される前記顔画像の顔姿勢情報を取得するための姿勢取得モジュールと、を含み、
前記ニューラルネットワークは、
トレーニングデータセットから、顔キーポイントと顔姿勢アノテーション情報を含むトレーニングデータを取得することと、
前記トレーニングデータにおける顔キーポイントを、トレーニング対象であるニューラルネットワークに入力して、前記トレーニング対象であるニューラルネットワークから出力される顔姿勢情報を取得することと、
前記トレーニング対象であるニューラルネットワークから出力される顔姿勢情報と前記トレーニングデータ中の顔姿勢アノテーション情報との差をガイダンス情報として、前記トレーニング対象であるニューラルネットワークに対して教師あり学習を行うこととを実施することによって、トレーニングされることを特徴とする顔姿勢解析装置。
【請求項１７】
請求項１６に記載の顔姿勢解析装置を用いて、車載カメラにより収集された運転者画像の顔姿勢情報を得るものと、
所定時間内の運転者画像の顔姿勢情報に基づいて、注意散漫運転状態及び疲労運転状態のうちの少なくとも１つを含む運転者の運転状態を決定するための運転状態決定モジュールと、を含むことを特徴とする運転状態監視装置。
【請求項１８】
コンピュータプログラムを記憶するためのメモリと、
前記メモリに記憶されたコンピュータプログラムを実行し、前記コンピュータプログラムが実行される時に、上記請求項１〜１５のいずれか一項に記載の方法を実現するためのプロセッサと、を含む電子デバイス。
【請求項１９】
コンピュータプログラムが記憶されたコンピュータ読み取り可能記憶媒体であって、当該コンピュータプログラムがプロセッサにより実行される時に、上記請求項１〜１５のいずれか一項に記載の方法を実現するコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２０１７年１２月２５日に中国特許局に提出された、出願番号が２０１７１１４２４９８６．５であり、出願名称が「顔姿勢解析方法、装置、デバイス、記憶媒体及びプログラム」である中国特許出願の優先権を主張し、その開示の全てが参照によって本願に組み込まれる。
【０００２】
本願は、コンピュータビジョン技術に関し、特に、顔姿勢解析方法、顔姿勢解析装置、ニューラルネットワークのトレーニング方法、ニューラルネットワークのトレーニング装置、運転状態監視方法、運転状態監視装置、電子デバイス、コンピュータ読み取り可能記憶媒体及びコンピュータプログラムに関する。
【背景技術】
【０００３】
顔画像は顔が含まれる画像である。顔画像からより多い情報を如何に取得するかについては、関心する値打ちがある技術的課題である。
【発明の概要】
【０００４】
本願の実施形態は、顔姿勢解析、ニューラルネットワークトレーニング及び運転状態監視の技術的手段を提供する。
【０００５】
本願の実施形態の一態様によれば、被処理顔画像の顔キーポイントを取得することと、前記被処理顔画像の顔キーポイントをニューラルネットワークに入力して、前記ニューラルネットワークから出力される前記被処理顔画像の顔姿勢情報を取得することと、を含む顔姿勢解析方法を提供する。
【０００６】
本願の実施形態の別の態様によれば、トレーニングデータセットから、顔キーポイントと顔姿勢アノテーション情報を含むトレーニングデータを取得することと、前記トレーニングデータにおける顔キーポイントを、トレーニング対象であるニューラルネットワークに入力して、前記トレーニング対象であるニューラルネットワークから出力される顔姿勢情報を取得することと、前記トレーニング対象であるニューラルネットワークから出力される顔姿勢情報と前記トレーニングデータ中の顔姿勢アノテーション情報との差をガイダンス情報として、前記トレーニング対象であるニューラルネットワークに対して教師あり学習を行うことと、を含むニューラルネットワークのトレーニング方法を提供する。
【０００７】
本願の実施形態のまた１つの態様によれば、上記顔姿勢解析方法を用いて、車載カメラにより収集された運転者画像の顔姿勢情報を得ることと、所定時間内の運転者画像の顔姿勢情報により注意散漫運転状態及び疲労運転状態のうちの少なくとも１つを含む運転者の運転状態を決定することと、を含む運転状態監視方法を提供する。
【０００８】
本願の実施形態のまた１つの態様によれば、被処理顔画像の顔キーポイントを取得するためのキーポイント取得モジュールと、前記被処理顔画像の顔キーポイントをニューラルネットワークに入力して、前記ニューラルネットワークから出力される前記被処理顔画像の顔姿勢情報を取得するための姿勢取得モジュールと、を含む顔姿勢解析装置を提供する。
【０００９】
本願の実施形態のまた１つの態様によれば、トレーニングデータセットからトレーニングデータを取得するための第１の取得モジュールと、前記トレーニングデータにおける顔キーポイントを、トレーニング対象であるニューラルネットワークに入力して、前記トレーニング対象であるニューラルネットワークから出力される顔姿勢情報を取得するための第２の取得モジュールと、前記トレーニング対象であるニューラルネットワークから出力される顔姿勢情報と前記トレーニングデータ中の顔姿勢アノテーション情報との差をガイダンス情報として、前記トレーニング対象であるニューラルネットワークに対して教師あり学習を行うための教師あり学習モジュールと、を含むニューラルネットワークのトレーニング装置を提供する。
【００１０】
本願の実施形態のまた１つの態様によれば、上記顔姿勢解析装置を用いて、車載カメラにより収集された運転者画像の顔姿勢情報を得るものと、所定時間内の運転者画像の顔姿勢情報により注意散漫運転状態及び疲労運転状態のうちの少なくとも１つを含む運転者の運転状態を決定するための運転状態決定モジュールと、を含む運転状態監視装置を提供する。
【００１１】
本願の実施形態のまた１つの態様によれば、コンピュータプログラムを記憶するためのメモリと、前記メモリに記憶されたコンピュータプログラムを実行し、前記コンピュータプログラムが実行される時に、本願のいずれか１つの方法の実施形態を実現するためのプロセッサと、を含む電子デバイスを提供する。
【００１２】
本願の実施形態のまた１つの態様によれば、コンピュータプログラムが記憶されたコンピュータ読み取り可能記憶媒体であって、当該コンピュータプログラムがプロセッサにより実行される時に、本願のいずれか１つの方法の実施形態を実現するコンピュータ読み取り可能記憶媒体を提供する。
【００１３】
本願の実施形態のまた１つの態様によれば、コンピュータコマンドを含むコンピュータプログラムであって、前記コンピュータコマンドがデバイスのプロセッサで作動する時に、本願のいずれか１つの方法の実施形態を実現するコンピュータプログラムを提供する。
【００１４】
本願により提供される顔姿勢解析方法、顔姿勢解析装置、ニューラルネットワークのトレーニング方法、ニューラルネットワークのトレーニング装置、電子デバイス、コンピュータ読み取り可能記憶媒体及びコンピュータプログラムによれば、本願はニューラルネットワークを用いて被処理顔画像の顔姿勢情報を抽出することで、被処理顔画像の顔姿勢情報を速やか且つ精確に取得することができる。本願の顔姿勢解析の技術的手段は被処理顔画像の顔姿勢情報をリアルタイムで抽出する要求を満たすことに寄与し、それにより本願の顔姿勢情報を抽出する技術的手段のリアルタイム環境への応用に寄与する。
【００１５】
以上の一般的な説明と以下の詳細な説明は解釈するための例示的なものであり、本願を限定することができないことを理解すべきである。以下、図面と実施例によって本願の技術的手段を更に詳細に説明する。
【図面の簡単な説明】
【００１６】
【図１】本願の顔姿勢解析方法の一実施形態のフローチャートである。
【図２】本願のニューラルネットワークのトレーニング方法のフローチャートである。
【図３】本願のトレーニングデータを形成する一実施形態のフローチャートである。
【図４】本願のトレーニングデータを形成する別の実施形態のフローチャートである。
【図５】本願のトレーニングデータを形成するまた１つの実施形態のフローチャートである。
【図６】本願の顔姿勢解析装置の一実施形態の構造模式図である。
【図７】本願のニューラルネットワークのトレーニング装置の一実施形態の構造模式図である。
【図８】本願の実施形態を実現する例示的なデバイスのブロック図である。
【発明を実施するための形態】
【００１７】
明細書の一部を構成する図面は、本願の実施形態を説明し、その説明と共に本願の原理を解釈することに用いられる。図面を参照し、以下の詳細な説明により本願をより明瞭に理解することができる。
【００１８】
ここで、図面を参照しながら本願の様々な例示的な実施例を詳細に説明する。なお、特に断らない限り、これらの実施例で記述した部材及びステップの相対的配置、数式及び値は本願の範囲を限定するものではないことに注意すべきである。同時に、説明の便宜上、図面に示した各部分の寸法は実際の比例関係に従って描いたものではないことを理解すべきである。
【００１９】
以下の少なくとも一つの例示的な実施例に対する説明は実際に説明的なものに過ぎず、本願及びその適用または使用へのなんらの制限にもならない。関連分野の当業者に既知の技術、方法及び機器については、詳細に説明しない場合があるが、場合によって、前記技術、方法及び機器は明細書の一部と見なすべきである。
【００２０】
なお、類似する符号及び英文字は以下の図面において類似項目を表し、従って、ある一項が一つの図面において定義されれば、以降の図面においてそれをさらに説明する必要がないことに注意すべきである。
【００２１】
本願の実施例は端末装置、コンピュータシステム及びサーバ等の電子機器に適用可能であり、それは他の様々な共通または専用計算システム環境または構成と共に動作可能である。端末装置、コンピュータシステム及びサーバ等の電子機器との併用に適する公知の端末装置、計算システム、環境及び／または構成の例は、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、ファットクライアント、手持ちまたはラップトップデバイス、マイクロプロセッサに基づくシステム、セットトップボックス、プログラマブル消費者用電子機器、ネットワークパソコン、小型コンピュータシステム、大型コンピュータシステム及び前記の任意のシステムを含む分散型クラウドコンピューティング技術環境などを含むが、これらに限定されない。
【００２２】
端末装置、コンピュータシステム及びサーバ等の電子機器はコンピュータシステムにより実行されるコンピュータシステム実行可能コマンド（例えば、プログラムモジュール）の一般的な言語環境において記述できる。通常、プログラムモジュールはルーチン、プログラム、目的プログラム、コンポーネント、ロジック、データ構造などを含んでよく、それらは特定のタスクを実行するかまたは特定の抽象データ型を実現する。コンピュータシステム／サーバは分散型クラウドコンピューティング環境において実施でき、分散型クラウドコンピューティング環境において、タスクは通信ネットワークにわたってリンクされた遠隔処理機器により実行される。分散型クラウドコンピューティング環境において、プログラムモジュールは記憶機器を含むローカルまたは遠隔計算システムの記憶媒体に存在してよい。
【００２３】
（例示的実施例）
本願により提供される顔姿勢解析方法、ニューラルネットワークのトレーニング方法及び運転状態監視方法は、ワンチップコンピュータ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、フィールド・プログラマブル・ゲート・アレイ）、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理ユニット）、マイクロプロセッサ等のデータ処理デバイスによりメモリに記憶された対応のコマンドを呼び出すことによって実行されてもよい。
【００２４】
図１は本願の顔姿勢解析方法の一実施例のフローチャートである。図１に示すように、この実施例の方法は、ステップＳ１００及びステップＳ１１０を含む。以下、図１中の各ステップを詳細に説明する。
【００２５】
Ｓ１００において、被処理顔画像の顔キーポイントを取得する。
【００２６】
選択可能な一例では、本願における被処理顔画像は、静的なピクチャ又は写真等の画像であってもよく、動的なビデオ中のビデオフレーム等であってもよく、被処理顔画像は、カメラ等の収集デバイスによって予め収集されてもよく、収集されながら本願の技術的手段によってリアルタイムで処理されてもよい。この被処理顔画像における顔は、正面顔であってもよく、所定の角度で偏向した非正面顔であってもよい。本願における非正面顔の偏向角度は、Ｐｉｔｃｈ（即ち、ｘ軸を中心に回転して発生する偏向角）、Ｙａｗ（即ち、ｙ軸を中心に回転して発生する偏向角）及びＲｏｌｌ（即ち、ｚ軸を中心に回転して発生する偏向角）のうちの少なくとも１つによって示してもよい。本願では被処理顔画像における顔の具体的な表現形態が限定されない。
【００２７】
選択可能な一例では、本願の顔キーポイントとは一般的に顔又は顔局所領域あるいは１つ又は複数の顔器官の位置を決定するための複数の点を指し、顔キーポイントは一般的に顔輪郭キーポイント、眼キーポイント、眉キーポイント、口キーポイント、鼻キーポイント、眼瞼線キーポイント、口唇線キーポイント等を含むが、それらに限定されない。本願は、例えば、被処理顔画像を畳み込みニューラルネットワークに入力してこの畳み込みニューラルネットワークの出力により被処理顔画像の顔キーポイントを取得するように、既存の畳み込みニューラルネットワークを用いて被処理顔画像の顔キーポイントを取得してもよい。この畳み込みニューラルネットワークのネットワーク構造は顔キーポイントの抽出の実際の要求に応じて柔軟的に設計することができ、本願の実施例ではこの畳み込みニューラルネットワークの具体的なネットワーク構造が限定されなく、例えば、本願のこの畳み込みニューラルネットワークは、畳み込み層、非線形Ｒｅｌｕ層、プーリング層及び全結合層等を含んでもよいが、それらに限定されなく、この畳み込みニューラルネットワークに含まれる層数が多いほど、ネットワークが深くなり、更に例えば、本願のこの畳み込みニューラルネットワークのネットワーク構造はＡＬｅｘＮｅｔ、深層残差ネットワーク（Ｄｅｅｐ  Ｒｅｓｉｄｕａｌ  Ｎｅｔｗｏｒｋ、ＲｅｓＮｅｔ）又はＶＧＧｎｅｔ（Ｖｉｓｕａｌ  Ｇｅｏｍｅｔｒｙ  Ｇｒｏｕｐ  Ｎｅｔｗｏｒｋ、視覚幾何学グループネットワーク）等のニューラルネットワークに用いられるネットワーク構造を用いても良いが、それらに限定されない。
【００２８】
選択可能な一例では、本願で取得する被処理顔画像の顔キーポイントの数量は通常２１より小さくない。取得した顔キーポイントの数量が２１より高い場合に、本願により最終的に決定された被処理顔画像の顔姿勢情報がより精確になることが多く、例えば、１０６個の顔キーポイントを用いて得られた被処理顔画像の顔姿勢情報の精確性は、一般的には２１個の顔キーポイントを用いて得られた被処理顔画像の顔姿勢情報の精確性より高い。本願では取得する顔キーポイントの数量が限定されない。本願で取得する被処理顔画像の顔キーポイントは一般的には、顔キーポイントの番号及び顔キーポイントの被処理顔画像全体又は被処理顔画像の顔領域での２次元座標、つまりｘ軸座標とｙ軸座標を含む。
【００２９】
Ｓ１１０において、被処理顔画像の顔キーポイントをニューラルネットワークに入力して、ニューラルネットワークから出力される被処理顔画像の顔姿勢情報を取得する。
【００３０】
選択可能な一例では、本願におけるニューラルネットワークは複数のトレーニングデータを含むトレーニングデータセットを用いて成功的にトレーニングされたニューラルネットワークである。トレーニングデータセットにおける１つのトレーニングデータは一般的には顔キーポイント及び顔姿勢アノテーション情報を含む。トレーニングデータセットを用いてニューラルネットワークをトレーニングするプロセスについては以下の図２に対する説明を参照することができる。ここで詳細な説明を省略する。
【００３１】
選択可能な一例では、本願におけるニューラルネットワークは、Ｒｅｌｕ（Ｒｅｃｔｉｆｉｅｄ  ｌｉｎｅａｒ  ｕｎｉｔ、正規化線形ユニット）を備えた少なくとも２つの全結合層及び出力層とされる１つの全結合層を含んでもよく、例えば、このニューラルネットワークは、Ｒｅｌｕを備えた全結合層である第１層、Ｒｅｌｕを備えた全結合層である第２層、出力層とされる全結合層である第３層という３層を含み、更に例えば、このニューラルネットワークは、Ｒｅｌｕを備えた全結合層である第１層、Ｒｅｌｕを備えた全結合層である第２層、Ｒｅｌｕを備えた全結合層である第３層、出力層とされる全結合層である第４層という４層を含む。本願ではこのニューラルネットワークに含まれる全結合層の数量が限定されない。
【００３２】
選択可能な一例では、本願における顔姿勢情報は顔偏向方向を記述するための情報であり、顔偏向方向が頭部姿勢を表すことができるため、顔姿勢情報は頭部姿勢情報と呼んでもよい。選択可能に、顔姿勢情報は、Ｘ軸を中心に回転する情報、Ｙ軸を中心に回転する情報及びＺ軸を中心に回転する情報のうちの１つ又は複数を含んでもよい。一般的には、上記Ｘ軸を中心に回転する情報はＸ軸を中心に回転する角度（Ｐｉｔｃｈ又は頭部ピッチ角と呼んでも良く、頭を上げる／頭を下げる角度を表す）であってもよく、上記Ｙ軸を中心に回転する情報はＹ軸を中心に回転する角度（Ｙａｗ又は横顔角度と呼んでも良く、顔部が左／右側へ偏向する角度を表す）であってもよく、上記Ｚ軸を中心に回転する情報はＺ軸を中心に回転する角度（Ｒｏｌｌ又は頭部左右反転角度と呼んでも良く、頭の頂部が左肩／右肩に近づける角度を表す）であってもよい。本願の下記実施例では、顔姿勢情報にＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌを含むことを例として説明するが、本願における顔姿勢情報にＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌを含まなければならないというわけではない。また、本願における符号の「／」は「又は」と定義される。
【００３３】
本願におけるＸ軸を中心に回転する情報、Ｙ軸を中心に回転する情報及びＺ軸を中心に回転する情報を、回転量を表す他の形式の情報によって表してもよいことを特に説明する必要があり、例えば、Ｘ軸を中心に回転する情報が具体的にＸ軸を中心に回転する弧度で、Ｙ軸を中心に回転する情報が具体的にＹ軸を中心に回転する弧度で、Ｚ軸を中心に回転する情報が具体的にＺ軸を中心に回転する弧度であるなどのことが可能であり、本願ではＸ軸を中心に回転する情報、Ｙ軸を中心に回転する情報及びＺ軸を中心に回転する情報の具体的な表現形式が限定されない。
【００３４】
選択可能な一例では、本願は、ニューラルネットワークによる顔姿勢情報抽出操作を容易にするように、被処理顔画像の顔キーポイントを取得した後、先に被処理顔画像の顔キーポイントに対して座標正規化処理を行って顔キーポイントのｘ軸座標とｙ軸座標の値範囲を［１、−１］にし、次に、座標正規化処理後の顔キーポイントをニューラルネットワークに入力して、ニューラルネットワークに正規化処理後の顔キーポイントに基づいて被処理顔画像のＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌを出力させるようにしてもよい。
【００３５】
本願はニューラルネットワークを用いて被処理顔画像の顔姿勢情報を抽出することによって、被処理顔画像の顔姿勢情報を速やか且つ精確に取得でき、そのように、３次元顔モデル及び勾配降下法に基づいて距離を最適化する方式で被処理顔画像の顔姿勢情報を取得する場合に計算量が大きく、計算複雑度が高く、消費される時間が長い等の問題が回避されるため、本願の顔姿勢解析の技術的手段は被処理顔画像の顔姿勢情報をリアルタイムで抽出する要求を満たすことに寄与し、それによりリアルタイム環境への応用に寄与する。
【００３６】
本願により抽出された顔姿勢情報は顔の形の精確な描画に寄与し、例えば、本願により抽出された顔姿勢情報は、顔３Ｄモデルの確立を支援するために利用してもよく、視線解析に利用してもよく、更に可視／不可視の顔キーポイントの選別等に利用してもよく、これにより、本願の顔姿勢解析技術は顔の画像レンダリング処理（例えば、眉に対する特殊効果処理等）、顔変形処理（例えば、顔部対応器官の変形処理）、美顔処理（例えば、皺やソバカスの除去処理等）、メイクアップ処理（例えば、まゆずみをひく処理等）、顔識別、顔状態検出処理（例えば、眼／口の開閉程度の判断等）、器官微細位置決定処理（例えば、眼瞼線、上／下口唇内／外口唇線の位置決定等）及び表情検出処理（例えば、眼／口の開閉程度の判断等）等の用途に利用可能であることを分かった。また、本願の顔姿勢解析技術は更に運転状態決定処理（例えば、注意散漫運転状態、疲労運転状態の決定等）という用途にも利用可能である。
【００３７】
選択可能な一例では、本願で上記顔姿勢解析方法を用いて運転状態監視を実現するプロセスは以下のようになる。
【００３８】
まず、車載カメラにより収集された運転者画像（例えば、運転者顔部を含む運転者画像）を取得し、且つ運転者画像の顔キーポイントを取得し、例えば、運転者画像を畳み込みニューラルネットワークに入力して畳み込みニューラルネットワークから出力される運転者画像の顔キーポイントを取得する。
【００３９】
次に、運転者画像の顔キーポイントを本願のニューラルネットワークに入力して、ニューラルネットワークから出力される運転者画像の顔姿勢情報を取得する。例えば、ニューラルネットワークから出力される運転者画像のＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌを取得する。
【００４０】
最後に、所定時間内の運転者画像の顔姿勢情報に基づいて、運転者の運転状態を決定する。例えば、所定時間内の運転者画像のＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌにより、運転者の頭部の少なくとも１つの方向での偏向角度と持続偏向時間が所定の条件に合致したと判断した場合に、運転者が注意散漫運転状態又は疲労運転状態になったと決定できる。
【００４１】
選択可能な一例では、本願は運転状態を決定するプロセスにおいて、運転状態をより精確且つ詳細に決定するように、更に運転者の手、眼及び口のうちの少なくとも１つを組み合わせて判断するようにしてもよい。
【００４２】
選択可能な一例では、本願は、所定時間内の運転者画像の顔キーポイントにより運転者の開眼閉眼動作を決定し、次に、所定時間内の運転者画像の顔姿勢情報及び開眼閉眼動作に基づいて、運転者の運転状態を決定するようにしてもよい。例えば、所定時間内の運転者画像により、運転者の頭部垂下角度（Ｐｉｔｃｈ）及び垂下持続時間が所定の条件に合致し、且つ閉眼又は半閉眼状態の持続時間が閾値に達したと判断した場合に、運転者が疲労運転状態になったと決定する。
【００４３】
別の選択可能な例では、本願は、所定時間内の運転者画像の顔キーポイントに基づいて、運転者の開口閉口動作を決定し、次に、所定時間内の運転者画像の顔姿勢情報及び開口閉口動作に基づいて、運転者の運転状態を決定するようにしてもよい。例えば、所定時間内の運転者画像により、運転者の頭部左／右偏向角度（Ｙａｗ）及び左／右偏向持続時間が所定の条件に合致し、且つ開口閉口の回数が閾値に達したと判断した場合に、運転者が注意散漫運転状態になったと決定する。
【００４４】
また１つの選択可能な例では、本願は、所定時間内の運転者画像の手部キーポイントに基づいて、運転者の手の顔部領域での滞留状態を決定し、次に、所定時間内の運転者画像の顔姿勢情報及びこの滞留状態に基づいて、運転者の運転状態を決定するようにしてもよい。例えば、所定時間内の運転者画像により、運転者の頭部が一側の肩に近づいた側方偏位角度（Ｒｏｌｌ）又は頭部垂下角度（Ｐｉｔｃｈ）が所定の条件に合致し、且つ手の耳又は口領域の近傍での滞留持続時間が閾値に達したと判断した場合に、運転者が注意散漫運転状態になったと決定する。
【００４５】
また１つの選択可能な例では、本願は、所定時間内の運転者画像の顔キーポイントに基づいて、運転者の顔向き方向を決定してもよい。例えば、可視の顔キーポイントと不可視の顔キーポイントにより顔向き方向を決定してもよい。次に、本願は所定時間内の運転者画像の顔姿勢情報及び顔向き方向に基づいて、運転者の運転状態を決定する。例えば、所定時間内の運転者画像により、運転者の頭部左／右偏向角度（Ｙａｗ）及び左／右偏向持続時間が所定の条件に合致し、且つ持続した顔向き方向も持続的に左／右に向いていると判断した場合に、運転者が注意散漫運転状態になったと決定する。
【００４６】
また、本願では上記のいくつかの選択可能な例は判断する時に使用される判断条件を組み合わせてもよく、例えば、所定時間内の運転者画像により、運転者の頭部が一側の肩に近づいた側方偏位角度（Ｒｏｌｌ）又は頭部垂下角度（Ｐｉｔｃｈ）が所定の条件に合致し、手の耳又は口領域の近傍での滞留持続時間が閾値に達し、且つ開口閉口の回数が閾値に達したと判断した場合に、運転者が電話利用中の注意散漫運転状態になったと決定する。
【００４７】
選択可能な一例では、本願は、安全運転を促進するように、運転者の運転状態が所定の警告条件を満たした（例えば、運転者が重度注意散漫運転状態又は重度疲労運転状態になった）ことに応答して、対応する操作を実行してもよい。例えば、警告通知情報を出力する操作を実行する。更に例えば、クラウドサーバ又は所定の関連付け通信端末（例えば、運転者の携帯電話又は運転者管理者の携帯電話等）に情報を送信する操作を実行する。本願で送信される情報は、運転者の運転状態、運転者の運転状態に対応する少なくとも１フレームの運転者画像等を含む。
【００４８】
図２は本願のニューラルネットワークのトレーニングの実施例のフローチャートである。図２に示すように、この実施例の方法は、ステップＳ２００、ステップＳ２１０及びステップＳ２２０を含む。以下、図２における各ステップを詳細に説明する。
【００４９】
Ｓ２００において、トレーニングデータセットからトレーニングデータを取得する。
【００５０】
選択可能な一例では、本願におけるトレーニングデータセットには、それぞれに顔キーポイント（例えば、２１、３６、１０６又は１６０等の顔キーポイント）及び顔姿勢情報（例えば、Ｐｉｔｃｈ、Ｙａｗ及びＲｏｌｌ）を含んでよい、ニューラルネットワークのトレーニングのための複数のトレーニングデータを含む。本願はランダム読取方式又はトレーニングデータ配列順序による読取方式により、トレーニングデータセットから一回で１つ又は複数のトレーニングデータを読み取ることができる。トレーニングデータセットにおけるトレーニングデータの生成方式は下記の図３に対する説明を参照してもよく、ここで詳細な説明を省略する。
【００５１】
Ｓ２１０において、トレーニングデータにおける顔キーポイントを、トレーニング対象であるニューラルネットワークに入力して、トレーニング対象であるニューラルネットワークから出力される顔姿勢情報を取得する。
【００５２】
選択可能な一例では、トレーニングデータにおける顔キーポイントが座標正規化処理後の顔キーポイントである場合に、本願は顔キーポイントをトレーニング対象であるニューラルネットワークに直接入力して、このニューラルネットワークによりＸ軸を中心に回転する情報、Ｙ軸を中心に回転する情報及びＺ軸を中心に回転する情報のうちの１つ又は複数を出力するようにしてもよい。トレーニングデータにおける顔キーポイントが座標正規化処理後の顔キーポイントではない場合に、本願は、先に顔キーポイントに対して座標正規化処理を行い、次に、座標正規化処理後の顔キーポイントをニューラルネットワークに入力して、このニューラルネットワークによりＸ軸を中心に回転する情報、Ｙ軸を中心に回転する情報及びＺ軸を中心に回転する情報のうちの１つ又は複数を出力するようにしてもよい。一般的には、このニューラルネットワークは入力される顔キーポイントに対してＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌを出力する。
【００５３】
Ｓ２２０において、ニューラルネットワークから出力される顔姿勢情報とトレーニングデータ中の顔姿勢アノテーション情報との差をガイダンス情報として、トレーニング対象であるニューラルネットワークに対して教師あり学習を行う。
【００５４】
選択可能な一例では、本願はトレーニング対象であるニューラルネットワークから出力されるＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌとトレーニングデータ中のＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌとの差を小さくすることを目的として、トレーニング対象であるニューラルネットワーク中のネットワークパラメータ（例えば、畳み込みカーネルパラメータ及び重み等）を調整してもよい。反複条件に達すると、今回のトレーニングプロセスが終了する。本願の反複条件は、トレーニング対象であるニューラルネットワークから出力されるＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌとトレーニングデータ中のＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌとの差が所定の差要求を満たすことを含んでもよく、また、差がこの所定の差要求を満たした場合に、今回のトレーニング対象であるニューラルネットワークに対するトレーニングが成功的に完了される。本願中の反複条件は、このニューラルネットワークのトレーニングに使用されるトレーニングデータの数量が所定の数量要求に達する等を含んでも良い。使用されるトレーニングデータの数量が所定の数量要求に達したが、差がこの所定の差要求を満たさない場合に、今回のトレーニング対象であるニューラルネットワークに対するトレーニングが成功的に完了されない。トレーニングを成功的に完了したニューラルネットワークは被処理顔画像から顔姿勢情報を抽出することに利用可能である。
【００５５】
図３は本願のトレーニングデータセットにおけるトレーニングデータを形成する実施例のフローチャートである。図３に示すように、この実施例の方法は、ステップＳ３００、ステップＳ３１０及びステップＳ３２０を含む。以下、図３中の各ステップを詳細に説明する。
【００５６】
Ｓ３００において、顔画像サンプルの顔キーポイントを取得する。
【００５７】
選択可能な一例では、本願は、例えば、顔画像サンプルを畳み込みニューラルネットワークに入力して、この畳み込みニューラルネットワークの出力により顔画像サンプルの顔キーポイントを取得するように、既存の畳み込みニューラルネットワークを用いて顔画像サンプルの顔キーポイントを取得してもよい。また、本願により取得された顔画像サンプルの顔キーポイントは顔画像サンプルについて手動によりアノテーションした顔キーポイントであってもよい。
【００５８】
Ｓ３１０において、顔画像サンプルの顔キーポイントに基づいて、３次元顔モデルを用いて顔画像サンプルの顔姿勢情報を決定する。
【００５９】
選択可能な一例では、本願は、予め確立された３次元顔モデルに基づいて顔画像サンプルの顔キーポイントに対応する顔姿勢情報を決定する。この３次元顔モデルは、例えば、２１個又は１０６個又は２４０個又は他の数量の顔キーポイントを有する。本願は３次元顔モデルのパラメータを調整することでこの３次元顔モデルにおける顔キーポイントの２次元投影と上記の取得された顔画像サンプルの顔キーポイントとの合致程度を高めることができ、例えば、本願は、勾配降下法等の方法により顔画像サンプルの顔キーポイントとパラメータ調整後の３次元顔モデルの顔キーポイントとを投影して得られた２次元顔キーポイントの間の距離の和を最適化するように３次元顔モデルのパラメータを調整することで、この距離の和をできる限り小さくすることができる。上記合致程度又は上記距離の和が所定の要求を満たした場合に、現在３次元顔モデルの顔姿勢情報は顔画像サンプルの顔姿勢情報となる。
【００６０】
選択可能な一例では、本願の３次元顔モデルのパラメータの調整は一般的に３次元顔モデルの位置の調整及び３次元顔モデルの姿勢の調整（例えば、３次元顔モデルのＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌの調整）を含んでもよい。更に、本願の３次元顔モデルのパラメータの調整は、３次元顔モデルの表情と顔画像サンプルの顔キーポイントの反映する表情の類似度を高めるように、３次元顔モデルの表情の調整、即ち３次元顔モデルにおける表情との関連度が高い顔キーポイントの調整、例えば、口位置にある顔キーポイントの調整、更に例えば眼位置にある顔キーポイント等の調整を含んでもよい。本願は３次元顔モデルの表情を調整することで、顔画像サンプルの顔キーポイントとパラメータ調整後の３次元顔モデルの顔キーポイントとを投影して得られた２次元顔キーポイントの間の距離の和を最適化することに寄与し、それにより顔姿勢アノテーション情報の精確性を高めることに寄与する。
【００６１】
本願の３次元顔モデルのパラメータの調整に３次元顔モデルの位置の調整、３次元顔モデルの姿勢の調整及び３次元顔モデルの表情の調整を含む場合に、本願の３次元顔モデルは精細３次元顔モデルと呼んでも良い。
【００６２】
Ｓ３２０において、上記顔画像サンプルの顔姿勢情報を当該顔画像サンプルの顔姿勢アノテーション情報として、当該顔画像サンプルの顔キーポイントと共に１つのトレーニングデータとしてトレーニングデータセットに加える。
【００６３】
本実施例はトレーニングデータを形成するプロセスで顔姿勢アノテーション情報を取得するには精細３次元顔モデルを利用できるため、顔姿勢アノテーション情報の精確性と信頼性を保障することに寄与する。また、本実施例はニューラルネットワークのトレーニングプロセスのみで３次元顔モデルを用いてトレーニングデータを生成し、ニューラルネットワークのトレーニングが完了した後、トレーニングされたニューラルネットワークは自分がトレーニングプロセスで学習したニューロンパラメータに基づいて顔姿勢情報を抽出することが可能になり、ある程度で精細３次元顔モデルをニューラルネットワークに「移転」したことに相当し、また処理速度が３次元顔モデルより速く、リアルタイムで顔姿勢情報を解析する応用要求をより好ましく満たすことができる。
【００６４】
図４は本願のトレーニングデータセットにおけるトレーニングデータを形成する別の実施例のフローチャートである。図４に示すように、この実施例の方法は、ステップＳ４００、ステップＳ４１０及びステップＳ４２０を含む。以下、図４中の各ステップを詳細に説明する。
【００６５】
Ｓ４００において、トレーニングデータセットにおける１つのトレーニングデータを取得する。取得されるこのトレーニングデータは一般的には顔キーポイントと顔姿勢アノテーション情報を含む。
【００６６】
Ｓ４１０において、当該一つのトレーニングデータにおける顔キーポイントに対して座標変換を行い、且つ顔キーポイントの座標変換により当該一つのトレーニングデータ中の顔姿勢アノテーション情報に対して、対応する変換を行う。
【００６７】
選択可能な一例では、当該一つのトレーニングデータにおける顔キーポイントに対する座標変換は、顔が正面顔（即ち顔の正面がカメラに向いている）であり、顔キーポイントのＹ軸を中心に回転する情報とＺ軸を中心に回転する角情報がいずれも回転していない（例えば、回転角度が０）とする場合に、当該一つのトレーニングデータにおける顔キーポイントのＸ軸座標に対してミラーリング処理を行うようになってもよく、また、ミラーリング処理が実行された場合に、本願の顔キーポイントの座標変換による当該一つのトレーニングデータ中の顔姿勢アノテーション情報に対する対応変換は、当該一つのトレーニングデータ中の顔姿勢アノテーション情報におけるＹ軸を中心に回転する情報とＺ軸を中心に回転する情報に対してそれぞれ負の値をとり、例えば、ＹａｗとＲｏｌｌに対してそれぞれ負の値をとるようになってもよい。
【００６８】
選択可能な一例では、当該一つのトレーニングデータにおける顔キーポイントに対する座標変換は、当該一つのトレーニングデータにおける顔キーポイントの座標を所定の角度で２次元回転させるようになってもよく、また、座標を所定の角度で２次元回転させた場合に、本願の顔キーポイントの座標変換による当該一つのトレーニングデータ中の顔姿勢アノテーション情報に対する対応変換は、この所定の角度により当該一つのトレーニングデータ中の顔姿勢アノテーション情報におけるＺ軸を中心に回転する情報を調整し、例えばＲｏｌｌを所定の角度増加又は減少させるようになってもよい。
【００６９】
Ｓ４２０において、変換処理後の顔キーポイントと顔姿勢アノテーション情報を１つの新しいトレーニングデータとしてトレーニングデータセットに加える。
【００７０】
本願は、トレーニングデータにおける顔キーポイントに対して座標変換を行い、且つ顔キーポイントの座標変換によりこのトレーニングデータ中の顔姿勢アノテーション情報に対して、対応する変換を行うことで、トレーニングデータセットを拡大するための新しいトレーニングデータを容易に形成することができ、豊富なトレーニングデータを用いてトレーニング対象であるニューラルネットワークをトレーニングして、ニューラルネットワークの過剰適合現象の回避に寄与する。
【００７１】
図５は本願のトレーニングデータセットにおけるトレーニングデータを形成する別の実施例のフローチャートである。図５に示すように、この実施例の方法は、ステップＳ５００、ステップＳ５１０、ステップＳ５２０及びステップＳ５３０を含む。以下、図５中の各ステップを詳細に説明する。
【００７２】
Ｓ５００において、顔画像サンプルを畳み込みニューラルネットワークに入力して、畳み込みニューラルネットワークの出力により当該顔画像サンプルの顔キーポイントを取得する。
【００７３】
Ｓ５１０において、顔画像サンプルの顔キーポイントに基づいて、３次元顔モデルを用いて顔画像サンプルのＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌを決定する。このステップで具体的に実行される操作については上記ステップＳ３１０の説明を参照してもよい。
【００７４】
Ｓ５２０において、当該顔画像サンプルの顔キーポイントに対して座標変換を行い、且つ顔キーポイントの座標変換により当該顔画像サンプルのＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌに対して対応する変換を行い、Ｐｉｔｃｈ’、Ｙａｗ’とＲｏｌｌ’を得る。このステップで具体的に実行される操作については上記ステップＳ４１０の説明を参照してもよい。
【００７５】
Ｓ５３０において、顔画像サンプルの顔キーポイントと顔画像サンプルのＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌを１つのトレーニングデータとし、変換処理後の顔キーポインとＰｉｔｃｈ’、Ｙａｗ’及びＲｏｌｌ’を別のトレーニングデータとし、それぞれトレーニングデータセットに加える。本願は３次元顔モデルを用いてＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌを形成することによって、トレーニングデータの精確性を保証することに寄与し、このようなトレーニングデータに対して変換処理を行い、且つ変換前後のトレーニングデータを全てトレーニングデータセットに加えることによって、変換処理後のトレーニングデータの精確性を保証するとともに、トレーニングデータセットにおけるトレーニングデータを豊富にし、トレーニングデータセットの形成効率を高めることに寄与する。
【００７６】
図６は本願の顔姿勢解析装置の一実施例の構造模式図である。図６に示すように、この実施例の装置は、主にキーポイント取得モジュール６００及び姿勢取得モジュール６１０を含む。選択可能に、この実施例の装置は、更に処理モジュール６２０及びニューラルネットワークのトレーニング装置６３０を含んでもよい。
【００７７】
キーポイント取得モジュール６００は、主に被処理顔画像の顔キーポイントを取得するために用いられる。キーポイント取得モジュール６００に具体的に実行される操作については、上記の方法の実施形態での図１のＳ１００に対する説明を参照してもよい。ここで、重複する説明を省略する。
【００７８】
姿勢取得モジュール６１０は、主に被処理顔画像の顔キーポイントをニューラルネットワークに入力して、ニューラルネットワークから出力される被処理顔画像の顔姿勢情報を取得するために用いられる。姿勢取得モジュール６１０に具体的に実行される操作については、上記の方法の実施形態での図１のＳ１１０に対する説明を参照してもよい。ここで、重複する説明を省略する。
【００７９】
処理モジュール６２０は、主に被処理顔画像の顔姿勢情報により被処理顔画像を処理するために用いられる。この処理は、顔識別、顔変形処理（例えば、顔部の一部の領域又は全領域の変形処理）、美顔処理（例えば、皺やソバカスの除去処理等）、メイクアップ処理（例えば、まゆずみをひく処理等）、顔の画像レンダリング処理（例えば、眉に対する特殊効果処理等）、顔状態検出処理（例えば、眼／口の開閉程度の判断等）、表情検出処理（例えば、眼／口の開閉程度の判断等）、器官微細位置決定処理（例えば、眼瞼線、上／下口唇内／外口唇線の位置決定等）及び運転状態決定処理（例えば、注意散漫運転状態、疲労運転状態の決定等）のうちの少なくとも１つを含んでもよい。
【００８０】
ニューラルネットワークのトレーニング装置６３０は、主に顔キーポイントと顔姿勢アノテーション情報を含むトレーニングデータセットにおけるトレーニングデータを用いてトレーニング対象であるニューラルネットワークをトレーニングするために用いられる。ニューラルネットワークのトレーニング装置６３０に具体的に実行される操作については、上記の方法の実施形態での図２に対する説明を参照してもよい。ニューラルネットワークのトレーニング装置６３０の具体的な構造については、下記実施形態での図７に対する説明を参照してもよい。ここで、重複する説明を省略する。
【００８１】
選択可能な一例では、本願は上記顔姿勢解析装置を用いて運転状態監視装置を実現することができる。即ち、運転状態監視装置は、顔姿勢解析装置と運転状態決定モジュールを含む。選択可能に、運転状態監視装置は、更に第１の決定モジュール、第２の決定モジュール、第３の決定モジュール、第４の決定モジュール及び応答モジュールのうちの少なくとも１つを含んでもよい。
【００８２】
顔姿勢解析装置は、車載カメラにより収集された運転者画像の顔姿勢情報を取得するために用いられる。選択可能に、顔姿勢解析装置は、車載カメラにより収集された運転者画像（例えば、運転者顔部を含む運転者画像）を取得し、且つ運転者画像の顔キーポイント取得し、例えば、顔姿勢解析装置は、運転者画像を畳み込みニューラルネットワークに入力して畳み込みニューラルネットワークから出力される運転者画像の顔キーポイントを取得する。次に、顔姿勢解析装置は取得した運転者画像の顔キーポイントをニューラルネットワークに入力して、ニューラルネットワークから出力される運転者画像の顔姿勢情報を取得する。例えば、顔姿勢解析装置は、ニューラルネットワークから出力される運転者画像のＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌを取得する。
【００８３】
運転状態決定モジュールは、所定時間内の運転者画像の顔姿勢情報に基づいて、運転者の運転状態を決定するために用いられる。例えば、運転状態決定モジュールは、所定時間内の運転者画像のＰｉｔｃｈ、Ｙａｗ及びＲｏｌｌにより、運転者の頭部の少なくとも１つの方向での偏向角度と偏向持続時間が所定の条件に合致したと判断した場合に、運転者が注意散漫運転状態又は疲労運転状態になったと決定する。
【００８４】
選択可能な一例では、第１の決定モジュールは、所定時間内の運転者画像の顔キーポイントにより出運転者の開眼閉眼動作を決定することができ、次に、運転状態決定モジュールは所定時間内の運転者画像の顔姿勢情報及び開眼閉眼動作に基づいて、運転者の運転状態を決定する。例えば、運転状態決定モジュールは、所定時間内の運転者画像により、運転者の頭部垂下角度（Ｐｉｔｃｈ）及び垂下持続時間が所定の条件に合致し、且つ閉眼又は半閉眼状態の持続時間が閾値に達したと判断した場合に、運転者が疲労運転状態になったと決定する。
【００８５】
別の選択可能な例では、第２の決定モジュールは、所定時間内の運転者画像の顔キーポイントに基づいて、運転者の開口閉口動作を決定することができ、次に、運転状態決定モジュールは、所定時間内の運転者画像の顔姿勢情報及び開口閉口動作に基づいて、運転者の運転状態を決定する。例えば、運転状態決定モジュールは、所定時間内の運転者画像により、運転者の頭部左／右偏向角度（Ｙａｗ）及び左／右偏向持続時間が所定の条件に合致し、且つ開口閉口の回数が閾値に達したと判断した場合に、運転者が注意散漫運転状態になったと決定する。
【００８６】
また１つの選択可能な例では、第３の決定モジュールは、所定時間内の運転者画像の手部キーポイントに基づいて、運転者の手の顔部領域での滞留状態を決定することができ、次に、運転状態決定モジュールは、所定時間内の運転者画像の顔姿勢情報とこの滞留状態に基づいて、運転者の運転状態を決定する。例えば、運転状態決定モジュールは、所定時間内の運転者画像により、運転者の頭部が一側の肩に近づいた側方偏位角度（Ｒｏｌｌ）又は頭部垂下角度（Ｐｉｔｃｈ）が所定の条件に合致し、且つ手の耳又は口領域の近傍での滞留持続時間が閾値に達したと判断した場合に、運転者が注意散漫運転状態になったと決定する。
【００８７】
また１つの選択可能な例では、第４の決定モジュールは、所定時間内の運転者画像の顔キーポイントに基づいて、運転者の顔向き方向を決定することができる。例えば、第４の決定モジュールは、可視の顔キーポイントと不可視の顔キーポイントにより顔向き方向を決定する。次に、運転状態決定モジュールは、所定時間内の運転者画像の顔姿勢情報及び顔向き方向に基づいて、運転者の運転状態を決定する。例えば、運転状態決定モジュールは、所定時間内の運転者画像により、運転者の頭部左／右偏向角度（Ｙａｗ）と左／右偏向持続時間が所定の条件に合致し、且つ持続した顔向き方向も持続的に左／右に向いていると判断した場合に、運転者が注意散漫運転状態になったと決定する。
【００８８】
また、運転状態決定モジュールは上記の様々な例において判断する時に使用される判断条件を組み合わせてもよく、例えば、運転状態決定モジュールは、所定時間内の運転者画像により、運転者の頭部が一側の肩に近づいた側方偏位角度（Ｒｏｌｌ）又は頭部垂下角度（Ｐｉｔｃｈ）が所定の条件に合致し、手の耳又は口領域の近傍での滞留持続時間が閾値に達し、且つ開口閉口の回数が閾値に達したと判断した場合に、運転者が電話利用中の注意散漫運転状態になったと決定する。
【００８９】
応答モジュールは、安全運転を促進するように、運転者の運転状態が所定の警告条件を満たした（例えば、運転者が重度注意散漫運転状態又は重度疲労運転状態になった）ことに応答して、対応する操作を実行するために用いられる。例えば、応答モジュールは警告通知情報を出力する操作を実行する。更に例えば、応答モジュールはクラウドサーバ又は所定の関連付け通信端末（例えば、運転者の携帯電話又は運転者管理者の携帯電話等）に情報を送信する操作を実行する。応答モジュールにより送信される情報は、運転者の運転状態、運転者の運転状態に対応する少なくとも１フレームの運転者画像等を含んでもよい。
【００９０】
図７は本願のニューラルネットワークのトレーニング装置の一実施例の構造模式図である。図７に示すように、この実施例の装置は、主に第１の取得モジュール７００、第２の取得モジュール７１０及び教師あり学習モジュール７２０を含む。選択可能に、この実施例の装置は、更に第１のアノテーションモジュール７３０及び第２のアノテーションモジュール７４０を含んでもよい。
【００９１】
第１の取得モジュール７００は、主にトレーニングデータセットからトレーニングデータを取得するために用いられる。第１の取得モジュール７００に具体的に実行される操作については、上記の方法の実施形態での図２のＳ２００に対する説明を参照してもよい。ここで、重複する説明を省略する。
【００９２】
第２の取得モジュール７１０は、主にトレーニングデータにおける顔キーポイントを、トレーニング対象であるニューラルネットワークに入力して、トレーニング対象であるニューラルネットワークから出力される顔姿勢情報を取得するために用いられる。第２の取得モジュール７１０に具体的に実行される操作については、上記の方法の実施形態での図２のＳ２１０に対する説明を参照してもよい。ここで、重複する説明を省略する。
【００９３】
教師あり学習モジュール７２０は、主にトレーニング対象であるニューラルネットワークから出力される顔姿勢情報とトレーニングデータ中の顔姿勢アノテーション情報との差をガイダンス情報として、トレーニング対象であるニューラルネットワークに対して教師あり学習を行うために用いられる。教師あり学習モジュール７２０に具体的に実行される操作については、上記の方法の実施形態での図２のＳ２２０に対する説明を参照してもよい。ここで、重複する説明を省略する。
【００９４】
第１のアノテーションモジュール７３０は、主に顔画像サンプルの顔キーポイントを取得し、顔画像サンプルの顔キーポイントに基づいて、３次元顔モデルを用いて顔画像サンプルの顔姿勢アノテーション情報を決定するために用いられ、ここで、顔画像サンプルの顔キーポイントと顔画像サンプルの顔姿勢アノテーション情報が、トレーニングデータセットにおける１つのトレーニングデータとされる。第１のアノテーションモジュール７３０に具体的に実行される操作については、上記の方法の実施形態での図３中のＳ３００〜３１０と図５中のＳ５００〜５１０に対する説明を参照してもよい。ここで、重複する説明を省略する。
【００９５】
第２のアノテーションモジュール７４０は、主にトレーニングデータセットにおける１つのトレーニングデータを取得し、当該一つのトレーニングデータにおける顔キーポイントに対して座標変換を行い、且つ顔キーポイントの座標変換により当該一つのトレーニングデータ中の顔姿勢アノテーション情報に対して、対応する変換を行うことと、変換処理後の顔キーポイントと顔姿勢アノテーション情報を１つの新しいトレーニングデータとしてトレーニングデータセットに加えることとに用いられる。第２のアノテーションモジュール７４０に具体的に実行される操作については、上記の方法の実施形態での図４中のＳ４１０と図５中のＳ５２０に対する説明を参照してもよい。ここで、重複する説明を省略する。
【００９６】
（例示的デバイス）
図８は本願を実現するのに適する例示的装置８００を示し、装置８００は自動車に配置されるコントロールシステム／電子システム、携帯端末（例えば、スマートフォン等）、パーソナルコンピュータ（ＰＣ；例えば、デスクトップコンピュータ又はノートパソコン等）、タブレット型コンピュータ及びサーバ等であってよい。図８において装置８００は１つ又は複数のプロセッサ、通信部などを含み、前記１つ又は複数のプロセッサは、例えば、１つ又は複数の中央処理ユニット（ＣＰＵ）８０１、及び／又は１つ又は複数の画像プロセッサ（ＧＰＵ）８１３などであり、プロセッサは、読み取り専用メモリ（ＲＯＭ）８０２に記憶された実行可能コマンド又は記憶部８０８からランダムアクセスメモリ（ＲＡＭ）８０３にロードされた実行可能コマンドによって各種の適切な動作及び処理を実現することができる。通信部８１２はネットワークカードを含んでよいが、それに限定されなく、前記ネットワークカードはＩＢ（Ｉｎｆｉｎｉｂａｎｄ）ネットワークカードを含んでよいが、それに限定されない。プロセッサは読み取り専用メモリ８０２及び／又はランダムアクセスメモリ８０３と通信して実行可能コマンドを実行し、通信バス８０４を介して通信部８１２に接続され、通信部８１２を介して他のターゲットデバイスと通信してよく、それにより本願における対応のステップを完成する。
【００９７】
上記各コマンドに実行される操作については上記の方法の実施例での関連説明を参照してもよく、ここで詳細な説明を省略する。また、ＲＡＭ８０３には、装置の動作に必要な各種のプログラムやデータが格納されていてもよい。ＣＰＵ８０１、ＲＯＭ８０２及びＲＡＭ８０３は、通信バス８０４を介して相互に接続される。ＲＡＭ８０３を有する場合に、ＲＯＭ８０２は選択可能なモジュールである。ＲＡＭ８０３は実行可能コマンドを格納するか、または動作時に実行可能コマンドをＲＯＭ８０２に書き込み、実行可能コマンドによって中央処理ユニット８０１に上記方法に含まれるステップを実行させる。
【００９８】
入力／出力（Ｉ／Ｏ）インタフェース８０５も通信バス８０４に接続される。通信部８１２は、統合的に設置されてもよく、複数のサブモジュール（例えば複数のＩＢネットワークカード）を有し、それぞれバスに接続されるように設置されてもよい。キーボード、マウスなどを含む入力部８０６と、陰極線管（ＣＲＴ）、液晶ディスプレイー（ＬＣＤ）など及びスピーカなどを含む出力部８０７と、ハードディスクなどを含む記憶部８０８と、ＬＡＮカード、モデムなどのネットワークインタフェースカードを含む通信部８０９とがＩ／Ｏインタフェース８０５に接続されている。通信部８０９は例えばインターネットのようなネットワークを介して通信処理を行う。ドライブ８１０も必要に応じてＩ／Ｏインタフェース８０５に接続される。磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどのリムーバブル媒体８１１は、必要に応じてドライブ８１０上に装着され、そこから読み出されたコンピュータプログラムを必要に応じて記憶部８０８にインストールする。
【００９９】
なお、図８に示す構造は選択可能な一実施形態に過ぎず、具体的な実践過程では、実際の必要に応じて上記図８の部品の数及び種類を選択、削除、追加、または置換することができ、異なる機能部品の設置上でも、分離設置または統合設置などの実施形態を採用でき、例えばＧＰＵとＣＰＵは分離設置するかまたはＧＰＵをＣＰＵに統合するようにしてよく、通信部は分離設置するか、またはＣＰＵやＧＰＵに統合設置することなども可能であることを説明する必要がある。これらの置換可能な実施形態はいずれも本願の保護範囲に属する。特に、本願の実施形態によれば、以下フローチャートを参照しながら記載するプロセスはコンピュータソフトウェアプログラムとして実現でき、例えば、本願の実施形態はコンピュータプログラム製品を含み、それは機械可読媒体に有形に具現化された、フローチャートに示すステップを実行するためのプログラムコードを含むコンピュータプログラムを含み、プログラムコードは本願により提供される方法中のステップを対応して実行する対応のコマンドを含んでよい。このような実施形態では、該コンピュータプログラムは通信部８０９によってネットワークからダウンロード及びインストールされ、及び／又はリムーバブル媒体８１１からインストールされ得る。中央処理ユニット（ＣＰＵ）８０１によって該コンピュータプログラムを実行する時に、本願に記載された上記の対応のステップを実現するコマンドを実行する。
【０１００】
１つ又は複数の選択可能な実施形態では、本開示の実施例は、コンピュータ読取可能コマンドを記憶するためのコンピュータプログラム製品であって、前記コマンドが実行される時にコンピュータに上記のいずれか１つの実施例に記載の顔姿勢解析方法又はニューラルネットワークのトレーニング方法又は運転状態監視方法を実行させるコンピュータプログラム製品を更に提供する。該コンピュータプログラム製品は具体的にはハードウェア、ソフトウェア又はそれらの組合せにより実現可能である。選択可能な一例において、前記コンピュータプログラム製品は具体的にはコンピュータ記憶媒体として実現され、別の選択可能な一例において、前記コンピュータプログラム製品は具体的には、例えばソフトウェア開発キット（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ、ＳＤＫ）などのソフトウェア製品として実現される。
【０１０１】
１つ又は複数の選択可能な実施形態では、本開示の実施例は、別の顔姿勢解析方法、ニューラルネットワークのトレーニング方法、運転状態監視方法及びそれに対応する装置と電子デバイス、コンピュータ記憶媒体、コンピュータプログラム並びにコンピュータプログラム製品を更に提供し、この方法は、第２の装置に上記のいずれか１つの可能な実施例における顔姿勢解析方法又はニューラルネットワークトレーニング方法又は運転状態監視方法を実行させるための顔姿勢解析指示又はニューラルネットワークトレーニング指示又は運転状態監視指示を第１の装置により第２の装置に送信することと、第１の装置により第２の装置から送信される顔姿勢解析結果又はニューラルネットワークトレーニング結果又は運転状態監視結果を受信することと、を含む。
【０１０２】
いくつかの実施例では、この顔姿勢解析指示又はニューラルネットワークトレーニング指示又は運転状態監視指示は具体的に呼び出しコマンドであってもよく、第１の装置は、呼び出すことで顔姿勢解析操作又はニューラルネットワークトレーニング操作又は運転状態監視操作を実行させるように第２の装置に指示することができ、それに対して、第２の装置は、呼び出しコマンドを受信したことに応答して、上記顔姿勢解析方法又はニューラルネットワークのトレーニング方法又は運転状態監視方法のいずれか１つの実施例中のステップ及び／又は流れを実行することができる。
【０１０３】
本開示の実施例における「第１の」、「第２の」などの用語は区別するためのものに過ぎず、本開示の実施例に対する限定と理解してはならないことを理解すべきである。更に、本開示では、「複数の」は２つ又は２つ以上を指してよく、「少なくとも１つの」は１つ、２つ又は２つ以上を指してよいことを理解すべきである。
【０１０４】
更に、本開示で言及された任意の部材、データ又は構造は、明確に限定され又は明細書の前後で反対的に示唆された場合でなければ、一般的には１つ又は複数と理解してよいことを理解すべきである。
【０１０５】
更に、本開示ではそれぞれの実施例についての説明はそれぞれの実施例の相違点を重点として強調し、その同一又は類似的な点について相互に参照してよく、簡単化するために、ここで一つずつに繰り返して説明しないことを理解すべきである。
【０１０６】
本願の方法、装置、電子デバイス及びコンピュータ読み取り可能記憶媒体は、様々な形態で実現され得る。例えば、ソフトウェア、ハードウェア、ファームウェアまたはソフトウェア、ハードウェア、ファームウェアの任意の組合わせによって本願の方法、装置、電子デバイス及びコンピュータ読み取り可能記憶媒体を実現することができる。前記方法のステップのための上記順序は説明することのみを目的とし、本願の方法のステップは、特に断らない限り、以上で具体的に説明した順序に限定されない。また、いくつかの実施例では、本願は記録媒体に記憶されたプログラムとしてもよく、これらのプログラムは本願の方法を実現するための機械可読コマンドを含む。従って、本願は本願の方法を実行するためのプログラムが記憶された記録媒体も含む。
【０１０７】
本願の説明は、例示及び説明のために提示されたものであり、網羅的なものでありもしくは開示された形式に本願を限定するというわけでない。当業者にとっては多くの修正及び変形を加えることができるのは明らかであろう。実施例は本願の原理及び実際応用をより明瞭に説明するため、かつ当業者が本願を理解して特定用途に適した各種の修正を加えた各種の実施例を設計可能にするように選択され説明されたものである。
【図１】
0006970305.tif 000002
【図２】
0006970305.tif 000003
【図３】
0006970305.tif 000004
【図４】
0006970305.tif 000005
【図５】
0006970305.tif 000006
【図６】
0006970305.tif 000007
【図７】
0006970305.tif 000008
【図８】
0006970305.tif 000009