JP2018092354A - 物体検出装置および物体検出方法 - Google Patents

物体検出装置および物体検出方法 Download PDF

Info

Publication number
JP2018092354A
JP2018092354A JP2016234913A JP2016234913A JP2018092354A JP 2018092354 A JP2018092354 A JP 2018092354A JP 2016234913 A JP2016234913 A JP 2016234913A JP 2016234913 A JP2016234913 A JP 2016234913A JP 2018092354 A JP2018092354 A JP 2018092354A
Authority
JP
Japan
Prior art keywords
feature point
flow amount
unit
range
dimensional object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016234913A
Other languages
English (en)
Inventor
純 金武
Jun Kanetake
純 金武
村下 君孝
Kimitaka Murashita
君孝 村下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016234913A priority Critical patent/JP2018092354A/ja
Priority to US15/807,651 priority patent/US20180158203A1/en
Publication of JP2018092354A publication Critical patent/JP2018092354A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Image Processing (AREA)

Abstract

【課題】静止物までの距離および静止物の領域を正しく推定する。【解決手段】物体検出装置100は、移動体に設置されたカメラによって撮影された画像の輪郭線に基づき特定された物体の範囲から所定数以上の特徴点を抽出する。物体検出装置100は、第1時刻に撮影された画像の第1特徴点に対応する第2時刻に撮影された画像の第2特徴点を特定し、第1特徴点から第2特徴点までの第1フロー量と、第1時刻から前記第2時刻までに予測される第1特徴点の第2フロー量とを基にして、物体の範囲を修正する。物体検出装置100は、修正された物体の範囲に基づいて、カメラから物体までの距離および物体の幅を算出する。【選択図】図3

Description

