(57)【特許請求の範囲】
【請求項１】
車両に取り付けられた撮像装置が出力する画像データから移動体を検知するための装置であって、
前記撮像装置によって設定間隔で出力されてくる前記画像データから、画像中を移動している特徴点を抽出する、特徴点抽出部と、
最新の前記画像データと、それよりも過去に出力された前記画像データとを対比して、抽出された前記特徴点毎に、当該特徴点のオプティカルフローを特定する、オプティカルフロー特定部と、
特定された前記オプティカルフローとその画像上での位置とに基づいて、前記オプティカルフローに対してクラスタリングを行なって、前記オプティカルフローをクラスタに分ける、クラスタリング部と、
前記車両の進行方向及び速度に基づいて、前記クラスタリングによって得られたクラスタの中から、背景を構成する物体に該当するクラスタを除去する、フィルタリング部と、
前記クラスタリングによって得られた前記クラスタ毎に、当該クラスタの位置を、最新の前記画像データ以外の複数の画像データそれぞれにおける当該クラスタの位置と対比して、当該クラスタの位置が、一定数以上の前記複数の画像データに一致しているかどうかを判定する、トラッキング部と、
前記フィルタリング部によるクラスタの除去後の前記クラスタリングの結果を用いて、一定数以上の前記複数の画像データに一致していると判定されたクラスタに基づいて、画像中の移動体を特定する、移動体特定部と、
を備えていることを特徴とする移動体検知装置。
【請求項２】
特定された前記移動体における前記オプティカルフローの方向及び長さを用いて、前記車両を基準とした、特定された前記移動体の速度を算出する、移動体速度算出部を更に備えている、
請求項１に記載の移動体検知装置。
【請求項３】
前記クラスタリング部が、複数の前記クラスタ間において、複数の前記クラスタの位置関係と、それぞれの前記オプティカルフローの長さ及び向きとが、設定条件を満たす場合に、複数の前記クラスタを結合して１つのクラスタとする、
請求項１または２に記載の移動体検知装置。
【請求項４】
前記オプティカルフロー特定部が、前記車両の進行方向及び速度に基づいて、特定したオプティカルフローの中から、背景を構成する物体に関連するオプティカルフローを除去する、
請求項１〜３のいずれかに記載の移動体検知装置。
【請求項５】
車両に取り付けられた撮像装置が出力する画像データから移動体を検知するための方法であって、
（ａ）前記撮像装置によって設定間隔で出力されてくる前記画像データから、画像中を移動している特徴点を抽出する、ステップと、
（ｂ）最新の前記画像データと、それよりも過去に出力された前記画像データとを対比して、抽出された前記特徴点毎に、当該特徴点のオプティカルフローを特定する、ステップと、
（ｃ）特定された前記オプティカルフローとその画像上での位置とに基づいて、前記オプティカルフローに対してクラスタリングを行なって、前記オプティカルフローをクラスタに分ける、ステップと、
（ｄ）前記車両の進行方向及び速度に基づいて、前記クラスタリングによって得られたクラスタの中から、背景を構成する物体に該当するクラスタを除去する、ステップと、
（ｅ）前記クラスタリングによって得られた前記クラスタ毎に、当該クラスタの位置を、最新の前記画像データ以外の複数の画像データそれぞれにおける当該クラスタの位置と対比して、当該クラスタの位置が、一定数以上の前記複数の画像データに一致しているかどうかを判定する、ステップと、
（ｆ）前記（ｄ）のステップによるクラスタの除去後の前記クラスタリングの結果を用いて、一定数以上の前記複数の画像データに一致していると判定されたクラスタに基づいて、画像中の移動体を特定する、ステップと、
を有することを特徴とする移動体検知方法。
【請求項６】
（ｇ）前記（ｆ）のステップで特定された前記移動体における前記オプティカルフローの方向及び長さを用いて、前記車両を基準とした、特定された前記移動体の速度を算出する、ステップを更に有する、
請求項５に記載の移動体検知方法。
【請求項７】
前記（ｃ）のステップにおいて、複数の前記クラスタ間において、複数の前記クラスタの位置関係と、それぞれの前記オプティカルフローの長さ及び向きとが、設定条件を満たす場合に、複数の前記クラスタを結合して１つのクラスタとする、
請求項５または６に記載の移動体検知方法。
【請求項８】
（ｆ）前記（ｃ）のステップの実行前に、前記車両の進行方向及び速度に基づいて、前記（ｂ）のステップで特定したオプティカルフローの中から、背景を構成する物体に関連するオプティカルフローを除去する、ステップを更に有する、
請求項５〜７のいずれかに記載の移動体検知方法。
【請求項９】
コンピュータによって、車両に取り付けられた撮像装置が出力する画像データからの移動体の検知を行なうためのプログラムであって、
前記コンピュータに、
（ａ）前記撮像装置によって設定間隔で出力されてくる前記画像データから、画像中を移動している特徴点を抽出する、ステップと、
（ｂ）最新の前記画像データと、それよりも過去に出力された前記画像データとを対比して、抽出された前記特徴点毎に、当該特徴点のオプティカルフローを特定する、ステップと、
（ｃ）特定された前記オプティカルフローとその画像上での位置とに基づいて、前記オプティカルフローに対してクラスタリングを行なって、前記オプティカルフローをクラスタに分ける、ステップと、
（ｄ）前記車両の進行方向及び速度に基づいて、前記クラスタリングによって得られたクラスタの中から、背景を構成する物体に該当するクラスタを除去する、ステップと、
（ｅ）前記クラスタリングによって得られた前記クラスタ毎に、当該クラスタの位置を、最新の前記画像データ以外の複数の画像データそれぞれにおける当該クラスタの位置と対比して、当該クラスタの位置が、一定数以上の前記複数の画像データに一致しているかどうかを判定する、ステップと、
（ｆ）前記（ｄ）のステップによるクラスタの除去後の前記クラスタリングの結果を用いて、一定数以上の前記複数の画像データに一致していると判定されたクラスタに基づいて、画像中の移動体を特定する、ステップと、
を実行させる、プログラム。
【請求項１０】
前記コンピュータに、
（ｇ）前記（ｆ）のステップで特定された前記移動体における前記オプティカルフローの方向及び長さを用いて、前記車両を基準とした、特定された前記移動体の速度を算出する、ステップを更に実行させる、
請求項９に記載のプログラム。
【請求項１１】
前記（ｃ）のステップにおいて、複数の前記クラスタ間において、複数の前記クラスタの位置関係と、それぞれの前記オプティカルフローの長さ及び向きとが、設定条件を満たす場合に、複数の前記クラスタを結合して１つのクラスタとする、
請求項９または１０に記載のプログラム。
【請求項１２】
前記コンピュータに、
（ｆ）前記（ｃ）のステップの実行前に、前記車両の進行方向及び速度に基づいて、前記（ｂ）のステップで特定したオプティカルフローの中から、背景を構成する物体に関連するオプティカルフローを除去する、ステップを更に実行させる、
請求項９〜１１のいずれかに記載のプログラム。                                                                              
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置で撮影された画像から移動体を検知するための、移動体検知装置、及び移動体検知方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、車両及びその周囲の安全性を高めるため、車両に取り付けられたカメラからの画像データに基づいて、車両周辺の移動体を検知して、運転者に移動体の接近を通知する技術が提案されている（例えば、特許文献１及び２参照。）。【０００３】
具体的には、特許文献１及び２は、共に、車両に搭載される移動体検知装置を開示している。そして、特許文献１及び２に開示された移動体検知装置は、まず、カメラから設定間隔で出力されてくる各画像から特徴点を抽出し、抽出した特徴点を画像間で比較して、特徴点を結ぶオプティカルフローを生成する。【０００４】
次いで、特許文献１に開示された移動体検知装置は、設定条件を満たすオプティカルフローを選択する。また、このときの設定条件は２つあり、１つは、オプティカルフローの延長線が所定の誤差範囲で一点の消失点で交わることである。もう１つは、オプティカルフローの延長線において、オプティカルフローの一方の端点を外分点として、オプティカルフローの他方の端点と消失点とを結ぶ線分の外分比が所定の誤差範囲で等しいことである。そして、特許文献１に開示された移動体検知装置は、選択したオプティカルフローから移動体を検知する。【０００５】
特許文献１及び２に開示された移動体検知装置によれば、車両周辺の移動体を検知できるので、例えば、車両の後方を撮影するリアカメラからの映像に基づいて、移動体を検知するようにすれば、運転者は、後方に位置する車両を認識できるようになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−９７１２６号公報
【特許文献２】特開２０１１−４３９２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１及び２に開示された移動体検知装置は、一点の消失点で交わるオプティカルフローを選択することによって、移動体を検知している。このため、上記特許文献１及び２に開示された移動体検知装置では、背景の一部を構成している物体、例えば、道路標識、駐車されている車両、看板等も、車両に対しては相対的に移動することから、これらを誤って検知してしまう可能性がある。【０００８】
本発明の目的の一例は、上記問題を解消し、移動体と背景を構成する物体とを区別して移動体の検知精度を向上し得る、移動体検知装置、移動体検知方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一側面における移動体検知装置は、車両に取り付けられた撮像装置が出力する画像データから移動体を検知するための装置であって、
前記撮像装置によって設定間隔で出力されてくる前記画像データから、画像中を移動している特徴点を抽出する、特徴点抽出部と、
最新の前記画像データと、それよりも過去に出力された前記画像データとを対比して、抽出された前記特徴点毎に、当該特徴点のオプティカルフローを特定する、オプティカルフロー特定部と、
特定された前記オプティカルフローとその画像上での位置とに基づいて、前記オプティカルフローに対してクラスタリングを行なって、前記オプティカルフローをクラスタに分ける、クラスタリング部と、
前記車両の進行方向及び速度に基づいて、前記クラスタリングによって得られたクラスタの中から、背景を構成する物体に該当するクラスタを除去する、フィルタリング部と、
前記フィルタリング部によるクラスタの除去後の前記クラスタリングの結果を用いて、画像中の移動体を特定する、移動体特定部と、
を備えていることを特徴とする。【００１０】
また、上記目的を達成するため、本発明の一側面における移動体検知方法は、車両に取り付けられた撮像装置が出力する画像データから移動体を検知するための方法であって、（ａ）前記撮像装置によって設定間隔で出力されてくる前記画像データから、画像中を移動している特徴点を抽出する、ステップと、
（ｂ）最新の前記画像データと、それよりも過去に出力された前記画像データとを対比して、抽出された前記特徴点毎に、当該特徴点のオプティカルフローを特定する、ステップと、
（ｃ）特定された前記オプティカルフローとその画像上での位置とに基づいて、前記オプティカルフローに対してクラスタリングを行なって、前記オプティカルフローをクラスタに分ける、ステップと、
（ｄ）前記車両の進行方向及び速度に基づいて、前記クラスタリングによって得られたクラスタの中から、背景を構成する物体に該当するクラスタを除去する、ステップと、
（ｅ）前記（ｄ）のステップによるクラスタの除去後の前記クラスタリングの結果を用いて、画像中の移動体を特定する、ステップと、
を有することを特徴とする。【００１１】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、車両に取り付けられた撮像装置が出力する画像データからの移動体の検知を行なうためのプログラムであって、
前記コンピュータに、
（ａ）前記撮像装置によって設定間隔で出力されてくる前記画像データから、画像中を移動している特徴点を抽出する、ステップと、
（ｂ）最新の前記画像データと、それよりも過去に出力された前記画像データとを対比して、抽出された前記特徴点毎に、当該特徴点のオプティカルフローを特定する、ステップと、
（ｃ）特定された前記オプティカルフローとその画像上での位置とに基づいて、前記オプティカルフローに対してクラスタリングを行なって、前記オプティカルフローをクラスタに分ける、ステップと、
（ｄ）前記車両の進行方向及び速度に基づいて、前記クラスタリングによって得られたクラスタの中から、背景を構成する物体に該当するクラスタを除去する、ステップと、
（ｅ）前記（ｄ）のステップによるクラスタの除去後の前記クラスタリングの結果を用いて、画像中の移動体を特定する、ステップと、
を実行させる、ことを特徴とする。
【発明の効果】
【００１２】
以上のように、本発明によれば、移動体と背景を構成する物体とを区別して移動体の検知精度を向上することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態における移動体検知装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態における移動体検知装置の具体的構成を示すブロック図である。
【図３】図３は、本発明の実施の形態における特徴点のオプティカルフローの特定処理を説明するための図である。
【図４】図４は、本発明の実施の形態におけるオプティカルフローのクラスタリング処理を説明するための図である。
【図５】図５は、本発明の実施の形態における背景除去の処理を説明するための図である。
【図６】図６は、本発明の実施の形態における移動体の相対速度の算出処理を説明するための図である。
【図７】図７は、本発明の実施の形態における移動体検知装置の動作を示すフロー図である。
【図８】図８は、本発明の実施の形態における移動体検知装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１４】
（実施の形態）
以下、本発明の実施の形態における、移動体検知装置、移動体検知方法、及びプログラムについて、図１〜図８を参照しながら説明する。
【００１５】
［装置構成］
最初に、本実施の形態における移動体検知装置の概略構成について図１を用いて説明する。図１は、本発明の実施の形態における移動体検知装置の概略構成を示すブロック図である。
【００１６】
図１に示す本実施の形態における移動体検知装置１０は、車両に取り付けられた撮像装置が出力する画像データから移動体を検知するための装置である。図１に示すように、移動体検知装置１０は、特徴点抽出部１１と、オプティカルフロー特定部１２と、クラスタリング部１３と、フィルタリング部１４と、移動体特定部１５とを備えている。
【００１７】
特徴点抽出部１１は、撮像装置によって設定間隔で出力されてくる画像データから、画像中を移動している特徴点を抽出する。オプティカルフロー特定部１２は、最新の画像データと、それよりも過去に出力された画像データとを対比して、抽出された特徴点毎に、各特徴点のオプティカルフローを特定する。
【００１８】
クラスタリング部１３は、特定されたオプティカルフローとその画像上での位置とに基づいて、得られた全てのオプティカルフローに対してクラスタリングを行なって、各オプティカルフローをクラスタに分ける。フィルタリング部１４は、車両の進行方向及び速度に基づいて、クラスタリングによって得られたクラスタの中から、背景を構成する物体に該当するクラスタを除去する。移動体特定部１５は、フィルタリング部１４によるクラスタの除去後のクラスタリングの結果を用いて、画像中の移動体を特定する。
【００１９】
このように、本実施の形態では、移動体検知装置１０は、特徴点のオプティカルフローをクラスタリングし、得られたクラスタから、背景に該当するクラスタを除去することで、移動体を検知している。このため、本実施の形態によれば、移動体と背景を構成する物体とを区別して移動体の検知精度を向上することができる。
【００２０】
続いて、図２を用いて、本実施の形態における移動体検知装置の構成について更に具体的に説明する。図２は、本発明の実施の形態における移動体検知装置の具体的構成を示すブロック図である。
【００２１】
図２に示すように、本実施の形態における移動体検知装置１０は、外部の撮像装置２０に接続されている。撮像装置２０は、固体撮像素子を備え、撮影を行なうと、カラー画像の画像データを移動体検知装置１０に出力する。本実施の形態では、撮像装置２０は、設定された時間間隔（フレームレート）で、連続して画像データを出力する。
【００２２】
また、図２に示すように、本実施の形態においては、移動体検知装置１０は、特徴点抽出部１１、オプティカルフロー特定部１２、クラスタリング部１３、フィルタリング部１４、及び移動体特定部１５に加えて、画像取得部１６と、トラッキング部１７と、移動体速度算出部１８とを備えている。
【００２３】
画像取得部１６は、撮像装置２０から処理対象となる画像データを取得する。具体的には、画像取得部１６は、撮像装置２０からはカラー画像の画像データが出力されるので、まず、出力されてきた画像データに対して画像変換を行なって、カラー画像をグレースケール画像に変換する。続いて、画像取得部１６は、画像データに対して、必要に応じて歪み補正を実行し、その後、補正後の画像データを、特徴点抽出部１１とオプティカルフロー特定部１２とに入力する。なお、歪み補正が行なわれるのは、例えば、撮像装置２０に取り付けられている撮影レンズが魚眼レンズ等である場合である。
【００２４】
特徴点抽出部１１は、本実施の形態では、まず、予め設定されたフレーム数分（例えば、１０フレーム）の画像データを用いて、輝度変化の不偏分散を計算し、計算値と閾値とを対比して、各画素が移動画素及び静止画素のいずれに該当するかを判定する。そして、特徴点抽出部１１は、移動画素と判定した画素が存在する領域を、移動体が存在する移動領域とする。次に、特徴点抽出部１１は、現フレームの画像データの移動領域において、例えば、一般的なＦＡＳＴアルゴリズムを用いて、特徴点を抽出する。
【００２５】
オプティカルフロー特定部１２は、本実施の形態では、例えば、図３に示すように、まず、現フレームの１つ前の過去フレームの特徴点と現フレームの特徴点とを対比し、対応する特徴点同士を紐付けする。図３の例では、オプティカルフロー特定部１２は、１つ前の過去フレームの特徴点１と現フレームの特徴点３とを紐付け、１つ前の過去フレームの特徴点２と現フレームの特徴点４とを紐付ける。そして、オプティカルフロー特定部１２は、紐付けた特徴点同士を結び、オプティカルフローを特定する。図３は、本発明の実施の形態における特徴点のオプティカルフローの特定処理を説明するための図である。
【００２６】
具体的には、オプティカルフロー特定部１２は、特徴点同士の類似度を算出し、算出した類似度が閾値以上となる特徴点同士を紐付ける。この場合の類似度としては、Ｒｏｔａｔｅｄ Ｂｒｉｅｆ法で生成されたバイナリーコードから算出されるハミング距離が挙げられる。
【００２７】
また、オプティカルフロー特定部１２は、処理時間を短縮するため、画像を分割し、分割によって得られた各エリアとその周辺のエリアとをひとつのグループとし、グループ毎に、特徴点同士の結びつけと、オプティカルフローの特定とを行なうこともできる。
【００２８】
更に、本実施の形態では、オプティカルフロー特定部１２は、移動体検知装置１０を搭載している車両（以下「自車両」と表記する）から、車両情報を取得して、自車両の進行方向と速度とを特定することもできる。車両情報は、自車両の状態（前進又は後進）、旋回角度、速度等を特定する情報である。この場合、オプティカルフロー特定部１２は、自車両の進行方向及び速度に基づいて、特定したオプティカルフローの中から、背景を構成する物体に関連するオプティカルフローを除去する。
【００２９】
クラスタリング部１３は、本実施の形態では、ｘ−ｍｅａｎアルゴリズムを使用して、クラスタリングを実行する。例えば、図４に示すように、クラスタリング部１３は、まず、オプティカルフロー間の距離を特定し、特定した距離に基づいて、クラスタリングを実行する。図４は、本発明の実施の形態におけるオプティカルフローのクラスタリング処理を説明するための図である。
【００３０】
次に、クラスタリング部１３は、クラスタリングによって生成されたクラスタ毎に、長さ、位置（画面内の座標）、及び向きが、そのクラスタ内のオプティカルフローの平均値から大きく乖離しているオプティカルフローを特定する。特定されたオプティカルフローは同じ移動体に由来するものとは考えられないため、クラスタリング部１３は、図４に示すように、特定したオプティカルフローを、元のクラスタから除去し、新規に生成したクラスタに登録する。
【００３１】
また、クラスタリング部１３は、クラスタリングの実行後、複数のクラスタ間において、それらの位置関係と、それぞれのオプティカルフローの長さ及び向きとが、設定条件を満たす場合に、これらのクラスタを結合して１つのクラスタとする。これらのクラスタのオプティカルフローは同じ移動体に由来すると考えられるからである。
【００３２】
具体的には、クラスタリング部１３は、まず、クラスタが互いに重なっていること、クラスタ間において、クラスタ内のオプティカルフローの平均長さと向きとが近似していること、を条件に、結合候補となる２つクラスタを特定する。次に、クラスタリング部１３は、結合候補となった２つのクラスタ間について、互いの中心を結んだときの中央のエリア（例えば、２０ピクセル×２０ピクセル）でのオプティカルフローの向きを対比し、向きが各クラスタで一致している場合は、これらの結合候補を結合する。
【００３３】
トラッキング部１７は、クラスタリングによって得られたクラスタ毎に、各クラスタの位置が、最新の画像データ以外の画像データから予測された位置と重なるかどうかを判定する。具体的には、トラッキング部１７は、現フレームにおける判定対象となるクラスタを、複数の過去フレーム（例えば、過去６フレーム）における判定対象となるクラスタと対比して、一定数以上の過去フレームにおいて一致していれば、重なると判定する。そして、トラッキング部１７は、重なると判定したクラスタを、フィルタリング部１４に通知する。
【００３４】
また、トラッキング部１７は、判定において、現フレームのクラスタと過去フレームのクラスタとが、完全に一致している場合だけに限られず、両者が一定の割合以上で重なっている場合も一致しているとする。更に、対応する移動体が異なるクラスタ同士が一致してしまうのを防ぐため、トラッキング部１７は、判定対象となるクラスタの面積を縮小してから（例えば、１／４）、一致の判断を行なうこともできる。
【００３５】
更に、トラッキング部１７は、判定対象となったクラスタの座標として、現フレームのクラスタの座標と一致した過去フレームのクラスタの座標との平均座標を算出し、算出した平均座標を、判定対象となったクラスタの座標とすることもできる。
【００３６】
また、トラッキング部１７は、現フレームのクラスタと複数の過去フレームのクラスタとの対比の結果、一致している過去フレームの枚数が閾値未満の場合は、誤検知の可能性が高いため、トラッキング部１７は、判定対象となるクラスタを削除する。但し、削除したクラスタについて、前回の判定において重なると判定されている場合は、トラッキング部１７は、削除したクラスタを復帰させることもできる。
【００３７】
フィルタリング部１４は、本実施の形態では、まず、自車両から、車両情報を取得して、自車両の進行方向と速度とを特定する。車両情報は、自車両の状態（前進又は後進）、旋回角度、速度等を特定する情報である。
【００３８】
続いて、フィルタリング部１４は、特定した自車両の進行方向と速度とに基づいて、トラッキング部１７から通知された各クラスタの中から、背景を構成する物体に該当するクラスタを特定し、特定したクラスタを除去する。
【００３９】
具体的には、図５に示すように、地面に固定されている物体（例えば、樹木）３１については、その移動方向は自車両３０の移動方向の反対方向となり、その移動量は自車両３０の移動量と等しくなる。また、進行方向が逆の車両３２については、その移動方向は、自車両３０の移動方向の反対方向となり、その移動量は自車両の移動量よりも大きくなる。図５は、本発明の実施の形態における背景除去の処理を説明するための図である。なお、図５において、自車両３０の後方の破線は、撮像装置の撮影範囲を示している。
【００４０】
従って、フィルタリング部１４は、まず、通知されたクラスタに含まれるオプティカルフローの中から、移動方向が自車両３０の移動方向と反対方向となり、且つ、移動量が自車両３０の移動量以上となる、オプティカルフローを特定する。そして、フィルタリング部１４は、特定したオプティカルフローを含むクラスタを、背景を構成する物体に該当するクラスタとして特定し、これを除去する。
【００４１】
移動体特定部１５は、本実施の形態では、トラッキング部１７及びフィルタリング部１４によって除去されたクラスタ以外のクラスタに基づいて、移動体を特定する。また、移動体特定部１５は、特定した移動体の情報を車両に通知する。このとき通知される情報としては、移動体の画像上の位置、移動方向、及び速度等が挙げられる。なお、速度は、後述する移動体算出部１８によって算出される。
【００４２】
移動体速度算出部１８は、移動体特定部１５によって特定された移動体におけるオプティカルフローの方向及び長さを用いて、移動体検知装置１０（自車両）を基準とした、特定された移動体の速度（相対速度）を算出する。
【００４３】
具体的には、移動体速度算出部１８は、図６に示すように、まず、現フレーム及び１つ前の過去フレームそれぞれにおいて、特定された移動体の自車両に最も近い点（移動体の画面上の右下又は左下の点）の座標を特定する。なお、１つ前の過去フレームで特定された座標を開始座標、現フレームに特定された座標を終了座標とする。また、移動体速度算出部１８は、特定された移動体のオプティカルフローの平均の長さ及び角度から、開始座標を推定することができる。図６は、本発明の実施の形態における移動体の相対速度の算出処理を説明するための図である。
【００４４】
次に、移動体速度算出部１８は、図６に示すように、撮像装置２０のカメラパラメータを使って、鳥瞰視点変換を行い、開始座標及び終了座標を、実座標系での座標に変換する。また、移動体速度算出部１８は、変換後の各座標から、実空間における開始座標と終了座標との距離を算出し、これを相対移動距離とする。
【００４５】
そして、移動体速度算出部１８は、１つ前の過去フレームから現フレームまでの時間と、算出した相対移動距離とから、自車両を基準とした移動体の速度を算出する。なお、１つ前の過去フレームから現フレームまでの時間は、フレームレートから求められる。例えば、フレームレートが１０ｆｐｓであるならば、時間は０．１秒となる。
【００４６】
［装置動作］
次に、本発明の実施の形態における移動体検知装置１０の動作について図７を用いて説明する。図７は、本発明の実施の形態における移動体検知装置の動作を示すフロー図である。以下の説明においては、適宜図１〜図６を参酌する。また、本実施の形態では、移動体検知装置１０を動作させることによって、移動体検知方法が実施される。よって、本実施の形態における移動体検知方法の説明は、以下の移動体検知装置１０の動作説明に代える。
【００４７】
図７に示すように、最初に、画像取得部１６は、撮像装置２０から出力されてくる画像データを、フレーム毎に取得する（ステップＡ１）。
【００４８】
具体的には、ステップＡ１では、画像取得部１６は、まず、取得された画像データに対して、グレースケール画像への変換、歪み補正等を行なう。そして、画像取得部１６は、取得された画像データのフレーム数が設定枚数に達した以降、これらの画像データを特徴点抽出部１１に渡す。
【００４９】
次に、特徴点抽出部１１は、ステップＡ１で取得された画像データから、画像中を移動している特徴点を抽出する（ステップＡ２）。
【００５０】
具体的には、ステップＡ２では、特徴点抽出部１１は、予め設定されたフレーム数分（例えば、１０フレーム）の画像データを用いて、輝度変化の不偏分散を計算して、各画素が移動画素及び静止画素のいずれに該当するかを判定する。そして、特徴点抽出部１１は、移動画素と判定した画素が存在する移動領域から、特徴点を抽出する。
【００５１】
次に、オプティカルフロー特定部１２は、最新の画像データと、それよりも過去に出力された画像データとを対比して、抽出された特徴点毎に、各特徴点のオプティカルフローを特定する（ステップＡ３）。
【００５２】
具体的には、ステップＡ３では、オプティカルフロー特定部１２は、図３に示すように、現フレームの１つ前の過去フレームの特徴点と現フレームの特徴点とを対比し、対応する特徴点同士を紐付け、紐付けた特徴点同士を結びことで、オプティカルフローを特定する。
【００５３】
次に、オプティカルフロー特定部１２は、自車両の進行方向及び速度に基づいて、ステップＡ３で特定したオプティカルフローの中から、背景を構成する物体に関連するオプティカルフローを除去する（ステップＡ４）。
【００５４】
次に、クラスタリング部１３は、特定されたオプティカルフローとその画像上での位置とに基づいて、得られた全てのオプティカルフローに対してクラスタリングを行なって、各オプティカルフローをクラスタに分ける（ステップＡ５）。
【００５５】
具体的には、クラスタリング部１３は、図４に示すように、まず、オプティカルフロー間の距離を特定し、特定した距離に基づいて、クラスタリングを実行する。次に、クラスタリング部１３は、長さ、位置（画面内の座標）、及び向きが、そのクラスタ内のオプティカルフローの平均値から大きく乖離しているオプティカルフローを元のクラスタから除去し、新規に生成したクラスタに登録する。
【００５６】
次に、トラッキング部１７は、クラスタリングによって得られたクラスタ毎に、各クラスタの位置が、最新の画像データ以外の画像データから予測された位置と重なるかどうかを判定し、重ならないクラスタを、不要なクラスタとして除去する（ステップＡ６）。
【００５７】
次に、続いて、フィルタリング部１４は、自車両の進行方向と速度とに基づいて、トラッキング部１７から通知された各クラスタの中から、背景を構成する物体に該当するクラスタを特定し、特定したクラスタを除去する（ステップＡ７）。
【００５８】
次に、移動体特定部１５は、ステップＡ６及びＡ７によって除去されたクラスタ以外のクラスタに基づいて、移動体を特定する（ステップＡ８）。
【００５９】
次に、移動体速度算出部１８は、ステップＡ３によって特定された移動体におけるオプティカルフローの方向及び長さを用いて、移動体検知装置１０（自車両）を基準とした、特定された移動体の相対速度を算出する（ステップＡ９）。
【００６０】
その後、移動体特定部１５は、ステップＡ９で移動体の速度が算出されると、それを含む移動体情報を生成し、生成した移動体情報を車両に通知する（ステップＡ１０）。また、ステップＡ１０が実行されると、車両は、メーターパネル等に移動体情報を表示したり、衝突検知処理を行なったりする。
【００６１】
以上のように、本実施の形態では、移動体検知装置１０は、特徴点のオプティカルフローをクラスタリングし、得られたクラスタから、背景に該当するクラスタを除去することで、移動体を検知している。このため、本実施の形態によれば、移動体と背景を構成する物体とを区別して移動体の検知精度を向上することができる。
【００６２】
また、本実施の形態では、トラッキング部１７によって、トラッキングが行なわれるので、瞬間的な誤検知が発生した場合に、これに対応できる。更に、トラッキング部１７は、トラッキングによって削除したクラスタを、過去のフレームに基づいて復帰させることができるので、何らかの原因によって移動体検知が途切れてしまった場合にも対応できる。
【００６３】
［プログラム］
本実施の形態におけるプログラムは、コンピュータに、図７に示すステップＡ１〜Ａ１０を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における移動体検知装置１０と移動体検知方法とを実現することができる。この場合、コンピュータのプロセッサは、特徴点抽出部１１、オプティカルフロー特定部１２、クラスタリング部１３、フィルタリング部１４、移動体特定部１５、画像取得部１６、トラッキング部１７、及び移動体速度算出部１８として機能し、処理を行なう。また、コンピュータとしては、車両に搭載されているコンピュータ、汎用のコンピュータ、携帯用の情報端末に搭載されているコンピュータ等が挙げられる。
【００６４】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、特徴点抽出部１１、オプティカルフロー特定部１２、クラスタリング部１３、フィルタリング部１４、移動体特定部１５、画像取得部１６、トラッキング部１７、及び移動体速度算出部１８のいずれかとして機能しても良い。
【００６５】
ここで、本実施の形態におけるプログラムを実行することによって、移動体検知装置１０を実現するコンピュータの一例について図８を用いて説明する。図８は、本発明の実施の形態における移動体検知装置を実現するコンピュータの一例を示すブロック図である。  
【００６６】
図８に示すように、コンピュータ１１０は、ＣＰＵ（Central Processing Unit）１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。なお、コンピュータ１１０は、ＣＰＵ１１１に加えて、又はＣＰＵ１１１に代えて、ＧＰＵ（Graphics Processing Unit）、又はＦＰＧＡ（Field-Programmable Gate Array）を備えていても良い。
【００６７】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００６８】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００６９】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００７０】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【００７１】
なお、本実施の形態における移動体検知装置１０は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、移動体検知装置１０は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００７２】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１５）によって実現することができるが、以下の記載に限定されるものではない。
【００７３】
（付記１）
車両に取り付けられた撮像装置が出力する画像データから移動体を検知するための装置であって、
前記撮像装置によって設定間隔で出力されてくる前記画像データから、画像中を移動している特徴点を抽出する、特徴点抽出部と、
最新の前記画像データと、それよりも過去に出力された前記画像データとを対比して、抽出された前記特徴点毎に、当該特徴点のオプティカルフローを特定する、オプティカルフロー特定部と、
特定された前記オプティカルフローとその画像上での位置とに基づいて、前記オプティカルフローに対してクラスタリングを行なって、前記オプティカルフローをクラスタに分ける、クラスタリング部と、
前記車両の進行方向及び速度に基づいて、前記クラスタリングによって得られたクラスタの中から、背景を構成する物体に該当するクラスタを除去する、フィルタリング部と、
前記フィルタリング部によるクラスタの除去後の前記クラスタリングの結果を用いて、画像中の移動体を特定する、移動体特定部と、
を備えていることを特徴とする移動体検知装置。
【００７４】
（付記２）
前記クラスタリングによって得られた前記クラスタ毎に、当該クラスタの位置が、最新の前記画像データ以外の画像データから予測された位置と重なるかどうかを判定する、トラッキング部を更に備え、
前記移動体特定部が、重なり合うと判定されたクラスタに基づいて、画像中の移動体を特定する、
付記１に記載の移動体検知装置。
【００７５】
（付記３）
特定された前記移動体における前記オプティカルフローの方向及び長さを用いて、前記車両を基準とした、特定された前記移動体の速度を算出する、移動体速度算出部を更に備えている、
付記１または２に記載の移動体検知装置。
【００７６】
（付記４）
前記クラスタリング部が、複数の前記クラスタ間において、複数の前記クラスタの位置関係と、それぞれの前記オプティカルフローの長さ及び向きとが、設定条件を満たす場合に、複数の前記クラスタを結合して１つのクラスタとする、
付記１〜３のいずれかに記載の移動体検知装置。
【００７７】
（付記５）
前記オプティカルフロー特定部が、前記車両の進行方向及び速度に基づいて、特定したオプティカルフローの中から、背景を構成する物体に関連するオプティカルフローを除去する、
付記１〜４のいずれかに記載の移動体検知装置。
【００７８】
（付記６）
車両に取り付けられた撮像装置が出力する画像データから移動体を検知するための方法であって、
（ａ）前記撮像装置によって設定間隔で出力されてくる前記画像データから、画像中を移動している特徴点を抽出する、ステップと、
（ｂ）最新の前記画像データと、それよりも過去に出力された前記画像データとを対比して、抽出された前記特徴点毎に、当該特徴点のオプティカルフローを特定する、ステップと、
（ｃ）特定された前記オプティカルフローとその画像上での位置とに基づいて、前記オプティカルフローに対してクラスタリングを行なって、前記オプティカルフローをクラスタに分ける、ステップと、
（ｄ）前記車両の進行方向及び速度に基づいて、前記クラスタリングによって得られたクラスタの中から、背景を構成する物体に該当するクラスタを除去する、ステップと、
（ｅ）前記（ｄ）のステップによるクラスタの除去後の前記クラスタリングの結果を用いて、画像中の移動体を特定する、ステップと、
を有することを特徴とする移動体検知方法。
【００７９】
（付記７）
（ｆ）前記（ｃ）のステップによって得られた前記クラスタ毎に、当該クラスタの位置が、最新の前記画像データ以外の画像データから予測された位置と重なるかどうかを判定する、ステップを更に有し、
前記（ｅ）のステップにおいて、前記（ｆ）のステップで重なり合うと判定されたクラスタに基づいて、画像中の移動体を特定する、
付記６に記載の移動体検知方法。
【００８０】
（付記８）
（ｇ）前記（ｅ）のステップで特定された前記移動体における前記オプティカルフローの方向及び長さを用いて、前記車両を基準とした、特定された前記移動体の速度を算出する、ステップを更に有する、
付記６または７に記さいの移動体検知方法。
【００８１】
（付記９）
前記（ｃ）のステップにおいて、複数の前記クラスタ間において、複数の前記クラスタの位置関係と、それぞれの前記オプティカルフローの長さ及び向きとが、設定条件を満たす場合に、複数の前記クラスタを結合して１つのクラスタとする、
付記６〜８のいずれかに記載の移動体検知方法。
【００８２】
（付記１０）
（ｆ）前記（ｃ）のステップの実行前に、前記車両の進行方向及び速度に基づいて、前記（ｂ）のステップで特定したオプティカルフローの中から、背景を構成する物体に関連するオプティカルフローを除去する、ステップを更に有する、
付記６〜９のいずれかに記載の移動体検知方法。
【００８３】
（付記１１）
コンピュータによって、車両に取り付けられた撮像装置が出力する画像データからの移動体の検知を行なうためのプログラムであって、
前記コンピュータに、
（ａ）前記撮像装置によって設定間隔で出力されてくる前記画像データから、画像中を移動している特徴点を抽出する、ステップと、
（ｂ）最新の前記画像データと、それよりも過去に出力された前記画像データとを対比して、抽出された前記特徴点毎に、当該特徴点のオプティカルフローを特定する、ステップと、
（ｃ）特定された前記オプティカルフローとその画像上での位置とに基づいて、前記オプティカルフローに対してクラスタリングを行なって、前記オプティカルフローをクラスタに分ける、ステップと、
（ｄ）前記車両の進行方向及び速度に基づいて、前記クラスタリングによって得られたクラスタの中から、背景を構成する物体に該当するクラスタを除去する、ステップと、
（ｅ）前記（ｄ）のステップによるクラスタの除去後の前記クラスタリングの結果を用いて、画像中の移動体を特定する、ステップと、
を実行させる、プログラム。
【００８４】
（付記１２）
前記コンピュータに、
（ｆ）前記（ｃ）のステップによって得られた前記クラスタ毎に、当該クラスタの位置が、最新の前記画像データ以外の画像データから予測された位置と重なるかどうかを判定する、ステップを更に実行させ、
前記（ｅ）のステップにおいて、前記（ｆ）のステップで重なり合うと判定されたクラスタに基づいて、画像中の移動体を特定する、
付記１１に記載のプログラム。
【００８５】
（付記１３）
前記コンピュータに、
（ｇ）前記（ｅ）のステップで特定された前記移動体における前記オプティカルフローの方向及び長さを用いて、前記車両を基準とした、特定された前記移動体の速度を算出する、ステップを更に実行させる、
付記１１または１２に記載のプログラム。
【００８６】
（付記１４）
前記（ｃ）のステップにおいて、複数の前記クラスタ間において、複数の前記クラスタの位置関係と、それぞれの前記オプティカルフローの長さ及び向きとが、設定条件を満たす場合に、複数の前記クラスタを結合して１つのクラスタとする、
付記１１〜１３のいずれかに記載のプログラム。
【００８７】
（付記１５）
前記コンピュータに、
（ｆ）前記（ｃ）のステップの実行前に、前記車両の進行方向及び速度に基づいて、前記（ｂ）のステップで特定したオプティカルフローの中から、背景を構成する物体に関連するオプティカルフローを除去する、ステップを更に実行させる、
付記１１〜１４のいずれかに記載のプログラム。
【００８８】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００８９】
この出願は、２０１７年２月２８日に出願された日本出願特願２０１７−０３７５５５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００９０】
以上のように、本発明によれば、移動体と背景を構成する物体とを区別して移動体の検知精度を向上することができる。本発明は、移動体の検知が求められている車両の情報処理装置に有用である。
【符号の説明】
【００９１】
１０  移動体検知装置
１１  特徴点抽出部
１２  オプティカルフロー特定部
１３  クラスタリング部
１４  フィルタリング部
１５  移動体特定部
１６  画像取得部
１７  トラッキング部
１８  移動体速度算出部
２０  撮像装置
３０  自車両
３１  地面に固定されている物体
３２  進行方向が逆の車両
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
0006795224.tif 000002
【図２】
0006795224.tif 000003
【図３】
0006795224.tif 000004
【図４】
0006795224.tif 000005
【図５】
0006795224.tif 000006
【図６】
0006795224.tif 000007
【図７】
0006795224.tif 000008
【図８】
0006795224.tif 000009