(57)【要約】      （修正有）【課題】ノイズの影響にロバストで、対象物をより高精度に検出可能な検出器を生成するための技術を提供する。【解決手段】検出器生成装置は、第１顔画像及び顔の器官の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得し、取得した複数の学習データセットを利用して、検出器の機械学習を実施する。機械学習を実施することは、検出器を利用して各第１顔画像において特定される第１検出位置と位置情報により示される位置との第１誤差の合計値を算出すること、各第１顔画像に幾何変換を適用することで各第２顔画像を生成すること、検出器を利用して各第２顔画像において特定される第２検出位置と各第１検出位置との第２誤差の合計値を算出すること、及び各誤差の合計値が小さくなるように検出器を訓練することを含む。【選択図】図８Ａ
2020035289.tif 000002
【特許請求の範囲】
【請求項１】
車両を運転する被験者の顔の写る第１顔画像、及び前記第１顔画像に写る前記顔の器官の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得する学習データ取得部と、
前記複数の学習データセットを利用して、検出器の機械学習を実施する学習処理部と、
を備え、
前記検出器の機械学習を実施することは、
前記各学習データセットの前記第１顔画像を前記検出器に入力することで、前記各学習データセットの前記第１顔画像に対する第１出力値を前記検出器から取得するステップと、
前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記器官の第１検出位置と当該第１顔画像に組み合わせられた前記位置情報により示される前記位置との第１誤差の合計値を算出するステップと、
前記各学習データセットの前記第１顔画像に所定の幾何変換を適用することで、前記各学習データセットの前記第１顔画像に対して第２顔画像を生成するステップと、
前記各第２顔画像を前記検出器に入力することで、前記各第２顔画像に対する第２出力値を前記検出器から取得するステップと、
前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記第１検出位置と当該第１顔画像に対して生成された前記第２顔画像に対して得られた前記第２出力値に基づいて特定される前記器官の第２検出位置との第２誤差の合計値を算出するステップと、
前記第１誤差の合計値及び前記第２誤差の合計値が小さくなるように前記検出器を訓練するステップと、
を含む、
検出器生成装置。
【請求項２】
前記所定の幾何変換は、平行移動及び回転移動を伴う変換である、
請求項１に記載の検出器生成装置。
【請求項３】
前記各学習データセットの前記位置情報は、機械学習を実施済みの他の検出器に当該位置情報に組み合わせられる前記第１顔画像を入力することで、当該他の検出器から得られる出力値に基づいて与えられる、
請求項１又は２に記載の検出器生成装置。
【請求項４】
前記器官は、目、鼻、口、眉、顎及びこれらの組み合わせから選択される、
請求項１から３のいずれか１項に記載の検出器生成装置。
【請求項５】
前記検出器は、ニューラルネットワークにより構成される、
請求項１から４のいずれか１項に検出器生成装置。
【請求項６】
車両を運転する運転者の顔の写る顔画像を取得するデータ取得部と、
請求項１から５のいずれか１項の検出器生成装置による機械学習を実施済みの前記検出器に取得した前記顔画像を入力することで、前記運転者の前記顔の器官を検出した結果に対応する出力値を前記検出器から取得する検出部と、
前記運転者の顔の器官を検出した結果に関する情報を出力する出力部と、
を備える、
モニタリング装置。
【請求項７】
コンピュータが、
車両を運転する被験者の顔の写る第１顔画像、及び前記第１顔画像に写る前記顔の器官の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
前記複数の学習データセットを利用して、検出器の機械学習を実施するステップと、
を実行し、
前記検出器の機械学習を実施するステップは、
前記各学習データセットの前記第１顔画像を前記検出器に入力することで、前記各学習データセットの前記第１顔画像に対する第１出力値を前記検出器から取得するステップと、
前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記器官の第１検出位置と当該第１顔画像に組み合わせられた前記位置情報により示される前記位置との第１誤差の合計値を算出するステップと、
前記各学習データセットの前記第１顔画像に所定の幾何変換を適用することで、前記各学習データセットの前記第１顔画像に対して第２顔画像を生成するステップと、
前記各第２顔画像を前記検出器に入力することで、前記各第２顔画像に対する第２出力値を前記検出器から取得するステップと、
前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記第１検出位置と当該第１顔画像に対して生成された前記第２顔画像に対して得られた前記第２出力値に基づいて特定される前記器官の第２検出位置との第２誤差の合計値を算出するステップと、
前記第１誤差の合計値及び前記第２誤差の合計値が小さくなるように前記検出器を訓練するステップと、
を含む、
検出器生成方法。
【請求項８】
コンピュータに、
車両を運転する被験者の顔の写る第１顔画像、及び前記第１顔画像に写る前記顔の器官の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
前記複数の学習データセットを利用して、検出器の機械学習を実施するステップと、
を実行させるための検出器生成プログラムであって、
前記検出器の機械学習を実施するステップは、
前記各学習データセットの前記第１顔画像を前記検出器に入力することで、前記各学習データセットの前記第１顔画像に対する第１出力値を前記検出器から取得するステップと、
前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記器官の第１検出位置と当該第１顔画像に組み合わせられた前記位置情報により示される前記位置との第１誤差の合計値を算出するステップと、
前記各学習データセットの前記第１顔画像に所定の幾何変換を適用することで、前記各学習データセットの前記第１顔画像に対して第２顔画像を生成するステップと、
前記各第２顔画像を前記検出器に入力することで、前記各第２顔画像に対する第２出力値を前記検出器から取得するステップと、
前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記第１検出位置と当該第１顔画像に対して生成された前記第２顔画像に対して得られた前記第２出力値に基づいて特定される前記器官の第２検出位置との第２誤差の合計値を算出するステップと、
前記第１誤差の合計値及び前記第２誤差の合計値が小さくなるように前記検出器を訓練するステップと、
を含む、
検出器生成プログラム。
【請求項９】
被験者の顔の写る第１顔画像、及び前記第１顔画像に写る前記顔の器官の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得する学習データ取得部と、
前記複数の学習データセットを利用して、検出器の機械学習を実施する学習処理部と、
を備え、
前記検出器の機械学習を実施することは、
前記各学習データセットの前記第１顔画像を前記検出器に入力することで、前記各学習データセットの前記第１顔画像に対する第１出力値を前記検出器から取得するステップと、
前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記器官の第１検出位置と当該第１顔画像に組み合わせられた前記位置情報により示される前記位置との第１誤差の合計値を算出するステップと、
前記各学習データセットの前記第１顔画像に所定の幾何変換を適用することで、前記各学習データセットの前記第１顔画像に対して第２顔画像を生成するステップと、
前記各第２顔画像を前記検出器に入力することで、前記各第２顔画像に対する第２出力値を前記検出器から取得するステップと、
前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記第１検出位置と当該第１顔画像に対して生成された前記第２顔画像に対して得られた前記第２出力値に基づいて特定される前記器官の第２検出位置との第２誤差の合計値を算出するステップと、
前記第１誤差の合計値及び前記第２誤差の合計値が小さくなるように前記検出器を訓練するステップと、
を含む、
検出器生成装置。
【請求項１０】
対象物の写る第１画像、及び前記第１画像に写る前記対象物の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得する学習データ取得部と、
前記複数の学習データセットを利用して、検出器の機械学習を実施する学習処理部と、
を備え、
前記検出器の機械学習を実施することは、
前記各学習データセットの前記第１画像を前記検出器に入力することで、前記各学習データセットの前記第１画像に対する第１出力値を前記検出器から取得するステップと、
前記各学習データセットの前記第１画像に対して得られた前記第１出力値に基づいて特定される前記対象物の第１検出位置と当該第１画像に組み合わせられた前記位置情報により示される前記位置との第１誤差の合計値を算出するステップと、
前記各学習データセットの前記第１画像に所定の幾何変換を適用することで、前記各学習データセットの前記第１画像に対して第２画像を生成するステップと、
前記各第２画像を前記検出器に入力することで、前記各第２画像に対する第２出力値を前記検出器から取得するステップと、
前記各学習データセットの前記第１画像に対して得られた前記第１出力値に基づいて特定される前記第１検出位置と当該第１画像に対して生成された前記第２画像に対して得られた前記第２出力値に基づいて特定される前記対象物の第２検出位置との第２誤差の合計値を算出するステップと、
前記第１誤差の合計値及び前記第２誤差の合計値が小さくなるように前記検出器を訓練するステップと、
を含む、
検出器生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出器生成装置、モニタリング装置、検出器生成方法及び検出器生成プログラムに関する。
【背景技術】
【０００２】
近年、脇見等に起因する自動車の交通事故を防止するために、運転者の状態を監視する技術の開発が進んでいる。また、自動車の自動運転の実現に向けた動きが加速している。自動運転は、システムにより自動車の操舵を制御するものであるが、システムに代わって運転者が運転しなければならない場面もあり得ることから、自動運転中であっても、運転者が運転操作を行える状態にあるか否かを監視する必要性があるとされている。この自動運転中に運転者の状態を監視する必要性があることは、国連欧州経済委員会（ＵＮ−ＥＣＥ）の政府間会合（ＷＰ２９）においても確認されている。この点からも、運転者の状態を監視する技術の開発が進められている。
【０００３】
運転者の状態を監視する技術の一つとして、視線方向等の運転者の顔の状態を推定するために、運転者を撮影することで得られた画像から運転者の顔の器官を検出する技術がある。顔の器官を検出することができれば、検出した器官の位置関係に基づいて、運転者の状態を推定することができる。例えば、顔画像から各目を検出し、各目の位置を特定することができれば、特定した各目の位置関係に基づいて、運転者の視線方向を推定することができる。
【０００４】
人物の器官を検出する技術として、例えば、特許文献１では、畳み込みニューラルネットワーク（Convolutional Neural Networks）を利用して、顔の器官を検出するための装置が提案されている。具体的には、この装置は、畳み込みニューラルネットワークを使用して、顔の器官に関連する特徴点の候補を顔画像データから抽出し、抽出した各候補に対して幾何学的な補正処理を実行することで、各特徴点の位置を決定する。これにより、当該装置は、決定した各特徴点の位置に基づいて、対象人物を認識することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２４３２８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、特許文献１で例示されるように、顔の器官の位置を検出するために、ニューラルネットワーク等の学習モデルにより構成された検出器を採用することがある。この検出器は、機械学習により、入力された顔画像から顔の器官の位置を検出することができるようになる。検出器の機械学習を実施するためには、顔の写る顔画像及び顔の器官の位置を示す位置情報が用意される。機械学習では、用意した顔画像が入力されると、位置情報に対応する出力値を出力するように検出器のパラメータが調整される。この機械学習により、顔画像から顔の器官の位置を検出する能力を獲得した学習済みの検出器が生成される。
【０００７】
本件発明者らは、このような学習済みの検出器を用いる従来の方法では、図１に示すような問題点が生じることを見出した。図１は、従来の方法により顔の器官の位置を検出する場面の一例を模式的に例示する。図１では、顔の器官の一例として目（具体的には、目尻）を検出する場面を例示する。機械学習により、検出器は、同一の顔画像に対して同一の出力値を出力するように、換言すると、同一の顔画像に対して同一の位置を対象の器官の検出位置として回答する能力を獲得する。したがって、運転者が顔の器官を動かさなければ、本来、検出器から回答される器官の検出位置は一定のはずである。
【０００８】
しかしながら、機械学習の正解データとして利用される位置情報にはノイズが含まれ得る。つまり、位置情報は、常に一定の基準に従って対象の器官の位置を正確に示すとは限らないという不安定性を有している。例えば、位置情報が人間により入力される場合に、位置情報を入力する人物が異なれば、器官の存在する位置として指定される位置は異なり得る。また、同一の人物が位置情報を入力したとしても、同一の顔画像に対して完全に一致する位置を複数回指定するのは困難である。
【０００９】
具体例として、図１に例示される目尻の位置を位置情報として入力する場面を想定する。この場面において、複数の異なる人物が顔画像に対して目尻の位置を指定する場合に、各人物の間には、目尻の位置の定義に対する解釈に微妙な差が存在し得る。そのため、同一の顔画像に対して各人物が目尻の位置を指定したとしても、各人物により指定される目尻の位置は微妙に相違し得る。また、同一の人物により目尻の位置を指定したとしても、完全に一致する位置を複数回指定するのは困難である。そのため、同一の顔画像に対して同一の人物が目尻の位置を指定したとしても、各回に指定される目尻の位置は微妙に相違し得る。
【００１０】
したがって、複数の異なる人物が位置情報を入力する場合は勿論のこと、同一の人物が位置情報を入力する場合であっても、入力された位置情報は、常に一定の基準に従って対象の器官の位置を正確に示すとは限らない。すなわち、位置情報により示される器官の存在する位置は変動し得る。このようなノイズを含む位置情報を機械学習の正解データとして利用した場合、検出器は、顔画像に対して与えられた器官の位置だけではなく、このノイズをも再現するように学習してしまう。これに起因して、運転者が顔の器官を動かしていないにも関わらず、学習済みの検出器から回答される器官の検出位置にぶれが生じてしまう。すなわち、図１の示すように、器官（目尻）を動かしていないにも関わらず、機械学習に利用した位置情報に含まれるノイズを学習した影響によって、各顔画像間で器官の検出位置が変動してしまうという問題点が生じ得ることを本件発明者らは見出した。
【００１１】
運転者が顔の器官を動かしていないにも関わらず、検出器による器官の検出位置にぶれが生じてしまうと、この検出結果の変動に起因して、運転者の状態を推定する精度が低くなってしまう。例えば、上記の視線方向を推定する例では、運転者が視線を変えていないにも関わらず、各目の検出位置がぶれてしまうことにより、運転者の視線方向の推定結果が変動してしまうことになる。これにより、例えば、運転者が前方を注視しているにも関わらず運転者が脇見をしていると認識してしまう等のように、システムが運転者の状態を誤認識してしまう可能性が生じる。
【００１２】
なお、この課題は、上記のような運転者の顔の器官を検出する場面ではなく、例えば、運転者以外の対象者の顔の器官を検出する場面、対象者の顔の器官以外の対象物を検出する場面等の、対象物を検出するあらゆる場面で生じ得る。例えば、生産ラインを流れる製品、製品に形成された傷等の対象物を検出する場合に、従来の検出器を用いた方法では、対象物が動いていないにも関わらず、複数の画像間で対象物の検出位置がぶれてしまうという問題点が生じ得る。
【００１３】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、正解データのノイズの影響にロバストで、対象物をより高精度に検出可能な検出器を生成するための技術を提供することである。
【課題を解決するための手段】
【００１４】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【００１５】
すなわち、本発明の一側面に係る検出器生成装置は、車両を運転する被験者の顔の写る第１顔画像、及び前記第１顔画像に写る前記顔の器官の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得する学習データ取得部と、前記複数の学習データセットを利用して、検出器の機械学習を実施する学習処理部と、を備える。そして、前記検出器の機械学習を実施することは、前記各学習データセットの前記第１顔画像を前記検出器に入力することで、前記各学習データセットの前記第１顔画像に対する第１出力値を前記検出器から取得するステップと、前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記器官の第１検出位置と当該第１顔画像に組み合わせられた前記位置情報により示される前記位置との第１誤差の合計値を算出するステップと、前記各学習データセットの前記第１顔画像に所定の幾何変換を適用することで、前記各学習データセットの前記第１顔画像に対して第２顔画像を生成するステップと、前記各第２顔画像を前記検出器に入力することで、前記各第２顔画像に対する第２出力値を前記検出器から取得するステップと、前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記第１検出位置と当該第１顔画像に対して生成された前記第２顔画像に対して得られた前記第２出力値に基づいて特定される前記器官の第２検出位置との第２誤差の合計値を算出するステップと、前記第１誤差の合計値及び前記第２誤差の合計値が小さくなるように前記検出器を訓練するステップと、を含む。
【００１６】
上記構成に係る検出器生成装置は、機械学習の過程において、第１顔画像を検出器に入力することで第１出力値を取得し、取得した第１出力値に基づいて特定される器官の第１検出位置と位置情報により示される位置との第１誤差の合計値を算出する。この第１誤差の合計値は、検出器により第１顔画像から器官を検出した結果と位置情報により指定される器官の位置の正解との間の損失に相当する。そこで、上記構成に係る検出器生成装置は、この第１誤差の合計値が小さくなるように検出器を訓練する。これにより、位置情報により示される正解と一致するように、第１顔画像から器官を検出する能力を習得した検出器が構築される。
【００１７】
加えて、上記構成に係る検出器生成装置は、第１顔画像に所定の幾何変換を適用することで第２顔画像を生成し、生成した第２顔画像を検出器に入力することで第２出力値を取得する。そして、上記構成に係る検出器生成装置は、取得した第２出力値に基づいて特定される器官の第２検出位置と上記第１検出位置との第２誤差の合計値を算出する。
【００１８】
各第１顔画像に付与される位置情報が、常に一定の基準に従って対象の器官（図１の例では、目尻）の位置を正確に示していた場合には、第１誤差に基づく機械学習により構築される検出器は、一定の基準に対応する対象の器官の何らかの特徴を捉えて、当該対象の器官の位置を正確に検出することができるようになる。そのため、この検出器は、第１顔画像を幾何変換することで生成された第２顔画像に対しても、その特徴に基づいて、対象の器官の位置を正確に検出することができる。
【００１９】
一方、各第１顔画像に付与される位置情報が一定の基準に従って対象の器官の位置を示すものではない場合、第１誤差に基づく機械学習により構築される検出器は、上記の特徴を正確には捉えることができず、対象の器官の検出する位置がぶれてしまう。そのため、この検出器は、第１顔画像を幾何変換することで生成された第２顔画像に対して、対象の器官の位置を正確に検出することができない可能性が高い。なお、各第１顔画像に付与される位置情報が一定の基準に従って対象の器官の位置を示すものではないケースとは、例えば、各第１顔画像において顔の位置がずれているにも関わらず、各顔画像に対して一定の位置を示す位置情報が各第１顔画像に付与されるケースである。
【００２０】
上記第２誤差の合計値は、検出器による器官の検出結果のブレであって、このような顔画像における幾何的なノイズの影響によって生じるブレの損失に相当する。そこで、当該構成に係る検出器生成装置は、上記第１誤差の合計値と共に、第２誤差の合計値が小さくなるように検出器を訓練する。これにより、位置情報に含まれる幾何的なノイズによる影響にロバストな検出器を構築することができる。
【００２１】
したがって、上記構成に係る検出器生成装置によれば、位置情報により示される正解と一致するように第１顔画像から器官を検出し、かつその検出結果が位置情報（正解データ）に含まれ得るノイズによる影響を受け難い、ように訓練された検出器を構築することができる。よって、正解データのノイズの影響にロバストで、対象物（上記一側面では、顔の器官）をより高精度に検出可能な検出器を生成することができる。
【００２２】
なお、所定の幾何変換（幾何学的な変換）は、例えば、平行移動、回転移動、反転、拡大、縮小又はこれらの組み合わせであってよい。具体例として、所定の幾何変換は、平行移動及び回転移動を伴う変換であってよい。これにより、平行移動及び回転移動による影響にロバストな検出器を構築することができる。
【００２３】
また、検出器は、機械学習を実施可能な学習モデルにより構成される。このような検出器は、例えば、ニューラルネットワークにより構成されてよい。顔画像から検出される器官の種類は、顔に含まれる何らかの部位であれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。検出の対象となる器官は、例えば、目、鼻、口、眉、顎及びこれらの組み合わせから選択されてよい。また、検出の対象となる器官には、顔の輪郭が含まれてもよい。
【００２４】
上記一側面に係る検出器生成装置において、前記検出器の機械学習を実施することは、前記各学習データセットの前記第１顔画像にノイズを付与することで、前記各学習データセットの前記第１顔画像に対して第３顔画像を生成するステップと、前記各第３顔画像を前記検出器に入力することで、前記各第３顔画像に対する第３出力値を前記検出器から取得するステップと、前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記第１検出位置と当該第１顔画像に対して生成された前記第３顔画像に対して得られた前記第３出力値に基づいて特定される前記器官の第３検出位置との第３誤差の合計値を算出するステップと、を更に含んでもよく、前記訓練するステップでは、前記学習処理部は、前記第１誤差の合計値、前記第２誤差の合計値及び前記第３誤差の合計値が小さくなるように前記検出器を訓練してもよい。当該構成に係る検出器生成装置によれば、検出結果が、画像のノイズによる影響を受け難い、ように更に訓練された検出器を構築することができる。
【００２５】
上記一側面に係る検出器生成装置において、前記各学習データセットの前記位置情報は、当該位置情報に組み合わせられる前記第１顔画像を、機械学習を実施済みの他の検出器に入力することで、当該他の検出器から得られる出力値に基づいて与えられてよい。当該構成によれば、他の検出器による検出結果を位置情報として利用するため、上記人為的なノイズが位置情報に含まれるのを防止することができる。これにより、位置情報に含まれ得るノイズによる影響にロバストな検出器を構築することができる。
【００２６】
なお、他の検出器は、機械学習により最終的な検出器を得る過程で生成される暫定的な検出器であってよい。つまり、検出器生成装置は、学習データセットを利用した機械学習による検出器の構築する処理と、構築された検出器により位置情報を更新する処理とを交互に繰り返し実行してもよい。上記人為的なノイズによる影響にロバストな検出器を構築するために、この検出器を構築する処理と位置情報を更新する処理とを交互に実行する部分のみを抽出して、新たな形態に係る検出器生成装置が構成されてもよい。
【００２７】
例えば、本発明の一側面に係る検出器生成装置は、車両を運転する被験者の顔の写る顔画像、及び前記顔画像に写る前記顔の器官の位置を示す第１位置情報の組み合わせによりそれぞれ構成される複数の第１学習データセットを取得する学習データ取得部と、前記複数の第１学習データセットを利用して、第１検出器の機械学習を実施することで、前記各第１学習データセットの前記顔画像が入力されると、入力された前記顔画像に組み合わせられた前記第１位置情報に対応する出力値を出力する第１検出器を構築する学習処理部と、を備える。そして、前記学習データ取得部は、前記各第１学習データセットの前記顔画像、及び構築された前記第１検出器に当該顔画像を入力することで、当該第１検出器から得られる出力値に基づいて与えられる第２位置情報の組み合わせによりそれぞれ構成される複数の第２学習データセットを更に取得する。また、前記学習処理部は、前記複数の第２学習データセットを利用して、第２検出器の機械学習を実施することで、前記各第２学習データセットの前記顔画像が入力されると、入力された前記顔画像に組み合わせられた前記第２位置情報に対応する出力値を出力する第２検出器を更に構築する。なお、第１検出器は、上記「他の検出器」、すなわち、暫定的な検出器の一例である。また、第２学習データセットの取得及び第２検出器の構築を繰り返す場合、あるステップで構築される第２検出器が、次のステップの第１検出器と利用される。そして、最後に構築される第２検出器が、上記「検出器」、すなわち、最終的な検出器の一例である。
【００２８】
また、本発明の一側面に係るモニタリング装置は、車両を運転する運転者の顔の写る顔画像を取得するデータ取得部と、上記いずれかの形態に係る検出器生成装置による機械学習を実施済みの前記検出器に取得した前記顔画像を入力することで、前記運転者の前記顔の器官を検出した結果に対応する出力値を前記検出器から取得する検出部と、前記運転者の顔の器官を検出した結果に関する情報を出力する出力部と、を備える。当該構成に係るモニタリング装置によれば、正解データのノイズの影響にロバストな検出器により、運転者の顔の器官を高精度に検出することができる。したがって、例えば、運転操作中における運転者の状態等を精度よく認識することができる。
【００２９】
また、上記各形態に係る検出器生成装置及びモニタリング装置は、車両の運転者の顔の器官を検出する場面だけではなく、例えば、生産ラインの作業者の顔の器官を検出する場面等、運転者以外の対象者の顔の器官を検出するあらゆる場面に適用されてよい。更に、上記各形態に係る検出器生成装置及びモニタリング装置は、対象者の顔の器官を検出する場面だけではなく、例えば、生産ラインを流れる製品の何らかの特徴（例えば、傷）の位置を検出する場面等、人物以外の対象物の写る画像から当該対象物の位置を検出するあらゆる場面に適用されてよい。
【００３０】
例えば、本発明の一側面に係る検出器生成装置は、被験者の顔の写る第１顔画像、及び前記第１顔画像に写る前記顔の器官の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得する学習データ取得部と、前記複数の学習データセットを利用して、検出器の機械学習を実施する学習処理部と、を備える。そして、前記検出器の機械学習を実施することは、前記各学習データセットの前記第１顔画像を前記検出器に入力することで、前記各学習データセットの前記第１顔画像に対する第１出力値を前記検出器から取得するステップと、前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記器官の第１検出位置と当該第１顔画像に組み合わせられた前記位置情報により示される前記位置との第１誤差の合計値を算出するステップと、前記各学習データセットの前記第１顔画像に所定の幾何変換を適用することで、前記各学習データセットの前記第１顔画像に対して第２顔画像を生成するステップと、前記各第２顔画像を前記検出器に入力することで、前記各第２顔画像に対する第２出力値を前記検出器から取得するステップと、前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記第１検出位置と当該第１顔画像に対して生成された前記第２顔画像に対して得られた前記第２出力値に基づいて特定される前記器官の第２検出位置との第２誤差の合計値を算出するステップと、前記第１誤差の合計値及び前記第２誤差の合計値が小さくなるように前記検出器を訓練するステップと、を含む。
【００３１】
また、例えば、本発明の一側面に係る検出器生成装置は、対象物の写る第１画像、及び前記第１画像に写る前記対象物の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得する学習データ取得部と、前記複数の学習データセットを利用して、検出器の機械学習を実施する学習処理部と、を備える。そして、前記検出器の機械学習を実施することは、前記各学習データセットの前記第１画像を前記検出器に入力することで、前記各学習データセットの前記第１画像に対する第１出力値を前記検出器から取得するステップと、前記各学習データセットの前記第１画像に対して得られた前記第１出力値に基づいて特定される前記対象物の第１検出位置と当該第１画像に組み合わせられた前記位置情報により示される前記位置との第１誤差の合計値を算出するステップと、前記各学習データセットの前記第１画像に所定の幾何変換を適用することで、前記各学習データセットの前記第１画像に対して第２画像を生成するステップと、前記各第２画像を前記検出器に入力することで、前記各第２画像に対する第２出力値を前記検出器から取得するステップと、前記各学習データセットの前記第１画像に対して得られた前記第１出力値に基づいて特定される前記第１検出位置と当該第１画像に対して生成された前記第２画像に対して得られた前記第２出力値に基づいて特定される前記対象物の第２検出位置との第２誤差の合計値を算出するステップと、前記第１誤差の合計値及び前記第２誤差の合計値が小さくなるように前記検出器を訓練するステップと、を含む。
【００３２】
例えば、本発明の一側面に係る検出器生成装置は、被験者の顔の写る顔画像、及び前記顔画像に写る前記顔の器官の位置を示す第１位置情報の組み合わせによりそれぞれ構成される複数の第１学習データセットを取得する学習データ取得部と、前記複数の第１学習データセットを利用して、第１検出器の機械学習を実施することで、前記各第１学習データセットの前記顔画像が入力されると、入力された前記顔画像に組み合わせられた前記第１位置情報に対応する出力値を出力する第１検出器を構築する学習処理部と、を備える。そして、前記学習データ取得部は、前記各第１学習データセットの前記顔画像、及び構築された前記第１検出器に当該顔画像を入力することで、当該第１検出器から得られる出力値に基づいて与えられる第２位置情報の組み合わせによりそれぞれ構成される複数の第２学習データセットを更に取得する。また、前記学習処理部は、前記複数の第２学習データセットを利用して、第２検出器の機械学習を実施することで、前記各第２学習データセットの前記顔画像が入力されると、入力された前記顔画像に組み合わせられた前記第２位置情報に対応する出力値を出力する第２検出器を更に構築する。
【００３３】
また、例えば、本発明の一側面に係る検出器生成装置は、対象物の写る画像、及び前記画像に写る前記対象物の位置を示す第１位置情報の組み合わせによりそれぞれ構成される複数の第１学習データセットを取得する学習データ取得部と、前記複数の第１学習データセットを利用して、第１検出器の機械学習を実施することで、前記各第１学習データセットの前記画像が入力されると、入力された前記画像に組み合わせられた前記第１位置情報に対応する出力値を出力する第１検出器を構築する学習処理部と、を備える。そして、前記学習データ取得部は、前記各第１学習データセットの前記画像、及び構築された前記第１検出器に当該画像を入力することで、当該第１検出器から得られる出力値に基づいて与えられる第２位置情報の組み合わせによりそれぞれ構成される複数の第２学習データセットを更に取得する。また、前記学習処理部は、前記複数の第２学習データセットを利用して、第２検出器の機械学習を実施することで、前記各第２学習データセットの前記画像が入力されると、入力された前記画像に組み合わせられた前記第２位置情報に対応する出力値を出力する第２検出器を更に構築する。
【００３４】
なお、検出器を訓練することは、検出器のパラメータを調節することである。検出器のパラメータは、何らかの対象物を画像から検出する（出力値を得る）ための演算処理に利用される。検出器がニューラルネットワークにより構成される場合、パラメータは、例えば、各ニューロン間の結合の重み、各ニューロンの閾値等である。
【００３５】
対象物の種類は、画像に写り得るものであれば特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。人間の写る画像が第１画像として取得される場合、対象物は、例えば、顔の器官、顔そのもの、顔以外の身体部位等であってよい。また、生産ラインで生産される製品の写る画像が第１画像として取得される場合、対象物は、例えば、製品そのもの、製品に含まれる何らかの特徴（例えば、傷）等であってよい。
【００３６】
各検出位置は、各画像に対して検出器が対象物を検出した位置である。第２誤差は、幾何変換画像（第２顔画像、第２画像）に対する対象物の検出位置と元の画像（第１顔画像、第１画像）に対する対象物の検出位置との相対的な差分に相当する。この第２誤差は、幾何変換画像から検出した位置に幾何変換の逆変換を適用することで得られた位置と元の画像から検出した位置との差分を算出することで導出されてよい。あるいは、第２誤差は、幾何変換画像から検出した位置と元の画像から検出した位置に幾何変換を適用することで得られた位置との差分を算出することで導出されてもよい。つまり、「第１出力値に基づいて特定される器官の第１検出位置と第２出力値に基づいて特定される器官の第２検出位置との第２誤差」を計算することは、幾何変換画像から検出した位置に幾何変換の逆変換を適用することで得られた位置と元の画像から検出した位置との差分を算出すること、及び幾何変換画像から検出した位置と元の画像から検出した位置に幾何変換を適用することで得られた位置との差分を算出することを含んでよい。第３誤差は、ノイズ画像（第３顔画像、第３画像）に対する対象物の検出位置と元の画像（第１顔画像、第１画像）に対する対象物の検出位置との差分に相当する。検出器は、「学習器」と称されてもよい。また、機械学習後の検出器は、「学習済みの学習器」と称されてもよい。位置情報の形式は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。位置情報は、例えば、対象物の座標値により構成されてもよいし、対象物の領域を示す情報により構成されてもよい。
【００３７】
上記各形態に係る検出器生成装置及びモニタリング装置それぞれの別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面に係る検出システムは、上記いずれかの形態に係る検出器生成装置及びモニタリング装置により構成されてもよい。
【００３８】
例えば、本発明の一側面に係る検出器生成方法は、コンピュータが、車両を運転する被験者の顔の写る第１顔画像、及び前記第１顔画像に写る前記顔の器官の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、前記複数の学習データセットを利用して、検出器の機械学習を実施するステップと、を実行する、情報処理方法である。そして、前記検出器の機械学習を実施するステップは、前記各学習データセットの前記第１顔画像を前記検出器に入力することで、前記各学習データセットの前記第１顔画像に対する第１出力値を前記検出器から取得するステップと、前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記器官の第１検出位置と当該第１顔画像に組み合わせられた前記位置情報により示される前記位置との第１誤差の合計値を算出するステップと、前記各学習データセットの前記第１顔画像に所定の幾何変換を適用することで、前記各学習データセットの前記第１顔画像に対して第２顔画像を生成するステップと、前記各第２顔画像を前記検出器に入力することで、前記各第２顔画像に対する第２出力値を前記検出器から取得するステップと、前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記第１検出位置と当該第１顔画像に対して生成された前記第２顔画像に対して得られた前記第２出力値に基づいて特定される前記器官の第２検出位置との第２誤差の合計値を算出するステップと、前記第１誤差の合計値及び前記第２誤差の合計値が小さくなるように前記検出器を訓練するステップと、を含む。
【００３９】
また、例えば、本発明の一側面に係る検出器生成プログラムは、コンピュータに、車両を運転する被験者の顔の写る第１顔画像、及び前記第１顔画像に写る前記顔の器官の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、前記複数の学習データセットを利用して、検出器の機械学習を実施するステップと、を実行させるための、プログラムである。そして、前記検出器の機械学習を実施するステップは、前記各学習データセットの前記第１顔画像を前記検出器に入力することで、前記各学習データセットの前記第１顔画像に対する第１出力値を前記検出器から取得するステップと、前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記器官の第１検出位置と当該第１顔画像に組み合わせられた前記位置情報により示される前記位置との第１誤差の合計値を算出するステップと、前記各学習データセットの前記第１顔画像に所定の幾何変換を適用することで、前記各学習データセットの前記第１顔画像に対して第２顔画像を生成するステップと、前記各第２顔画像を前記検出器に入力することで、前記各第２顔画像に対する第２出力値を前記検出器から取得するステップと、前記各学習データセットの前記第１顔画像に対して得られた前記第１出力値に基づいて特定される前記第１検出位置と当該第１顔画像に対して生成された前記第２顔画像に対して得られた前記第２出力値に基づいて特定される前記器官の第２検出位置との第２誤差の合計値を算出するステップと、前記第１誤差の合計値及び前記第２誤差の合計値が小さくなるように前記検出器を訓練するステップと、を含む。
【発明の効果】
【００４０】
本発明によれば、正解データのノイズの影響にロバストで、対象物をより高精度に検出可能な検出器を生成することができる。
【図面の簡単な説明】
【００４１】
【図１】図１は、従来の検出器に生じる問題点を説明するための図である。
【図２】図２は、本発明が適用される場面の一例を模式的に例示する。
【図３】図３は、実施の形態に係る検出器生成装置のハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係るモニタリング装置のハードウェア構成の一例を模式的に例示する。
【図５】図５は、実施の形態に係る検出器生成装置のソフトウェア構成の一例を模式的に例示する。
【図６】図６は、実施の形態に係るモニタリング装置のソフトウェア構成の一例を模式的に例示する。
【図７】図７は、実施の形態に係る検出器生成装置の処理手順の一例を例示する。
【図８Ａ】図８Ａは、実施の形態に係る機械学習の処理手順の一例を例示する。
【図８Ｂ】図８Ｂは、実施の形態に係る機械学習の処理手順の一例を例示する。
【図９】図９は、機械学習を繰り返し実施する場面の一例を模式的に例示する。
【図１０】図１０は、実施の形態に係るモニタリング装置の処理手順の一例を例示する。
【図１１】図１１は、変形例に係る検出器生成装置のソフトウェア構成の一例を模式的に例示する。
【図１２】図１２は、本発明が適用される場面のその他の例を模式的に例示する。
【図１３】図１３は、本発明が適用される場面のその他の例を模式的に例示する。
【図１４】図１４は、変形例に係る検出器生成装置のソフトウェア構成の一例を模式的に例示する。
【図１５】図１５は、変形例に係る検出器生成装置のソフトウェア構成の一例を模式的に例示する。
【発明を実施するための形態】
【００４２】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００４３】
§１  適用例
まず、図２を用いて、本発明が適用される場面の一例について説明する。図２は、本実施形態に係る検出システム１００の適用場面の一例を模式的に例示する。図２の例では、車両を運転する運転者の顔を撮影し、得られる顔画像から顔の器官を検出する場面を想定している。顔画像は、本発明の「画像」の一例であり、顔の器官は、本発明の「対象物」の一例である。しかしながら、本発明の適用対象は、このような例に限定されなくてもよく、何らかの対象物を画像から検出するあらゆる場面に適用可能である。
【００４４】
図２に示されるとおり、本実施形態に係る検出システム１００は、ネットワークを介して互いに接続される検出器生成装置１及びモニタリング装置２を備えており、顔の器官を検出するための検出器を生成し、生成した検出器により運転者の顔の器官を検出するように構成される。検出器生成装置１及びモニタリング装置２の間のネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００４５】
本実施形態に係る検出器生成装置１は、機械学習を実施することにより、顔画像から顔の器官を検出するための検出器５を構築するように構成されたコンピュータである。具体的には、検出器生成装置１は、車両を運転する被験者Ｔの顔の写る顔画像６１１、及び顔画像６１１に写る顔の器官の位置Ａ１を示す位置情報６１２の組み合わせによりそれぞれ構成される複数の学習データセット６１を取得する。顔画像６１１は、本発明の「第１顔画像」の一例である。顔画像６１１は、例えば、被験者Ｔの顔を撮影可能な車両内の位置に設置されたカメラ３１により得られる。顔画像６１１は、機械学習における訓練データ（入力データ）に対応し、位置情報６１２は、正解データ（教師データ）に対応する。検出器生成装置１は、このような複数の学習データセット６１を利用して、検出器５の機械学習を実施する。
【００４６】
具体的に、機械学習の処理として、検出器生成装置１は、まず、各学習データセット６１の顔画像６１１を検出器５に入力することで、各学習データセット６１の顔画像６１１に対する第１出力値を検出器５から取得する。検出器５は、顔画像の入力を受け付け、入力された顔画像に写る顔の器官の位置を検出した結果に対応する出力値を出力するように構成される。つまり、第１出力値は、顔画像６１１に写る被験者Ｔの顔の器官の位置を検出器５が検出した結果に対応する。このような検出器５は、機械学習を実施可能な学習モデルにより構成される。本実施形態では、検出器５は、後述するニューラルネットワークにより構成される。
【００４７】
次に、検出器生成装置１は、各学習データセット６１の顔画像６１１に対して得られた第１出力値に基づいて特定される器官の検出位置Ｖ１と当該顔画像６１１に組み合わせられた位置情報６１２により示される位置Ａ１との誤差７１の合計値を算出する。検出位置Ｖ１は、本発明の「第１検出位置」の一例であり、誤差７１は、本発明の「第１誤差」の一例である。つまり、検出器生成装置１は、各学習データセット６１について、顔画像６１１に対して得られた検出位置Ｖ１、及び対応する位置情報６１２により示される位置Ａ１の差分を誤差７１として算出し、算出した各誤差７１を足し合わせることで、誤差７１の合計値を算出する。
【００４８】
また、検出器生成装置１は、各学習データセット６１の顔画像６１１に所定の幾何変換を適用することで、各学習データセット６１の顔画像６１１に対して顔画像６６を生成する。顔画像６６は、本発明の「第２顔画像」の一例である。所定の幾何変換（幾何的な変換）は、例えば、平行移動、回転移動、反転、拡大、縮小又はこれらの組み合わせであってよい。具体例として、所定の幾何変換は、平行移動及び回転移動を伴う変換であってよい。図２の例では、平行移動及び回転移動を伴う変換を顔画像６１１に適用した場面を例示している。
【００４９】
続いて、検出器生成装置１は、生成した各顔画像６６を検出器に入力することで、各顔画像６６に対する第２出力値を検出器５から取得する。更に、検出器生成装置１は、各学習データセット６１の顔画像６１１に対して得られた第１出力値に基づいて特定される第１検出位置と当該顔画像６１１に対して生成された顔画像６６に対して得られた第２出力値に基づいて特定される器官の第２検出位置との第２誤差の合計値を算出する。
【００５０】
ここで、顔画像６６は、顔画像６１１に幾何変換を適用することで得られるため、顔画像６６の座標軸と顔画像６１１の座標軸とは幾何変換の分だけずれている。そのため、顔画像６１１に対する器官の検出結果と顔画像６６に対する器官の検出結果とを比較するため、検出器生成装置１は、顔画像６１１の座標軸と顔画像６６の座標軸とを一致させる変換処理を実行する。
【００５１】
図２の例では、まず、検出器生成装置１は、検出器５から取得した第２出力値に基づいて、顔画像６６の座標軸における器官の検出位置Ｖ３０を特定する。次に、検出器生成装置１は、特定した検出位置Ｖ３０の座標値に所定の幾何変換の逆変換を適用し、顔画像６６の座標軸を顔画像６１１の座標軸に一致させて、顔画像６１１の座標軸における検出位置Ｖ３１を特定する。そして、検出器生成装置１は、各学習データセット６１について、顔画像６１１に対して得られた検出位置Ｖ１、及び対応する顔画像６６に対して得られた検出位置Ｖ３１の差分を誤差７３として算出し、算出した各誤差７３を足し合わせることで、誤差７３の合計値を算出する。このケースでは、検出位置Ｖ３１が、本発明の「第２検出位置」の一例であり、誤差７３が、本発明の「第２誤差」の一例である。
【００５２】
しかしながら、第１検出位置と第２検出位置との第２誤差の合計値を算出する方法は、このような例に限定されなくてもよい。検出器生成装置１は、顔画像６１１の座標軸における検出位置Ｖ１の座標値に所定の幾何変換を適用することで、顔画像６１１の座標軸を顔画像６６の座標軸に一致させて、顔画像６６の座標軸における第１検出位置を特定してもよい。そして、検出器生成装置１は、顔画像６６の座標軸における第１検出位置と検出位置Ｖ３０とを差分を第２誤差として算出してもよい。このケースでは、検出位置Ｖ３０が、本発明の「第２検出位置」の一例である。
【００５３】
そして、検出器生成装置１は、誤差７１の合計値及び誤差７３の合計値が小さくなるように検出器５を訓練する。検出器５を訓練することは、詳細には、検出器５のパラメータを調節することである。検出器５のパラメータは、何らかの対象物を画像から検出する（出力値を得る）ための演算処理に利用されるものである。本実施形態では、検出器５は後述するニューラルネットワークにより構成される。そのため、このパラメータは、例えば、各ニューロン間の結合の重み、各ニューロンの閾値等である。この検出器５のパラメータの調整には、例えば、誤差逆伝播法等の公知の学習アルゴリズムが用いられてよい。
【００５４】
誤差７１の合計値は、検出器５により顔画像６１１から器官を検出した結果と位置情報６１２により指定される器官の位置の正解との間の損失に相当する。また、誤差７３の合計値は、検出器５による器官の検出結果のブレであって、位置情報６１２に含まれる幾何学的なノイズの影響によって生じるブレの損失に相当する。そのため、上記機械学習により、検出器生成装置１は、位置情報６１２により示される正解と一致するように顔画像６１１から器官を検出し、かつその検出結果が、位置情報６１２に含まれ得る幾何的なノイズによる影響を受け難い、ように訓練された（学習済みの）検出器５を構築（生成）することができる。
【００５５】
一方、本実施形態に係るモニタリング装置２は、検出器生成装置１により構築された学習済みの検出器５を利用して、車両を運転する運転者Ｄの顔の器官を顔画像から検出するように構成されたコンピュータである。具体的には、モニタリング装置２は、車両を運転する運転者Ｄの顔の写る顔画像を取得する。顔画像は、例えば、運転者Ｄの顔を撮影可能な車両内の位置に設置されたカメラ４１により得られる。
【００５６】
続いて、モニタリング装置２は、検出器生成装置１による機械学習を実施済みの検出器５に取得した顔画像を入力することで、運転者Ｄの顔の器官を検出した結果に対応する出力値を検出器５から取得する。そして、モニタリング装置２は、運転者Ｄの顔の器官を検出した結果に関する情報を出力する。例えば、モニタリング装置２は、検出した顔の器官の位置に基づいて、視線方向等の運転者Ｄの状態を推定することができる。そこで、モニタリング装置２は、検出結果に関する情報として、検出結果に基づいて運転者Ｄの状態を推定した結果を出力してもよい。これにより、モニタリング装置２は、運転者Ｄの状態を監視することができる。
【００５７】
上記のとおり、検出器５は、位置情報６１２に含まれ得るノイズの影響にロバストに構築される。そのため、モニタリング装置２は、この検出器５を利用することで、運転者Ｄの顔の器官を高精度に検出することができる。したがって、モニタリング装置２は、例えば、運転操作中における運転者Ｄの視線方向等の状態を精度よく推定することができる。
【００５８】
なお、図２の例では、検出器生成装置１及びモニタリング装置２は別個のコンピュータである。しかしながら、検出システム１００の構成は、このような例に限定されなくてもよい。検出器生成装置１及びモニタリング装置２は一体のコンピュータで構成されてもよい。また、検出器生成装置１及びモニタリング装置２はそれぞれ複数台のコンピュータにより構成されてもよい。更に、検出器生成装置１及びモニタリング装置２はネットワークに接続されていなくてもよい。この場合、検出器生成装置１及びモニタリング装置２の間のデータのやりとりは、不揮発メモリ等の記憶媒体を介して行われてもよい。
【００５９】
また、説明の便宜のため、図２では、検出の対象となる顔の器官の一例として、目（詳細には、目尻）を例示している。しかしながら、検出の対象となる顔の器官は、目に限定されなくてもよい。検出の対象となる顔の器官は、例えば、目、鼻、口、眉、顎及びこれらの組み合わせから選択されてよい。また、検出の対象となる器官には、顔の輪郭が含まれてもよい。後述する図５及び図１１においても同様である。
【００６０】
§２  構成例
［ハードウェア構成］
＜検出器生成装置＞
次に、図３を用いて、本実施形態に係る検出器生成装置１のハードウェア構成の一例について説明する。図３は、本実施形態に係る検出器生成装置１のハードウェアの一例を模式的に例示する。
【００６１】
図３に示されるとおり、本実施形態に係る検出器生成装置１は、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、出力装置１５、及びドライブ１６が電気的に接続されたコンピュータである。なお、図３では、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００６２】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部１２は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部１２は、検出器生成プログラム８１、複数の学習データセット６１、学習結果データ１２１等の各種情報を記憶する。
【００６３】
検出器生成プログラム８１は、検出器生成装置１に、後述する機械学習の情報処理（図７、図８Ａ、図８Ｂ）を実行させ、学習済みの検出器５を構築させるためのプログラムである。検出器生成プログラム８１は、この情報処理の一連の命令を含む。各学習データセット６１は、上記顔画像６１１及び位置情報６１２により構成される。学習結果データ１２１は、各学習データセット６１を利用した機械学習により構築された学習済みの検出器５の設定を行うためのデータである。学習結果データ１２１は、検出器生成プログラム８１の実行結果として生成される。詳細は後述する。
【００６４】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。検出器生成装置１は、この通信インタフェース１３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、モニタリング装置２）と行うことができる。
【００６５】
入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置１５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置１４及び出力装置１５を利用することで、検出器生成装置１を操作することができる。
【００６６】
ドライブ１６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ１６の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記検出器生成プログラム８１及び複数の学習データセット６１の少なくともいずれかは、この記憶媒体９１に記憶されていてもよい。
【００６７】
記憶媒体９１は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。検出器生成装置１は、この記憶媒体９１から、上記検出器生成プログラム８１及び複数の学習データセット６１の少なくともいずれかを取得してもよい。
【００６８】
ここで、図３では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００６９】
なお、検出器生成装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ（field-programmable gate array）、ＤＳＰ（digital signal processor）等で構成されてよい。記憶部１２は、制御部１１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース１３、入力装置１４、出力装置１５及びドライブ１６の少なくともいずれかは省略されてもよい。検出器生成装置１は、カメラ３１と接続するための外部インタフェースを更に備えてもよい。この外部インタフェースは、モニタリング装置２の後述する外部インタフェース２４と同様に構成されてよい。検出器生成装置１は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、検出器生成装置１は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、ＰＣ（Personal Computer）等であってもよい。
【００７０】
＜モニタリング装置＞
次に、図４を用いて、本実施形態に係るモニタリング装置２のハードウェア構成の一例について説明する。図４は、本実施形態に係るモニタリング装置２のハードウェア構成の一例を模式的に例示する。
【００７１】
図４に示されるとおり、本実施形態に係るモニタリング装置２は、制御部２１、記憶部２２、通信インタフェース２３、外部インタフェース２４、入力装置２５、出力装置２６、及びドライブ２７が電気的に接続されたコンピュータである。なお、図４では、通信インタフェース及び外部インタフェースをそれぞれ「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００７２】
モニタリング装置２の制御部２１〜通信インタフェース２３及び入力装置２５〜ドライブ２７はそれぞれ、上記検出器生成装置１の制御部１１〜ドライブ１６それぞれと同様に構成されてよい。すなわち、制御部２１は、ハードウェアプロセッサであるＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部２２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部２２は、モニタリングプログラム８２、学習結果データ１２１等の各種情報を記憶する。
【００７３】
モニタリングプログラム８２は、学習済みの検出器５を利用して、運転者Ｄの状態を監視する後述の情報処理（図１０）をモニタリング装置２に実行させるためのプログラムである。モニタリングプログラム８２は、この情報処理の一連の命令を含む。詳細は後述する。
【００７４】
通信インタフェース２３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モニタリング装置２は、この通信インタフェース２３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、検出器生成装置１）と行うことができる。
【００７５】
外部インタフェース２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース２４の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、モニタリング装置２は、外部インタフェース２４を介して、カメラ４１に接続される。
【００７６】
カメラ４１は、運転者Ｄの顔を撮影することで、顔画像を取得するのに利用される。カメラ４１の種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。カメラ４１には、例えば、デジタルカメラ、ビデオカメラ等の公知のカメラが利用されてよい。また、カメラ４１は、例えば、少なくとも運転者Ｄの上半身を撮影範囲とするように、運転席の前方上方に配置されてよい。なお、カメラ４１が通信インタフェースを備える場合、モニタリング装置２は、外部インタフェース２４ではなく、通信インタフェース２３を介して、カメラ４１に接続されてもよい。
【００７７】
入力装置２５は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置２６は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。運転者Ｄ等のオペレータは、入力装置２５及び出力装置２６を利用することで、モニタリング装置２を操作することができる。
【００７８】
ドライブ２７は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９２に記憶されたプログラムを読み込むためのドライブ装置である。上記モニタリングプログラム８２及び学習結果データ１２１のうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、モニタリング装置２は、記憶媒体９２から、上記モニタリングプログラム８２及び学習結果データ１２１のうちの少なくともいずれかを取得してもよい。
【００７９】
なお、モニタリング装置２の具体的なハードウェア構成に関して、上記検出器生成装置１と同様に、実施の形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部２１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ、ＤＳＰ等で構成されてよい。記憶部２２は、制御部２１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース２３、外部インタフェース２４、入力装置２５、出力装置２６及びドライブ２７の少なくともいずれかは省略されてもよい。モニタリング装置２は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モニタリング装置２は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のデスクトップＰＣ、ノートＰＣ、タブレットＰＣ、スマートフォンを含む携帯電話等が用いられてよい。
【００８０】
［ソフトウェア構成］
＜検出器生成装置＞
次に、図５を用いて、本実施形態に係る検出器生成装置１のソフトウェア構成の一例について説明する。図５は、本実施形態に係る検出器生成装置１のソフトウェア構成の一例を模式的に例示する。
【００８１】
検出器生成装置１の制御部１１は、記憶部１２に記憶された検出器生成プログラム８１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開された検出器生成プログラム８１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図５に示されるとおり、本実施形態に係る検出器生成装置１は、学習データ取得部１１１、学習処理部１１２、及び保存処理部１１３をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、検出器生成装置１の各ソフトウェアモジュールは、制御部１１（ＣＰＵ）により実現される。
【００８２】
学習データ取得部１１１は、車両を運転する被験者Ｔの顔の写る顔画像６１１、及び顔画像６１１に写る顔の器官の位置を示す位置情報６１２の組み合わせによりそれぞれ構成された複数の学習データセット６１を取得する。対象となる器官は、例えば、目、鼻、口、眉、顎及びこれらの組み合わせから選択されてよい。また、対象となる器官には、顔の輪郭が含まれてもよい。
【００８３】
学習処理部１１２は、複数の学習データセット６１を利用して、検出器５の機械学習を実施する。具体的には、機械学習の処理として、学習処理部１１２は、まず、各学習データセット６１の顔画像６１１を検出器５に入力することで、各学習データセット６１の顔画像６１１に対する第１出力値を検出器５から取得する。続いて、学習処理部１１２は、各学習データセット６１の顔画像６１１に対して得られた第１出力値に基づいて特定される器官の検出位置Ｖ１と当該顔画像６１１に組み合わせられた位置情報６１２により示される位置Ａ１との誤差７１の合計値を算出する。
【００８４】
また、学習処理部１１２は、各学習データセット６１の顔画像６１１に所定の幾何変換を適用することで、各学習データセット６１の顔画像６１１に対して顔画像６６を生成する。続いて、学習処理部１１２は、生成した各顔画像６６を検出器５に入力することで、各顔画像６６に対する第２出力値を検出器５から取得する。そして、学習処理部１１２は、各学習データセット６１の顔画像６１１に対して得られた第１出力値に基づいて特定される第１検出位置と当該顔画像６１１に対して生成された顔画像６６に対して得られた第２出力値に基づいて特定される器官の第２検出位置との第２誤差の合計値を算出する。本実施形態では、学習処理部１１２は、各学習データセット６１について、各顔画像６１１に対して得られた検出位置Ｖ１と対応する顔画像６６に対して得られた検出位置Ｖ３１との差分を誤差７３として算出する。
【００８５】
更に、本実施形態では、学習処理部１１２は、各学習データセット６１の顔画像６１１にノイズを付与することで、各学習データセット６１の顔画像６１１に対して顔画像６３を生成する。顔画像６３は、「第３顔画像」の一例である。続いて、学習処理部１１２は、生成した各顔画像６３を検出器５に入力することで、各顔画像６３に対する第３出力値を検出器５から取得する。そして、学習処理部１１２は、各学習データセット６１の顔画像６１１に対して得られた第１出力値に基づいて特定される検出位置Ｖ１と当該顔画像６１１に対して生成された顔画像６３に対して得られた第３出力値に基づいて特定される器官の検出位置Ｖ２との誤差７２の合計値を算出する。具体的には、学習処理部１１２は、各顔画像６１１に対して得られた検出位置Ｖ１と対応する顔画像６３に対して得られた検出位置Ｖ２との差分を誤差７２として算出する。そして、学習処理部１１２は、算出した各誤差７２を足し合わせることで、誤差７２の合計値を算出する。検出位置Ｖ２は、「第３検出位置」の一例であり、誤差７２は、「第３誤差」の一例である。
【００８６】
以上の各処理によって、各誤差７１〜７３の合計値が算出される。学習処理部１１２は、誤差７１の合計値、誤差７２の合計値、及び誤差７３の合計値が小さくなるように検出器５を訓練する。これにより、学習処理部１１２は、運転者の顔の器官を検出するための学習済みの検出器５を構築する。
【００８７】
（検出器）
次に、検出器５の構成の一例について説明する。図５に示されるとおり、本実施形態に係る検出器５は、ニューラルネットワークにより構成されている。具体的には、検出器５は、いわゆる深層学習に用いられる多層構造のニューラルネットワークにより構成されており、入力層５１、中間層（隠れ層）５２、及び出力層５３を備えている。
【００８８】
なお、図５の例では、検出器５を構成するニューラルネットワークは、１層の中間層５２を備えており、入力層５１の出力が中間層５２に入力され、中間層５２の出力が出力層５３に入力されている。ただし、検出器５の構成は、このような例に限定されなくてもよい。中間層５２の数は、１層に限られなくてもよい。検出器５は、２層以上の中間層５２を備えてもよい。
【００８９】
各層５１〜５３は、１又は複数のニューロンを備えている。例えば、入力層５１のニューロンの数は、顔画像６１１の画素数に応じて設定されてよい。中間層５２のニューロンの数は、実施の形態に応じて適宜設定されてよい。また、出力層５３のニューロンの数は、検出する器官の数、位置表現等に応じて設定されてよい。
【００９０】
隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。図５の例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【００９１】
各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。つまり、これらの各ニューロン間の結合の重み及び各ニューロンの閾値は、演算処理に利用される検出器５のパラメータの一例である。学習処理部１１２は、各顔画像（６１１、６３、６６）を入力層５１に入力し、これらのパラメータを利用して、検出器５の演算処理を実行する。
【００９２】
この演算処理の結果、学習処理部１１２は、各顔画像（６１１、６３、６６）に対する器官の検出結果として、出力層５３から各出力値を取得する。続いて、学習処理部１１２は、上記のとおり、取得した各出力値に基づいて、各誤差７１〜７３の合計値を算出する。そして、学習処理部１１２は、上記訓練処理として、各誤差７１〜７３の合計値が小さくなるように、検出器５のパラメータを調節する。これにより、運転者の顔の器官を検出するための学習済みの検出器５が構築される。
【００９３】
保存処理部１１３は、構築された学習済みの検出器５の構成（例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数）、及び演算パラメータ（例えば、各ニューロン間の結合の重み、各ニューロンの閾値）を示す情報を学習結果データ１２１として記憶部１２に保存する。
【００９４】
＜モニタリング装置＞
次に、図６を用いて、本実施形態に係るモニタリング装置２のソフトウェア構成の一例について説明する。図６は、本実施形態に係るモニタリング装置２のソフトウェア構成の一例を模式的に例示する。
【００９５】
モニタリング装置２の制御部２１は、記憶部２２に記憶されたモニタリングプログラム８２をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開されたモニタリングプログラム８２をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図６に示されるとおり、本実施形態に係るモニタリング装置２は、データ取得部２１１、検出部２１２、及び出力部２１３をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モニタリング装置２の各ソフトウェアモジュールも、上記検出器生成装置１と同様に、制御部２１（ＣＰＵ）により実現される。
【００９６】
データ取得部２１１は、車両を運転する運転者Ｄの顔の写る顔画像２２１を取得する。例えば、データ取得部２１１は、カメラ４１により運転者Ｄの顔を撮影することで、顔画像２２１を取得する。検出部２１２は、学習結果データ１２１を保持することで、学習済みの検出器５を含んでいる。具体的には、検出部２１２は、学習結果データ１２１を参照し、学習済みの検出器５の設定を行う。そして、検出部２１２は、取得された顔画像２２１を検出器５に入力することで、運転者Ｄの顔の器官を顔画像２２１より検出した結果に対応する出力値を検出器５から取得する。出力部２１３は、運転者Ｄの顔の器官を検出した結果に関する情報を出力する。
【００９７】
＜その他＞
検出器生成装置１及びモニタリング装置２の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、検出器生成装置１及びモニタリング装置２の各ソフトウェアモジュールがいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、検出器生成装置１及びモニタリング装置２それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【００９８】
§３  動作例
［検出器生成装置］
次に、図７を用いて、検出器生成装置１の動作例について説明する。図７は、本実施形態に係る検出器生成装置１の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「検出器生成方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【００９９】
（ステップＳ１０１）
ステップＳ１０１では、制御部１１は、学習データ取得部１１１として動作し、顔画像６１１（第１顔画像）及び位置情報６１２の組み合わせによりそれぞれ構成された複数の学習データセット６１を取得する。
【０１００】
複数件の学習データセット６１を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、カメラ３１を搭載した車両及び被験者Ｔを用意し、車両を運転する被験者Ｔをカメラにより様々な条件で撮影することで、被験者Ｔの顔の写る複数の顔画像６１１を取得することができる。用意する車両及び被験者Ｔの数は、実施の形態に応じて適宜決定されてよい。そして、得られた各顔画像６１１に対して、各顔画像６１１に写る対象の器官の位置を示す位置情報６１２を組み合わせることで、各学習データセット６１を生成することができる。対象の器官は、例えば、目、鼻、口、眉、顎及びこれらの組み合わせから選択されてよい。また、対象の器官には、顔の輪郭が含まれてもよい。
【０１０１】
この各学習データセット６１は、自動的に生成されてもよいし、手動的に生成されてもよい。また、各学習データセット６１の生成は、検出器生成装置１により行われてもよいし、検出器生成装置１以外の他のコンピュータにより行われてもよい。
【０１０２】
各学習データセット６１が検出器生成装置１により生成される場合、制御部１１は、外部インタフェース、ネットワーク、記憶媒体９１等を介して、各顔画像６１１をカメラ３１から取得する。次に、制御部１１は、各顔画像６１１に付与する位置情報６１２を生成する。位置情報６１２を手動的に生成する場合、制御部１１は、オペレータによる入力装置１４を介する器官の位置の指定を受け付ける。続いて、制御部１１は、オペレータによる入力装置１４の操作に応じて、指定された器官の位置を示す位置情報６１２を生成する。他方、位置情報６１２を自動的に生成する場合、制御部１１は、各顔画像６１１から対象の器官の位置を検出する。この検出には、エッジ検出、パターンマッチング等の公知の画像処理方法が用いられてもよいし、後述する暫定的に生成された検出器が用いられてもよい。続いて、制御部１１は、検出された器官の位置を示す位置情報６１２を生成する。そして、制御部１１は、生成した位置情報６１２を顔画像６１１に組み合わせることで、各学習データセット６１を生成する。これにより、制御部１１は、複数の学習データセット６１を取得してもよい。
【０１０３】
一方、各学習データセット６１が他のコンピュータにより生成される場合、本ステップＳ１０１では、制御部１１は、ネットワーク、記憶媒体９１等を介して、他のコンピュータにより生成された複数の学習データセット６１を取得してもよい。他のコンピュータでは、上記検出器生成装置１と同様の方法で、各学習データセット６１が生成されてよい。
【０１０４】
なお、顔画像６１１及び位置情報６１２のデータ形式は、実施の形態に応じて適宜選択されてよい。位置情報６１２は、座標値等により器官の位置を点で示してもよいし、器官の位置を領域で示してもよい。また、取得する学習データセット６１の件数は、特に限定されなくてもよく、検出器５の機械学習を実施可能な程度に適宜決定されてよい。複数の学習データセット６１を取得すると、制御部１１は、次のステップＳ１０２に処理を進める。
【０１０５】
（ステップＳ１０２）
ステップＳ１０２では、制御部１１は、学習処理部１１２として動作し、ステップＳ１０１により取得した複数の学習データセット６１を利用して、検出器５の機械学習を実施する。機械学習の処理手順は後述する。これにより、学習済みの検出器５を構築すると、制御部１１は、次のステップＳ１０３に処理を進める。
【０１０６】
（ステップＳ１０３）
ステップＳ１０３では、制御部１１は、保存処理部１１３として動作し、機械学習により構築された検出器５の構成及び演算パラメータを示す情報を学習結果データ１２１として生成する。そして、制御部１１は、生成した学習結果データ１２１を記憶部１２に保存する。これにより、制御部１１は、本動作例に係る処理を終了する。
【０１０７】
なお、学習結果データ１２１の保存先は、記憶部１２に限られなくてもよい。制御部１１は、例えば、ＮＡＳ（Network Attached Storage）等のデータサーバに学習結果データ１２１を格納してもよい。また、学習済みの検出器５を構築した後、制御部１１は、生成した学習結果データ１２１を任意のタイミングでモニタリング装置２に転送してもよい。
【０１０８】
モニタリング装置２は、検出器生成装置１から転送を受け付けることで学習結果データ１２１を取得してもよいし、検出器生成装置１又はデータサーバにアクセスすることで学習結果データ１２１を取得してもよい。また、学習結果データ１２１は、モニタリング装置２に予め組み込まれてもよい。
【０１０９】
＜機械学習の処理＞
次に、図８Ａ及び図８Ｂを用いて、上記ステップＳ１０２の処理の一例を詳細に説明する。図８Ａ及び図８Ｂは、本実施形態に係る検出器生成装置１による機械学習の処理手順の一例を示すフローチャートである。本実施形態に係るステップＳ１０２の処理は、以下のステップＳ２０１〜Ｓ２１０の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１１０】
ステップＳ２０１の処理を開始する前に、制御部１１は、機械学習を実施する対象となるニューラルネットワーク（学習前の検出器５）を用意する。用意するニューラルネットワークの構成及び各パラメータは、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を実施する場合には、制御部１１は、再学習の対象となる学習結果データ１２１に基づいて、ニューラルネットワークを用意してもよい。これにより、学習前の検出器５の用意が完了すると、制御部１１は、ステップＳ２０１の処理を開始する。
【０１１１】
（ステップＳ２０１）
ステップＳ２０１では、制御部１１は、各学習データセット６１の顔画像６１１を検出器５に入力し、検出器５の演算処理を実行する。具体的には、制御部１１は、各顔画像６１１を検出器５の入力層５１に入力し、入力側から順に各層５１〜５３に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、各顔画像６１１に対する第１出力値を出力層５３から取得する。各第１出力値は、現段階における検出器５が各顔画像６１１から器官の位置を検出した結果に対応する。各第１出力値を取得すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０１１２】
なお、検出器５の出力値は、器官を検出した位置を示し得るものであれば、検出器５の出力値の形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検出器５の出力値は、座標値等のように、器官の位置を直接的に示すものであってもよい。また、例えば、検出器５の出力値は器官の位置を間接的に示し、検出器５の出力値に何らかの演算処理を適用することにより、器官の位置を示す情報が得られてもよい。いずれの形式であっても、検出器５の出力値は同様に取り扱うことができる。そのため、以下では、説明の便宜上、検出器５の出力値は、器官の位置を直接示すものとして取り扱うことにする。
【０１１３】
（ステップＳ２０２）
ステップＳ２０２では、制御部１１は、各第１出力値に基づいて特定される器官の検出位置Ｖ１（第１検出位置）と対応する位置情報６１２により示される位置Ａ１との誤差７１（第１誤差）の合計値を算出する。具体的には、制御部１１は、各学習データセット６１について、各顔画像６１１に対して得られた検出位置Ｖ１と対応する位置情報６１２により示される位置Ａ１との差分を誤差７１として算出する。そして、制御部１１は、算出した各誤差７１を足し合わせることで、誤差７１の合計値を算出する。
【０１１４】
なお、検出位置Ｖ１と位置Ａ１との差分は、器官の位置を指定する形式に応じて適宜算出されてよい。例えば、器官の位置が点で指定される場合、制御部１１は、検出位置Ｖ１と位置Ａ１との間の距離（ノルム）を差分として算出してもよい。また、例えば、器官の位置が領域で指定される場合、制御部１１は、ＩｏＵ（Intersection Over Union）等の指標を利用して、検出位置Ｖ１と位置Ａ１との差分を算出してもよい。誤差７１の合計値を算出すると、制御部１１は、次のステップＳ２０３に処理を進める。
【０１１５】
（ステップＳ２０３）
ステップＳ２０３では、制御部１１は、各学習データセット６１の顔画像６１１に所定の幾何変換を適用することで、各顔画像６６（第２顔画像）を生成する。各顔画像６１１に適用する幾何変換は、例えば、平行移動、回転移動、反転、拡大、縮小又はこれらの組み合わせであってよい。具体例として、各顔画像６１１に適用する幾何変換は、平行移動及び回転移動を伴う変換であってよい。各顔画像６６に適用する幾何変換は、同じであってもよいし、異なっていてもよい。制御部１１は、幾何変換のパラメータをランダムに変更しながら、各顔画像６６を生成してもよい。幾何変換のパラメータは、例えば、各変換量（平行移動量、回転量等）である。各顔画像６６を生成すると、制御部１１は、次のステップＳ２０４に処理を進める。
【０１１６】
（ステップＳ２０４）
ステップＳ２０４では、制御部１１は、生成した各顔画像６６を検出器５に入力し、検出器５の演算処理を実行する。この検出器５の演算処理は、上記ステップＳ２０１と同様であってよい。これにより、制御部１１は、各顔画像６６に対する第２出力値を検出器５の出力層５３から取得する。各第２出力値は、現段階における検出器５が各顔画像６６から器官の位置を検出した結果に対応する。各第２出力値を取得すると、制御部１１は、次のステップＳ２０５に処理を進める。
【０１１７】
（ステップＳ２０５）
ステップＳ２０５では、制御部１１は、各第１出力値に基づいて特定される器官の第１検出位置と対応する顔画像６６に対して得られた第２出力値に基づいて特定される器官の第２検出位置との第２誤差の合計値を算出する。具体的には、制御部１１は、各顔画像６１１に対して得られた第２出力値から導出される検出位置Ｖ３０に幾何変換の逆変換を適用して、検出位置Ｖ３１を算出する。そして、制御部１１は、各学習データセット６１について、各顔画像６１１に対して得られた検出位置Ｖ１（第１検出位置）と対応する顔画像６６に対して得られた検出位置Ｖ３１（第２検出位置）との差分を誤差７３（第２誤差）として算出する。この差分を算出する方法は、上記ステップＳ２０２と同様であってよい。また、上記のとおり、制御部１１は、検出位置Ｖ１に幾何変換を適用することで導出される位置と検出位置Ｖ３０との差分を誤差７３として算出してもよい。そして、制御部１１は、算出した各誤差７３を足し合わせることで、誤差７３の合計値を算出する。誤差７３の合計値を算出すると、制御部１１は、次のステップＳ２０６に処理を進める。
【０１１８】
（ステップＳ２０６）
ステップＳ２０６では、制御部１１は、各学習データセット６１の顔画像６１１にノイズを付与することで、各顔画像６３（第３顔画像）を生成する。各顔画像６１１に付与するノイズの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ノイズには、例えば、ガウシアンノイズ、ポアソンノイズ、一様乱数によるノイズ等が用いられてよい。例えば、制御部１１は、ランダムなガウシアンノイズを各顔画像６１１に付与してもよい。また、例えば、制御部１１は、局所平均フィルタ等のフィルタを各顔画像６１１に適用することで、各顔画像６１１にノイズを付与してもよい。各顔画像６１１に付与するノイズの種類は、同じであってもよいし、異なっていてもよい。また、例えば、制御部１１は、敵対的な例（Adversarial example）を形成するように、検出器５による検出が変化しやすい位置にノイズを付与してもよい。検出が変化しやすいか否かは、例えば、ノイズを付与したことによる検出位置の変化量と閾値との比較に基づいて判定することができる。各顔画像６３を生成すると、制御部１１は、次のステップＳ２０７に処理を進める。
【０１１９】
（ステップＳ２０７）
ステップＳ２０７では、制御部１１は、生成した各顔画像６３を検出器５に入力し、検出器５の演算処理を実行する。この検出器５の演算処理は、上記ステップＳ２０１と同様であってよい。これにより、制御部１１は、各顔画像６３に対する第３出力値を検出器５の出力層５３から取得する。各第３出力値は、現段階における検出器５が各顔画像６３から器官の位置を検出した結果に対応する。各第３出力値を取得すると、制御部１１は、次のステップＳ２０８に処理を進める。
【０１２０】
（ステップＳ２０８）
ステップＳ２０８では、制御部１１は、各第１出力値に基づいて特定される器官の検出位置Ｖ１（第１検出位置）と対応する顔画像６３に対して得られた第３出力値に基づいて特定される器官の検出位置Ｖ２（第３検出位置）との誤差７２（第３誤差）の合計値を算出する。具体的には、制御部１１は、各学習データセット６１について、各顔画像６１１に対して得られた検出位置Ｖ１と対応する顔画像６３に対して得られた検出位置Ｖ２との差分を誤差７２として算出する。この差分を算出する方法は、上記ステップＳ２０２と同様であってよい。そして、制御部１１は、算出した各誤差７２を足し合わせることで、誤差７２の合計値を算出する。誤差７２の合計値を算出すると、制御部１１は、次のステップＳ２０９に処理を進める。
【０１２１】
（ステップＳ２０９）
ステップＳ２０９では、制御部１１は、算出した各誤差７１〜７３の合計値が閾値以下であるか否かを判定する。閾値は、顔画像から器官を適切に検出するように検出器５が十分に訓練されたか否かを判定するための基準となる。この閾値は、適宜設定されてよい。
【０１２２】
各誤差７１〜７３の合計値が閾値以下であることは、換言すると、各誤差７１〜７３の合計値が十分に小さいことは、顔画像から器官を適切に検出可能に検出器５が十分に訓練されたことを示す。そのため、各誤差７１〜７３の合計値が閾値以下であると判定した場合には、制御部１１は、本動作例に係る機械学習の処理を終了し（すなわち、ステップＳ１０２の処理を完了し）、上記ステップＳ１０３に処理を進める。
【０１２３】
一方、各誤差７１〜７３の合計値が閾値を超えていることは、換言すると、各誤差７１〜７３の合計値が大きいことは、検出器５がまだ十分には訓練されていないことを示す。そのため、各誤差７１〜７３の合計値が閾値を超えていると判定した場合には、制御部１１は、次のステップＳ２１０に処理を進める。
【０１２４】
（ステップＳ２１０）
ステップＳ２１０では、制御部１１は、各誤差７１〜７３の合計値が小さくなるように検出器５の訓練を行う。具体的には、制御部１１は、各誤差７１〜７３の合計値が小さくなるように、検出器５のパラメータを調節する。このパラメータの調整には、誤差逆伝播法等の公知の方法が採用されてよい。すなわち、制御部１１は、各誤差７１〜７３の合計値を利用して、出力層５３側から順に、各ニューロン間の結合の重み、各ニューロンの閾値等の各パラメータの誤差を算出する。そして、制御部１１は、算出した誤差に基づいて、各パラメータの値を更新する。各パラメータの更新幅を定める学習率は、適宜設定されてよい。
【０１２５】
各層５１〜５３のパラメータの値の更新が完了すると、制御部１１は、ステップＳ２０１から処理を繰り返す。制御部１１は、ステップＳ２０１〜Ｓ２１０の処理を繰り返すことで、各誤差７１〜７３の合計値が十分に小さくなるように、検出器５のパラメータを最適化する。なお、学習時間を短縮化するために、このパラメータの最適化には、確率的勾配降下法等の公知の方法が採用されてもよい。これにより、検出器５は、各誤差７１〜７３の合計値が小さくなるように訓練される。すなわち、ステップＳ２０９において、各誤差７１〜７３の合計値が閾値以下であると判定されるようになり、本動作例に係る機械学習の処理が完了する。
【０１２６】
なお、上記処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。例えば、ステップＳ２０２の処理がステップＳ２０１の後に実行され、ステップＳ２０４の処理がステップＳ２０３の後に実行され、ステップＳ２０５の処理がステップＳ２０１及びＳ２０４の後に実行され、ステップＳ２０７の処理がステップＳ２０６の後に実行され、ステップＳ２０８の処理がステップＳ２０１及びＳ２０７の後に実行されるのであれば、ステップＳ２０１〜Ｓ２０８の処理の順序は適宜入れ替えられてよい。
【０１２７】
＜繰り返し学習＞
検出器生成装置１は、上記ステップＳ１０１〜Ｓ１０３の処理を繰り返してもよい。この繰り返しの過程で、暫定的に生成される検出器５を利用して、各学習データセット６１に含まれる位置情報６１２を更新してもよい。すなわち、検出器生成装置１は、ステップＳ１０２により、各学習データセット６１を利用して学習済みの検出器５を生成した後、生成された学習済みの検出器５に各顔画像６１１を入力し、各顔画像６１１から器官の位置を検出してもよい。そして、検出器生成装置１は、元の位置（すなわち、学習済みの検出器５を生成する際に位置情報６１２により示されていた位置）から学習済みの検出器５により検出された位置を示すように、各学習データセット６１の位置情報６１２を更新してもよい。
【０１２８】
図９を用いて、この繰り返し学習について詳細に説明する。図９は、機械学習を繰り返し実施する場面の一例を模式的に例示する。図９に示されるとおり、ステップＳ１０１〜Ｓ１０３を最初に実施する際に、ステップＳ１０１により、制御部１１は、顔画像６１１及び位置情報６２２ａによりそれぞれ構成された複数の学習データセット６２ａを取得したと想定する。位置情報６２２ａは、上記のとおり、オペレータの指定により与えられてもよいし、公知の画像処理方法により与えられてもよいし、他の検出器から得られる出力値に基づいて与えられてもよい。
【０１２９】
１回目の学習処理では、制御部１１は、得られた各学習データセット６２ａを利用して、ステップＳ１０２の機械学習の処理を実行する。これにより、制御部１１は、各学習データセット６２ａを与えられると、位置情報６２２ａにより示される正解と一致するように顔画像６１１から器官を検出するように訓練された学習済みの検出器５０ａを暫定的に生成する。制御部１１は、ステップＳ１０３の処理を実行することで、この暫定的に生成した学習済みの検出器５０ａの学習結果データを所定の記憶領域に保存してもよい。学習済みの検出器５０ａが生成されることで、１回目の学習処理は終了である。
【０１３０】
２回目の学習処理では、制御部１１は、暫定的に生成された学習済みの検出器５０ａを利用して、各学習データセット６２ａの位置情報６２２ａを更新する。すなわち、制御部１１は、１回目の学習処理で生成された学習済みの検出器５０ａに各顔画像６１１を入力し、検出器５０ａの演算処理を実行する。これにより、制御部１１は、各顔画像６１１より器官の位置を検出した結果に対応する出力値を学習済みの検出器５０ａから取得する。
【０１３１】
制御部１１は、得られた各出力値に基づいて、学習済みの検出器５０ａによって各顔画像６１１から対象の器官を検出した位置を特定する。そして、制御部１１は、各学習データセット６２ａについて、特定した検出位置を示す位置情報６２２ｂを生成し、生成した位置情報６２２ｂに位置情報６２２ａを置き換える。これにより、ステップＳ１０１では、制御部１１は、顔画像６１１及び位置情報６２２ｂの組み合わせにより構成された新たな各学習データセット６２ｂを取得する。
【０１３２】
つまり、２回目の学習処理では、位置情報６２２ｂは、位置情報６２２ｂに組み合わせられる顔画像６１１を、機械学習を実施済みの検出器５０ａに入力することで、当該検出器５０ａから得られる出力値に基づいて与えられる。この２回目の学習処理の場面では、学習済みの検出器５０ａは、本発明の「他の検出器」及び「第１検出器」の一例である。各学習データセット６２ａは、「第１学習データセット」の一例である。各学習データセット６２ｂは、「第２学習データセット」の一例である。
【０１３３】
２回目の学習処理では、制御部１１は、この各学習データセット６２ｂを利用して、ステップＳ１０２の機械学習の処理を実行する。これにより、制御部１１は、各学習データセット６２ｂを与えられると、位置情報６２２ｂにより示される正解と一致するように顔画像６１１から器官を検出するように訓練された学習済みの検出器５０ｂを生成する。１回目の学習処理と同様に、制御部１１は、ステップＳ１０３の処理を実行することで、この生成した学習済みの検出器５０ｂの学習結果データを所定の記憶領域に保存してもよい。学習済みの検出器５０ｂが生成されることで、２回目の学習処理は終了する。
【０１３４】
以上のように、検出器生成装置１は、各学習データセットを利用した機械学習により学習済みの検出器を生成する処理、及び生成された学習済みの検出器を利用して位置情報を更新する処理を交互に繰り返し実行してもよい。検出器生成装置１が、検出器を生成する処理及び位置情報を更新する処理を交互に繰り返し実行した場合、最終的に取得される各学習データセットが上記各学習データセット６１に対応し、最終的に生成される学習済みの検出器が上記学習済みの検出器５に対応する。位置情報６１２は、最終の１回前の学習処理により生成された学習済みの検出器に顔画像６１１を入力することで、当該学習済みの検出器から得られる出力値に基づいて与えられる。
【０１３５】
この検出器の生成処理及び位置情報の更新処理の繰り返しにより、暫定的に生成された検出器による検出結果を位置情報６１２として利用するため、人為的なノイズが位置情報６１２に含まれるのを防止することができる。また、初期段階における位置情報６２２ａが、オペレータの入力により与えられることで人為的なノイズを含んでいたとしても、この繰り返しの過程において、暫定的に生成された検出器を利用した位置情報の更新により、位置情報に含まれる人為的なノイズを低減することができる。そのため、位置情報６２２ａに含まれ得る人為的なノイズによる影響にロバストで、対象者の顔の器官を顔画像から検出可能な検出器５を構築することができる。なお、図９では、機械学習の処理を３回以上繰り返す場面を例示している。しかしながら、機械学習の処理を繰り返す回数は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。繰り返しの回数は、２回であってもよい。
【０１３６】
［モニタリング装置］
次に、図１０を用いて、モニタリング装置２の動作例について説明する。図１０は、本実施形態に係るモニタリング装置２の処理手順の一例を示すフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１３７】
（ステップＳ３０１）
ステップＳ３０１では、制御部２１は、データ取得部２１１として動作し、車両を運転する運転者Ｄの顔の写る顔画像２２１を取得する。本実施形態では、モニタリング装置２は、外部インタフェース２４を介してカメラ４１に接続されている。そのため、制御部２１は、カメラ４１から顔画像２２１を取得する。この顔画像２２１は、動画像データであってもよいし、静止画像データであってもよい。顔画像２２１を取得すると、制御部２１は、次のステップＳ３０２に処理を進める。
【０１３８】
ただし、顔画像２２１を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、モニタリング装置２とは異なる他のコンピュータが、カメラ４１に接続されていてもよい。この場合、制御部２１は、他のコンピュータから顔画像２２１の送信を受け付けることで、顔画像２２１を取得してもよい。
【０１３９】
（ステップＳ３０２）
ステップＳ３０２では、制御部２１は、検出部２１２として動作し、学習結果データ１２１を参照して、学習済みの検出器５の設定を行う。続いて、制御部２１は、取得した顔画像２２１を学習済みの検出器５に入力し、検出器５の演算処理を実行する。この検出器５の演算処理は、上記ステップＳ２０１と同様であってよい。これにより、制御部２１は、運転者Ｄの顔の器官を顔画像２２１より検出した結果に対応する出力値を検出器５から取得する。出力値を取得すると、制御部２１は、次のステップＳ３０３に処理を進める。
【０１４０】
（ステップＳ３０３）
ステップＳ３０３では、制御部２１は、出力部２１３として動作し、運転者Ｄの顔の器官を検出した結果に関する情報を出力する。出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、ステップＳ３０２により運転者Ｄの顔の器官を顔画像２２１から検出した結果をそのまま出力装置２６を介して出力してもよい。
【０１４１】
また、例えば、制御部２１は、運転者Ｄの顔の器官を顔画像２２１から検出した結果に基づいて、運転者Ｄの状態を推定する等の何らかの情報処理を実行してもよい。そして、制御部２１は、その情報処理を実行した結果を出力してもよい。顔の器官として目を検出した場合、情報処理の一例として、制御部２１は、検出した各目の位置関係に基づいて、運転者Ｄの視線方向を推定してもよい。そして、制御部２１は、視線方向を推定した結果に関連する情報を出力してもよい。例えば、視線方向が車両の前方を向いていない場合に、制御部２１は、出力装置２６を介して、視線方向を前方に向けるように促す警告を出力してもよい。また、情報処理の他の例として、制御部２１は、検出した各器官の位置関係に基づいて、運転者Ｄの表情を推定してもよい。そして、制御部２１は、表情を推定した結果に関連する情報を出力してもよい。例えば、運転者Ｄの表情が疲れている場合に、制御部２１は、出力装置２６を介して、停車を促すメッセージを出力してもよい。
【０１４２】
情報の出力が完了すると、制御部２１は、本動作例に係る処理を終了する。なお、運転者Ｄが車両の運転操作を行っている間、制御部２１は、ステップＳ３０１〜Ｓ３０３の一連の処理を継続的に繰り返し実行してもよい。これにより、モニタリング装置２は、運転者Ｄの顔の器官の位置を顔画像から検出することを介して、当該運転者Ｄの状態を監視することができる。
【０１４３】
［特徴］
以上のように、本実施形態に係る検出器生成装置１は、上記ステップＳ２０１〜Ｓ２１０の処理により、各誤差７１〜７３の合計値が小さくなるように検出器５を訓練する。各誤差７１〜７３のうち誤差７１の合計値は、検出器５により顔画像６１１から器官を検出した結果と位置情報６１２により指定される器官の位置の正解との間の損失に相当する。また、誤差７３の合計値は、検出器５による器官の検出結果のブレであって、位置情報６１２に含まれる幾何学的なノイズの影響によって生じるブレの損失に相当する。そのため、検出器生成装置１は、上記ステップＳ２０１〜Ｓ２１０の機械学習の処理により、位置情報６１２により示される正解と一致するように顔画像６１１から器官を検出し、かつその検出結果が、位置情報６１２に含まれ得る幾何的なノイズによる影響を受け難い、ように訓練された（学習済みの）検出器５を構築（生成）することができる。
【０１４４】
また、本件発明者らは、上記正解データに含まれ得るノイズの影響の他、次のような理由によっても、検出器による器官の検出位置が変動してしまうという問題点が生じ得ることを見出した。すなわち、動画像等の連続的に取得される複数の画像には、撮影装置の性能、撮影環境等に応じたノイズがランダムに含まれ得る。このランダムなノイズの影響によって、完全に同一の画像を得ることは難しく、各画像は微妙に異なり得る。この各画像の微妙な相違に起因して、運転者が顔の器官を動かしていないにも関わらず、検出器から回答される器官の検出位置にぶれが生じてしまう。すなわち、上記図１に示されるように、器官（目尻）を動かしていないにも関わらず、各顔画像に含まれるノイズの影響によって、各顔画像間で器官の検出位置が変動してしまうという問題点が生じ得る。
【０１４５】
これに対して、本実施形態に係る検出器生成装置１は、上記各誤差（７１、７３）に加えて、ステップＳ２０６〜Ｓ２０８により、ノイズを付与した顔画像６３に関する誤差７２を算出する。この誤差７２の合計値は、検出器５による器官の検出結果のブレであって、顔画像６１１におけるノイズの有無によって生じるブレの損失に相当する。そのため、検出器生成装置１は、上記ステップＳ２０１〜Ｓ２１０の機械学習の処理により、検出結果が画像のノイズによる影響を受け難い、ように更に訓練された検出器５を構築することができる。
【０１４６】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０１４７】
＜４．１＞
上記実施形態では、検出器５を構成するニューラルネットワークは、全結合ニューラルネットワークである。しかしながら、検出器５を構成するニューラルネットワークの構造及び種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検出器５には、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等が利用されてよい。
【０１４８】
＜４．２＞
上記実施形態では、検出器５は、ニューラルネットワークにより構成されている。しかしながら、画像を入力として利用可能であれば、検出器５を構成する学習モデルの種類は、ニューラルネットワークに限られなくてよく、実施の形態に応じて適宜選択されてよい。また、機械学習の方法は、利用する学習モデルによって適宜選択されてよい。例えば、検出する器官の位置の初期値を与え、その位置を更新することで対象の顔画像に写る器官の位置を適切に検出できるように検出器５を訓練してもよい。学習用の顔画像に与えられた正解データの平均値を器官の位置の初期値として利用することができる。また、位置の更新は、特徴量を用いて行うことができる。この特徴量には、例えば、Haar-like特徴量、輝度差等が用いられてよい。学習モデルには、例えば、サポートベクタマシン、線形回帰モデル、ランダムフォレスト等が用いられてもよい。この場合、検出器５のパラメータは、例えば、重みベクトル、変換ベクトル、各分岐の閾値等である。
【０１４９】
＜４．３＞
上記実施形態では、学習結果データ１２１は、学習済みのニューラルネットワーク（検出器５）の構成を示す情報を含んでいる。しかしながら、学習結果データ１２１の構成は、このような例に限定されなくてもよく、学習済みの検出器５の設定に利用可能であれば、実施の形態に応じて適宜決定されてよい。例えば、利用するニューラルネットワークの構成が各装置で共通化されている場合、学習結果データ１２１は、学習済みのニューラルネットワークの構成を示す情報を含んでいなくてもよい。
【０１５０】
＜４．４＞
上記実施形態では、検出器生成装置１は、ステップＳ１０２の機械学習により、各誤差７１〜７３の合計値が小さくなるように、検出器５のパラメータを調整している。しかしながら、機械学習の処理は、このような例に限定されなくてもよい。例えば、各誤差７１〜７３のうち誤差７２は省略されてもよい。
【０１５１】
図１１は、本変形例に係る検出器生成装置１Ａのソフトウェア構成の一例を模式的に例示する。検出器生成装置１Ａのハードウェア構成は、上記実施形態に係る検出器生成装置１と同様である。また、図１１に示されるとおり、検出器生成装置１Ａのソフトウェア構成も、上記実施形態に係る検出器生成装置１と同様である。
【０１５２】
検出器生成装置１Ａは、誤差７２を導出する処理を省略する点を除き、上記実施形態に係る検出器生成装置１と同様に動作する。すなわち、検出器生成装置１Ａの制御部は、上記検出器生成装置１と同様に、ステップＳ１０１及びＳ１０３の処理を実行する。また、制御部は、学習処理部１１２として動作し、ステップＳ１０２の処理を実行する。本変形例では、このステップＳ１０２の機械学習の処理において、制御部は、上記ステップＳ２０６〜Ｓ２０８の処理を省略する。つまり、制御部は、上記検出器生成装置１と同様に、上記ステップＳ２０１〜Ｓ２０５の処理を実行した後に、ステップＳ２０９の処理を実行する。そして、ステップＳ２０９では、制御部は、誤差７１の合計値及び誤差７３の合計値が閾値以下であるか否かを判定する。
【０１５３】
誤差７１の合計値及び誤差７３の合計値が閾値以下であると判定した場合には、制御部は、機械学習の処理を終了し、上記ステップＳ１０３に処理を進める。一方、誤差７１の合計値及び誤差７３の合計値が閾値を超えていると判定した場合には、制御部は、次のステップＳ２１０に処理を進める。ステップＳ２１０では、制御部は、誤差７１の合計値及び誤差７３の合計値が小さくなるように検出器５の訓練を行う。検出器５の訓練、すなわち、検出器５のパラメータを調節する方法は、上記実施形態と同様であってよい。これにより、本変形例に係る検出器生成装置１Ａは、上記実施形態と同様に、位置情報６１２により示される正解と一致するように顔画像６１１から器官を検出し、かつその検出結果が、位置情報６１２に含まれ得る幾何的なノイズによる影響を受け難い、ように訓練された（学習済みの）検出器５を構築（生成）することができる。
【０１５４】
＜４．５＞
上記実施形態では、車両を運転する運転者の顔を撮影し、得られる顔画像から顔の器官の位置を検出する場面に本発明を適用した例を示している。しかしながら、本発明の適用可能な範囲は、このような運転者の顔画像から器官の位置を検出する場面に限られなくてもよい。本発明は、運転者以外の対象者の顔の器官を顔画像から検出する場面に広く適用可能である。
【０１５５】
図１２は、本発明が適用される他の場面の一例を模式的に例示する。具体的に、図１２は、生産現場で作業する作業者Ｕを撮影し、得られる顔画像から作業者Ｕの顔の器官を検出する場面に本発明を適用した例を示している。本変形例に係る検出器生成装置１Ｂのハードウェア構成及びソフトウェア構成は、上記実施形態に係る検出器生成装置１と同様である。本変形例に係るモニタリング装置２Ｂのハードウェア構成及びソフトウェア構成は、上記実施形態に係るモニタリング装置２と同様である。本変形例に係る検出器生成装置１Ｂ及びモニタリング装置２Ｂは、運転者以外の対象者の顔画像を取り扱う点を除いて、上記実施形態に係る検出器生成装置１及びモニタリング装置２と同様に動作する。
【０１５６】
すなわち、ステップＳ１０１では、検出器生成装置１Ｂの制御部は、学習データ取得部として動作し、被験者の顔の写る第１顔画像及び第１顔画像に写る顔の器官の位置を示す位置情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得する。被験者の属性が異なる点を除き、本変形例に係るステップＳ１０１の処理は、上記実施形態と同様である。次のステップＳ１０２では、制御部は、学習処理部として動作し、取得した複数の学習データセットを利用して、検出器の機械学習を実施する。本変形例に係るステップＳ１０２の処理は、上記実施形態と同様であってもよいし、上記＜４．４＞と同様であってもよい。次のステップＳ１０３では、制御部は、保存処理部として動作し、機械学習により構築された検出器の構成及び演算パラメータを示す情報を学習結果データとして保存する。これにより、本変形例に係る検出器生成装置１Ｂは、運転者以外の対象者の顔の写る顔画像から器官の位置を検出する能力を習得した検出器を生成することができる。
【０１５７】
一方、モニタリング装置２Ｂは、検出器生成装置１Ｂにより構築された検出器を利用して、生産ラインでロボット装置Ｒと共に作業を行う作業者Ｕをカメラ４１により撮影し、作業者Ｕについて得られた顔画像から顔の器官の位置を検出する。ステップＳ３０１では、モニタリング装置２Ｂの制御部は、データ取得部として動作し、ロボット装置Ｒと共に作業を行う作業者Ｕの顔の写る顔画像をカメラ４１から取得する。次のステップＳ３０２では、制御部は、検出部として動作し、検出器生成装置１Ｂにより構築された学習済みの検出器に得られた顔画像を入力することで、作業者Ｕの顔の器官を顔画像より検出した結果に対応する出力値を検出器から取得する。次のステップＳ３０３では、制御部は、作業者Ｕの顔の器官を検出した結果に関する情報を出力する。
【０１５８】
本変形例に係るステップＳ３０３において、出力する情報の内容は、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、顔の器官として目を検出した場合、制御部は、検出した各目の位置関係に基づいて、作業者Ｕの視線方向を推定し、視線方向を推定した結果に関連する情報を出力してもよい。この情報の一例として、ロボット装置Ｒとの作業に無関係な方向を視線方向が向いている場合に、制御部は、視線方向を作業に関係のある方向に向けるように促す警告を出力してもよい。また、制御部は、作業者Ｕの視線方向に適合する動作を実施する指示をロボット装置Ｒに出力してもよい。これにより、本変形例に係るモニタリング装置２Ｂは、検出器生成装置１Ｂにより生成された検出器を利用して、作業者Ｕの顔を撮影することで得られた顔画像から顔の器官の位置を検出することができる。
【０１５９】
＜４．６＞
上記実施形態及び変形例では、顔の器官の位置を顔画像から検出する場面に適用した例を示している。しかしながら、本発明の適用範囲は、このような顔の器官の位置を顔画像から検出する場面に限られなくてもよい。本発明は、何らかの対象物の位置を画像から検出するあらゆる場面に広く適用可能である。
【０１６０】
図１３は、本発明が適用される他の場面の一例を模式的に例示する。具体的に、図１３は、生産ラインＲＣを流れる製品ＵＣを撮影し、製品ＵＣに欠陥が存在する場合に、得られる画像から製品ＵＣの欠陥の位置を検出する場面に本発明を適用した例を示している。図１４は、本変形例に係る検出器生成装置１Ｃのソフトウェア構成の一例を模式的に例示する。
【０１６１】
本変形例に係る製品ＵＣの欠陥は、本発明の「対象物」の一例である。なお、「対象物」は、このような製品の欠陥に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。人間の写る画像が得られる場合、「対象物」は、顔の器官（上記実施形態）の他、例えば、顔そのもの、顔以外の身体部位等であってよい。また、本変形例と同様に製品の写る画像が得られる場合、「対象物」は、例えば、製品そのもの、製品に含まれる何らかの特徴等であってよい。
【０１６２】
本変形例に係る検出器生成装置１Ｃのハードウェア構成は、上記実施形態に係る検出器生成装置１と同様である。図１４に示されるとおり、本変形例に係る検出器生成装置１Ｃのソフトウェア構成も、上記実施形態に係る検出器生成装置１と同様である。また、本変形例に係るモニタリング装置２Ｃのハードウェア構成及びソフトウェア構成も、上記実施形態に係るモニタリング装置２と同様である。本変形例に係る検出器生成装置１Ｃ及びモニタリング装置２Ｃは、製品の写る画像を取り扱う点を除いて、上記実施形態に係る検出器生成装置１及びモニタリング装置２と同様に動作する。
【０１６３】
すなわち、ステップＳ１０１では、検出器生成装置１Ｃの制御部は、学習データ取得部１１１として動作し、欠陥を含む製品の写る画像６１１Ｃ、及び画像６１１Ｃに写る欠陥の位置を示す位置情報６１２Ｃの組み合わせによりそれぞれ構成される複数の学習データセット６１Ｃを取得する。画像６１１Ｃは、本発明の「第１画像」の一例である。撮影の対象が異なる点を除き、本変形例に係るステップＳ１０１の処理は、上記実施形態と同様である。
【０１６４】
次のステップＳ１０２では、制御部は、学習処理部１１２として動作し、取得した複数の学習データセット６１Ｃを利用して、検出器５の機械学習を実施する。
【０１６５】
ステップＳ２０１では、制御部は、各学習データセット６１Ｃの画像６１１Ｃを検出器５に入力し、検出器５の演算処理を実行する。これにより、制御部は、各画像６１１Ｃに対する第１出力値を検出器５から取得する。ステップＳ２０２では、制御部は、各画像６１１Ｃに対して得られた第１出力値に基づいて特定される製品の欠陥の検出位置Ｖ１Ｃと対応する位置情報６１２Ｃにより示される位置Ａ１Ｃとの誤差７１Ｃの合計値を算出する。検出位置Ｖ１Ｃは、本発明の「第１検出位置」の一例であり、誤差７１Ｃは、本発明の「第１誤差」の一例である。
【０１６６】
ステップＳ２０３では、制御部は、各画像６１１Ｃに所定の幾何変換を適用することで、各画像６１１Ｃに対して画像６６Ｃを生成する。画像６６Ｃは、本発明の「第２画像」の一例である。ステップＳ２０４では、制御部は、生成した各画像６６Ｃを検出器５に入力し、検出器５の演算処理を実行する。これにより、制御部は、各画像６６Ｃに対する第２出力値を検出器５から取得する。ステップＳ２０５では、制御部は、各第１出力値に基づいて特定される第１検出位置と対応する画像６６Ｃに対して得られた第２出力値に基づいて特定される第２検出位置との第２誤差（誤差７３Ｃ）の合計値を算出する。
【０１６７】
なお、本変形例に係るステップＳ２０５では、上記実施形態と同様に、制御部は、各画像６１１Ｃに対して得られた検出位置Ｖ１Ｃと対応する画像６６Ｃに対して導出された検出位置Ｖ３１Ｃとの差分を誤差７３Ｃとして算出してもよい。また、制御部は、各画像６１１Ｃに対して得られた検出位置Ｖ１Ｃに所定の幾何変換を適用することで導出される位置と検出位置Ｖ３０Ｃとの差分を誤差７３Ｃとして算出してもよい。
【０１６８】
ステップＳ２０６では、制御部は、各画像６１１Ｃにノイズを付与することで、各画像６１１Ｃに対して画像６３Ｃを生成する。画像６３Ｃは、「第３画像」の一例である。ステップＳ２０７では、制御部は、生成した各画像６３Ｃを検出器５に入力し、検出器５の演算処理を実行する。これにより、制御部は、各画像６３Ｃに対する第３出力値を検出器５から取得する。ステップＳ２０８では、制御部は、各第１出力値に基づいて特定される検出位置Ｖ１Ｃと対応する画像６３Ｃに対して得られた第３出力値に基づいて特定される検出位置Ｖ２Ｃとの誤差７２Ｃの合計値を算出する。検出位置Ｖ２Ｃは、「第３検出位置」の一例であり、誤差７２Ｃは、「第３誤差」の一例である。
【０１６９】
ステップＳ２０９では、制御部は、算出した各誤差７１Ｃ〜７３Ｃの合計値が閾値以下であるか否かを判定する。各誤差７１Ｃ〜７３Ｃの合計値が閾値以下であると判定した場合、制御部は、機械学習の処理を終了し、次のステップＳ１０３に処理を進める。一方、各誤差７１Ｃ〜７３Ｃの合計値が閾値を超えていると判定した場合、制御部は、次のステップＳ２１０に処理を進める。ステップＳ２１０では、制御部は、各誤差７１Ｃ〜７３Ｃの合計値が小さくなるように検出器５の訓練を行う。検出器５の各層５１〜５３のパラメータの値の更新が完了すると、制御部は、ステップＳ２０１から処理を繰り返す。
【０１７０】
なお、上記本変形例に係るステップＳ１０２の処理手順は、上記実施形態と同様である。しかしながら、本変形例に係るステップＳ１０２の処理手順は、このような例に限定されなくてもよく、例えば、上記＜４．４＞と同様であってもよい。この場合、本変形例に係るステップＳ１０２の処理において、上記ステップＳ２０６〜Ｓ２０８の処理は省略されてよい。ステップＳ２０９では、制御部は、算出した各誤差（７１Ｃ、７３Ｃ）の合計値が閾値以下であるか否かを判定してもよい。各誤差（７１Ｃ、７３Ｃ）の合計値が閾値以下であると判定した場合に、制御部は、次のステップＳ１０３に処理を進めてもよい。一方、各誤差（７１Ｃ、７３Ｃ）の合計値が閾値を超えていると判定した場合、制御部は、次のステップＳ２１０に処理を進めてもよい。ステップＳ２１０では、制御部は、各誤差（７１Ｃ、７３Ｃ）の合計値が小さくなるように検出器５の訓練を行ってもよい。
【０１７１】
ステップＳ１０３では、制御部は、保存処理部１１３として動作し、機械学習により構築された検出器５の構成及び演算パラメータを示す情報を学習結果データ１２１Ｃとして保存する。これにより、本変形例に係る検出器生成装置１Ｃは、製品の写る画像から欠陥（対象物）の位置を検出する能力を習得した検出器５を生成することができる。
【０１７２】
一方、モニタリング装置２Ｃは、検出器生成装置１Ｃにより構築された検出器５を利用して、生産ラインＲＣを流れる製品ＵＣを撮影し、製品ＵＣに欠陥が存在する場合に、得られる画像から製品ＵＣの欠陥の位置を検出する。ステップＳ３０１では、モニタリング装置２Ｃの制御部は、データ取得部として動作し、生産ラインＲＣを流れる製品ＵＣの写る画像をカメラ４１から取得する。次のステップＳ３０２では、制御部は、検出部として動作し、学習結果データ１２１Ｃを参照して、学習済みの検出器５の設定を行う。続いて、制御部は、学習済みの検出器５に得られた画像を入力することで、製品ＵＣの欠陥を画像より検出した結果に対応する出力値を検出器から取得する。次のステップＳ３０３では、制御部は、製品ＵＣの欠陥を検出した結果に関する情報を出力する。
【０１７３】
本変形例に係るステップＳ３０３において、出力する情報の内容は、上記実施形態と同様に、実施の形態に応じて適宜決定されてよい。例えば、製品ＵＣに欠陥が存在する場合、制御部は、検出した欠陥の位置を示す情報を出力してもよい。また、例えば、制御部は、欠陥が検出された製品ＵＣを別のラインに流す指示を生産ラインＲＣに出力してもよい。これにより、本変形例に係るモニタリング装置２Ｃは、検出器生成装置１Ｃにより生成された検出器５を利用して、製品ＵＣの写る画像から欠陥を検出することで、生産ラインＲＣを流れる製品ＵＣの状態を監視することができる。
【０１７４】
＜４．７＞
図９に示されるとおり、上記実施形態に係る検出器生成装置１は、検出器を生成する処理及び位置情報を更新する処理を交互に繰り返すことで、位置情報に含まれ得る人為的なノイズによる影響にロバストで、対象者の顔の器官を顔画像から検出可能な検出器を構築することができる。人為的なノイズによる影響にロバストな検出器を構築するという観点から、この検出器を生成する処理及び位置情報を更新する処理を交互に実行する部分のみを抽出して、新たな形態に係る検出器生成装置が構成されてもよい。
【０１７５】
図１５は、本変形例に係る検出器生成装置１Ｄのソフトウェア構成の一例を模式的に例示する。本変形例に係る検出器生成装置１Ｄのハードウェア構成は、上記実施形態に係る検出器生成装置１と同様である。また、図１５に示されるとおり、本変形例に係る検出器生成装置１Ｄのソフトウェア構成も、上記実施形態に係る検出器生成装置１と同様である。
【０１７６】
検出器生成装置１Ｄは、誤差７２及び誤差７３を導出する処理を省略する点を除き、上記実施形態に係る検出器生成装置１と基本的には同様に動作する。すなわち、第１回目の学習処理のステップＳ１０１では、検出器生成装置１Ｄの制御部は、学習データ取得部１１１として動作し、車両を運転する被験者の顔の写る顔画像６８１及び顔画像６８１に写る顔の器官の位置を示す第１位置情報６８２の組み合わせによりそれぞれ構成される複数の第１学習データセット６８を取得する。第１位置情報６８２は、オペレータの指定により与えられてもよい。
【０１７７】
ステップＳ１０２では、制御部は、学習処理部１１２として動作し、取得した複数の第１学習データセット６８を利用して、第１検出器５８の機械学習を実施する。本変形例に係るステップＳ１０２では、ステップＳ２０３〜Ｓ２０８が省略される。ステップＳ２０１では、制御部は、各顔画像６８１を第１検出器５８に入力し、第１検出器５８の演算処理を実行する。これにより、制御部は、各顔画像６８１に対する出力値を第１検出器５８から取得する。ステップＳ２０２では、制御部は、各顔画像６８１に対して得られた出力値に基づいて特定される検出位置と対応する第１位置情報６８２により示される位置との誤差の合計値を算出する。
【０１７８】
ステップＳ２０９では、制御部は、算出された誤差の合計値が閾値以下であるか否かを判定する。誤差の合計値が閾値以下であると判定した場合に、制御部は、機械学習の処理を終了し、ステップＳ１０３に処理を進める。一方、誤差の合計値が閾値を超えていると判定した場合には、制御部は、次のステップＳ２１０に処理を進める。ステップＳ２１０では、制御部は、誤差の合計値が小さくなるように第１検出器５８の訓練を行う。第１検出器５８のパラメータを調節する方法は、上記実施形態と同様であってよい。これにより、制御部は、各顔画像６８１が入力されると、対応する第１位置情報６８２に対応する出力値を出力するように訓練された検出器５を構築する。ステップＳ１０３では、制御部は、保存処理部１１３として動作し、機械学習により構築された第１検出器５８の構成及び演算パラメータを示す情報を学習結果データとして保存する。なお、第１回目の学習処理では、このステップＳ１０３の処理は省略されてもよい。
【０１７９】
本変形例に係る検出器生成装置１Ｄは、このような機械学習の一連の処理と暫定的に生成された検出器を利用して位置情報を更新する処理とを交互に繰り返す。第２回目の学習処理のステップＳ１０１では、制御部は、顔画像６８１、及び構築された第１検出器５８に顔画像６８１を入力することで当該第１検出器５８から得られた出力値に基づいて与えられる第２位置情報６９２の組み合わせによりそれぞれ構成された複数の第２学習データセット６９を取得する。そして、ステップＳ１０２では、制御部は、複数の第２学習データセット６９を利用して、第２検出器５９の機械学習を実施する。この機械学習の処理は、第１回目の学習処理と同様である。これにより、制御部は、各顔画像６８１が入力されると、対応する第２位置情報６９２に対応する出力値を出力するように訓練された第２検出器５９を構築する。これにより、本変形例に係る検出器生成装置１Ｄは、人為的なノイズによる影響にロバストな検出器（第２検出器５９）を生成することができる。なお、生成された第２検出器５９は、上記検出器５と同様に利用されてよい。
【０１８０】
なお、図１５では、機械学習の処理を２回繰り返す場面を例示している。しかしながら、機械学習の処理を繰り返す回数は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。繰り返しの回数は、３回以上であってもよい。
【０１８１】
また、上記＜４．５＞で記載のとおり、本変形例は、運転者以外の対象者の顔の器官を顔画像から検出する場面に広く適用可能である。そのため、顔画像６８１は、運転者以外の被験者の顔の写る顔画像に置き換えられてよい。これにより、運転者以外の対象者の顔の写る顔画像から器官の位置を検出する能力を習得した検出器を構築することができる。
【０１８２】
更に、上記＜４．６＞で記載のとおり、本変形例は、何らかの対象物の位置を画像から検出するあらゆる場面に広く適用可能である。そのため、顔画像６８１は、何らかの対象物の写る画像に置き換えられてよい。各位置情報（６８２、６９２）は、対象物の位置を示す位置情報に置き換えられてよい。これにより、対象物の位置を画像から検出する能力を習得した検出器を構築することができる。
【０１８３】
§５  実施例
以下、本発明の実施例について説明する。ただし、本発明は、これらの実施例に限定されるものではない。
【０１８４】
［第１実施例］
まず、第１実施例では、目尻を検出するための検出器を生成するために、各学習データセットを以下の条件で用意した。検出器には、畳み込みニューラルネットワーク及び全結合ニューラルネットワークを含む学習ネットワークを用いた。学習ネットワークでは、畳み込みニューラルネットワークの出力を全結合ニューラルネットワークの入力に接続した。そして、検出器生成装置（汎用のパーソナルコンピュータ）を用意し、用意した各学習データセットを利用して、用意した検出器生成装置に上記実施形態に係る各処理を実行させた。これにより、第１実施例に係る学習済みの検出器を得た。
【０１８５】
＜学習データセットの条件＞
・件数：３０００枚
・顔画像：６４×６４ピクセルの画像（目の写る部分のみ抽出）
・抽出方法：オペレータの指定した目頭及び目尻の位置に基づいて目の写る部分を抽出
・顔画像の取得条件：近赤外線カメラにより被験者の顔を撮影
・位置情報：目尻の位置を示す
・位置情報の取得条件：オペレータの入力（オペレータにマウスを操作させて、顔画像内で目尻の位置を指定させた）
【０１８６】
［第２実施例］
第１実施例に係る学習済みの検出器を利用して、第１実施例で利用した各学習データセットの顔画像から目尻の位置を検出し、検出結果により位置情報を更新することで、新たな各学習データセットを得た。そして、得られた各学習データセットを利用して、検出器生成装置に上記実施形態に係る機械学習の処理を実行させた。これにより、第２実施例に係る学習済みの検出器を得た。つまり、第２実施例に係る学習済みの検出器は、上記実施形態に係る機械学習の処理を２回繰り返すことで生成された学習済みの検出器に相当する。
【０１８７】
［第３実施例］
第２実施例に係る学習済みの検出器を利用して、第２実施例で利用した各学習データセットの顔画像から目尻の位置を検出し、検出結果により位置情報を更新することで、新たな各学習データセットを得た。そして、得られた各学習データセットを利用して、検出器生成装置に上記実施形態に係る機械学習の処理を実行させた。これにより、第３実施例に係る学習済みの検出器を得た。つまり、第３実施例に係る学習済みの検出器は、上記実施形態に係る機械学習の処理を３回繰り返すことで生成された学習済みの検出器に相当する。
【０１８８】
［比較例］
上記第１実施例において、誤差７２（第３誤差）及び誤差７３（第２誤差）の計算を省略することで、比較例に係る検出器を得た。すなわち、比較例では、上記実施形態に係る処理手順のうち、ステップＳ２０３〜Ｓ２０８の処理を省略した。そして、ステップＳ２０９及びＳ２１０では、各誤差７１〜７３を誤差７１（第１誤差）に置き換えた。
【０１８９】
＜評価方法＞
次に、第１〜第３実施例及び比較例に係る検出器の検出精度を次の方法で評価した。すなわち、カメラにより対象者の顔を撮影し、学習用の顔画像と同様に、評価用の５０００枚の顔画像（６４×６４ピクセル）を用意した。各顔画像を各検出器に入力し、各顔画像に対する目尻の位置の第１検出結果を各検出器から得た。また、評価用の各顔画像を幾何変換（平行移動＋回転移動）することで変換画像を生成した。生成した各変換画像を各検出器に入力し、各変換画像に対する目尻の位置の第２検出結果を各検出器から得た。続いて、各検出器の第１検出結果の示す位置と第２検出結果の示す位置に上記幾何変換の逆変換を適用することで得られた位置との差分（ずれ）をピクセル単位で算出した。そして、得られた差分の平均及び標準偏差を算出した。差分の平均及び標準偏差の算出結果は、以下の表１のとおりである。
【０１９０】
【表１】
2020035289.tif 000003
┌───────┬─────┬──────┬─────┬──────┐
│              第１実施例  │第２実施例  第３実施例  │比較例      │
├───────┼─────┼──────┼─────┼──────┤
平均(pixel)     0.252       │0.131       0.0866      │0.83        │
├───────┼─────┼──────┼─────┼──────┤
標準偏差(pixel) 0.101       │0.0581      0.0336      │0.41        │
└───────┴─────┴──────┴─────┴──────┘
【０１９１】
表１に示されるとおり、第１誤差と共に第２誤差及び第３誤差の学習を実施する第１〜第３実施例に係る検出器の検出のブレは、第２誤差及び第３誤差の学習を実施しない比較例よりも小さかった。このことから、上記実施形態によれば、第１誤差のみの学習を実施するケースよりも検出結果のブレの少ない検出器を生成可能であることが分かった。また、第１実施例から第３実施例になるにつれ、検出器による目尻の検出のブレが低減した。このことから、検出器を生成する処理と位置情報を更新する処理とを交互に繰り返すことで、検出器の検出のブレを抑えることができることが分かった。したがって、上記実施形態によれば、対象物をより高精度に検出可能な検出器を生成可能であることが分かった。
【符号の説明】
【０１９２】
１…検出器生成装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…出力装置、１６…ドライブ、
１１１…学習データ取得部、１１２…学習処理部、
１１３…保存処理部、
１２１…学習結果データ、
８１…検出器生成プログラム、９１…記憶媒体、
２…モニタリング装置、
２１…制御部、２２…記憶部、２３…通信インタフェース、
２４…外部インタフェース、
２５…入力装置、２６…出力装置、２７…ドライブ、
２１１…データ取得部、２１２…検出部、
２１３…出力部、
２２１…顔画像、
８２…モニタリングプログラム、９２…記憶媒体、
３１…カメラ、４１…カメラ、
５…検出器、
５１…入力層、５２…中間層（隠れ層）、５３…出力層、
６１…学習データセット、
６１１…顔画像（第１顔画像）、６１２…位置情報、
６３…顔画像（第３顔画像）、６６…顔画像（第２顔画像）、
７１…誤差（第１誤差）、７２…誤差（第３誤差）、
７３…誤差（第２誤差）、
Ａ１…位置、
Ｖ１…検出位置（第１検出位置）、Ｖ２…検出位置（第３検出位置）、
Ｖ３０・Ｖ３１…検出位置（第２検出位置）、
Ｔ…被験者、Ｄ…運転者（対象者）
【図１】
2020035289.tif 000004
【図２】
2020035289.tif 000005
【図３】
2020035289.tif 000006
【図４】
2020035289.tif 000007
【図５】
2020035289.tif 000008
【図６】
2020035289.tif 000009
【図７】
2020035289.tif 000010
【図８Ａ】
2020035289.tif 000011
【図８Ｂ】
2020035289.tif 000012
【図９】
2020035289.tif 000013
【図１０】
2020035289.tif 000014
【図１１】
2020035289.tif 000015
【図１２】
2020035289.tif 000016
【図１３】
2020035289.tif 000017
【図１４】
2020035289.tif 000018
【図１５】
2020035289.tif 000019