IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝デバイス&ストレージ株式会社の特許一覧

<>
  • 特許-画像処理装置および画像処理方法 図1
  • 特許-画像処理装置および画像処理方法 図2
  • 特許-画像処理装置および画像処理方法 図3
  • 特許-画像処理装置および画像処理方法 図4
  • 特許-画像処理装置および画像処理方法 図5
  • 特許-画像処理装置および画像処理方法 図6A
  • 特許-画像処理装置および画像処理方法 図6B
  • 特許-画像処理装置および画像処理方法 図7
  • 特許-画像処理装置および画像処理方法 図8
  • 特許-画像処理装置および画像処理方法 図9
  • 特許-画像処理装置および画像処理方法 図10A
  • 特許-画像処理装置および画像処理方法 図10B
  • 特許-画像処理装置および画像処理方法 図11
  • 特許-画像処理装置および画像処理方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240729BHJP
   H04N 23/60 20230101ALI20240729BHJP
【FI】
G06T7/00 300F
G06T7/00 650
H04N23/60 500
【請求項の数】 5
(21)【出願番号】P 2021043902
(22)【出願日】2021-03-17
(65)【公開番号】P2022143412
(43)【公開日】2022-10-03
【審査請求日】2023-01-25
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】秋山 俊貴
(72)【発明者】
【氏名】滝沢 圭
(72)【発明者】
【氏名】小澤 伊央
【審査官】吉川 康男
(56)【参考文献】
【文献】特開2000-285245(JP,A)
【文献】特開2008-242839(JP,A)
【文献】特開2010-085240(JP,A)
【文献】特開2017-167664(JP,A)
【文献】特開2019-175112(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
移動体に搭載されたカメラによって撮像された時系列の複数の画像を取得する取得部と、
前記取得部により取得された第1画像の特徴点を抽出する抽出部と、
前記取得部により取得された第2画像における前記特徴点の対応箇所を探索する範囲である探索範囲を設定する探索範囲設定部と、
前記第2画像における探索範囲から前記特徴点の対応箇所を探索する探索部と、
前記探索部により探索された対応箇所が複数ある場合、対応箇所同士の類似度と、前記対応箇所同士の距離と、に基づいて、前記探索範囲における繰り返しパターンに基づく前記類似度の分布の複数の峰を示す多峰性の有無を判断し、前記多峰性がある場合には、対応箇所と前記特徴点との対応付けを行わず、前記多峰性がない場合には、対応箇所と前記特徴点との対応付けを行うマッチング部と、を備え
前記マッチング部は、前記対応箇所同士の前記類似度が第1の閾値以下であり、かつ前記対応箇所同士の距離が第2の閾値以上である場合に、前記多峰性があると判断する、
画像処理装置。
【請求項2】
前記探索部は、前記探索範囲を分割した分割範囲毎に、前記特徴点の対応箇所を探索する、請求項1に記載の画像処理装置。
【請求項3】
前記マッチング部は、前記対応箇所同士の類似度の比率にさらに基づいて、前記多峰性の有無を判断する、請求項に記載の画像処理装置。
【請求項4】
前記探索範囲設定部は、前記移動体の移動に基づいて設定する、請求項1に記載の画像処理装置。
【請求項5】
移動体に搭載されたカメラによって撮像された時系列の複数の画像を取得する取得ステップと、
前記取得ステップで取得した第1画像の特徴点を抽出する抽出ステップと、
前記取得ステップで取得した第2画像における前記特徴点の対応箇所を探索する範囲である探索範囲を設定する探索範囲設定ステップと、
前記第2画像における探索範囲から前記特徴点の対応箇所を探索する探索ステップと、
前記探索ステップにより探索された対応箇所が複数ある場合、対応箇所同士の類似度と、前記対応箇所同士の距離と、に基づいて、前記探索範囲における繰り返しパターンに基づく前記類似度の分布の複数の峰を示す多峰性の有無を判断し、前記多峰性がある場合には、対応箇所と前記特徴点との対応付けを行わず、前記多峰性がない場合には、対応箇所と前記特徴点との対応付けを行うマッチングステップと、を含み、
前記マッチングステップは、前記対応箇所同士の前記類似度が第1の閾値以下であり、かつ前記対応箇所同士の距離が第2の閾値以上である場合に、前記多峰性があると判断する、
画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
複数の画像間をマッチングさせる技術がある。画像間をマッチングさせる場合、一の画像の点を他の画像の誤った点に対応付けてしまうことを防止することが望まれる。
【先行技術文献】
【特許文献】
【0003】
【文献】特表2012-529691号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一つの実施形態は、画像間のマッチングにおいて、誤った対応付けを防止する画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
一つの実施形態によれば、画像処理装置は、取得部と、抽出部と、探索範囲設定部と、探索部と、マッチング部とを備える。取得部は、移動体に搭載されたカメラによって撮像された時系列の複数の画像を取得する。抽出部は、第1画像の特徴点を抽出する。探索範囲設定部は、第2画像における特徴点の対応箇所を探索する範囲である探索範囲を設定する。探索部は、第2画像における探索範囲から特徴点の対応箇所を探索する。マッチング部は、前記探索部により探索された対応箇所が複数ある場合、対応箇所同士の類似度と、対応箇所同士の距離と、に基づいて、探索範囲における繰り返しパターンに基づく類似度の分布の複数の峰を示す多峰性の有無を判断し、多峰性がある場合には、対応箇所と前記特徴点との対応付けを行わず、多峰性がない場合には、対応箇所と前記特徴点との対応付けを行う。マッチング部は、対応箇所同士の類似度が第1の閾値以下であり、かつ対応箇所同士の距離が第2の閾値以上である場合に、多峰性があると判断する。

【図面の簡単な説明】
【0006】
図1図1は、本実施形態にかかる移動体の例を示す図である。
図2図2は、繰り返しパターンを含む画像の一例である。
図3図3は、繰り返しパターン上に特徴点が存在し、且つ探索範囲も繰り返しパターン上に存在する時のスコア分布の例である。
図4図4は、本実施形態にかかる移動体の機能構成の例を示す図である。
図5図5は、本実施形態にかかる3次元点群推定部の機能ブロック図である。
図6A図6Aは、時刻tにおける画像上の特徴点の位置の例を示す図である。
図6B図6Bは、時刻t+1における画像上の特徴点探索範囲の例を示す図である。
図7図7は、本実施形態にかかる特徴点マッチング部の機能ブロック図である。
図8図8は、画像処理方法の全体処理を示すフローチャートである。
図9図9は、特徴点と、対応座標との対応付け処理手順を示すフローチャートである。
図10A図10Aは、時刻tにおける画像上の特徴点の位置の例を示す図である。
図10B図10Bは、時刻t+1における画像上の特徴点探索範囲の他の例を示す図である。
図11図11は、類似する対応座標の配置例を示す図である。
図12図12は、本実施形態の画像処理装置のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【0007】
以下、添付図面を参照して実施形態の画像処理装置について説明する。
【0008】
本実施形態の画像処理装置は、例えば移動体に搭載される。
【0009】
[移動体の例]
図1は実施形態の移動体10の例を示す図である。
【0010】
移動体10は、画像処理装置20、出力部10A、カメラ10B、センサ10C、動力制御部10G及び動力部10Hを備える。
【0011】
移動体10は任意でよい。移動体10は、例えば車両、台車及び移動ロボット等である。車両は、例えば自動二輪車、自動四輪車及び自転車等である。また、移動体10は、例えば人による運転操作を介して走行する移動体でもよいし、人による運転操作を介さずに自動的に走行(自律走行)可能な移動体でもよい。
【0012】
画像処理装置20は、例えば専用又は汎用のコンピュータハードウェアにより実現される。画像処理装置20は、移動体10に搭載されたカメラ10Bにより時系列に撮像された複数の画像に基づいて画像上の特徴点によるマッチング処理をする。マッチング処理とは、特定の画像で抽出された特徴点の座標の所定範囲と一致する部分を、次の画像における所定の探索範囲で探索して、当該特徴点と対応付けをするマッチング動作である。例えば、上記マッチング処理は、いわゆるブロックマッチング処理などである。なお、画像処理装置20は、クラウドシステム上のサーバ装置により実現するようにしてもよい。
【0013】
ここで、図2に繰り返しパターンを含む画像の例を示す。図2は、繰り返しパターンを含む画像の一例である。図2に示す画像は、いわゆるゼブラゾーンZNを含む。当該ゼブラゾーンZNは、ほぼ平行の部分が3つ繰り返しており、この平行の部分が繰り返しパターンに対応する。図2に示すような、いわゆるゼブラゾーンZN上に特徴点がある場合、当該特徴点に類似する部分が所定距離毎にあるため誤った対応付けをしてしまう可能性がある。また、繰り返しパターンには、ガードレールのポール部分等も該当する。
【0014】
ここで、図3に、繰り返しパターン上に特徴点が存在し、且つ探索範囲も繰り返しパターン上に存在する時のスコア分布の例を示す。ここでいうスコアとは、例えば特徴点の類似度合いを示すスコアである。図3に示す分布の横軸は、探索範囲上の位置を示す。また、図3に示す分布の縦軸は、上記スコアを示す。
【0015】
画像中に繰り返しパターンがある場合、図3に示すように、類似度が高い座標が所定間隔で存在し、分布の峰が複数存在する。このことを、本実施形態では、多峰性があるという。
【0016】
上記のようにスコア分布に多峰性がある場合、特徴点に類似している箇所が複数存在するので、単にスコアのみに基づいて対応付けすると、誤った対応付けをしてしまう可能性がある。例えば、本来特徴点に対応する点が点Xであったとしても、当該点Xよりもスコアがわずかに高い点である点Y1および点Y2があると、当該点Y1に対して対応付けをしてしまう。
【0017】
画像処理装置20は、上述のような画像中の繰り返しパターンにより、特徴点に対して誤った対応付けをしてしまう可能性があると判断した場合、当該特徴点との対応付けを中止する。ここでいう中止とは、特徴点に対して対応する点が無いと判断することを示す。画像処理装置20が、特徴点に対応する点が無いと判断した場合、後述する3次元点群推定部23や障害物推定部24が実行する処理において、上記特徴点を使用しない。
【0018】
図1に戻り、動力部10Hは、移動体10に搭載された駆動デバイスである。動力部10Hは、例えば、エンジン、モータ及び車輪等である。
【0019】
動力制御部10Gは、動力部10Hを制御する。動力制御部10Gの制御によって動力部10Hが駆動する。
【0020】
出力部10Aは情報を出力する。本実施形態では、出力部10Aは、画像処理装置20によりマッチングした結果を示す情報を出力する。
【0021】
出力部10Aは、例えば、画像処理装置20による処理結果を送信する通信機能、画像処理装置20による処理結果を表示する表示機能、及び、画像処理装置20による処理結果を示す音を出力する音出力機能等を備える。出力部10Aは、例えば通信部10D、ディスプレイ10E及びスピーカ10Fの少なくとも1つを備える。なお、本実施形態では、出力部10Aは、通信部10D、ディスプレイ10E及びスピーカ10Fを備えた構成を例にして説明する。
【0022】
通信部10Dは、画像処理装置20による処理結果を他の装置へ送信する。例えば、通信部10Dは、通信回線を介して、画像処理装置20による処理結果を他の装置へ送信する。ディスプレイ10Eは、画像処理装置20による処理結果を表示する。ディスプレイ10Eは、例えばLCD(Liquid Crystal Display)、投影装置及びライト等である。スピーカ10Fは、画像処理装置20による処理結果を示す音を出力する。
【0023】
カメラ10Bは、例えば単眼カメラ、ステレオカメラ、魚眼カメラ及び赤外線カメラ等である。カメラ10Bの数は任意でよい。また、撮像される画像はRGBの3チャネルで構成されたカラー画像であってもよく、グレースケールで表現された1チャネルのモノクロ画像であってもよい。カメラ10Bは、移動体10周辺の時系列の画像を撮像する。カメラ10Bは、例えば移動体10の周辺を時系列に撮像することにより、時系列の画像を撮像する。移動体10の周辺は、例えば当該移動体10から予め定められた範囲内の領域である。この範囲は、例えばカメラ10Bの撮像可能な範囲である。
【0024】
本実施形態では、カメラ10Bが、移動体10の前方を撮影方向として含むように設置されている場合を例にして説明する。すなわち、本実施形態では、カメラ10Bは、移動体10の前方を時系列に撮像する。
【0025】
センサ10Cは、測定情報を測定するセンサである。測定情報は、例えば移動体10の速度、並びに、移動体10のハンドルの舵角を含む。センサ10Cは、例えば慣性計測装置(IMU:Inertial Measurement Unit)、速度センサ及び舵角センサ等である。IMUは、移動体10の三軸加速度及び三軸角速度を含む測定情報を測定する。速度センサは、タイヤの回転量から速度を測定する。舵角センサは、移動体10のハンドルの舵角を測定する。
【0026】
次に、本実施形態の移動体10の機能構成の例について詳細に説明する。
【0027】
[機能構成の例]
図4は本実施形態の移動体10の機能構成の例を示す図である。
【0028】
移動体10は、画像処理装置20、出力部10A、カメラ10B、センサ10C、動力制御部10G及び動力部10Hを備える。画像処理装置20は、処理部20A及び記憶部20Bを備える。出力部10Aは、通信部10D、ディスプレイ10E及びスピーカ10Fを備える。
【0029】
処理部20A、記憶部20B、出力部10A、カメラ10B、センサ10C及び動力制御部10Gは、バス10Iを介して接続されている。動力部10Hは、動力制御部10Gに接続されている。
【0030】
なお、出力部10A(通信部10D、ディスプレイ10E及びスピーカ10F)、カメラ10B、センサ10C、動力制御部10G及び記憶部20Bは、ネットワークを介して接続されていてもよい。接続に使用されるネットワークの通信方式は、有線方式であっても無線方式であってもよい。また、接続に使用されるネットワークは、有線方式と無線方式とを組み合わせることにより実現されていてもよい。
【0031】
記憶部20Bは情報を記憶する。記憶部20Bは、例えば半導体メモリ素子、ハードディスク及び光ディスク等である。半導体メモリ素子は、例えばRAM(Random Access Memory)及びフラッシュメモリ等である。なお、記憶部20Bは、画像処理装置20の外部に設けられた記憶装置であってもよい。また、記憶部20Bは、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、LAN(Local Area Network)やインターネットなどを介してダウンロードして記憶または一時記憶したものであってもよい。また、記憶部20Bを、複数の記憶媒体から構成してもよい。
【0032】
処理部20Aは、画像取得部21、エゴモーション推定部22、3次元点群推定部23、障害物推定部24、及び、移動体制御部25を備える。画像取得部21、エゴモーション推定部22、3次元点群推定部23、障害物推定部24、及び、移動体制御部25は、例えば1又は複数のプロセッサにより実現される。
【0033】
処理部20Aは、例えばCPU(Central Processing Unit)等のプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現されてもよい。また例えば、処理部20Aは、専用のIC(Integrated Circuit)等のプロセッサ、すなわちハードウェアにより実現されてもよい。また例えば、処理部20Aは、ソフトウェア及びハードウェアを併用することにより実現されてもよい。
【0034】
なお、実施形態において用いられる「プロセッサ」の文言は、例えば、CPU、GPU(Graphical Processing Unit)、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、及び、プログラマブル論理デバイスを含む。プログラマブル論理デバイスは、例えば単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、及び、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA)等を含む。
【0035】
プロセッサは、記憶部20Bに保存されたプログラムを読み出し実行することで、処理部20Aを実現する。なお、記憶部20Bにプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むよう構成してもよい。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで、処理部20Aを実現する。
【0036】
画像取得部21は、カメラ10Bによって撮像された画像をカメラ10Bから取得する。画像取得部21は、取得部の一例である。
【0037】
エゴモーション推定部22は、カメラ10Bによって撮像された時系列の画像を取得し、当該時系列の画像に基づいて、移動体の移動に基づいた情報であるエゴモーション情報を推定する。エゴモーション推定部22は、例えば、下記文献に記載の技術の手法により、当該時系列の画像に基づいてエゴモーション情報を推定する。R. Mur-Artal and J. D. Tardos, “ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras”, arXiv preprint arXiv:1610.06475, 2016.
【0038】
エゴモーション推定部22は、例えば、時刻tの画像と時刻t+1の画像との間におけるエゴモーション情報を推定する。ここで、時刻t+1の画像とは、時刻tの次のタイミングに撮像された画像をいう。
【0039】
3次元点群推定部23は、カメラ10Bによって撮像された時系列の画像及びエゴモーション情報を取得する。また、3次元点群推定部23は、時系列の画像及びエゴモーション情報に基づいて特徴点のマッチングをする。また、3次元点群推定部23は、時刻tの画像の特徴点座標、時刻t+1の画像の対応座標、及びエゴモーション情報に基づいて特徴点の3次元座標を推定する。
【0040】
障害物推定部24は、3次元点群推定部23により推定された3次元点群と、エゴモーション推定部22により推定されたエゴモーション情報とに基づいて障害物を推定する。例えば、障害物推定部24は、3次元点群の空間的密度が高い3次元領域、時系列の画像のそれぞれに3次元点群が出力された3次元領域がある場合、これらの3次元領域には障害物が存在すると推定する。
【0041】
移動体制御部25は、障害物推定部24による障害物の推定結果に基づいて移動体を制御する。例えば、移動体制御部25は、障害物の推定結果に基づいて、移動体10が障害物に近づいていると判断した場合、動力制御部10Gに停止動作を指示する制御信号を送出する。
【0042】
続いて、図5を用いて、3次元点群推定部23の機能構成について説明する。図5は、3次元点群推定部23の機能ブロック図である。
【0043】
3次元点群推定部23は、特徴点抽出部110、特徴点探索範囲設定部111、特徴点マッチング部112、及び特徴点3次元推定部113を備える。
【0044】
特徴点抽出部110は、カメラ10Bによって撮像された時系列の画像から3次元推定を行うための特徴点を抽出する。特徴点抽出部110は、抽出部の一例である。特徴点抽出部110は、例えば、下記文献に記載の技術の手法により、時系列の画像から3次元推定を行うための特徴点を抽出する。J. Shi J. & C. Tomasi, “Good Features to Track”, IEEE Conference on Computer Vision and Pattern Recognition (CVPR'94). pp.593 - 600, 1994.
【0045】
特徴点探索範囲設定部111は、時刻tの画像の特徴点座標と、時刻tの画像・時刻t+1の画像間のエゴモーション情報とを取得し、時刻t+1の画像における特徴点探索ラインを決定する。特徴点探索範囲設定部111は、探索範囲設定部の一例である。特徴点探索範囲設定部111は、特徴点探索ラインとして、下記文献に記載のような時刻tの特徴点に対する時刻t+1のエピポーラ線を設定する。金谷, 菅谷, 金沢, “3次元コンピュータビジョン計算ハンドブック”, 森北出版, 2016.
【0046】
ここで、図6を用いて、特徴点探索範囲の例について説明する。図6は、時刻tにおける画像上の特徴点の位置および時刻t+1の画像上の特徴点探索範囲の例を示す図である。図6Aに示すように時刻tの画像における特徴点を特徴点P1とした場合、特徴点探索範囲設定部111は、時刻t・時刻t+1間のエゴモーション情報と、特徴点P1とに基づいて、図6Bに示すような特徴点の探索ラインL1を決定する。
【0047】
図5に戻り、特徴点マッチング部112は、特徴点と、特徴点の対応座標とのマッチング処理を行う。特徴点マッチング部112によるマッチング処理については、後述する。
【0048】
特徴点3次元推定部113は、時刻tの画像の特徴点座標、時刻t+1の画像の対応座標、及びエゴモーション情報に基づいて特徴点の3次元座標を推定する。時刻tの画像の特徴点座標、時刻t+1の画像の対応座標、及びエゴモーション情報に基づいて特徴点の3次元座標を推定する方法は、公知技術を適用することができる。
【0049】
続いて、図7を用いて、特徴点マッチング部112の機能構成について説明する。図7は、特徴点マッチング部112の機能ブロック図である。
【0050】
特徴点マッチング部112は、探索範囲分割処理部121、特徴点対応付け処理部122、及び対応座標判定処理部123を備える。
【0051】
探索範囲分割処理部121は、特徴点探索範囲設定部111により決定された特徴点探索ラインを複数の領域に分割する。
【0052】
特徴点対応付け処理部122は、時刻tの画像、時刻tの特徴点座標、時刻t+1の画像、及び時刻t+1の画像における特徴点探索ラインに基づいて、特徴点探索ラインの分割範囲毎に特徴点の対応付け処理を実行し、特徴点との類似度を示すスコアが高い対応座標を抽出する。特徴点対応付け処理部122は、探索部の一例である。特徴点対応付け処理部122は、特徴点との類似度を示すスコアが予め定められている閾値である閾値A以上である対応座標を抽出する。なお、特徴点対応付け処理部122は、特徴点探索ライン全体における、スコアが上位の対応座標を抽出するようにしてもよい。上記スコアを算出する方法は、公知技術を適用することができる。
【0053】
対応座標判定処理部123は、特徴点と、特徴点対応付け処理部122が抽出した対応座標とを対応付けするか否かを判定する。対応座標判定処理部123は、マッチング部の一例である。対応座標判定処理部123は、特徴点の対応座標が複数抽出されている場合、対応座標のペアを選択し、それぞれの対応座標のスコアの差分や比と、それぞれの画像位置の距離とに基づいて、多峰性の有無を判定し、多峰性があると判定した場合、特徴点と対応座標とをマッチングさせることを中止する。また、対応座標判定処理部123は、多峰性が無いと判定した場合、最も高いスコアの対応座標を特徴点とマッチングさせる。
【0054】
続いて、図8および図9を用いて、画像処理装置20による画像処理方法を説明する。図8は、画像処理方法の全体処理を示すフローチャートである。
【0055】
まず、画像取得部21は、少なくとも1つ以上のカメラ10Bによって時系列の画像を取得する(ステップS1)。続いて、エゴモーション推定部22は、カメラ10Bによって撮像された時系列の画像を取得し、当該時系列の画像からエゴモーション情報を推定する(ステップS2)。
【0056】
続いて、3次元点群推定部23の特徴点抽出部110は、カメラ10Bによって撮像された時系列の画像から3次元推定を行うための特徴点を抽出する(ステップS3)。
【0057】
続いて、3次元点群推定部23の特徴点探索範囲設定部111は、時刻tの画像における特徴点座標と、時刻t・時刻t+1間のエゴモーション情報とを取得し、時刻t+1の画像における特徴点探索ラインを決定する(ステップS4)。
【0058】
続いて、特徴点マッチング部112の探索範囲分割処理部121は、特徴点探索範囲設定部111が決定した特徴点探索ラインを分割する。そして、特徴点対応付け処理部122は、特徴点探索ラインの分割範囲毎に特徴点の対応付け処理を実行し、特徴点との類似度を示すスコアが高い対応座標を抽出する(ステップS5)。
【0059】
続いて、特徴点マッチング部112の対応座標判定処理部123は、特徴点と、対応座標との対応付けをする(ステップS6)。
【0060】
続いて、図8のステップS6の処理の詳細について、図9に示すフローチャートを用いて説明する。図9は、特徴点と、対応座標との対応付け処理手順を示すフローチャートである。
【0061】
まず、対応座標判定処理部123は、抽出結果として、特徴点対応付け処理部122から対応座標およびスコアを取得する(ステップS11)。
【0062】
続いて、対応座標判定処理部123は、抽出結果の対応座標が1点以上無い場合(ステップS12:No)、マッチングさせる対応座標が無いので、マッチング失敗と判定し(ステップS21)、処理を終了する。
【0063】
対応座標判定処理部123は、抽出結果の対応座標が1点以上ある場合(ステップS12:Yes)、抽出結果の対応座標が2点以上あるか否かを判断した結果、2点以上無いとき(ステップS13:No)、対応座標が1点のみであり、多峰性が無いと判定し(ステップS18)、マッチング成功と判定し(ステップS19)、処理を終了する。
【0064】
また、対応座標判定処理部123は、ステップS13において、抽出結果の対応座標が2点以上あると判断した場合(ステップS13:Yes)、対応座標のペアを生成し、当該対応座標のペアのスコアの差分が、予め定められている閾値C以下であるか否かを判断する(ステップS15)。ここでいう対応座標のペアのスコアの差分が、予め定められている閾値C以下であるか否かの判断とは、対応座標のペアのスコアが近い値であるか否かを判断することをいう。例えば、対応座標のペアのスコアの差分が、閾値C以下であるか否かを判断する。対応座標判定処理部123は、対応座標のペアのスコアの差分が閾値C以下ではない場合(ステップS15:No)、ステップS17へ進み、全ての対応座標のペアのループ処理を実行したか否かを判断し、全ての対応座標のペアのループ処理を実行していない場合、ステップS14へ進む。
【0065】
ステップS15において、スコアの差分が閾値C以下である場合(ステップS15:Yes)、対応座標判定処理部123は、対応座標の画像上における距離を比較し、座標の画像上における距離が、予め定められている閾値B未満である場合(ステップS16:No)、ステップS17へ進み、全ての対応座標のペアのループ処理を実行したか否かを判断し、全ての対応座標のペアのループ処理を実行していない場合、ステップS14へ進む。
【0066】
ステップS16において、対応座標判定処理部123は、対応座標の画像上における距離を比較し、座標の画像上における距離が閾値以上である場合(ステップS16:Yes)、多峰性ありと判定し(ステップS20)、誤ったマッチングをする可能性があるので、マッチング失敗と判定し(ステップS21)、処理を終了する。
【0067】
ステップS17において、全ての対応座標のペアのループ処理を実行したか否かを判断し、全ての対応座標のペアのループ処理を実行した場合、対応座標判定処理部123は、閾値以上の距離が離れて、スコアの値が近い対応座標が複数存在しなかったことになるので、多峰性なしと判定する(ステップS18)。そして、対応座標判定処理部123は、最もスコアの高い対応座標を特徴点にマッチングさせて(ステップS19)、処理を終了する。
【0068】
なお、上述の実施形態では、特徴点探索範囲設定部111が、特徴点探索ラインを決定する場合について述べたが、線状の探索範囲に限らず、所定領域を特徴点探索範囲にするようにしてもよい。
【0069】
ここで、図10に特徴点探索範囲の他の例を示す。図10Aに示すような、時刻tの画像の特徴点P1がある場合、特徴点探索範囲設定部111は、時刻tの特徴点座標と、時刻t・時刻t+1間のエゴモーション情報とを取得し、図10Bに示すような時刻t+1における探索範囲AR1を設定する。
【0070】
続いて、図11を用いて、画像処理装置20の処理を説明する。図11は、類似する対応座標の配置例を示す図である。図11に示す分布の横軸は、探索範囲上の位置を示す。また、図11に示す分布の縦軸は、スコアを示す。図11に示すように、画像処理装置20は、分割範囲を複数設定しておき、それぞれの分割範囲から、類似度のスコアが、閾値Aを超えるスコアの座標を抽出する。画像処理装置20は、対応座標のペア(点Xおよび点Y)のスコアの差分を判断し、当該差分と閾値Cとを比較する。画像処理装置20は、上記差分が閾値Cより少ない場合、点Xと点Yとの距離と、閾値Bとを比較し、点Xと点Yとの距離が、閾値Bより大きい場合、特徴点を対応座標と対応付けることを中止する。
【0071】
対応座標のペアのスコアの差分が小さいということは、互いに類似した対応座標が複数存在することを示す。また、当該類似した対応座標同士の距離が、一定以上あるということは、特徴点が繰り返しパターン上など、類似した箇所が点在するところにあることを意味する。よって、類似する対応座標が点在する場合、単にスコアに基づいてマッチングすると、誤ったマッチング処理をしてしまう可能性がある。そこで、画像処理装置20は、類似した対応座標同士の距離が、一定以上ある場合にマッチングを中止することで、誤ったマッチング処理をしてしまうことを回避することができる。
【0072】
なお、対応座標のペアのスコアの差分を算出する代わりに、対応座標判定処理部123が、対応座標のペアのスコアの比率を算出し、当該比率に基づいて対応座標のペアが互いに類似するか否かを判断するようにしてもよい。
【0073】
また、特徴点探索範囲設定部111は、移動体10の移動に基づいて探索範囲を設定する場合について述べたが、時刻tの画像から抽出した標識等の目標物に基づいて、時刻t+1の画像の探索範囲を設定するようにしてもよい。
【0074】
上述の実施形態によれば、画像処理装置20の画像取得部21は、移動体10に搭載されたカメラ10Bによって撮像された複数の画像を取得する。特徴点抽出部110は、時刻tに対応する画像の特徴点を抽出する。特徴点探索範囲設定部111は、時刻t+1に対応する画像における特徴点の対応箇所を探索する範囲である探索範囲を、エゴモーション情報に基づいて設定する。特徴点マッチング部112の特徴点対応付け処理部122は、時刻t+1に対応する画像の探索範囲から対応箇所を探索する。対応座標判定処理部123は、対応箇所が複数ある場合、対応箇所の位置関係に基づいて対応箇所と特徴点との対応付けをする。
【0075】
画像処理装置20は、上述のような繰り返しパターン上の特徴点から対応箇所を探索した場合、互いに距離がある複数の対応箇所があると、マッチング処理を誤る可能性がある。画像処理装置20は、複数の対応箇所の距離が離れていない場合に、対応付けをすることで、適切に対応付けをすることができる。すなわち、画像処理装置20は、画像間のマッチングにおいて、誤った対応付けを防止することができる。
【0076】
また、画像処理装置20の特徴点対応付け処理部122は、探索範囲を分割した分割範囲毎に、対応箇所を探索する。
【0077】
このように、画像処理装置20は、分割範囲毎に対応箇所を探索することで、上述のような繰り返しパターン上に特徴点がある場合に、離れた分割範囲のそれぞれに対応箇所があることを特定することで、マッチング処理を誤る可能性がある状況を特定することができる。
【0078】
また、対応座標判定処理部123は、対応箇所が複数ある場合、対応箇所同士の距離に基づいて対応箇所と特徴点との対応付けを中止する。このように、画像処理装置20は、対応箇所の距離が離れているような、マッチング処理を誤る可能性が高い場合に、マッチング処理を中止することで、マッチング処理を誤ってしまうことを回避することができる。
【0079】
対応座標判定処理部123は、対応箇所同士の類似度にさらに基づいて特徴点との対応付けを行うことで、類似度が近い対応箇所が、離れて存在するようなマッチング処理を誤る可能性のある場合を特定することができ、適切に対応付けをすることができる。
【0080】
なお、上述の実施形態では、障害物検知をする装置に画像処理装置20を適用する場合について述べたが、これに限られず、物体を検知する装置に画像処理装置20を適用するようにしてもよい。
【0081】
また、画像処理装置20を搭載する移動体は、車両以外の装置でもよく、いわゆるドローン、ロボットに適用するようにしてもよい。
【0082】
なお、画像処理装置20は、探索範囲を分割する場合について述べたが、探索範囲を分割しなくてもよい。
【0083】
なお、画像処理装置20は、複数の対応座標が存在する場合、複数の対応座標のスコアを比較する値について閾値と比較する場合について述べたが、当該複数の対応座標のスコアを比較する値を算出しなくてもよい。
【0084】
また、画像処理装置20は、複数の対応座標が存在する場合、複数の対応座標の距離を算出して、特徴点と対応座標とを対応付けるか否かを判断する例について述べたが、複数の対応座標が属する分割範囲が相違するか否かに基づいて特徴点と対応座標とを対応付けるか否かを判断するようにしてもよい。すなわち、複数の対応座標について、距離以外の位置関係に関する情報に基づいて特徴点と対応座標とを対応付けるか否かを判断するようにしてもよい。
【0085】
最後に、本実施形態の画像処理装置20のハードウェア構成の例について説明する。
【0086】
[ハードウェア構成の例]
図12は本実施形態の画像処理装置20のハードウェア構成の例を示す図である。画像処理装置20は、制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306を備える。制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306は、バス310を介して接続されている。
【0087】
なお、表示装置304、入力装置305及び通信装置306は備えていなくてもよい。例えば、画像処理装置20が他の装置と接続される場合、当該他の装置の表示機能、入力機能及び通信機能を利用してもよい。
【0088】
制御装置301は補助記憶装置303から主記憶装置302に読み出されたプログラムを実行する。制御装置301は、例えばCPU等の1以上のプロセッサである。主記憶装置302はROM(Read Only Memory)、及び、RAM等のメモリである。補助記憶装置303はメモリカード、及び、HDD(Hard Disk Drive)等である。
【0089】
表示装置304は情報を表示する。表示装置304は、例えば液晶ディスプレイである。入力装置305は、情報の入力を受け付ける。入力装置305は、例えばハードウェアキー等である。なお表示装置304及び入力装置305は、表示機能と入力機能とを兼ねる液晶タッチパネル等でもよい。通信装置306は他の装置と通信する。
【0090】
画像処理装置20で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R、及び、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【0091】
また画像処理装置20で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また画像処理装置20が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【0092】
また画像処理装置20で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0093】
画像処理装置20で実行されるプログラムは、画像処理装置20の機能のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。
【0094】
プログラムにより実現される機能は、制御装置301が補助記憶装置303等の記憶媒体からプログラムを読み出して実行することにより、主記憶装置302にロードされる。すなわちプログラムにより実現される機能は、主記憶装置302上に生成される。
【0095】
なお画像処理装置20の機能の一部を、IC等のハードウェアにより実現してもよい。ICは、例えば専用の処理を実行するプロセッサである。
【0096】
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2つ以上を実現してもよい。
【0097】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0098】
10 移動体、20 画像処理装置、21 画像取得部、22 エゴモーション推定部、23 3次元点群推定部、24 障害物推定部、25 移動体制御部、110 特徴点抽出部、111 特徴点探索範囲設定部、112 特徴点マッチング部、113 特徴点3次元推定部、301 制御装置、302 主記憶装置、303 補助記憶装置、304 表示装置、305 入力装置、306 通信装置。
図1
図2
図3
図4
図5
図6A
図6B
図7
図8
図9
図10A
図10B
図11
図12