(57)【要約】【課題】  オプティカルフローが一定であるという仮定が成立しない領域であっても、誤差の小さなオプティカルフローを算出する。【解決手段】  画像処理装置２０は、異なる時刻に得られた複数の画像データを取得する画像取得部２２と、複数の画像データに基づいて、勾配法を用いて、画像内の各領域のオプティカルフローを算出するオプティカルフロー算出部２４と、画像内の各領域のオプティカルフローの誤差を算出する誤差算出部２６と、画像内の注目領域のオプティカルフローの誤差が、注目領域の周辺にある周辺領域のオプティカルフローの誤差より大きい場合に、注目領域のオプティカルフローとして、周辺領域のオプティカルフローを代入する誤差修正部２８と、を備える。【選択図】      図１
2007172554.tif 000002
【特許請求の範囲】
【請求項１】
異なる時刻に得られた複数の画像データを取得する画像取得手段と、
前記複数の画像データに基づいて、勾配法を用いて、画像内の各領域のオプティカルフローを算出するオプティカルフロー算出手段と、
前記画像内の各領域の前記オプティカルフローの誤差を算出する誤差算出手段と、
前記画像内の注目領域のオプティカルフローの誤差が、前記注目領域の周辺にある周辺領域のオプティカルフローの誤差より大きい場合に、前記注目領域のオプティカルフローとして、前記周辺領域のオプティカルフローを代入する誤差修正手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記誤差修正手段は、前記注目領域のオプティカルフローの誤差が前記周辺領域のオプティカルフローの誤差より大きく、且つ、前記注目領域のオプティカルフローの誤差が予め設定された閾値より大きい場合に、前記注目領域のオプティカルフローとして前記周辺領域のオプティカルフローを代入することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記誤差修正手段は、前記注目領域のオプティカルフローとして、前記周辺領域のオプティカルフローであって、誤差が最小のオプティカルフローを代入することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記誤差修正手段は、前記注目領域のオプティカルフローとして、前記注目領域からの距離が最短である領域のオプティカルフローを代入することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項５】
異なる時刻に得られた複数の画像データを取得する画像取得ステップと、
前記複数の画像データに基づいて、勾配法を用いて、画像内の各領域のオプティカルフローを算出するオプティカルフロー算出ステップと、
前記画像内の各領域の前記オプティカルフローの誤差を算出する誤差算出ステップと、
前記画像内の注目領域のオプティカルフローの誤差が、前記注目領域の周辺にある周辺領域のオプティカルフローの誤差より大きい場合に、前記注目領域のオプティカルフローとして、前記周辺領域のオプティカルフローを代入する誤差修正ステップと、
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを処理してオプティカルフローを算出する画像処理装置、及び画像処理方法に関する。
【背景技術】
【０００２】
特許文献１では、勾配法を用いたオプティカルフローの算出方法が記載されている。勾配法を用いたオプティカルフローの算出では、画像内の着目画素の近傍の画素は同じ運動を行うためオプティカルフローが一定であるという仮定の下に、最小自乗法によりオプティカルフローが算出される。
【特許文献１】特開平８−６５６８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、画像内で、静止物体と移動物体との境界や、２つの異なる移動物体の境界では、オプティカルフローが一定であるという前提条件は成立しないため、算出されたオプティカルフローは大きな誤差を含んだものとなってしまう。
【０００４】
そこで、本発明は、オプティカルフローが一定であるという勾配法の仮定が成立しない領域であっても、誤差の小さなオプティカルフローを算出可能な画像処理装置、及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した目的を達成するために、本発明に係る画像処理装置は、異なる時刻に得られた複数の画像データを取得する画像取得手段と、複数の画像データに基づいて、勾配法を用いて、画像内の各領域のオプティカルフローを算出するオプティカルフロー算出手段と、画像内の各領域のオプティカルフローの誤差を算出する誤差算出手段と、画像内の注目領域のオプティカルフローの誤差が、注目領域の周辺にある周辺領域のオプティカルフローの誤差より大きい場合に、注目領域のオプティカルフローとして、周辺領域のオプティカルフローを代入する誤差修正手段と、を備えることを特徴とする。
【０００６】
この構成によれば、画像処理装置は、注目領域のオプティカルフローの誤差が、注目領域の周辺にある周辺領域のオプティカルフローの誤差より大きい場合に、注目領域のオプティカルフローとして、周辺領域のオプティカルフローを代入する。よって、オプティカルフローが一定であるという勾配法の仮定が成立せずに、オプティカルフローの誤差が大きくなってしまう領域でも、オプティカルフローの誤差を小さくすることができる。
【０００７】
上述した画像処理装置において、誤差修正手段は、注目領域のオプティカルフローの誤差が周辺領域のオプティカルフローの誤差より大きく、且つ、注目領域のオプティカルフローの誤差が予め設定された閾値より大きい場合に、注目領域のオプティカルフローとして周辺領域のオプティカルフローを代入することが好ましい。この構成によれば、オプティカルフローが一定であるという仮定が成立しない領域を精度良く判別して、その領域におけるオプティカルフローの誤差を小さくすることができる。
【０００８】
上述した画像処理装置において、誤差修正手段は、注目領域のオプティカルフローとして、周辺領域のオプティカルフローであって、誤差が最小のオプティカルフローを代入することが好ましい。この構成によれば、注目領域のオプティカルフローとして、周辺領域のオプティカルフローであって、誤差が最小のオプティカルフローを代入する。よって、オプティカルフローが一定であるという仮定が成立しない領域でも、オプティカルフローの誤差を顕著に小さくすることができる。
【０００９】
上述した画像処理装置において、誤差修正手段は、注目領域のオプティカルフローとして、注目領域からの距離が最短である領域のオプティカルフローを代入することが好ましい。この構成によれば、注目領域のオプティカルフローを、注目領域からの距離が最短である領域のオプティカルフローと置換する。よって、オプティカルフローが一定であるという仮定が成立しない領域でも、周辺領域から実際の値に近いオプティカルフローが選択されるため、オプティカルフローの誤差を小さくすることができる。
【００１０】
また、上述した目的を達成するために、本発明に係る画像処理方法は、異なる時刻に得られた複数の画像データを取得する画像取得ステップと、複数の画像データに基づいて、勾配法を用いて、画像内の各領域のオプティカルフローを算出するオプティカルフロー算出ステップと、画像内の各領域のオプティカルフローの誤差を算出する誤差算出ステップと、画像内の注目領域のオプティカルフローの誤差が、注目領域の周辺にある周辺領域のオプティカルフローの誤差より大きい場合に、注目領域のオプティカルフローとして、周辺領域のオプティカルフローを代入する誤差修正ステップと、を含む。
【発明の効果】
【００１１】
本発明に係る画像処理装置及び画像処理方法によれば、オプティカルフローが一定であるという勾配法の仮定が成立しない領域であっても、誤差の小さなオプティカルフローを算出することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の画像処理装置の好適な実施形態について説明する。本実施形態において、画像処理装置は車両に搭載されている。
【００１３】
図１に示すように、画像処理装置２０には、撮像手段としてカメラ１０が接続されている。カメラ１０は、例えば、ＣＣＤ[ChargeCoupled Device]カメラ１０であり、画像処理装置２０を搭載する自動車の前方かつ中央に取り付けられる。カメラ１０は、所定時間が経過する度に、自動車の前方を撮像して、複数の画素データからなる画像データを生成する。カメラ１０は、生成された画像データを、画像処理装置２０に逐次送信する。なお、カメラ１０により撮影された画像の２次元座標系は、カメラ光軸に対応する位置を原点とし、画像面の横方向をｘ軸とし、画像面の縦方向をｙ軸としている。
【００１４】
画像処理装置２０は、カメラ１０から画像データを取り込んで、画像データを処理して車両の制御に有用な情報を求める。画像処理装置２０は、物理的には、ＣＰＵ、ＲＯＭ、ＲＡＭ等で構成されている。また、画像処理装置２０は、機能的には、画像取得部２２と、オプティカルフロー算出部２４と、誤差算出部２６と、誤差修正部２８とを備えている。
【００１５】
画像取得部２２は、カメラ１０から送られてきた画像データを取り込んで、画像データを後の処理に適した状態とする。オプティカルフロー算出部２４は、所定時間前後する画像データから、勾配法によって、オプティカルフローの移動ベクトルを算出する。より詳しく説明すると、オプティカルフロー算出部２４は、画像内で着目している画素の近傍の画素は同じ運動を行うためオプティカルフローが一定である、という仮定（前提条件）から導出される次の数式（１）を利用して、全ての画素についてラスタスキャンを行って、移動ベクトルの横成分ｕ及び縦成分ｖを算出する。
【００１６】
【数１】
2007172554.tif 000003
【００１７】
空間的な明るさの勾配をＩｘ，Ｉｙ、時間的な変化分をＩｔとすると、上の数式（１）は、次の数式（２）に変換される。
【数２】
2007172554.tif 000004
【００１８】
また、移動ベクトルの横成分ｕ及び縦成分ｖは、次の数式（３）により算出される。
【数３】
2007172554.tif 000005
【００１９】
上の数式（２）では、Ｉｔは（−Ｉｘｕ−Ｉｙｖ）と一致することとなるが、オプティカルフローが一定であるという上記の前提条件は完全には成立しないため、図２に示されるように、Ｉｔと（−Ｉｘｕ−Ｉｙｖ）とは一致せず、最小自乗法による誤差Ｉｒが存在する。この誤差Ｉｒの大きさｒｅは、上記の前提条件の成立度合いを示す指標であり、誤差Ｉｒの大きさｒｅが小さいほど上記の前提条件が成立していることを意味し、誤差Ｉｒの大きさｒｅが大きいほど上記の前提条件が成立していないことを意味している。
【００２０】
誤差算出部２６は、オプティカルフローの誤差として、誤差Ｉｒの大きさｒｅを算出する処理を行う。より詳しく説明すると、誤差算出部２６は、全ての画素についてラスタスキャンを行って、次の数式（４）の演算を行うことにより、オプティカルフローの誤差ｒｅを算出する。
【００２１】
【数４】
2007172554.tif 000006
【００２２】
なお、誤差算出部２６は、オプティカルフローの誤差として、図２に示される角度θ、即ちＩｔと（−Ｉｘｕ−Ｉｙｖ）とがなす角度θを算出してもよい。この角度θは、誤差Ｉｒの大きさｒｅと同様に、上記の前提条件の成立度合いを示す指標であり、角度θが小さいほど上記の前提条件が成立していることを意味し、角度θが大きいほど上記の前提条件が成立していないことを意味している。
【００２３】
誤差修正部２８は、全ての画素についてラスタスキャンを行って、所定の条件が満たされる場合に、処理の対象として注目している画素のオプティカルフローを、その注目画素の周辺にある周辺画素のオプティカルフローと置換する処理を行う。誤差修正部２８の処理を、図３を参照して説明する。図３に示されるように、注目領域Ｒｉには、処理の対象である注目画素ｐｉ（Ａ１）が存在する。また、注目領域Ｒｉを囲うように周辺領域Ｒｊが設定されており、この周辺領域Ｒｊには、注目画素ｐｉに隣接する複数の周辺画素ｐｊ（Ｂ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５，Ｂ６，Ｂ７，Ｂ８）が存在する。
【００２４】
誤差修正部２８は、注目画素Ａ１のオプティカルフローの誤差が、予め設定された閾値Ｔｈよりも大きいか否かを判定する。ここで、注目画素Ａ１のオプティカルフローの誤差が閾値Ｔｈよりも大きい場合には、オプティカルフローが一定であるという仮定が成立していないため、次に説明する処理を行う。一方、注目画素Ａ１のオプティカルフローの誤差が閾値Ｔｈよりも小さい場合には、オプティカルフローが一定であるという仮定が成立しているため、次に説明する処理を行わない。上記の判定により、オプティカルフローが一定であるという仮定が成立しているか否かを精度良く判別することができる。
【００２５】
誤差算出部２８は、注目画素Ａ１のオプティカルフローの誤差が閾値Ｔｈよりも大きい場合には、注目画素Ａ１と周辺画素Ｂ１とを比較して、注目画素Ａ１のオプティカルフローの誤差よりも、周辺画素Ｂ１のオプティカルフローの誤差が小さいか否かを判定する。そして、誤差修正部２８は、周辺画素Ｂ１のオプティカルフローの誤差が小さいと判定した場合には、注目画素Ａ１のオプティカルフローとして、周辺画素Ｂ１のオプティカルフローを代入する。その後、誤差修正部２８は、周辺画素Ｂ２〜Ｂ８のそれぞれについても同様に、注目画素Ａ１のオプティカルフローの誤差よりも周辺画素Ｂ２〜Ｂ８のオプティカルフローの誤差が小さいか否かを判定し、周辺画素Ｂ２〜Ｂ８のオプティカルフローの誤差が小さいと判定した場合には、注目画素Ａ１のオプティカルフローとして、周辺画素Ｂ２〜Ｂ８のオプティカルフローを代入する。
【００２６】
本実施形態によれば、画像処理装置２０は、注目領域Ｒｉのオプティカルフローの誤差が周辺領域Ｒｊのオプティカルフローの誤差より大きい場合に、注目領域Ｒｉのオプティカルフローとして、注目領域Ｒｉの周辺にある周辺領域Ｒｊのオプティカルフローを代入する。よって、オプティカルフローが一定であるという勾配法の仮定が成立しない領域でも、オプティカルフローの誤差を小さくすることができる。なお、上述した処理によれば、周辺領域Ｒｊのオプティカルフローの中から、誤差が最小のオプティカルフローが代入されるため、オプティカルフローの誤差を顕著に小さくすることができる。
【００２７】
誤差修正部２８の別の処理を、図４を参照して説明する。図４に示されるように、注目領域Ｒｉには、処理の対象である注目画素ｐｉ（Ａ１）が存在する。また、注目領域Ｒｉを囲うように周辺領域Ｒｊが設定されており、この周辺領域Ｒｊには、注目画素ｐｉに隣接して複数の周辺画素ｐｊ（Ｂ１〜Ｂ８）が存在し、さらにそれらの周辺画素の外側には複数の周辺画素ｐｊ（Ｂ９〜Ｂ２４）が存在する。
【００２８】
誤差修正部２８は、図３を参照して説明した処理と同様に、注目画素Ａ１のオプティカルフローの誤差が、予め設定された閾値Ｔｈよりも大きいか否かを判定する。ここで、誤差算出部２８は、注目画素Ａ１のオプティカルフローの誤差が閾値Ｔｈよりも大きい場合には、注目画素Ａ１と周辺画素Ｂ１〜Ｂ２４のそれぞれとを比較して、注目画素Ａ１のオプティカルフローの誤差よりも、周辺画素Ｂ１〜Ｂ２４のオプティカルフローの誤差が小さいか否かを判定する。そして、誤差修正部２８は、周辺画素Ｂ１のオプティカルフローの誤差が小さいと判定した場合には、注目画素Ａ１のオプティカルフローとして、周辺画素Ｂ１〜Ｂ２４のオプティカルフローを代入する。
【００２９】
但し、この処理において、誤差修正部２８は、次の順序で周辺画素Ｂ１〜Ｂ２４を一つずつ処理していく。誤差修正部２８は、先ず、注目画素Ａ１に最も近い周辺画素Ｂ１〜Ｂ４について、上記の処理を行う。次に、誤差修正部２８は、注目画素に２番目に近い周辺画素Ｂ５〜Ｂ８について、上記の処理を行う。次に、誤差修正部２８は、注目画素に３番目に近い周辺画素Ｂ９〜Ｂ１２について、上記の処理を行う。次に、誤差修正部２８は、注目画素に４番目に近い周辺画素Ｂ１３〜Ｂ２０について、上記の処理を行う。次に、誤差修正部２８は、注目画素に５番目に近い周辺画素Ｂ２１〜Ｂ２４について、上記の処理を行う。
【００３０】
上述した処理の順序によれば、誤差修正部２８は、周辺画素Ｂ１〜Ｂ２４の中から、注目画素Ａ１よりもオプティカルフローの誤差が小さく、且つ注目画素Ａ１からの距離が最短である画素を選択し、注目画素Ａ１のオプティカルフローとして、選択された周辺画素Ｂ１〜Ｂ２４のオプティカルフローを代入する。よって、オプティカルフローが一定であるという仮定が成立しない領域でも、周辺領域Ｂ１〜Ｂ２４から実際の値に近いオプティカルフローが選択されるため、オプティカルフローの誤差を小さくすることができる。
【００３１】
次に、上述した画像処理装置２０による処理の流れについて説明する。図５には、画像処理装置２０の処理のフローチャートが示されている。先ず、画像処理装置２０は、全ての画素をラスタスキャンして、各画素についてオプティカルフローの移動ベクトルｕ，ｖを算出し、さらにオプティカルフローの誤差ｅを算出する（Ｓ５０１）。次に、画像処理装置２０は、再度、全ての画素をラスタスキャンして、各画素について処理を行う。ここで、画像処理装置２０は、注目画素ｐｉのオプティカルフローの誤差ｅ（ｐｉ）が予め設定された閾値Ｔｈより大きい場合に、注目画素ｐｉと周辺画素ｐｊとを比較する。そして、画像処理装置２０は、注目画素ｐｉのオプティカルフローの誤差ｅ（ｐｉ）が、周辺画素ｐｊのオプティカルフローの誤差ｅ（ｐｊ）よりも大きい場合に、注目画素ｐｉのオプティカルフローｕ（ｐｉ），ｖ（ｐｉ）として周辺画素ｐｊのオプティカルフローｕ（ｐｊ），ｖ（ｐｊ）を代入する（Ｓ５０２）。これにより、注目画素ｐｉのオプティカルフローの誤差の大きさｅ（ｐｉ）は、周辺画素ｐｊのオプティカルフローの誤差の大きさｅ（ｐｊ）となる。
【図面の簡単な説明】
【００３２】
【図１】実施形態に係る画像処理装置のブロック構成図である。
【図２】オプティカルフローとその誤差の関係を示す図である。
【図３】画像処理装置による処理を説明するための第１模式図である。
【図４】画像処理装置による処理を説明するための第２模式図である。
【図５】画像処理装置による処理のフローチャートである。
【符号の説明】
【００３３】
１０…カメラ、２０…画像処理装置、２２…画像取得部、２４…オプティカルフロー算出部、２６…誤差算出部、２８…誤差修正部。
【図１】
2007172554.tif 000007
【図２】
2007172554.tif 000008
【図３】
2007172554.tif 000009
【図４】
2007172554.tif 000010
【図５】
2007172554.tif 000011