(57)【要約】【課題】画像に写っている被写体の輪郭の抽出精度を向上できる輪郭抽出装置を提供する。【解決手段】輪郭抽出装置は、所定の撮影範囲の像が写っている画像上で輝度値が飽和している飽和領域を抽出する飽和領域抽出部（３１）と、飽和領域の輪郭を抽出する飽和領域輪郭抽出部（３２）と、飽和領域の輪郭のうち、その画像よりも前に生成された所定の撮影範囲の像が写っている過去画像から検出されたエッジと類似しない部分を検出する照明起因エッジ検出部（３３）と、画像上で、飽和領域の輪郭のうちの検出された部分を含まないように所定の撮影範囲内にいる被写体の輪郭を抽出する被写体輪郭抽出部（３５）とを有する。【選択図】図３
2018045488.tif 000002
【特許請求の範囲】
【請求項１】
所定の撮影範囲の像が写っている画像上で輝度値が飽和している飽和領域を抽出する飽和領域抽出部と、
前記飽和領域の輪郭を抽出する飽和領域輪郭抽出部と、
前記飽和領域の輪郭のうち、前記画像よりも前に生成された前記所定の撮影範囲の像が写っている過去画像から検出されたエッジと類似しない部分を検出する照明起因エッジ検出部と、
前記画像上で、前記飽和領域の輪郭のうちの前記検出された部分を含まないように前記所定の撮影範囲内にいる被写体の輪郭を抽出する被写体輪郭抽出部と、
を有する輪郭抽出装置。
【請求項２】
照明起因エッジ検出部は、さらに、前記飽和領域の輪郭のうち、前記過去画像上の前記飽和領域の輪郭と類似する部分を検出する、請求項１に記載の輪郭抽出装置。
【請求項３】
前記画像から前記被写体の所定部位が表された領域を検出する部位検出部をさらに有し、
前記被写体輪郭抽出部は、前記被写体の輪郭で囲まれた領域と前記所定の部位が表された領域とが重ならない場合、前記被写体の輪郭を破棄する、請求項１または２に記載の輪郭抽出装置。
【請求項４】
前記飽和領域に対応する前記過去画像上の対応領域の各画素について輝度値が飽和していない場合に、当該対応領域の各画素の値を前記飽和領域の対応画素の値とすることで補正画像を生成する複製部をさらに有し、
前記被写体輪郭抽出部は、前記補正画像に基づいて前記被写体の輪郭を抽出する、請求項１〜３の何れか一項に記載の輪郭抽出装置。
【請求項５】
前記被写体輪郭抽出部は、抽出した被写体の輪郭を検出されたエッジとして登録する、請求項１〜４の何れか一項に記載の輪郭抽出装置。
【請求項６】
所定の撮影範囲の像が写っている画像上で輝度値が飽和している飽和領域を抽出し、
前記飽和領域の輪郭を抽出し、
前記飽和領域の輪郭のうち、前記画像よりも前に生成された前記所定の撮影範囲の像が写っている過去画像から検出されたエッジと類似しない部分を検出し、
前記画像上で、前記飽和領域の輪郭のうちの前記検出された部分を含まないように前記所定の撮影範囲内にいる被写体の輪郭を抽出する、
ことを含む輪郭抽出方法。
【請求項７】
所定の撮影範囲の像が写っている画像上で輝度値が飽和している飽和領域を抽出し、
前記飽和領域の輪郭を抽出し、
前記飽和領域の輪郭のうち、前記画像よりも前に生成された前記所定の撮影範囲の像が写っている過去画像から検出されたエッジと類似しない部分を検出し、
前記画像上で、前記飽和領域の輪郭のうちの前記検出された部分を含まないように前記所定の撮影範囲内にいる被写体の輪郭を抽出する、
ことをコンピュータに実行させるために輪郭抽出用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、画像上で被写体の輪郭を抽出する輪郭抽出装置、輪郭抽出方法及び輪郭抽出用コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、車両の自動運転に関する研究がなされている。車両の自動運転では、ドライバから車両の自動運転を行う自動運転装置へ、あるいは、自動運転装置からドライバへの運転権限の委譲が生じることがある。自動運転装置からドライバへ運転権限が委譲される場合、事故を防止するために、ドライバが車両を運転可能な姿勢を取っていることが求められる。そこで、ドライバが運転可能な姿勢を取っているか否かを判定するために、ドライバを撮影することにより得られる画像から、被写体であるドライバが写っている領域の輪郭を抽出できることが好ましい。
【０００３】
画像上で被写体が写っている領域（以下、単に被写体領域と呼ぶ）を抽出する技術の一つとして、背景差分法が知られている。背景差分法では、被写体が写っていない基準画像と、観測時に得られた画像との間で対応画素間の輝度差分値が算出される。そしてその輝度差分値の絶対値が所定値以上となる画素の集合が被写体領域として抽出される。
【０００４】
しかしながら、背景差分法では、基準画像の取得時と観測時との間で照明環境が変化すると、被写体領域以外の画素についても、基準画像の取得時と観測時との間で輝度値が変化する。その結果として、被写体が写っていない画素も、被写体領域として誤検出されることがある。そこで、このような問題を解決するための技術が提案されている（例えば、非特許文献１を参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】橋本他、「TexCut: GraphCutを用いたテクスチャの比較による背景差分」、電子情報通信学会論文誌  D、Vol. J94-D、No.6、pp.1007-1016、2011年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１に開示された技術では、観測時に得られた画像及び基準画像のそれぞれが複数の正方形領域に分割され、正方形領域ごとに、テクスチャに基づく指標、例えば、テクスチャ強度などが算出される。そしてそのテクスチャ強度などに基づいて、被写体領域が抽出される。その際、空間的な照明変動により生じる画像上での画素値の空間的な変動から被写体領域を誤検出することを防止するために、照明変動は空間的に滑らかであるという仮定に基づいて、テクスチャの輝度勾配の均一性尺度が算出される。そしてこの尺度に基づいて、テクスチャ強度などが補正される。
【０００７】
しかしながら、環境によっては、照明変動は空間的に滑らかであるという仮定が成立しないことがある。例えば、車室内または室内にある被写体が窓を通じて日射光により照明されている場合、そのような被写体を撮影して得られる画像上では、日射光が直接当たっている部分に対応する各画素の輝度値は飽和することがある。その結果、日射光が直接当たっている部分とフレームなどによる影が映る部分との境界に対応する画像上のエッジを挟んで、輝度値が大きく変化することがある。さらに、日射光が直接当たっている部分に対応する各画素の輝度値が飽和すると、本来、その部分に含まれるテクスチャの特徴も、画像上では失われてしまうことがある。
【０００８】
一つの側面では、本発明は、画像に写っている被写体の輪郭の抽出精度を向上できる輪郭抽出装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの実施形態によれば、輪郭抽出装置が提供される。この輪郭抽出装置は、所定の撮影範囲の像が写っている画像上で輝度値が飽和している飽和領域を抽出する飽和領域抽出部と、飽和領域の輪郭を抽出する飽和領域輪郭抽出部と、飽和領域の輪郭のうち、その画像よりも前に生成された所定の撮影範囲の像が写っている過去画像から検出されたエッジと類似しない部分を検出する照明起因エッジ検出部と、画像上で、飽和領域の輪郭のうちの検出された部分を含まないように所定の撮影範囲内にいる被写体の輪郭を抽出する被写体輪郭抽出部とを有する。
【発明の効果】
【００１０】
画像に写っている被写体の輪郭の抽出精度を向上できる。
【図面の簡単な説明】
【００１１】
【図１】輪郭抽出装置が実装された一つの実施形態による自動運転装置の概略構成図である。
【図２】車両内における自動運転装置の配置の一例を示す図である。
【図３】制御部の機能ブロック図である。
【図４】照明起因エッジの検出処理の概要説明図である。
【図５】輪郭抽出処理の動作フローチャートである。
【図６】運転権限移譲判定処理の動作フローチャートである。
【図７】変形例による、輪郭抽出部の機能ブロック図である。
【図８】変形例による、輪郭抽出処理の動作フローチャートである。
【発明を実施するための形態】
【００１２】
以下、図を参照しつつ、輪郭抽出装置について説明する。この輪郭抽出装置は、画像から被写体の輪郭を抽出する。その際、この輪郭抽出装置は、照明環境に起因して生じる画像上のエッジを被写体領域の輪郭として誤検出することを防止するために、そのようなエッジを特定する。ここで、被写体の位置は時間的に急激に変化しないことが仮定される。また、照明環境に起因して生じるエッジは、日射光が直接当たったところに対応する非常に明るい領域の輪郭に表れると仮定される。そこで、この輪郭抽出装置は、画像上で輝度値が飽和している領域（以下、便宜上、飽和領域と呼ぶ）の輪郭を抽出する。この輪郭抽出装置は、飽和領域の輪郭のうち、直近の所定期間内に得られた画像（以下、便宜上、過去画像と呼ぶ）から抽出された何れのエッジとも類似しない部分、または、過去画像上の飽和領域の輪郭と類似する部分を照明環境に起因するエッジとして特定する。そしてこの輪郭抽出装置は、照明環境に起因するエッジを含まないように被写体の輪郭を抽出する。
【００１３】
本実施形態では、輪郭抽出装置は自動運転装置に実装され、輪郭抽出装置により画像上で抽出される被写体の輪郭はドライバの輪郭であるとする。しかし輪郭抽出装置は、ドライバ以外の被写体の輪郭抽出に利用されてもよい。
【００１４】
図１は、輪郭抽出装置が実装された一つの実施形態による自動運転装置の概略構成図である。図２は、車両内における自動運転装置の配置の一例を示す図である。自動運転装置１は、カメラ２と、車外センサ３と、記憶部４と、制御部５とを有する。自動運転装置１は、さらに、各種の情報を表示するためのディスプレイ（図示せず）を有してもよい。記憶部４及び制御部５は、例えば、基板６上に設けられる。また、カメラ２及び車外センサ３は、コントロールエリアネットワークといった規格に準拠した車内ネットワーク７を介して制御部５と接続される。さらに、制御部５は、車内ネットワーク７を介して、車両１０の電子制御装置（ECU）（図示せず）と接続される。
【００１５】
カメラ２は、例えば、車室内前方の天井付近、例えば、ルームミラー付近に、ドライバ１１の方へ向けて取り付けられる。そしてカメラ２は、一定の周期（例えば、50msec〜100msec）ごとに、ドライバ１１の想定位置を含む撮影範囲を撮影することで画像を生成し、生成した画像を車内ネットワーク７を介して制御部５へ出力する。そのために、カメラ２は、例えば、CCDまたはC-MOSといった固体撮像素子により形成されるイメージセンサと、イメージセンサ上に撮影範囲の像を形成する撮像光学系とを有する。カメラ２により生成される画像は、例えば、RGB表色系で表されるカラー画像、あるいは、モノクロ画像とすることができる。
【００１６】
車外センサ３は、車両１０の前方を撮影可能なように、例えば、車室内の天井付近に、車両１０の前方へ向けて取り付けられたカメラを有する。そして車外センサ３は、所定の撮影周期（例えば、30msec〜100msec）で車両１０の前方が写った画像を生成し、その生成した画像を車内ネットワーク７を介して制御部５へ出力する。なお、車外センサ３が有するカメラは、ステレオカメラであってもよい。さらに、車外センサ３は、車両１０から車両１０の周囲に位置する物体までの距離を測定するためのレーダセンサを有していてもよい。そして車外センサ３は、そのレーダセンサによる測距データも、車内ネットワーク７を介して制御部５へ出力してもよい。
【００１７】
記憶部４は、例えば、読み書き可能な不揮発性または揮発性の半導体メモリ及び読み出し専用の不揮発性の半導体メモリを有する。そして記憶部４は、制御部５上で実行される、輪郭抽出処理を含む、自動運転処理のプログラムを記憶する。また記憶部４は、自動運転処理で利用あるいは生成される各種のデータ、例えば、過去画像から抽出された被写体の輪郭及び照明環境に起因するエッジを表す参照画像を記憶する。参照画像上では、例えば、被写体の輪郭上に位置する画素の値（例えば、'2'）と、照明環境に起因するエッジ上に位置する画素の値（例えば、'1'）と、その他の画素の値（例えば、'0'）とが互いに異なる。なお、記憶部４は、複数の過去画像について参照画像を記憶してもよい。さらに、記憶部４は、画像から被写体領域を抽出するために利用される、ドライバ１１がいない車室をカメラ２が撮影することにより生成された基準画像も記憶する。
【００１８】
制御部５は、一つまたは複数のプロセッサ及びその周辺回路を有し、自動運転装置１の各部及びＥＣＵと信号線あるいは車内ネットワーク７を通じて接続されている。制御部５は、例えば、ステアリングなどに設けられた自動運転開始スイッチ（図示せず）をドライバが操作することにより、自動運転処理を開始する。制御部５は、自動運転処理の実行中、一定周期ごとに、例えば、車外センサ３から得られた車両１０の前方の画像に基づいて車両１０の走行車線を認識する。そして制御部５は、その認識結果、及び、ナビゲーションシステム（図示せず）から取得した、走行予定ルート及び車両１０の現在位置などの情報に基づいて操舵角を決定する。また制御部５は、車両１０の前方の画像または測距データ、及び、ＥＣＵから取得した、車両１０の速度などの車両１０の挙動を表す情報に基づいて、アクセル開度及びブレーキ操作量を決定する。そして制御部５は、操舵角、アクセル開度及びブレーキ操作量を表す操作信号をＥＣＵへ出力する。なお、制御部５は、走行車線の認識、操舵角、アクセル開度及びブレーキ操作量の決定に関する様々な手法の何れかに従って、これらの処理を実行すればよい。
【００１９】
さらに、制御部５は、輪郭抽出装置として機能し、自動運転処理の実行中、一定周期ごとに、カメラ２から得られた画像上でのドライバの輪郭を抽出する。そして制御部５は、例えば、車両１０が目的地から所定距離の範囲内に近づいたとき、あるいは、ドライバが自動運転を解除する操作を、ステアリングなどに設けられたスイッチを介して行った場合に、権限移譲準備モードに設定する。そして制御部５は、権限移譲準備モードが設定されている場合、画像上のドライバの輪郭から推定される姿勢に基づいて、ドライバに運転権限を委譲するか否かを判定する。
【００２０】
図３は、権限移譲判定処理に関する、制御部５の機能ブロック図である。制御部５は、輪郭抽出部２１と、運転権限移譲判定部２２とを有する。
制御部５が有するこれらの各部は、制御部５が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールである。
また制御部５が有するこれらの各部は、その各部に対応する回路が集積された一つまたは複数の集積回路として、制御部５が有するプロセッサとは別個に、自動運転装置１に実装されてもよい。
【００２１】
輪郭抽出部２１は、制御部５がカメラ２から画像を取得する度に、その画像に対して本発明の一実施形態である輪郭抽出処理を実行して、画像上に写っているドライバの輪郭を抽出する。そして輪郭抽出部２１は、抽出した輪郭を表す情報を運転権限移譲判定部２２へわたす。
【００２２】
再度図３を参照すると、輪郭抽出部２１は、飽和領域抽出部３１と、飽和領域輪郭抽出部３２と、照明起因エッジ検出部３３と、テクスチャ複製部３４と、被写体輪郭抽出部３５とを有する。
【００２３】
照明環境に起因して、カメラ２の撮影範囲内に明りょうなエッジが生じる場合、そのエッジは、非常に明るい領域の輪郭において生じることになる。
そこで、そのような照明環境に起因して画像上に生じるエッジを特定するために、飽和領域抽出部３１は、画像から飽和領域を抽出する。なお、以下では、便宜上、照明環境に起因して画像上に生じるエッジを照明起因エッジと呼ぶ。例えば、飽和領域抽出部３１は、画像上の各画素の輝度値を飽和判定閾値と比較する。そして飽和領域抽出部３１は、飽和判定閾値よりも高い輝度値を持つ画素を抽出する。飽和領域抽出部３１は、抽出した画素の集合を飽和領域とする。なお、飽和判定閾値は、例えば、取り得る輝度値の最大値から所定のオフセット値を減じた値とすることができる。例えば、輝度値が0〜255で表される場合、飽和判定閾値は、例えば、250とすることができる。また、カメラ２が生成する画像がRGB表色系で表されたカラー画像である場合、飽和領域抽出部３１は、各画素について、例えば、RGB表色系の値からHLS表色系の値に変換して得られる輝度成分に対して上記の処理を実行すればよい。
【００２４】
また、飽和領域抽出部３１は、抽出された画素の集合に対して、例えば、モルフォロジーの膨張収縮演算を適用して得られる領域を飽和領域としてもよい。これにより、飽和領域抽出部３１は、輝度値の揺らぎなどで飽和領域内に孤立する画素も飽和領域に含めることができるので、飽和領域をより正しく抽出できる。
【００２５】
飽和領域抽出部３１は、飽和領域を表す情報を飽和領域輪郭抽出部３２へわたす。なお、飽和領域を表す情報は、例えば、飽和領域に対応する画素とその他の画素とが互いに異なる値を持つ２値画像とすることができる。
【００２６】
飽和領域輪郭抽出部３２は、飽和領域を表す情報を参照して、飽和領域の輪郭を抽出する。例えば、飽和領域輪郭抽出部３２は、画像上の各画素のうち、自身が飽和領域に含まれ、かつ、隣接する画素の少なくとも一つが飽和領域に含まれない画素を抽出する。そして飽和領域輪郭抽出部３２は、抽出した画素が連結されたものを、飽和領域の輪郭とする。
【００２７】
飽和領域輪郭抽出部３２は、飽和領域の輪郭を表す情報を照明起因エッジ検出部３３へわたす。なお、飽和領域の輪郭を表す情報は、例えば、飽和領域の輪郭上に位置する画素の値（例えば、'1'）とその他の画素の値（例えば、'0'）とが互いに異なる画像とすることができる。
【００２８】
照明起因エッジ検出部３３は、飽和領域の輪郭のなかから、照明起因エッジを検出する。そこで先ず、照明起因エッジ検出部３３は、飽和領域の輪郭のうち、過去画像から抽出されたエッジと類似する部分を検出する。例えば、照明起因エッジ検出部３３は、飽和領域の輪郭を表す２値画像を複数のブロックに分割する。個々のブロックは、例えば、４×４画素のサイズとすることができる。そして照明起因エッジ検出部３３は、複数のブロックのうち、飽和領域の輪郭の一部を含む各ブロックについて、過去画像から検出されたエッジを表す参照画像の対応領域との類似度を算出する。その際、照明起因エッジ検出部３３は、類似度として、正規化相互相関値、あるいは、対応画素間の値の差の二乗和SSDに1を加算したものの逆数(1/(SSD+1))を用いることができる。また、照明起因エッジ検出部３３は、参照画像上で被写体領域の輪郭上に位置する画素の値と、照明起因エッジ上に位置する画素の値とを同一として、類似度を算出してもよい。なお、照明起因エッジ検出部３３は、飽和領域の輪郭の一部を含む各ブロックについて、過去画像に対して相対的な位置及び向きを所定の範囲（例えば、ブロックサイズの２倍程度）内で変更しながら類似度を算出してもよい。また、複数の過去画像のそれぞれについて参照画像が記憶部４に保存されている場合、照明起因エッジ検出部３３は、各参照画像について類似度を算出してもよい。そして照明起因エッジ検出部３３は、算出された類似度のうちの最大値を、そのブロックについての類似度としてもよい。
【００２９】
照明起因エッジ検出部３３は、類似度が所定の閾値よりも高いブロックに含まれる輪郭の部分について、過去画像から抽出されたエッジの何れかと類似すると判定する。一方、照明起因エッジ検出部３３は、類似度が所定の閾値以下のブロックに含まれる輪郭の部分について、過去画像から抽出されたエッジの何れとも類似しないと判定する。
【００３０】
上述したように、被写体の位置は時間的に急激に変化しないと仮定されるので、飽和領域の輪郭の着目する部分が過去画像から抽出されたエッジの何れかと類似している場合、その輪郭の着目する部分は、被写体の輪郭の一部である可能性がある。一方、画像上での照明起因エッジの位置は、車両１０の移動による車両１０と周囲の建物との位置関係の変化に応じて時間的に急激にシフトすることがある。また、照明起因エッジは、天候の変化（例えば、雲間から太陽が現れるなど）により、急に現れることがある。そのため、照明起因エッジは、過去画像の何れのエッジとも類似していない可能性がある。
【００３１】
そこで照明起因エッジ検出部３３は、過去画像から抽出されたエッジの何れとも類似しないと判定した飽和領域の輪郭の部分を、照明起因エッジとして登録する。例えば、照明起因エッジ検出部３３は、着目する画像に対応する参照画像を生成し、その参照画像において、照明起因エッジとして登録する画素の値を'1'とする。
【００３２】
一方、照明起因エッジ検出部３３は、過去画像から抽出されたエッジの何れかと類似すると判定した飽和領域の輪郭の部分（以下、便宜上、着目輪郭部分と呼ぶ）について、過去画像から検出された照明起因エッジとの比較により、照明起因エッジか否か判定する。本実施形態では、照明起因エッジ検出部３３は、着目輪郭部分が、過去画像から抽出された照明起因エッジの何れかと類似している場合、着目輪郭部分を照明起因エッジと判定する。
【００３３】
例えば、照明起因エッジ検出部３３は、上記と同様に、着目輪郭部分を含むブロックについて、過去画像から検出されたエッジを表す参照画像の対応領域との類似度を算出する。ただし、照明起因エッジ検出部３３は、参照画像上で照明起因エッジ上に位置する画素以外の画素（被写体の輪郭上の画素を含む）の値を全て同一の値（例えば、'0'）とし、照明起因エッジ上に位置する画素の値（例えば、'1'）と異ならせる。その上で、照明起因エッジ検出部３３は、類似度を算出すればよい。これにより、類似度は、着目輪郭部分と過去画像上の照明起因エッジとの類似度合いを表すものとなる。
【００３４】
この場合も、照明起因エッジ検出部３３は、着目輪郭部分を含むブロックについて、過去画像に対して相対的な位置及び向きを所定の範囲内で変更しながら類似度を算出してもよい。また、複数の過去画像のそれぞれについて参照画像が記憶部４に保存されている場合、照明起因エッジ検出部３３は、各参照画像について類似度を算出してもよい。そして照明起因エッジ検出部３３は、算出された類似度のうちの最大値を、そのブロックについての類似度としてもよい。
【００３５】
照明起因エッジ検出部３３は、類似度が所定の閾値よりも高い場合、着目輪郭部分は照明起因エッジと判定する。一方、照明起因エッジ検出部３３は、類似度が所定の閾値以下の場合、着目輪郭部分は照明起因エッジでないと判定する。
照明起因エッジ検出部３３は、照明起因エッジと判定した着目輪郭部分を登録する。例えば、照明起因エッジ検出部３３は、着目する画像に対応する参照画像において、着目輪郭部分上に位置する各画素の値を、'1'とする。
【００３６】
なお、照明起因エッジ検出部３３は、他の方法により、飽和領域の輪郭を過去画像上のエッジと比較してもよい。例えば、照明起因エッジ検出部３３は、飽和領域の輪郭を所定の長さの線分ごとに区分し、その線分ごとに、過去画像に対応する参照画像に表されたエッジ（すなわち、被写体領域の輪郭または照明起因エッジ）と比較してもよい。この場合、照明起因エッジ検出部３３は、着目する線分に含まれる画素ごとに、その画素から参照画像に表されたエッジまでの距離を求め、その距離の合計を算出する。そして照明起因エッジ検出部３３は、距離の合計が所定の閾値未満である場合に、着目する線分は、過去画像上のエッジと類似すると判定してもよい。その際、照明起因エッジ検出部３３は、着目する線分の位置を所定の範囲内で相対的に変えながら、距離の合計を算出し、その合計の最小値を求め、その最小値が所定の閾値未満である場合に、着目する線分は、過去画像上のエッジと類似すると判定してもよい。
【００３７】
図４は、照明起因エッジの検出処理の概要説明図である。図４の上側において、左側に示される線像４０１は、n番目に得られた画像から抽出されたエッジを表す。また、中央に示される線像４０２は、(n+1)番目に得られた画像から抽出されたエッジを表す。そして右側に示される線像４０３は、(n+2)番目に得られた画像から抽出されたエッジを表す。また、図４の下側において、左側に示される線像４１１は、n番目に得られた画像についての登録されたエッジを表す。また、中央に示される線像４１２は、n番目に得られた画像及び(n+1)番目に得られた画像についての登録されたエッジを表す。そして右側に示される線像４１３は、n番目〜(n+2)番目に得られた各画像について登録されたエッジを表す。なお、線像４１１〜４１３において、点線は、被写体領域の輪郭を表すエッジであり、実線は、照明起因エッジである。
【００３８】
線像４０１には、照明起因エッジは含まれていない。すなわち、線像４０１及び線像４１１は、被写体領域の輪郭を表している。一方、(n+1)番目の画像には飽和領域４２２が含まれており、被写体領域の輪郭だけでなく、線像４０２では、飽和領域４２２の上下左右の輪郭４２２ａ〜４２２ｄも表されている。このうち、右辺の輪郭４２２ｄについては、一つ前の画像について登録された被写体のエッジの一部と一致するため、照明起因エッジとしては登録されない。そして輪郭４２２ａ〜４２２ｃが照明起因エッジとして登録される。
【００３９】
その後に得られた(n+2)番目の画像では、飽和領域４２３は、飽和領域４２２よりも左側へ拡大している。その結果、飽和領域４２３の上側の輪郭の一部４２３ａ、及び、下側の輪郭の一部４２３ｂが、それぞれ、輪郭４２２ａ、輪郭４２２ｂと一致している。したがって、輪郭の一部４２３ａ、４２３ｂも、照明起因エッジとして登録される。また、飽和領域４２３の左半分の輪郭４２３ｃも、過去の画像から検出され、登録されている何れのエッジとも一致しないため、照明起因エッジとして登録される。一方、飽和領域４２３の右側の輪郭４２３ｄは、過去の画像について登録された被写体の輪郭の一部と一致するため、照明起因エッジとしては登録されない。
【００４０】
テクスチャ複製部３４は、飽和領域について、一以上の過去画像のうち、その飽和領域に対応する領域の各画素の輝度値が飽和していない過去画像を選択する。そしてテクスチャ複製部３４は、選択した過去画像の対応領域内の各画素の値を、飽和領域内の対応画素の値として複製することで、飽和領域内のテクスチャが過去画像から複製された補正画像を生成する。その際、テクスチャ複製部３４は、ブロックごとに、上記の処理を行ってもよい。
【００４１】
テクスチャ複製部３４は、補正画像を被写体輪郭抽出部３５へわたす。
【００４２】
被写体輪郭抽出部３５は、補正画像に基づいて、照明起因エッジを含まないように被写体領域の輪郭を抽出する。なお、着目する画像に飽和領域が含まれない場合には、被写体輪郭抽出部３５は、その画像そのものから被写体領域の輪郭を抽出してもよい。
【００４３】
被写体輪郭抽出部３５は、例えば、補正画像と基準画像との間で、非特許文献１に開示されたGraph Cut法を用いた背景差分を実行することにより、補正画像から被写体領域を抽出する。そして被写体輪郭抽出部３５は、抽出された被写体領域の輪郭をもとめればよい。あるいは、被写体輪郭抽出部３５は、画像から被写体領域を抽出する他の技術を用いて、補正画像から被写体領域を抽出してもよい。
【００４４】
補正画像では、飽和領域とその周囲の領域との輝度差が小さくなるため、被写体輪郭抽出部３５は、補正画像に基づいて被写体の輪郭を抽出することで、照明起因エッジを含まないように被写体領域の輪郭を抽出できる。さらに、被写体輪郭抽出部３５は、抽出された被写体領域の輪郭上の画素のうち、登録されている照明起因エッジ上に位置する画素については、被写体領域の輪郭としないようにしてもよい。これにより、被写体輪郭抽出部３５は、照明起因エッジを被写体領域の輪郭として誤抽出することをより確実に防止できる。
【００４５】
被写体輪郭抽出部３５は、抽出された被写体領域の輪郭を表す情報を運転権限移譲判定部２２へ出力する。また被写体輪郭抽出部３５は、抽出された被写体領域の輪郭を表す情報を登録する。例えば、被写体輪郭抽出部３５は、着目する画像に対応する参照画像において、抽出された被写体領域の輪郭上に位置する各画素の値を、照明起因エッジ上の画素の値及びその他の画素の値と異なる値、例えば、'2'とする。
【００４６】
図５は、輪郭抽出処理の動作フローチャートである。制御部５は、この動作フローチャートに従って、画像ごとに被写体領域の輪郭を抽出する。
【００４７】
飽和領域抽出部３１は、画像から飽和領域を抽出する（ステップＳ１０１）。そして飽和領域輪郭抽出部３２は、飽和領域の輪郭を抽出する（ステップＳ１０２）。
【００４８】
照明起因エッジ検出部３３は、画像を複数のブロックに分割する（ステップＳ１０３）。そして照明起因エッジ検出部３３は、未着目のブロックの中から着目ブロックを選択する（ステップＳ１０４）。照明起因エッジ検出部３３は、着目ブロックに飽和領域輪郭の一部が含まれているか否か判定する（ステップＳ１０５）。
【００４９】
着目ブロックに飽和領域輪郭の一部が含まれている場合（ステップＳ１０５−Ｙｅｓ）、照明起因エッジ検出部３３は、その飽和領域輪郭の一部が過去画像から検出されたエッジの何れかと類似するか否か判定する（ステップＳ１０６）。そしてその飽和領域輪郭の一部が過去画像から検出されたエッジの何れとも類似しない場合（ステップＳ１０６−Ｎｏ）、照明起因エッジ検出部３３は、その飽和領域輪郭の一部を照明起因エッジとして登録する（ステップＳ１０７）。
【００５０】
一方、飽和領域輪郭の一部が過去画像から検出されたエッジの何れかと類似する場合（ステップＳ１０６−Ｙｅｓ）、照明起因エッジ検出部３３は、その飽和領域輪郭の一部が過去画像上の照明起因エッジと類似するか否か判定する（ステップＳ１０８）。そしてその飽和領域輪郭の一部が過去画像上の照明起因エッジと類似する場合（ステップＳ１０８−Ｙｅｓ）、照明起因エッジ検出部３３は、その飽和領域輪郭の一部を照明起因エッジとして登録する（ステップＳ１０７）。
【００５１】
また、ステップＳ１０５にて、着目ブロックに飽和領域輪郭の一部が含まれていない場合（ステップＳ１０５−Ｎｏ）、テクスチャ複製部３４は、着目ブロックに飽和領域の一部が含まれているか否か判定する（ステップＳ１０９）。着目ブロックに飽和領域の一部が含まれている場合（ステップＳ１０９−Ｙｅｓ）、テクスチャ複製部３４は、対応領域が飽和領域でない過去画像から、その対応領域のテクスチャを飽和領域に複製する（ステップＳ１１０）。
【００５２】
ステップＳ１０７またはステップＳ１１０の後、あるいは、ステップＳ１０８にて飽和領域輪郭の一部が過去画像上の照明起因エッジと類似しない場合（ステップＳ１０８−Ｎｏ）、制御部５は、未選択のブロックがあるか否か判定する（ステップＳ１１１）。また、ステップＳ１０９にて、着目ブロックに飽和領域の一部が含まれていない場合（ステップＳ１０９−Ｎｏ）も、制御部５は、未選択のブロックがあるか否か判定する（ステップＳ１１１）。
【００５３】
未選択のブロックが残っている場合（ステップＳ１１１−Ｙｅｓ）、制御部５は、ステップＳ１０４以降の処理を繰り返す。一方、未選択のブロックが残っていない場合（ステップＳ１１１−Ｎｏ）、被写体輪郭抽出部３５は、照明起因エッジを含まないように被写体領域の輪郭を抽出する（ステップＳ１１２）。そして被写体輪郭抽出部３５は、抽出した被写体領域の輪郭を登録する（ステップＳ１１３）。その後、制御部５は、輪郭抽出処理を終了する。
【００５４】
運転権限移譲判定部２２は、姿勢判定部の一例であり、権限移譲準備モードが設定されている場合、ドライバの輪郭に応じて、ドライバが運転権限を委譲可能な姿勢を取っているか否かを判定する。そして運転権限移譲判定部２２は、その判定結果に基づいて、自動運転装置１からドライバへ運転権限を委譲するか否かを判定する。
【００５５】
例えば、以下の条件が全て満たされる場合に、運転権限移譲判定部２２は、ドライバの姿勢は、自動運転装置１からドライバへ運転権限を委譲可能な姿勢であると判定する。一方、何れかの条件が満たされない場合、運転権限移譲判定部２２は、ドライバの姿勢は、ドライバへ運転権限を委譲可能な姿勢でないと判定する。
(a)ドライバは両手でステアリングを把持している
(b)ドライバの頭部がヘッドレストで守られる位置にある
(c)ドライバが前方を向いている
【００５６】
上記の条件(a)〜(c)のうち、条件(a)について、画像上でステアリングが表される領域と、被写体領域の輪郭で囲まれた領域とが重なっている場合、運転権限移譲判定部２２は、条件(a)が満たされたと判定する。同様に、条件(b)について、画像上でヘッドレストが表される領域と、被写体領域の輪郭で囲まれた領域とが重なっている場合、運転権限移譲判定部２２は、条件(b)が満たされたと判定する。さらに、条件(c)について、運転権限移譲判定部２２は、画像上でヘッドレストが表される領域と重なる被写体領域及びその近傍で二つの眼と鼻を検出する。そして運転権限移譲判定部２２は、二つの眼が検出され、かつ、二つの眼と鼻の位置関係が、ドライバが正面方向を向いている状態に相当する所定の位置関係の条件を満たす場合に、ドライバが前方を向いていると判定すればよい。なお、運転権限移譲判定部２２は、例えば、眼を検出するように予め学習された識別器を用いて、被写体領域内から眼を検出することができる。同様に、運転権限移譲判定部２２は、鼻を検出するように予め学習された識別器を用いて、被写体領域内から鼻を検出することができる。また、運転権限移譲判定部２２は、画像から眼が写っている領域を検出する他の技術、画像から鼻が写っている領域を検出する他の技術を用いてもよい。
【００５７】
運転権限移譲判定部２２は、ドライバの姿勢が運転権限を委譲可能な姿勢である場合、自動運転装置１からドライバへ運転権限を委譲すると判定する。一方、ドライバの姿勢が運転権限を委譲可能な姿勢でない場合、運転権限移譲判定部２２は、ドライバへ運転権限を委譲しないと判定する。なお、運転権限移譲判定部２２は、所定の期間（例えば、1〜3秒間）にわたって継続してドライバの姿勢が運転権限を委譲可能な姿勢である場合に、自動運転装置１からドライバへ運転権限を委譲すると判定してもよい。
【００５８】
運転権限移譲判定部２２は、自動運転装置１からドライバへ運転権限を委譲すると判定した場合、その旨を表すメッセージを、車室内に設けられたディスプレイ（図示せず）に表示したり、その旨を表す音声をスピーカ（図示せず）から出力させる。そして制御部５は、その判定後、一定期間を経過した後に、自動運転処理を終了し、ドライバによる運転に切り替える。
【００５９】
図６は、制御部５により実行される、運転権限移譲判定処理の動作フローチャートである。制御部５は、カメラ２から画像を受け取る度に、この動作フローチャートに従って運転権限移譲判定処理を実行する。
【００６０】
輪郭抽出部２１は、画像上の被写体領域の輪郭を抽出する（ステップＳ２０１）。
【００６１】
運転権限移譲判定部２２は、権限移譲準備モードが設定されているか否か判定する（ステップＳ２０２）。権限移譲準備モードが設定されていなければ（ステップＳ２０２−Ｎｏ）、制御部５は、運転権限移譲判定処理を終了する。一方、権限移譲準備モードが設定されている場合（ステップＳ２０２−Ｙｅｓ）、運転権限移譲判定部２２は、被写体領域の輪郭から求められたドライバの姿勢が自動運転装置１からドライバへの運転権限を委譲可能な姿勢か否か判定する（ステップＳ２０３）。ドライバの姿勢が権限委譲可能な姿勢である場合（ステップＳ２０３−Ｙｅｓ）、運転権限移譲判定部２２は、自動運転装置１からドライバへ運転権限を委譲すると判定する。そして制御部５は、運転権限をドライバへ移譲する（ステップＳ２０４）。そして制御部５は、運転権限移譲判定処理を終了する。一方、ドライバの姿勢が権限委譲可能な姿勢でない場合（ステップＳ２０３−Ｎｏ）、運転権限移譲判定部２２は、自動運転装置１からドライバへ運転権限を委譲しないと判定する。そして制御部５は、運転権限移譲判定処理を終了する。なお、画像から被写体領域の輪郭が抽出されなかった場合には、制御部５は、ステップＳ２０２以降の処理をスキップしてもよい。
【００６２】
以上に説明してきたように、この輪郭抽出装置は、画像上の飽和領域の輪郭のうち、過去画像から検出されたエッジと類似しない部分を、照明起因エッジと判定し、被写体領域の輪郭の抽出対象から除外する。さらに、この輪郭抽出装置は、飽和領域の輪郭のうち、過去画像から検出された照明起因エッジと類似する部分も、照明起因エッジとして、被写体領域の輪郭の抽出対象から除外する。これにより、この輪郭抽出装置は、照明起因エッジを被写体領域の輪郭として誤抽出することを防止でき、その結果として、被写体領域の輪郭の抽出精度を向上できる。
【００６３】
図７は、変形例による、輪郭抽出部２１の機能ブロック図である。この変形例において、輪郭抽出部２１は、飽和領域抽出部３１と、飽和領域輪郭抽出部３２と、照明起因エッジ検出部３３と、テクスチャ複製部３４と、被写体輪郭抽出部３５と、頭部検出部３６とを有する。この変形例による輪郭抽出部２１は、頭部検出部３６を有する点と、被写体輪郭抽出部３５の処理の一部が異なる点とで、上記の実施形態と異なる。そこで以下では、頭部検出部３６及び被写体輪郭抽出部３５について説明する。
【００６４】
頭部検出部３６は、部位検出部の一例であり、被写体領域の抽出と別個に、画像からドライバの頭部を検出する。なお、頭部は、被写体の部位の一例である。そのために、頭部検出部３６は、例えば、Histograms of Oriented Gradients(HOG)特徴量またはHaar-Like特徴量を入力とし、頭部検出用に学習されたAdaBoost識別器を利用する。そして頭部検出部３６は、その識別器を用いて、着目する画像上で頭部が写っている領域である頭部領域を検出する。この場合、頭部検出部３６は、例えば、着目する画像上に設定したウィンドウ内で複数のHOG特徴量またはHaar-Like特徴量を算出する。そして頭部検出部３６は、各HOG特徴量または各Haar-Like特徴量をAdaBoost識別器に入力することで、そのウィンドウが頭部領域か否かを判定すればよい。頭部検出部３６は、ウィンドウの位置及びサイズを変えながら、上記の処理を繰り返すことで、着目する画像上の任意の位置で頭部領域を検出できる。
【００６５】
あるいは、頭部検出部３６は、AdaBoost識別器の代わりに、頭部検出用に学習されたサポートベクトルマシンあるいはディープニューラルネットワークといった他の識別器を用いて、着目する画像から頭部領域を検出してもよい。あるいはまた、頭部検出部３６は、画像から頭部領域を検出する他の技術に基づいて、着目する画像から頭部領域を検出してもよい。
【００６６】
頭部検出部３６は、検出した頭部領域を被写体輪郭抽出部３５へ通知する。
【００６７】
被写体輪郭抽出部３５は、抽出された被写体領域と、検出された頭部領域とが重なる場合に、抽出された被写体領域の輪郭はドライバの輪郭を表すものと判定する。一方、被写体輪郭抽出部３５は、抽出された被写体領域と、頭部領域とが重ならない場合、抽出された被写体領域にはドライバが写っていないと判定してもよい。なお、被写体輪郭抽出部３５は、頭部領域のうちの所定の割合（例えば、50%）以上が被写体領域と重複しない場合に、抽出された被写体領域にはドライバが写っていないと判定してもよい。そして被写体輪郭抽出部３５は、抽出された被写体領域にはドライバが写っていないと判定した場合、抽出された被写体領域の輪郭を破棄してもよい。このように、被写体領域とは別個に検出された画像上の頭部が写っている領域と被写体領域との位置関係を参照することで、輪郭抽出部２１は、より正確に画像からドライバの輪郭を抽出できる。
【００６８】
図８は、この変形例による、輪郭抽出処理の動作フローチャートである。なお、この変形例による、輪郭抽出処理の動作フローチャートは、図５に示された輪郭抽出処理の動作フローチャートと比較して、ステップＳ１０１〜Ｓ１１２までの処理は同一であるため、図８では、ステップＳ１１２以降について説明する。
【００６９】
ステップＳ１１２の後、頭部検出部３６は、画像から頭部領域を検出する（ステップＳ３０１）。そして被写体輪郭抽出部３５は、抽出した被写体領域と頭部領域とが重なるか否か判定する（ステップＳ３０２）。抽出した被写体領域と頭部領域とが重なる場合（ステップＳ３０２−Ｙｅｓ）、被写体輪郭抽出部３５は、抽出した被写体領域の輪郭を登録する（ステップＳ３０３）。
【００７０】
一方、抽出した被写体領域と頭部領域とが重ならない場合（ステップＳ３０２−Ｎｏ）、被写体輪郭抽出部３５は、抽出した被写体領域の輪郭を破棄する（ステップＳ３０４）。ステップＳ３０３またはＳ３０４の後、制御部５は、輪郭抽出処理を終了する。なお、ステップＳ３０１における頭部領域の検出は、図５に示された動作フローチャートにおけるステップＳ１０１〜Ｓ１１２までのどの位置で実行されてもよい。
【００７１】
この変形例によれば、輪郭抽出装置は、着目する被写体以外の物体の輪郭を被写体の輪郭として抽出することを防止できる。なお、この変形例において、ドライバの頭部の代わりに、ドライバの他の部位、例えば、ドライバの手が検出されてもよい。
【００７２】
また他の変形例によれば、制御部５は、照明起因エッジを特定する際に参照する参照画像の数（すなわち、対応する過去画像の数）を、車両１０の運転状況によって変化させてもよい。例えば、車両１０の移動速度が速いほど、あるいは、車両１０の回転角度（すなわち、ステアリングの回転角度）が大きいほど、車両１０、車両１０の周囲の建物、及び車外の光源（例えば、太陽）の位置関係の変化も早い。そこで、制御部５は、ＥＣＵから取得した車両の運転状況を表す情報を参照して、車両１０の移動速度が速いほど、あるいは、ステアリングの回転角度が大きいほど、参照する参照画像の数を少なくしてもよい。
【００７３】
また、上記の実施形態または変形例による輪郭抽出装置は、他の用途に利用されてもよい。例えば、上記の実施形態または変形例による輪郭抽出装置は、ドライブレコーダに実装されてもよい。そして輪郭抽出装置は、ドライバが運転している間に継続してドライバが写っている領域の輪郭を抽出し、その抽出結果に基づいてドライバの姿勢の変化などを調べることで、ドライバの状態を判定してもよい。その判定結果は、ドライバの安全または快適性向上のために利用されてもよい。
【００７４】
また、上記の実施形態または変形例による制御部の各部の機能を実現するコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体といった、コンピュータ読取可能な可搬性の記録媒体に記録された形で提供されてもよい。なお、記録媒体には、搬送波は含まれない。
【００７５】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【００７６】
１    自動運転装置
２    カメラ
３    車外センサ
４    記憶部
５    制御部（輪郭抽出装置）
６    基板
７    車内ネットワーク
１０    車両
１１    ドライバ
２１    輪郭抽出部
２２    運転権限移譲判定部
３１    飽和領域抽出部
３２    飽和領域輪郭抽出部
３３    照明起因エッジ検出部
３４    テクスチャ複製部
３５    被写体輪郭抽出部
３６    頭部検出部
【図１】
2018045488.tif 000003
【図２】
2018045488.tif 000004
【図３】
2018045488.tif 000005
【図４】
2018045488.tif 000006
【図５】
2018045488.tif 000007
【図６】
2018045488.tif 000008
【図７】
2018045488.tif 000009
【図８】
2018045488.tif 000010