(57)【要約】      （修正有）【課題】顔の一部がマスク等で遮蔽されている場合でも顔の器官の位置を検出することができる、画像処理装置、画像処理方法、及び画像処理プログラムを提供する。【解決手段】画像処理装置は、人の顔を含む対象画像から顔の向きの検出を学習済みの、対象画像に含まれる顔の向きに関する第１情報を出力とする第１学習器と、人の顔を含む画像から顔の器官の位置を検出するための学習を、第１情報ごとに行った、少なくとも１つの学習済みの第２学習器であって、対象画像を入力とし、対象画像に含まれる顔の器官の位置に関する第２情報を出力とする、少なくとも１つの第２学習器と、第１学習器及び第２学習器を制御する制御部と、を備える。制御部は、第１学習器によって、対象画像から第１情報を取得し、第１情報に対応する第２学習器によって、対象画像から第２情報を取得するように構成されている。【選択図】図４
2018151938.tif 000002
【特許請求の範囲】
【請求項１】
人の顔を含む画像から顔の向きを検出するための学習を行った学習済みの第１学習器であって、人の顔を含む対象画像を入力とし、前記対象画像に含まれる顔の向きに関する第１情報を出力とする第１学習器と、
人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第２学習器であって、前記対象画像を入力とし、前記対象画像に含まれる顔の器官の位置に関する第２情報を出力とする、少なくとも１つの第２学習器と、
前記第１学習器及び前記第２学習器を制御する制御部と、
を備え、
前記制御部は、
前記第１学習器によって、前記対象画像から前記第１情報を取得し、
前記第１情報に対応する前記第２学習器によって、前記対象画像から前記第２情報を取得するように構成されている、画像処理装置。
【請求項２】
前記第１情報は、人の顔の向きを規定した複数の異なる、向き情報から選択される１つである、請求項１に記載の画像処理装置。
【請求項３】
前記第２情報は、人の顔の器官において規定される少なくとも１つの特徴点の位置である、請求項１また２に記載の画像処理装置。
【請求項４】
人の顔を含む画像から顔の向きを検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第３学習器であって、前記対象画像を入力とし、前記対象画像に含まれる顔の向きに関する第３情報を出力とする、少なくとも１つの第３学習器をさらに備え、
前記制御部は、
前記第１学習器から出力された前記第１情報に対応する前記第３学習器によって、前記対象画像から前記第３情報を取得するように構成されている、請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記第３情報は、人の顔の向きを示す角度である、請求項４に記載の画像処理装置。
【請求項６】
人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第４学習器であって、前記第２情報に係る器官が含まれる前記対象画像を入力とし、前記対象画像に含まれる顔の器官の位置に関する第４情報を出力とする、少なくとも１つの第４学習器をさらに備え、
前記制御部は、
前記第１学習器から出力された前記第１情報に対応する前記第４学習器によって、前記第２情報に係る器官が含まれる前記対象画像から、前記第４情報を取得するように構成されている、請求項１から５のいずれかに記載の画像処理装置。
【請求項７】
前記第２情報は、人の顔の器官において規定される少なくとも１つの特徴点の位置であり、
前記第４学習器は、前記第２学習器への入力に用いられた前記対象画像に基づいて生成され、前記特徴点を含む入力用画像を入力とし、前記各特徴点の位置を出力とする、請求項６に記載の画像処理装置。
【請求項８】
前記対象画像に、顔の一部を遮蔽する遮蔽物が含まれているか否かを判断する遮蔽物判断部をさらに備え、
前記制御部は、
前記遮蔽物判断部によって、前記対象画像に前記遮蔽物が含まれていると判断された場合に、前記対象画像を入力とし、前記第１学習器及び前記第２学習器によって、前記第１情報及び前記第２情報を出力するように構成されている、請求項１から８のいずれかに記載の画像処理装置。
【請求項９】
前記各学習器は、ニューラルネットワークによって構成される、請求項１から７のいずれかに記載の画像処理装置。
【請求項１０】
人の顔を含む画像から顔の向きを検出するための学習を行った学習済みの第１学習器を準備するステップと、
前記第１学習器によって、人の顔を含む対象画像から、前記人の顔の向きに関する第１情報を取得するステップと、
人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第２学習器を準備するステップと、
前記第１学習器で出力された前記第１情報に対応した前記第２学習器によって、前記対象画像から、前記対象画像に含まれる顔の器官の位置に関する第２情報を出力するステップと、
を備えている、画像処理方法。
【請求項１１】
前記対象画像に、顔の一部を遮蔽する遮蔽物が含まれているか否かを判断するステップをさらに備え、
前記対象画像に前記遮蔽物が含まれている場合には、前記第１学習器を準備するステップ、前記第１情報を出力するステップ、前記第２学習器を準備するステップ、及び前記第３情報を出力するステップを実行する、請求項１０に記載の画像処理装置。
【請求項１２】
人の顔を含む画像から顔の向きを検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第３学習器を準備するステップと、
前記第１学習器から出力された前記第１情報に対応する前記第３学習器によって、前記対象画像から、前記対象画像に含まれる顔の向きに関する前記第３情報を出力するステップと、
をさらに備えている、請求項１０または１１に記載の画像処理方法。
【請求項１３】
人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごと行った、少なくとも１つの学習済みの第４学習器を準備するステップと、
前記第１学習器から出力された前記第１情報に対応する前記第４学習器によって、前記第２情報に係る器官が含まれた前記対象画像から、前記対象画像に含まれる顔の器官の位置に関する第４情報を出力するステップと、
をさらに備えている、請求項１０から１２のいずれかに記載の画像処理方法。
【請求項１４】
前記各学習器は、ニューラルネットワークによって構成される、請求項１０から１３のいずれかに記載の画像処理方法。
【請求項１５】
コンピュータに、
人の顔を含む画像から顔の向きを検出するための学習を行った学習済みの第１学習器を準備するステップと、
前記第１学習器によって、人の顔を含む対象画像から、前記人の顔の向きに関する第１情報を取得するステップと、
人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第２学習器を準備するステップと、
前記第１学習器で出力された前記第１情報に対応した前記第２学習器によって、前記対象画像から、前記対象画像に含まれる顔の器官の位置に関する第２情報を出力するステップと、
を実行させる、画像処理プログラム。
【請求項１６】
前記対象画像に、顔の一部を遮蔽する遮蔽物が含まれているか否かを判断するステップをさらに備え、
前記対象画像に前記遮蔽物が含まれている場合には、前記第１学習器を準備するステップ、前記第１情報を出力するステップ、前記第２学習器を準備するステップ、及び前記第３情報を出力するステップを実行させる、請求項１５に記載の画像処理プログラム。
【請求項１７】
コンピュータに、
人の顔を含む画像から顔の向きを検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第３学習器を準備するステップと、
前記第１学習器から出力された前記第１情報に対応する前記第３学習器によって、前記対象画像から、前記対象画像に含まれる顔の向きに関する前記第３情報を出力するステップと、
をさらに実行させる、請求項１５または１６に記載の画像処理プログラム。
【請求項１８】
コンピュータに、
人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごと行った、少なくとも１つの学習済みの第４学習器を準備するステップと、
前記第１学習器から出力された前記第１情報に対応する前記第４学習器によって、前記第２情報に係る器官が含まれた前記対象画像から、前記対象画像に含まれる顔の器官の位置に関する第４情報を出力するステップと、
をさらに実行させる、請求項１５から１７のいずれかに記載の画像処理プログラム。
【請求項１９】
前記各学習器は、ニューラルネットワークによって構成される、請求項１５から１８のいずれかに記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来より、人の顔を含む画像から、顔の向きや器官の位置を検出するための種々の方法が提案されている。例えば、特許文献１及び特許文献２には、三次元形状モデルを用いて特徴点の検出を行う画像処理装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開２００６／０５１６０７号公報
【特許文献２】特開２００７−２４９２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、対象となる画像に含まれる人が、例えば、マスクやサングラスを着用している場合には、顔の大部分が隠されるため、十分な数のノードを検出することができず、顔の器官の位置を推定することができないという問題がある。本発明は、この問題を解決するためになされたものであり、顔の一部がマスク等で遮蔽されている場合であっても、そのような顔が含まれる画像から少なくとも顔の器官の位置を検出することができる、画像処理装置、画像処理方法、及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
この画像処理装置は、人の顔を含む画像から顔の向きを検出するための学習を行った学習済みの第１学習器であって、人の顔を含む対象画像を入力とし、前記対象画像に含まれる顔の向きに関する第１情報を出力とする第１学習器と、人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第２学習器であって、前記対象画像を入力とし、前記対象画像に含まれる顔の器官の位置に関する第２情報を出力とする、少なくとも１つの第２学習器と、前記第１学習器及び第２学習器を制御する制御部と、を備え、前記制御部は、前記第１学習器によって、前記対象画像から前記第１情報を取得し、前記第１情報に対応する前記第２学習器によって、前記対象画像から前記第２情報を取得するように構成されている。
【０００６】
この構成によれば、対象画像から人の顔の器官の位置を検出する第２学習器として、第１学習器で出力された第１情報に対応したものが用いられる。すなわち、特定の顔の向きによって学習された学習器を用いて、顔の器官の検出が行われるため、より精度の高い器官の位置を検出することができる。
【０００７】
上記画像処理装置において、前記第１情報は、人の顔の向きを規定した複数の異なる、向き情報から選択される１つとすることができる。
【０００８】
上記各画像処理装置において、前記第２情報は、人の顔の器官において規定される少なくとも１つの特徴点の位置とすることができる。
【０００９】
上記各画像処理装置においては、人の顔を含む画像から顔の向きを検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第３学習器であって、前記対象画像を入力とし、前記対象画像に含まれる顔の向きに関する第３情報を出力とする、少なくとも１つの第３学習器をさらに備えることができ、前記制御部は、前記第１学習器から出力された前記第１情報に対応する前記第３学習器によって、前記対象画像から前記第３情報を取得するように構成することができる。
【００１０】
この構成によれば、対象画像から人の顔の向きを検出する第３学習器として、第１学習器で出力された第１情報に対応したものが用いられる。すなわち、特定の顔の向きによって学習された学習器を用いて、顔の向きの検出が行われるため、より精度の高い向きの検出することができる。
【００１１】
上記各画像処理装置において、前記第３情報は、人の顔の向きを示す角度とすることができる。
【００１２】
上記各画像処理装置においては、人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第４学習器であって、前記第２情報に係る器官が含まれる前記対象画像を入力とし、前記対象画像に含まれる顔の器官の位置に関する第４情報を出力とする、少なくとも１つの第４学習器をさらに備えることができ、前記制御部は、前記第１学習器から出力された前記第１情報に対応する前記第４学習器によって、前記第２情報に係る器官が含まれる前記対象画像から、前記第４情報を取得するように構成することができる。
【００１３】
この構成によれば、人の顔の器官の位置を検出する第４学習器は、対象画像全体ではなく、第２情報に係る器官を含む対象画像によって学習が行われているため、より局所的に、器官の位置の検出が行われる。その結果、より精度の高い顔の器官の検出が可能となる。
【００１４】
上記各画像処理装置において、前記第２情報は、人の顔の器官において規定される少なくとも１つの特徴点の位置であり、前記第４学習器は、前記第２学習器への入力に用いられた前記対象画像に基づいて生成され、前記特徴点を含む入力用画像を入力とし、前記各特徴点の位置を出力とすることができる。
【００１５】
上記各画像処理装置において、前記対象画像に、顔の一部を遮蔽する遮蔽物が含まれているか否かを判断する遮蔽物判断部をさらに備えることができ、前記制御部は、前記遮蔽物判断部によって、前記対象画像に前記遮蔽物が含まれていると判断された場合に、前記対象画像を入力とし、前記第１学習器及び前記第２学習器によって、前記第１情報及び前記第２情報を出力するように構成することができる。
【００１６】
上記各画像処理装置において、前記各学習器は、ニューラルネットワークによって構成することができる。
【００１７】
この画像処理方法は、人の顔を含む画像から顔の向きを検出するための学習を行った学習済みの第１学習器を準備するステップと、前記第１学習器によって、人の顔を含む対象画像から、前記人の顔の向きに関する第１情報を取得するステップと、人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第２学習器を準備するステップと、前記第１学習器で出力された前記第１情報に対応した前記第２学習器によって、前記対象画像から、前記対象画像に含まれる顔の器官の位置に関する第２情報を出力するステップと、を備えている。なお、上記ステップの順序は適宜変更することができる。例えば、第１情報を取得する前に、第２学習器を準備することもできる。この点は、後述する第３及び第４学習器についても同様である。
【００１８】
上記画像処理方法においては、前記対象画像に、顔の一部を遮蔽する遮蔽物が含まれているか否かを判断するステップをさらに備えることができ、前記対象画像に前記遮蔽物が含まれている場合には、前記第１学習器を準備するステップ、前記第１情報を出力するステップ、前記第２学習器を準備するステップ、及び前記第３情報を出力するステップを実行することができる。
【００１９】
上記各画像処理方法においては、人の顔を含む画像から顔の向きを検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第３学習器を準備するステップと、前記第１学習器から出力された前記第１情報に対応する前記第３学習器によって、前記対象画像から、前記対象画像に含まれる顔の向きに関する前記第３情報を出力するステップと、をさらに備えることができる。
【００２０】
上記各画像処理方法においては、人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごと行った、少なくとも１つの学習済みの第４学習器を準備するステップと、前記第１学習器から出力された前記第１情報に対応する前記第４学習器によって、前記第２情報に係る器官が含まれた前記対象画像から、前記対象画像に含まれる顔の器官の位置に関する第４情報を出力するステップと、をさらに備えることができる。
【００２１】
上記各画像処理方法において、前記各学習器は、ニューラルネットワークによって構成することができる。
【００２２】
この画像処理プログラムは、コンピュータに、人の顔を含む画像から顔の向きを検出するための学習を行った学習済みの第１学習器を準備するステップと、前記第１学習器によって、人の顔を含む対象画像から、前記人の顔の向きに関する第１情報を取得するステップと、人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第２学習器を準備するステップと、前記第１学習器で出力された前記第１情報に対応した前記第２学習器によって、前記対象画像から、前記対象画像に含まれる顔の器官の位置に関する第２情報を出力するステップと、を実行させる。なお、上記ステップの順序は適宜変更することができる。例えば、第１情報を取得する前に、第２学習器を準備することもできる。この点は、後述する第３及び第４学習器についても同様である。
【００２３】
上記画像処理プログラムにおいては、前記対象画像に、顔の一部を遮蔽する遮蔽物が含まれているか否かを判断するステップをさらに備えることができ、前記対象画像に前記遮蔽物が含まれている場合には、前記第１学習器を準備するステップ、前記第１情報を出力するステップ、前記第２学習器を準備するステップ、及び前記第３情報を出力するステップを実行させることができる。
【００２４】
上記画像処理プログラムにおいては、コンピュータに、人の顔を含む画像から顔の向きを検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第３学習器を準備するステップと、前記第１学習器から出力された前記第１情報に対応する前記第３学習器によって、前記対象画像から、前記対象画像に含まれる顔の向きに関する前記第３情報を出力するステップと、をさらに実行させることができる。
【００２５】
上記各画像処理プログラムにおいては、コンピュータに、人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごと行った、少なくとも１つの学習済みの第４学習器を準備するステップと、前記第１学習器から出力された前記第１情報に対応する前記第４学習器によって、前記第２情報に係る器官が含まれた前記対象画像から、前記対象画像に含まれる顔の器官の位置に関する第４情報を出力するステップと、をさらに実行させることができる。
【００２６】
上記各画像処理プログラムにおいて、前記各学習器は、ニューラルネットワークによって構成することができる。
【発明の効果】
【００２７】
本発明によれば、顔の一部がマスク等で遮蔽されている場合であっても、そのような顔が含まれる画像から少なくとも顔の器官の位置を検出することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係る画像処理装置が含まれる画像処理システムの概要を示す図である。
【図２】図１の画像処理装置のハードウェア構成の一例を示すブロック図である。
【図３】図１の学習装置のハードウェア構成の一例を示すブロック図である。
【図４】図１の画像処理装置の機能構成の一例を示すブロック図である。
【図５Ａ】撮影画像に写る人が遮蔽物を着用していない場合の例を示す図である。
【図５Ｂ】撮影画像に写る人が遮蔽物を着用している場合の例を示す図である。
【図６】図１の画像処理装置で用いられるニューラルネットワークの一例を示す図である。
【図７】顔の向きを示す平面図である。
【図８】目の特徴点を示す図である。
【図９】検出された目の特徴点から合成画像を生成する方法を示す図である。
【図１０】図１の学習装置の機能構成の一例を示すブロック図である。
【図１１】図１の学習装置の第１向き学習器用の学習データを示す図である。
【図１２】図１の学習装置の正面向き学習器用の学習データを示す図である。
【図１３】図１の学習装置の第１正面器官学習器用の学習データを示す図である。
【図１４】図１の学習装置の第２正面器官学習器用の学習データを示す図である。
【図１５】図１の画像処理装置の動作を示すフローチャートである。
【図１６】図１の画像処理装置の第２検出部に係る動作を示すフローチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明に係る画像処理装置、画像処理方法、及び画像処理プログラムの一実施形態について、図面を参照しつつ説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００３０】
＜１．画像処理システムの概要＞
図１を用いて、本実施形態に係る画像処理装置が含まれる画像処理システムについて、説明する。この画像処理システムは、画像処理装置１、学習装置２、及びカメラ３を備えている。この画像処理システムでは、カメラ３によって撮影された人を含む撮影画像（対象画像）から、画像処理装置１によって、人の顔の向き、顔の器官（目、鼻、口など）の位置を検出するものである。特に、本実施形態に係る画像処理装置１では、撮影画像内の人の顔にマスク、サングラスのような遮蔽物が含まれているときにも、有効に顔の向き等の検出を行うことができるように構成されている。
【００３１】
すなわち、この画像処理装置１では、後述する図４に示すように、遮蔽物が含まれていない顔から向き等を検出する第１検出部１１３と、遮蔽物が含まれている顔から向き等を検出する第２検出部１１４と、を備えている。そして、第２検出部１１４は、ニューラルネットワークにより構成される学習器によって、顔の向き等の検出を行う。そのため、学習装置２は、第２検出部１１４に含まれる学習器の学習を行う。
【００３２】
画像処理装置１は、例えば、ネットワーク１０を介して、学習装置２により作成された学習済みの学習器を取得することができる。ネットワーク１０の種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。その他、画像処理装置１と学習装置２とを直接接続して、学習器を送信することもできる。あるいは、画像処理装置１と学習装置２とを接続せず、学習装置２で学習された学習済みの学習器を、ＣＤ−ＲＯＭ等の記憶媒体に記憶し、この記憶媒体に記憶された学習器を画像処理装置１に保存することもできる。以下、各装置について詳細に説明する。
【００３３】
＜１−１．カメラ＞
カメラ３は、公知のものを用いることができ、人を撮影することで撮影画像を生成し、これを画像処理装置１に出力する。なお、撮影画像は、静止画または動画のいずれであってもよく、動画の場合には、フレーム毎に画像処理装置１によって顔の向き等の検出が行われる。
【００３４】
＜１−２．画像処理装置＞
【００３５】
図２は、本実施形態に係る画像処理装置を示すブロック図である。図２に示すように、本実施形態に係る画像処理装置１は、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、出力装置１５、外部インタフェース１６、及びドライブ１７が電気的に接続されたコンピュータである。なお、図１では、通信インタフェース及び外部インタフェースをそれぞれ、「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００３６】
制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、情報処理に応じて各構成要素の制御を行う。記憶部１２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置であり、制御部１１で実行される画像処理プログラム１２１、学習済みの学習器に関する情報を示す学習結果データ１２２等を記憶する。
【００３７】
画像処理プログラム１２１は、撮影画像内の顔に遮蔽物が含まれているか否かを判断し、遮蔽物が含まれていない場合には、上記第１検出部１１３を用い、遮蔽物が含まれている場合には上記第２検出部１１４を用いて、顔の向き、器官の位置を検出するための処理を、画像処理装置１に実行させるためのプログラムである。また、学習結果データ１２２は、学習済みの学習器の設定を行うためのデータである。詳細は後述する。
【００３８】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。出力装置１５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。外部インタフェース１６は、ＵＳＢ（Universal Serial Bus）ポート等であり、カメラ３等の外部装置と接続するためのインタフェースである。
【００３９】
ドライブ１７は、例えば、ＣＤ（Compact Disk）ドライブ、ＤＶＤ（Digital Versatile Disk）ドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むための装置である。ドライブ１７の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記画像処理プログラム１２１及び／又は学習結果データ１２２は、この記憶媒体９１に記憶されていてもよい。
【００４０】
記憶媒体９１は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、このプログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。画像処理装置１は、この記憶媒体９１から、画像処理プログラム１２１及び／又は学習結果データ１２２を取得してもよい。
【００４１】
ここで、図２では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００４２】
なお、画像処理装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のプロセッサを含んでもよい。画像処理装置１は、複数台の情報処理装置で構成されてもよい。また、画像処理装置１は、提供されるサービス専用に設計された情報処理装置の他、汎用のデスクトップＰＣ（Personal Computer）、タブレットＰＣ等が用いられてもよい。
【００４３】
＜１−３．学習装置＞
図３は、本実施形態に係る学習装置を示すブロック図である。図３に示すように、本実施形態に係る学習装置２は、上記第２検出部１０２に含まれる学習器を学習するためのものであり、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、外部インタフェース２６、及びドライブ２７が電気的に接続されたコンピュータである。なお、図２では、図１と同様に、通信インタフェース及び外部インタフェースをそれぞれ、「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００４４】
制御部２１〜ドライブ２７及び記憶媒体９２はそれぞれ、上記画像処理装置１の制御部１１〜ドライブ１７及び記憶媒体９１と同様である。ただし、学習装置２の記憶部２２は、制御部２１で実行される学習プログラム２２１、学習器の学習に利用する学習データ２２２、学習プログラム２２１を実行して作成した学習結果データ１２２等を記憶する。
【００４５】
学習プログラム２２１は、学習装置２に後述するニューラルネットワークの学習処理（図８）を実行させるためのプログラムである。また、学習データ２２２は、人の顔の向き、器官の位置を検出するために学習器の学習を行うためのデータである。詳細は後述する。
【００４６】
なお、上記画像処理装置１と同様に、学習プログラム２２１及び／又は学習データ２２２は、記憶媒体９２に記憶されていてもよい。これに応じて、学習装置２は、利用する学習プログラム２２１及び／又は学習データ２２２を記憶媒体９２から取得してもよい。
【００４７】
また、上記画像処理装置１と同様に、学習装置２の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。更に、学習装置２は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、デスクトップＰＣ等が用いられてもよい。
【００４８】
＜２．画像処理装置の機能的構成＞
次に、図４を参照しつつ、本実施形態に係る画像処理装置１の機能構成の一例を説明する。図４は、本実施形態に係る画像処理装置１の機能構成の一例を模式的に例示する。
【００４９】
＜２−１．概略構成＞
図４に示すように、画像処理装置１の制御部１１は、記憶部１２に記憶された画像処理プログラム１２１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開された画像処理プログラム１２１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図４に示すように、本実施形態に係る画像処理装置１は、画像取得部１１１、遮蔽物判断部１１２、第１検出部１１３、及び第２検出部１１４を備えるコンピュータとして機能する。
【００５０】
画像取得部１１１は、カメラ３で生成された撮影画像を取得する。また、遮蔽物判断部１１２は、撮影画像内の顔にマスクやサングラスなどの遮蔽物が含まれているか否かを判断する。第１検出部１１３は、遮蔽物判断部１１２において顔に遮蔽物が含まれていないと判断した場合に、その撮影画像から顔の向きや器官の位置を検出する。一方、第２検出部１１４は、遮蔽物判断部１１２において顔に遮蔽物が含まれていると判断した場合に、その撮影画像から顔の向きや器官の位置を検出する。一例として、本実施形態では、遮蔽物判断部１１２において、顔に遮蔽物としてマスクが含まれているか否かを判断し、第１及び第２検出部１１３，１１４では、顔の向き、角度、及び器官として目の位置を検出するものとする。以下、これらの機能構成について、詳細に説明する。
【００５１】
＜２−２．遮蔽物判断部＞
図５を参照しつつ、遮蔽物判断部１１２について説明する。遮蔽物判断部１１２は、例えば、図５Ａに示すように、撮影画像１２３内の人が遮蔽物を着用していない場合と、図５Ｂに示すように、マスクなどの遮蔽物を着用している場合のいずれかであるかを判断する。そのような手法は、特には限定されないが、例えば、パターンマッチングなど、種々の方法を採用することができる。
【００５２】
＜２−３．第１検出部＞
遮蔽物を着用していない顔の向きや器官の位置の検出は、従来より種々の方法が提案されている。したがって、第１検出部で用いる処理は特には限定されない。例えば、三次元モデルを用いて特徴点の抽出を行う手法があり、具体的には、例えば、国際公開２００６／０５１６０７号公報、特開２００７−２４９２８０号公報などに記載されている手法を採用することができる。そして、このような手法を用い、撮影画像１２３から顔の向き、角度、目の位置を検出する。
【００５３】
＜２−４．第２検出部の概要＞
次に、図４を参照しつつ、第２検出部１１４について説明する。図４に示すように、第２検出部１１４では、撮影画像１２３を、顔の向き及び器官の位置について学習した学習器の入力として用いる。そして、この学習器の演算処理により、当該学習器から出力値を得る。そして、第２検出部１１４は、学習器から得られた出力値に基づいて、撮影画像１２３の中の人の顔の向き及び器官の位置に関する情報を取得する。
【００５４】
＜２−４−１．学習器の概要＞
次に、図４及び図６を参照しつつ、学習器について説明する。図４に示すように、本実施形態に係る画像処理装置１は、一例として、顔の向きの検出について、４つの学習器、つまり１つの第１向き学習器７１０と３種類の第２向き学習器７２０が用いられる。また、顔の器官の検出についても６つの学習器、つまり３種類の第１器官学習器７３０と３種類の第２器官学習器７４０が用いられる。すなわち、本実施形態では、合計１０個の学習器７１１〜７４３が用いられる。いずれの学習器７１１〜７４３もニューラルネットワークで構成されている。具体的には、図６に示すような、いわゆる深層学習に用いられる多層構造のニューラルネットワークであり、入力から順に、入力層７１、中間層（隠れ層）７２、及び出力層７３を備えている。
【００５５】
図６では、ニューラルネットワーク７は１層の中間層７２を備えており、入力層７１の出力が中間層７２の入力となり、中間層７２の出力が出力層７３の入力となっている。ただし、中間層７２の数は１層に限られなくてもよく、ニューラルネットワーク７は、中間層７２を２層以上備えてもよい。
【００５６】
各層７１〜７３は、１又は複数のニューロンを備えている。例えば、入力層７１のニューロンの数は、各撮影画像１２３の画素数に応じて設定することができる。中間層７２のニューロンの数は実施の形態に応じて適宜設定することができる。また、出力層７３は、後述する顔の向き、角度、特徴点の座標などに応じて設定することができる。
【００５７】
隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。図６の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【００５８】
各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。画像処理装置１は、このようなニューラルネットワーク７の入力層７１に上記各撮影画像を入力することで出力層７３から得られる出力値に基づいて、顔の向き、角度、特徴点の座標などを特定する。
【００５９】
なお、このようなニューラルネットワーク７の構成（例えば、ニューラルネットワーク７の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数）、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、学習結果データ１２２に含まれている。画像処理装置１は、学習結果データ１２２を参照して、顔の向き及び器官の位置の検出に係る処理に用いる学習済みの学習器７１０〜７４０の設定を行う。
【００６０】
＜２−４−２．顔の向きの検出のための学習器＞
次に、図４を参照しつつ顔の向きの検出のために用いられる学習器について、説明する。上述したように、本実施形態においては、顔の向きの検出について、４つの学習器を用いる。すなわち、撮影画像中の顔のおおよその向きを検出する第１向き学習器７１０と、顔の向きの具体的な角度を検出する３種類の第２向き学習器７２０（７２１〜７２３）と、が用いられる。なお、第１向き学習器７１０が、本発明の第１学習器に相当し、第２向き学習器７２１〜７２３が、本発明の第３学習器に相当する。
【００６１】
図４に示すように、第１向き学習器７１０では、撮影画像１２３が入力されると、そこから、顔のおおよその向き、つまり、正面を向いているか、斜めをむいているか、あるいは横を向いているか、という３種類のいずれかであるかが出力される。ここでは、一例として、図７に示すように、「正面」は、人の頭の中心を通る上下方向の軸Ｎを中心として左右に０〜３０度ずつの範囲と定義する。同様に、「斜め」は、上記上下方向の軸Ｎを中心として左右に３０〜６０ずつ度の範囲、「横」は、上記上下方向の軸Ｎを中心として左右に６０〜９０ずつ度の範囲と定義する。以下、この出力を向き情報（第１情報）と称することとする。
【００６２】
第２向き学習器７２０では、撮影画像が入力されると、そこから、顔の具体的な向き、つまり顔の角度が出力される。但し、本実施形態では、３種類の第２向き学習器７２１〜７２３を用いている。すなわち、正面を向く顔を含む撮影画像を用いて学習が行われた正面向き学習器７２１、斜めを向く顔を含む撮影画像を用いて学習が行われた斜め向き学習器７２２、及び横を向く顔を含む撮影画像を用いて学習が行われた横向き学習器７２３である。
【００６３】
そして、正面向き学習器７２１は、第１向き学習器７１０において、顔の向きが「正面」であると出力された撮影画像１２３を入力とし、ここから具体的な角度を出力する。同様に、斜め向き学習器７２２は、第１向き学習器７１０において、顔の向きが「斜め」であると出力された撮影画像１２３を入力とし、横向き学習器７２３は、第１向き学習器７１０において、顔の向きが「横」であると出力された撮影画像１２３を入力とする。以下、ここで出力される角度を角度情報（第３情報）と称することとする。
【００６４】
＜２−４−３．顔の器官の位置の検出のための学習器＞
次に、図４を参照しつつ顔の器官の位置の検出のために用いられる学習器について、説明する。上述したように、本実施形態においては、顔の器官の位置の検出について、６つの学習器を用いる。すなわち、撮影画像中の顔の器官の位置を検出する３種類の第１器官学習器７３０と、顔の器官の正確な位置を検出する３種類の第２器官学習器７４０（７４１〜７４３）と、が用いられる。なお、第１器官学習器７３０が、本発明の第２学習器に相当し、第２器官学習器７４０が、本発明の第４学習器に相当する。
【００６５】
図４に示すように、第１器官学習器７３０は、上記第２向き学習器７２１〜７２３と同様に、３種類準備されている。すなわち、正面を向く顔を含む撮影画像を用いて学習が行われた第１正面器官学習器７３１、斜めを向く顔を含む撮影画像を用いて学習が行われた第１斜め器官学習器７３２、及び横を向く顔を含む撮影画像を用いて学習が行われた第１横器官学習器７３３である。
【００６６】
そして、第１正面器官学習器７３１は、第１向き学習器７１０において、顔の向きが「正面」であると出力された撮影画像１２３を入力とし、ここから器官の位置を出力する。同様に、斜め器官学習器７３２は、第１向き学習器７１０において、顔の向きが「斜め」であると出力された撮影画像１２３を入力とし、第１横器官学習器７３３は、第１向き学習器７１０において、顔の向きが「横」であると出力された撮影画像１２３を入力とする。そして、本実施形態においては、一例として、マスクに隠されていない目の４つの特徴点の位置が出力されるように各学習器７３１〜７３３が設定されている。すなわち、図８に示すように、右目と左目に対し、それぞれ、目頭Ａ１、目尻Ａ２、目の輪郭の最上部Ａ３、目の輪郭の最下部Ａ４の、４つの特徴点の位置が出力される。具体的には、撮影画像１２３内の４つの特徴点の座標が得られる。以下、この出力を第１特徴点情報（第２情報）と称することとする。
【００６７】
次に、図４を参照しつつ、第２器官学習器７４０について説明する。図４に示すように、この学習器も、３種類準備されている。すなわち、正面を向く顔を含む撮影画像を用いて学習が行われた第２正面器官学習器７４１、斜めを向く顔を含む撮影画像を用いて学習が行われた第２斜め器官学習器７４２、及び横を向く顔を含む撮影画像を用いて学習が行われた第２横器官学習器７４３である。
【００６８】
そして、各学習器７４１〜７４３の入力は、次のように設定されている。すなわち、第１器官学習器７３０から出力された特徴点をそれぞれ含む部分画像を、撮影画像から切り出し、これを並べた合成画像を入力とする。例えば、図９に示すように、第１器官学習器から目に関する４つの特徴点Ａ１〜Ａ４の位置が出力されたとき、入力された撮影画像１２３から、各特徴点Ａ１〜Ａ４を中心に含む矩形状の部分画像１２４ａ〜１２４ｄを抽出する。そして、これら４つの部分画像１２４ａ〜１２４ｄを並べた合成画像１２４を生成する。部分画像１２４ａ〜１２４ｄの作成方法は、特には限定されないが、少なくとも画像による学習が可能なように、特徴点を概ね中心付近に含む所定の大きさの画像にすることができる。このような合成画像１２４は、右目及び左目について、それぞれ作成される。そして、各第２器官学習器７４１〜７４３は、右目用と左目用がそれぞれ準備され、上記各合成画像１２４を入力とし、上記４つの特徴点Ａ１〜Ａ４の位置を出力する。具体的には、撮影画像内の４つの特徴点Ａ１〜Ａ４の座標が得られる。以下、この出力を第２特徴点情報（第４情報）と称することとする。なお、第２特徴点情報は、特徴点の座標とすることもできるが、例えば、第１特徴点情報に係る座標と、第２器官学習器７４０で得られた座標とのズレ量を第２特徴点情報とすることもできる。また、右目と左目用にそれぞれ学習器は必要となるが、後述するように、左右反転させたものを利用することができる。
【００６９】
＜３．学習装置の機能的構成＞
次に、図１０を用いて、本実施形態に係る学習装置２の機能構成の一例を説明する。図１０は、本実施形態に係る学習装置２の機能構成の一例を模式的に例示する。
【００７０】
学習装置２の制御部２１は、記憶部２２に記憶された学習プログラム２２１をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開された学習プログラム２２１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図１０に示されるとおり、本実施形態に係る学習装置２は、上述した１０個の学習器ごとに１０個の学習ユニット２１０ａ〜２１０ｊを備え、各学習ユニット２１０ａ〜２１０ｊが、学習画像取得部２１１ａ〜２１１ｊ、及び学習処理部２１１ａ〜２１２ｊを備えるコンピュータとして機能する。
【００７１】
以下、図１１及び図１２を参照して、第１向き学習器７１０及び第２向き学習７２０に対する学習データについて説明する。例えば、第１向き学習器７１０に対する学習ユニット２１０ａでは、学習画像取得部２１１ａは、図１１に示すように、学習データ２２２ａとして、カメラ３で撮影した撮影画像２２３と、この撮影画像に写る顔の３つの向き（正面、斜め、横）を示す向き情報２２４１の組を取得する。
【００７２】
また、第２向き学習器７２０に対しては、３種類の学習データが用いられる。例えば、正面向き学習器７２１に対する学習ユニット２１０ｂでは、学習画像取得部２１１ｂは、図１２に示すように、学習データ２２２ｂとして、カメラ３で撮影した撮影画像のうち、向きが「正面」に分類された撮影画像２２３１と、この「正面」に分類された撮影画像２２３１に写る顔の角度を示す角度情報２２４２との組を取得する。同様に、斜め向き学習器７２２、横向き学習器７２３に対する学習ユニット２１０ｃ、２１０ｄでは、向きが「斜め」、「横」の撮影画像を含む学習データ２２２ｃ，２２２ｄを取得する。なお、左右の向きは、対象であるため、例えば、右の斜めである撮影画像は、反転して左の斜めである撮影画像として利用することができる。これにより、メモリの負荷を軽減することができる。この点については、以下の各学習ユニットにおいても同様である。
【００７３】
次に、図１３及び図１４を参照して、第１器官学習器７３０及び第２器官向き学習７３０に対する学習データについて説明する。第１器官学習器７３０に対しては、３種類の学習データが用いられる。例えば、第１正面器官学習器７３１に対する学習ユニット２１０ｅでは、学習画像取得部２１１ｅは、図１３に示すように、学習データ２２２ｅとして、カメラ３で撮影した撮影画像のうち、向きが「正面」に分類された撮影画像２２３１と、この「正面」に分類された撮影画像２２３１に写る顔の目の特徴点の位置を示す第１特徴点情報２２４３との組を取得する。同様に、第１斜め器官学習器７３２、第１横向き学習器７２３に対する学習ユニット２１０ｆ、２１０ｇでは、向きが「斜め」、「横」の撮影画像を含む学習データ２２２ｆ，２２２ｇを取得する。
【００７４】
そして、第２器官学習器７４０に対しても、３種類の学習データが用いられる。例えば、第２正面器官学習器７４１に対する学習ユニット２１０ｈでは、学習画像取得部２１１ｈは、図１４に示すように、学習データ２２２ｈとして、向きが「正面」である合成画像と、この「正面」に分類された合成画像に写る顔の目の特徴点の位置を示す第２特徴点情報との組を取得する。同様に、第２斜め器官学習器７４２、第２横向き学習器７４３に対する学習ユニット２１０ｉ、２１０ｊでは、向きが「斜め」、「横」の撮影画像を含む学習データ２２２ｉ，２２２ｊを取得する。なお、右目用と左目用の学習器をそれぞれ準備することもできるが、右目と左目は左右対称であるため、画像を反転させたものを理由することができる。
【００７５】
各学習処理部２１２ａ〜ｊは、学習データ２２２ａ〜ｊを用いて、取得した各撮影画像２２３や合成画像２２４を入力すると、上記向き情報、角度情報、第１特徴点情報、及び第２特徴点情報に対応する出力値を出力するようにニューラルネットワーク８を学習させる。
【００７６】
図１１〜図１４に示すように、学習器の一例であるニューラルネットワーク８は、入力層８１、中間層（隠れ層）８２、及び出力層８３を備え、上記ニューラルネットワーク７と同様に構成される。各層８１〜８３は、上記各層７１〜７３と同様である。学習処理部２１２ａ〜ｊは、ニューラルネットワークの学習処理により、撮影画像２２３や合成画像２２４を入力すると、上記各情報に対応する出力値を出力するニューラルネットワーク８を構築する。そして、学習処理部２１２は、構築したニューラルネットワーク８の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を学習結果データ１２２ａ〜ｊとして記憶部２２に格納する。そして、この学習結果データ１２２ａ〜ｊは、上述した種々の方法で、画像処理装置１に送信される。また、このような学習結果データ１２２を定期的に更新してもよい。そして、制御部２１は、作成した学習結果データ１２２を学習処理の実行毎に画像処理装置１に転送することで、画像処理装置１の保持する学習結果データ１２２を定期的に更新してもよい。
【００７７】
＜４．その他＞
画像処理装置１及び学習装置２の各機能に関しては後述する動作例で詳細に説明する。なお、本実施形態では、画像処理装置１及び学習装置２の各機能がいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上の機能の一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、画像処理装置１及び学習装置２それぞれの機能構成に関して、実施形態に応じて、適宜、機能の省略、置換及び追加が行われてもよい。
【００７８】
＜５．画像処理装置の動作＞
次に、図１５を参照しつつ、画像処理装置１の動作例を説明する。図１５は、画像処理装置１の処理手順の一例を例示するフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【００７９】
まず、利用者は、画像処理装置１を起動し、起動した画像処理装置１に画像処理プログラム１２１を実行させる。画像処理装置１の制御部１１は、学習結果データ１２２を参照して、ニューラルネットワーク７の構造、各ニューロン間の結合の重み及び各ニューロンの閾値の設定を行う。そして、制御部１１は、以下の処理手順に従って、撮影画像から、その撮影画像に写る顔の向きや器官の位置を検出する。
【００８０】
そして、制御部１１は、画像取得部１１１として機能し、外部インタフェース１６を介して接続されるカメラ３から、人の顔が写る撮影画像１２３を取得する（ステップＳ１０１）。上述したように、撮影画像１２３は、静止画でもよいし、動画である場合は、フレームごとに撮影画像が取得される。
【００８１】
次に、制御部１１は、遮蔽物判断部１１２として機能し、ステップＳ１０１で取得した各撮影画像１２３に遮蔽物が含まれているか否かを判断する（ステップＳ１０２）。そして、遮蔽物が含まれていないと判断された場合には（ステップＳ１０２のＮＯ）、第１検出部１１３によって撮影画像１２３から、その撮影画像１２３に写る顔の向きや器官の位置を検出する（ステップＳ１０３）。
【００８２】
一方、撮影画像１２３に遮蔽物が含まれていると判断された場合には（ステップＳ１０２のＹＥＳ）、第２検出部１１４によって撮影画像１２３から、その撮影画像１２３に写る顔の向きや器官の位置を検出する（ステップＳ１０４）。以下、第２検出部１１４による処理について、図１６を参照しつつ、さらに詳細に説明する。
【００８３】
図１６に示すように、第２検出部１１４では、まず、第１向き学習器７１０によって、撮影画像１２３から顔の向きを検出する（ステップＳ２０１）。すなわち、第１向き学習器７１０に撮影画像１２３を入力し、上述した３つの向きのいずれかに対応する出力値を得る。制御部１１は、ここで得られた向きを向き情報として記憶部１２に記憶する。続いて、制御部１１は、向き情報に対応する第２向き学習器７２１〜７２３を選択する。例えば、検出向きが正面であれば、正面向き学習器７２１を選択し、これに撮影画像１２３を入力する（ステップＳ２１１）。その結果、正面向き学習器７２１からは、この撮影画像１２３内の顔の角度に対応する出力値が得られる。そして、制御部１１は、得られた角度を角度情報として記憶部１２に記憶する。
【００８４】
次に、制御部１１は、向き情報に対応する第１器官学習器７３０を選択する。例えば、向き情報が正面であれば、第１正面器官学習器７３１を選択し、これに撮影画像１２３を入力する（ステップＳ２２１）。その結果、第１正面器官学習器７３１からは、この撮影画像内の４つの特徴点に対応する出力値が得られる。すなわち、４つの特徴点Ａ１〜Ａ４の撮影画像１２３内での座標を取得し、これを第１特徴点情報として、記憶部１２に記憶する。
【００８５】
続いて、制御部１１は、第１正面器官学習器７３１から出力された４つの特徴点を含む合成画像を生成する（ステップＳ２３１〜Ｓ２３３）。この合成画像の生成方法は、上述したとおりである。そして、制御部１１は、例えば、正面の向きに対応する第２正面器官学習器に７４１に、この合成画像を入力する（ステップＳ２４１）。その結果、第２正面器官学習器７４１からは、この合成画像内の４つの特徴点の座標に対応する出力値が得られる。そして、ここで得られた座標と第１特徴点情報に係る座標とがずれている場合には、第１特徴点情報を修正し、第２特徴点情報として記憶部１２に記憶する。こうして、１つの撮影画像に含まれる顔き、角度、目の特徴点の座標が取得される。以上は、向き情報として「正面」が出力された場合の例を示したが、「斜め」、「横」の場合も同様である。
【００８６】
＜６．特徴＞
以上のように、本実施形態によれば、撮影画像から人の顔の器官の位置を検出する第１器官学習器７３０として、第１向き学習器７１０で出力された向き情報に対応したものが用いられる。すなわち、特定の顔の向きによって学習された学習器を用いて、顔の器官の検出が行われるため、より精度の高い器官の位置を検出することができる。したがって、顔が遮蔽物で遮蔽され、ノードの取得が十分に行えず、第１検出部が利用できない場合であっても、顔の器官の位置を正確に検出することができる。
【００８７】
さらに、より高い器官の位置を検出するため、本実施形態では、第２器官学習器を用いている。この第２器官学習器は、撮影画像全体ではなく、第１器官学習器で得られた特徴点を含む部分画像によって学習が行われている。そのため、より局所的に、器官の位置の検出を行うことが可能であり、さらに精度の高い顔の器官の位置の検出が可能となる。
【００８８】
また、顔の向きについても、第２向き学習器７２２を用い、顔の角度まで検出することができる。すなわち、特定の顔の向きによって学習された学習器を用いて、顔の向きの検出が行われるため、顔の角度を検出することができる。
【００８９】
このような画像処理装置は、種々の分野に利用することかできるが、例えば、自動車に搭載することができる。具体的には、運転者の運転中の顔をカメラで撮影し、顔の角度、目の位置を検出することができる。これにより、運転者の運転中の挙動を解析することができる。例えば、運転中に顔が正面を向いていなかったり、目の特徴点の位置から目が閉じていることなどを検出することができ、これによって、運転者が運転に集中していない、眠る、などの異常行動を検出することができる。そして、このような異常行動を検出したときには、警告を発したり、あるいは自動車を緊急停止するなどの処理を行うことができる。
【００９０】
その他、人の顔の向きや器官の位置を検出し、これを利用する種々の分野に適用することができる。
【００９１】
＜７．変形例＞
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【００９２】
＜７．１＞
例えば、上記実施形態では、図５及び図６に示されるとおり、各ニューラルネットワーク（７、８）として、多層構造を有する一般的な順伝播型ニューラルネットワークを用いている。しかしながら、各ニューラルネットワーク（７、８）の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各ニューラルネットワーク（７、８）は、入力層７１及び中間層７２を畳み込み層及びプーリング層として利用する畳み込みニューラルネットワークであってもよい。また、例えば、各ニューラルネットワーク（７、８）は、中間層７２から入力層７１等のように出力側から入力側に再帰する結合を有する再帰型ニューラルネットワークであってもよい。なお、各ニューラルネットワーク（７、８）の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、及び各ニューロンの伝達関数は、実施の形態に応じて適宜決定されてよい。
【００９３】
＜７．２＞
上記実施形態では、画像処理装置１と学習器（ニューラルネットワーク）の学習を行う学習装置２とは別々のコンピュータで構成されている。しかしながら、画像処理装置１及び学習装置２の構成はこのような例に限定されなくてもよく、画像処理装置１及び学習装置２の両方の機能を有するシステムを１台又は複数台のコンピュータで実現してもよい。画像処理装置１に組み込んで使用することもできる。
【００９４】
＜７．３＞
上記実施形態では、学習器は、ニューラルネットワークにより構成されている。しかしながら、学習器の種類は、カメラ３で撮影された撮影画像１２３を入力として利用可能であれば、ニューラルネットワークに限られなくてもよく、実施の形態に応じて適宜選択されてよい。複数の撮影画像１２３を入力可能な学習器として、例えば、上記ニューラルネットワークの他、サポートベクターマシン、自己組織化マップ、又は強化学習により学習を行う学習器によって構成された学習器を挙げることができる。
【００９５】
＜７．４＞
上記実施形態では、カメラ３によって撮影された撮影画像を画像処理装置１に送信して、顔の向き等を検出しているが、カメラを用いず、予め準備された画像を画像処理装置１に送信してもよいし、予め画像処理装置３の記憶部１２に記憶されている画像から顔の向き等を検出することもできる。
【００９６】
＜７．５＞
上記実施形態では、４つの学習器７１０〜７４０を用いて、顔の向き、角度、及び特徴点の位置を検出しているが、これに限定されるものではない。例えば、第１向き学習器７１０と第１器官学習器７３０のみを用いて第２検出部１１４を構成し、顔の向き及び特徴点の位置を検出することもできる。また、第１向き学習器７１０、第１器官学習器７３０、及び第２器官学習器７４０を用いて、顔の向き、及び詳細な特徴点の位置を検出することもできる。あるいは、第１向き学習器７１０と第２向き学習器７２０を用い、顔の向きと角度を検出することもできる。また、上記実施形態では、顔の向き（正面、斜め、横）に合わせ、第２向き学習器７２０、第１器官学習器７３０、及び第２器官学習器７４０において、それぞれ、３種類の学習器を設定したが、これに限定されるものでない。すなわち、２または４以上の顔の向きを適宜決定し、これに合わせて学習器も２または４以上作成することができる。
【００９７】
＜７．６＞
上記実施形態では、第２器官学習器７４０において、合成画像１２４を入力としている。すなわち、撮影画像１２３から特徴点Ａ１〜Ａ４を含む複数の部分画像１２４ａ〜１２４ｄを切り出し、これを並べた合成画像１２４を生成し、これを第２器官学習器７４０の入力としている。しかしながら、第２器官学習器７４０の入力はこれに限定されるものではなく、種々の入力用画像を生成することができる。例えば、合成画像１２４を入力とせず、部分画像１２４ａ〜１２４ｄをそれぞれ別個に入力することができる。また、撮影画像１２３から部分画像を切り出す以外に、撮影画像全体を第２器官学習器７４０の入力とすることもできる。すなわち、入力用画像としては、第１器官学習器７３０で検出された特徴点を含んでいるのであれば、種々の態様にすることができる。
【００９８】
＜７．７＞
上記実施形態の画像処理装置１は、遮蔽物の有無を判断した後、第１検出部１１３または第２検出部１１４を用いるようにしているが、第２検出部１１４のみを搭載した画像処理装置１を用いることもできる。
【００９９】
＜７．８＞
上記実施形態では、マスクを遮蔽物とし、目を器官として位置の検出をしているが、目以外でも検出できることは言うまでもない。例えば、遮蔽物としてサングラスが着用されている場合には、口や鼻を器官として、その位置を検出することもできる。また、上記実施形態では、顔の向きとして、左右方向の向きのみを検出したが、上下方向の向き、あるいはこれらを組み合わせた向きを検出することもできる。また、顔の向きは、３種類を示したが、これに限定されず、適宜設定することができる。
【０１００】
(付記１)
第１学習器、及び少なくとも１つの第２学習器を記憶するように構成されたメモリと、
前記メモリに接続された少なくとも１つのハードウェアプロセッサと、
を備え、
前記第１学習器は、人の顔を含む画像から顔の向きを検出するための学習を行った学習済みの第１学習器であって、人の顔を含む対象画像を入力とし、前記対象画像に含まれる顔の向きに関する第１情報を出力とするように構成され、
前記第２学習器は、人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第２学習器であって、前記対象画像を入力とし、前記対象画像に含まれる顔の器官の位置に関する第２情報を出力とするように構成され、
前記少なくとも１つのハードウェアプロセッサは、
前記第１学習器によって、前記対象画像から前記第１情報を取得し、
前記第１情報に対応する前記第２学習器によって、前記対象画像から前記第２情報を取得するように構成されている、画像処理装置。
【０１０１】
(付記２)
人の顔を含む画像から顔の向きを検出するための学習を行った学習済みの第１学習器を準備するステップと、
少なくとも１つのハードウェアプロセッサにより、前記第１学習器によって、人の顔を含む対象画像から、前記人の顔の向きに関する第１情報を取得するステップと、
人の顔を含む画像から顔の器官の位置を検出するための学習を、前記第１情報ごとに行った、少なくとも１つの学習済みの第２学習器を準備するステップと、
少なくとも１つのハードウェアプロセッサにより、前記第１学習器で出力された前記第１情報に対応した前記第２学習器によって、前記対象画像から、前記対象画像に含まれる顔の器官の位置に関する第２情報を出力するステップと、
を備えている、画像処理方法。
【符号の説明】
【０１０２】
１…画像処理装置、１００…画像処理システム、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…出力装置、１６…外部インタフェース、
１７…ドライブ、
１１１…画像取得部、１１２…遮蔽物検出部、
１１３…第１検出部、１１４…第２検出部、
１２１…画像処理プログラム、１２２…学習結果データ、
１２３…撮影画像（対象画像）、
２…学習装置、
２１…制御部、２２…記憶部、２３…通信インタフェース、
２４…入力装置、２５…出力装置、２６…外部インタフェース、
２７…ドライブ、
２１１…学習画像取得部、２１２…学習処理部、
２２１…学習プログラム、２２２…学習データ、
３…カメラ、
７…ニューラルネットワーク、
７１…入力層、７２…中間層（隠れ層）、７３…出力層、
８…ニューラルネットワーク、
８１…入力層、８２…中間層（隠れ層）、８３…出力層、
９１・９２…記憶媒体
【図１】
2018151938.tif 000003
【図２】
2018151938.tif 000004
【図３】
2018151938.tif 000005
【図４】
2018151938.tif 000006
【図５Ａ】
2018151938.tif 000007
【図５Ｂ】
2018151938.tif 000008
【図６】
2018151938.tif 000009
【図７】
2018151938.tif 000010
【図８】
2018151938.tif 000011
【図９】
2018151938.tif 000012
【図１０】
2018151938.tif 000013
【図１１】
2018151938.tif 000014
【図１２】
2018151938.tif 000015
【図１３】
2018151938.tif 000016
【図１４】
2018151938.tif 000017
【図１５】
2018151938.tif 000018
【図１６】
2018151938.tif 000019