本発明は、物体検出装置等に関する。
近年、車両等の移動体に設置されたカメラの画像を解析して、ドライバーの運転をサポートする従来技術がある。例えば、画像から特徴点や輪郭線を抽出することで、車両の移動先に存在する静止物の範囲を推定し、推定した静止物の範囲を基にして、車両から静止物までの距離や、静止物の情報を算出し、ドライバーに通知する。
特開2006−129021号公報 特開2011−109286号公報 特開2005−123968号公報 特開2000−161915号公報 特開2016−134764号公報
しかしながら、上述した従来技術では、静止物までの距離および静止物の領域を正しく推定することができないという問題がある。
1つの側面では、本発明は、静止物までの距離および静止物の領域を正しく推定することができる物体検出装置および物体検出方法を提供することを目的とする。
第1の案では、物体検出装置は、特徴点抽出部と、修正部と、算出部とを有する。特徴点抽出部は、移動体に設置されたカメラによって撮影された画像の輪郭線に基づき特定された物体の範囲から所定数以上の特徴点を抽出する。修正部は、第1時刻に撮影された画像の第1特徴点に対応する第2時刻に撮影された画像の第2特徴点を特定する。修正部は、第1特徴点から第2特徴点までの第1フロー量と、第1時刻から第2時刻までに予測される第1特徴点の第2フロー量とを基にして、物体の範囲を修正する。算出部は、修正部に修正された物体の範囲に基づいて、カメラから物体までの距離および物体の幅を算出する。
静止物までの距離および静止物の領域を正しく推定することができる。
図1は、フロー量の違いを説明するための図である。 図2は、立体物の輪郭線の一例を示す図である。 図3は、本実施例に係る物体検出装置の構成を示す機能ブロック図である。 図4は、映像データのデータ構造の一例を示す図である。 図5は、特徴点テーブルのデータ構造の一例を示す図である。 図6は、輪郭線抽出部の処理を示すフローチャートである。 図7は、立体物候補検出部の処理を示すフローチャートである。 図8は、特徴点抽出部の処理を示すフローチャートである。 図9は、フロー量算出部の処理を示すフローチャートである。 図10は、修正部の処理の一例を説明するための図(1)である。 図11は、修正部の処理の一例を説明するための図(2)である。 図12は、修正部の処理を示すフローチャートである。 図13は、出力部の処理を示すフローチャートである。 図14は、本実施例に係る物体検出装置の処理手順を示すフローチャートである。 図15は、物体検出装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
以下に、本願の開示する物体検出装置および物体検出方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例の説明を行う前に、車両から立体物までの距離、立体物の領域を特定する参考例1,2について説明する。
参考例1は、オプティカルフローを用いて立体物を検出する技術である。以下において、参考例1について説明する。参考例1は、車両のカメラが撮影した各画像データから立体物の特徴点をそれぞれ抽出し、時系列に各画像データの各特徴点を対応付けることで、特徴点の位置ずれ量を算出する。例えば、ある特徴点の時刻tの座標を(x、y)とし、時刻tの座標を(x、y)とすると、位置ずれ量は、座標(x、y)と座標(x、y)との距離となる。以下の説明では、位置ずれ量をフロー量と表記する。
ここで、画像データ上のある特徴点が路面模様上に存在していると仮定すると、カメラの設置パラメータと車両の移動量から仮想的な特徴点のフロー量を算出することができる。以下の説明では、特徴点が路面模様に含まれていることを前提とし、カメラの設置パラメータと車両の移動量とから求めた仮想的なフロー量を、「仮想フロー量」と表記する。これに対して、各時刻に撮影された画像データに基づき、実際に各特徴点の対応付けを行って求めたフロー量を、観測フロー量と表記する。
仮想フロー量は、特徴点が路面模様に存在していると仮定したものであるため、高さのある立体物の特徴点については、観測フロー量と仮想フロー量とが異なる。図1は、フロー量の違いを説明するための図である。図1に示すように、車両10には、カメラが取り付けられており、車両10が移動する前の時刻tのカメラをカメラ11aとし、車両10が移動した後の時刻tのカメラをカメラ11bとする。カメラ11aと立体物50の着目点50aとを通る線分を、線分1とする。カメラ11bと着目点50aとを通る線分を、線分2aとする。カメラ11bと路面模様55の点55aとを通る線分を、線分2bとする。
カメラ11aがカメラ11bに移動した場合の、仮想的な路面模様55の視差変化F1は、第1交点と第2交点との差となる。第1交点は路面5と線分1との交点であり、第2交点は線分2bと路面5との交点である。
仮想的な立体物50の視差変化F2は、第1交点と第3交点との差となる。第3交点は、線分2aと路面5との交点である。視差変化F2の方が、視差変化F1よりも、1Aだけ大きいため、立体物50のフロー量は、路面模様55のフロー量よりも大きくなることがわかる。参考例1は、この性質を用いて、特徴点が立体物の特徴点であるか否かを判定する。
上記の仮想フロー量は、対象が路面模様であることを前提に算出されるフロー量であるため、仮想フロー量と観測フロー量との差が大きければ、該当する特徴点は、立体物であると判定できる。これに対して、仮想フロー量と観測フロー量との差が小さければ、該当する特徴点は、路面模様(立体物以外)の特徴点であると判定できる。
参考例1は、立体物であると判定した特徴点を含む範囲を立体物の範囲として特定し、カメラの設置パラメータおよび車両の移動量から、車両10から立体物50までの距離を算出する。
参考例1は、車両10から立体物50までの距離を比較的精度よく算出することができる。しかしながら、参考例1は、立体物の特徴点として検出する特徴点の数が少なくなる場合が多く、特徴点の照合に失敗すると、距離の算出精度が低下する。また、特徴点の数が少ないため、立体物の全体の形状を捉えることが難しい。
参考例2は、画像データ上で垂直となる輪郭線を抽出し、抽出した輪郭線の塊を立体物として検出する技術である。図2は、立体物の輪郭線の一例を示す図である。図2において、画像21bは、画像20の一部の領域21aを拡大した画像である。図2において、高さのある立体物15の各輪郭線15aは、画像上で垂直に並ぶ。参考例2は、この性質を利用して、各輪郭線15aを含む領域を、立体物15の領域として検出する。
参考例2は、1枚の画像データから立体物15を検出するため、立体物15の下端位置15bから車両までの距離を、車両から立体物15までの距離として算出する。参考例2では、下端位置15bが路面に接触していると仮定し、カメラの設置パラメータに基づいて、車両から立体物15までの距離を算出する。
参考例2は、遠方から立体物15の検出が可能であり、立体物15の全体形状を捉えることが可能である。しかしながら、下端位置15bを誤検出すると、車両から立体物15までの距離を精度良く検出できない。また、立体物15の輪郭15aと背景の輪郭とがつながると、立体物の全体形状を精度良く捉えられない場合がある。
次に、本実施例に係る物体検出装置について説明する。図3は、本実施例に係る物体検出装置の構成を示す機能ブロック図である。図3に示すように、この物体検出装置100は、カメラ110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
カメラ110は、車両等の移動体に設置され、撮影方向の映像を撮影するカメラである。カメラ110は、撮影した映像データ141を映像入力部151に出力する。映像データ141は、時系列に、複数の画像データが連続する情報である。
入力部120は、物体検出装置100に各種の情報を入力するための入力装置である。例えば、入力部120は、タッチパネルや入力ボタンに対応する。
表示部130は、制御部150から出力される情報を表示する表示装置である。例えば、表示部130は、液晶ディスプレイやタッチパネル等に対応する。
記憶部140は、映像データ141と、特徴点テーブル142と、移動量データ143とを有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
映像データ141は、時系列に、複数の画像データが連続する情報である。図4は、映像データのデータ構造の一例を示す図である。図4に示すように、映像データ141は、画像データを撮影した時刻と、画像データとを対応付ける。
特徴点テーブル142は、画像データから抽出される特徴点に関する各種の情報を保持するテーブルである。図5は、特徴点テーブルのデータ構造の一例を示す図である。図5に示すように、この特徴点テーブル142は、時刻と、特徴点識別情報と、2次元座標と、フラグと、3次元座標とを対応付ける。
時刻は、該当する画像データが撮影された時刻を示す。特徴点識別情報は、該当する時刻に撮影された画像データから抽出された特徴点を一意に識別する情報である。2次元座標は、画像データ上の特徴点の座標を示すものである。フラグは、特徴点が立体物の特徴点か否かを示す情報である。フラグが「オン」である場合には、特徴点が立体物の特徴点であることを示す。フラグが「オフ」である場合には、特徴点が立体物以外の特徴点であることを示す。立体物以外の特徴点は、例えば、路面模様の特徴点または背景の特徴点である。3次元座標は、特徴点に対応する空間上の3次元座標を示す。
移動量データ143は、時刻毎の車両の移動方向、移動速度が含まれる。
制御部150は、映像入力部151、移動量検出部152、輪郭線抽出部153、立体物候補検出部154、特徴点抽出部155、フロー量算出部156、修正部157、出力部158を有する。出力部158は、算出部の一例である。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
映像入力部151は、カメラ110から映像データ141を取得し、取得した映像データ141を記憶部140に格納する。映像入力部151は、取得した映像データ141がアナログの映像データである場合には、デジタルの映像データに変換し、記憶部140に格納する。
移動量検出部152は、車両の駆動装置に取り付けられたセンサから情報を取得することで、車両の移動量を検出する処理部である。移動量検出部152は、検出した移動量に関する情報を、移動量データ143に格納する。
輪郭線抽出部153は、映像データ141の各画像データから輪郭線を抽出する処理部である。輪郭線抽出部153は、各画像データの輪郭線の情報を、立体物候補検出部154に出力する。
輪郭線抽出部153は、画像データからエッジ抽出を行い、エッジ画像を生成する。例えば、輪郭線抽出部153は、Sobel等の一般的な微分オペレータを作用させて、微分処理によって得られるエッジ強度と予め定めたエッジ強度閾値とを比較し、エッジ強度閾値以上となるエッジを抽出する。
抽出対象となる輪郭線は垂直方向に写るため、輪郭線抽出部153は、横方向での細線化処理を行う。具体的には、輪郭線抽出部153は、抽出したエッジについて、隣接する横方向の画素2つのエッジ強度を比較して、ピーク値となればエッジ点とする細線化処理を行う。輪郭線抽出部153は、抽出したエッジ点を繋げることで、輪郭線を抽出する。
図6は、輪郭線抽出部の処理を示すフローチャートである。図6に示すように、輪郭線抽出部153は、未処理のエッジ点Aを選択する(ステップS10)。輪郭線抽出部153は、エッジ点Aの1ライン上の隣接画素に接続可能なエッジ点Bが存在するか否かを判定する(ステップS11)。
輪郭線抽出部153は、エッジ点Aの1ライン上の隣接画素に接続可能なエッジBが存在しない場合には(ステップS11,No)、ステップS19に移行する。一方、輪郭線抽出部153は、エッジ点Aの1ライン上の隣接画素に接続可能なエッジ点Bが存在する場合には(ステップS11,Yes)、エッジ点Bが複数であるか否かを判定する(ステップS12)。
輪郭線抽出部153は、エッジ点Bが複数でない場合には(ステップS12,No)、ステップS14に移行する。一方、輪郭線抽出部153は、エッジ点Bが複数である場合には(ステップS12,Yes)、最適点を複数のエッジ点Bから選択する(ステップS13)。ステップS13において、輪郭線抽出部153は、エッジ点Bのうち、エッジの強度および傾きが、エッジ点Aのエッジの強度および傾きに最も類似するものを、最適点として選択する。
輪郭線抽出部153は、選択したエッジ点Bの輪郭線番号が未登録でない場合には(ステップS14,No)、ステップS19に移行する。一方、輪郭線抽出部153は、選択したエッジ点Bの輪郭線番号が未登録である場合には(ステップS14,Yes)、エッジ点Aと同じライン上でエッジ点Bに接続可能なエッジ点Cが存在するか否かを判定する(ステップS15)。
輪郭線抽出部153は、エッジ点Bと同じライン上でエッジ点Bに接続可能なエッジ点Cが存在しない場合には(ステップS15,No)、エッジ点A,Bに、同一の輪郭線番号を割り当て(ステップS16)、ステップS19に移行する。
一方、輪郭線抽出部153は、エッジ点Bと同じライン上でエッジ点Bに接続可能なエッジ点Cが存在する場合には(ステップS15,Yes)、エッジ点Cがエッジ点Aよりも、エッジ点Bに接続するエッジ点として適切であるか否かを判定する(ステップS17)。
輪郭線抽出部153は、エッジ点Cがエッジ点Aよりも適切でない場合には(ステップS17,No)、ステップS16に移行する。例えば、輪郭線抽出部153は、エッジ点Bの強度および傾きが、エッジ点Cの強度および傾きよりも、エッジ点Aの強度および傾きに類似している場合に、エッジ点Cがエッジ点Aよりも適切でないと判定する。
輪郭線抽出部153は、エッジ点Cがエッジ点Aよりも適切である場合には(ステップS17,Yes)、エッジ点B,Cに同一の輪郭線番号を割り当てる(ステップS18)。
輪郭線抽出部153は、全エッジ点について処理が終了していない場合には(ステップS19,No)、ステップS10に移行する。輪郭線抽出部153は、全エッジ点について処理が終了した場合には(ステップS19,Yes)、処理を終了する。
図3の説明に戻る。立体物候補検出部154は、輪郭線の情報を基にして、立体物の範囲の候補を検出する処理部である。立体物候補検出部154は、画像データ上に一定サイズのグリッドを複数設定し、各グリッド内に含まれる輪郭線の数をカウントする。立体物候補検出部154は、グリッド内に含まれる輪郭線の数が閾値以上である場合には、該当するグリッドを、立体物の候補として検出する。立体物候補検出部154は、輪郭線の数をカウントする代わりに、輪郭線を構成するエッジ点の数をカウントすることで、立体物の候補を検出してもよい。以下の説明において、立体物の候補となるグリッドを、「立体物グリッド」と表記する。
立体物候補検出部154は、立体物グリッドを検出した後に、立体物グリッドの統合を行う。立体物候補検出部154は、隣接するグリッド同士が立体物グリッドである場合には、隣接する立体物グリッドを統合する。立体物候補検出部154は、立体物グリッド内に存在する輪郭線の全てを含む外接矩形を作成し、かかる外接矩形を立体物の範囲の候補として検出する。以下の説明において、立体物の範囲の候補を、「候補範囲」と表記する。立体物候補検出部154は、各画像データに含まれる各候補範囲の情報を、特徴点抽出部155、修正部157に出力する。
図7は、立体物候補検出部の処理を示すフローチャートである。図7に示すように、立体物候補検出部154は、グリッドを選択する(ステップS20)。立体物候補検出部154は、グリッド内の輪郭線の数をカウントする(ステップS21)。立体物候補検出部154は、グリッド内の輪郭線の数が閾値以上であるか否かを判定する(ステップS22)。
立体物候補検出部154は、グリッド内の輪郭線の数が閾値以上でない場合には(ステップS22,No)、ステップS20に移行する。立体物候補検出部154は、グリッド内の輪郭線の数が閾値以上である場合には(ステップS22,Yes)、該当グリッドを立体物グリッドに設定する(ステップS23)。
立体物候補検出部154は、全グリッドの探索が終了したか否かを判定する(ステップS24)。立体物候補検出部154は、全グリッドの探索が終了していない場合には(ステップS24,No)、ステップS20に移行する。立体物候補検出部154は、全グリッドの探索が終了した場合には(ステップS24,Yes)、立体物グリッドが存在するか否かを判定する(ステップS25)。
立体物候補検出部154は、立体物グリッドが存在しない場合には(ステップS25,No)、処理を終了する。一方、立体物候補検出部154は、立体物グリッドが存在する場合には(ステップS25,Yes)、隣接するグリッド同士が立体物グリッドである場合において、立体物グリッドを統合する(ステップS26)。
立体物候補検出部154は、同一立体物グリッド内の全ての輪郭線を含む外接矩形を作成する(ステップS27)。立体物候補検出部154は、外接矩形を、候補範囲として検出する(ステップS28)。
図3の説明に戻る。特徴点抽出部155は、画像データの候補範囲に含まれる特徴点を抽出する処理部である。例えば、特徴点抽出部155は、Harrisのコーナ検出を行うことで、コーナ点を特定する。特徴点抽出部155は、Harrisのコーナ検出以外のその他のコーナ点検出法に基づき、コーナ点を特定しても良い。以下の説明では、特徴点抽出部155が、コーナ検出法により検出したコーナ点を「特徴点」と表記する。
特徴点抽出部155は、候補範囲に含まれる特徴点の数が、所定数未満である場合には、特徴点抽出の条件を緩めて、再度特徴点を抽出する処理を繰り返し実行する。例えば、特徴点抽出部155が、Harrisのコーナ検出により特徴点を特定する場合には、ある点と周辺との自己相関性を算出し、自己相関性が閾値Sth未満である場合に、ある点を特徴点として特定する。このため、特徴点抽出部155は、より多くの特徴点を抽出するために、閾値Sthを上げることで、特徴点抽出の条件を緩める。特徴点抽出部155は、各候補範囲について、上記処理を繰り返し実行する。
特徴点抽出部155は、特徴点の情報を、特徴点テーブル142に登録する。例えば、特徴点の情報は、画像データの時刻と、特徴点識別情報と、2次元座標とを含む。
図8は、特徴点抽出部の処理を示すフローチャートである。図8に示すように、特徴点抽出部155は、候補範囲を選択する(ステップS30)。特徴点抽出部155は、候補範囲から特徴点を抽出する(ステップS31)。特徴点抽出部155は、候補範囲に含まれる特徴点の数をカウントする(ステップS32)。
特徴点抽出部155は、候補範囲に含まれる特徴点の数が閾値以上であるか否かを判定する(ステップS33)。特徴点抽出部155は、候補範囲に含まれる特徴点の数が閾値未満の場合には(ステップS33,No)、特徴点抽出の条件を緩めて、特徴点を再度抽出し(ステップS34)、ステップS32に移行する。
一方、特徴点抽出部155は、候補領域に含まれる特徴点の数が閾値以上である場合には(ステップS33,Yes)、特徴点の情報を、特徴点テーブル142に登録する(ステップS35)。特徴点抽出部155は、全ての候補範囲を選択していない場合には(ステップS36,No)、ステップS30に移行する。特徴点抽出部155は、全ての候補範囲を選択した場合には(ステップS36,Yes)、処理を終了する。
図3の説明に戻る。フロー量算出部156は、各特徴点について、観測フロー量と、仮想フロー量とを算出する処理部である。
フロー量算出部156が、観測フロー量を算出する処理の一例について説明する。フロー量算出部156は、特徴点テーブル142を参照し、時刻t-αの特徴点に対応する現時刻tの位置を特定する。αの値は、管理者が予め設定しておくものとする。フロー量算出部156は、時刻t-αの特徴点の周辺領域の画像をテンプレートとし、テンプレートと時刻t-αの画像データとのマッチング処理を行うことで、時刻t-αの特徴点に対応する時刻tの画像データの位置を特定する。
マッチング処理としては、一般的なテンプレートマッチングによって、最も照合度の高い位置を決定し、照合度が閾値以上であれば、照合に成功したと判定する。フロー量算出部156は、時刻t-αの特徴点の位置から、照合に成功した位置までの距離を、観測フロー量として算出する。例えば、テンプレートマッチングには、SAD(Sum of Abusolute Difference)、SSD(Sum of Squared Difference)などがある。
フロー量算出部156は、移動量データ143と、時刻t-αの特徴点の位置と、照合に成功した時刻tの特徴点の位置との関係から、時刻tの特徴点の3次元座標を算出する。フロー量算出部156は、時刻tの特徴点の3次元座標の情報を、特徴点テーブル142に登録する。
フロー量算出部156は、特徴点の観測フロー量が閾値未満である場合には、特徴点が背景の特徴点であると判定する。フロー量算出部156は、特徴点テーブル142を参照し、背景の特徴点であると判定した特徴点に対応するフラグを「オフ」に設定する。例えば、特徴点テーブル142において、各特徴点のフラグの初期値を「オン」とする。
フロー量算出部156は、特徴点テーブル142に登録された各特徴点について、上記処理を繰り返し実行する。フロー量算出部156は、フラグが「オン」となる特徴点について、後述する仮想フロー量を算出する処理を実行する。
フロー量算出部156が、仮想フロー量を算出する処理の一例について説明する。フロー量算出部156は、時刻t-αの特徴点の位置と、時刻t-α〜時刻tの移動量とを基にして、仮想フロー量を算出する。フロー量算出部156は、時刻t-α〜時刻tの移動量の情報を、移動量データ143から取得する。
続いて、フロー量算出部156は、特徴点に対応する観測フロー量と、仮想フロー量との差を基にして、特徴点が路面模様の特徴点であるか、立体物の特徴点であるのかを判定する。フロー量算出部156は、特徴点に対応する観測フロー量と、仮想フロー量との差が閾値以上である場合には、該当する特徴点が立体物の特徴点であると判定する。一方、フロー量算出部156は、同一の特徴点に対応する観測フロー量と、仮想フロー量との差が閾値未満である場合には、該当する特徴点が路面模様の特徴点であると判定する。以下の説明では適宜、立体物の特等点を「立体物特徴点」と表記し、路面模様の特徴点を「路面特徴点」と表記する。
フロー量算出部156は、特徴点テーブル142を参照し、路面特徴点であると判定した特徴点に対応するフラグを「オフ」に設定する。フロー量算出部156は、立体物特徴点であると判定した特徴点に対応するフラグを「オン」のままとする。
続いて、フロー量算出部156は、特徴点テーブル142の更新処理を行う。例えば、フロー量算出部156は、テンプレートマッチングにより照合に成功した時刻tの位置と、時刻tの特徴点の位置とを比較する。フロー量算出部156は、各特徴点の位置が重複しない場合には、照合に成功した時刻tの位置を、新たな特徴点として、特徴点テーブル142に登録する。
図9は、フロー量算出部の処理を示すフローチャートである。図9に示すように、フロー量算出部156は、時刻t-αの画像データに含まれる特徴点について現時刻tの画像データで一致する位置を算出する(ステップS40)。フロー量算出部156は、照合度が閾値以上であるか否かを判定する(ステップS41)。
フロー量算出部156は、照合度が閾値以上でない場合には(ステップS41,No)、ステップS49に移行する。フロー量算出部156は、照合度が閾値以上である場合には(ステップS41,Yes)、特徴点の観測フロー量および3次元座標を算出する(ステップS42)。
フロー量算出部156は、観測フロー量が閾値以上でない場合には(ステップS43,No)、特徴点を背景特徴点と判定し、フラグをオフにし(ステップS44)、ステップS49に移行する。
一方、フロー量算出部156は、観測フロー量が閾値以上である場合には(ステップS43,Yes)、仮想フロー量を算出する(ステップS45)。フロー量算出部156は、仮想フロー量と観測フロー量との差が閾値以上であるか否かを判定する(ステップS46)。
フロー量算出部156は、仮想フロー量と観測フロー量との差が閾値以上でない場合には(ステップS46,No)、特徴点を路面特徴点と判定し、フラグをオフにし(ステップS47)、ステップS49に移行する。
一方、フロー量算出部156は、仮想フロー量と観測フロー量との差が閾値以上である場合には(ステップS46,Yes)、特徴点を立体物特徴点と判定し、フラグをオンにし(ステップS48)、ステップS49に移行する。
フロー量算出部156は、全特徴点について処理が完了していない場合には(ステップS49,No)、ステップS40に移行する。一方、フロー量算出部156は、全特徴点について処理が完了した場合には(ステップS49,Yes)、特徴点テーブル142を更新する(ステップS50)。
図3の説明に戻る。修正部157は、立体物特徴点を基にして、候補領域を修正する処理部である。修正部157は、最終的な立体物の候補領域の情報を、出力部158に出力する。
修正部157は、立体物候補検出部154と同様にして、グリッドを複数設定し、あるグリッドを選択する。修正部157は、選択したグリッドに含まれる立体物特徴点を、特徴点テーブル142から取得し、取得した立体物特徴点の外接矩形を特定する。以下の説明では、修正部157が特定した外接矩形を「生成領域」と表記する。特徴点テーブル142において、立体物特徴点となる特徴点のフラグは「オン」となっている。
修正部157は、同一のグリッドから特定された候補領域と、生成領域とを比較する。修正部157は、候補領域と生成領域との差が閾値以上である場合には、候補領域を、生成領域に合わせて修正する。
図10および図11は、修正部の処理の一例を説明するための図である。図10に示す例では、候補領域30aと、生成領域30bとが示される。候補領域30aと、生成領域30bとの差が閾値以上であるため、修正部157は、候補領域30aを、生成領域30bに合わせて修正する。
図11に示す例では、候補領域31aと、生成領域31bとが示される。候補領域31aと、生成領域31bとの差が閾値以上であるため、修正部157は、候補領域31aを、生成領域31bに合わせて修正する。
図12は、修正部の処理を示すフローチャートである。図12に示すように、修正部157は、グリッド内の複数の立体物特徴点を特定する(ステップS60)。修正部157は、複数の立体物特徴点に外接する生成領域を設定する(ステップS61)。
修正部157は、生成領域と候補領域とを比較する(ステップS62)。修正部157は、差が閾値以上でない場合には(ステップS63,No)、ステップS65に移行する。修正部157は、差が閾値以上である場合には(ステップS63,Yes)、候補領域を生成領域に合わせて修正する(ステップS64)。
修正部157は、全ての候補領域について処理が終了していない場合には(ステップS65,No)、ステップS60に移行する。修正部157は、全ての候補領域について処理が終了した場合には(ステップS65,Yes)、処理を終了する。
出力部158は、車両から立体物までの距離、立体物の領域を特定し、表示部130に表示させる処理部である。出力部158は、立体物の候補領域に含まれる立体物特徴点の情報を、特徴点テーブル142から取得し、立体物の3次元位置を特定する。例えば、候補領域に含まれる立体物特徴点の3次元座標の平均値を、立体物の3次元位置としても良いし、立体物特徴点のうち、車両に最も近い立体物特徴点の3次元位置を、立体物の3次元位置としても良い。また、出力部158は、立体物の領域の情報として、候補領域をそのまま用いても良いし、候補領域の幅のみの情報を出力しても良い。
車両の3次元位置は、どのように算出しても良い。例えば、出力部158が、走行開始位置と、移動量データ143とを用いて、車両の3次元座標を算出しても良いし、GPS(Global Positioning System)機能を用いて、車両の3次元位置を算出しても良い。
図13は、出力部の処理を示すフローチャートである。図13に示すように、出力部158は、候補領域に含まれる立体物特徴点の情報を取得する(ステップS70)。出力部158は、立体物の3次元座標を算出する(ステップS71)。出力部158は、立体物の幅を算出する(ステップS72)。出力部158は、車両から立体物までの距離、幅を出力する(ステップS73)。
次に、本実施例に係る物体検出装置100の処理手順について説明する。図14は、本実施例に係る物体検出装置の処理手順を示すフローチャートである。図14に示すように、物体検出装置100の映像入力部151は、映像データ141を取得する(ステップS101)。
物体検出装置100の輪郭線抽出部153は、輪郭線を抽出する(ステップS102)。ステップS102の具体的な処理手順は、図6に示したフローチャートに対応する。
物体検出装置100の立体物候補抽出部154は、立体物の候補領域を検出する(ステップS103)。ステップS103の具体的な処理手順は、図7に示したフローチャートに対応する。
物体検出装置100の特徴点抽出部155は、特徴点を抽出する(ステップS104)。ステップS104の具体的な処理手順は、図8に示したフローチャートに対応する。
物体検出装置100のフロー量算出部156は、フロー量を算出する(ステップS105)。ステップS105の具体的な処理手順は、図9に示したフローチャートに対応する。
物体検出装置100の修正部157は、立体物の候補領域を修正する(ステップS106)。ステップS106の具体的な処理手順は、図12に示したフローチャートに対応する。
物体検出装置100の出力部158は、結果を出力する(ステップS107)。ステップS107の具体的な処理手順は、図13に示したフローチャートに対応する。
物体検出装置100は、処理を継続する場合には(ステップS108,Yes)、ステップS101に移行する。一方、物体検出装置100は、処理を継続しない場合には(ステップS108,No)、処理を終了する。
次に、本実施例に係る物体検出装置100の効果について説明する。物体検出装置100は、立体物の候補領域から所定数以上の特徴点を抽出し、各特徴点の観測フロー量と仮想フロー量とを基にして、立体物の特徴点を特定する。そして、物体検出装置100は、立体物の特徴点の外接矩形に合わせて、立体物の候補領域を修正する。これにより、画像データの立体物の領域を精度良く検出できるため、立体物までの距離、幅を正しく推定することができる。
物体検出装置100は、特徴点に対する観測フロー量と仮想フロー量との差が閾値以上である場合に、特徴点が立体物の特徴点であると特定する。このため、背景の特徴点、路面模様の特徴点等が混在する特徴点から、立体物の特徴点を適切に検出することができる。例えば、特徴点の過剰検出を抑止し、立体物以外の領域を、立体物として検出することを抑止することができる。
物体検出装置100は、立体物の候補領域と、生成領域との差が閾値以上である場合に、候補領域を生成領域に合わせて修正する。このため、全ての候補領域から修正する候補領域を選択できるので、処理負荷を軽減することができる。
物体検出装置100は、物体の候補領域に含まれる特徴点の数が閾値以上となるまで、特徴点の条件を緩めて再度特徴点を抽出する処理を実行する。このため、特徴点の数が少ないことによる精度低下を抑止することができる。
なお、本実施例に係る物体検出装置100の説明では、移動体の一例として、車両を用いて説明したが、移動体は車両以外のものであっても良い。例えば、移動体は、船、電車、フォークリフト、ロボット、ドローン等であっても良い。
次に、上記実施例に示した物体検出装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図15は、物体検出装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図15に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置205と、カメラ206を有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。そして、各装置201〜208は、バス209に接続される。
ハードディスク装置208は、映像入力プログラム208a、移動量検出プログラム208b、輪郭線抽出プログラム208c、立体物候補検出プログラム208d、特徴点抽出プログラム208eを有する。ハードディスク装置208は、フロー量算出プログラム208f、修正プログラム208g、出力プログラム208hを有する。
CPU201は、映像入力プログラム208a、移動量検出プログラム208b、輪郭線抽出プログラム208c、立体物候補検出プログラム208d、特徴点抽出プログラム208eを読み出してRAM207に展開する。CPU201は、フロー量算出プログラム208f、修正プログラム208g、出力プログラム208hを読み出してRAM207に展開する。
映像入力プログラム208aは、映像入力プロセス207aとして機能する。移動量検出プログラム208bは、移動量検出プロセス207bとして機能する。輪郭線抽出プログラム208cは、輪郭線抽出プロセス207cとして機能する。立体物候補検出プログラム208dは、立体物候補検出プロセス207dとして機能する。特徴点抽出プログラム208eは、特徴点抽出プロセス207eとして機能する。フロー量算出プログラム208fは、フロー量算出プロセス207fとして機能する。修正プログラム208gは、修正プロセス207gとして機能する。出力プログラム208hは、出力プロセス207hとして機能する。
映像入力プロセス207aの処理は、映像入力部151の処理に対応する。移動量検出プロセス207bの処理は、移動量検出部152の処理に対応する。輪郭線抽出プロセス207cの処理は、輪郭線抽出部153の処理に対応する。立体物候補検出プロセス207dの処理は、立体物候補検出部154の処理に対応する。特徴点抽出プロセス207eの処理は、特徴点抽出部155の処理に対応する。フロー量検出プロセス207fの処理は、フロー量算出部156の処理に対応する。修正プロセス207gの処理は、修正部157の処理に対応する。出力プロセス207hの処理は、出力部158の処理に対応する。
なお、各プログラム208a〜208hについては、必ずしも最初からハードディスク装置208に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム208a〜208hを読み出して実行するようにしても良い。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)移動体に設置されたカメラによって撮影された画像の輪郭線に基づき特定された物体の範囲から所定数以上の特徴点を抽出する特徴点抽出部と、
第1時刻に撮影された画像の第1特徴点に対応する第2時刻に撮影された画像の第2特徴点を特定し、前記第1特徴点から第2特徴点までの第1フロー量と、前記第1時刻から前記第2時刻までに予測される前記第1特徴点の第2フロー量とを基にして、前記物体の範囲を修正する修正部と、
前記修正部に修正された前記物体の範囲に基づいて、前記カメラから前記物体までの距離および前記物体の幅を算出する算出部と、
を有することを特徴とする物体検出装置。
(付記2)前記修正部は、前記第1フロー量と前記第2フロー量との差が閾値以上である場合に特徴点が物体の特徴点であると判定する処理を、前記物体の範囲に含まれる各特徴点に対して実行し、物体の特徴点を含む矩形領域に合わせて前記物体の範囲を修正することを特徴とする付記1に記載の物体検出装置。
(付記3)前記修正部は、前記物体の範囲と、前記矩形領域との差が閾値以上である場合に、前記物体の範囲を前記矩形領域に合わせて修正することを特徴とする付記2に記載の物体検出装置。
(付記4)前記特徴点抽出部は、前記物体の範囲に含まれる特徴点の数が所定数未満である場合に、特徴点の条件を緩めて再度特徴点を抽出することを特徴とする付記1、2または3に記載の物体検出装置。
(付記5)コンピュータが実行する物体検出方法であって、
移動体に設置されたカメラによって撮影された画像の輪郭線に基づき特定された物体の範囲から所定数以上の特徴点を抽出し、
第1時刻に撮影された画像の第1特徴点に対応する第2時刻に撮影された画像の第2特徴点を特定し、前記第1特徴点から第2特徴点までの第1フロー量と、前記第1時刻から前記第2時刻までに予測される前記第1特徴点の第2フロー量とを基にして、前記物体の範囲を修正し、
前記修正部に修正された前記物体の範囲に基づいて、前記カメラから前記物体までの距離および前記物体の幅を算出する
処理を実行することを特徴とする物体検出方法。
(付記6)前記修正する処理は、前記第1フロー量と前記第2フロー量との差が閾値以上である場合に特徴点が物体の特徴点であると判定する処理を、前記物体の範囲に含まれる各特徴点に対して実行し、物体の特徴点を含む矩形領域に合わせて前記物体の範囲を修正することを特徴とする付記5に記載の物体検出方法。
(付記7)前記修正する処理は、前記物体の範囲と、前記矩形領域との差が閾値以上である場合に、前記物体の範囲を前記矩形領域に合わせて修正することを特徴とする付記6に記載の物体検出方法。
(付記8)前記特徴点を抽出する処理は、前記物体の範囲に含まれる特徴点の数が所定数未満である場合に、特徴点の条件を緩めて再度特徴点を抽出することを特徴とする付記5、6または7に記載の物体検出方法。
100 物体検出装置
110 カメラ
120 入力部
130 表示部
140 記憶部
141 映像データ
142 特徴点テーブル
143 移動量データ
150 制御部
151 映像入力部
152 移動量検出部
153 輪郭線抽出部
154 立体物候補検出部
155 特徴点抽出部
156 フロー量算出部
157 修正部
158 出力部

