(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022099129
(43)【公開日】2022-07-04
(54)【発明の名称】目検出方法、目検出装置及び目検出プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220627BHJP
G06T 7/11 20170101ALI20220627BHJP
【FI】
G06T7/00 660A
G06T7/11
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2020212908
(22)【出願日】2020-12-22
(11)【特許番号】
(45)【特許公報発行日】2021-11-02
(71)【出願人】
【識別番号】519334845
【氏名又は名称】株式会社スワローインキュベート
(71)【出願人】
【識別番号】000005821
【氏名又は名称】パナソニックホールディングス株式会社
(74)【代理人】
【識別番号】100115381
【弁理士】
【氏名又は名称】小谷 昌崇
(74)【代理人】
【識別番号】100067828
【弁理士】
【氏名又は名称】小谷 悦司
(74)【代理人】
【識別番号】100118049
【弁理士】
【氏名又は名称】西谷 浩治
(72)【発明者】
【氏名】大野 寿和
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096BA18
5L096CA02
5L096DA02
5L096DA03
5L096EA43
5L096FA32
5L096FA53
5L096FA62
5L096FA64
5L096FA66
5L096FA69
5L096GA40
5L096GA51
(57)【要約】 (修正有)
【課題】カラー画像から人の目を検出する精度を向上させることができる目検出方法、目検出装置及び目検出プログラムを提供する。
【解決手段】目検出システム100において、目検出装置のプロセッサは、撮像装置により撮像された人の顔を含むカラー画像を取得する画像取得部と、カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、人が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像を生成する画像生成部と、グレースケール画像から人の目を検出する目検出部と、検出した目に関する目情報を出力する出力部と、して機能する目検出処理を行う。
【選択図】
図2
【特許請求の範囲】
【請求項1】
コンピュータが、
撮像装置により撮像された人の顔を含むカラー画像を取得し、
前記カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、前記人が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像を生成し、
前記グレースケール画像から前記人の目を検出し、
検出した前記目に関する目情報を出力する、
目検出方法。
【請求項2】
前記赤色成分値に乗算する比率は、前記緑色成分値及び前記青色成分値に乗算する比率より高い、
請求項1記載の目検出方法。
【請求項3】
前記青色成分値に乗算する比率は0である、
請求項2記載の目検出方法。
【請求項4】
さらに、検出した前記目を含む目領域の平均輝度値を算出し、
さらに、算出した前記平均輝度値が閾値より高いか否かを判定し、
さらに、算出した前記平均輝度値が閾値より高いと判定した場合、前記眼鏡の前記レンズに外光又は背景が映り込んでいることを示す映り込み情報を出力する、
請求項1~3のいずれか1項に記載の目検出方法。
【請求項5】
さらに、前記カラー画像から二値画像を生成し、
さらに、前記二値画像における前記眼鏡が存在していると推定される眼鏡推定領域を抽出し、
さらに、抽出した前記眼鏡推定領域内において、複数の白色画素が連続する白色領域の水平方向の長さに基づいて前記人が前記眼鏡を装着しているか否かを判定し、
さらに、前記人が前記眼鏡を装着していないと判定した場合、前記カラー画像から前記人の目を検出し、
前記人が前記眼鏡を装着していると判定した場合、前記グレースケール画像の生成において、前記グレースケール画像を生成する、
請求項1~4のいずれか1項に記載の目検出方法。
【請求項6】
さらに、前記カラー画像から前記人の顔を含む顔領域を検出し、
さらに、前記顔領域の平均輝度値を算出し、
さらに、算出した前記平均輝度値が閾値より高い場合、前記目の検出が可能であると判定し、
さらに、算出した前記平均輝度値が閾値以下である場合、前記目の検出が不可能であると判定する、
請求項1~5のいずれか1項に記載の目検出方法。
【請求項7】
さらに、前記目の検出が不可能であると判定した場合、前記目の検出が不可能であることを前記人に通知する、
請求項6記載の目検出方法。
【請求項8】
さらに、前記グレースケール画像を二値化して、階調値が閾値より小さい画素が第1輝度値で表され、階調値が閾値以上の画素が第2輝度値で表された第1画像を生成し、
さらに、前記第1画像において、前記第1輝度値を有する第1輝度領域内に表れる前記第2輝度値の画素であって所定の条件を満たす前記第2輝度値の画素を、前記第1輝度値の画素に置き換えて第2画像を生成し、
さらに、前記第2画像を用いて前記人の虹彩の位置及び大きさの少なくとも一方に関する情報を含む虹彩情報を算出し、
さらに、前記虹彩情報を出力する、
請求項1~7のいずれか1項に記載の目検出方法。
【請求項9】
撮像装置により撮像された人の顔を含むカラー画像を取得する取得部と、
前記カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、前記人が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像を生成する生成部と、
前記グレースケール画像から前記人の目を検出する検出部と、
検出した前記目に関する情報を出力する出力部と、
を備える目検出装置。
【請求項10】
コンピュータに、
撮像装置により撮像された人の顔を含むカラー画像を取得し、
前記カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、前記人が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像を生成し、
前記グレースケール画像から前記人の目を検出し、
検出した前記目に関する情報を出力する、
処理を実行させる目検出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像から人の目を検出する技術に関するものである。
【背景技術】
【0002】
画像から人の目を検出する目検出技術は、視線検出及び個人認証などに必要な要素技術である。
【0003】
目検出技術において、眼鏡を装着している人が撮像された場合、眼鏡のレンズが特定の波長の光を反射したり、眼鏡のレンズに外光又は背景が映り込んだりすることによって、撮像した画像の目の部分にノイズが含まれ、画像から目を検出する精度が低下するおそれがある。そこで、眼鏡のレンズに外光又は背景が映り込むのを抑制する必要がある。
【0004】
例えば、特許文献1の撮像方法は、人間の眼球へ一の入射角で光を照射し、眼球の画像を反射された光によって虹彩パターンを得るために撮影し、撮影された眼球の画像の良否を、予め定められた閾値に基づいて判断し、画像が良好でないと判断した場合には、一の入射角と異なる他の入射角で眼球へ光を照射して、眼球の画像を再度撮影している。
【0005】
また、例えば、特許文献2の撮影方法は、所定の偏光軸の方向に振動する近赤外光を用いて、眼鏡での反射光の影響を受けることなく、目の開口度を検出している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3337913号明細書
【特許文献2】特開2015-194884号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記従来の技術では、カラー画像から人の目を検出する精度を向上させることが困難であり、更なる改善が必要とされていた。
【0008】
本開示は、上記の問題を解決するためになされたもので、カラー画像から人の目を検出する精度を向上させることができる技術を提供することを目的とするものである。
【課題を解決するための手段】
【0009】
本開示の一態様に係る目検出方法は、コンピュータが、撮像装置により撮像された人の顔を含むカラー画像を取得し、前記カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、前記人が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像を生成し、前記グレースケール画像から前記人の目を検出し、検出した前記目に関する目情報を出力する。
【発明の効果】
【0010】
本開示によれば、カラー画像から人の目を検出する精度を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】本開示の実施の形態1における目検出システムの外観図である。
【
図2】本開示の実施の形態1における目検出システムの全体構成の一例を示すブロック図である。
【
図3】本開示の実施の形態1における目検出装置の目検出処理の一例を示すフローチャートである。
【
図4】本実施の形態1において、撮像装置により撮像されたカラー画像の一例を示す図である。
【
図5】
図4に示すカラー画像から生成されたグレースケール画像の一例を示す図である。
【
図6】本開示の実施の形態2における目検出システムの全体構成の一例を示すブロック図である。
【
図7】本開示の実施の形態2における目検出装置の目検出処理の一例を示すフローチャートである。
【
図8】目検出部によって検出された顔領域の一例を示す図である。
【
図9】目検出部によって検出された左目領域の一例を示す図である。
【
図10】目検出部によって検出された右目領域の一例を示す図である。
【
図11】本開示の実施の形態3における目検出システムの全体構成の一例を示すブロック図である。
【
図12】本開示の実施の形態3における目検出装置の目検出処理の一例を示すフローチャートである。
【
図13】本実施の形態3における顔領域の二値画像の一例を示す図である。
【
図14】本実施の形態3の変形例における顔領域の二値画像の一例を示す図である。
【
図15】本開示の実施の形態4における目検出システムの全体構成の一例を示すブロック図である。
【
図16】本開示の実施の形態4における目検出装置の目検出処理の一例を示すフローチャートである。
【
図17】本実施の形態4において、平均輝度値が閾値より高い顔領域の一例を示す図である。
【
図18】本実施の形態4において、平均輝度値が閾値以下である顔領域の一例を示す図である。
【発明を実施するための形態】
【0012】
(本開示の基礎となった知見)
特許文献1では、眼球に照射する光の入射角度を変更するための照明装置が必要である。また、特許文献2では、所定の偏光軸の方向に振動する近赤外光を照射するための照明装置が必要である。
【0013】
上記のいずれの従来技術も、眼鏡のレンズへの外光又は背景の映り込みを抑制するための特別な照明装置が必要となり、例えば、スマートフォン又はタブレット端末のような照明装置を備えていない又は簡易な照明装置のみを備える機器を用いて、画像から人の目を検出する精度を向上させることは困難である。
【0014】
以上の課題を解決するために、本開示の一態様に係る目検出方法は、コンピュータが、撮像装置により撮像された人の顔を含むカラー画像を取得し、前記カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、前記人が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像を生成し、前記グレースケール画像から前記人の目を検出し、検出した前記目に関する目情報を出力する。
【0015】
この構成によれば、カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、人が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像が生成され、グレースケール画像から人の目が検出される。したがって、スマートフォン又はタブレット端末のような簡易な構成の機器においても、カラー画像に含まれる眼鏡のレンズ部分に映り込んだ外光又は背景を除去し、カラー画像から人の目を検出する精度を向上させることができる。
【0016】
また、上記の目検出方法において、前記赤色成分値に乗算する比率は、前記緑色成分値及び前記青色成分値に乗算する比率より高くてもよい。
【0017】
この構成によれば、緑色成分及び青色成分よりも赤色成分が多いグレースケール画像が生成されるので、人が装着している眼鏡のレンズが緑色成分の光及び青色成分の光を反射する特性を有している場合に、眼鏡のレンズ部分に映り込んだ緑色成分の光及び青色成分の光を低減することができる。
【0018】
また、上記の目検出方法において、前記青色成分値に乗算する比率は0であってもよい。
【0019】
この構成によれば、青色成分が除去されたグレースケール画像が生成されるので、人が装着している眼鏡のレンズが青色成分の光を反射する特性を有している場合に、眼鏡のレンズ部分に映り込んだ青色成分の光を除去することができる。
【0020】
また、上記の目検出方法において、さらに、検出した前記目を含む目領域の平均輝度値を算出し、さらに、算出した前記平均輝度値が閾値より高いか否かを判定し、さらに、算出した前記平均輝度値が閾値より高いと判定した場合、前記眼鏡の前記レンズに外光又は背景が映り込んでいることを示す映り込み情報を出力してもよい。
【0021】
眼鏡のレンズ部分に外光又は背景が映り込んでいる場合の目領域は、眼鏡のレンズ部分に外光又は背景が映り込んでいない場合の目領域よりも明るくなる。そのため、目領域の平均輝度値と閾値とが比較されることにより、グレースケール画像が生成される際に除去しきれずに、眼鏡のレンズ部分に映り込んだ外光又は背景が残留していることを検出することができる。
【0022】
また、上記の目検出方法において、さらに、前記カラー画像から二値画像を生成し、さらに、前記二値画像における前記眼鏡が存在していると推定される眼鏡推定領域を抽出し、さらに、抽出した前記眼鏡推定領域内において、複数の白色画素が連続する白色領域の水平方向の長さに基づいて前記人が前記眼鏡を装着しているか否かを判定し、さらに、前記人が前記眼鏡を装着していないと判定した場合、前記カラー画像から前記人の目を検出し、前記人が前記眼鏡を装着していると判定した場合、前記グレースケール画像の生成において、前記グレースケール画像を生成してもよい。
【0023】
この構成によれば、人が眼鏡を装着していないと判定された場合、グレースケール画像が生成されず、カラー画像から人の目が検出される。一方、人が眼鏡を装着していると判定された場合、カラー画像に含まれる眼鏡のレンズ部分に映り込んだ外光又は背景を除去するために、グレースケール画像が生成される。したがって、人が眼鏡を装着している場合にのみ、カラー画像に含まれる眼鏡のレンズ部分に映り込んだ外光又は背景を除去するための処理を行うことができる。
【0024】
また、上記の目検出方法において、さらに、前記カラー画像から前記人の顔を含む顔領域を検出し、さらに、前記顔領域の平均輝度値を算出し、さらに、算出した前記平均輝度値が閾値より高い場合、前記目の検出が可能であると判定し、さらに、算出した前記平均輝度値が閾値以下である場合、前記目の検出が不可能であると判定してもよい。
【0025】
人が暗所にいる場合、眼鏡のレンズ部分に外光が映り込みやすくなる。すなわち、カラー画像を用いた目検出処理では、撮像する場所の明るさが、眼鏡のレンズへの映り込みの発生に影響を及ぼす。そこで、顔領域の平均輝度値が閾値より高い場合、目の検出が可能であると判定され、顔領域の平均輝度値が閾値以下である場合、目の検出が不可能であると判定される。したがって、目の検出が可能である場合にのみ、カラー画像に含まれる眼鏡のレンズ部分に映り込んだ外光又は背景を除去するための処理を行うことができる。
【0026】
また、上記の目検出方法において、さらに、前記目の検出が不可能であると判定した場合、前記目の検出が不可能であることを前記人に通知してもよい。
【0027】
この構成によれば、目の検出が不可能であると判定された場合、目の検出が不可能であることが人に通知されるので、通知を受けた人が明るい場所に移動することにより、目を検出することができる。
【0028】
また、上記の目検出方法において、さらに、前記グレースケール画像を二値化して、階調値が閾値より小さい画素が第1輝度値で表され、階調値が閾値以上の画素が第2輝度値で表された第1画像を生成し、さらに、前記第1画像において、前記第1輝度値を有する第1輝度領域内に表れる前記第2輝度値の画素であって所定の条件を満たす前記第2輝度値の画素を、前記第1輝度値の画素に置き換えて第2画像を生成し、さらに、前記第2画像を用いて前記人の虹彩の位置及び大きさの少なくとも一方に関する情報を含む虹彩情報を算出し、さらに、前記虹彩情報を出力してもよい。
【0029】
この構成によれば、第1画像において、第1輝度領域内に表れる第2輝度値の画素であって所定の条件を満たす第2輝度値の画素が第1輝度値の画素に置き換えられて第2画像が生成される。これにより、第1輝度領域内の瞳に相当する領域内に現れる第2輝度値の島領域が第1輝度値で塗りつぶされる。そして、塗りつぶされた二値画像である第2画像を用いて虹彩情報が算出される。その結果、角膜に映り込んだ外光又は背景の影響が抑制され、虹彩情報の検出精度のさらなる向上を図ることができる。
【0030】
また、本開示は、以上のような特徴的な処理を実行する目検出方法として実現することができるだけでなく、目検出方法が実行する特徴的な方法に対応する特徴的な構成を備える目検出装置などとして実現することもできる。また、このような目検出方法に含まれる特徴的な処理をコンピュータに実行させるコンピュータプログラムとして実現することもできる。したがって、以下の他の態様でも、上記の目検出方法と同様の効果を奏することができる。
【0031】
本開示の他の態様に係る目検出装置は、撮像装置により撮像された人の顔を含むカラー画像を取得する取得部と、前記カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、前記人が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像を生成する生成部と、前記グレースケール画像から前記人の目を検出する検出部と、検出した前記目に関する情報を出力する出力部と、を備える。
【0032】
本開示の他の態様に係る目検出プログラムは、コンピュータに、撮像装置により撮像された人の顔を含むカラー画像を取得し、前記カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、前記人が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像を生成し、前記グレースケール画像から前記人の目を検出し、検出した前記目に関する情報を出力する、処理を実行させる。
【0033】
以下添付図面を参照しながら、本開示の実施の形態について説明する。なお、以下の実施の形態は、本開示を具体化した一例であって、本開示の技術的範囲を限定するものではない。
【0034】
(実施の形態1)
図1は、本開示の実施の形態1における目検出システム100の外観図である。目検出システム100は、スマートフォン又はタブレット端末等の携帯端末装置により構成されている。但し、これは一例であり、目検出システム100は、据え置き型のコンピュータ又はクラウドサーバとカメラとディスプレイとを適宜組み合わせて構成されてもよい。
【0035】
目検出システム100は、目検出装置1、撮像装置2、及びディスプレイ3を含む。目検出装置1は、撮像装置2により撮像された人U1の目に関する目情報を算出する。
【0036】
撮像装置2は、携帯端末装置に実装されたカメラで構成されている。撮像装置2は、所定のフレームレートでカラーの可視光画像を取得可能なカメラである。
【0037】
ディスプレイ3は、携帯端末装置に実装された液晶表示装置又は有機EL(Electro Luminescence)表示装置等の表示装置で構成されている。ディスプレイ3は、撮像装置2が撮像した人U1の顔の画像を表示する。さらに、ディスプレイ3は、人U1の顔の画像に目検出装置1が算出した後述の目情報を重畳表示させる。
【0038】
図2は、本開示の実施の形態1における目検出システム100の全体構成の一例を示すブロック図である。目検出装置1は、プロセッサ10及びメモリ20を備える。プロセッサ10は、例えばCPU(Central Processing Unit)で構成されている。プロセッサ10は、画像取得部11、画像生成部12、目検出部13及び出力部14を備える。画像取得部11、画像生成部12、目検出部13及び出力部14は例えばプロセッサ10が目検出プログラムを実行することで実現される。
【0039】
画像取得部11は、撮像装置2により撮像されたカラー画像を取得する。ここで、取得されるカラー画像には、人U1の顔が含まれる。以下、顔が含まれる画像を顔画像と呼ぶ。画像取得部11は、所定のフレームレートで撮像される顔画像を順次に取得する。
【0040】
画像生成部12は、カラー画像をグレースケール画像に変換する。画像生成部12は、画像取得部11によって取得されたカラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、人U1が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像を生成する。画像生成部12は、カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、人U1が装着している眼鏡のレンズの特性に応じた所定の比率を乗算し、所定の比率を乗算した赤色成分値、緑色成分値及び青色成分値を合計することによりグレースケール画像を生成する。
【0041】
このとき、赤色成分値に乗算する比率は、緑色成分値及び青色成分値に乗算する比率より高い。例えば、赤色成分値に乗算する比率は0.9であり、緑色成分値に乗算する比率は0.1であり、青色成分値に乗算する比率は0である。この場合、画像生成部12は、下記の式(1)を用いて、グレースケール画像の各画素の画素値Vを算出する。
【0042】
V=0.9・R+0.1・G+0・B・・・(1)
【0043】
上記の式(1)において、Rは、カラー画像の各画素の赤色成分値を表し、Gは、カラー画像の各画素の緑色成分値を表し、Bは、カラー画像の各画素の青色成分値を表す。
【0044】
また、例えば、赤色成分値に乗算する比率は1.0であり、緑色成分値に乗算する比率は0であり、青色成分値に乗算する比率は0であってもよい。
【0045】
赤色成分値に乗算する比率は、カラー画像からグレースケール画像に変換する際に赤色成分値に乗算する通常の比率(例えば、0.299)よりも高いことが好ましい。緑色成分値に乗算する比率は、カラー画像からグレースケール画像に変換する際に緑色成分値に乗算する通常の比率(例えば、0.587)よりも低いことが好ましい。青色成分値に乗算する比率は、カラー画像からグレースケール画像に変換する際に青色成分値に乗算する通常の比率(例えば、0.114)よりも低いことが好ましい。
【0046】
なお、赤色成分値に乗算する比率は、0.3~1.0の範囲内であることが好ましく、0.9~1.0の範囲内であることがより好ましい。また、緑色成分値に乗算する比率は、0~0.58の範囲内であることが好ましく、0~0.1の範囲内であることがより好ましい。青色成分値に乗算する比率は、0であることが好ましい。
【0047】
パーソナルコンピュータ又はスマートフォンのLED(Light Emitting Diode)ディスプレイは、紫外線と波長が近い380~500ナノメートルの青色光を発している。このような青色光は人の目に悪影響を及ぼすおそれがあるため、青色光を軽減する機能を有する眼鏡がある。青色光を軽減する機能を有する眼鏡は、レンズが青色光を反射させることにより、青色光が目に到達するのを抑制している。青色光を軽減する機能を有する眼鏡を装着した人U1を撮像した場合、反射された青色成分が撮像画像のレンズ部分に重畳され、人U1の目を検出する精度が低下する。そこで、画像生成部12は、画像取得部11によって取得されたカラー画像をグレースケール画像に変換する際に、カラー画像の各画素の青色成分値に対し比率0を乗算する。これにより、撮像画像のレンズ部分に青色成分が重畳されるのを抑え、目の部分のノイズを軽減したグレースケール画像が生成される。
【0048】
なお、上記の赤色成分値、緑色成分値及び青色成分値のそれぞれに乗算する比率は、一例であり、眼鏡のレンズの特性に応じて変更してもよい。
【0049】
また、撮像装置2が撮像する画像が8ビットで量子化された画像であるため、グレースケール画像は0~255の階調値を有しているが、これは一例である。撮像装置2が撮像する画像が16ビット等の他のビット数で量子化された画像であれば、グレースケール画像は、そのビット数で表現可能な階調値を有していればよい。
【0050】
目検出部13は、画像生成部12によって生成されたグレースケール画像から人U1の目を検出する。目検出部13は、画像生成部12によって生成されたグレースケール画像から人物の顔を示す顔領域を検出する。目検出部13は、顔領域を検出するために予め作成された分類器にグレースケール画像を入力することで顔領域を検出すればよい。この分類器は、例えば、ハール(Haar)状のカスケード分類器で構成される。顔領域は、例えば顔の全体を含む程度のサイズを持つ矩形状の領域である。
【0051】
目検出部13は、目領域を検出するために予め作成された分類器に顔領域を入力することで目領域を検出する。この分類器は、例えばハール状のカスケード分類器で構成される。目領域は、目を含む領域である。目領域は、例えば、上辺が上まぶたに接し、下辺が下まぶたに接し、左辺及び右辺のうちの1辺が目頭に接し、左辺及び右辺のうちの他辺が目尻に接する矩形状の領域である。なお、目領域は、左目又は右目の大きさに所定のマージンを加えた程度のサイズを持つ矩形状の領域であってもよい。目検出部13は、左目を含む目領域と、右目を含む目領域とを顔領域から検出する。
【0052】
以下、左目を含む目領域を「左目領域」と呼び、右目を含む目領域を「右目領域」と呼ぶ。両者を区別しない場合、単に目領域と呼ぶ。また、左目とは人U1を正面から見て左側に位置する目を指し、右目とは人U1を正面から見て右側に位置する目を指す。但し、これは一例であり、この関係は逆であってもよい。
【0053】
出力部14は、目検出部13によって検出された目に関する目情報を出力する。目情報は、例えば、目の位置、すなわち、目領域の位置を含む。出力部14は、画像取得部11が取得したカラー画像に目検出部13が検出した目領域を重畳して表示画面を生成し、表示画面をディスプレイ3に表示する。
【0054】
メモリ20は、例えば、RAM(Random Access Memory)、SSD(Solid State Drive)又はフラッシュメモリ等の各種情報を記憶可能な記憶装置である。メモリ20は、プロセッサ10の作業領域として使用される。また、メモリ20は、出力部14によって出力された目情報を記憶してもよい。
【0055】
続いて、本実施の形態1における目検出装置1の目検出処理について説明する。
【0056】
図3は、本開示の実施の形態1における目検出装置1の目検出処理の一例を示すフローチャートである。なお、
図3に示すフローチャートは、所定のサンプリング周期で実行される。所定のサンプリング周期は例えば撮像装置2のフレーム周期である。
【0057】
まず、ステップS1において、画像取得部11は、撮像装置2からカラー画像を取得する。
【0058】
図4は、本実施の形態1において、撮像装置2により撮像されたカラー画像の一例を示す図である。
【0059】
図4に示すカラー画像31において、人は、青色光を軽減する機能を有する眼鏡を装着している。そのため、人の左目には、眼鏡の左側のレンズによって反射された青色光の成分のノイズが重畳されている。
【0060】
図3に戻って、次に、ステップS2において、画像生成部12は、画像取得部11によって取得されたカラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、人U1が装着している眼鏡のレンズの特性に応じた所定の比率を乗算し、所定の比率を乗算した赤色成分値、緑色成分値及び青色成分値を合計することによりグレースケール画像を生成する。例えば、画像生成部12は、カラー画像の各画素の赤色成分値に0.9を乗算し、緑色成分値に0.1を乗算し、青色成分値に0を乗算することによりグレースケール画像を生成する。
【0061】
図5は、
図4に示すカラー画像から生成されたグレースケール画像の一例を示す図である。
【0062】
図5に示すグレースケール画像32では、赤色成分値に乗算する比率が通常より高く設定され、緑色成分値及び青色成分値に乗算する比率が通常より低く設定されることにより、眼鏡の左側のレンズ部分に重畳されていたノイズが除去されている。
【0063】
図3に戻って、次に、ステップS3において、目検出部13は、画像生成部12によって生成されたグレースケール画像から人U1の目を検出する。ここで、目検出部13は、顔領域を検出する分類器にグレースケール画像を入力し、顔領域を検出する。目検出部13は、額の上部と顎の下部と、耳の生え際とを含む矩形状の領域を顔領域として検出する。なお、顔領域は、髪の全体を含む領域であってもよい。そして、目検出部13は、検出した顔領域を、目領域を検出する分類器に入力して目領域を検出する。目領域は、目の全域を含む矩形状の領域である。
【0064】
次に、ステップS4において、出力部14は、人の目に関する目情報を出力する。出力部14は、人の目に関する目情報がカラー画像に重畳された表示画面を生成し、ディスプレイ3に表示する。目情報は、例えば、矩形状の目領域である。出力部14は、左目及び右目の少なくとも一方の目領域の外縁部分がカラー画像に重畳された表示画面を生成し、ディスプレイ3に表示する。
図3に示す目検出処理が所定のサンプリング周期で繰り返されることにより、目情報が顔画像に重畳された表示画面がディスプレイ3にリアルタイムで表示される。
【0065】
このように、カラー画像31の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、人が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像32が生成され、グレースケール画像32から人の目が検出される。したがって、スマートフォン又はタブレット端末のような簡易な構成の機器においても、カラー画像31に含まれる眼鏡のレンズ部分に映り込んだ外光又は背景を除去し、カラー画像31から人の目を検出する精度を向上させることができる。
【0066】
なお、目検出部13によって検出された目情報は、視線を検出する処理、虹彩を検出する処理、又は視距離を推定する処理に用いられてもよい。また、目情報は、目の検出対象が生体であるか否かを判定する処理に用いられてもよい。また、目情報は、撮像されたカラー画像が静止画及び動画のいずれであるかを判定する処理に用いられてもよい。
【0067】
(実施の形態2)
実施の形態1では、生成されたグレースケール画像から人の目が検出され、検出された目に関する目情報が出力されている。これに対し、実施の形態2では、検出された目を含む目領域の平均輝度値が算出され、算出された平均輝度値が閾値より高い場合、眼鏡のレンズに外光又は背景が映り込んでいることを示す映り込み情報が出力される。
【0068】
図6は、本開示の実施の形態2における目検出システム100Aの全体構成の一例を示すブロック図である。なお、実施の形態2において、実施の形態1と同一の構成要素には同一の符号を付して説明を省略する。
【0069】
目検出装置1Aは、プロセッサ10A及びメモリ20を備える。プロセッサ10Aは、実施の形態1の目検出装置1のプロセッサ10に対して、さらに映り込み判定部15及び虹彩検出処理部16を備えている。
【0070】
映り込み判定部15は、目検出部13によって検出された目を含む目領域の平均輝度値を算出する。映り込み判定部15は、算出した平均輝度値が閾値より高いか否かを判定する。映り込み判定部15は、算出した平均輝度値が閾値より高いと判定した場合、眼鏡のレンズに外光又は背景が映り込んでいることを示す映り込み情報を出力する。
【0071】
例えば、画像生成部12は、カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、眼鏡のレンズの青色光を反射させる特性に応じた所定の比率を乗算することによりグレースケール画像を生成している。この場合、目領域に含まれる青色成分の映り込みノイズを除去することができるが、青色成分以外の映り込みノイズは残留するおそれがある。そこで、実施の形態2では、生成されたグレースケール画像に対し眼鏡のレンズに外光又は背景が映り込んでいるか否かが判定される。
【0072】
通常、裸眼の人を撮像した場合又は撮像した眼鏡のレンズに映り込みがなかった場合、瞳(虹彩)は黒色又は暗い茶色であるため、目領域の平均輝度値は低下する傾向にある。一方、撮像した眼鏡のレンズに映り込みがあった場合、瞳(虹彩)は明るくなるため、目領域の平均輝度値は増加する傾向にある。そのため、目領域の平均輝度値を閾値と比較することにより、眼鏡のレンズに外光又は背景が映り込んでいるか否かを判定することが可能になる。
【0073】
虹彩検出処理部16は、目領域を二値化して、階調値が閾値より小さい画素が第1輝度値で表され、階調値が閾値以上の画素が第2輝度値で表された二値画像(第1画像)を生成する。虹彩検出処理部16は、映り込み判定部15によって映り込み情報が出力された場合、目領域を二値化する際に階調値と比較する閾値を変更する。より具体的には、虹彩検出処理部16は、映り込み判定部15によって映り込み情報が出力された場合、目領域を二値化する際に階調値と比較する閾値を上げる。第1輝度値は例えば白であり、第2輝度値は例えば黒である。すなわち、本実施の形態2では、暗い箇所は白で表され、明るい箇所は黒で表された二値画像が生成される。白の輝度値は例えば255で表され、黒の輝度値は例えば0で表される。
【0074】
そして、虹彩検出処理部16は、生成した二値画像(第1画像)において、第1輝度値を有する第1輝度領域内に表れる第2輝度値の画素であって所定の条件を満たす第2輝度値の画素を、第1輝度値の画素に置き換えて二値画像(第2画像)を生成する。そして、虹彩検出処理部16は、二値画像(第2画像)を用いて人の虹彩の位置及び大きさの少なくとも一方に関する情報を含む虹彩情報を算出する。
【0075】
なお、第1輝度値は黒であってもよく、第2輝度値は白であってもよい。
【0076】
出力部14は、目に関する目情報を出力する。目情報は、虹彩情報を含んでもよい。出力部14は、画像取得部11によって取得された顔画像に虹彩検出処理部16によって算出された虹彩情報を重畳して表示画面を生成し、表示画面をディスプレイ3に表示する。
【0077】
続いて、本実施の形態2における目検出装置1Aの目検出処理について説明する。
【0078】
図7は、本開示の実施の形態2における目検出装置1Aの目検出処理の一例を示すフローチャートである。
【0079】
ステップS11~ステップS13の処理は、
図3に示すステップS1~ステップS3の処理と同じであるので、説明を省略する。
【0080】
次に、ステップS14において、映り込み判定部15は、目検出部13によって検出された目を含む目領域の平均輝度値を算出する。なお、映り込み判定部15は、左目を含む左目領域の平均輝度値及び右目を含む右目領域の平均輝度値を算出する。
【0081】
図8は、目検出部13によって検出された顔領域の一例を示す図であり、
図9は、目検出部13によって検出された左目領域の一例を示す図であり、
図10は、目検出部13によって検出された右目領域の一例を示す図である。
【0082】
目検出部13は、顔領域を検出する分類器にグレースケール画像を入力し、顔領域33を検出する。そして、目検出部13は、検出した顔領域33を、目領域を検出する分類器に入力して左目領域331及び右目領域332を検出する。ここで、眼鏡の右側のレンズには、外光又は背景が映り込んでいる。そのため、右目領域332は、左目領域331よりも明るくなっている。より具体的には、左目領域331の平均輝度値は109.08であるのに対し、右目領域332の平均輝度値は139.73である。
【0083】
図7に戻って、次に、ステップS15において、映り込み判定部15は、算出した平均輝度値が閾値より高いか否かを判定する。なお、グレースケール画像が、例えば0~255の階調値を有している場合、閾値は、半値である128である。ここで、算出した平均輝度値が閾値以下であると判定された場合、ステップS18に処理が移行する。なお、映り込み判定部15は、左目領域の平均輝度値が閾値より高いか否かを判定するとともに、右目領域の平均輝度値が閾値より高いか否かを判定する。
【0084】
一方、算出した平均輝度値が閾値より高いと判定された場合、ステップS16において、映り込み判定部15は、眼鏡のレンズに外光又は背景が映り込んでいることを示す映り込み情報を虹彩検出処理部16へ出力する。なお、映り込み判定部15は、左目領域及び右目領域のいずれに映り込みが発生しているかを示す情報を映り込み情報に含める。
【0085】
次に、ステップS17において、虹彩検出処理部16は、二値化処理に用いる閾値を変更する。虹彩検出処理部16は、グレースケール画像の目領域に対して二値化処理を実行するが、この二値化処理に用いる閾値に所定値を加算するように設定する。なお、虹彩検出処理部16は、左目領域及び右目領域のうち、映り込みが発生している領域の二値化処理に用いる閾値を変更する。
【0086】
次に、ステップS18において、虹彩検出処理部16は、グレースケール画像の目領域に対して二値化処理を実行し、二値画像を生成する。
【0087】
次に、ステップS19において、虹彩検出処理部16は、生成した二値画像に対して虹彩検出処理を適用することによって、虹彩情報を算出する。
【0088】
ここで、虹彩検出処理部16が実行する虹彩検出処理について説明する。
【0089】
まず、虹彩検出処理部16は、二値画像をX方向に所定画素ずつ分離して複数の局所領域に分割する。例えば、虹彩検出処理部16は、二値画像を横方向に均等に10分割する。これにより、二値画像は、Y方向を長手方向とする短冊状の10個の局所領域に分けられる。ここで、虹彩検出処理部16は、二値画像を10個の局所領域に分割したが、これは一例である。分割数は、2以上9以下の整数又は11以上の整数であってもよい。Y方向とは、撮像装置2が撮像する画像の縦方向(垂直方向)を指す。
【0090】
次に、虹彩検出処理部16は、10個の局所領域のそれぞれの平均輝度値を算出する。
【0091】
次に、虹彩検出処理部16は、虹彩推定中心位置のX座標を算出する。虹彩推定中心位置は、虹彩中心位置の推定位置であり、最終的に算出される虹彩中心位置とは異なる。二重まぶた、まつ毛の濃さ、及びつけまつ毛等の影響によりこれらの部位が白領域として大きく表れることがある。この場合、白目の部位が塗りつぶされる可能性がある。このような事態を回避するために、本実施の形態2では虹彩推定中心位置が算出される。
【0092】
虹彩検出処理部16は、複数の局所領域のうち、平均輝度値が最大である局所領域のX方向の中点の座標を虹彩推定中心位置のX座標として算出する。なお、局所領域のX方向の幅によっては、局所領域のX方向の中点が虹彩推定中心位置のX座標として妥当でない場合もある。この場合、局所領域のX方向の左端又は右端が虹彩推定中心位置のX座標として算出されてもよい。
【0093】
次に、虹彩検出処理部16は、虹彩推定中心位置のY座標を算出する。虹彩検出処理部16は、虹彩推定中心位置のX座標が存在する局所領域において、白画素の最上端点と、白画素の最下端点とを検出し、最上端点と最下端点との中点を虹彩推定中心位置のY座標として算出する。なお、まつ毛及び化粧の影響で最上端点及び最下端点が左に隣接する局所領域又は右に隣接する局所領域に現れることもある。そこで、虹彩検出処理部16は、虹彩推定中心位置のX座標が存在する局所領域と、当該局所領域の左右に隣接する2つの局所領域とにおいて最上端点及び最下端点を算出し、算出した3個の最上端点を平均して平均最上端点を求めるとともに算出した3個の最下端点を平均して平均最下端点を算出し、平均最上端点と平均最下端点との中点を虹彩推定中心位置のY座標として算出してもよい。
【0094】
次に、虹彩検出処理部16は、二値画像に対して塗りつぶし処理を実行する。可視光画像においては、周囲の明るさ等により、角膜に外光又は背景等が映り込むことがある。この映り込みが大きい場合、黒色又は茶色である瞳内に白などの明るい色の領域が現れる。この場合、目の画像を二値化すると、瞳領域内に黒の島領域が現れ、虹彩情報を高精度に検出できなくなる。そこで、本実施の形態2では、黒の島領域を塗りつぶす塗りつぶし処理を実行する。
【0095】
塗りつぶし処理の詳細は下記の通りである。まず、虹彩検出処理部16は、二値画像に対して虹彩推定中心位置のX座標にY方向と平行な縦ラインを設定する。次に、虹彩検出処理部16は、縦ラインにおいて二値画像の上端側から最初に現れる白画素を上端画素として検出する。次に、虹彩検出処理部16は、縦ラインにおいて二値画像の下端側から最初に現れる白画素を下端画素として検出する。次に、虹彩検出処理部16は、上端画素と下端画素間の距離が第1基準距離よりも大きいか否かを判定する。次に、虹彩検出処理部16は、上端画素及び下端画素間の距離が第1基準距離よりも大きいと判定した場合、縦ラインにおいて上端画素及び下端画素間にある黒画素を所定の条件を満たす黒画素として判定し、この黒画素を白画素に置換する。一方、虹彩検出処理部16は、上端画素と下端画素間の距離が第1基準距離以下と判定した場合、縦ラインに対する置換は行わない。第1基準距離としては、例えば、想定される虹彩直径を基準に妥当な距離が採用される。
【0096】
虹彩検出処理部16は、このような塗りつぶし処理を虹彩推定中心位置からX方向の左側に向けて左基準距離の範囲内の各縦ラインについて実行すると共に虹彩推定中心位置からX方向の右側に向けて右基準距離の範囲内の各縦ラインについて実行する。左基準距離範囲と右基準距離範囲との和は第2基準距離の一例である。左基準距離範囲と右基準距離範囲とは例えば同じ範囲である。第2基準距離としては、例えば、想定される虹彩直径よりも多少大きな距離が採用される。これにより、瞳領域に位置する縦ラインに対して重点的に塗りつぶし処理を適用することができる。
【0097】
次に、虹彩検出処理部16は、瞳領域の左端画素及び右端画素をそれぞれ検出する。虹彩検出処理部16は、二値画像の白領域において、虹彩推定中心位置を起点として、X方向を左右に1画素ずつ輝度値の変化を調べる。そして、虹彩検出処理部16は、X方向の左側に最初に現れる黒画素を左端画素として検出すると共に、X方向の右側に最初に現れる黒画素を右端画素として検出する。
【0098】
次に、虹彩検出処理部16は、左端画素及び右端画素の中間位置を虹彩中心位置のX座標として算出する。
【0099】
次に、虹彩検出処理部16は、瞳領域の上端画素及び下端画素をそれぞれ検出する。虹彩検出処理部16は、二値画像の白領域において、虹彩中心位置のX座標を起点として、Y方向を上下に1画素ずつ輝度値の変化を調べる。そして、虹彩検出処理部16は、Y方向の上側に最初に現れる黒画素を上端画素として検出すると共に、Y方向の下側に最初に現れる黒画素を下端画素として検出する。
【0100】
次に、虹彩検出処理部16は、上端画素及び下端画素の中間位置を虹彩中心位置のY座標として算出する。以上により虹彩中心位置が算出される。
【0101】
次に、虹彩検出処理部16は、虹彩半径を算出する。ここで、虹彩検出処理部16は、虹彩中心位置及び左端画素間の距離、虹彩中心位置及び右端画素間の距離、又は両距離の平均値を虹彩半径として算出すればよい。或いは、虹彩検出処理部16は、虹彩中心位置及び上端画素間の距離、虹彩中心位置及び下端画素間の距離、又は両距離の平均値を虹彩半径として算出してもよい。或いは、虹彩検出処理部16は、これらの4つの距離の平均値を虹彩半径として算出してもよい。さらに、虹彩検出処理部16は、虹彩中心位置を中心とし、虹彩半径を半径とする円を虹彩外縁として算出してもよい。
【0102】
以上が、虹彩検出処理の説明である。
【0103】
次に、ステップS20において、出力部14は、人の目に関する目情報を出力する。目情報は、虹彩検出処理部16によって算出された虹彩情報を含む。出力部14は、虹彩検出処理部16によって算出された虹彩情報がカラー画像に重畳された表示画面を生成し、ディスプレイ3に表示する。虹彩情報は、例えば、左目及び右目の虹彩中心位置、虹彩半径及び虹彩外縁の少なくとも1つを含む。
【0104】
上記のように、眼鏡のレンズ部分に外光又は背景が映り込んでいる場合の目領域は、眼鏡のレンズ部分に外光又は背景が映り込んでいない場合の目領域よりも明るくなる。そのため、目領域の平均輝度値と閾値とが比較されることにより、グレースケール画像が生成される際に除去しきれずに、眼鏡のレンズ部分に映り込んだ外光又は背景が残留していることを検出することができる。
【0105】
なお、本実施の形態2では、映り込み判定部15は、映り込み情報を虹彩検出処理部16へ出力しているが本開示は特にこれに限定されない。眼鏡のレンズへの外光又は背景の映り込みについては、人が環境を変えることによって解消される場合がある。そこで、プロセッサ10Aは、眼鏡のレンズに映り込みが発生していることを人に通知する通知部をさらに備えてもよい。映り込み判定部15は、映り込み情報を通知部へ出力してもよい。通知部は、映り込み情報を取得すると、眼鏡のレンズに映り込みが発生していることを人に通知する。この場合、通知部は、眼鏡のレンズに映り込みが発生していることを人に通知するための画面をディスプレイ3に表示してもよい。また、通知部は、眼鏡のレンズに映り込みが発生していることを人に通知するための音声をスピーカから出力してもよい。
【0106】
また、実施の形態1において、上記の虹彩検出処理が行われてもよい。具体的には、
図3のステップS1~ステップS3の処理が行われた後に、
図7のステップS18~ステップS20の処理が行われてもよい。
【0107】
また、目検出装置1Aは、虹彩検出処理部16によって算出された虹彩情報を用いて、対象物と人の目との間の距離を示す視距離を推定する視距離推定部をさらに備えてもよい。視距離推定部は、虹彩検出処理部16によって検出された虹彩のサイズの画素数を示す第1値を算出してもよい。そして、視距離推定部は、カラー画像の解像度を取得し、第1値及び予め定められた虹彩のサイズの実寸を示す第2値に基づき、1画素に対応する実寸を示す第3値を算出してもよい。そして、視距離推定部は、解像度及び第3値と視距離との関係を示す関係情報に基づいて、取得した解像度と、算出した第3値とに対応する視距離を推定してもよい。
【0108】
(実施の形態3)
実施の形態1では、カラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、人が装着している眼鏡のレンズの特性に応じた所定の比率を乗算することによりグレースケール画像が生成されている。これに対し、実施の形態3では、まず、人が眼鏡を装着しているか否かが判定され、人が眼鏡を装着していると判定された場合、実施の形態1の方法でグレースケール画像が生成される。
【0109】
図11は、本開示の実施の形態3における目検出システム100Bの全体構成の一例を示すブロック図である。なお、実施の形態3において、実施の形態1と同一の構成要素には同一の符号を付して説明を省略する。
【0110】
目検出装置1Bは、プロセッサ10B及びメモリ20を備える。プロセッサ10Bは、実施の形態1の目検出装置1のプロセッサ10に対して、さらに眼鏡装着判定部17を備えている。
【0111】
眼鏡装着判定部17は、画像取得部11によって取得されたカラー画像から二値画像を生成する。眼鏡装着判定部17は、二値画像における眼鏡が存在していると推定される眼鏡推定領域を抽出する。眼鏡装着判定部17は、抽出した眼鏡推定領域内において、複数の白色画素が連続する白色領域の水平方向の長さに基づいて人が眼鏡を装着しているか否かを判定する。眼鏡装着判定部17によって人が眼鏡を装着していないと判定された場合、目検出部13は、カラー画像から人の目を検出する。一方、眼鏡装着判定部17によって人が眼鏡を装着していると判定した場合、画像生成部12は、カラー画像からグレースケール画像を生成する。
【0112】
続いて、本実施の形態3における目検出装置1Bの目検出処理について説明する。
【0113】
図12は、本開示の実施の形態3における目検出装置1Bの目検出処理の一例を示すフローチャートである。
【0114】
ステップS31の処理は、
図3に示すステップS1の処理と同じであるので、説明を省略する。
【0115】
次に、ステップS32において、眼鏡装着判定部17は、画像取得部11によって取得されたカラー画像から顔領域を検出する。眼鏡装着判定部17は、顔領域を検出する分類器にカラー画像を入力し、顔領域を検出する。
【0116】
次に、ステップS33において、眼鏡装着判定部17は、検出された顔領域を二値化して、階調値が閾値より小さい画素が第1輝度値で表され、階調値が閾値以上の画素が第2輝度値で表された二値画像を生成する。顔領域がカラー画像で構成されている場合、眼鏡装着判定部17は、顔領域を例えば0~255の階調値を有するグレースケール画像に変換し、変換したグレースケール画像に対して二値化処理を実行すればよい。二値化処理としては、例えば大津の二値化処理が採用できる。第1輝度値は例えば白であり、第2輝度値は例えば黒である。すなわち、本実施の形態では、暗い箇所は白で表され、明るい箇所は黒で表された二値画像が生成される。白の輝度値は例えば255で表され、黒の輝度値は例えば0で表される。
【0117】
なお、眼鏡装着判定部17は、カラー画像をグレースケール画像に変換する際に、一般的な変換処理を行う。グレースケール画像への一般的な変換処理としては、例えば、顔領域を構成する各画素の赤成分、緑成分及び青成分のそれぞれの階調値の平均を算出する処理が採用できる。また、眼鏡装着判定部17は、下記の式(2)を用いて、グレースケール画像の各画素の画素値Vを算出してもよい。
【0118】
V=0.299・R+0.587・G+0.114・B・・・(2)
【0119】
上記の式(2)において、Rは、カラー画像の各画素の赤色成分値を表し、Gは、カラー画像の各画素の緑色成分値を表し、Bは、カラー画像の各画素の青色成分値を表す。
【0120】
図13は、本実施の形態3における顔領域の二値画像の一例を示す図である。
図13の例では、顔領域において目、眉毛、鼻の穴、唇、髪及び眼鏡のフレーム等の暗い部位が白色で表され、肌等の明るい部位が黒色で表された二値画像34が生成されている。
【0121】
図12に戻って、次に、ステップS34において、眼鏡装着判定部17は、二値画像から、眼鏡が存在していると推定される眼鏡推定領域を抽出する。一般的な人間の顔の比率から、顔領域の上辺から3/10の位置を示すラインから6/10の位置を示すラインまでの間の領域が、眼鏡推定領域として抽出される。
図13に示すように、眼鏡推定領域341は、顔領域の二値画像34の上辺から3/10の位置を示すラインから6/10の位置を示すラインまでの間の領域である。
【0122】
図12に戻って、次に、ステップS35において、眼鏡装着判定部17は、抽出した眼鏡推定領域341にラベリング処理を実行する。ラベリング処理では、二値画像に対して、連続する複数の白色画素に同じ番号が割り振られる。このラベリング処理により、眼鏡推定領域341から、連続した複数の白色画素で構成される複数の白色領域が検出される。
図13に示すように、人が眼鏡を装着している場合、眼鏡のフレームを表す白色領域342が検出される。白色領域342は、水平方向に連続した複数の白色画素で構成される。
【0123】
上記のように、予め顔領域の二値画像34から、眼鏡推定領域341の二値画像を抽出することにより、ラベリング処理を行う範囲が狭まり、ラベリング処理に要する時間を短縮することができる。
【0124】
図12に戻って、次に、ステップS36において、眼鏡装着判定部17は、抽出した眼鏡推定領域341内において、複数の白色画素が連続する複数の白色領域のそれぞれの横幅(水平方向の長さ)を算出する。
【0125】
次に、ステップS37において、眼鏡装着判定部17は、横幅が最も長い白色領域の横幅が眼鏡推定領域の横幅の2/3以上であるか否かを判定する。ここで、横幅が最も長い白色領域の横幅が眼鏡推定領域の横幅の2/3以上であると判定された場合(ステップS37でYES)、ステップS38において、画像生成部12は、画像取得部11によって取得されたカラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、人U1が装着している眼鏡のレンズの特性に応じた所定の比率を乗算し、所定の比率を乗算した赤色成分値、緑色成分値及び青色成分値を合計することによりグレースケール画像を生成する。
【0126】
眼鏡のフレームを示す白色領域342は、水平方向に連続した複数の白色画素で構成される。横幅が最も長い白色領域の横幅が眼鏡推定領域の横幅の2/3以上であるということは、撮像された人が眼鏡を装着しているということである。そのため、白色領域342の長さが、眼鏡推定領域341の横幅の2/3以上である場合、眼鏡装着判定部17は、人が眼鏡を装着していると判定することができる。
【0127】
一方、横幅が最も長い白色領域の横幅が眼鏡推定領域の横幅の2/3以上ではないと判定された場合(ステップS37でNO)、ステップS39に処理が移行する。横幅が最も長い白色領域の横幅が眼鏡推定領域の横幅の2/3以上ではないということは、撮像された人が眼鏡を装着していないということである。
【0128】
なお、ステップS38~ステップS40の処理は、
図3のステップS2~ステップS4の処理と同じであるので、説明を省略する。
【0129】
このように、人が眼鏡を装着していないと判定された場合、グレースケール画像が生成されず、カラー画像から人の目が検出される。一方、人が眼鏡を装着していると判定された場合、カラー画像に含まれる眼鏡のレンズ部分に映り込んだ外光又は背景を除去するために、グレースケール画像が生成される。したがって、人が眼鏡を装着している場合にのみ、カラー画像に含まれる眼鏡のレンズ部分に映り込んだ外光又は背景を除去するための処理を行うことができる。
【0130】
ここで、本実施の形態3の変形例における眼鏡の装着判定について説明する。
【0131】
図14は、本実施の形態3の変形例における顔領域の二値画像の一例を示す図である。
図14の例では、顔領域において目、眉毛、鼻の穴、唇、髪及び眼鏡のフレーム等の暗い部位が白色で表され、肌等の明るい部位が黒色で表された二値画像35が生成されている。
【0132】
上記の
図13では、眼鏡のフレームを示す白色領域が1つ島として検出されているが、外光が眼鏡のフレームに差し込んでいたり、眼鏡のフレームに色が付いていたりする場合、眼鏡のフレームを示す白色領域が1つの島として検出されないおそれがある。
図14では、眼鏡のフレームは、1つの島として検出されておらず、複数の白色領域352で構成されている。
【0133】
そこで、眼鏡装着判定部17は、横幅が所定の長さ以上である白色領域が所定の数以上あるか否かを判定してもよい。横幅が所定の長さ以上である白色領域が所定の数以上ある場合、撮像された人が眼鏡を装着していると判定できる。また、横幅が所定の長さ以上である白色領域が所定の数以上ない場合、撮像された人が眼鏡を装着していないと判定できる。
【0134】
本実施の形態3の変形例では、
図12のステップS37において、眼鏡装着判定部17は、横幅が所定の長さ以上である白色領域が所定の数以上あるか否かを判定する。横幅が所定の長さ以上である白色領域が所定の数以上あると判定された場合(ステップS37でYES)、ステップS38に移行する。また、横幅が所定の長さ以上である白色領域が所定の数以上ないと判定された場合(ステップS37でNO)、ステップS39に処理が移行する。
【0135】
なお、実施の形態3の目検出処理と、実施の形態2の目検出処理とが組み合わされてもよい。この場合、
図12のステップS31~ステップS39の処理が行われた後に、
図7のステップS14以降の処理が行われてもよい。
【0136】
(実施の形態4)
カラー画像を用いた目検出処理では、撮像する場所の明るさが、眼鏡のレンズへの映り込みの発生に影響を及ぼす。そこで、実施の形態4では、カラー画像の顔領域の平均輝度値が算出され、平均輝度値が閾値より高い場合、以降の目検出処理が行われ、平均輝度値が閾値以下である場合、以降の目検出処理が行われない。
【0137】
図15は、本開示の実施の形態4における目検出システム100Cの全体構成の一例を示すブロック図である。なお、実施の形態4において、実施の形態1と同一の構成要素には同一の符号を付して説明を省略する。
【0138】
目検出装置1Cは、プロセッサ10C及びメモリ20を備える。プロセッサ10Cは、実施の形態1の目検出装置1のプロセッサ10に対して、さらに目検出判定部18及び通知部19を備えている。
【0139】
目検出判定部18は、画像取得部11によって取得されたカラー画像から人の顔を含む顔領域を検出する。目検出判定部18は、顔領域の平均輝度値を算出する。目検出判定部18は、算出した平均輝度値が閾値より高い場合、目の検出が可能であると判定する。一方、目検出判定部18は、算出した平均輝度値が閾値以下である場合、目の検出が不可能であると判定する。
【0140】
目検出判定部18によって目の検出が可能であると判定された場合、画像生成部12は、カラー画像からグレースケール画像を生成する。
【0141】
通知部19は、目検出判定部18によって目の検出が不可能であると判定された場合、目の検出が不可能であることを人に通知する。通知部19は、目検出判定部18によって目の検出が不可能であると判定された場合、目の検出が不可能であることを人に通知するための画面をディスプレイ3に表示する。なお、通知部19は、目検出判定部18によって目の検出が不可能であると判定された場合、目の検出が不可能であることを人に通知するための音声をスピーカから出力してもよい。
【0142】
続いて、本実施の形態4における目検出装置1Cの目検出処理について説明する。
【0143】
図16は、本開示の実施の形態4における目検出装置1Cの目検出処理の一例を示すフローチャートである。
【0144】
ステップS51の処理は、
図3に示すステップS1の処理と同じであるので、説明を省略する。
【0145】
次に、ステップS52において、目検出判定部18は、画像取得部11によって取得されたカラー画像から顔領域を検出する。目検出判定部18は、顔領域を検出する分類器にカラー画像を入力し、顔領域を検出する。
【0146】
次に、ステップS53において、目検出判定部18は、検出した顔領域の平均輝度値を算出する。なお、顔領域がカラー画像で構成されている場合、目検出判定部18は、顔領域を例えば0~255の階調値を有するグレースケール画像に変換し、変換したグレースケール画像の顔領域の平均輝度値を算出してもよい。なお、ここでの変換処理は、カラー画像からグレースケール画像への一般的な変換処理である。
【0147】
次に、ステップS54において、目検出判定部18は、平均輝度値が閾値より高いか否かを判定する。
【0148】
図17は、本実施の形態4において、平均輝度値が閾値より高い顔領域の一例を示す図であり、
図18は、本実施の形態4において、平均輝度値が閾値以下である顔領域の一例を示す図である。
【0149】
図17では、カラー画像36から顔領域361が検出されており、
図18では、カラー画像37から顔領域371が検出されている。
【0150】
可視光線の波長域を有するカラー画像は、赤外線の波長域を有する画像とは異なり、人が眼鏡を装着している場合であっても目を検出することができるという利点がある。しかしながら、暗所において得られたカラー画像では、眼鏡のレンズに外光又は背景が映り込みやすくなるため、目の検出精度が低下するおそれがある。特に、暗所において、スマートフォンの撮像装置2でカラー画像が取得され、取得されたカラー画像がスマートフォンのディスプレイ3に表示される場合、ディスプレイ3の画面が眼鏡のレンズに映り込みやすくなる。
【0151】
例えば、
図17に示すカラー画像36は、約850ルクスの明るさの場所で取得されており、
図18に示すカラー画像37は、約10ルクスの明るさの場所で取得されている。
【0152】
カラー画像36から検出された顔領域361の平均輝度値は130であり、カラー画像37から検出された顔領域371の平均輝度値は96である。
図18に示すように、顔領域371の平均輝度値が100以下となる場所で撮像されたカラー画像には、眼鏡のレンズに外光又は背景が映り込んでいる。このように、眼鏡のレンズに外光又は背景が映り込んだ顔領域371からは、正確な目の検出が困難である。
【0153】
そこで、目検出判定部18は、顔領域の平均輝度値が閾値より高いか否かを判定する。そして、顔領域の平均輝度値が閾値より高いと判定された場合、以降の目検出処理が行われ、顔領域の平均輝度値が閾値以下であると判定された場合、以降の目検出処理が行われない。なお、閾値は、例えば100である。
【0154】
図16に戻って、平均輝度値が閾値より高いと判定された場合(ステップS54でYES)、ステップS55において、画像生成部12は、画像取得部11によって取得されたカラー画像の各画素に対し、赤色成分値、緑色成分値及び青色成分値のそれぞれに、人U1が装着している眼鏡のレンズの特性に応じた所定の比率を乗算し、所定の比率を乗算した赤色成分値、緑色成分値及び青色成分値を合計することによりグレースケール画像を生成する。
【0155】
なお、ステップS55~ステップS57の処理は、
図3のステップS2~ステップS4の処理と同じであるので、説明を省略する。
【0156】
一方、平均輝度値が閾値以下であると判定された場合(ステップS54でNO)、ステップS58において、通知部19は、目の検出が不可能であることを人に通知する。このとき、通知部19は、目の検出が不可能であることを人に通知するための画面をディスプレイ3に表示する。例えば、画面には、現在の撮像場所が暗く、目を検出することができないおそれがあるため、明るい場所へ移動するように促すような通知が行われる。
【0157】
上記のように、人が暗所にいる場合、眼鏡のレンズ部分に外光が映り込みやすくなる。すなわち、カラー画像を用いた目検出処理では、撮像する場所の明るさが、眼鏡のレンズへの映り込みの発生に影響を及ぼす。そこで、顔領域の平均輝度値が閾値より高い場合、目の検出が可能であると判定され、顔領域の平均輝度値が閾値以下である場合、目の検出が不可能であると判定される。したがって、目の検出が可能である場合にのみ、カラー画像に含まれる眼鏡のレンズ部分に映り込んだ外光又は背景を除去するための処理を行うことができる。
【0158】
また、目の検出が不可能であると判定された場合、目の検出が不可能であることが人に通知されるので、通知を受けた人が明るい場所に移動することにより、目を検出することができる。
【0159】
なお、実施の形態4の目検出処理と、実施の形態2の目検出処理とが組み合わされてもよい。この場合、
図16のステップS51~ステップS56の処理が行われた後に、
図7のステップS14以降の処理が行われてもよい。
【0160】
また、実施の形態4の目検出処理と、実施の形態3の目検出処理とが組み合わされてもよい。この場合、
図16のステップS51~ステップS54の処理が行われ、ステップS54でYESの場合に、
図12のステップS33以降の処理が行われてもよい。
【0161】
さらに、実施の形態4の目検出処理と、実施の形態3の目検出処理と、実施の形態2の目検出処理とが組み合わされてもよい。この場合、
図16のステップS51~ステップS54の処理が行われ、ステップS54でYESの場合に、
図12のステップS33~ステップS39の処理が行われ、その後、
図7のステップS14以降の処理が行われてもよい。
【0162】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。また、プログラムを記録媒体に記録して移送することにより、又はプログラムをネットワークを経由して移送することにより、独立した他のコンピュータシステムによりプログラムが実施されてもよい。
【0163】
本開示の実施の形態に係る装置の機能の一部又は全ては典型的には集積回路であるLSI(Large Scale Integration)として実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0164】
また、本開示の実施の形態に係る装置の機能の一部又は全てを、CPU等のプロセッサがプログラムを実行することにより実現してもよい。
【0165】
また、上記で用いた数字は、全て本開示を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。
【0166】
また、上記フローチャートに示す各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、同様の効果が得られる範囲で上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
【産業上の利用可能性】
【0167】
本開示に係る技術は、カラー画像から人の目を検出する精度を向上させることができるので、画像から人の目を検出する技術に有用である。
【符号の説明】
【0168】
1,1A,1B,1C 目検出装置
2 撮像装置
3 ディスプレイ
10,10A,10B,10C プロセッサ
11 画像取得部
12 画像生成部
13 目検出部
14 出力部
15 映り込み判定部
16 虹彩検出処理部
17 眼鏡装着判定部
18 目検出判定部
19 通知部
20 メモリ
100,100A,100B,100C 目検出システム