IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 矢崎総業株式会社の特許一覧

特許7460450視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置
<>
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図1
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図2
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図3
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図4
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図5
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図6
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図7
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図8
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図9
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図10
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図11
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図12
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図13
  • 特許-視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-25
(45)【発行日】2024-04-02
(54)【発明の名称】視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置
(51)【国際特許分類】
   G06T 7/70 20170101AFI20240326BHJP
   G06T 7/00 20170101ALI20240326BHJP
【FI】
G06T7/70 B
G06T7/00 350C
G06T7/00 660A
【請求項の数】 8
(21)【出願番号】P 2020098172
(22)【出願日】2020-06-05
(65)【公開番号】P2021190041
(43)【公開日】2021-12-13
【審査請求日】2023-03-29
(73)【特許権者】
【識別番号】000006895
【氏名又は名称】矢崎総業株式会社
(74)【代理人】
【識別番号】110001771
【氏名又は名称】弁理士法人虎ノ門知的財産事務所
(72)【発明者】
【氏名】▲高▼橋 勇氣
【審査官】新井 則和
(56)【参考文献】
【文献】特開2019-28843(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
推定対象の入力顔画像から視線を推定する学習済みモデルを機械学習させる際に用いられる学習用データセットを生成する学習用データ生成装置と、
前記学習用データ生成装置により生成された複数の前記学習用データセットを用いて、機械学習により前記学習済みモデルを生成するモデル生成部と、
前記推定対象の入力顔画像を入力する推定対象入力部と、
前記モデル生成部により生成された前記学習済みモデルを用いて、前記推定対象入力部により入力された前記入力顔画像から視線を推定する視線推定部と、を備え、
前記学習用データ生成装置は、
学習対象者の顔を撮像する学習用撮像部と、
前記学習用撮像部と前記学習対象者との間に配置され前記学習対象者の視線を検出する視線検出器と、
前記学習用撮像部により撮像された前記視線検出器の画像及び前記学習対象者の顔画像を含む顔画像データにおいて、前記視線検出器の画像を検出する画像検出部と、
前記顔画像データにおいて、前記画像検出部により検出された前記視線検出器の画像を含む画像領域の画素値を、予め定められた画素値に置き換える画像置換部と、
前記画像置換部により置き換えられた置換後の顔画像データと、前記視線検出器により検出された前記学習対象者の視線を表す視線データとを対応付けた前記学習用データセットを生成する対応付け処理部と、を含んで構成されることを特徴とする視線推定システム。
【請求項2】
前記学習用データ生成装置は、前記置換後の顔画像データにおいて、前記学習対象者の顔画像が含まれることを判定する顔判定部を含み、
前記対応付け処理部は、前記顔判定部により前記置換後の顔画像データに前記学習対象者の顔画像が含まれると判定された場合、前記置換後の顔画像データと前記視線データとを対応付けた前記学習用データセットを生成し、
前記顔判定部により前記置換後の顔画像データに前記学習対象者の顔画像が含まれないと判定された場合、前記置換後の顔画像データと前記視線データとを対応付けた前記学習用データセットを生成しない請求項1に記載の視線推定システム。
【請求項3】
前記学習用データ生成装置は、前記視線検出器により検出された前記視線データに基づいて前記学習対象者の瞬きを判定する瞬き判定部を含み、
前記対応付け処理部は、前記瞬き判定部により瞬きをしていないと判定された場合、前記置換後の顔画像データと前記視線データとを対応付けた前記学習用データセットを生成し、
前記瞬き判定部により瞬きをしていると判定された場合、前記置換後の顔画像データと前記視線データとを対応付けた前記学習用データセットを生成しない請求項1又は2に記載の視線推定システム。
【請求項4】
予め定められた前記画素値は、前記学習対象者の眼の色とは異なる色の画素値である請求項1~3のいずれか1項に記載の視線推定システム。
【請求項5】
推定対象の入力顔画像から視線を推定する学習済みモデルを機械学習させる際に用いられる学習用データセットを生成する学習用データ生成ステップと、
前記学習用データ生成ステップで生成された複数の前記学習用データセットを用いて、機械学習により前記学習済みモデルを生成するモデル生成ステップと、
前記推定対象の入力顔画像を入力する推定対象入力ステップと、
前記モデル生成ステップで生成された前記学習済みモデルを用いて、前記推定対象入力ステップで入力された前記入力顔画像から視線を推定する視線推定ステップと、を有し、
前記学習用データ生成ステップでは、
学習対象者の顔を学習用撮像部により撮像する撮像ステップと、
前記学習用撮像部と前記学習対象者との間に配置された視線検出器により前記学習対象者の視線を検出する視線検出ステップと、
前記撮像ステップで撮像された前記視線検出器の画像及び前記学習対象者の顔画像を含む顔画像データにおいて、前記視線検出器の画像を検出する画像検出ステップと、
前記顔画像データにおいて、前記画像検出ステップで検出された前記視線検出器の画像を含む画像領域の画素値を、予め定められた画素値に置き換える画像置換ステップと、
前記画像置換ステップで置き換えられた置換後の顔画像データと、前記視線検出ステップで検出された前記学習対象者の視線を表す視線データとを対応付けた前記学習用データセットを生成する対応付け処理ステップと、を含むことを特徴とする視線推定方法。
【請求項6】
推定対象の入力顔画像から視線を推定する学習済みモデルを機械学習させる際に用いられる学習用データセットを生成し、
生成された複数の前記学習用データセットを用いて、機械学習により前記学習済みモデルを生成し、
前記推定対象の入力顔画像を入力し、
前記学習済みモデルを用いて、前記推定対象の入力顔画像から視線を推定する各処理をコンピュータに実行させるものであり、
前記学習用データセットを生成する場合、
学習対象者の顔を学習用撮像部により撮像し、
前記学習用撮像部と前記学習対象者との間に配置された視線検出器により前記学習対象者の視線を検出し、
前記学習用撮像部により撮像された前記視線検出器の画像及び前記学習対象者の顔画像を含む顔画像データにおいて、前記視線検出器の画像を検出し、
前記顔画像データにおいて、前記視線検出器の画像を含む画像領域の画素値を、予め定められた画素値に置き換え、
置換後の顔画像データと前記学習対象者の視線を表す視線データとを対応付けた前記学習用データセットを生成することを特徴とする視線推定プログラム。
【請求項7】
学習対象者の顔を撮像する学習用撮像部と、
前記学習用撮像部と前記学習対象者との間に配置され前記学習対象者の視線を検出する視線検出器と、
前記学習用撮像部により撮像された前記視線検出器の画像及び前記学習対象者の顔画像を含む顔画像データにおいて、前記視線検出器の画像を検出する画像検出部と、
前記顔画像データにおいて、前記画像検出部により検出された前記視線検出器の画像を含む画像領域の画素値を、予め定められた画素値に置き換える画像置換部と、
前記画像置換部により置き換えられた置換後の顔画像データと、前記視線検出器により検出された前記学習対象者の視線を表す視線データとを対応付けた学習用データセットを生成する対応付け処理部と、を備えることを特徴とする学習用データ生成装置。
【請求項8】
車両の運転者の顔を撮像する運転者撮像部と、
前記運転者撮像部により撮像された運転者の顔画像を入力する推定対象入力部と、
学習対象者の顔を撮像する学習用撮像部、前記学習用撮像部と前記学習対象者との間に配置され前記学習対象者の視線を検出する視線検出器、前記学習用撮像部により撮像された前記視線検出器の画像及び前記学習対象者の顔画像を含む顔画像データにおいて、前記視線検出器の画像を検出する画像検出部、前記顔画像データにおいて、前記画像検出部により検出された前記視線検出器の画像を含む画像領域の画素値を、予め定められた画素値に置き換える画像置換部、及び、前記画像置換部により置き換えられた置換後の顔画像データと、前記視線検出器により検出された前記学習対象者の視線を表す視線データとを対応付けた学習用データセットを生成する対応付け処理部を含む学習用データ生成装置により生成された複数の前記学習用データセットを用いて機械学習した学習済みモデルを用いて、前記推定対象入力部により入力された前記運転者の顔画像から前記運転者の視線を推定する視線推定部と、
を備えることを特徴とする視線推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、視線推定システム、視線推定方法、視線推定プログラム、学習用データ生成装置、及び、視線推定装置に関する。
【背景技術】
【0002】
従来、視線推定システムとして、例えば、特許文献1には、人物の顔を含む画像を取得する画像取得部と、取得した画像から人物の目を含む部分画像を抽出する画像抽出部と、視線方向を推定するための機械学習を行った学習済みの学習器に当該部分画像を入力することで、人物の視線方向を示す視線情報を学習器から取得する推定部とを備える情報処理装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-28843号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上述の特許文献1に記載の情報処理装置は、例えば、視線を推定する精度の低下を抑制する点で更なる改善の余地がある。
【0005】
そこで、本発明は、上記に鑑みてなされたものであって、適正に視線を推定することができる視線推定システム、視線推定方法、視線推定プログラム、視線推定装置、及び、適正に視線を推定することを支援することができる学習用データ生成装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明に係る視線推定システムは、推定対象の入力顔画像から視線を推定する学習済みモデルを機械学習させる際に用いられる学習用データセットを生成する学習用データ生成装置と、前記学習用データ生成装置により生成された複数の前記学習用データセットを用いて、機械学習により前記学習済みモデルを生成するモデル生成部と、前記推定対象の入力顔画像を入力する推定対象入力部と、前記モデル生成部により生成された前記学習済みモデルを用いて、前記推定対象入力部により入力された前記入力顔画像から視線を推定する視線推定部と、を備え、前記学習用データ生成装置は、学習対象者の顔を撮像する学習用撮像部と、前記学習用撮像部と前記学習対象者との間に配置され前記学習対象者の視線を検出する視線検出器と、前記学習用撮像部により撮像された前記視線検出器の画像及び前記学習対象者の顔画像を含む顔画像データにおいて、前記視線検出器の画像を検出する画像検出部と、前記顔画像データにおいて、前記画像検出部により検出された前記視線検出器の画像を含む画像領域の画素値を、予め定められた画素値に置き換える画像置換部と、前記画像置換部により置き換えられた置換後の顔画像データと、前記視線検出器により検出された前記学習対象者の視線を表す視線データとを対応付けた前記学習用データセットを生成する対応付け処理部と、を含んで構成されることを特徴とする。
【0007】
上記視線推定システムにおいて、前記学習用データ生成装置は、前記置換後の顔画像データにおいて、前記学習対象者の顔画像が含まれることを判定する顔判定部を含み、前記対応付け処理部は、前記顔判定部により前記置換後の顔画像データに前記学習対象者の顔画像が含まれると判定された場合、前記置換後の顔画像データと前記視線データとを対応付けた前記学習用データセットを生成し、前記顔判定部により前記置換後の顔画像データに前記学習対象者の顔画像が含まれないと判定された場合、前記置換後の顔画像データと前記視線データとを対応付けた前記学習用データセットを生成しないことが好ましい。
【0008】
上記視線推定システムにおいて、前記学習用データ生成装置は、前記視線検出器により検出された前記視線データに基づいて前記学習対象者の瞬きを判定する瞬き判定部を含み、前記対応付け処理部は、前記瞬き判定部により瞬きをしていないと判定された場合、前記置換後の顔画像データと前記視線データとを対応付けた前記学習用データセットを生成し、前記瞬き判定部により瞬きをしていると判定された場合、前記置換後の顔画像データと前記視線データとを対応付けた前記学習用データセットを生成しないことが好ましい。
【0009】
上記視線推定システムにおいて、予め定められた前記画素値は、前記学習対象者の眼の色とは異なる色の画素値であることが好ましい。
【0010】
本発明に係る視線推定方法は、推定対象の入力顔画像から視線を推定する学習済みモデルを機械学習させる際に用いられる学習用データセットを生成する学習用データ生成ステップと、前記学習用データ生成ステップで生成された複数の前記学習用データセットを用いて、機械学習により前記学習済みモデルを生成するモデル生成ステップと、前記推定対象の入力顔画像を入力する推定対象入力ステップと、前記モデル生成ステップで生成された前記学習済みモデルを用いて、前記推定対象入力ステップで入力された前記入力顔画像から視線を推定する視線推定ステップと、を有し、前記学習用データ生成ステップでは、学習対象者の顔を学習用撮像部により撮像する撮像ステップと、前記学習用撮像部と前記学習対象者との間に配置された視線検出器により前記学習対象者の視線を検出する視線検出ステップと、前記撮像ステップで撮像された前記視線検出器の画像及び前記学習対象者の顔画像を含む顔画像データにおいて、前記視線検出器の画像を検出する画像検出ステップと、前記顔画像データにおいて、前記画像検出ステップで検出された前記視線検出器の画像を含む画像領域の画素値を、予め定められた画素値に置き換える画像置換ステップと、前記画像置換ステップで置き換えられた置換後の顔画像データと、前記視線検出ステップで検出された前記学習対象者の視線を表す視線データとを対応付けた前記学習用データセットを生成する対応付け処理ステップと、を含むことを特徴とする。
【0011】
本発明に係る視線推定プログラムは、推定対象の入力顔画像から視線を推定する学習済みモデルを機械学習させる際に用いられる学習用データセットを生成し、生成された複数の前記学習用データセットを用いて、機械学習により前記学習済みモデルを生成し、前記推定対象の入力顔画像を入力し、前記学習済みモデルを用いて、前記推定対象の入力顔画像から視線を推定する各処理をコンピュータに実行させるものであり、前記学習用データセットを生成する場合、学習対象者の顔を学習用撮像部により撮像し、前記学習用撮像部と前記学習対象者との間に配置された視線検出器により前記学習対象者の視線を検出し、前記学習用撮像部により撮像された前記視線検出器の画像及び前記学習対象者の顔画像を含む顔画像データにおいて、前記視線検出器の画像を検出し、前記顔画像データにおいて、前記視線検出器の画像を含む画像領域の画素値を、予め定められた画素値に置き換え、置換後の顔画像データと前記学習対象者の視線を表す視線データとを対応付けた前記学習用データセットを生成することを特徴とする。
【0012】
本発明に係る学習用データ生成装置は、学習対象者の顔を撮像する学習用撮像部と、前記学習用撮像部と前記学習対象者との間に配置され前記学習対象者の視線を検出する視線検出器と、前記学習用撮像部により撮像された前記視線検出器の画像及び前記学習対象者の顔画像を含む顔画像データにおいて、前記視線検出器の画像を検出する画像検出部と、前記顔画像データにおいて、前記画像検出部により検出された前記視線検出器の画像を含む画像領域の画素値を、予め定められた画素値に置き換える画像置換部と、前記画像置換部により置き換えられた置換後の顔画像データと、前記視線検出器により検出された前記学習対象者の視線を表す視線データとを対応付けた学習用データセットを生成する対応付け処理部と、を備えることを特徴とする。
【0013】
本発明に係る視線推定装置は、車両の運転者の顔を撮像する運転者撮像部と、前記運転者撮像部により撮像された運転者の顔画像を入力する推定対象入力部と、学習対象者の顔を撮像する学習用撮像部、前記学習用撮像部と前記学習対象者との間に配置され前記学習対象者の視線を検出する視線検出器、前記学習用撮像部により撮像された前記視線検出器の画像及び前記学習対象者の顔画像を含む顔画像データにおいて、前記視線検出器の画像を検出する画像検出部、前記顔画像データにおいて、前記画像検出部により検出された前記視線検出器の画像を含む画像領域の画素値を、予め定められた画素値に置き換える画像置換部、及び、前記画像置換部により置き換えられた置換後の顔画像データと、前記視線検出器により検出された前記学習対象者の視線を表す視線データとを対応付けた学習用データセットを生成する対応付け処理部を含む学習用データ生成装置により生成された複数の前記学習用データセットを用いて機械学習した学習済みモデルを用いて、前記推定対象入力部により入力された前記運転者の顔画像から前記運転者の視線を推定する視線推定部と、を備えることを特徴とする。
【発明の効果】
【0014】
本発明に係る視線推定システム、視線推定方法、視線推定プログラム、及び、視線推定装置は、顔画像データにおいて視線検出器の画像を含む画像領域の画素値を、予め定められた画素値に置き換えた学習用データセットを生成し、当該学習用データセットを用いて推定対象の入力顔画像から視線を推定する学習済みモデルを生成する。この結果、視線推定システム、視線推定方法、視線推定プログラム、及び、視線推定装置は、この学習済みモデルを用いて適正に視線を推定することができる。
【図面の簡単な説明】
【0015】
図1図1は、実施形態に係る視線推定システムの構成例を示すブロック図である。
図2図2は、実施形態に係る視線推定システムの処理回路によって行われる学習フェーズ、及び、使用フェーズの処理を示す模式図である。
図3図3は、実施形態に係る学習用データ生成部の構成例を示すブロック図である。
図4図4は、実施形態に係る同期信号生成装置の動作例を示すタイミングチャートである。
図5図5は、実施形態に係る視線検出器の右側の眼球カメラの検出例を示す図である。
図6図6は、実施形態に係る視線検出器の左側の眼球カメラの検出例を示す図である。
図7図7は、実施形態に係る視線検出器の各眼球カメラの画像置換例を示す図である。
図8図8は、実施形態に係る顔判定部により顔判定された置換後の顔画像データを示す図である。
図9図9は、実施形態に係る顔判定部により顔判定されなかった置換後の顔画像データを示す図である。
図10図10は、実施形態に係る学習用データセットの構成例を示す図である。
図11図11は、実施形態に係る視線推定システムにおける視線推定方法の処理手順を示すフローチャートである。
図12図12は、実施形態に係る学習用データ生成装置の動作例を示すフローチャートである。
図13図13は、実施形態の変形例に係る視線推定システムの構成例を示すブロック図である。
図14図14は、実施形態の変形例に係る視線推定装置の適用例を示す概略図である。
【発明を実施するための形態】
【0016】
本発明を実施するための形態(実施形態)につき、図面を参照しつつ詳細に説明する。以下の実施形態に記載した内容により本発明が限定されるものではない。また、以下に記載した構成要素には、当業者が容易に想定できるもの、実質的に同一のものが含まれる。更に、以下に記載した構成は適宜組み合わせることが可能である。また、本発明の要旨を逸脱しない範囲で構成の種々の省略、置換又は変更を行うことができる。
【0017】
〔実施形態〕
図面を参照しながら実施形態に係る学習用データ生成装置100について説明する。図1は、実施形態に係る視線推定システム1の構成例を示すブロック図である。図2は、実施形態に係る視線推定システム1の処理回路40によって行われる学習フェーズ、及び、使用フェーズの処理を示す模式図である。図3は、実施形態に係る学習用データ生成装置100の構成例を示すブロック図である。図4は、実施形態に係る同期信号生成装置50の動作例を示すタイミングチャートである。図5は、実施形態に係る視線検出器60の右側の眼球カメラ62Rの検出例を示す図である。図6は、実施形態に係る視線検出器60の左側の眼球カメラ62Lの検出例を示す図である。図7は、実施形態に係る視線検出器60の各眼球カメラ62R、62Lの画像置換例を示す図である。図8は、実施形態に係る顔判定部443により顔判定された置換後の顔画像データD1aを示す図である。図9は、実施形態に係る顔判定部443により顔判定されなかった置換後の顔画像データD1aを示す図である。図10は、実施形態に係る学習用データセットD3の構成例を示す図である。
【0018】
図1に示す本実施形態の視線推定システム1は、視線を推定するシステムである。視線推定システム1では、図2に示すように、視線を推定するための学習済みモデルMを生成する処理を行う学習フェーズと、学習済みモデルMを用いて視線を推定する処理を行う使用フェーズとがある。視線推定システム1は、種々のコンピュータ機器によって実現される。以下、図1図2を参照して視線推定システム1の各構成について詳細に説明する。
【0019】
視線推定システム1は、例えば、車両に搭載され、入力機器10と、出力機器20と、記憶回路30と、処理回路40と、同期信号生成装置50と、視線検出器60と、学習用撮像部及び運転者撮像部としてのカメラ70とを備える。入力機器10、出力機器20、記憶回路30、処理回路40、同期信号生成装置50、視線検出器60、及び、カメラ70は、ネットワークを介して相互に通信可能に接続されている。ここで、入力機器10、記憶回路30、同期信号生成装置50、視線検出器60、カメラ70、及び、処理回路40の一部(後述する学習用データ生成部41)は、学習用データ生成装置100を構成する。入力機器10、記憶回路30、及び、処理回路40の一部(後述するモデル生成部42)は、モデル生成装置200を構成する。入力機器10、出力機器20、記憶回路30、カメラ70、及び、処理回路40の一部(後述する推定対象入力部43、視線推定部44、及び、出力部45)は、視線推定装置300を構成する。学習用データ生成装置100、モデル生成装置200、及び、視線推定装置300は、例えば、それぞれが同じ車両に搭載された1つのシステムとして構成されてもよいし、それぞれが別々の場所に配置された分散したシステムとして構成されてもよい。図1に示す構成の説明では、一例として、学習用データ生成装置100、モデル生成装置200、及び、視線推定装置300は、それぞれが同じ車両に搭載された1つのシステムとして説明する。後述する図13に示す構成の説明では、学習用データ生成装置100、モデル生成装置200、及び、視線推定装置300は、それぞれが別々の場所に配置された分散したシステムとして説明する。
【0020】
入力機器10は、視線推定システム1に対する種々の入力を行う機器である。入力機器10は、例えば、ユーザからの各種の操作入力を受け付ける操作入力機器、視線推定システム1外の他の機器からのデータ(情報)入力を受け付けるデータ入力機器等によって実現される。操作入力機器は、例えば、マウス、キーボード、トラックボール、スイッチ、ボタン、ジョイスティック、タッチパッド、タッチスクリーン、非接触入力回路、音声入力回路等により実現される。データ入力機器は、例えば、有線、無線を問わず通信を介して機器との間で各種データの送受信を行う通信インターフェース、フレキシブルディスク(FD)、光磁気ディスク(Magneto-Optical disk)、CD-ROM、DVD、USBメモリ、SDカードメモリ、Flashメモリ等の記録媒体から各種データを読み出す記録媒体インターフェース等によって実現される。ここでは、入力機器10は、学習用データ生成装置100、モデル生成装置200、及び、視線推定装置300の入力部として兼用される。
【0021】
出力機器20は、視線推定システム1から種々の出力を行う機器である。出力機器20は、例えば、各種画像情報を出力して表示するディスプレイ、音情報を出力するスピーカ、視線推定システム1外の他の機器に対するデータ(情報)出力を行うデータ出力機器等によって実現される。データ出力機器は、例えば、有線、無線を問わず通信を介して機器との間で各種データの送受信を行う通信インターフェース、上記と同様の記録媒体に各種データを書き込む記録媒体インターフェース等によって実現される。データ入力機器とデータ出力機器とは、一部又は全部の構成が兼用されてもよい。
【0022】
記憶回路30は、各種データを記憶する回路である。記憶回路30は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等によって実現される。記憶回路30は、例えば、視線推定システム1が各種の機能を実現するためのプログラムを記憶する。記憶回路30に記憶されるプログラムには、入力機器10を機能させるプログラム、出力機器20を機能させるプログラム、処理回路40を機能させるプログラム等が含まれる。また、記憶回路30は、処理回路40での各種処理に必要なデータ、学習済みモデルMの学習に用いる学習用データセットD3、学習済みモデルM、出力機器20を介して出力する推定結果データD5等の各種データを記憶する。記憶回路30は、処理回路40等によってこれらの各種データが必要に応じて読み出される。なお、記憶回路30は、ネットワークを介して視線推定システム1に接続されたクラウドサーバ等により実現されてもよい。ここでは、記憶回路30は、学習用データ生成装置100、モデル生成装置200、及び、視線推定装置300の記憶部として兼用される。
【0023】
処理回路40は、視線推定システム1における各種処理機能を実現する回路である。処理回路40は、例えば、プロセッサによって実現される。プロセッサとは、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の回路を意味する。処理回路40は、例えば、記憶回路30から読み込んだプログラムを実行することにより、各処理機能を実現する。
【0024】
同期信号生成装置50は、同期信号を生成する処理を実行可能な機能を有するものである。視線検出器60は、学習対象者OBの視線を検出する処理を実行可能な機能を有するものである。カメラ70は、機械学習を行う際の対象者である学習対象者OBの顔全体を撮像する処理を実行可能な機能を有するものである。また、カメラ70は、車両の運転者の顔全体を撮像する処理を実行可能な機能を有するものである。同期信号生成装置50、視線検出器60、及び、カメラ70の詳細については、後述する。
【0025】
以上、本実施形態に係る視線推定システム1の全体構成の概略について説明した。このような構成のもと、本実施形態に係る処理回路40は、学習フェーズにおいて、視線を推定するための学習済みモデルMを生成する各種処理を行うための機能を有している。また、本実施形態に係る処理回路40は、使用フェーズにおいて、学習済みモデルMを用いて視線を推定する各種処理を行うための機能を有している。
【0026】
本実施形態の処理回路40は、上記各種処理機能を実現するために、機能概念的に、学習用データ生成部41と、モデル生成部42と、推定対象入力部43と、視線推定部44と、出力部45とを含んで構成される。処理回路40は、例えば、記憶回路30から読み込んだプログラムを実行することにより、これらの学習用データ生成部41、モデル生成部42、推定対象入力部43、視線推定部44、及び、出力部45の各処理機能を実現する。
【0027】
学習用データ生成部41は、学習フェーズにおいて、推定対象の入力顔画像から視線を推定する学習済みモデルMを機械学習させる際に用いられる学習用データセットD3(図3図10参照)を生成する機能を有する部分である。本実施形態の学習用データ生成部41は、例えば、後述する顔画像データD1aと視線データD2とからなる学習用データセットD3を生成する処理を実行可能である。この学習用データセットD3は、学習済みモデルMを機械学習によって生成する際に用いられる教師データである。学習用データ生成部41は、生成した複数の学習用データセットD3を記憶回路30に記憶させる。学習用データ生成部41の処理の詳細については、後述する。
【0028】
モデル生成部42は、学習フェーズにおいて、複数の学習用データセットD3を用いて、学習済みモデルMを機械学習により生成する処理を実行可能な機能を有する部分である。本実施形態のモデル生成部42は、学習用データ生成部41によって生成された複数の学習用データセットD3を用いて、学習済みモデルMを機械学習により生成する処理を実行可能である。
【0029】
モデル生成部42は、複数の学習用データセットD3を教師データとして、種々の機械学習アルゴリズムALに基づく機械学習を行うことによって、学習済みモデルMを生成する。使用する機械学習アルゴリズムALとしては、例えば、畳み込みニューラルネットワーク(CNN;Convolutional Neural Network)がある。畳み込みニューラルネットワークは、パターン認識方法を多層化したDNN(Deep Neural Network)のうち、2次元データに対応させたものであり、画像に対して高いパターン認識能力を有している。モデル生成部42は、畳み込みニューラルネットワークによる機械学習の結果として、顔画像から視線を推定するための学習済みモデルMを生成する。
【0030】
モデル生成部42によって生成された学習済みモデルMは、入力を顔画像とし、出力を視線の推定を定量化した値としたモデルである。すなわち、学習済みモデルMは、顔画像の入力を受け付けて当該顔画像から視線の予測を定量化した値を出力するように機能付けられる。より詳しくは、学習済みモデルMは、畳み込みニューラルネットワークの入力層に入力された顔画像に対して、畳み込み層、プーリング層、全結合層等により所定の演算を行い、出力層から視線の推定を定量化した値(例えば視線角度)を出力するようにコンピュータを機能させる。モデル生成部42は、上記のようにして生成した学習済みモデルMを記憶回路30に記憶させる。
【0031】
推定対象入力部43は、使用フェーズにおいて、推定対象となる入力顔画像データD4を入力する処理を実行可能な機能を有する部分である。推定対象入力部43は、例えば、車両を運転する運転者の顔を撮像するカメラ70から出力される入力顔画像データD4を入力する。
【0032】
視線推定部44は、使用フェーズにおいて、学習済みモデルMを用いて、入力顔画像データD4から視線を推定する処理を実行可能な機能を有する部分である。本実施形態の視線推定部44は、モデル生成部42によって生成された学習済みモデルMを用いて、推定対象入力部43によって入力された推定対象となる入力顔画像データD4から視線を推定する処理を実行可能である。
【0033】
視線推定部44は、モデル生成部42によって生成された学習済みモデルMに対して、推定対象入力部43によって入力された入力顔画像データD4を入力データとして入力し、これに応じて当該学習済みモデルMから視線の推定を定量化した値(例えば視線角度)を出力させる。視線推定部44は、出力された視線の推定を定量化した値(例えば視線角度)を、推定結果データ(出力データ)D5として記憶回路30に記憶させる。
【0034】
出力部45は、視線推定部44による視線の推定結果に基づいて出力を行う処理を実行可能な機能を有する部分である。本実施形態の出力部45は、視線推定部44によって推定された推定結果データD5に基づいて出力機器20を介して出力する処理を実行可能である。出力部45は、例えば、推定結果データD5の視線角度に基づいて運転者が脇見運転をしているか否かを判定し、運転者が脇見運転をしていると判定した場合には運転者に警告するための警告データを出力機器20に出力し、運転者が脇見運転をしていないと判定した場合には警告データを出力機器20に出力しない。出力部45は、運転者に警告する場合、例えば、出力機器20を構成するディスプレイを介して画像情報として警告データを表示してもよいし、出力機器20を構成するスピーカを介して音情報として警告データを音声出力してもよい。
【0035】
次に、学習用データ生成装置100について詳細に説明する。学習用データ生成装置100は、上述したように、学習フェーズにおいて、学習済みモデルMを学習させるための学習用データを生成する機能を有する装置である。学習用データ生成装置100は、図3に示すように、同期信号生成装置50と、視線検出器60と、カメラ70と、学習用データ生成部41とを含んで構成される。
【0036】
同期信号生成装置50は、同期信号を生成する処理を実行可能な機能を有するものである。同期信号生成装置50は、視線検出器60及びカメラ70に接続され、当該同期信号生成装置50に付属するスイッチがONされると、視線検出器60及びカメラ70に同期信号を出力する。同期信号生成装置50は、例えば、図4に示すように、カメラ70に対して予め定められたタイミングで同期信号Sg1を出力し、視線検出器60に対して予め定められたタイミングで同期信号Sg2を出力する。なお、同期信号Sg1の出力間隔は、カメラ70の性能に応じて適宜定められ、同期信号Sg2の出力間隔は、視線検出器60の性能に応じて適宜定められる。
【0037】
視線検出器60は、学習対象者OBの視線を検出する処理を実行可能な機能を有するものである。視線検出器60は、学習対象者OBの頭部に装着する装着型の検出器であり、例えば、株式会社ナックイメージテクノロジー製のEMR-9(帽子型)を採用することができる。視線検出器60は、図5等に示すように、視野カメラ61と、右側の眼球カメラ62Rと、左側の眼球カメラ62Lとを備え、これらの視野カメラ61、眼球カメラ62R、及び、眼球カメラ62Lが帽子に取り付けられている。学習対象者OBは、帽子を頭部に被ることで、視野カメラ61、眼球カメラ62R、及び、眼球カメラ62Lがカメラ70と学習対象者OBとの間に配置される。これにより、視野カメラ61、眼球カメラ62R、及び、眼球カメラ62Lが学習対象者OBの顔の正面、つまり学習対象者OBの顔(眼を除く部分)と重なった位置に配置される。視野カメラ61は、学習対象者OBが帽子を頭部に被った状態で、学習対象者OBの頭部の額に配置され、学習対象者OBの前方の景色を撮像する。眼球カメラ62Rは、学習対象者OBが帽子を頭部に被った状態で、学習対象者OBの右眼の下、つまり右側の頬に配置され、学習対象者OBの右眼を撮像する。眼球カメラ62Lは、学習対象者OBが帽子を頭部に被った状態で、学習対象者OBの左眼の下、つまり左側の頬に配置され、学習対象者OBの左眼を撮像する。
【0038】
そして、視線検出器60は、視野カメラ61により撮像された視野画像、眼球カメラ62Rにより撮像された学習対象者OBの右眼画像、及び、眼球カメラ62Lにより撮像された学習対象者OBの左眼画像に基づいて、視野画像における学習対象者OBの視線位置を検出する。つまり、視線検出器60は、視野画像のXY座標軸上において、学習対象者OBの視線のX座標及びY座標を検出する。言い換えれば、視線検出器60は、視野画像のXY座標軸上において、実際に学習対象者OBが視ている位置のX座標及びY座標を検出する。視線検出器60は、検出した視野画像における学習対象者OBの視線位置を表す視線データD2を記憶回路30に保存する。視線検出器60は、例えば、同期信号生成装置50から出力された同期信号Sg2に基づいて学習対象者OBの視線位置を検出し、検出した学習対象者OBの視線位置を表す視線データD2及び当該視線データD2を検出したタイミングを表す同期信号Sg2を記憶回路30に保存する。視線検出器60は、学習用データ生成部41に接続され、保存した視線データD2及び同期信号Sg2を学習用データ生成部41に出力する。なお、視線検出器60は、学習対象者OBの視線を検出する際に学習対象者OBの瞬きを検出し、瞬きの検出結果も視線データD2に含めて学習用データ生成部41に出力してもよい。
【0039】
カメラ70は、学習用の撮像部であると共に推定画像入力用の撮像部であり、兼用されている。つまり、カメラ70は、学習用データ生成装置100の学習用の撮像部と、視線推定装置300の推定画像入力用の撮像部として兼用される。なお、学習用データ生成装置100の学習用の撮像部と、視線推定装置300の推定画像入力用の撮像部とを別々のカメラとして設けてもよい。
【0040】
カメラ70は、学習用の撮像部として機能する場合、機械学習を行う際の対象者である学習対象者OBの顔全体を撮像する。カメラ70は、学習対象者OBと一定の間隔を空けた状態で当該学習対象者OBの顔の前方に配置されている。カメラ70は、図5図6に示すように、学習対象者OBの顔の正面に配置された視線検出器60と共に学習対象者OBの顔全体を撮像する。つまり、カメラ70により撮像された顔画像データD1には、視線検出器60の画像及び学習対象者OBの顔画像が含まれている。カメラ70は、撮像した視線検出器60の画像及び学習対象者OBの顔画像を含む顔画像データD1を記憶回路30に保存する。カメラ70は、例えば、同期信号生成装置50から出力された同期信号Sg1に基づいて学習対象者OBの顔を撮像し、撮像した視線検出器60の画像及び学習対象者OBの顔画像を含む顔画像データD1、並びに、当該顔画像データD1を撮像したタイミングを表す同期信号Sg1を記憶回路30に保存する。カメラ70は、学習用データ生成部41に接続され、保存した顔画像データD1及び同期信号Sg1を学習用データ生成部41に出力する。
【0041】
カメラ70は、推定画像入力用の撮像部として機能する場合、車両の運転者の顔全体を撮像する。カメラ70は、その撮像範囲が運転者のアイリプス(アイボックス)をカバーする範囲に設定されている。ここで、アイリプスとは、運転席に着座した運転者の視点位置が位置することが想定される範囲を表すものである。カメラ70は、撮像した運転者の顔画像を表す入力顔画像データD4を処理回路40の推定対象入力部43に出力する。
【0042】
学習用データ生成部41は、機械学習を行う際に用いられる学習用データセットD3を生成する処理を実行可能な機能を有するものである。学習用データ生成部41は、眼球カメラ検出部441と、画像置換部442と、顔判定部443と、ラベル付与部444と、瞬き判定部445と、ラベル付与部446と、視線角度演算部447と、対応付け処理部448とを備える。
【0043】
眼球カメラ検出部441は、視線検出器60の画像及び学習対象者OBの顔画像を含む顔画像データD1において、視線検出器60の画像を検出する処理を実行可能な機能を有する部分である。眼球カメラ検出部441は、例えば、顔画像データD1において、眼球カメラ62Rの画像、及び、眼球カメラ62Rを帽子に固定するためのアームの画像を検出する。具体的には、眼球カメラ検出部441は、テンプレート画像を用いたテンプレートマッチング等の周知の画像認識技術により、眼球カメラ62Rの画像及び眼球カメラ62R固定用のアームの画像を検出する。眼球カメラ検出部441は、テンプレート画像として、例えば、眼球カメラ62Rの画像及び眼球カメラ62R固定用のアームの画像を表す第1画像U1と、当該第1画像U1を反転させた第2画像U2とを用いる。第2画像U2は、眼球カメラ62Lの画像及び眼球カメラ62L固定用のアームを表す画像である。
【0044】
眼球カメラ検出部441は、顔画像データD1において、第1画像U1に基づいてテンプレートマッチングを行い、眼球カメラ62Rの画像及び眼球カメラ62R固定用のアームの画像を検出する。また、眼球カメラ検出部441は、顔画像データD1において、第2画像U2に基づいてテンプレートマッチングを行い、眼球カメラ62Lの画像及び眼球カメラ62L固定用のアームの画像を検出する。眼球カメラ検出部441は、画像置換部442に接続され、検出した検出結果を画像置換部442に出力する。
【0045】
画像置換部442は、画像を置換する処理を実行可能な機能を有する部分である。画像置換部442は、例えば、眼球カメラ検出部441により検出された検出結果に基づいて、顔画像データD1における特定の画像領域Qを塗りつぶすことで画像置換する。画像置換部442は、例えば、図7に示すように、顔画像データD1において、眼球カメラ検出部441により検出された視線検出器60の画像を含む画像領域Qの画素値を、予め定められた画素値である置換画素値に置き換える。このとき、画像置換部442は、顔画像データD1における画像領域Qの画素値を、眼の色とは異なる色の置換画素値に置き換えることが好ましい。具体的には、画像置換部442は、顔画像データD1において、眼球カメラ検出部441により検出された眼球カメラ62Rの画像及び眼球カメラ62R固定用のアームの画像、及び、眼球カメラ62Lの画像及び眼球カメラ62L固定用のアームの画像を含む矩形状の画像領域Qの画素値を、置換画素値に置き換え、置換後の顔画像データD1aを生成する。これにより、置換後の顔画像データD1aには、眼球カメラ62Rの画像及び眼球カメラ62R固定用のアームの画像、及び、眼球カメラ62Lの画像及び眼球カメラ62L固定用のアームの画像が含まれなくなる。なお、眼は、例えば、瞳孔及び虹彩から構成される。眼の色とは異なる色は、顔画像データD1において、顔の皮膚の色の平均的な色とすることが考えられる。画像置換部442は、対象の顔画像データD1ごとにそれぞれ異なる置換画素値を設定することが可能である。画像置換部442は、顔判定部443に接続され、置換後の顔画像データD1aを顔判定部443に出力する。
【0046】
顔判定部443は、顔の判定を行う処理を実行可能な機能を有する部分である。顔判定部443は、例えば、Viola-Jones法等の周知の顔判定アルゴリズムにより顔の判定を行う。顔判定部443は、この顔判定アルゴリズムを使用して、置換後の顔画像データD1aにおいて、学習対象者OBの顔画像が含まれるか否かを判定する。顔判定部443は、例えば、図8に示すように、画像置換部442により眼球カメラ62R、62L等を含む画像領域Qの画素値が置換画素値に置き換えられている場合、学習対象者OBの顔画像が含まれると判定する。一方で、顔判定部443は、例えば、図9に示すように、画像置換部442により眼球カメラ62R、62L等を含む画像領域Qの画素値が置換画素値に置き換えられていない場合、学習対象者OBの顔画像が含まれていないと判定する。顔判定部443は、ラベル付与部444に接続され、判定結果をラベル付与部444に出力する。
【0047】
ラベル付与部444は、顔判定部443により判定された判定結果に基づいて、置換後の顔画像データD1aに対して顔判定のラベルを付与する処理を実行可能な機能を有する部分である。ラベル付与部444は、例えば、顔判定部443により判定された判定結果が、学習対象者OBの顔画像が含まれていないことを表す場合、置換後の顔画像データD1aに対して顔判定の不可を表すラベル(例えば「1」)を付与する。一方で、ラベル付与部444は、顔判定部443により判定された判定結果が、学習対象者OBの顔画像が含まれていることを表す場合、置換後の顔画像データD1aに対して顔判定の可能を表すラベル(例えば「0」)を付与する。ラベル付与部444は、対応付け処理部448に接続され、置換後の顔画像データD1a及びラベル付与情報を対応付け処理部448に出力する。
【0048】
瞬き判定部445は、視線検出器60により検出された視線データD2に基づいて学習対象者OBの瞬きを判定する処理を実行可能な機能を有する部分である。瞬き判定部445は、例えば、視線検出器60により検出された視線データD2に含まれる学習対象者OBの瞬きの検出結果に基づいて学習対象者OBの瞬きを判定する。瞬き判定部445は、例えば、視線データD2が学習対象者OBの瞬きを表す場合、学習対象者OBが瞬きをしていると判定する。一方で、瞬き判定部445は、視線データD2が学習対象者OBの瞬きを表わさない場合、学習対象者OBが瞬きをしていないと判定する。瞬き判定部445は、ラベル付与部446に接続され、学習対象者OBの瞬きを判定した判定結果をラベル付与部446に出力する。
【0049】
ラベル付与部446は、瞬き判定部445により判定された判定結果に基づいて、置換後の顔画像データD1aに対して瞬き判定のラベルを付与する処理を実行可能な機能を有する部分である。ラベル付与部446は、顔画像データD1aを撮像したタイミングを表す同期信号Sg1と、視線データD2を検出したタイミングを表す同期信号Sg2とに基づいて、顔画像データD1aに対して瞬き判定のラベルを付与する。ラベル付与部446は、例えば、視線データD2を検出したタイミングと同じタイミングで撮像した顔画像データD1aに対して瞬き判定のラベルを付与する。
【0050】
ラベル付与部446は、例えば、瞬き判定部445により判定された判定結果が、学習対象者OBが瞬きをしたことを表す場合、置換後の顔画像データD1aに対して瞬きをしたことを表すラベル(例えば「1」)を付与する。一方で、ラベル付与部446は、瞬き判定部445により判定された判定結果が、学習対象者OBが瞬きをしていないことを表す場合、置換後の顔画像データD1aに対して瞬きをしていないことを表すラベル(例えば「0」)を付与する。ラベル付与部446は、視線角度演算部447に接続され、ラベル付与情報を視線角度演算部447に出力する。
【0051】
視線角度演算部447は、視野画像における学習対象者OBの視線位置を表す視線データD2に基づいて視線角度を演算する処理を実行可能な機能を有する部分である。視線角度演算部447は、瞬きをしていることを表すラベル(例えば「1」)が視線データD2に付与されている場合、視線データD2に対して視線角度を演算しない。一方で、視線角度演算部447は、瞬きをしていないことを表すラベル(例えば「0」)が視線データD2に付与されている場合、視線データD2に基づいて視線角度を演算する。ここで、視線データD2には、視野画像のXY座標軸上において、学習対象者OBの視線位置を表すX座標及びY座標が記録されている。視線角度演算部447は、この視野画像において、学習対象者OBの視線位置を表すX座標及びY座標に基づいて視線角度を演算する。視線角度演算部447は、対応付け処理部448に接続され、演算した視線角度を対応付け処理部448に出力する。
【0052】
対応付け処理部448は、各種データを対応づけて学習用データセットD3を生成する処理を実行可能な機能を有する部分である。対応付け処理部448は、画像置換部442により置き換えられた置換後の顔画像データD1aと、視線検出器60により検出された視線データD2の視線角度とを対応付けた学習用データセットD3を生成する。
【0053】
対応付け処理部448は、例えば、顔判定部443により置換後の顔画像データD1に学習対象者OBの顔画像が含まれると判定された場合、つまり顔判定のラベル付与情報が「0」の場合、置換後の顔画像データD1aと視線データD2の視線角度とを対応付けた学習用データセットD3を生成する。例えば、図10に示す学習用データセットD3には、顔判定のラベル付与情報「0(採用)」が記録されることにより、置換後の顔画像データD1aを表す「0001.jpg」とその視線角度を表す「15.3」とが対応付けられる。
【0054】
一方で、対応付け処理部448は、顔判定部443により置換後の顔画像データD1に学習対象者OBの顔画像が含まれないと判定された場合、つまり顔判定のラベル付与情報が「1」の場合、置換後の顔画像データD1aと視線データD2の視線角度とを対応付けた学習用データセットD3を生成しない。例えば、図10に示す学習用データセットD3には、顔判定のラベル付与情報「1(不採用)」が記録されることにより、置換後の顔画像データD1aを表す「0003.jpg」とその視線角度を表す「-12.1」とが対応付けられず不採用となる。
【0055】
また、対応付け処理部448は、瞬き判定部445により瞬きをしていないと判定された場合、つまり瞬き判定のラベル付与情報が「0」の場合、置換後の顔画像データD1aと視線データD2の視線角度とを対応付けた学習用データセットD3を生成する。例えば、図10に示す学習用データセットD3には、瞬き判定のラベル付与情報「0(採用)」が記録されることにより、置換後の顔画像データD1aを表す「0001.jpg」とその視線角度を表す「15.3」とが対応付けられる。
【0056】
一方で、対応付け処理部448は、瞬き判定部445により瞬きをしていると判定された場合、つまり瞬き判定のラベル付与情報が「1」の場合、置換後の顔画像データD1aと視線データD2の視線角度とを対応付けた学習用データセットD3を生成しない。例えば、図10に示す学習用データセットD3には、瞬き判定のラベル付与情報「1(不採用)」が記録されることにより、置換後の顔画像データD1aを表す「0004.jpg」とその視線角度を表す「0」とが対応付けられず不採用となる。
【0057】
対応付け処理部448は、顔判定のラベル付与情報「0(採用)」であり、且つ、瞬き判定のラベル付与情報「0(採用)」である置換後の顔画像データD1aを学習用データセットD3に採用する。対応付け処理部448は、顔判定のラベル付与情報「1(不採用)」、又は、瞬き判定のラベル付与情報「1(不採用)」を含む置換後の顔画像データD1aを学習用データセットD3に採用しない。対応付け処理部448は、記憶回路30に接続され、生成した学習用データセットD3を記憶回路30に記憶させる。
【0058】
次に、視線推定システム1における視線推定方法の処理手順について説明する。図11は、実施形態に係る視線推定システム1における視線推定方法の処理手順を示すフローチャートである。図11に示す視線推定システム1おける視線推定方法は、学習用データ生成ステップ(ステップS1)と、モデル生成ステップ(ステップS2)と、推定対象入力ステップ(ステップS3)と、視線推定ステップ(ステップS4)と、警告データ出力ステップ(ステップS5)とを有する。ここでは、上記各ステップに関する処理は、視線推定システム1の処理回路40によって実行される。
【0059】
まず、処理回路40の学習用データ生成部41は、学習フェーズにおいて、推定対象の入力顔画像から視線を推定する学習済みモデルMを機械学習させる際に用いられる学習用データセットD3を生成する学習用データ生成ステップ(ステップS1)を実行する。学習用データ生成部41は、生成した複数の学習用データセットD3を記憶回路30に記憶させる。
【0060】
次に、処理回路40のモデル生成部42は、学習フェーズにおいて、学習用データ生成ステップ(ステップS1)で生成された複数の学習用データセットD3を用いて、学習済みモデルMを機械学習により生成するモデル生成ステップ(ステップS2)を実行する。モデル生成部42は、生成した学習済みモデルMを記憶回路30に記憶させる。
【0061】
次に、処理回路40の推定対象入力部43は、使用フェーズにおいて、推定対象となる入力顔画像データD4を処理回路40の視線推定部44に入力する入力ステップ(ステップS3)を実行する。この場合、推定対象入力部43は、例えば、運転者の顔を撮像するカメラ70から出力される入力顔画像データD4を入力する。
【0062】
次に、処理回路40の視線推定部44は、使用フェーズにおいて、モデル生成ステップ(ステップS2)で生成された学習済みモデルMを用いて、入力ステップ(ステップS3)で入力された入力顔画像データD4から視線を推定する視線推定ステップ(ステップS4)を実行する。視線推定部44は、例えば、モデル生成ステップ(ステップS2)で生成された学習済みモデルMに対して、入力ステップ(ステップS3)で入力された入力顔画像データD4を入力データとして入力し、これに応じて当該学習済みモデルMから視線の推定を定量化した値(例えば視線角度)を出力させる。視線推定部44は、出力された視線の推定を定量化した値(例えば視線角度)を、推定結果データD5として記憶回路30に記憶させる。
【0063】
次に、処理回路40の出力部45は、視線推定ステップ(ステップS4)で推定された視線の推定結果データD5の視線角度に基づいて警告データを出力する警告データ出力ステップ(ステップS5)を実行し、本フローチャートによる処理を終了する。出力部45は、例えば、推定結果データD5の視線角度に基づいて運転者が脇見運転をしているか否かを判定し、運転者が脇見運転をしていると判定した場合には警告データを出力機器20に出力し、運転者が脇見運転をしていないと判定した場合には警告データを出力機器20に出力しない。
【0064】
図12は、実施形態に係る学習用データ生成装置100の動作例を示すフローチャートである。上記学習用データ生成ステップ(ステップS1)は、図12に示すように、さらに、撮像ステップ(ステップT1)と、画像検出ステップ(ステップT2)と、画像置換ステップ(ステップT3)と、顔判定ステップ(ステップT4)と、ラベル付与ステップ(T5、T6)と、視線検出ステップ(ステップT7)と、瞬き判定ステップ(ステップT8)と、ラベル付与ステップ(ステップT9、T10)と、演算ステップ(ステップT11)と、対応付け処理ステップ(ステップT12)とを含む。ここでは、上記各ステップに関する処理は、学習用データ生成装置100によって実行される。
【0065】
まず、学習用データ生成装置100において、カメラ70は、学習対象者OBの顔を撮像する撮像ステップ(ステップT1)を実行する。
【0066】
次に、眼球カメラ検出部441は、撮像ステップ(ステップT1)で撮像された視線検出器60の画像及び学習対象者OBの顔画像を含む顔画像データD1において、視線検出器60の画像を検出する画像検出ステップ(ステップT2)を実行する。
【0067】
次に、画像置換部442は、顔画像データD1において、画像検出ステップ(ステップT2)で検出された視線検出器60の画像を含む画像領域Qの画素値を、予め定められた置換画素値に置き換える画像置換ステップ(ステップT3)を実行する。このとき、画像置換部442は、顔画像データD1における画像領域Qの画素値を、眼の色とは異なる色の置換画素値に置き換えることが好ましい。
【0068】
次に、顔判定部443は、置換後の顔画像データD1aにおいて、学習対象者OBの顔画像が含まれるか否かを判定する顔判定ステップ(ステップT4)を実行する。顔判定部443は、置換後の顔画像データD1aにおいて、学習対象者OBの顔画像が含まれる場合(ステップT4;Yes)、ラベル付与ステップ(ステップT5)に移行する。一方で、顔判定部443は、置換後の顔画像データD1aにおいて、学習対象者OBの顔画像が含まれない場合(ステップT4;No)、ラベル付与ステップ(ステップT6)に移行する。
【0069】
次に、ラベル付与部444は、顔判定部443により判定された判定結果に基づいて、置換後の顔画像データD1aに対して顔判定のラベルを付与する。ラベル付与部444は、学習対象者OBの顔画像が含まれると判定された場合(ステップT4;Yes)、置換後の顔画像データD1aに対して顔判定の可能を表すラベル(例えば「0」)を付与するラベル付与ステップ(ステップT5)を実行する。一方で、ラベル付与部444は、学習対象者OBの顔画像が含まれないと判定された場合(ステップT4;No)、置換後の顔画像データD1aに対して顔判定の不可を表すラベル(例えば「1」)を付与するラベル付与ステップ(ステップT6)を実行する。
【0070】
視線検出器60は、同期信号生成装置50から出力される同期信号Sg2のタイミングで、学習対象者OBの視線を検出する視線検出ステップ(ステップT7)を実行する。
【0071】
次に、瞬き判定部445は、視線検出器60により検出された視線を表す視線データD2に基づいて学習対象者OBの瞬きを判定する瞬き判定ステップ(ステップT8)を実行する。瞬き判定部445は、学習対象者OBが瞬きをしていると判定した場合(ステップT8;Yes)、ラベル付与ステップ(ステップT9)に移行する。一方で、瞬き判定部445は、学習対象者OBが瞬きをしていないと判定した場合(ステップT8;No)、ラベル付与ステップ(ステップT10)に移行する。
【0072】
次に、ラベル付与部446は、瞬き判定部445により判定された判定結果に基づいて、置換後の顔画像データD1aに対して瞬き判定のラベルを付与する。ラベル付与部446は、学習対象者OBが瞬きをしていると判定された場合(ステップT8;Yes)、置換後の顔画像データD1aに対して瞬きを実施したことを表すラベル(例えば「1」)を付与するラベル付与ステップ(ステップT9)を実行する。一方で、ラベル付与部446は、学習対象者OBが瞬きをしていないと判定された場合(ステップT8;No)、置換後の顔画像データD1aに対して瞬きを実施していないことを表すラベル(例えば「0」)を付与するラベル付与ステップ(ステップT10)を実行する。
【0073】
次に、視線角度演算部447は、瞬きを実施していないことを表すラベル(例えば「0」)を付与するラベル付与ステップ(ステップT10)の処理の後、視野画像における学習対象者OBの視線位置を表す視線データD2に基づいて視線角度を演算する演算ステップ(ステップT11)を実行する。
【0074】
次に、対応付け処理部448は、ラベル付与ステップ(ステップT5)で顔判定の可能を表すラベル(例えば「0」)が付与された置換後の顔画像データD1aと、演算ステップ(ステップT11)で演算された視線データD2の視線角度とを対応付けた学習用データセットD3を生成する対応付け処理ステップ(ステップT12)を実行する。対応付け処理部448は、例えば、撮像ステップ(ステップT1)でカメラ70により学習対象者OBの顔を撮像したタイミングと、視線検出ステップ(ステップT7)で視線検出器60により学習対象者OBの視線を検出したタイミングとがそれぞれ同期する置換後の顔画像データD1aと視線データD2とを対応付けた学習用データセットD3を生成する。
【0075】
上述した視線推定方法は、予め用意された視線推定プログラムを種々のコンピュータ機器で実行することによって実現することができる。この視線推定プログラムは、少なくとも上述した学習用データ生成ステップ(ステップS1)、モデル生成ステップ(ステップS2)、推定対象入力ステップ(ステップS3)、視線推定ステップ(ステップS4)、警告データ出力ステップ(ステップS5)の各処理、さらには、撮像ステップ(ステップT1)、視線検出ステップ(ステップT7)、画像検出ステップ(ステップT2)、画像置換ステップ(ステップT3)、対応付け処理ステップ(ステップT12)の各処理をコンピュータ機器に実行させる。
【0076】
以上のように、実施形態に係る視線推定システム1は、学習用データ生成装置100と、モデル生成部42と、推定対象入力部43と、視線推定部44とを備える。学習用データ生成装置100は、推定対象の入力顔画像データD4から視線を推定する学習済みモデルMを機械学習させる際に用いられる学習用データセットD3を生成する。モデル生成部42は、学習用データ生成装置100により生成された複数の学習用データセットD3を用いて、機械学習により学習済みモデルMを生成する。推定対象入力部43は、推定対象の入力顔画像データD4を入力する。視線推定部44は、モデル生成部42により生成された学習済みモデルMを用いて、推定対象入力部43により入力された入力顔画像データD4から視線を推定する。
【0077】
ここで、上記学習用データ生成装置100は、カメラ70と、視線検出器60と、眼球カメラ検出部441と、画像置換部442と、対応付け処理部448と、を含んで構成される。カメラ70は、機械学習を行う際の対象者である学習対象者OBの顔を撮像する。視線検出器60は、カメラ70と学習対象者OBとの間に配置され学習対象者OBの視線を検出する。眼球カメラ検出部441は、カメラ70により撮像された視線検出器60の画像及び学習対象者OBの顔画像を含む顔画像データD1において、視線検出器60の画像を検出する。画像置換部442は、顔画像データD1において、眼球カメラ検出部441により検出された視線検出器60の画像を含む画像領域Qの画素値を、予め定められた画素値に置き換える。対応付け処理部448は、画像置換部442により置き換えられた置換後の顔画像データD1aと、視線検出器60により検出された視線データD2とを対応付けた学習用データセットD3を生成する。
【0078】
この構成により、視線推定システム1は、学習用データセットD3により学習した学習済みモデルMを生成する際に視線検出器60を眼として誤認識した状態で学習済みモデルMが生成されてしまうことを抑制できる。つまり、視線推定システム1は、推定対象の入力顔画像データD4から視線を推定することができる学習済みモデルMを精度よく生成することができる。この結果、視線推定システム1は、精度よく生成された学習済みモデルMを用いて入力顔画像データD4から運転者の視線を適正に推定することができる。またこのとき、視線推定システム1は、視線検出器60の画像を含む画像領域Qの画素値を予め定められた画素値に置き換えるので、従来のように視線検出器60の画像を削除した上で顔画像を復元するような処理と比較して、推定精度を確保した上で演算負荷を軽減することができる。視線推定システム1は、学習対象者OBの頭部に装着する装着型の視線検出器60を採用することにより、実際に学習対象者OBが視た位置(視線位置)に基づいて機械学習を行うことができるため、精度のよい学習用データセットD3を生成することができる。このように、視線推定システム1は、視線検出器60により精度のよい視線データD2を検出することができ、その上で視線検出器60を採用するがゆえに視線検出器60が写り込んでしまうという背反(デメリット)も解消することができる。視線推定システム1は、対応付け処理部448により置換後の顔画像データD1aと視線データD2とを対応付けるので、自動的に学習用データセットD3を生成することができる。
【0079】
上記視線推定システム1において、学習用データ生成装置100は、置換後の顔画像データD1aにおいて、学習対象者OBの顔画像が含まれることを判定する顔判定部443を含んで構成される。対応付け処理部448は、顔判定部443により置換後の顔画像データD1aに学習対象者OBの顔画像が含まれると判定された場合、置換後の顔画像データD1aと視線データD2とを対応付けた学習用データセットD3を生成する。一方で、対応付け処理部448は、顔判定部443により置換後の顔画像データD1aに学習対象者OBの顔画像が含まれないと判定された場合、置換後の顔画像データD1aと視線データD2とを対応付けた学習用データセットD3を生成しない。
【0080】
この構成により、視線推定システム1は、例えば、図9に示すように、置換後の顔画像データD1aにおいて、画像置換部442により眼球カメラ62R、62L等を含む画像領域Qの画素値が置換画素値に置き換えられていない場合、当該置換後の顔画像データD1aを不採用とすることができる。これにより、視線推定システム1は、学習用データセットD3の信頼性の低下を抑制することができ、この結果、学習済みモデルMにより適正に視線を推定することができる。
【0081】
上記視線推定システム1において、学習用データ生成装置100は、視線検出器60により検出された視線データD2に基づいて学習対象者OBの瞬きを判定する瞬き判定部445を含んで構成される。対応付け処理部448は、瞬き判定部445により瞬きをしていないと判定された場合、置換後の顔画像データD1aと視線データD2とを対応付けた学習用データセットD3を生成する。一方で、対応付け処理部448は、瞬き判定部445により瞬きをしていると判定された場合、置換後の顔画像データD1aと視線データD2とを対応付けた学習用データセットD3を生成しない。
【0082】
この構成により、視線推定システム1は、例えば、学習対象者OBが瞬きをすることにより眼を閉じた状態となり、学習対象者OBの視線を検出することができない場合、或いは誤って視線を検出した場合、置換後の顔画像データD1aを不採用とすることができる。これにより、視線推定システム1は、学習用データセットD3の信頼性の低下を抑制することができ、この結果、学習済みモデルMにより適正に視線を推定することができる。
【0083】
上記視線推定システム1において、予め定められた置換画素値は、学習対象者OBの眼の色とは異なる色の画素値である。この構成により、視線推定システム1は、学習済みモデルMを生成する際に視線検出器60を眼として誤認識した状態で学習済みモデルMが生成されてしまうことをより抑制することができ、この結果、学習済みモデルMにより適正に視線を推定することができる。
【0084】
実施形態に係る視線推定方法、及び、視線推定プログラムは、置換後の顔画像データD1aを含む学習用データセットD3により機械学習した学習済みモデルMを用いて入力顔画像データD4から視線を推定するので、上述した視線推定システム1と同様に、適正に視線を推定することができる。実施形態に係る学習用データ生成装置100は、置換後の顔画像データD1aを含む学習用データセットD3を生成するので、適正に視線を推定することを支援することができる。
【0085】
〔変形例〕
次に、実施形態の変形例について説明する。なお、変形例では、実施形態と同等の構成要素には同じ符号を付し、その詳細な説明を省略する。上述した実施形態では、視線推定システム1として、1つのシステムで学習フェーズと使用フェーズとの双方を行う場合の例を説明したが、実施形態はこれに限られない。
【0086】
例えば、図13に例示する変形例に係る視線推定システム1Aは、学習用データセットD3を生成する学習用データ生成装置100Aと、学習済みモデルMを生成するモデル生成装置200Aと、学習済みモデルMを用いて入力顔画像データD4から視線を推定する視線推定装置300Aとに分かれて構成される点で上述した視線推定システム1とは異なる。図13は、実施形態の変形例に係る視線推定システム1Aの構成例を示すブロック図である。図14は、実施形態の変形例に係る視線推定装置300Aの適用例を示す概略図である。
【0087】
視線推定システム1Aは、図13に示すように、学習用データ生成装置100A、モデル生成装置200A、及び、視線推定装置300Aが、それぞれが独立して別々の場所に配置され、分散したシステムを構成している。
【0088】
学習用データ生成装置100Aは、入力機器10Aと、出力機器20Aと、記憶回路30Aと、処理回路40Aと、同期信号生成装置50と、視線検出器60と、学習用撮像部としての学習用カメラ70Aとを備えている。学習用データ生成装置100Aは、学習フェーズにおいて、推定対象の入力顔画像から視線を推定する学習済みモデルMを機械学習させる際に用いられる学習用データセットD3を生成する処理を行う。学習用カメラ70Aは、学習対象者OBの顔全体を撮像するものであり、学習対象者OBと一定の間隔を空けた状態で当該学習対象者OBの顔の前方に配置されている。処理回路40Aは、機能概念的に、学習用データ生成部41を含んで構成される。
【0089】
モデル生成装置200Aは、入力機器10Bと、出力機器20Bと、記憶回路30Bと、処理回路40Bとを備え、学習フェーズにおいて、処理回路40Aの学習用データ生成部41により生成された複数の学習用データセットD3を用いて、学習済みモデルMを機械学習により生成する処理を行う。処理回路40Bは、機能概念的に、モデル生成部42を含んで構成される。
【0090】
視線推定装置300Aは、図14に示すように、車両に搭載されている。視線推定装置300Aは、入力機器10Cと、出力機器20Cと、記憶回路30Cと、処理回路40Cと、運転者撮像部としての運転者カメラ70Cとを備え、使用フェーズにおいて、処理回路40Bのモデル生成部42により生成された学習済みモデルMを用いて、入力顔画像データD4から運転者の視線を推定する処理を行う。これにより、視線推定装置300Aは、運転者の視線を適正に推定することができる。運転者カメラ70Cは、車両の運転者の顔を撮像するものであり、車両のメーター内部やステアリングコラムカバーに設置されている。処理回路40Cは、機能概念的に、推定対象入力部43と、視線推定部44と、出力部45とを含んで構成される。記憶回路30Cには、処理回路40Bのモデル生成部42により生成された学習済みモデルMが予め保存されている。処理回路40Cの視線推定部44は、記憶回路30Cに保存された学習済みモデルMを用いて、運転者カメラ70Cから出力される入力顔画像データD4から運転者の視線を推定する処理を行う。
【0091】
以上のように、視線推定システム1Aは、学習用データ生成装置100A、モデル生成装置200A、及び、視線推定装置300Aが、それぞれ分かれて構成されてもよい。
【0092】
なお、上記説明では、学習用データ生成装置100は、置換後の顔画像データD1aにおいて、学習対象者OBの顔画像が含まれることを判定する顔判定部443を含んで構成される例について説明したが、顔判定部443を含んで構成されていなくてもよい。
【0093】
学習用データ生成装置100は、視線検出器60により検出された視線データD2に基づいて学習対象者OBの瞬きを判定する瞬き判定部445を含んで構成される例について説明したが、瞬き判定部445を含んで構成されていなくてもよい。
【0094】
瞬き判定部445は、視線検出器60により検出された視線データD2に含まれる学習対象者OBの瞬きの検出結果に基づいて学習対象者OBの瞬きを判定する例について説明したが、これに限定されない。瞬き判定部445は、例えば、学習対象者OBの瞬きの検出結果が視線データD2に含まれない場合、視線データD2の視野画像に基づいて学習対象者OBの瞬きを判定する。瞬き判定部445は、例えば、視線データD2の視野画像に示される学習対象者OBの視線位置の値や黒眼中心値等に時系列フィルタリング等を行い、黒眼を検出できる場合には瞬きをしていないと判定し、黒眼を検出できない場合には瞬きをしていると判定する。
【0095】
視線検出器60は、株式会社ナックイメージテクノロジー製のEMR-9(帽子型)を採用することができる例について説明したがこれに限定されず、例えば、EMR-9(メガネ型)を採用してもよいし、トビー・テクノロジー株式会社製のTobiProグラス2(メガネ型)を採用してもよい。メガネ型の場合、画像置換部442は、メガネのフレームの画像を含む画像領域の画素値を置換画素値に置き換える。
【0096】
機械学習アルゴリズムALとして、畳み込みニューラルネットワークを用いる例について説明したが、これに限定されず、例えば、ロジスティック(Logistic)回帰、アンサンブル学習(Ensemble Learning)、サポートベクターマシン(Support Vector Machine)、ランダムフォレスト(Random Forest)、ナイーブベイズ(Naive Bays)等のアルゴリズムを用いてもよい。
【0097】
処理回路40は、単一のプロセッサによって各処理機能が実現されるものとして説明したがこれに限らない。処理回路40は、複数の独立したプロセッサを組み合わせて各プロセッサがプログラムを実行することにより各処理機能が実現されてもよい。また、処理回路40が有する処理機能は、単一又は複数の処理回路に適宜に分散又は統合されて実現されてもよい。また、処理回路40が有する処理機能は、その全部又は任意の一部をプログラムにて実現してもよく、また、ワイヤードロジック等によるハードウェアとして実現してもよい。
【0098】
以上で説明したプロセッサによって実行されるプログラムは、記憶回路30等に予め組み込まれて提供される。なお、このプログラムは、これらの装置にインストール可能な形式又は実行可能な形式のファイルで、コンピュータで読み取り可能な記憶媒体に記録されて提供されてもよい。また、このプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードされることにより提供又は配布されてもよい。
【符号の説明】
【0099】
1、1A 視線推定システム
100、100A 学習用データ生成装置
300、300A 視線推定装置
41 学習用データ生成部
42 モデル生成部
43 推定対象入力部
44 視線推定部
60 視線検出器
70 カメラ(学習用撮像部、運転者撮像部)
70A 学習用カメラ(学習用撮像部)
70C 運転者カメラ(運転者撮像部)
441 眼球カメラ検出部(画像検出部)
442 画像置換部
443 顔判定部
445 瞬き判定部
448 対応付け処理部
D1、D1a 顔画像データ
D2 視線データ
D3 学習用データセット
D4 入力顔画像データ(入力顔画像)
M 学習済みモデル
OB 学習対象者
Q 画像領域
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14