Claims (5)

  1. 移動体に設置されたカメラによって撮影された画像の輪郭線に基づき特定された物体の範囲から所定数以上の特徴点を抽出する特徴点抽出部と、
    第1時刻に撮影された画像の第1特徴点に対応する第2時刻に撮影された画像の第2特徴点を特定し、前記第1特徴点から第2特徴点までの第1フロー量と、前記第1時刻から前記第2時刻までに予測される前記第1特徴点の第2フロー量とを基にして、前記物体の範囲を修正する修正部と、
    前記修正部に修正された前記物体の範囲に基づいて、前記カメラから前記物体までの距離および前記物体の幅を算出する算出部と、
    を有することを特徴とする物体検出装置。
  2. 前記修正部は、前記第1フロー量と前記第2フロー量との差が閾値以上である場合に特徴点が物体の特徴点であると判定する処理を、前記物体の範囲に含まれる各特徴点に対して実行し、物体の特徴点を含む矩形領域に合わせて前記物体の範囲を修正することを特徴とする請求項1に記載の物体検出装置。
  3. 前記修正部は、前記物体の範囲と、前記矩形領域との差が閾値以上である場合に、前記物体の範囲を前記矩形領域に合わせて修正することを特徴とする請求項2に記載の物体検出装置。
  4. 前記特徴点抽出部は、前記物体の範囲に含まれる特徴点の数が所定数未満である場合に、特徴点の条件を緩めて再度特徴点を抽出することを特徴とする請求項1、2または3に記載の物体検出装置。
  5. コンピュータが実行する物体検出方法であって、
    移動体に設置されたカメラによって撮影された画像の輪郭線に基づき特定された物体の範囲から所定数以上の特徴点を抽出し、
    第1時刻に撮影された画像の第1特徴点に対応する第2時刻に撮影された画像の第2特徴点を特定し、前記第1特徴点から第2特徴点までの第1フロー量と、前記第1時刻から前記第2時刻までに予測される前記第1特徴点の第2フロー量とを基にして、前記物体の範囲を修正し、
    前記修正部に修正された前記物体の範囲に基づいて、前記カメラから前記物体までの距離および前記物体の幅を算出する
    処理を実行することを特徴とする物体検出方法。
