(58)【調査した分野】(Int.Cl.,DB名)
前記第1検出部が前記第1領域を探索する間隔及び前記第2検出部が前記第2領域を探索する間隔よりも粗い間隔で前記撮像画像を探索することで、前記対象物が映ると推定される粗推定領域を検出する粗検出部を更に備え、
前記第1検出部は、前記粗検出部により検出された前記粗推定領域の近傍範囲内で前記第1領域を検出し、
前記第2検出部は、前記粗検出部により検出された前記粗推定領域の近傍範囲内で前記第2領域を検出する、
請求項1に記載の画像解析装置。
前記第1検出部が検出した前記第1領域の数及び前記第2検出部が検出した前記第2領域の数の差が所定の条件を満たすように、前記第1領域の数が前記第2領域の数よりも多い場合、前記対象物は前記遮蔽物により遮蔽されていないと前記判定部は判定し、
前記第1検出部が検出した前記第1領域の数及び前記第2検出部が検出した前記第2領域の数の差が所定の条件を満たすように、前記第2領域の数が前記第1領域の数よりも多い場合、前記対象物は前記遮蔽物により遮蔽されていると前記判定部は判定し、
前記第1検出部が検出した前記第1領域の数及び前記第2検出部が検出した前記第2領域の数の差が所定の条件を満たさない場合、前記判定部は、以前に取得した前記撮像画像に対する、前記対象物が前記遮蔽物により遮蔽されているか否かの判定結果に基づいて、前記対象物が前記遮蔽物により遮蔽されているか否かを判定する、
請求項1から3のいずれか1項に記載の画像解析装置。
前記第1検出部が複数の前記第1領域を検出し、かつ前記判定部が、前記対象物は前記遮蔽物により遮蔽されていないと判定した場合には、前記領域特定部は、当該複数の第1領域を結合することで、前記対象物が映る対象物領域を特定し、
前記第2検出部が複数の前記第2領域を検出し、かつ前記判定部が、前記対象物は前記遮蔽物により遮蔽されていると判定した場合には、前記領域特定部は、当該複数の第2領域を結合することで、前記対象物が映る前記対象物領域を特定する、
請求項1から4のいずれか1項に記載の画像解析装置。
前記第1検出部が検出した前記第1領域の数及び前記第2検出部が検出した前記第2領域の数の差が所定の条件を満たさない場合に、以前に取得した前記撮像画像に対して前記対象物は前記遮蔽物により遮蔽されていると判定しており、かつ前記第1領域の数が前記第2領域の数よりも多いとき、又は以前に取得した前記撮像画像に対して前記対象物は前記遮蔽物により遮蔽されていないと判定しており、かつ前記第2領域の数が前記第1領域の数よりも多いときには、前記判定部は、前記対象物が前記遮蔽物により遮蔽されているか否かの特定は困難であると判定し、
前記対象物が前記遮蔽物により遮蔽されているか否かの特定は困難であると判定した場合、前記領域特定部は、前記第1検出部の検出した前記第1領域及び前記第2検出部の検出した前記第2領域を結合することで、前記対象物が映る前記対象物領域を特定する、
請求項1から5のいずれか1項に記載の画像解析装置。
【発明を実施するための形態】
【0022】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0023】
§1 適用例
まず、
図1を用いて、本発明が適用される場面の一例について説明する。
図1は、本実施形態に係る画像解析装置1の適用場面の一例を模式的に例示する。
【0024】
図1に示されるとおり、本実施形態に係る画像解析装置1は、人物をカメラ3により撮像することにより得られる撮像画像31から当該人物の顔の映る領域(以下、「顔領域」とも記載する)を抽出するコンピュータである。人物の顔は、本発明の「検出対象となる対象物」の一例である。
【0025】
具体的に、画像解析装置1は、人物の顔の映る撮像画像31をカメラ3から繰り返し取得する。この撮像画像31に映る人物は顔にマスクを着用している可能性がある。すなわち、撮像画像31に映る人物の顔はマスクにより遮蔽されている可能性がある。この人物の装着し得るマスクは、本発明の「遮蔽物」の一例である。人物が顔にマスクを着用しているのとしていないのとでは、撮像画像31内の人物の顔が映る範囲の画像は大きく相違し得る。
【0026】
そこで、本実施形態に係る画像解析装置1は、取得される撮像画像31内で、マスクにより遮蔽されていない状態の顔が映っていると推定される第1領域を検出する。また、画像解析装置1は、取得される撮像画像31内で、マスクにより遮蔽されている状態の顔が映ると推定される第2領域を検出する。そして、画像解析装置1は、取得される撮像画像31に対して、人物の顔がマスクにより遮蔽されているか否か、換言すると、人物が顔にマスクを装着しているか否かを判定する。
【0027】
本実施形態に係る画像解析装置1は、繰り返し取得する撮像画像31に対して、このような第1領域及び第2領域の検出、並びに人物が顔にマスクを装着しているか否かの判定の処理を実行する。これら処理を繰り返し実行すると、画像解析装置1は、人物が顔にマスクを装着しているか否かを過去に判定した結果を蓄積することができる。画像解析装置1は、この過去の判定結果を利用して、現ステップで取得された撮像画像31に対して、人物が顔にマスクを装着しているか否かの判定を実施する。
【0028】
すなわち、画像解析装置1は、第1領域及び第2領域の検出結果、並びに以前に取得した撮像画像31に対する、人物が顔にマスクを装着しているか否かの判定結果に基づいて、現ステップで取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かを判定する。そして、画像解析装置1は、この判定結果に従って、第1領域及び第2領域の検出結果のうちいずれの検出結果を利用するかを選択し、選択した検出結果に基づいて、人物の顔が映る顔領域を特定する。この顔領域は、本発明の「対象物領域」に相当する。
【0029】
以上のとおり、本実施形態に係る画像解析装置1は、マスクを装着していない状態及びマスクを装着した状態それぞれを考慮した顔の個別の検出結果だけではなく、以前に取得した撮像画像31に対する判定結果を利用して、現ステップで取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かを判定する。これによって、以前の判定結果を利用して、各状態を考慮した顔の検出結果の信頼性を評価することができる。加えて、各状態に対する検出結果では、人物が顔にマスクを装着しているか否かの特定が困難である場合に、以前の判定結果に従って、人物が顔にマスクを装着しているか否かを特定することができる。そのため、本実施形態によれば、人物が顔にマスクを装着しているか否かの判定の精度を高めることができる。
【0030】
§2 構成例
[ハードウェア構成]
次に、
図2を用いて、本実施形態に係る画像解析装置1のハードウェア構成の一例について説明する。
図2は、本実施形態に係る画像解析装置1のハードウェア構成の一例を模式的に例示する。
【0031】
図2に示されるとおり、本実施形態に係る画像解析装置1は、制御部11、記憶部12、外部インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。なお、
図2では、外部インタフェースを「外部I/F」と記載している。
【0032】
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素を制御する。記憶部12は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成され、画像解析プログラム8、制御部11で利用するデータ等を記憶する。記憶部12は、「メモリ」に相当する。画像解析プログラム8は、画像解析装置1に後述する人物の顔を抽出する情報処理(
図4)を実行させるためのプログラムである。詳細は後述する。
【0033】
外部インタフェース13は、外部装置と接続するためのインタフェースであり、接続する外部装置に応じて適宜構成される。本実施形態では、この外部インタフェース13を介して、画像解析装置1にカメラ3が接続される。カメラ3は、実施の形態に応じて適宜配置されてよい。例えば、車両を運転する運転者の顔を検出するのに画像解析装置1を利用する場合には、カメラ3は、運転席に着いた運転者を撮影するように配置されてもよい。また、例えば、街頭を歩く人物の顔を検出するのに画像解析装置1を利用する場合には、カメラ3は、街頭を撮影するように配置されてもよい。また、例えば、工場内の作業者の顔を検出するのに画像解析装置1を利用する場合には、カメラ3は、工場内の作業者を撮影可能な場所に配置されてよい。このカメラ3は、ネットワークを介して、画像解析装置1に接続されてもよい。
【0034】
入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を介して、画像解析装置1を操作することができる。
【0035】
ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体9に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体9の種類に応じて適宜選択されてよい。上記画像解析プログラム8は、この記憶媒体9に記憶されていてもよい。
【0036】
記憶媒体9は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。画像解析装置1は、この記憶媒体9から、上記画像解析プログラム8を取得してもよい。
【0037】
ここで、
図2では、記憶媒体9の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体9の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【0038】
なお、画像解析装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)等で構成されてよい。また、例えば、画像解析装置1は、ネットワークを介して他の装置とデータ通信を行うための通信モジュールを備えてもよい。画像解析装置1は、複数台の情報処理装置で構成されてもよい。また、画像解析装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のデスクトップPC(Personal Computer)、タブレットPC等であってもよい。
【0039】
[機能構成]
次に、
図3を用いて、本実施形態に係る画像解析装置1の機能構成の一例を説明する。
図3は、本実施形態に係る画像解析装置1の機能構成の一例を模式的に例示する。
【0040】
画像解析装置1の制御部11は、記憶部12に記憶された画像解析プログラム8をRAMに展開する。そして、制御部11は、RAMに展開された画像解析プログラム8をCPUにより解釈及び実行して、各構成要素を制御する。これによって、
図3に示されるとおり、本実施形態に係る画像解析装置1は、画像取得部111、粗検出部112、第1検出部113、第2検出部114、判定部115、領域特定部116、及び誤検出判定部117を備えるコンピュータとして機能する。
【0041】
画像取得部111は、人物の顔の映る撮像画像31をカメラ3から繰り返し取得する。粗検出部112は、取得される撮像画像31内において、後述する第1検出部113及び第2検出部114の探索間隔よりも荒い間隔で、マスクの装着の有無に関わらず人物の顔が映る領域を探索する。これにより、粗検出部112は、取得される撮像画像31内で、人物の顔が映ると推定される粗推定領域を検出する。
【0042】
第1検出部113は、取得される撮像画像31内で検出された粗推定領域の近傍範囲内において、粗検出部112よりも密な間隔で、マスクを装着していない状態の顔が映る領域を探索する。これにより、第1検出部113は、取得される撮像画像31内で、マスクを装着していない状態の顔が映ると推定される第1領域を検出する。第2検出部114は、取得される撮像画像31内で検出された粗推定領域の近傍範囲内において、粗検出部112よりも密な間隔で、マスクを装着している状態の顔が映る領域を探索する。これにより、第2検出部114は、取得される撮像画像31内で、マスクを装着している状態の顔が映ると推定される第2領域を検出する。
【0043】
判定部115は、取得される撮像画像31に対して、人物が顔にマスクを装着しているか否かを判定する。特に、顔を抽出する一連の処理を繰り返し実行する過程で、判定部115は、第1検出部113及び第2検出部114の検出結果、並びに以前に取得した撮像画像31に対する、人物が顔にマスクを装着しているか否かの判定結果に基づいて、現ステップで取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かを判定する。
【0044】
領域特定部116は、上記判定部115の判定結果に従って、第1検出部113及び第2検出部114の第1領域及び第2領域の検出結果のうちいずれの検出結果を利用するかを選択し、選択した検出結果に基づいて、人物の顔が映る顔領域を特定する。誤検出判定部117は、特定した顔領域内で人物の顔の検出を再度実施することで、特定した顔領域が誤検出されたものであるか否かを判定する。
【0045】
画像解析装置1の各機能に関しては後述する動作例で詳細に説明する。なお、本実施形態では、画像解析装置1の各機能がいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上の機能の一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、画像解析装置1の機能構成に関して、実施形態に応じて、適宜、機能の省略、置換及び追加が行われてもよい。
【0046】
§3 動作例
次に、
図4を用いて、画像解析装置1の動作例を説明する。
図4は、画像解析装置1の処理手順の一例を例示するフローチャートである。以下で説明する人物の顔が映る顔領域を抽出する処理手順は、本発明の「画像解析方法」に相当する。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0047】
(ステップS101)
ステップS101では、制御部11は、画像取得部111として機能し、人物の顔の映る撮像画像31をカメラ3から取得する。撮像画像31を取得すると、制御部11は、次のステップS102に処理を進める。取得する撮像画像31は、動画像であってもよいし、複数の静止画像であってもよい。以下では、説明の便宜のため、制御部11は、動画像の1フレーム又は1枚の静止画像を取得した後に、次のステップS102に処理を進めるものとする。ただし、本ステップS101の処理は、このような例に限定されなくてもよい。制御部11は、本ステップS101の処理として、複数フレームで構成される動画像を取得してもよいし、複数枚の静止画像を取得してもよい。
【0048】
(ステップS102)
ステップS102では、制御部11は、粗検出部112として機能し、ステップS101で取得した撮像画像31内において、人物の顔が映る領域の粗い探索を行う。すなわち、制御部11は、取得した撮像画像31内において、後述するステップS103及びS104により第1領域及び第2領域を探索する間隔よりも粗い間隔で、人物の顔が映る領域を探索する。これにより、制御部11は、取得した撮像画像31内で、人物の顔が映ると推定される粗推定領域を検出する。
【0049】
ここで、
図5を用いて、本ステップS102の処理を詳細に説明する。
図5は、本ステップS102の処理の一例を模式的に例示する。
図5に示すとおり、制御部11は、例えば、所定数のピクセル間隔(
図5の例では、8ピクセル)で、取得した撮像画像31内において、人物の顔が映る領域を探索する。探索の間隔は、実施の形態に応じて適宜設定されてよい。
【0050】
人物の顔が映ると推定される粗推定領域を検出する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、人物の顔が映ると推定される粗推定領域の検出には、テンプレートマッチング等の公知の画像処理手法が用いられてもよいし、ニューラルネットワーク、自己組織化マップ等の機械学習により構築された識別器が用いられてもよい。以下では、テンプレートマッチングにより、粗推定領域を検出する方法を説明する。
【0051】
図5は、テンプレートマッチングにより、人物の顔が映ると推定される粗推定領域を検出する例を示している。
図5のハッチングされたピクセルは、テンプレートの左上隅のピクセルを合わせる位置を示している。すなわち、制御部11は、撮影画像31内の所定範囲内の領域とテンプレートとの比較(照合)を、当該撮像画像31内の任意の基準位置から所定の探索間隔おきに実施する。これにより、制御部11は、テンプレートと所定の閾値以上に適合する領域を、人物の顔の映ると推定される粗推定領域として検出する。なお、本ステップS102で利用されるテンプレートは、マスクの装着の有無に関わらず顔が映っているか否かを検出するために、対象画像(撮像画像31)と比較する基準となる顔画像データである。
【0052】
なお、上記のとおり、粗推定領域を検出する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、撮像画像を入力すると、当該撮像画像内における粗推定領域の位置及び大きさを出力するように学習させた学習済みのニューラルネットワークが用いられてもよい。この場合、制御部11は、学習済みのニューラルネットワークに撮像画像31を入力し、入力層から順方向に発火判定の演算を実施することで、粗推定領域の位置及び大きさを示す情報を取得することができる。
【0053】
本ステップS102では、マスクを装着した状態及びマスクを装着していない状態のいずれの状態であっても顔が映ると推定される粗推定領域を検出することができるように、制御部11は、当該粗推定領域の検出を粗い精度で実施する。これにより、制御部11は、マスクを装着している又はマスクを装着していない状態の顔が映ると推定される粗推定領域を検出することができる。粗推定領域の検出が完了すると、制御部11は、次のステップS103に処理を進める。
【0054】
(ステップS103及びステップS104)
図4に戻り、ステップS103では、制御部11は、第1検出部113として機能し、取得した撮像画像31内で、マスクを装着していない状態の顔が映ると推定される第1領域を検出する。本実施形態では、ステップS102により、人物の顔が映る領域の粗い検出が行われている。そのため、制御部11は、本ステップ103では、撮像画像31内で検出された粗推定領域の近傍範囲内において、ステップS102よりも密な間隔で、マスクを装着していない状態の顔が映る領域を探索する。これにより、制御部11は、撮像画像31内で、マスクを装着していない状態の顔が映ると推定される第1領域を検出する。
【0055】
一方、ステップS104では、制御部11は、第2検出部114として機能し、取得した撮像画像31内で、マスクを装着している状態の顔が映ると推定される第2領域を検出する。具体的には、上記ステップS103のように、制御部11は、撮像画像31内で検出された粗推定領域の近傍範囲内において、ステップS102よりも密な間隔で、マスクを装着している状態の顔が映る領域を探索する。これにより、制御部11は、撮像画像31内で、マスクを装着している状態の顔が映ると推定される第2領域を検出する。
【0056】
ここで、
図6を用いて、本ステップS103及びS104の処理を詳細に説明する。
図6は、本ステップS103及びS104の処理の一例を模式的に例示する。
図6に示されるとおり、上記ステップS102により粗推定領域311を検出すると、制御部11は、粗推定領域311の近傍範囲312を設定する。近傍範囲312は、粗推定領域311を含み、粗推定領域311の周囲の少なくともいずれかの方向に任意数のピクセル分だけ当該粗推定領域311を拡げた範囲である。
図6の例では、制御部11は、粗推定領域311を周囲の各方向に2ピクセル分拡げた範囲を近傍範囲312に設定している。
【0057】
ステップS103及びS104では、制御部11は、この設定した近傍範囲312内で、マスクを装着していない状態の顔及びマスクを装着した状態の顔を密に探索する。ステップS103及びS104における探索の間隔は、上記ステップS102における探索の間隔よりも短ければ、実施の形態に応じて設定されてよい。例えば、制御部11は、1ピクセル間隔で、マスクを装着していない状態の顔及びマスクを装着した状態の顔を探索してもよい。
【0058】
第1領域及び第2領域を検出する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、第1領域及び第2領域の検出には、上記ステップS102と同様に、テンプレートマッチング等の公知の画像処理手法が用いられてもよいし、ニューラルネットワーク、自己組織化マップ等の機械学習により構築された識別器が用いられてもよい。
図6は、テンプレートマッチングにより、第1領域及び第2領域を検出する例を示している。具体的な手法は、上記ステップS102と同様でよい。すなわち、制御部11は、テンプレートと所定範囲の画像との比較(照合)することで、第1領域及び第2領域を検出してもよい。このとき、テンプレートと照合した範囲が、検出される第1領域及び第2領域の範囲となる。また、制御部11は、ニューラルネットワークを用いて、第1領域及び第2領域を検出してもよい。
【0059】
なお、本ステップS103及びS104では、マスクを装着した状態の顔とマスクを装着していない状態の顔とを区別して検出することができるように、制御部11は、上記ステップS102よりも、第1領域及び第2領域の検出を高い精度で実施する。例えば、本ステップS103及びS104では、上記ステップS102と同様のテンプレートを用いるのではなく、マスクを装着した顔の基準となる画像データ及びマスクを装着していない顔の基準となる画像データをテンプレートとして用いてもよい。これにより、制御部11は、ステップS103及びS104の処理を実行することで、マスクを装着していない状態の顔が映ると推定される第1領域、及びマスクを装着している状態の顔が映ると推定される第2領域を区別して検出することができる。第1領域及び第2領域の検出が完了すると、制御部11は、次のステップS105に処理を進める。
【0060】
(ステップS105)
図4に戻り、ステップS105では、制御部11は、判定部115として機能し、上記ステップS103及びS104の検出結果、並びに以前の処理における判定結果に基づいて、現処理で取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かを判定する。ただし、初回の動作では、以前の判定結果が存在しない。そのため、初回の動作の際は、制御部11は、上記ステップS103及びS104の検出結果に基づいて、現処理で取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かを判定する。
【0061】
例えば、制御部11は、第1領域及び第2領域の信頼度に基づいて、取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かを判定してもよい。すなわち、第1領域の信頼度が第2領域の信頼度よりも高い場合に、制御部11は、撮像画像31内に映る人物は顔にマスクを装着していないと判定してもよい。また、第2領域の信頼度が第1領域の信頼度よりも高い場合に、制御部11は、撮像画像31内に映る人物は顔にマスクを装着していると判定してもよい。更に、第1領域の信頼度が第2領域の信頼度と同程度である場合、制御部11は、撮像画像31内に映る人物が顔にマスクを装着しているか否かの特定は困難であると判定してもよい。なお、上記ステップS103及びS104において、第1領域及び第2領域をパターンマッチングにより検出する場合、テンプレートとの適合率を信頼度として利用することができる。また、ニューラルネットワークを用いて第1領域及び第2領域を検出する場合、第1領域又は第2領域を入力すると、入力した領域に映る被写体が人物の顔である確率を出力するように学習したニューラルネットワークを更に利用してもよい。この場合、ニューラルネットワークから出力される確率を信頼度として利用することができる。
【0062】
また、例えば、上記ステップS103及びS104において、第1領域及び第2領域をパターンマッチングにより検出する場合、マスクを装着していない状態又はマスクを装着した状態の顔が映っている領域の周辺で複数の第1領域又は第2領域が検出され得る。そこで、制御部11は、検出された第1領域及び第2領域の数に基づいて、取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かを判定してもよい。
【0063】
この判定方法の一例として、ステップS103で検出した第1領域の数及びステップS104で検出した第2領域の数の差が所定の条件を満たすように、当該第1領域の数が当該第2領域の数よりも多い場合に、制御部11は、撮像画像31内に映る人物は顔にマスクを装着していないと判定してもよい。また、ステップS103で検出した第1領域の数及びステップS104で検出した第2領域の数の差が所定の条件を満たすように、当該第2領域の数が当該第1領域の数よりも多い場合に、制御部11は、撮像画像31内に映る人物は顔にマスクを装着していると判定してもよい。更に、ステップS103で検出した第1領域の数及びステップS104で検出した第2領域の数の差が所定の条件を満たさない場合に、制御部11は、撮像画像31内に映る人物が顔にマスクを装着しているか否かの特定は困難であると判定してもよい。
【0064】
ステップS103で検出した第1領域の数及びステップS104で検出した第2領域の数の差が所定の条件を満たすか否かは、所定の閾値によって判定されてもよい。すなわち、制御部11は、第1領域の数及び第2領域の数の差が所定の閾値以上である場合に、当該第1領域の数及び第2領域の数の差が所定の条件を満たすと判定してもよい。また、制御部11は、第1領域の数及び第2領域の数の差が所定の閾値未満である場合に、当該第1領域の数及び第2領域の数の差が所定の条件を満たさないと判定してもよい。この場合、所定の閾値は、実施の形態に応じて適宜設定されてよい。
【0065】
例えば、所定の閾値が3に設定されている場合に、検出された第1領域の数が6つであり、検出された第2領域の数が1つであるとき、制御部11は、撮像画像31内に映る人物は顔にマスクを装着していないと判定する。また、検出された第1領域の数が1つであり、検出された第2領域の数が6つであるとき、制御部11は、撮像画像31内に映る人物は顔にマスクを装着していると判定する。更に、検出された第1領域の数が3つであり、検出された第2領域の数が4つであるとき、制御部11は、撮像画像31内に映る人物が顔にマスクを装着しているか否かの特定は困難であると判定する。
【0066】
なお、以下では、説明の便宜のため、制御部11は、上記のとおり、第1領域の数及び第2領域の数の差が所定の閾値以上であるか否かによって、当該第1領域の数及び第2領域の数の差が所定の条件を満たすか否かを判定するものとする。ただし、第1領域の数及び第2領域の数の差が所定の条件を満たすか否かを判定する方法は、上記のような例に限定されなくてもよい。例えば、制御部11は、第1領域の数及び第2領域の数の比に基づいて、第1領域の数及び第2領域の数の差が所定の条件を満たすか否かをしてもよい。この場合、所定の条件を満たすか否かの基準となる閾値が、第1領域の数及び第2領域の数の比に対して適宜設定されてよい。
【0067】
以上のような方法により、取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かを判定すると、制御部11は、次のステップS106に処理を進める。
【0068】
(ステップS106)
ステップS106では、制御部11は、ステップS105の判定結果に従って、上記ステップS103及びS104の検出結果のうちいずれの検出結果を利用するかを選択する。そして、制御部11は、選択した検出結果に基づいて、人物の顔が映る顔領域の範囲を特定する。
【0069】
なお、上記ステップS103及びS104では、複数の第1領域及び複数の第2領域が検出される可能性がある。そこで、ステップS103で複数の第1領域を検出し、かつステップS105で人物が顔にマスクを装着していないと判定した場合には、制御部11は、検出された複数の第1領域を結合することで、人物の顔が映る顔領域の範囲を特定する。また、ステップS104で複数の第2領域を検出し、かつステップS105で人物が顔にマスクを装着していると判定した場合には、制御部11は、検出された複数の第2領域を結合することで、人物の顔が映る顔領域の範囲を特定する。更に、ステップS105において、人物が顔にマスクを装着しているか否かの特定は困難であると判定した場合には、制御部11は、上記ステップS103及びS104で検出した第1領域及び第2領域を結合することで、人物の顔が映る顔領域の範囲を特定する。
【0070】
ここで、
図7を用いて、本ステップS106により複数の領域を結合する処理を詳細に説明する。
図7は、本ステップS106により複数の領域を結合する処理の一例を模式的に例示する。
図7は、検出された複数(
図7では、4つ)の推定領域313を結合して、人物の顔が映る顔領域314の範囲を特定する場面を例示している。
【0071】
ステップS105で人物が顔にマスクを装着していないと判定した場合には、ステップS103で検出された第1領域が推定領域313となる。ステップS105で人物が顔にマスクを装着していると判定した場合には、ステップS104で検出された第2領域が推定領域313となる。ステップS105において、人物が顔にマスクを装着しているか否かの特定は困難であると判定した場合には、ステップS103及びS104で検出された第1領域及び第2領域がそれぞれ推定領域313となる。
【0072】
図7の例では、制御部11は、推定領域313の重心位置の平均値を算出し、算出した重心位置の平均値を顔領域314の重心位置としている。また、制御部11は、推定領域313の各辺の平均値を算出し、算出した各辺の平均値を顔領域314の各辺の長さとしている。これにより、制御部11は、複数の推定領域313を結合して、人物の顔が映る顔領域314の範囲を特定することができる。
【0073】
なお、複数の領域を結合する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、重心位置及び各辺の平均値を単純に算出するのではなく、制御部11は、各推定領域313の信頼度に応じて、当該各推定領域313の比重を定めてもよい。これにより、人物の顔が映る顔領域314を的確に特定することができる。
【0074】
(ステップS107)
図4に戻り、ステップS107では、制御部11は、誤検出判定部117として機能し、ステップS106で特定した顔領域内で人物の顔の検出を再度実施することで、当該特定した顔領域が誤検出されたものであるか否かを判定する。
【0075】
具体的には、ステップS105で人物が顔にマスクを装着していないと判定した場合には、制御部11は、マスクを装着していない状態の顔の検出を顔領域内で試みる。ステップS105で人物が顔にマスクを装着していると判定した場合には、制御部11は、マスクを装着している状態の顔の検出を顔領域内で試みる。ステップS105において、人物が顔にマスクを装着しているか否かの特定は困難であると判定した場合には、制御部11は、マスクを装着していない状態及びマスクを装着している状態の顔の検出を顔領域内で試みる。なお、マスクを装着していない状態及びマスクを装着している状態の顔の検出は、上記ステップS103及びS104と同様の方法により行われてよい。人物の顔の検出が完了すると、制御部11は、次のステップS108に処理を進める。
【0076】
(ステップS108及びS109)
ステップS108では、制御部11は、ステップS107の処理により顔領域内で人物の顔が検出できたか否かを判定する。ステップS107の処理により顔領域内で人物の顔が検出できた場合には、制御部11は、ステップS109を省略し、次のステップS110に処理を進める。他方、ステップS107の処理により顔領域内で人物の顔が検出できなかった場合には、制御部11は、次のステップS109の処理を実行し、顔領域の検出結果を破棄する。例えば、制御部11は、ステップS106で特定した顔領域は、人物の顔以外の対象物が映る領域であると認定する。そして、顔領域の検出結果を後、制御部11は、次のステップS110に処理を進める。
【0077】
(ステップS110)
ステップS110では、制御部11は、撮像画像31から人物の顔が映る領域を検出する一連の画像解析を終了するか否かを判定する。顔領域を検出する一連の画像解析を終了すると判定した場合には、制御部11は、本動作例に係る処理を終了する。一方、顔領域を検出する一連の画像解析を終了しないと判定した場合には、制御部11は、ステップS101から処理を繰り返す。
【0078】
なお、顔領域を検出する一連の画像解析を終了する条件は、実施の形態に応じて設定されてよい。例えば、オペレータにより、終了するための操作が行われた際に、制御部11は、顔領域を検出する一連の画像解析を終了すると判定してもよい。
【0079】
[2周目以降]
顔領域を検出する一連の画像解析の2周目以降の動作について、制御部11は、基本的には、ステップS101〜S110の処理を上記と同様に実行する。ただし、本実施形態では、制御部11は、ステップS102及びS105の処理では、以下のとおり、以前の処理結果を利用する。
【0080】
(ステップS102)
ステップS102では、制御部11は、以前に取得した撮像画像31内で特定した顔領域の近傍範囲内で粗推定領域を検出する。すなわち、2周目以降の画像解析では、制御部11は、以前に特定した顔領域の近傍範囲内に絞って、粗推定領域の検出を実施する。
【0081】
ここで、
図8を用いて、顔領域を検出する一連の画像解析の2周目以降における本ステップS102の処理を詳細に説明する。
図8は、顔領域を検出する一連の画像解析の2周目以降の本ステップS102の処理の一例を模式的に例示する。
図8に示すとおり、制御部11は、以前に取得した撮像画像31内で特定した顔領域314に基づいて、当該顔領域314の近傍範囲315を設定する。
【0082】
近傍範囲315は、以前に特定した顔領域314を含み、以前に特定した顔領域314の周囲の少なくともいずれかの方向に任意数のピクセル分だけ当該顔領域314を拡げた範囲である。周囲に拡げる量は、顔領域314を特定した以前の撮像画像31を取得した時点から現処理で撮像画像31を取得した時点までに人物の顔が動き得る範囲に応じて設定されるのが好ましい。
図8の例では、制御部11は、以前に特定した顔領域314を周囲の各方向に4ピクセル分拡げた範囲を近傍範囲315に設定している。
【0083】
制御部11は、この設定した近傍範囲315内において、上記と同様に、人物の顔が映る領域の粗い探索を行う。なお、「以前に取得した撮像画像」とは、現処理の直前の処理で取得した撮像画像であってもよいし、所定回数前の処理で取得した撮像画像であってもよいし、現処理の直前から所定回数前の処理までで取得した各撮像画像を平均したものであってもよい。
【0084】
(ステップS105)
ステップS105では、制御部11は、上記のとおり、ステップS103及びS104の検出結果、並びに以前の処理における判定結果に基づいて、現処理で取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かを判定する。すなわち、2周目以降の画像解析では、制御部11は、以前に取得した撮像画像31に対する、人物が顔にマスクを装着しているか否かの判定結果を利用して、現処理で取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かを判定する。
【0085】
以前の処理における判定結果を利用する方法は、実施の形態に応じて適宜選択されてよい。例えば、ステップS103で検出した第1領域の数及びステップS104で検出した第2領域の数の差が所定の閾値以上であり、当該第1領域の数が当該第2領域の数よりも多い場合に、制御部11は、撮像画像31内に映る人物は顔にマスクを装着していないと判定してもよい。また、ステップS103で検出した第1領域の数及びステップS104で検出した第2領域の数の差が所定の閾値以上であり、当該第2領域の数が当該第1領域の数よりも多い場合に、制御部11は、撮像画像31内に映る人物は顔にマスクを装着していると判定してもよい。そして、ステップS103で検出した第1領域の数及びステップS104で検出した第2領域の数の差が所定の閾値未満である場合に、制御部11は、以前の処理における判定結果に基づいて、現処理で取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かを判定してもよい。なお、2周目以降の動作時の上記各判定の基準となる閾値は、初回の動作時の閾値と相違していてもよい。
【0086】
また、検出した第1領域の数及び第2領域の数の差が所定の閾値未満である場合に、制御部11は、以前の処理における判定結果を維持してもよい。すなわち、現処理で検出した第1領域の数及び第2領域の数の差が所定の閾値未満である場合に、以前の処理において人物は顔にマスクを装着していないと判定していたときには、制御部11は、現処理で取得した撮像画像31に映る人物は顔にマスクを装着していないと判定してもよい。同様に、現処理で検出した第1領域の数及び第2領域の数の差が所定の閾値未満である場合に、以前の処理において人物は顔にマスクを装着していると判定していたときには、制御部11は、現処理で取得した撮像画像31に映る人物は顔にマスクを装着していると判定してもよい。
【0087】
また、検出した第1領域の数及び第2領域の数の差が所定の閾値未満である場合に、制御部11は、以下のとおりに場合分けをしてもよい。
(a)以前に取得した撮像画像31に対して人物はマスクを装着していないと判定しており、かつ現処理で検出した第1領域の数が第2領域の数よりも多いとき
(b)以前に取得した撮像画像31に対して人物はマスクを装着していると判定しており、かつ現処理で検出した第2領域の数が第1領域の数よりも多いとき
(c)以前に取得した撮像画像31に対して人物はマスクを装着していると判定しており、かつ現処理で検出した第1領域の数が第2領域の数よりも多いとき
(d)以前に取得した撮像画像31に対して人物はマスクを装着していないと判定しており、かつ現処理で検出した第2領域の数が第1領域の数よりも多いとき
そして、(a)及び(b)のときには、制御部11は、以前の処理における判定結果を維持してもよい。すなわち、(a)のときには、制御部11は、現処理で取得した撮像画像31に映る人物は顔にマスクを装着していないと判定してもよい。また、(b)のときには、制御部11は、現処理で取得した撮像画像31に映る人物は顔にマスクを装着していると判定してもよい。一方、(c)及び(d)のときには、制御部11は、現処理で取得した撮像画像31内に映る人物が顔にマスクを装着しているか否かの特定は困難であると判定してもよい。
【0088】
[作用・効果]
以上のとおり、本実施形態に係る画像解析装置1は、ステップS105の判定処理では、ステップS103及びS104の個別の状態の検出結果だけではなく、以前の処理における判定結果を利用する。これにより、例えば、第1領域及び第2領域の検出数では、人物が顔にマスクを装着しているか否かを特定し難い場合に、以前の処理における判定結果に従って、人物が顔にマスクを装着しているか否かを特定することができる。また、例えば、第1領域及び第2領域の検出数の多寡が以前の処理における判定結果と一致しているか否かに基づいて、各状態を考慮した顔の検出結果の信頼性を評価することができる。したがって、本実施形態によれば、人物が顔にマスクを装着しているか否かの判定の精度を高めることができる。
【0089】
また、本実施形態に係る画像解析装置1は、上記ステップS102によって、人物の顔が映る領域の粗い探索を行った後に、上記ステップS103及びS104によって、マスクを装着していない状態及びマスクを装着している状態の顔を密に探索する。これによって、撮像画像31全体を密に探索しなくてもよくなり、人物の顔を探索する回数を減らすことができるため、画像解析の計算量を低減することができ、これによって、プロセッサの処理負荷を抑えることができる。
【0090】
また、本実施形態に係る画像解析装置1は、2周目以降のステップS102では、以前に取得した撮像画像31内で特定した顔領域の近傍範囲内で粗推定領域を検出する。これにより、人物の顔の存在する蓋然性の高い範囲に当該人物の顔の探索範囲を絞ることができる。したがって、本実施形態によれば、当該人物の顔の検出精度を大きく悪化させることなく、画像解析の計算量を低減することができ、これによって、プロセッサの処理負荷を抑えることができる。
【0091】
また、本実施形態に係る画像解析装置1は、ステップS107により、ステップS106で特定した顔領域内で人物の顔の検出を再度実施することで、当該特定した顔領域が誤検出されたものであるか否かを判定する。これにより、本実施形態によれば、顔領域の誤検出を回避することができるため、撮像画像から人物の顔を検出する一連の画像処理の信頼性を高めることができる。
【0092】
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【0093】
<4.1>
上記実施形態では、検出対象となる対象物の一例として「人物の顔」を例示し、対象物を遮蔽する遮蔽物の一例として「マスク」を例示している。しかしながら、対象物及び遮蔽物は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検出対象となる対象物が上記と同様「人物の顔」である場合に、遮蔽物は、マスクの他、眼帯、サングラス、本、携帯電話等の顔を覆う物であってよい。
【0094】
なお、上記実施形態では、対象物が遮蔽物により遮蔽されているか否かの判定に、以前の処理における判定結果を利用する。そのため、遮蔽物は、対象物を遮蔽した状態又は遮蔽していない状態が継続し得るものが望ましい。マスクは、顔に装着した状態又は装着していない状態が継続し得るものであり、上記画像解析に適した遮蔽物である。
【0095】
<4.2>
上記実施形態では、ステップS102によって、人物の顔が映る領域の粗い探索を行った後に、ステップS103及びS104によって、マスクを装着していない状態及びマスクを装着している状態の顔を密に探索している。しかしながら、本発明の画像解析方法は、このような例に限定されなくてもよく、ステップS102は省略されてもよい。この場合、画像解析装置1の機能構成において、粗検出部112は省略されてもよい。
【0096】
<4.3>
上記実施形態では、2周目以降のステップS102では、以前に取得した撮像画像31内で特定した顔領域の近傍範囲内で粗推定領域を検出している。しかしながら、本発明の画像解析方法は、このような例に限定されなくてもよく、ステップS102において、以前の処理結果の利用は省略されてもよい。なお、近傍範囲内で粗推定領域が検出できない場合には、制御部11は、探索範囲を拡げて粗推定領域の検出処理を繰り返してもよい。
【0097】
<4.4>
上記実施形態では、ステップS103又はS104で複数の推定領域が検出された場合には、ステップS106において、複数の推定領域を結合することで、顔領域を特定している。しかしながら、本発明の画像解析方法は、このような例に限定されなくてもよい。例えば、制御部11は、ステップS103又はS104で複数の推定領域が検出された場合には、検出された複数の推定領域から1つの推定領域を選択して、選択した推定領域を顔領域に認定してもよい。顔領域に認定する推定領域を選択する方法は、実施の形態に応じて適宜選択可能である。例えば、制御部11は、検出された複数の推定領域のうち最も信頼度の高い推定領域を顔領域に選択してもよい。なお、ステップS103及びS104の処理順序は入れ替わってもよい。
【0098】
<4.5>
上記実施形態では、ステップS107により、ステップS106で特定した顔領域内で人物の顔の検出を再度実施することで、当該特定した顔領域が誤検出されたものであるか否かを判定している。しかしながら、本発明の画像解析方法は、このような例に限定されなくてもよく、ステップS107は省略されてよい。この場合、画像解析装置1の機能構成において、誤検出判定部117は省略されてよい。
【0099】
(付記1)
ハードウェアプロセッサと、
前記ハードウェアプロセッサで実行するプログラムを保持するメモリと、
を備える画像解析装置であって、
前記ハードウェアプロセッサは、前記プログラムを実行することにより、
検出対象となる対象物の映る撮像画像を繰り返し取得する画像取得ステップと、
前記撮像画像内で、遮蔽物により遮蔽されていない状態の前記対象物が映ると推定される第1領域を検出する第1検出ステップと、
前記撮像画像内で、前記遮蔽物により遮蔽されている状態の前記対象物が映ると推定される第2領域を検出する第2検出ステップと、
前記撮像画像に対して、前記対象物が前記遮蔽物により遮蔽されているか否かを判定する判定ステップと、
前記判定部の判定結果に従って、前記第1検出部及び前記第2検出部の検出結果のうちいずれの検出結果を利用するかを選択し、選択した検出結果に基づいて、前記撮像画像内で前記対象物が映る対象物領域を特定する特定ステップと、
を実行するように構成され、
前記判定ステップでは、前記ハードウェアプロセッサは、前記第1検出部及び前記第2検出部の検出結果、並びに以前に取得した前記撮像画像に対する、前記対象物が前記遮蔽物により遮蔽されているか否かの判定結果に基づいて、前記対象物が前記遮蔽物により遮蔽されているか否かを判定する、
画像解析装置。
【0100】
(付記2)
ハードウェアプロセッサにより、検出対象となる対象物の映る撮像画像を繰り返し取得する画像取得ステップと、
ハードウェアプロセッサにより、前記撮像画像内で、遮蔽物により遮蔽されていない状態の前記対象物が映ると推定される第1領域を検出する第1検出ステップと、
ハードウェアプロセッサにより、前記撮像画像内で、前記遮蔽物により遮蔽されている状態の前記対象物が映ると推定される第2領域を検出する第2検出ステップと、
ハードウェアプロセッサにより、前記撮像画像に対して、前記対象物が前記遮蔽物により遮蔽されているか否かを判定する判定ステップと、
ハードウェアプロセッサにより、前記判定部の判定結果に従って、前記第1検出部及び前記第2検出部の検出結果のうちいずれの検出結果を利用するかを選択し、選択した検出結果に基づいて、前記撮像画像内で前記対象物が映る対象物領域を特定する特定ステップと、
を備え、
前記判定ステップでは、ハードウェアプロセッサは、前記第1検出部及び前記第2検出部の検出結果、並びに以前に取得した前記撮像画像に対する、前記対象物が前記遮蔽物により遮蔽されているか否かの判定結果に基づいて、前記対象物が前記遮蔽物により遮蔽されているか否かを判定する、
画像解析方法。