(57)【要約】【課題】移動体から対象物までの距離を正確に測定する。【解決手段】距離測定装置１００は、抽出部１２０ｂと、探索部１２０ｃと、測定部１２０ｄとを有する。抽出部１２０ｂは、移動体に搭載された単一のカメラ５０により撮影された画像データから複数のエッジ線分を検出し、検出した複数のエッジ線分のうち、所定の対象物の特徴を有する複数のエッジ線分を特定する。探索部１２０ｃは、抽出部１２０ｂにより特定された複数のエッジ線分のうち、最も下方に位置するエッジ線分の座標を探索する。測定部１２０ｄは、探索部１２０ｃに探索されたエッジ線分の座標とカメラ５０のパラメータとを基にして、移動体から所定の対象物までの距離を測定する。【選択図】図１
2018096709.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載された単一のカメラにより撮影された画像データから複数のエッジ線分を検出し、検出した複数のエッジ線分のうち、所定の対象物の特徴を有する複数のエッジ線分を特定する抽出部と、
前記抽出部により特定された複数のエッジ線分のうち、最も下方に位置するエッジ線分の座標を探索する探索部と、
前記探索部に探索されたエッジ線分の座標と前記カメラのパラメータとを基にして、前記移動体から前記所定の対象物までの距離を測定する測定部と
を有することを特徴とする距離測定装置。
【請求項２】
前記抽出部は、前記画像データに含まれる複数のエッジ線分と、前記カメラの搭載位置に応じて予め設定される水平線とを比較して、前記水平線と交差するエッジ線分を、前記所定の対象物の特徴を有するエッジ線分として特定することを特徴とする請求項１に記載の距離測定装置。
【請求項３】
前記抽出部は、複数のエッジ線分から２つのエッジ線分を選択し、選択した２つのエッジ線分間の上側の距離よりも下側の距離の方が小さい場合、または、選択した２つのエッジ線分が平行である場合に、選択した２つのエッジ線分を、所定の対象物の特徴を有するエッジ線分として特定することを特徴とする請求項１または２に記載の距離測定装置。
【請求項４】
前記抽出部は、前記カメラにより撮影された過去の画像データと現在の画像データとの差分画像を基にして、前記所定の対象物が存在する探索領域を特定し、画像データ上の探索領域から、複数のエッジ線分を検出することを特徴とする請求項１、２または３に記載の距離測定装置。
【請求項５】
前記抽出部は、前記カメラにより撮影された過去の画像データ上の特徴点の位置と前記特徴点に対応する現在の画像データ上の位置を基にしてフロー量を算出する処理を、特徴点毎に実行し、フロー量の類似する特徴点の位置を含む領域を特定し、特定した領域から複数のエッジ線分を検出することを特徴とする請求項１、２または３に記載の距離測定装置。
【請求項６】
前記抽出部は、前記所定の対象物の特徴を学習し、学習した特徴と前記カメラにより撮影された画像データとを基にして、前記所定の対象物が存在する領域を特定し、特定した領域から複数のエッジ線分を検出することを特徴とする請求項１、２または３に記載の距離測定装置。
【請求項７】
コンピュータが実行する距離測定方法であって、
移動体に搭載された単一のカメラにより撮影された画像データから複数のエッジ線分を検出し、検出した複数のエッジ線分のうち、所定の対象物の特徴を有する複数のエッジ線分を特定し、
特定した複数のエッジ線分のうち、最も下方に位置するエッジ線分の座標を探索し、
探索したエッジ線分の座標と前記カメラのパラメータとを基にして、前記移動体から前記所定の対象物までの距離を測定する
処理を実行することを特徴とする距離測定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、距離測定装置等に関する。
【背景技術】
【０００２】
車両に搭載されたカメラの画像データを基にして、車両周辺に位置する対象物を検知すると共に、対象物と車両との距離を算出することで、車両が対象物と衝突しないように車両の移動を制御する技術が求められている。また、カメラのコストや搭載位置の制約等から、単眼カメラを用いることが好ましい。
【０００３】
例えば、単眼カメラで撮影された画像データから対象物を検知する従来技術として、機械学習、オプティカルフローがある。また、対象物と車両との距離を算出する従来技術として、移動ステレオ法、接地位置判定法がある。
【０００４】
例えば、機械学習には、Deep  LearningやHoG（Histograms  of  Oriented  Gradients）特徴量を用いるものがある。機械学習では、予め検知する対象物の画像データを収集しておき、対象物の特徴量を算出して識別器として保持する。そして、機械学習では、画像データと識別器とを比較して、識別器内の特徴量に合致するものがあるか否かのマッチングを行うことで、画像データに含まれる対象物を検知する。
【０００５】
オプティカルフローは、画像データ内から特徴点を検出し、特徴点の座標変動を基にして、対象物を特定するものである。
【０００６】
移動ステレオ法は、車両の移動量と、車両移動前後の画像データとを基にして、車両から対象物までの距離を測距するものである。移動ステレオ法では、車両の移動量を正確に特定でき、かつ、対象物が動いていない場合に、高精度に距離を測距することができる。
【０００７】
接地位置判定法は、前段階で機械学習またはオプティカルフローを用いて、画像データから対象物を検知し、検出した対象物の画像上の座標と、ディストーションテーブルとを基にして、幾何学的に、車両と対象物との距離を算出するものである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−２１１５７８号公報
【特許文献２】国際公開第２００８／０６５７２９号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来技術では、移動体から対象物までの距離を正確に測定することができないという問題がある。
【００１０】
移動ステレオ法は、車両の移動量を正確に特定でき、かつ、対象物が動いていないことを前提に距離を特定するものである。このため、移動ステレオ法では、車両の移動量を正確に特定できない場合や、対象物が歩行者である場合には、距離を正確に特定することができない。
【００１１】
接地位置判定法は、対象物を歩行者とした場合に、靴底と路面との接地位置を正しく特定できていれば、高精度に距離を測定できる。しかし、接地位置の特定が数画素ずれると、対象物までの距離によっては、数十センチの測距誤差が生じる。
【００１２】
図１４は、測距誤差の一例を示す図である。図１４では一例として、画像データ上の接地位置が１画素ずれた場合における測距誤差を示す。図１４の縦軸は測距誤差を示すものであり、横軸は、移動体と対象物とのＸ方向の距離を示すものである。移動体と対象物とのｙ軸方向の距離は、異なる線分によって示す。例えば、移動体と対象物とについて、ｘ軸方向の距離が「０ｍｍ」であり、Ｙ方向の距離が「５０００ｍｍ」とすると、測距誤差は、「３５０ｍｍ」となる。
【００１３】
１つの側面では、本発明は、移動体から対象物までの距離を正確に測定することができる距離測定装置および距離測定方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
第１の案では、距離測定装置は、抽出部と、探索部と、測定部とを有する。抽出部は、移動体に搭載された単一のカメラにより撮影された画像データから複数のエッジ線分を検出し、検出した複数のエッジ線分のうち、所定の対象物の特徴を有する複数のエッジ線分を特定する。探索部は、抽出部により特定された複数のエッジ線分のうち、最も下方に位置するエッジ線分の座標を探索する。測定部は、探索部に探索されたエッジ線分の座標とカメラのパラメータとを基にして、移動体から所定の対象物までの距離を測定する。
【発明の効果】
【００１５】
移動体から対象物までの距離を正確に測定することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本実施例１に係る距離測定装置の構成を示す機能ブロック図である。
【図２】図２は、バッファのデータ構造の一例を示す図である。
【図３】図３は、カメラパラメータのデータ構造の一例を示す図である。
【図４】図４は、図３に示したカメラパラメータを説明するための図である。
【図５】図５は、角度決定テーブルのデータ構造の一例を示す図である。
【図６】図６は、角度決定テーブルの距離Ｄｙと画角θｙとを説明するための図である。
【図７】図７は、本実施例１に係る抽出部の処理を説明するための図である。
【図８】図８は、本実施例１に係る探索部の処理を説明するための図（１）である。
【図９】図９は、本実施例１に係る探索部の処理を説明するための図（２）である。
【図１０】図１０は、本実施例１に係る距離測定装置の処理手順を示すフローチャートである。
【図１１】図１１は、本実施例２に係る距離測定装置の構成を示す機能ブロック図である。
【図１２】図１２は、本実施例２に係る距離測定装置の処理手順を示すフローチャートである。
【図１３】図１３は、距離測定装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図１４】図１４は、測距誤差の一例を示す図である。
【発明を実施するための形態】
【００１７】
以下に、本願の開示する距離測定装置および距離測定方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１８】
図１は、本実施例１に係る距離測定装置の構成を示す機能ブロック図である。図１に示すように、この距離測定装置１００は、カメラ５０およびカーナビゲーション６０に接続される。
【００１９】
カメラ５０は、車両の後方側に搭載され、所定のフレームレートで、車両の後方の画像を撮影するカメラである。カメラ５０は、撮影した画像のデータを、距離測定装置１００に出力する。以下の説明では、カメラ５０が撮影した画像のデータを、画像データと表記する。
【００２０】
カーナビゲーション６０は、車両の現在位置の情報や、カメラ５０に撮影された画像データに含まれる対象物の情報を表示装置に表示する装置である。例えば、カーナビゲーション６０は、距離測定装置１００から出力される対象物までの距離を、表示装置に表示する。本実施例１では一例として、対象物を歩行者として説明を行うが、これに限定されるものではない。
【００２１】
距離測定装置１００は、記憶部１１０と、制御部１２０とを有する。記憶部１１０は、バッファ１１０ａと、カメラパラメータ１１０ｂと、角度決定テーブル１１０ｃとを有する。記憶部１１０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００２２】
バッファ１１０ａは、カメラ５０に撮影された画像データを格納するバッファである。図２は、バッファのデータ構造の一例を示す図である。図２に示すように、このバッファは、フレーム番号と、画像データとを対応付ける。フレーム番号は、画像データを一意に識別する情報である。画像データは、カメラ５０に撮影された画像のデータである。
【００２３】
カメラパラメータ１１０ｂは、車両に搭載されたカメラ５０に関する各種の情報を有する。図３は、カメラパラメータのデータ構造の一例を示す図である。図３に示すように、このカメラパラメータ１１０ｂは、カメラの横位置ｄｘ、縦位置ｄｙ、高さｄｚ、俯角θ、パン角ψ、回転角ρを有する。
【００２４】
図４は、図３に示したカメラパラメータを説明するための図である。図４に示す例では、車両５の後方にカメラ５０が搭載されている。例えば、車両５の後輪６の中心６ａを基準点とし、ｘ軸、ｙ軸、ｚ軸は、中心６ａを通るものとする。図４に示す各符号は、図３に示した各符号に対応する。なお、回転角ρの図示は省略する。
【００２５】
角度決定テーブル１１０ｃは、画像データ上における画像中心から対象物までの距離と、カメラ５０の画角との関係を定義した情報である。図５は、角度決定テーブルのデータ構造の一例を示す図である。図５に示すように、この角度決定テーブル１１０ｃは、画像中心からの距離Ｄｙと、画角θｙとを対応付ける。以下において、距離Ｄｙおよび画角θｙについて説明する。
【００２６】
図６は、角度決定テーブルの距離Ｄｙと画角θｙとを説明するための図である。例えば、画像データ２０の画像中心を位置２０ａとし、画像データ２０上に存在する対象物１０の最下端を位置１０ａとする。画像データ２０上における位置２０ａから位置１０ａまでの距離がＤｙとなる。また、角度決定テーブル１１０ｃにおいて、距離Ｄｙに対応する画角をθｙとすると、図６に示す光軸５０ａと線分５０ｂとのなす角がθｙとなる。線分５０ｂは、実空間において、カメラ５０と最下端１０ａとを通る線分である。
【００２７】
図１の説明に戻る。制御部１２０は、受付部１２０ａと、抽出部１２０ｂと、探索部１２０ｃと、測定部１２０ｄと、出力部１２０ｅとを有する。制御部１２０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１２０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。また、制御部１２０は、車載ＥＣＵ（Engine  Control  Unit）であっても良い。
【００２８】
受付部１２０ａは、カメラ５０から画像データを受け付ける処理部である。受付部１２０ａは、カメラ５０から画像データを受け付ける度に、フレーム番号と対応付けて、画像データを、バッファ１１０ａに格納する。
【００２９】
抽出部１２０ｂは、バッファ１１０ａから画像データを取得し、取得した画像データから複数のエッジ線分を検出する。抽出部１２０ｂは、検出した複数のエッジ線分のうち、所定の対象物の特徴を有する複数のエッジ線分を特定する。本実施例１では一例として、所定の対象物を「歩行者」とする。抽出部１２０ｂは、特定した対象物の特徴を有するエッジ線分の情報を、探索部１２０ｃに出力する。抽出部１２０ｂは、バッファ１１０ａに格納された各画像データに対して、上記処理を繰り返し実行する。
【００３０】
抽出部１２０ｂが、画像データから複数のエッジ線分を検出する処理の一例について説明する。抽出部１２０ｂは、画像データに対して、Sobelフィルタやラプラシアンフィルタを用いることで、エッジ画像を生成する。抽出部１２０ｂは、エッジ画像に含まれる各エッジ線分を、そのまま検出しても良いし、下位の処理を行っても良い。例えば、抽出部１２０ｂは、エッジ画像に含まれる複数のエッジ線分を比較し、エッジ線分の角度が類似し、かつ、エッジ線分の距離が閾値未満となるエッジ線分の組を統合する処理を繰り返し実行しても良い。また、抽出部１２０ｂは、長さが閾値未満となるエッジ線分を、ノイズとして取り除いても良い。
【００３１】
抽出部１２０ｂが、検出した複数のエッジ線分から、対象物の特徴を有するエッジ線分を特定する処理の一例について説明する。抽出部１２０ｂは、カメラパラメータ１１０ｂの高さｄｚに応じて予め設定される水平線と複数のエッジ線分とを比較し、水平線と交差するエッジ線分を、対象物の特徴を有するエッジ線分の候補として選択する。以下の説明では、対象物の特徴を有するエッジ線分の候補を、「候補エッジ」と表記する。
【００３２】
抽出部１２０ｂは、複数の候補エッジから２つの候補エッジのペアを選択する。抽出部１２０ｂは、候補エッジのペア間の上側の距離よりも下側の距離の方が小さい場合、または、候補エッジのペアが平行である場合に、候補エッジのペアを、対象物の特徴と有するエッジ線分として特定する。
【００３３】
図７は、本実施例１に係る抽出部の処理を説明するための図である。図７の候補エッジのペア１ａ，１ｂについて説明する。候補エッジ１ａと候補エッジ１ｂとを比較すると、上側の距離１ｃよりも下側の距離１ｄの方が小さい。このため、抽出部１２０ｂは、候補エッジ１ａと候補エッジ１ｂとを、対象物の特徴を有するエッジ線分として特定する。
【００３４】
図７の候補エッジペア２ａ，２ｂについて説明する。候補エッジ２ａと候補エッジ２ｂとを比較すると、上側の距離２ｃよりも下側の距離２ｄの方が大きい。このため、抽出部１２０ｂは、候補エッジ２ａと候補エッジ２ｂとを、対象物の特徴を有するエッジ線分から除外する。抽出部１２０ｂは、候補エッジのペアについて上記処理を繰り返し実行することで、対象物の特徴を有するエッジ線分を特定する。
【００３５】
図１の説明に戻る。探索部１２０ｃは、抽出部１２０ｂから対象物の特徴を有するエッジ線分に基づいて、最も下方に位置するエッジ線分の座標を探索する処理部である。例えば、探索部１２０ｃは、複数のエッジ線分の内、基も下方に位置するエッジ線分を選択し、選択したエッジ線分の最下端の座標を探索する。探索部１２０ｃは、探索したエッジ線分の最下端の座標の情報を、測定部１２０ｄに出力する。
【００３６】
図８は、本実施例１に係る探索部の処理を説明するための図（１）である。図８に示す例では、画像データ２５に、対象物の特徴を有するエッジ線分３ａ〜３ｄが含まれる。探索部１２０ｃは、エッジ線分３ａ〜３ｄの内、最も下方に位置するエッジ線分３ｃを選択する。探索部１２０ｃは、選択したエッジ線分３ｃの最下端３ｅの座標を探索する。
【００３７】
なお、探索部１２０ｃは、図８の処理に加えて、更に下記の処理を実行しても良い。図９は、本実施例１に係る探索部の処理を説明するための図（２）である。図９に示す例では、画像データ２５に、対象物の特徴を有するエッジ線分３ａ〜３ｄが含まれる。探索部１２０ｃは、エッジ線分３ａ〜３ｄの内、最も下方に位置するエッジ線分３ｃを選択する。
【００３８】
続いて、探索部１２０ｃは、抽出部１２０ｂから、画像データ２５に含まれる水平方向のエッジ線分の情報を取得する。探索部１２０ｃは、エッジ線分３ｃを下方向に延長した場合に、延長線と交わる水平方向のエッジが存在する場合に、延長線と水平方向のエッジとの交点の座標を探索する。図９に示す例では、探索部１２０ｃは、エッジ線分３ｃの延長線と、水平方向のエッジ４との交点４ａの座標を探索する。探索部１２０ｃは、最も下方に位置するエッジ線分（対象物の特徴を有するエッジ線分）の延長線と交わる水平方向のエッジ線分が存在する場合には、交点の座標を、最下端の座標として、測定部１２０ｄに出力する。
【００３９】
図１の説明に戻る。測定部１２０ｄは、探索部１２０ｃに探索されたエッジ線分の最下端の座標と、カメラパラメータ１１０ｂと、角度決定テーブル１１０ｃとを基にして、車両から対象物までの距離を測定する処理部である。測定部１２０ｄは、測定した距離の情報を、出力部１２０ｅに出力する。以下において、測定部１２０ｄの処理の一例について説明する。
【００４０】
測定部１２０ｄは、最下端のｙ座標と、角度決定テーブル１１０ｃとを比較して、画角θｙを特定する。測定部１２０ｄは、式（１）に基づいて、車両から対象物までの距離Ｄを算出する。測定部１２０ｄは、算出した距離Ｄの情報を、出力部１２０ｅに出力する。
【００４１】
距離Ｄ＝カメラ５０の高さｄｚ／ｔａｎθｙ・・・（１）
【００４２】
なお、式（１）では説明の便宜上、カメラ５０の俯角θを０とした場合の距離Ｄを示すものである。例えば、俯角θが０でない場合には、画像データ上の座標とカメラ５０の撮影方向に対応する単位ベクトルとを対応付けた変換テーブルを用いる。測定部１２０ｄは、最下端の座標と変換テーブルとを比較して、単位ベクトルを求め、カメラ５０の高さｄｚと、単位ベクトルとを基にして、距離Ｄを算出する。測定部１２０ｄが、単位ベクトルを用いて、距離Ｄを算出する処理は、例えば、特開２０１０−２５８８９７号公報に記載された技術を用いることができる。
【００４３】
出力部１２０ｅは、測定部１２０ｄから、距離Ｄの情報を取得した場合に、取得した距離Ｄの情報を、カーナビゲーション６０に出力する処理部である。
【００４４】
次に、距離測定装置１００の処理手順の一例について説明する。図１０は、本実施例１に係る距離測定装置の処理手順を示すフローチャートである。図１０に示すように、距離測定装置１００の受付部１２０ａは、カメラ５０から画像データを取得する（ステップＳ１０１）。距離測定装置１００の抽出部１２０ｂは、画像データからエッジ線分を検出する（ステップＳ１０２）。
【００４５】
抽出部１２０ｂは、対象物（歩行者）の特徴を有する複数のエッジ線分を特定する（ステップＳ１０３）。距離測定装置１００の探索部１２０ｃは、最下端の座標を特定する（ステップＳ１０４）。距離測定装置１００の測定部１２０ｄは、最下端の座標と角度決定テーブル１１０ｃとを基にして、画角を特定する（ステップＳ１０５）。
【００４６】
測定部１２０ｄは、画角とカメラパラメータ１１０ｂとを基にして、車両から対象物までの距離を算出する（ステップＳ１０６）。距離測定装置１００の出力部１２０ｅは、距離の情報を、カーナビゲーション６０に出力する（ステップＳ１０７）。
【００４７】
距離測定装置１００は、処理を継続する場合には（ステップＳ１０８，Ｙｅｓ）、ステップＳ１０１に移行する。距離測定装置１００は、処理を継続しない場合には（ステップＳ１０８，Ｎｏ）、処理を終了する。
【００４８】
次に、本実施例１に係る距離測定装置１００の効果について説明する。距離測定装置１００は、画像データに含まれる対象物の特徴を有するエッジ線分を抽出し、エッジ線分の最下端の座標を探索し、最下端の座標を基にして、車両から対象物までの距離を算出する。このように、距離測定装置１００は、エッジ線分の最下端の座標を探索して、距離を算出するため、移動体から対象物までの距離を正確に測定することができる。
【００４９】
距離測定装置１００は、候補エッジのペア間の上側の距離よりも下側の距離の方が小さい場合、または、候補エッジのペアが平行である場合に、候補エッジのペアを、対象物の特徴と有するエッジ線分として特定する。このため、対象物のエッジ線分を精度良く特定することができる。
【実施例２】
【００５０】
次に、本実施例２に係る距離測定装置の構成について説明する。図１１は、本実施例２に係る距離測定装置の構成を示す機能ブロック図である。図１１に示すように、この距離測定装置２００は、カメラ５０およびカーナビゲーション６０に接続される。カメラ５０およびカーナビゲーション６０に関する説明は、図１で説明したカメラ５０およびカーナビゲーション６０に関する説明と同様である。
【００５１】
距離測定装置２００は、記憶部１１０と、制御部２１０とを有する。記憶部１１０は、バッファ１１０ａと、カメラパラメータ１１０ｂと、角度決定テーブル１１０ｃとを有する。記憶部１２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。バッファ１１０ａ、カメラパラメータ１１０ｂ、角度決定テーブル１１０ｃに関する説明は、図１のバッファ１１０ａ、カメラパラメータ１１０ｂ、角度決定テーブル１１０ｃに関する説明と同様である。
【００５２】
制御部２１０は、受付部１２０ａと、抽出部２１０ａと、探索部１２０ｃと、測定部１２０ｄと、出力部１２０ｅとを有する。制御部２１０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部２１０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。また、制御部２１０は、車載ＥＣＵであっても良い。受付部１２０ａ、探索部１２０ｃ、測定部１２０ｄ、出力部１２０ｅに関する説明は、図１に示した受付部１２０ａ、探索部１２０ｃ、測定部１２０ｄ、出力部１２０ｅに関する説明に関する説明と同様である。
【００５３】
抽出部２１０ａは、バッファ１１０ａから現在の画像データと、一つ前の画像データとを取得する。以下の説明では、一つ前の画像データを過去の画像データと表記する。抽出部２１０ａは、現在の画像データと過去の画像データとの差分画像データを算出し、差分画像データを基にして、対象物が存在する探索領域を特定する。例えば、抽出部２１０ａは、差分画像データの画素値が閾値以上となる画素を特定し、特定した画素のうち隣接する画素を連結する処理を繰り返し実行する。抽出部２１０ａは、連結した画素の領域が所定領域よりも大きい場合に、連結した画素の領域を、探索領域として特定する。
【００５４】
抽出部２１０ａは、現在の画像データにおける探索領域から、対象物の特徴を有する複数のエッジ線分を特定し、特定したエッジ線分の情報を、探索部１２０ｃに出力する。抽出部２１０ａが、対象物の特徴を有する複数のエッジ線分を特定する処理は、図１に示した抽出部１２０ｂの処理と同様である。
【００５５】
ここでは一例として、抽出部２１０ａが、差分画像データを基にして、探索領域を特定する処理を説明したが、その他の処理を実行することにより、探索領域を特定しても良い。例えば、抽出部２１０ａは、画像データの特徴点のフロー量に基づいて、探索領域を特定しても良いし、機械学習により学習した対象物の特徴を用いて、探索領域を特定しても良い。
【００５６】
抽出部２１０ａが、画像データの特徴点のフロー量に基づいて、探索領域を特定する処理の一例について説明する。抽出部２１０ａは、過去の画像データおよび現在の画像データから特徴点を抽出し、特徴点の特徴量を基にして、過去の画像データ上の各特徴点と、現在の画像データの各特徴点とを対応付ける。抽出部２１０ａは、対応付けた特徴点の移動量を、フロー量とする。抽出部２１０ａは、特徴点の組毎にフロー量を算出し、フロー量の大きさに基づきグループ分けを行う。抽出部２１０ａは、同一のグループのフロー量に対応する各特徴点を囲む領域を、探索領域として特定する。なお、抽出部２１０ａは、Harrisのコーナー検出等の技術を利用して、特徴点の抽出を行う。
【００５７】
抽出部２１０ａが、機械学習により学習した対象物の特徴を用いて、探索領域を特定する処理の一例について説明する。抽出部２１０ａは、機械学習の機能を有しており、予め検知する対象物の画像データを収集しておき、対象物の特徴量を算出して識別器として保持する。抽出部２１０ａは、識別器と、画像データとを比較して、識別器内の特徴量に合致するものがあるか否かのマッチングを行うことで、画像データに含まれる対象物の範囲を特定する。抽出部２１０ａは、画像データに含まれる対象物の範囲を、探索領域とする。
【００５８】
次に、本実施例２に係る距離測定装置２００の処理手順の一例について説明する。図１２は、本実施例２に係る距離測定装置の処理手順を示すフローチャートである。図１２に示すように、距離測定装置２００の受付部１２０ａは、カメラ５０から画像データを取得する（ステップＳ２０１）。距離測定装置２００の抽出部２１０ａは、探索領域を特定する（ステップＳ２０２）。抽出部２１０ａは、画像データの探索領域からエッジ線分を検出する（ステップＳ２０３）。
【００５９】
抽出部２１０ａは、対象物（歩行者）の特徴を有する複数のエッジ線分を特定する（ステップＳ２０４）。距離測定装置２００の探索部１２０ｃは、最下端の座標を特定する（ステップＳ２０５）。距離測定装置２００の測定部１２０ｄは、最下端の座標と角度決定テーブル１１０ｃとを基にして、画角を特定する（ステップＳ２０６）。
【００６０】
測定部１２０ｄは、画角とカメラパラメータ１１０ｂとを基にして、車両から対象物までの距離を算出する（ステップＳ２０７）。距離測定装置２００の出力部１２０ｅは、距離の情報を、カーナビゲーション６０に出力する（ステップＳ２０８）。
【００６１】
距離測定装置２００は、処理を継続する場合には（ステップＳ２０９，Ｙｅｓ）、ステップＳ２０１に移行する。距離測定装置２００は、処理を継続しない場合には（ステップＳ２０９，Ｎｏ）、処理を終了する。
【００６２】
次に、本実施例２に係る距離測定装置２００の効果について説明する。距離測定装置２００は、差分画像データ、フロー量または機械学習を利用して、探索領域を特定し、特定した探索領域から、対象物の特徴を有するエッジ線分を抽出する。これにより、抽出範囲が狭まるため、距離測定装置２００に係る負担を軽減できる。また、移動する対象物の存在からエッジ線分を抽出しないので、ノイズの影響を低減することもできる。
【００６３】
次に、上記実施例に示した距離測定装置１００，２００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１３は、距離測定装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【００６４】
図１６に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置３０５と、カメラ３０６とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０７と、ハードディスク装置３０８とを有する。そして、各装置３０１〜３０８は、バス３０９に接続される。
【００６５】
ハードディスク装置３０８は、抽出プログラム３０８ａ、探索プログラム３０８ｂ、測定プログラム３０８ｃを有する。ＣＰＵ３０１は、抽出プログラム３０８ａ、探索プログラム３０８ｂ、測定プログラム３０８ｃを読み出してＲＡＭ３０７に展開する。
【００６６】
抽出プログラム３０８ａは、抽出プロセス３０７ａとして機能する。探索プログラム３０８ｂは、探索プロセス３０７ｂとして機能する。測定プログラム３０８ｃは、測定プロセス３０７ｃとして機能する。
【００６７】
抽出プロセス３０７ａの処理は、抽出部１２０ｂ，２１０ａの処理に対応する。探索プロセス３０７ｂの処理は、探索部１２０ｃの処理に対応する。測定プロセス３０７ｃは、測定部１２０ｄの処理に対応する。
【００６８】
なお、各プログラム３０８ａ〜３０８ｃについては、必ずしも最初からハードディスク装置３０８に記憶させておかなくても良い。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０８ａ〜３０８ｃを読み出して実行するようにしても良い。
【００６９】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７０】
（付記１）移動体に搭載された単一のカメラにより撮影された画像データから複数のエッジ線分を検出し、検出した複数のエッジ線分のうち、所定の対象物の特徴を有する複数のエッジ線分を特定する抽出部と、
前記抽出部により特定された複数のエッジ線分のうち、最も下方に位置するエッジ線分の座標を探索する探索部と、
前記探索部に探索されたエッジ線分の座標と前記カメラのパラメータとを基にして、前記移動体から前記所定の対象物までの距離を測定する測定部と
を有することを特徴とする距離測定装置。
【００７１】
（付記２）前記抽出部は、前記画像データに含まれる複数のエッジ線分と、前記カメラの搭載位置に応じて予め設定される水平線とを比較して、前記水平線と交差するエッジ線分を、前記所定の対象物の特徴を有するエッジ線分として特定することを特徴とする付記１に記載の距離測定装置。
【００７２】
（付記３）前記抽出部は、複数のエッジ線分から２つのエッジ線分を選択し、選択した２つのエッジ線分間の上側の距離よりも下側の距離の方が小さい場合、または、選択した２つのエッジ線分が平行である場合に、選択した２つのエッジ線分を、所定の対象物の特徴を有するエッジ線分として特定することを特徴とする付記１または２に記載の距離測定装置。
【００７３】
（付記４）前記抽出部は、前記カメラにより撮影された過去の画像データと現在の画像データとの差分画像を基にして、前記所定の対象物が存在する探索領域を特定し、画像データ上の探索領域から、複数のエッジ線分を検出することを特徴とする付記１、２または３に記載の距離測定装置。
【００７４】
（付記５）前記抽出部は、前記カメラにより撮影された過去の画像データ上の特徴点の位置と前記特徴点に対応する現在の画像データ上の位置を基にしてフロー量を算出する処理を、特徴点毎に実行し、フロー量の類似する特徴点の位置を含む領域を特定し、特定した領域から複数のエッジ線分を検出することを特徴とする付記１、２または３に記載の距離測定装置。
【００７５】
（付記６）前記抽出部は、前記所定の対象物の特徴を学習し、学習した特徴と前記カメラにより撮影された画像データとを基にして、前記所定の対象物が存在する領域を特定し、特定した領域から複数のエッジ線分を検出することを特徴とする付記１、２または３に記載の距離測定装置。
【００７６】
（付記７）コンピュータが実行する距離測定方法であって、
移動体に搭載された単一のカメラにより撮影された画像データから複数のエッジ線分を検出し、検出した複数のエッジ線分のうち、所定の対象物の特徴を有する複数のエッジ線分を特定し、
特定した複数のエッジ線分のうち、最も下方に位置するエッジ線分の座標を探索し、
探索したエッジ線分の座標と前記カメラのパラメータとを基にして、前記移動体から前記所定の対象物までの距離を測定する
処理を実行することを特徴とする距離測定方法。
【００７７】
（付記８）前記特定する処理は、前記画像データに含まれる複数のエッジ線分と、前記カメラの搭載位置に応じて予め設定される水平線とを比較して、前記水平線と交差するエッジ線分を、前記所定の対象物の特徴を有するエッジ線分として特定することを特徴とする付記７に記載の距離測定方法。
【００７８】
（付記９）前記抽出する処理は、複数のエッジ線分から２つのエッジ線分を選択し、選択した２つのエッジ線分間の上側の距離よりも下側の距離の方が小さい場合、または、選択した２つのエッジ線分が平行である場合に、選択した２つのエッジ線分を、所定の対象物の特徴を有するエッジ線分として特定することを特徴とする付記７または８に記載の距離測定方法。
【００７９】
（付記１０）前記抽出する処理は、前記カメラにより撮影された過去の画像データと現在の画像データとの差分画像を基にして、前記所定の対象物が存在する探索領域を特定し、画像データ上の探索領域から、複数のエッジ線分を検出することを特徴とする付記７、８または９に記載の距離測定方法。
【００８０】
（付記１１）前記抽出する処理は、前記カメラにより撮影された過去の画像データ上の特徴点の位置と前記特徴点に対応する現在の画像データ上の位置を基にしてフロー量を算出する処理を、特徴点毎に実行し、フロー量の類似する特徴点の位置を含む領域を特定し、特定した領域から複数のエッジ線分を検出することを特徴とする付記７、８または９に記載の距離測定方法。
【００８１】
（付記１２）前記抽出する処理は、前記所定の対象物の特徴を学習し、学習した特徴と前記カメラにより撮影された画像データとを基にして、前記所定の対象物が存在する領域を特定し、特定した領域から複数のエッジ線分を検出することを特徴とする付記７、８または９に記載の距離測定方法。
【符号の説明】
【００８２】
５０    カメラ
６０    カーナビゲーション
１００，２００  距離測定装置
１１０    記憶部
１１０ａ  バッファ
１１０ｂ  カメラパラメータ
１１０ｃ  角度決定テーブル
１２０，２１０    制御部
１２０ａ  受付部
１２０ｂ，２１０ａ  抽出部
１２０ｃ  探索部
１２０ｄ  測定部
１２０ｅ  出力部
【図１】
2018096709.tif 000003
【図２】
2018096709.tif 000004
【図３】
2018096709.tif 000005
【図４】
2018096709.tif 000006
【図５】
2018096709.tif 000007
【図６】
2018096709.tif 000008
【図７】
2018096709.tif 000009
【図８】
2018096709.tif 000010
【図９】
2018096709.tif 000011
【図１０】
2018096709.tif 000012
【図１１】
2018096709.tif 000013
【図１２】
2018096709.tif 000014
【図１３】
2018096709.tif 000015
【図１４】
2018096709.tif 000016