JP2016234913A 2016-12-02 2016-12-02 物体検出装置および物体検出方法 Pending JP2018092354A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016234913A JP2018092354A (ja) 2016-12-02 2016-12-02 物体検出装置および物体検出方法
US15/807,651 US20180158203A1 (en) 2016-12-02 2017-11-09 Object detection device and object detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016234913A JP2018092354A (ja) 2016-12-02 2016-12-02 物体検出装置および物体検出方法

Publications (1)

Publication Number Publication Date
JP2018092354A true JP2018092354A (ja) 2018-06-14

Family

ID=62240076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016234913A Pending JP2018092354A (ja) 2016-12-02 2016-12-02 物体検出装置および物体検出方法

Country Status (2)

Country Link
US (1) US20180158203A1 (ja)
JP (1) JP2018092354A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6844235B2 (ja) * 2016-12-08 2021-03-17 富士通株式会社 距離測定装置および距離測定方法
JP6589926B2 (ja) * 2017-04-07 2019-10-16 トヨタ自動車株式会社 物体検出装置
CN110517485B (zh) * 2019-08-09 2021-05-07 大连理工大学 一种基于时段划分的短时交通流预测方法
KR20210085256A (ko) * 2019-12-30 2021-07-08 삼성전자주식회사 사용자의 위치를 제공하기 위한 전자 장치 및 방법

