(57)【特許請求の範囲】
【請求項１】
入力画像から特定のオブジェクトを検出するオブジェクト検出装置であって、
前記オブジェクトを表す所定の大きさのサンプル画像を多数学習させて得られた、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて前記判別対象画像が前記オブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器と、
前記入力画像上の複数の異なる位置で前記所定の大きさの部分画像を切り出す部分画像切出し手段と、
前記複数の判別器それぞれのスコアを所定の順序で順次取得するものであって、
前記部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、前記複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、前記スコアを取得する際に、該特定された判別器については、該特定された判別器に対応して予め設定された打ち切り閾値と該判別器の直前にスコアが取得される判別器に対応して予め設定された打ち切り閾値との差に基づいて定められた値をスコアとして取得し、その他の判別器については、該判別器を前記部分画像に適用することにより得られた出力をスコアとして取得し、
前記各判別器についてのスコアが取得される度に、そのときまでに取得されたスコアの合計が、該判別器に対応して予め設定された打ち切り閾値を超えるか否かを判断し、超えない場合には前記部分画像が前記オブジェクトを表す画像ではないと判別するとともに前記スコアを取得する処理を打ち切り、超える場合には引き続き次の判別器のスコアを取得し、
前記複数の判別器の全てについてスコアが取得された場合は、前記全ての判別器について取得されたスコアの合計が、予め設定された判別閾値を超えるか否かを判断し、超える場合には前記部分画像が前記オブジェクトを表す画像であると判別し、超えない場合には前記部分画像が前記オブジェクトを表す画像ではないと判別する判別手段と
を備えたことを特徴とするオブジェクト検出装置。
【請求項２】
前記全ての判別器について取得されたスコアの合計が前記判別閾値を超える場合、前記全ての判別器について取得されたスコアの合計に対する前記特定された判別器について取得されたスコアの合計の割合から、前記判別の結果の信頼度を算出する信頼度算出手段をさらに備えたことを特徴とする請求項１記載のオブジェクト検出装置。
【請求項３】
前記打ち切り閾値が、前記複数の判別器の各々に対応して設けられ、前記所定の順序に従って順序が後になる程大きな値となるものであり、前記各判別器に対応して設定された打ち切り閾値と該判別器の直前にスコアが取得される判別器に対応して設定された打ち切り閾値との差に基づいて定められた値が、前記判別対象画像が前記オブジェクトであればその判別器のスコアは少なくともこれ以上になるであろうと想定される値に相当するものとなるように設定されていることを特徴とする請求項１又は２記載のオブジェクト検出装置。
【請求項４】
前記信頼度算出手段が、前記割合が大きいほど前記信頼度を小さく算出するものであることを特徴とする請求項２記載のオブジェクト検出装置。
【請求項５】
入力画像から特定のオブジェクトを検出するオブジェクト検出装置であって、
前記オブジェクトを表す所定の大きさのサンプル画像を多数学習させて得られた、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて前記判別対象画像が前記オブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器と、
前記入力画像上の複数の異なる位置で前記所定の大きさの部分画像を切り出す部分画像切出し手段と、
前記部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、前記複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、前記複数の判別器のうち前記特定された判別器を除く全ての判別器それぞれを前記部分画像に適用することにより得られた出力を該各適用された判別器のスコアとして取得し、
前記各取得されたスコアの合計が、前記部分画像が前記オブジェクトであれば前記複数の判別器の全てのスコアの合計は少なくともこれ以上になるであろうと思われる値から、前記特定された判別器の全てにおける、前記部分画像が前記オブジェクトであればその判別器のスコアは少なくともこれ以上になるであろうと思われる値の合計を減算して得られた判別閾値を超えるか否かを判断し、超える場合には前記部分画像が前記オブジェクトを表す画像であると判別し、超えない場合には前記部分画像が前記オブジェクトを表す画像ではないと判別する判別手段と
を備えたことを特徴とするオブジェクト検出装置。
【請求項６】
前記特定のオブジェクトが眼であることを特徴とする請求項１から５のいずれか１項記載のオブジェクト検出装置。
【請求項７】
入力画像から特定のオブジェクトを検出するオブジェクト検出方法であって、
前記オブジェクトを表す所定の大きさのサンプル画像を多数学習させて、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて前記判別対象画像が前記オブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器を生成して用意するステップと、
前記入力画像上の複数の異なる位置で前記所定の大きさの部分画像を切り出すステップと、
前記複数の判別器それぞれのスコアを所定の順序で順次取得するものであって、
前記部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、前記複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、前記スコアを取得する際に、該特定された判別器については、該特定された判別器に対応して予め設定された打ち切り閾値と該判別器の直前にスコアが取得される判別器に対応して予め設定された打ち切り閾値との差に基づいて定められた値をスコアとして取得し、その他の判別器については、該判別器を前記部分画像に適用することにより得られた出力をスコアとして取得し、
前記各判別器についてのスコアが取得される度に、そのときまでに取得されたスコアの合計が、該判別器に対応して予め設定された打ち切り閾値を超えるか否かを判断し、超えない場合には前記部分画像が前記オブジェクトを表す画像ではないと判別するとともに前記スコアを取得する処理を打ち切り、超える場合には引き続き次の判別器のスコアを取得し、
前記複数の判別器の全てについてスコアが取得された場合は、前記全ての判別器について取得されたスコアの合計が、予め設定された判別閾値を超えるか否かを判断し、超える場合には前記部分画像が前記オブジェクトを表す画像であると判別し、超えない場合には前記部分画像が前記オブジェクトを表す画像ではないと判別するステップと
を備えたことを特徴とするオブジェクト検出方法。
【請求項８】
前記全ての判別器について取得されたスコアの合計が前記判別閾値を超える場合、前記全ての判別器について取得されたスコアの合計に対する前記特定された判別器について取得されたスコアの合計の割合から、前記判別の結果の信頼度を算出するステップをさらに有することを特徴とする請求項７記載のオブジェクト検出方法。
【請求項９】
入力画像から特定のオブジェクトを検出するオブジェクト検出方法であって、
前記オブジェクトを表す所定の大きさのサンプル画像を多数学習させて、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて前記判別対象画像が前記オブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器を生成して用意するステップと、
前記入力画像上の複数の異なる位置で前記所定の大きさの部分画像を切り出すステップと、
前記部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、前記複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、前記複数の判別器のうち前記特定された判別器を除く全ての判別器それぞれを前記部分画像に適用することにより得られた出力を該各適用された判別器のスコアとして取得し、
前記各取得されたスコアの合計が、前記部分画像が前記オブジェクトであれば前記複数の判別器の全てのスコアの合計は少なくともこれ以上になるであろうと思われる値から、前記特定された判別器の全てにおける、前記部分画像が前記オブジェクトであればその判別器のスコアは少なくともこれ以上になるであろうと思われる値の合計を減算して得られた判別閾値を超えるか否かを判断し、超える場合には前記部分画像が前記オブジェクトを表す画像であると判別し、超えない場合には前記部分画像が前記オブジェクトを表す画像ではないと判別するステップと
を備えたことを特徴とするオブジェクト検出方法。
【請求項１０】
コンピュータを、入力画像から特定のオブジェクトを検出するオブジェクト検出装置として機能させるためのプログラムであって、
該コンピュータを、
前記オブジェクトを表す所定の大きさのサンプル画像を多数学習させて得られた、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて前記判別対象画像が前記オブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器と、
前記入力画像上の複数の異なる位置で前記所定の大きさの部分画像を切り出す部分画像切出し手段と、
前記複数の判別器それぞれのスコアを所定の順序で順次取得するものであって、
前記部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、前記複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、前記スコアを取得する際に、該特定された判別器については、該特定された判別器に対応して予め設定された打ち切り閾値と該判別器の直前にスコアが取得される判別器に対応して予め設定された打ち切り閾値との差に基づいて定められた値をスコアとして取得し、その他の判別器については、該判別器を前記部分画像に適用することにより得られた出力をスコアとして取得し、
前記各判別器についてのスコアが取得される度に、そのときまでに取得されたスコアの合計が、該判別器に対応して予め設定された打ち切り閾値を超えるか否かを判断し、超えない場合には前記部分画像が前記オブジェクトを表す画像ではないと判別するとともに前記スコアを取得する処理を打ち切り、超える場合には引き続き次の判別器のスコアを取得し、
前記複数の判別器の全てについてスコアが取得された場合は、前記全ての判別器について取得されたスコアの合計が、予め設定された判別閾値を超えるか否かを判断し、超える場合には前記部分画像が前記オブジェクトを表す画像であると判別し、超えない場合には前記部分画像が前記オブジェクトを表す画像ではないと判別する判別手段として機能させることを特徴とするオブジェクト検出プログラム。
【請求項１１】
コンピュータを、入力画像から特定のオブジェクトを検出するオブジェクト検出装置として機能させるためのプログラムであって、
該コンピュータを、
前記オブジェクトを表す所定の大きさのサンプル画像を多数学習させて得られた、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて前記判別対象画像が前記オブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器と、
前記入力画像上の複数の異なる位置で前記所定の大きさの部分画像を切り出す部分画像切出し手段と、
前記部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、前記複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、前記複数の判別器のうち前記特定された判別器を除く全ての判別器それぞれを前記部分画像に適用することにより得られた出力を該各適用された判別器のスコアとして取得し、
前記各取得されたスコアの合計が、前記部分画像が前記オブジェクトであれば前記複数の判別器の全てのスコアの合計は少なくともこれ以上になるであろうと思われる値から、前記特定された判別器の全てにおける、前記部分画像が前記オブジェクトであればその判別器のスコアは少なくともこれ以上になるであろうと思われる値の合計を減算して得られた判別閾値を超えるか否かを判断し、超える場合には前記部分画像が前記オブジェクトを表す画像であると判別し、超えない場合には前記部分画像が前記オブジェクトを表す画像ではないと判別する判別手段として機能させることを特徴とするオブジェクト検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顔画像などの入力画像から眼などの特定のオブジェクトを検出するオブジェクト検出装置、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、車載用カメラにより運転者の顔画像を撮影し、この顔画像から眼の画像を検出し、目の画像に基づいて様々な処理、例えば、運転者の注視方向を判別するといった処理を行う画像処理装置が利用されている。
【０００３】
顔画像から眼を検出する手法として、眼を表す所定の大きさのサンプル画像を多数学習させて、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて判別対象画像が眼を表す画像であることの蓋然性を示す値を算出することが可能な複数の判別器を生成して用意しておき、顔画像において部分画像を順次切り出し、その部分画像が眼を表す画像であるか否かを上記の複数の判別器を用いて判別する手法が知られている。
【０００４】
ところで、運転者が眼鏡やサングラスを掛けている場合には、眼鏡等のレンズやフレームに太陽や照明が反射して、その反射光が画像に写り込むことがあり、このため、顔画像から眼の画像を検出しにくくなることがある。そこで、特許文献１には、顔画像から輝度が所定値以上に高くなっている画素を全て検出し、各検出された画素の画素値を近接画素の平均色に置き換えることによって高輝度部分を除去した処理済み画像を生成し、その処理済み画像に対して眼の検出処理を行うことにより、眼の検出精度を向上させる手法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２００２−２６９５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１の手法においては、検出の対象となる画像に対して、事前に、高輝度画素を検出し、各検出された画素の近傍画素の画素値を取得してその平均値を算出し、さらに、その算出した平均値を用いて画素値を置き換えるといった画像補正処理を施しておく必要があるため、処理に時間が掛かり、処理速度が低下する。これは、監視カメラなどによって撮影された連続した画像に対して順次眼検出処理を行う場合に特に問題となる。また、このような画像補正処理がなされていても、必ずしも適切でなかったり、不十分であったりする場合がある。
【０００７】
本発明は、上記事情に鑑み、前処理として上述のような画像補正処理を必要とすることなく、眼などの特定のオブジェクトの検出処理に対する反射光の影響を適切に抑え、精度よくオブジェクトを検出することができるオブジェクト検出装置、方法およびプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明の第１のオブジェクト検出装置は、入力画像から特定のオブジェクトを検出するオブジェクト検出装置であって、オブジェクトを表す所定の大きさのサンプル画像を多数学習させて得られた、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて判別対象画像がオブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器と、入力画像上の複数の異なる位置で前記所定の大きさの部分画像を切り出す部分画像切出し手段と、複数の判別器それぞれのスコアを所定の順序で順次取得するものであって、部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、スコアを取得する際に、特定された判別器については、その特定された判別器に対応して予め設定された打ち切り閾値とその判別器の直前にスコアが取得される判別器に対応して予め設定された打ち切り閾値との差に基づいて定められた値をスコアとして取得し、その他の判別器については、その判別器を部分画像に適用することにより得られた出力をスコアとして取得し、各判別器についてのスコアが取得される度に、そのときまでに取得されたスコアの合計が、その判別器に対応して予め設定された打ち切り閾値を超えるか否かを判断し、超えない場合には部分画像がオブジェクトを表す画像ではないと判別するとともにスコアを取得する処理を打ち切り、超える場合には引き続き次の判別器のスコアを取得し、複数の判別器の全てについてスコアが取得された場合は、全ての判別器について取得されたスコアの合計が、予め設定された判別閾値を超えるか否かを判断し、超える場合には部分画像がオブジェクトを表す画像であると判別し、超えない場合には部分画像がオブジェクトを表す画像ではないと判別する判別手段とを備えたことを特徴とするものである。
【０００９】
ここで、打ち切り閾値の差に基づいて定められた値をスコアとして取得するとは、打ち切り閾値の差、または打ち切り閾値の差をＲ倍（Ｒは１以上の実数）した値をスコアとして取得することを意味する。
【００１０】
上記オブジェクト検出装置は、全ての判別器について取得されたスコアの合計が判別閾値を超える場合、全ての判別器について取得されたスコアの合計に対する特定された判別器について取得されたスコアの合計の割合から、判別の結果の信頼度を算出する信頼度算出手段を備えたものであってもよい。さらに、この信頼度算出手段は、前記割合が大きいほど信頼度を小さく算出するものであってもよい。
【００１１】
また、打ち切り閾値は、複数の判別器の各々に対応して設けられ、所定の順序に従って順序が後になる程大きな値となるものであり、各判別器に対応して設定された打ち切り閾値とその判別器の直前にスコアが取得される判別器に対応して設定された打ち切り閾値との差に基づいて定められた値が、判別対象画像がオブジェクトであればその判別器のスコアは少なくともこれ以上になるであろうと想定される値に相当するものとなるように設定されたものであってもよい。
【００１２】
本発明の第２のオブジェクト検出装置は、入力画像から特定のオブジェクトを検出するオブジェクト検出装置であって、オブジェクトを表す所定の大きさのサンプル画像を多数学習させて得られた、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて判別対象画像がオブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器と、入力画像上の複数の異なる位置で前記所定の大きさの部分画像を切り出す部分画像切出し手段と、部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、複数の判別器のうち前記特定された判別器を除く全ての判別器それぞれを部分画像に適用することにより得られた出力を該各適用された判別器のスコアとして取得し、各取得されたスコアの合計が、部分画像がオブジェクトであれば複数の判別器の全てのスコアの合計は少なくともこれ以上になるであろうと思われる値から、特定された判別器の全てにおける、部分画像がオブジェクトであればその判別器のスコアは少なくともこれ以上になるであろうと思われる値の合計を減算して得られた判別閾値を超えるか否かを判断し、超える場合には部分画像がオブジェクトを表す画像であると判別し、超えない場合には部分画像がオブジェクトを表す画像ではないと判別する判別手段とを備えたことを特徴とするものである。
【００１３】
本発明の第１のオブジェクト検出方法は、入力画像から特定のオブジェクトを検出する処理を少なくとも１台のコンピュータにより実行するオブジェクト検出オブジェクト検出方法であって、オブジェクトを表す所定の大きさのサンプル画像を多数学習させて、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて判別対象画像がオブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器を生成して用意するステップと、入力画像上の複数の異なる位置で前記所定の大きさの部分画像を切り出すステップと、複数の判別器それぞれのスコアを所定の順序で順次取得するものであって、部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、スコアを取得する際に、特定された判別器については、その特定された判別器に対応して予め設定された打ち切り閾値とその判別器の直前にスコアが取得される判別器に対応して予め設定された打ち切り閾値との差に基づいて定められた値をスコアとして取得し、その他の判別器については、その判別器を部分画像に適用することにより得られた出力をスコアとして取得し、各判別器についてのスコアが取得される度に、そのときまでに取得されたスコアの合計が、その判別器に対応して予め設定された打ち切り閾値を超えるか否かを判断し、超えない場合には部分画像がオブジェクトを表す画像ではないと判別するとともにスコアを取得する処理を打ち切り、超える場合には引き続き次の判別器のスコアを取得し、複数の判別器の全てについてスコアが取得された場合は、全ての判別器について取得されたスコアの合計が、予め設定された判別閾値を超えるか否かを判断し、超える場合には部分画像がオブジェクトを表す画像であると判別し、超えない場合には部分画像がオブジェクトを表す画像ではないと判別するステップとを備えたことを特徴とするものである。
【００１４】
上記オブジェクト検出方法は、全ての判別器について取得されたスコアの合計が判別閾値を超える場合、全ての判別器について取得されたスコアの合計に対する特定された判別器について取得されたスコアの合計の割合から、判別の結果の信頼度を算出するステップをさらに有するものであってもよい。
【００１５】
本発明の第２のオブジェクト検出方法は、入力画像から特定のオブジェクトを検出するオブジェクト検出方法であって、オブジェクトを表す所定の大きさのサンプル画像を多数学習させて、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて判別対象画像がオブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器を生成して用意するステップと、入力画像上の複数の異なる位置で前記所定の大きさの部分画像を切り出すステップと、部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、複数の判別器のうち前記特定された判別器を除く全ての判別器それぞれを部分画像に適用することにより得られた出力を該各適用された判別器のスコアとして取得し、各取得されたスコアの合計が、部分画像がオブジェクトであれば複数の判別器の全てのスコアの合計は少なくともこれ以上になるであろうと思われる値から、特定された判別器の全てにおける、部分画像がオブジェクトであればその判別器のスコアは少なくともこれ以上になるであろうと思われる値の合計を減算して得られた判別閾値を超えるか否かを判断し、超える場合には部分画像がオブジェクトを表す画像であると判別し、超えない場合には部分画像がオブジェクトを表す画像ではないと判別するステップとを備えたことを特徴とするものである。
【００１６】
また、本発明の第１および第２のオブジェクト検出プログラムは、それぞれ上記第１および第２のオブジェクト検出装置の各手段が行う処理を、少なくとも１台のコンピュータに実行させるプログラムである。このプログラムは、ＣＤ−ＲＯＭ，ＤＶＤなどの記録メディアに記録され、またはサーバコンピュータに付属するストレージやネットワークストレージにダウンロード可能な状態で記録されて、ユーザに提供される。
【００１７】
なお、上記オブジェクト検出装置、方法およびプログラムにおいて、前記特定のオブジェクトは眼であってもよいし、人物の顔等の他のオブジェクトであってもよい。
【発明の効果】
【００１８】
本発明の第１のオブジェクト検出装置、方法およびプログラムによれば、入力画像から特定のオブジェクトを検出する際に、オブジェクトを表す所定の大きさのサンプル画像を多数学習させて、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて判別対象画像がオブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器を生成して用意し、入力画像上の複数の異なる位置で所定の大きさの部分画像を切り出し、その部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、特定された判別器については、その特定された判別器に対応して予め設定された打ち切り閾値とその判別器の直前にスコアが取得される判別器に対応して予め設定された打ち切り閾値との差に基づいて定められた値をスコアとして取得し、その他の判別器については、その判別器を部分画像に適用することにより得られた出力をスコアとして取得することにより、複数の判別器それぞれのスコアを所定の順序で順次取得し、各判別器についてのスコアが取得される度に、そのときまでに取得されたスコアの合計が、その判別器に対応して予め設定された打ち切り閾値を超えるか否かを判断し、超えない場合には部分画像がオブジェクトを表す画像ではないと判別するとともにスコアを取得する処理を打ち切り、超える場合には引き続き次の判別器のスコアを取得し、複数の判別器の全てについてスコアが取得された場合は、全ての判別器について取得されたスコアの合計が、予め設定された判別閾値を超えるか否かを判断し、超える場合には部分画像がオブジェクトを表す画像であると判別し、超えない場合には部分画像がオブジェクトを表す画像ではないと判別するので、入力画像中に反射光が写り込んでなる飽和画素が存在する場合であっても、その画素に割り当てられている判別機の出力によっては判別の結果が左右されないようにすることができ、オブジェクトの検出処理に対する反射光の影響を適切に抑え、精度よくオブジェクトを検出することができる。また、前処理として特許文献１に記載のような画像補正処理を行ったりする必要がなくなり，装置構成及び画像処理を簡素化することができる。
【００１９】
上記オブジェクト検出装置、方法およびプログラムにおいて、全ての判別器について取得されたスコアの合計が判別閾値を超える場合に、全ての判別器について取得されたスコアの合計に対する特定された判別器について取得されたスコアの合計の割合から、判別の結果の信頼度を算出するようにした場合には、算出した信頼度を判別の結果が信頼できるかどうかを判断するための情報としてユーザに提供したり、算出した信頼度に応じて後続の処理を設計したりすることができる。
【００２０】
本発明の第２のオブジェクト検出装置、方法およびプログラムによれば、入力画像から特定のオブジェクトを検出する際に、オブジェクトを表す所定の大きさのサンプル画像を多数学習させて、それぞれに判別対象画像上の異なる位置が割り当てられ、該割り当てられた位置にある画素の画素値に基づいて判別対象画像がオブジェクトを表す画像であることの蓋然性を示す値を出力する複数の判別器を生成して用意し、入力画像上の複数の異なる位置で前記所定の大きさの部分画像を切り出し、その部分画像の各々に対して、当該部分画像中の飽和画素の位置を検出し、複数の判別器の中から前記検出した位置が割り当てられている判別器を特定し、複数の判別器のうち前記特定された判別器を除く全ての判別器それぞれを部分画像に適用することにより得られた出力を該各適用された判別器のスコアとして取得し、各取得されたスコアの合計が、部分画像がオブジェクトであれば複数の判別器の全てのスコアの合計は少なくともこれ以上になるであろうと思われる値から、特定された判別器の全てにおける、部分画像がオブジェクトであればその判別器のスコアは少なくともこれ以上になるであろうと思われる値の合計を減算して得られた判別閾値を超えるか否かを判断し、超える場合には部分画像がオブジェクトを表す画像であると判別し、超えない場合には部分画像がオブジェクトを表す画像ではないと判別するので、入力画像中に反射光が写り込んでなる飽和画素が存在する場合であっても、その画素に割り当てられている判別機の出力によっては判別の結果が左右されないようにすることができ、オブジェクトの検出処理に対する反射光の影響を適切に抑え、精度よくオブジェクトを検出することができる。また、前処理として特許文献１に記載のような画像補正処理を行ったりする必要がなくなり，装置構成及び画像処理を簡素化することができる。
【図面の簡単な説明】
【００２１】
【図１】眼検出システムの構成を示すブロック図
【図２】眼処理装置が実行する処理の概要を示す図
【図３】判別器の生成方法を示すフローチャート
【図４】判別処理の流れを示すフローチャート(ＥａｒｌｙＲｅｊｅｃｔ=Ｏｎ)
【図５】判別処理の流れを示すフローチャート(ＥａｒｌｙＲｅｊｅｃｔ=Ｏｆｆ)
【発明を実施するための形態】
【００２２】
以下、図面を参照して、本発明のオブジェクト検出装置、方法、およびプログラムを入力画像から眼を検出するものに適用した実施形態について説明する。本実施形態に係る眼検出装置は、一台のコンピュータに、眼検出プログラムをインストールしたものである。眼検出プログラムは、ＤＶＤ，ＣＤ−ＲＯＭ等の記録メディアに記録されて配布され、その記録媒体からコンピュータにインストールされる。もしくは、ネットワークに接続されたサーバコンピュータの記憶装置、あるいはネットワークストレージに、外部からアクセス可能な状態で記憶され、ユーザの要求に応じてコンピュータにダウンロードされ、インストールされる。
【００２３】
図１は、コンピュータに眼検出プログラムをインストールすることにより実現された眼検出装置の概略構成を示す図である。同図が示すように、眼検出装置１は、ＣＰＵ２、メモリ３およびストレージデバイス４などを備えている。
【００２４】
ストレージ４には、眼検出処理の対象となる入力画像が記憶されている。入力画像としては、たとえば車載用カメラにより撮影して得られた運転者の顔画像が記憶されている。
【００２５】
また、メモリ３には、眼検出プログラムと眼検出プログラムが参照するデータ（打ち切り閾値、判別閾値など）が記憶されている。眼検出プログラムは、ＣＰＵ２に実行させる処理として、前処理、部分画像切出し処理、判別処理および信頼度算出処理等を規定している。そして、ＣＰＵ２がプログラムに従いこれらの処理を実行することで、コンピュータは、前処理手段、部分画像切出し手段、判別手段および信頼度算出手段として機能することになる。
【００２６】
以下、眼検出装置１が実行する各処理について説明する。図２は、画像処理装置１が実行する処理の概要を示す図図である。眼検出装置１は、まず、ストレージ４から入力画像をメモリ３にロードし、検出処理を効果的に行うための前処理１１を実行する。たとえば、画素値をいわゆる逆ガンマ変換した後にさらに対数をとるような変換曲線（ルックアップテーブル）に従って、入力画像全体における画素値を変換する正規化処理を行う。
【００２７】
なお、前処理として、周辺エリア（例えば、７×７画素）の平均値や分散値を用いて近傍処理（照明補正等）を行う場合には、入力画像中に飽和画素が存在するか否かを判断し、存在する場合には、その飽和画素を除く他の画素のみを用いて平均値や分散値を算出し、それに基づいて補正処理が行われるようにすることが好ましい。ここで、入力画像中に飽和画素が存在するか否かの判断は、入力画像中の各画素の画素値をその画素がとり得る最大値（飽和値）と比較し、最大値であると判断された画素が存在するか否かを判断することにより行うことができる。これにより、飽和画素の近傍の位置が割り当てられている判別器の判断（評価）精度の低下を防ぎ、検出漏れを抑制することができる。
【００２８】
続いて、眼検出装置１は、前処理が施されてなる入力画像に対して、部分画像切出し処理１２を実行する。部分画像切出し処理１２では、入力画像上で所定のサイズを有するウィンドウをその位置をずらしながら順次設定し、各設定されたウィンドウにより囲まれた部分画像を切り出す。
【００２９】
続いて、眼検出装置１は、前記ウィンドウで切り出された部分画像（判別対象画像）の各々に対して、判別処理１３を実行する。判別処理１３では、予め生成して用意しておいた判別器群３４を用いて、各切り出された部分画像（判別対象画像）が眼を表す画像であるか否かを判別する。なお、判別処理１３に関する詳細は後述する。
【００３０】
ここで、判別器群３４の構成および生成方法について説明する。判別器群３４は、複数の判別器Ｃ１，Ｃ２，・・・ＣＮからなり、後述の学習により多数の判別器の中から選定された判別に有効な判別器をその有効な順に直列に接続したものである。複数の判別器Ｃ１，Ｃ２，・・・ＣＮは、それぞれに判別対象画像上の異なる位置が割り当てられ、その割り当てられた位置にある画素の画素値に基づいて判別対象画像が眼を表す画像であることの蓋然性を示す値を求め、出力するものである。ここで、判別器に割り当てられる位置は、たとえば判別対象画像上に設定される所定の２点を１ペアとして複数のペアからなるペア群を設定するときの、特定のペア群を構成する各点の位置である（以下の説明を参照）。
【００３１】
図３は判別器群３４の生成方法を示すフローチャートである。判別器群３４の生成には、所定のサイズで規格化され、さらに、前述の正規化処理と同様の処理が施された複数のサンプル画像を用いる。サンプル画像としては、眼であることが分かっている複数の異なるサンプル画像と、眼でないことが分かっている複数の異なる非眼サンプル画像とを用意する。これら各サンプル画像には、重みすなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく１に設定される（ステップＳ１１）。
【００３２】
次に、サンプル画像上に設定される所定の２点を１ペアとして複数のペアからなるペア群を複数種類設定したときの、この複数種類のペア群のそれぞれについて半別器が作成される（ステップＳ１２）。ここで、それぞれの判別器とは、その判別器に割り当てられている特定のペア群を構成する各ペアにおける２点間の画素値の差分値の組合せを用いて、判別対象画像が眼を表す画像であることの蓋然性を示す値を出力するものである。
【００３３】
続いて、ステップＳ１２で作成した複数の半別器のうち、画像が眼であるか否かを判別するのに最も有効な判別器が選択される。最も有効な判別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各判別器の重み付き正答率が比較され、最も高い重み付き正答率を示す判別器が選択される（ステップＳ１３）。すなわち、最初のステップＳ１３では、各サンプル画像の重みは等しく１であるので、単純にその判別器によって画像が眼であるか否かが正しく判別されるサンプル画像の数が最も多いものが、最も有効な判別器として選択される。
【００３４】
次に、それまでに選択した判別器の組合せの正答率、すなわち、それまでに選択した判別器を組み合わせて使用して各サンプル画像が眼の画像であるか否かを判別した結果が、実際に眼の画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる（ステップＳ１４）。所定の閾値を超えた場合は、それまでに選択した判別器を用いれば画像が眼であるか否かを十分に高い確率で判別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した判別器と組み合わせて用いるための追加の判別器を選択するために、ステップＳ１６へと進む。ステップＳ１６では、直近のステップＳ１３で選択された判別器が再び選択されないようにするため、その判別器が除外される。
【００３５】
次に、直近のステップＳ１３で選択された判別器では眼であるか否かを正しく判別できなかったサンプル画像の重みが大きくされ、画像が眼であるか否かを正しく判別できたサンプル画像の重みが小さくされる（ステップＳ１５）。続いて、ステップＳ１３へと戻り、上記したように重み付き正答率を基準にして次に有効な判別器が選択される。
【００３６】
以上のステップＳ１３からＳ１６を繰り返して、眼であるか否かを判別するのに適した判別器として、特定のペア群を構成する各ペアの所定の２点間の画素値の差分値の組合せに対応する判別器が選択されたところで、ステップＳ１４で確認される正答率が閾値を超えたとすると、眼であるか否かの判別に用いる判別器の種類と判別条件とが確定され（ステップＳ１７）、これにより学習を終了する。なお、選択された判別器は、その重み付き正答率が高い順に線形結合され、判別器群３４が構成される。
【００３７】
また、このようにして、判別器群３４を構成する複数の判別器Ｃ１，Ｃ２，・・・ＣＮが確定されると、判別器群３４を構成する各判別器とその判別器に割り当てられている特定のペア群を構成する各点の位置との対応関係を表すリストが作成され、メモリ３に記録される。
【００３８】
次に、眼検出装置１における判別処理１３の詳細について説明する。判別処理１３では、特定の条件下で処理を途中で打ち切るＥａｒｌｙＲｅｊｅｃｔの設定がＯｎであるかＯｆｆであるかによって、後述する２種類の判別処理が選択的に行われる。
【００３９】
ここで、ＥａｒｌｙＲｅｊｅｃｔの設定をＯｎにするかＯｆｆにするかは、いずれか一方をデフォルト設定とし、ユーザによる設定変更指示を受け付けて他方の設定に切り替えるようにしてもよいが、予め設定しておいた所定の条件に基づいてＯｎとＯｆｆが自動的に切り替わるようにしてもよい。例えば、Ｏｎをデフォルト設定とし、対象画像中に飽和画素が検出された場合に、Ｏｆｆに自動的に切り替わるようにしてもよい。
【００４０】
まず、ＥａｒｌｙＲｅｊｅｃｔの設定がＯｎである場合に行われる第１の判別処理について説明する。なお、この第１の判別処理においては、判別器群３４を構成する複数の判別器Ｃｉ（ｉ＝１〜Ｎ）のそれぞれに対応して打ち切り閾値Ｔｈｉが設定されていることが前提となる。この打ち切り閾値Ｔｈｉ（ｉ＝１〜Ｎ）は、判別器の順序が後になる程大きな値となるものであり、各判別器に対応して設定されている打ち切り閾値とその判別器の直前の判別器に対応して設定されている打ち切り閾値との差が、判別対象画像が眼であればその判別器のスコアは少なくともこれ以上になるであろうと想定される値に相当するものとなるように設定されている。
【００４１】
図４は第１の判別処理の流れを示すフローチャートである。第１の判別処理では、まず、部分画像切出し処理１２において切り出された部分画像から飽和画素が検出される。具体的には、部分画像の各画素の画素値がその画素がとり得る最大値（飽和値）と比較され、最大値であると判断された画素が飽和画素として検出される（ステップＳ２１）。
【００４２】
次に、判別器群３４を構成する複数の判別器Ｃｉ（ｉ＝１〜Ｎ）の中から、ステップＳ２１で検出された飽和画素の位置が割り当てられている判別器Ｃｊが特定される。具体的には、メモリ３に記録されている前記リストを参照することにより、判別器群３４を構成する各判別器とその判別器に割り当てられている各点の位置との対応関係から、前記検出された飽和画素の位置が割り当てられている判別器が全て特定される（ステップＳ２２）。
【００４３】
続いて、第１番目の判別器Ｃ１から順に、途中で処理が打ち切られるまで以下のステップＳ２３からステップＳ２６までの処理が繰り返し行われる。具体的には、まず、判別機ＣｉがステップＳ２２で特定された判別機Ｃｊのいずれかであるか否かが判断され（ステップＳ２３）、判別機ＣｉがステップＳ２２で特定された判別機Ｃｊのいずれかである場合、すなわち、飽和画素の位置が割り当てられている判別器である場合には（ステップＳ２３；ＹＥＳ）、その判別器Ｃｉに対応して予め設定されている打ち切り閾値Ｔｈｉとその１つ前の判別器Ｃ（ｉ−１）に対応して予め設定されている打ち切り閾値Ｔｈ（ｉ−１）との差がスコアとして取得される。なお、判別器Ｃｉが第１番目の判別器Ｃ１である場合には、１つ前の判別器が存在しないので、この場合には、その第１番目の判別器Ｃ１に対応して予め設定されている打ち切り閾値がそのままスコアとして取得される（ステップＳ２４）。
【００４４】
一方、判別機ＣｉがステップＳ２２で特定された判別機Ｃｊのいずれかでない場合には（ステップＳ２３；ＮＯ）、判別器Ｃｉを部分画像に適用することにより得られた出力がスコアとして取得される。すなわち、判別器Ｃｉに割り当てられている特定のペア群を構成する各ペアにおける２点間の画素値の差分値の組合せが特徴量として算出され、その特徴量に基づいて判別器Ｃｉにより得られた、部分画像が眼を表す画像であることの蓋然性を示す値がスコアとして取得される（ステップＳ２５）。
【００４５】
次に、それまでに取得されたスコアの合計Ｓが判別機Ｃｉに対応づけられている前記打ち切り閾値Ｔｈｉを超えるか否かが判定される（ステップＳ２６）。すなわち、Ｓ＞Ｔｈｉという条件を満たすか否かが判定される。この条件を満たさないと判定された場合には、判別対象画像である部分画像が眼を表す画像でないと判別されるとともに、そこで全体の判別処理が途中で打ち切られ、終了する。一方、ステップＳ２６において、上記の条件を満すと判定された場合には、次の判別器が存在するか否かがさらに判定され（ステップＳ２７）、ここで、次の判別器が存在すると判定されたときには、その次の判別器Ｃｉ（ｉ＝ｉ＋１）の処理に移行する（ステップＳ２８）。
【００４６】
一方、ステップＳ２７において、次の判別器が存在しないと判定された場合には、すなわち、その判別機Ｃｉが最終段の判別機である場合には、ステップＳ２６で算出されたスコアの合計Ｓが予め設定された判別閾値ＪＴ１を超えたか否かが判定され、超えた場合には部分画像が眼を表す画像であると判別され、超えない場合には部分画像が眼を表す画像ではないと判別され、判別処理が終了する（ステップＳ２９）。ここで、判別閾値ＪＴ１は、部分画像が眼であれば前記複数の判別器Ｃ１〜ＣＮの全てのスコアの合計は少なくともこれ以上になるであろうと思われる値である。
【００４７】
次に、ＥａｒｌｙＲｅｊｅｃｔの設定がＯｆｆである場合に行われる第２の判別処理について説明する。第２の判別処理では、処理を途中で打ち切らずに最終段の判別器に至るまで処理が続けられる。
【００４８】
図５は第２の判別処理の流れを示すフローチャートである。第２の判別処理では、まず、部分画像切出し処理１２において切り出された部分画像から飽和画素が検出され（ステップＳ３１）、その検出された飽和画素の位置が割り当てられている判別器が特定される（ステップＳ３２）。これらのステップＳ３１とステップＳ３２の処理は、前記ステップＳ２１とステップＳ２２において行われる処理と同様である。
【００４９】
続いて、判別器群３４を構成する全ての判別機Ｃｉ（ｉ＝１〜Ｎ）のうちステップＳ３２で特定された判別機Ｃｊを除く全ての判別器Ｃｉ（ｉ＝１〜Ｎ、ｉ≠ｊ）のそれぞれが部分画像に適用され、その結果得られた出力がその各適用された判別器のスコアとして取得される。すなわち、ステップＳ３２で特定された判別機Ｃｊについてはスコアが取得されず、判別機Ｃｊを除く他の各判別器Ｃｉ（ｉ＝１〜Ｎ、ｉ≠ｊ）については、その判別器Ｃｉに割り当てられている特定のペア群を構成する各ペアにおける２点間の画素値の差分値の組合せが特徴量として算出され、その特徴量に基づいて部分画像が眼を表す画像であることの蓋然性を示す値がスコアとして取得される（ステップＳ３３）。
【００５０】
次に、ステップＳ３３で取得されたスコアの合計Ｓ２が予め設定された判別閾値ＪＴ´を超えたか否かが判定され、超えた場合には部分画像が眼を表す画像であると判別され、超えない場合には部分画像が眼を表す画像ではないと判別され、判別処理が終了する（ステップＳ３４）。ここで、判別閾値ＪＴ´は、前記第１の判別処理における判別閾値ＪＴ１から、ステップＳ３２で特定された個々の判別器Ｃｊにおける、部分画像が眼であればその判別器Ｃｊのスコアは少なくともこれ以上になるであろうと思われる値の合計を減算して得られた値である。
【００５１】
さらに、眼検出装置１では、上述の第１の判別処理において、判別対象画像である部分画像が眼を表す画像であると判別された場合には、その判別の結果の信頼度を算出する信頼度算出処理１４が行われる。信頼度算出処理１４では、第１の判別処理で全ての判別器Ｃ１〜ＣＮについて取得されたスコアの合計Ｓに対するステップＳ２２で特定された判別器Ｃｊについて取得されたスコアの合計ｘの割合から判別の結果の信頼度を算出する。Ｓの値に対するｘの値の割合が大きいほど信頼度は小さい値とされ、すなわち、判別の結果の信頼度が低いと判断される。また、（ｘ／Ｓ）の値が所定の閾値を超えるか否かをさらに判断し、超えない場合には判別対象画像である部分画像は眼を表す画像でないとして処理することもできる。
【００５２】
なお、信頼度算出処理１４では、判別器群３４は複数の判別器をその有効な順に直列に接続してなるものであるので、各判別器にその判別器の寄与度として順序が後になる程小さな値を予め付与しておき、全ての判別器Ｃ１〜ＣＮにおける寄与度の合計に対する飽和画素が割り当てられているものとして特定された判別器Ｃｊにおける寄与度の合計の割合から判別の結果の信頼度を算出するようにしてもよい。
【００５３】
上記の構成により、本実施の形態によれば、入力画像中に反射光が写り込んでなる飽和画素が存在する場合であっても、その画素に割り当てられている判別機の出力によっては判別の結果が左右されないようにすることができ、眼の検出処理に対する反射光の影響を適切に抑え、精度よく眼を検出することができる。また、前処理として特許文献１に記載のような画像補正処理を行ったりする必要がなくなり，装置構成及び画像処理を簡素化することができる。
【００５４】
なお、上記実施の形態では、その画素値がその画素が撮りえる最大値（飽和値）であると判断された画素を飽和画素として検出するようにした場合について説明したが、その画素値が予め設定しておいた所定の閾値を超える画素を飽和画素として検出するようにしてもよい。たとえば、入力画像中の各画素の画素値が０から２５５までの値（８ビット）で表現されている場合に、画素値が２５５（最大値）である画素を飽和画素として検出するようにしてもよいが、予め設定しておいた閾値、たとえば２５０を超える画素を飽和画素として検出するようにしてもよい。
【００５５】
また、上記実施の形態では、入力画像中の各画素が飽和画素であるか否かを、その画素の画素値のみに基づいて判断するようにした場合について説明したが、その画素の画素値が上述の条件（最大値または所定の閾値を超える画素であること）を満たしていることに加えて、その画素が、同じ条件を満たす所定数以上の画素が連続して集まった領域に属しているかどうかにさらに基づいて判断するようにしてもよい。たとえば、入力画像において、上記条件を満たす全ての画素に対してラベリング処理（つながった画素に同じラベルをつける作業）を行い、各ラベリングされた領域のうち所定の閾値以上の面積（画素数）を有する領域を特定し、その特定された領域を構成する全ての画素をそれぞれ飽和画素であると判断することができる。これにより、「眼球上のキャッチライト」と「眼鏡レンズ」上のキャッチライトを区別し、後者のみを評価から除外することができる。
【００５６】
また、上記実施の形態では、前処理済みの画像の画素値を用いて入力画像中の各画素が飽和画素であるか否かを判断するようにした場合について説明したが、前処理が施される前の原画像の画素値を用いて飽和画素であるか否かを判断するようにしてもよい。たとえば、前処理が施される前の画像である入力画像の画素データを用いて飽和画素の位置を検出して記憶しておき、その後、前処理と部分画像切出し処理を順次実行し、そして、続いて行われる判別処理では、前記記憶しておいた飽和画素の位置に基づいて判別処理が行われるようにすることができる。
【００５７】
また、上記実施の形態では、第１の判別処理において判別器群３４を構成する複数の判別器それぞれのスコアを順次取得する際に、飽和画素の位置が割り当てられている判別器については、その判別器に対応して予め設定された打ち切り閾値とその判別器の直前にスコアが取得される判別器に対応して予め設定された打ち切り閾値との差に基づいて定められた値をスコアとして取得するようにした場合について説明したが、打ち切り閾値の差をＲ倍（Ｒは１以上の実数）した値をスコアとして取得するようにしてもよいし、当該判別器による過去判別処理において取得されたスコアの最大値をスコアとして取得するようにしてもよい。
【符号の説明】
【００５８】
１     眼検出装置
２     ＣＰＵ
３     メモリ
４     ストレージデバイス
３４   判別器群
Ｃｉ   判別器
Ｔｈｉ 打ち切り閾値
ＪＴ   判別閾値
【図１】
0005285748.tif 000002
【図２】
0005285748.tif 000003
【図３】
0005285748.tif 000004
【図４】
0005285748.tif 000005
【図５】
0005285748.tif 000006