Also Published As

Publication number Publication date
US20180158203A1 (en) 2018-06-07

Similar Documents

Publication Publication Date Title
JP5870273B2 (ja) 物体検出装置、物体検出方法及びプログラム
JP5699788B2 (ja) スクリーン領域検知方法及びシステム
JP4822766B2 (ja) 路面標示認識装置及びシステム
JP5943084B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN108986152B (zh) 一种基于差分图像的异物检测方法及装置
JP2018092354A (ja) 物体検出装置および物体検出方法
JP6515704B2 (ja) 車線検出装置及び車線検出方法
JP2013215549A (ja) 画像処理装置、画像処理プログラムおよび画像処理方法
JP6750385B2 (ja) 画像処理プログラム、画像処理方法および画像処理装置
JP2008288684A (ja) 人物検出装置及びプログラム
JP2019067358A (ja) 推定プログラム、推定方法および推定システム
JP2008035301A (ja) 移動体追跡装置
Cerri et al. Free space detection on highways using time correlation between stabilized sub-pixel precision IPM images
JP7258632B2 (ja) 物体検出装置
JP6620607B2 (ja) 画像解析プログラム、画像解析装置、及び画像解析方法
JP2018137667A (ja) カメラキャリブレーション方法、プログラムおよび装置
JP5829155B2 (ja) 歩行者検出装置及びプログラム
JP5708305B2 (ja) 画像認識装置、画像認識方法及び画像認識用コンピュータプログラム
JP2007206963A (ja) 画像処理装置及び画像処理方法及びプログラム及び記憶媒体
JP2018059767A (ja) 画像処理装置、画像処理方法およびプログラム
CN112924707A (zh) 利用影像追踪的车辆速度检测装置及方法
JP6464706B2 (ja) 物体検出方法、物体検出プログラムおよび物体検出装置
JP2015215235A (ja) 物体検出装置及び物体検出方法
JP6121768B2 (ja) 画像検出装置及び制御プログラム並びに画像検出方法
JP2014137629A (ja) 画像検出装置及び制御プログラム並びに画像検出方法