(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-22
(45)【発行日】2024-01-30
(54)【発明の名称】画像処理装置、画像処理方法、および画像処理プログラム
(51)【国際特許分類】
G06T 1/00 20060101AFI20240123BHJP
G06T 3/06 20240101ALI20240123BHJP
H04N 7/18 20060101ALI20240123BHJP
【FI】
G06T1/00 330A
G06T3/00 720
H04N7/18 J
H04N7/18 V
(21)【出願番号】P 2021562239
(86)(22)【出願日】2019-12-03
(86)【国際出願番号】 JP2019047286
(87)【国際公開番号】W WO2021111531
(87)【国際公開日】2021-06-10
【審査請求日】2022-11-16
(73)【特許権者】
【識別番号】514315159
【氏名又は名称】株式会社ソシオネクスト
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】大橋 和将
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特開2002-123829(JP,A)
【文献】特開2013-207637(JP,A)
【文献】特表2014-531078(JP,A)
【文献】特開2014-041398(JP,A)
【文献】国際公開第2013/018173(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 3/00
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
移動体の周辺の複数の検出点を蓄積した位置情報と、前記移動体の自己位置情報と、を用いて、前記移動体の周辺画像の投影面である基準投影面を変形する変形部、
を備える画像処理装置。
【請求項2】
前記位置情報は、異なるタイミングにおける前記検出点をそれぞれ蓄積した位置情報を含む、
請求項1に記載の画像処理装置。
【請求項3】
複数の前記検出点の各々の位置情報を検出部から取得する取得部と、
複数の前記検出点の各々の位置情報に対応して取得した位置情報の各々を環境地図情報に登録する検出点登録部と、
複数の前記検出点の各々の位置情報に基づいて前記自己位置情報を推定し、前記環境地図情報に登録する自己位置推定部と、
を備え、
前記変形部は、前記環境地図情報に基づいて、前記基準投影面を変形する、
請求項2に記載の画像処理装置。
【請求項4】
前記環境地図情報に登録された複数の前記検出点の各々の位置情報および前記自己位置情報を、該検出点の取得タイミングより後の取得タイミングで取得した対応する前記検出点の各々の位置情報を用いて補正する補正部、
を備える請求項3に記載の画像処理装置。
【請求項5】
前記変形部は、
前記移動体に最も近い前記検出点に基づいて、前記基準投影面の形状を変形する、
請求項1~請求項4の何れか1項に記載の画像処理装置。
【請求項6】
前記変形部は、
前記基準投影面を前記移動体に最も近い前記検出点を通る曲面形状に変形する、
請求項5に記載の画像処理装置。
【請求項7】
前記変形部は、
前記基準投影面の複数の部分ごとの前記検出点の漸近曲線に沿った形状に変形する、
請求項1~請求項4の何れか1項に記載の画像処理装置。
【請求項8】
変形された前記基準投影面である変形投影面に前記周辺画像を投影した投影画像を、仮想視点から視認した仮想視点画像に変換する投影変換部と、
を備え、
前記投影変換部は、
前記投影画像を、前記仮想視点から前記変形投影面の方向を視認した、前記仮想視点画像に変換する、
請求項1~請求項7の何れか1項に記載の画像処理装置。
【請求項9】
前記検出点は、前記移動体に搭載された検出部により検出されたものである、
請求項1~請求項8の何れか1項に記載の画像処理装置。
【請求項10】
前記検出点は、前記周辺画像を基に検出されたものである、
請求項1~請求項8の何れか1項に記載の画像処理装置。
【請求項11】
コンピュータによって実行される画像処理方法であって、
移動体の周辺の複数の検出点を蓄積した位置情報と、前記移動体の自己位置情報と、を用いて、前記移動体の周辺画像の投影面である基準投影面を変形するステップを含む、
画像処理方法。
【請求項12】
移動体の周辺の複数の検出点を蓄積した位置情報と、前記移動体の自己位置情報と、を用いて、前記移動体の周辺画像の投影面である基準投影面を変形するステップ、
をコンピュータに実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【0002】
移動体の周辺の撮影画像を仮想的な投影面に投影した投影画像を用いて、任意の視点からの合成画像を生成する技術が開示されている。また、移動体から移動体の周辺の物体までの距離をセンサにより検出し、検出した該距離に応じて投影面の形状を変形する技術が開示されている(例えば、特許文献1-3参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2013-207637号公報
【文献】特表2014-531078号公報
【文献】特許第5369465号公報
【非特許文献】
【0004】
【文献】「移動ロボットの環境認識 -地図構築と自己位置推定」 システム/制御/情報(システム情報学会誌),Vol.60 No.12,pp509-514,2016
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、移動体に対する物体の相対位置がセンサの検出領域外となった場合、該物体までの距離を取得することが困難となる。このため、従来技術では、物体に応じた投影面の変形が困難となる場合があった。
【0006】
1つの側面では、本発明は、物体に応じて投影面を変形することができる、画像処理装置、画像処理方法、および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本願の開示する画像処理装置は、一つの態様において、移動体の周辺の複数の検出点を蓄積した位置情報と、前記移動体の自己位置情報と、を用いて、前記移動体の周辺画像の投影面である基準投影面を変形する変形部を備える。
【発明の効果】
【0008】
本願の開示する画像処理装置の一つの態様によれば、物体に応じて投影面を変形することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、第1の実施形態に係る画像処理システムの全体構成を示す図である。
【
図2】
図2は、第1の実施形態に係る画像処理装置のハードウェア構成を示す図である。
【
図3】
図3は、第1の実施形態に係る画像処理装置の機能的構成を示す図である。
【
図4】
図4は、第1の実施形態に係る環境地図情報の模式図である。
【
図5A】
図5Aは、第1の実施形態に係る基準投影面を示す模式図である。
【
図5B】
図5Bは、第1の実施形態に係る投影形状を示す模式図である。
【
図6】
図6は、第1の実施形態に係る漸近曲線の説明図である。
【
図7】
図7は、第1の実施形態に係る決定部の機能的構成を示す模式図である。
【
図8】
図8は、第1の実施形態に係る画像処理の流れを示すフローチャートである。
【
図9A】
図9Aは、第1の実施形態に係る撮影画像を示す模式図である。
【
図9B】
図9Bは、第1の実施形態に係る合成画像を示す模式図である。
【
図9C】
図9Cは、第1の実施形態に係る画像処理のタイミングチャートを示す模式図である。
【
図16】
図16は、第2の実施形態に係る画像処理装置の機能的構成を示す図である。
【
図17】
図17は、第2の実施形態に係る画像処理の流れを示すフローチャートである。
【
図18】
図18は、第2の実施形態に係る画像処理のタイミングチャートを示す模式図である。
【
図19】
図19は、第2の実施形態に係る合成画像を示す画像である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照しながら、本願の開示する画像処理装置、画像処理方法、および画像処理プログラムの実施形態を詳細に説明する。なお、以下の実施形態は開示の技術を限定するものではない。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0011】
(第1の実施形態)
図1は、本実施形態の画像処理システム1の全体構成の一例を示す図である。画像処理システム1は、画像処理装置10と、撮影部12と、検出部14と、表示部16と、を備える。画像処理装置10と、撮影部12と、検出部14と、表示部16とは、データまたは信号を授受可能に接続されている。
【0012】
本実施形態では、画像処理装置10、撮影部12、検出部14、および表示部16は、移動体2に搭載された形態を一例として説明する。
【0013】
移動体2とは、移動可能な物である。移動体2は、例えば、車両、飛行可能な物体(有人飛行機、無人飛行機(例えば、UAV(Unmanned Aerial Vehicle)、ドローン))、ロボット、などである。また、移動体2は、例えば、人による運転操作を介して進行する移動体や、人による運転操作を介さずに自動的に進行(自律進行)可能な移動体である。本実施形態では、移動体2が車両である場合を一例として説明する。車両は、例えば、二輪自動車、三輪自動車、四輪自動車などである。本実施形態では、車両が、自律進行可能な四輪自動車である場合を一例として説明する。
【0014】
なお、画像処理装置10、撮影部12、検出部14、および表示部16の全てが、移動体2に搭載された形態に限定されない。画像処理装置10は、静止物に搭載されていてもよい。静止物は、地面に固定された物である。静止物は、移動不可能な物や、地面に対して静止した状態の物である。静止物は、例えば、信号機、駐車車両、道路標識、などである。また、画像処理装置10は、クラウド上で処理を実行するクラウドサーバに搭載されていてもよい。
【0015】
撮影部12は、移動体2の周辺を撮影し、撮影画像データを取得する。以下では、撮影画像データを、単に、撮影画像と称して説明する。撮影部12は、例えば、デジタルカメラである。なお、撮影とは、レンズなどの光学系により結像された被写体の像を、電気信号に変換することを指す。撮影部12は、撮影した撮影画像を、画像処理装置10へ出力する。
【0016】
本実施形態では、移動体2に4つの撮影部12(撮影部12A~撮影部12D)が搭載された形態を一例として説明する。複数の撮影部12(撮影部12A~撮影部12D)は、各々の撮影領域E(撮影領域E1~撮影領域E4)の被写体を撮影し、撮影画像を取得する。なお、これらの複数の撮影部12は、撮影方向が互いに異なるものとする。具体的には、これらの複数の撮影部12は、少なくとも一部の撮影領域Eが互いに非重複となるように、撮影方向が予め調整されているものとする。
【0017】
検出部14は、移動体2の周辺の複数の検出点の各々の位置情報を検出する。言い換えると、検出部14は、検出領域Fの検出点の各々の位置情報を検出する。検出点とは、実空間における、検出部14によって個別に観測される点の各々を示す。例えば、検出部14は、検出部14の周囲に光を照射し、反射点で反射した反射光を受光する。この反射点が、検出点に相当する。
【0018】
検出点の位置情報とは、実空間(三次元空間)における検出点の位置を示す情報である。例えば、検出点の位置情報は、検出部14(すなわち移動体2の位置)から検出点までの距離と、検出部14を基準とした検出点の方向と、を示す情報である。これらの距離および方向は、例えば、検出部14を基準とする検出点の相対位置を示す位置座標、検出点の絶対位置を示す位置座標、または、ベクトルなどで表すことができる。
【0019】
検出部14は、例えば、3D(Three-Dimensional)スキャナ、2D(Two Dimensions)スキャナ、距離センサ(ミリ波レーダ、レーザセンサ)、音波によって物体を探知するソナーセンサ、超音波センサ、などである。レーザセンサは、例えば、三次元LIDAR(Laser Imaging Detection and Ranging)センサである。また、検出部14は、単眼カメラで撮影された画像から距離を測距するSfM(Structure from Motion)技術を用いた装置であってもよい。
【0020】
表示部16は、各種の情報を表示する。表示部16は、例えば、LCD(Liquid Crystal Display)または有機EL(Electro-Luminescence)ディスプレイなどである。
【0021】
本実施形態では、画像処理装置10は、移動体2に搭載された電子制御ユニット(ECU:Electronic Control Unit)3に通信可能に接続されている。ECU3は、移動体2の電子制御を行うユニットである。本実施形態では、画像処理装置10は、ECU3から移動体2の速度や移動方向などのCAN(Controller Area Network)データを受信可能であるものとする。
【0022】
次に、画像処理装置10のハードウェア構成を説明する。
図2は、画像処理装置10のハードウェア構成の一例を示す図である。
【0023】
画像処理装置10は、CPU(Central Processing Unit)10A、ROM(Read Only Memory)10B、RAM(Random Access Memory)10C、及びI/F(InterFace)10Dを含み、例えば、コンピュータである。CPU10A、ROM10B、RAM10C、およびI/F10Dは、バス10Eにより相互に接続されており、通常のコンピュータを利用したハードウェア構成となっている。
【0024】
CPU10Aは、画像処理装置10を制御する演算装置である。CPU10Aは、ハードウェアプロセッサの一例に対応する。ROM10Bは、CPU10Aによる各種の処理を実現するプログラム等を記憶する。RAM10Cは、CPU10Aによる各種の処理に必要なデータを記憶する。I/F10Dは、撮影部12、検出部14、表示部16、およびECU3などに接続し、データを送受信するためのインターフェースである。
【0025】
本実施形態の画像処理装置10で実行される画像処理を実行するためのプログラムは、ROM10B等に予め組み込んで提供される。なお、本実施形態の画像処理装置10で実行されるプログラムは、画像処理装置10にインストール可能な形式又は実行可能な形式のファイルで記録媒体に記録されて提供するように構成してもよい。記録媒体は、コンピュータにより読取可能な媒体である。記録媒体は、CD(Compact Disc)-ROM、フレキシブルディスク(FD)、CD-R(Recordable)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード等である。
【0026】
次に、画像処理装置10の機能的構成を説明する。
図3は、画像処理装置10の機能的構成の一例を示す図である。なお、
図3には、データの入出力関係を明確にするために、画像処理装置10に加えて、撮影部12、検出部14、および表示部16を併せて図示した。
【0027】
画像処理装置10は、取得部20と、検出点登録部22と、自己位置推定部24と、記憶部26と、補正部28と、決定部30と、変形部32と、仮想視点視線決定部34と、投影変換部36と、画像合成部38と、を備える。
【0028】
上記複数の各部の一部または全ては、例えば、CPU10Aなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよい。また、上記複数の各部の一部または全ては、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【0029】
取得部20は、撮影画像を撮影部12から取得する。また、取得部20は、検出点の位置情報を検出部14から取得する。取得部20は、撮影部12(撮影部12A~撮影部12D)の各々から撮影画像を取得する。検出部14は、複数の検出点の各々の位置情報を検出する。このため、取得部20は、複数の検出点の各々の位置情報と、複数の撮影部12の各々による撮影画像と、を取得する。
【0030】
取得部20は、複数の検出点の各々の位置情報を取得するごとに、取得した位置情報を検出点登録部22および自己位置推定部24へ出力する。また、取得部20は、撮影画像を取得するごとに、取得した撮影画像を投影変換部36へ出力する。
【0031】
検出点登録部22は、複数の検出点の各々の位置情報を取得するごとに、取得した位置情報の各々を環境地図情報26Aへ登録する。環境地図情報26Aは、記憶部26に記憶されている。
【0032】
記憶部26は、各種のデータを記憶する。記憶部26は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶部26は、画像処理装置10の外部に設けられた記憶装置であってもよい。また、記憶部26は、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、LAN(Local Area Network)やインターネットなどを介してダウンロードして記憶または一時記憶したものであってもよい。
【0033】
環境地図情報26Aは、移動体2の周辺状況を示す地図情報である。環境地図情報26Aは、実空間における所定位置を原点とした三次元座標空間に、検出点の各々の位置情報および移動体2の自己位置情報を登録した情報である。実空間における所定位置は、例えば、予め設定した条件に基づいて定めてもよい。
【0034】
例えば、所定位置は、画像処理装置10が本実施形態の画像処理を実行するときの移動体2の位置である。例えば、移動体2の駐車シーンなどの所定タイミングで画像処理を実行する場合を想定する。この場合、画像処理装置10は、該所定タイミングに到ったことを判別したときの移動体2の位置を、所定位置とすればよい。例えば、画像処理装置10は、移動体2の挙動が駐車シーンを示す挙動となったと判別したときに、該所定タイミングに到ったと判断すればよい。駐車シーンを示す挙動は、例えば、移動体2の速度が所定速度以下となった場合、移動体2のギアがバックギアに入れられた場合、ユーザの操作指示などによって駐車開始を示す信号を受け付けた場合などである。なお、該所定タイミングは、駐車シーンに限定されない。
【0035】
図4は、環境地図情報26Aの一例の模式図である。環境地図情報26Aは、検出点Pの各々の位置情報と、移動体2の自己位置Sの自己位置情報と、を該三次元座標空間における対応する座標位置に登録した情報である。
【0036】
検出点登録部22は、取得部20を介して検出部14から検出点Pの位置情報を取得するごとに、環境地図情報26Aに登録済の同じ検出点Pをスキャンマッチングにより特定する。同じ検出点Pとは、検出部14による位置情報の取得タイミングが異なるが、実空間では同じ検出点Pであることを意味する。検出点登録部22は、検出部14から取得した検出点Pの位置情報の内、環境地図情報26Aに未登録の検出点Pの位置情報を、環境地図情報26Aに追加して登録する。このとき、検出点登録部22は、取得した検出点Pの位置情報を、上記所定位置を原点とした座標に座標変換した上で、環境地図情報26Aに登録する。
【0037】
なお、検出点登録部22によるスキャンマッチングの結果、環境地図情報26Aに登録済の検出点Pと、新たに取得した検出点Pと、が所定割合以上不一致である場合がある。この場合、検出点登録部22は、該新たに取得した検出点Pの位置情報を破棄し、環境地図情報26Aへの登録を省略してもよい。所定割合は、予め定めればよい。この処理により、環境地図情報26Aの信頼性を高めることができる。
【0038】
なお、検出点登録部22は、検出点Pの位置情報の算出に用いた各種パラメータを、該位置情報と共に環境地図情報26Aに登録することが好ましい。
【0039】
図3に戻り説明を続ける。自己位置推定部24は、環境地図情報26Aに登録されている複数の検出点Pの各々の位置情報に基づいて、移動体2の自己位置Sを示す自己位置情報を推定する。そして、自己位置推定部24は、推定した自己位置Sの自己位置情報を、環境地図情報26Aへ登録する。
【0040】
自己位置情報とは、移動体2の姿勢を示す情報である。移動体2の姿勢は、移動体2の位置および傾きを示す。
【0041】
自己位置推定部24は、環境地図情報26Aに登録されている検出点Pの各々の位置情報と、取得部20を介して検出部14から取得した最新の検出点Pの各々の位置情報とを用いて、これらの位置情報に含まれる対応する検出点Pを特定する。対応する検出点Pとは、検出部14による位置情報の取得タイミングが異なるが、実空間では同じ検出点Pであることを意味する。自己位置推定部24は、特定した対応する検出点Pの各々の位置情報を用いた三角測量によって、移動体2の自己位置Sの自己位置情報を算出する。そして、自己位置推定部24は、算出した自己位置情報を、環境地図情報26Aへ登録する。
【0042】
このため、環境地図情報26Aには、移動体2の移動に伴って、新たな検出点Pの位置情報、および、自己位置Sの自己位置情報が、追加登録されていく。
図4には、一例として、自己位置S1~自己位置S3の自己位置Sを示した。Sの後に続く数値の値が大きいほど、より現在のタイミングに近い自己位置Sであることを意味する。
【0043】
なお、自己位置推定部24は、オドメトリを用いて自己位置情報を推定してもよい。この場合、自己位置推定部24は、前回算出した自己位置情報と、移動体2の移動量と、を用いてオドメトリによる積分計算により、新たな自己位置情報を推定すればよい。なお、自己位置推定部24は、ECU3から取得したCANデータに含まれる移動体2の移動量を読取ることで、移動量を取得すればよい。
【0044】
このように、本実施形態では、画像処理装置10は、SLAM(Simultaneous Localization and Mapping)により、検出点Pの位置情報の環境地図情報26Aへの登録と、移動体2の自己位置情報の推定とを、同時に実行する。
【0045】
補正部28は、環境地図情報26Aに登録された複数の検出点Pの各々の位置情報、および移動体2の自己位置情報を補正する。補正部28は、該検出点Pの取得タイミングより後の取得タイミングで取得した対応する検出点Pの各々の位置情報を用いて、環境地図情報26Aに登録済の位置情報および自己位置情報を補正する。
【0046】
すなわち、補正部28は、環境地図情報26Aに登録されている検出点Pの位置情報を、検出部14によって再度検出された対応する検出点Pの位置情報を用いて補正する。このとき、補正部28は、環境地図情報26Aに登録されている、検出点Pの各々の位置情報の算出に用いた各種パラメータを更に用いて、位置情報および自己位置情報を補正してもよい。この補正処理により、補正部28は、環境地図情報26Aに登録されている検出点Pの位置情報の誤差を修正する。補正部28は、最小二乗法などを用いて、環境地図情報26Aに登録されている検出点Pの位置情報を補正すればよい。補正部28による補正処理によって、検出点Pの位置情報の累積誤差が補正される。
【0047】
補正部28による補正処理のタイミングは限定されない。例えば、補正部28は、所定タイミングごとに上記補正処理を実行すればよい。所定タイミングは、例えば、予め設定した条件に基づいて定めてもよい。なお、本実施形態では、画像処理装置10は、補正部28を備えた構成である場合を一例として説明する。しかし、画像処理装置10は、補正部28を備えない構成であってもよい。
【0048】
次に、決定部30について説明する。決定部30は、環境地図情報26Aを用いて、投影面の投影形状を決定する。すなわち、決定部30は、環境地図情報26Aに蓄積された検出点Pの位置情報を用いて、投影面の投影形状を決定する。
【0049】
投影面とは、移動体2の周辺画像を投影するための立体面である。投影面の投影形状は、実空間に対応する仮想空間に仮想的に形成される立体(3D)形状である。
【0050】
移動体2の周辺画像とは、移動体2の周辺の撮影画像である。本実施形態では、移動体2の周辺画像は、撮影部12A~撮影部12Dの各々によって撮影された撮影画像である。
【0051】
本実施形態では、決定部30は、環境地図情報26Aに登録されている検出点Pの位置情報に応じて基準投影面を変形した形状を、投影形状として決定する。
【0052】
図5Aは、基準投影面40の一例を示す模式図である。基準投影面40は、例えば、投影面の形状を変更する際に基準となる形状の投影面である。基準投影面40の形状は、例えば、椀型、円柱型、などである。
【0053】
椀型とは、底面40Aと側壁面40Bとを有し、側壁面40Bの一端が該底面40Aに連続し、他端が開口された形状である。該側壁面40Bは、底面40A側から該他端部の開口側に向かって、水平断面の幅が大きくなっている。底面40Aは、例えば円形状である。ここで円形状とは、真円形状や、楕円形状等の真円形状以外の円形状、を含む形状である。水平断面とは、鉛直方向(矢印Z方向)に対して直交する直交平面である。直交平面は、矢印Z方向に直交する矢印X方向、および、矢印Z方向と矢印X方向に直交する矢印Y方向、に沿った二次元平面である。水平断面および直交平面を、以下では、XY平面と称して説明する場合がある。なお、底面40Aは、例えば卵型のような円形状以外の形状であってもよい。
【0054】
円柱型とは、円形状の底面40Aと、該底面40Aに連続する側壁面40Bと、からなる形状である。また、円柱型の基準投影面40を構成する側壁面40Bは、一端部の開口が底面40Aに連続し、他端部が開口された円筒状である。但し、円柱型の基準投影面40を構成する側壁面40Bは、底面40A側から該他端部の開口側に向かって、XY平面の直径が略一定の形状である。なお、底面40Aは、例えば卵型のような円形状以外の形状であってもよい。
【0055】
本実施形態では、基準投影面40の形状が、椀型である場合を一例として説明する。基準投影面40は、底面40Aを移動体2の下方の路面に略一致する面とし、該底面40Aの中心を移動体2の自己位置Sとした仮想空間に仮想的に形成される立体モデルである。
【0056】
決定部30は、移動体2に最も近い検出点Pを通る形状に基準投影面40を変形した形状を、投影形状として決定する。検出点Pを通る形状とは、変形後の側壁面40Bが、該検出点Pを通る形状であることを意味する。
【0057】
図5Bは、投影形状41の一例を示す模式図である。決定部30は、基準投影面40を、基準投影面40の底面40Aの中心である移動体2の自己位置Sに最も近い検出点Pを通る形状に変形した形状を、投影形状41として決定する。該自己位置Sは、自己位置推定部24によって算出された最新の自己位置Sである。
【0058】
決定部30は、環境地図情報26Aに登録されている複数の検出点Pの内、該自己位置Sに最も近い検出点Pを特定する。詳細には、移動体2の中心位置(自己位置S)のXY座標を、(X,Y)=(0,0)とする。そして、決定部30は、X2+Y2の値が最小値を示す検出点Pを、自己位置Sに最も近い検出点Pとして特定する。そして、決定部30は、基準投影面40の側壁面40Bが該検出点Pを通る形状となるように変形した形状を、投影形状41として決定する。
【0059】
具体的には、決定部30は、基準投影面40を変形させた際に側壁面40Bの一部の領域が、移動体2に最も近い検出点Pを通る壁面となるように、底面40Aおよび側壁面40Bの一部の領域の変形形状を投影形状41として決定する。変形後の投影形状41は、例えば、底面40A上の立上りライン44から底面40Aの中心に近づく方向に向かって立上げた形状となる。立上げる、とは、例えば、基準投影面40の側壁面40Bと底面40Aとの成す角度がより小さい角度となるように、該側壁面40Bおよび底面40Aの一部を、底面40Aの中心に近づく方向に向かって屈曲または折り曲げる事を意味する。
【0060】
決定部30は、基準投影面40における特定領域を、XY平面の視点(平面視)で該検出点Pを通る位置に突出させるように変形するよう決定する。特定領域の形状および範囲は、予め定めた基準に基づいて決定してもよい。そして、決定部30は、突出させた特定領域から、側壁面40Bにおける該特定領域以外の領域に向かって、連続的に自己位置Sからの距離が遠くなるように、基準投影面40を変形した形状とするよう決定する。
【0061】
詳細には、
図5Bに示すように、XY平面に沿った断面の外周の形状が曲線形状となるように、投影形状41を決定することが好ましい。なお、投影形状41の該断面の外周の形状は、例えば円形状であるが、円形状以外の形状であってもよい。
【0062】
なお、決定部30は、漸近曲線に沿った形状となるように基準投影面40を変形した形状を、投影形状41として決定してもよい。漸近曲線は、複数の検出点Pの漸近曲線である。決定部30は、移動体2の自己位置Sに最も近い検出点Pから離れる方向に向かって予め定めた数の複数の検出点Pの漸近曲線を生成する。この検出点Pの数は、複数であればよい。例えば、この検出点Pの数は、3つ以上であることが好ましい。また、この場合、決定部30は、自己位置Sから見て所定角度以上離れた位置にある複数の検出点Pの漸近曲線を生成することが好ましい。
【0063】
図6は、漸近曲線Qの説明図である。
図6は、移動体2を上方から鳥瞰した場合において、投影面に撮影画像を投影した投影画像51に、漸近曲線Qを示した例である。例えば、決定部30が、移動体2の自己位置Sに近い順に3つの検出点Pを特定したと想定する。この場合、決定部30は、これらの3つの検出点Pの漸近曲線Qを生成する。そして、決定部30は、生成した漸近曲線Qに沿った形状となるように基準投影面40を変形した形状を、投影形状41として決定すればよい。
【0064】
なお、決定部30は、移動体2の自己位置Sの周囲を特定の角度範囲ごとに区切り、該角度範囲ごとに、移動体2に最も近い検出点P、または、移動体2に近い順に複数の検出点Pを特定してもよい。そして、決定部30は、該角度範囲ごとに、特定した検出点Pを通る形状または特定した複数の検出点Pの漸近曲線Qに沿った形状となるように基準投影面40を変形した形状を、投影形状41として決定してもよい。
【0065】
次に、決定部30の詳細な構成の一例を説明する。
【0066】
図7は、決定部30の構成の一例を示す模式図である。決定部30は、絶対距離換算部30Aと、抽出部30Bと、最近傍特定部30Cと、基準投影面形状選択部30Dと、スケール決定部30Eと、漸近曲線算出部30Fと、形状決定部30Gと、を備える。
【0067】
絶対距離換算部30Aは、記憶部26から環境地図情報26Aを読取る。絶対距離換算部30Aは、読取った環境地図情報26Aに含まれる複数の検出点Pの各々の位置情報を、移動体2の最新の自己位置Sである現在位置から該複数の検出点Pの各々までの絶対距離の距離情報に換算する。なお、検出部14が検出点Pの距離情報を取得する場合、絶対距離換算部30Aを省略してもよい。
【0068】
詳細には、絶対距離換算部30Aは、移動体2のECU3から受信したCANデータに含まれる、移動体2の速度データを用いて、移動体2の現在位置を算出する。
【0069】
具体的には、例えば、絶対距離換算部30Aは、CANデータに含まれる、移動体2の速度データを用いて、環境地図情報26Aに登録されている自己位置S間の距離を算出する。例えば、
図4に示す環境地図情報26Aを想定する。この場合、絶対距離換算部30Aは、自己位置S1と自己位置S2との距離、および、自己位置S2と自己位置S3との距離を、CANデータに含まれる速度データを用いて算出する。そして、絶対距離換算部30Aは、これらの距離を用いて、移動体2の現在位置を算出する。
【0070】
そして、絶対距離換算部30Aは、移動体2の現在位置から、環境地図情報26Aに含まれる複数の検出点Pの各々までの距離である距離情報を算出する。詳細には、絶対距離換算部30Aは、環境地図情報26Aに含まれる複数の検出点Pの各々の位置情報を、移動体2の現在位置からの距離情報に換算する。この処理により、絶対距離換算部30Aは、検出点Pの各々の絶対距離である距離情報を算出する。
【0071】
そして、絶対距離換算部30Aは、算出した複数の検出点Pの各々の距離情報を、抽出部30Bへ出力する。また、絶対距離換算部30Aは、算出した移動体2の現在位置を、移動体2の自己位置情報として仮想視点視線決定部34へ出力する。
【0072】
抽出部30Bは、絶対距離換算部30Aから距離情報を受け付けた複数の検出点Pの内、特定の範囲内に存在する検出点Pを抽出する。特定の範囲とは、例えば、移動体2の配置された路面から移動体2の車高に相当する高さまでの範囲である。なお、該範囲は、この範囲に限定されない。
【0073】
抽出部30Bが該範囲内の検出点Pを抽出することで、例えば、移動体2の進行の障害となる物体の検出点Pを抽出することができる。
【0074】
そして、抽出部30Bは、抽出した検出点Pの各々の距離情報を最近傍特定部30Cへ出力する。
【0075】
最近傍特定部30Cは、移動体2の自己位置Sの周囲を特定の角度範囲ごとに区切り、角度範囲ごとに、移動体2に最も近い検出点P、または、移動体2に近い順に複数の検出点Pを特定する。最近傍特定部30Cは、抽出部30Bから受付けた距離情報を用いて、検出点Pを特定する。本実施形態では、最近傍特定部30Cは、角度範囲ごとに、移動体2に近い順に複数の検出点Pを特定する形態を一例として説明する。
【0076】
最近傍特定部30Cは、角度範囲ごとに特定した検出点Pの距離情報を、基準投影面形状選択部30D、スケール決定部30E、および漸近曲線算出部30Fへ出力する。
【0077】
基準投影面形状選択部30Dは、基準投影面40の形状を選択する。基準投影面形状選択部30Dは、複数種類の基準投影面40の形状を記憶した記憶部26から、特定の1つの形状を読取ることで、基準投影面40の形状を選択する。例えば、基準投影面形状選択部30Dは、自己位置と周囲立体物との位置関係や距離情報などによって基準投影面40の形状を選択する。なお、ユーザの操作指示により基準投影面40の形状を選択してもよい。基準投影面形状選択部30Dは、決定した基準投影面40の形状情報を形状決定部30Gへ出力する。本実施形態では、上述したように、基準投影面形状選択部30Dは、碗型の基準投影面40を選択する形態を一例として説明する。
【0078】
スケール決定部30Eは、基準投影面形状選択部30Dが選択した形状の基準投影面40のスケールを決定する。スケール決定部30Eは、例えば、自己位置Sから所定の距離の範囲に複数の検出点Pがある場合にスケールを小さくするなどの決定をする。スケール決定部30Eは、決定したスケールのスケール情報を形状決定部30Gへ出力する。
【0079】
漸近曲線算出部30Fは、最近傍特定部30Cから受付けた、自己位置Sからの角度範囲毎に自己位置Sから最も近い検出点Pの距離情報のそれぞれを用いて、算出した漸近曲線Qの漸近曲線情報を、形状決定部30Gおよび仮想視点視線決定部34へ出力する。なお、漸近曲線算出部30Fは、基準投影面40の複数の部分ごとに蓄積された検出点Pの漸近曲線Qを、算出してもよい。そして、漸近曲線算出部30Fは、算出した漸近曲線Qの漸近曲線情報を、形状決定部30Gおよび仮想視点視線決定部34へ出力してもよい。
【0080】
形状決定部30Gは、基準投影面形状選択部30Dから受付けた形状情報によって示される形状の基準投影面40を、スケール決定部30Eから受付けたスケール情報のスケールに拡大または縮小する。そして、形状決定部30Gは、拡大または縮小した後の基準投影面40について、漸近曲線算出部30Fから受付けた漸近曲線Qの漸近曲線情報に沿った形状となるように変形した形状を、投影形状41として決定する。
【0081】
そして、形状決定部30Gは、決定した投影形状41の投影形状情報を、変形部32へ出力する。
【0082】
図3に戻り説明を続ける。次に、変形部32について説明する。変形部32は、決定部30から受付けた投影形状情報によって示される投影形状41に、基準投影面40を変形する。この変形処理により、変形部32は、変形された基準投影面40である変形投影面42を生成する(
図5B参照)。
【0083】
すなわち、変形部32は、環境地図情報26Aに蓄積された検出点Pの位置情報と、移動体2の自己位置情報と、を用いて、基準投影面40を変形する。
【0084】
詳細には、例えば、変形部32は、投影形状情報に基づいて、移動体2に最も近い検出点Pを通る曲面形状に基準投影面40を変形する。この変形処理により、変形部32は、変形投影面42を生成する。
【0085】
また、例えば、変形部32は、投影形状情報に基づいて、移動体2に近い順に予め定めた数の複数の検出点Pの漸近曲線Qに沿った形状に基準投影面40を変形する。
【0086】
なお、変形部32は、第1のタイミングより前に取得された検出点Pの位置情報と、自己位置Sの自己位置情報と、を用いて、基準投影面40を変形することが好ましい。
【0087】
ここで第1のタイミングとは、検出部14によって検出点Pの位置情報が検出される最新のタイミング、または該最新のタイミングより過去の任意のタイミングである。例えば、第1のタイミングより前に取得された検出点Pには移動体2の周辺にある特定の物体の位置情報が含まれ、第1のタイミングに取得された検出点Pには該周辺にある特定の物体の位置情報が含まれない。決定部30は、環境地図情報26Aに含まれる、該第1のタイミングより前に取得された検出点Pの位置情報を用いて、上記と同様にして投影形状41を決定すればよい。そして、変形部32は、該投影形状41の投影形状情報を用いて、上記と同様にして、変形投影面42を生成すればよい。
【0088】
この場合、例えば、検出部14が第1のタイミングで検出した検出点Pの位置情報に、該タイミングより過去に検出された検出点Pの位置情報が含まれていない場合であっても、変形部32は、該過去に検出された検出点Pに応じた変形投影面42を生成することができる。
【0089】
次に、投影変換部36について説明する。投影変換部36は、変形部32によって変形された基準投影面40である変形投影面42に、撮影部12から取得した撮影画像を投影した投影画像51を生成する。
【0090】
詳細には、投影変換部36は、変形部32から変形投影面42の変形投影面情報を受付ける。変形投影面情報とは、変形投影面42を示す情報である。投影変換部36は、受付けた変形投影面情報に示される変形投影面42に、取得部20を介して撮影部12から取得した撮影画像を投影する。この投影処理により、投影変換部36は、投影画像51を生成する。
【0091】
そして、投影変換部36は、投影画像51を仮想視点画像に変換する。仮想視点画像とは、仮想視点から任意の方向に投影画像51を視認した画像である。
【0092】
図5Bを用いて説明する。投影変換部36は、変形投影面42に撮影画像50を投影する。そして、投影変換部36は、変形投影面42に投影された撮影画像50を、任意の仮想視点Oから視線方向Lに視認した画像である仮想視点画像を生成する(図示せず)。仮想視点Oの位置は、例えば、移動体2の最新の自己位置Sとすればよい。この場合、仮想視点OのXY座標の値を、移動体2の最新の自己位置SのXY座標の値とすればよい。また、仮想視点OのZ座標(鉛直方向の位置)の値を、移動体2の自己位置Sに最も近い検出点PのZ座標の値とすればよい。視線方向Lは、例えば、予め定めた基準に基づいて決定してもよい。
【0093】
視線方向Lは、例えば、仮想視点Oから移動体2の自己位置Sに最も近い検出点Pに向かう方向とすればよい。また、視線方向Lは、該検出点Pを通り且つ変形投影面42に対して垂直な方向としてもよい。仮想視点Oおよび視線方向Lを示す仮想視点視線情報は、仮想視点視線決定部34によって作成される。
【0094】
図3に戻り説明を続ける。仮想視点視線決定部34は、仮想視点視線情報を決定する。
【0095】
例えば、仮想視点視線決定部34は移動体2の自己位置Sに最も近い検出点Pを通り、且つ、変形投影面42に対して垂直な方向を視線方向Lとして決定してもよい。また、仮想視点視線決定部34は、該視線方向Lの方向を固定し、仮想視点Oの座標を、任意のZ座標と、漸近曲線Qから自己位置Sの方に離れる方向における任意のXY座標として決定してもよい。その場合、該XY座標は自己位置Sよりも漸近曲線Qから離れた位置の座標であってもよい。そして、仮想視点視線決定部34は、仮想視点Oおよび視線方向Lを示す仮想視点視線情報を、投影変換部36へ出力する。なお、
図6に示すように、視線方向Lは、仮想視点Oから漸近曲線Qの頂点Wの位置に向かう方向としてもよい。
【0096】
図3に戻り説明を続ける。投影変換部36は、仮想視点視線決定部34から仮想視点視線情報を受付ける。投影変換部36は、該仮想視点視線情報を受付けることで、仮想視点Oおよび視線方向Lを特定する。そして、投影変換部36は、変形投影面42に投影された撮影画像50から、該仮想視点Oから視線方向Lに視認した画像である仮想視点画像を生成する。投影変換部36は、仮想視点画像を画像合成部38へ出力する。
【0097】
画像合成部38は、仮想視点画像の一部または全てを抽出した合成画像を生成する。例えば、画像合成部38は、仮想視点画像に含まれる、複数の撮影画像50の重なる部分の幅の決定や、撮影画像50の張り合わせ処理、重なる部分に表示する撮影画像50を決定するブレンド処理を行う。これにより、合成画像54が生成される。そして、画像合成部38は、合成画像54を表示部16へ出力する。なお、合成画像54は、移動体2の上方を仮想視点Oとした鳥瞰画像や、移動体2内を仮想視点Oとし、移動体2を半透明に表示するものとしてもよい。
【0098】
次に、画像処理装置10が実行する画像処理の流れの一例を説明する。
【0099】
図8は、画像処理装置10が実行する画像処理の流れの一例を示すフローチャートである。
【0100】
取得部20が、撮影部12から撮影画像50を取得する(ステップS100)。また、取得部20は、複数の検出点Pの各々の位置情報を検出部14から取得する(ステップS102)。
【0101】
検出点登録部22は、ステップS102で取得した位置情報の各々の検出点Pの内、環境地図情報26Aに登録済の同じ検出点Pをスキャンマッチングにより特定する(ステップS104)。そして、検出点登録部22は、ステップS102で取得した検出点Pの位置情報の内、環境地図情報26Aに未登録の検出点Pの位置情報を、環境地図情報26Aに登録する(ステップS106)。
【0102】
自己位置推定部24は、環境地図情報26Aに登録されている複数の検出点Pの各々の位置情報と、ステップS102で取得した位置情報とに基づいて、移動体2の自己位置Sを示す自己位置情報を推定する(ステップS108)。そして、自己位置推定部24は、推定した自己位置情報を、環境地図情報26Aへ登録する(ステップS110)。
【0103】
補正部28は、環境地図情報26Aに登録されている検出点Pの位置情報を、ステップS102で取得した検出点Pの位置情報を用いて補正する(ステップS112)。なお、上述したように、ステップS112の補正処理を実行しない形態であってもよい。
【0104】
決定部30の絶対距離換算部30Aは、環境地図情報26Aに含まれる複数の検出点Pの各々の位置情報を、移動体2の現在位置から該複数の検出点Pの各々までの絶対距離の距離情報に換算する(ステップS114)。
【0105】
抽出部30Bは、絶対距離換算部30Aで絶対距離の距離情報を算出された検出点Pの内、特定の範囲内に存在する検出点Pを抽出する(ステップS116)。
【0106】
最近傍特定部30Cは、ステップS116で抽出された検出点Pの各々の距離情報を用いて、移動体2の周囲の角度範囲ごとに、移動体2に近い順に複数の検出点Pを特定する(ステップS118)。
【0107】
漸近曲線算出部30Fは、ステップS118で特定された角度範囲ごとの複数の検出点Pの距離情報のそれぞれを用いて、漸近曲線Qを算出する(ステップS120)。
【0108】
基準投影面形状選択部30Dは、基準投影面40の形状を選択する(ステップS122)。上述したように、基準投影面形状選択部30Dは、碗型の基準投影面40を選択する形態を一例として説明する。
【0109】
スケール決定部30Eは、ステップS122で選択された形状の基準投影面40のスケールを決定する(ステップS124)。
【0110】
形状決定部30Gは、ステップS122で選択された形状の基準投影面40を、ステップS124で決定されたスケールに拡大または縮小する。そして、形状決定部30Gは、拡大または縮小した後の基準投影面40について、ステップS120で算出された漸近曲線Qに沿った形状となるように変形する。形状決定部30Gは、この変形した形状を、投影形状41として決定する(ステップS126)。
【0111】
変形部32は、決定部30で決定された投影形状41に、基準投影面40を変形する(ステップS128)。この変形処理により、変形部32は、変形された基準投影面40である変形投影面42を生成する(
図5B参照)。
【0112】
仮想視点視線決定部34は、仮想視点視線情報を決定する(ステップS130)。例えば、仮想視点視線決定部34は、移動体2の自己位置Sを仮想視点Oとし、該仮想視点Oから漸近曲線Qの頂点Wの位置に向かう方向を視線方向Lとして決定する。詳細には、仮想視点視線決定部34は、ステップS120で角度範囲毎に算出された漸近曲線Qの内、特定の1つの角度範囲の漸近曲線Qの頂点Wに向かう方向を、視線方向Lとして決定すればよい。
【0113】
投影変換部36は、ステップS128で生成された変形投影面42に、ステップS100で取得した撮影画像50を投影する。そして、投影変換部36は、該投影画像51を、ステップS130で決定された仮想視点Oから視線方向Lに、変形投影面42に投影した撮影画像50を視認した画像である仮想視点画像に変換する(ステップS132)。
【0114】
画像合成部38は、ステップS132で生成された仮想視点画像の一部または全てを抽出した合成画像54を生成する(ステップS134)。例えば、画像合成部38は、仮想視点画像に含まれる、複数の撮影画像50の重なる部分の幅の決定や、撮影画像50の張り合わせ処理、重なる部分に表示する撮影画像50を決定するブレンド処理を行う。そして、画像合成部38は、生成した合成画像54を表示部16に出力する表示制御を実行する(ステップS136)。
【0115】
次に、画像処理装置10は、画像処理を終了するか否かを判断する(ステップS138)。例えば、画像処理装置10は、ECU3から移動体2の位置移動停止を示す信号を受信したか否かを判別することで、ステップS138の判断を行う。また、例えば、画像処理装置10は、ユーザによる操作指示などによって画像処理の終了指示を受付けたか否かを判別することで、ステップS138の判断を行ってもよい。
【0116】
ステップS138で否定判断すると(ステップS138:No)、上記ステップS100へ戻る。ステップS138で肯定判断すると(ステップS138:Yes)、本ルーチンを終了する。なお、ステップS112の補正処理を実行した後にステップS138からステップS100へ戻る場合、その後のステップS112の補正処理を省略する場合があってもよい。また、ステップS112の補正処理を実行せずにステップS138からステップS100へ戻る場合、その後のステップS112の補正処理を実行する場合があってもよい。
【0117】
次に、本実施形態の画像処理装置10が実行する画像処理の具体例を、タイミングチャートを用いて説明する。
【0118】
図9Aは、状況T1~状況T4のタイミングの各々で撮影された撮影画像50の一例を示す図である。
図9Aにおける撮影画像50のそれぞれは、例えば移動体2の撮影部12Dによって撮影されたものである。状況T1~状況T4は、柱Cの近くの駐車スペースに移動体2を駐車させる状況を想定している。なお、Tの後に続く数値が大きいほど、後のタイミングであることを意味する。すなわち、状況T1から状況T4に向かって、後のタイミングの状況であることを示す。撮影画像50T1~撮影画像50T4は、状況T1~状況T4の各々のタイミングで撮影された撮影画像50の一例である。
【0119】
状況T1のタイミングでは、実空間に存在する柱Cが検出部14によって未検出である。すなわち、状況T1のタイミングでは、柱Cは検出部14の検出領域F外である。また、状況T2および状況T3のタイミングでは、実空間に存在する柱Cが検出部14の検出領域F内に存在する。状況T4のタイミングでは、実空間に存在する柱Cが検出部14の検出領域F外に存在する。
【0120】
図9Bは、画像処理装置10が状況T1~状況T4のタイミング毎に出力する合成画像54の一例を示す模式図である。合成画像54T1~合成画像54T4は、各々、状況T1~状況T4の各々のタイミングに対応する合成画像54の一例である。
【0121】
図9Cは、画像処理装置10による画像処理のタイミングチャートの一例を示す模式図である。
【0122】
図9C中、“DR”は、環境地図情報26Aの読取処理を意味する。“SM”は、検出点登録部22によるスキャンマッチングを意味する。“MW”は、検出点登録部22による環境地図情報26Aへの位置情報の登録処理を意味する。“PO”は、自己位置推定部24による移動体2の自己位置情報の推定処理を意味する。“PW”は、自己位置推定部24による自己位置情報の環境地図情報26Aへの登録を意味する。“DW”は、補正部28による環境地図情報26Aの位置情報の更新処理を意味する。
【0123】
また、
図9C中、“検出点登録処理”は、検出点登録部22による環境地図情報26Aへの検出点Pの位置情報の登録処理である。“自己位置推定処理”は、自己位置推定部24による移動体2の自己位置情報の推定処理および環境地図情報26Aへの登録処理である。“補正処理”は、補正部28による位置情報の補正処理である。“表示制御処理”は、取得部20による撮影画像50の取得、決定部30による投影形状41の決定(投影形状決定)、変形部32による基準投影面40の変形(投影形状変換)、投影変換部36による仮想視点画像の生成(投影変換)、画像合成部38による合成画像54の生成(合成画像生成)、画像合成部38による合成画像54の表示制御、を含む処理である。
【0124】
なお、
図9Cに示される状況T5は、状況T4の後のタイミングの状況であり、実空間に存在する柱Cが検出部14の検出領域外に存在する状況を想定している。
【0125】
図9Cに示すように、状況T1~状況T5の各々のタイミングごとに、各々の状況の撮影画像50(撮影画像50T1~撮影画像50T4)および検出点Pの位置情報を用いた処理が実行される。このため、環境地図情報26Aには、各タイミングで検出された複数の検出点Pの各々の位置情報が、順次追加登録されていく。また、環境地図情報26Aには、推定された自己位置情報が順次登録される。
【0126】
そして、画像処理装置10は、状況T1~状況T5の各々のタイミングごとに、環境地図情報26Aに登録されている検出点Pの位置情報および自己位置Sの自己位置情報を用いて、上記表示制御処理を実行する。
【0127】
すなわち、環境地図情報26Aには、一度検出された検出点Pの位置情報が順次蓄積されていく。そして、画像処理装置10は、環境地図情報26Aを用いて基準投影面40を変形し、上記表示制御処理を実行する。
【0128】
このため、
図9Aおよび
図9Bに示すように、実空間に存在する柱Cが検出部14の検出領域F内に存在する状況T2および状況T3の場合、画像処理装置10は、合成画像54T2および合成画像54T3の各々を出力する。合成画像54T2および合成画像54T3には、柱Cを写した像C’が含まれる。更に、実空間に存在する柱Cが検出部14の検出領域F外に存在する状況T4へ移行した場合であっても、画像処理装置10は、柱Cの位置情報に基づいて投影面の形状が変形された合成画像54T4を出力することができる。これは、本実施形態の画像処理装置10が、移動体2の周辺の検出点Pの蓄積された位置情報を用いて変形した変形投影面42を用いて、合成画像54を生成するためである。
【0129】
以上説明したように、本実施形態の画像処理装置10の変形部32は、移動体2の周辺の複数の検出点Pを蓄積した位置情報と、移動体2の自己位置情報と、を用いて、移動体2の周辺画像の投影面である予め定められた形状の基準投影面40を変形する。
【0130】
移動体2の移動などによって移動体2の周辺の物体の一部が検出点Pの検出領域F外に位置する場合がある。しかし、本実施形態の画像処理装置10は、移動体2の周辺の検出点Pを蓄積した位置情報を用いて、基準投影面40を変形する。このため、画像処理装置10は、移動体2の周辺の物体に応じて基準投影面40を変形することができる。
【0131】
一方、従来技術では、物体に応じて投影面(基準投影面40)を変形することが困難な場合があった。
【0132】
【0133】
例えば、
図10Aに示す位置関係の場合には、検出部14の検出領域F内に、柱Cが存在する。この場合、従来技術では、該検出領域Fの検出結果に応じて基準投影面40を変形することで、例えば、
図11Aに示す合成画像530Aを出力する。合成画像530Aは、従来の合成画像530の一例である。合成画像530Aには、柱Cを写した像C’が含まれる。
【0134】
しかし、
図10Bに示すように、移動体2の矢印B方向への進行によって、柱Cが検出部14の検出領域F外となる場合がある。この場合、検出領域F内に柱Cが存在しないため、従来技術では、柱Cに応じた基準投影面40の変形を行う事が出来なかった。このため、従来技術では、例えば、
図11Bに示す合成画像530Bを出力していた。合成画像530Bは、従来の合成画像530の一例である。合成画像530Bには、柱Cを写した像C’が含まれていない。また、基準投影面40が柱Cに応じて変形されていないため、合成画像530Bにおける、柱Cに相当する領域CA’が歪んだ画像となる。
【0135】
このように、従来技術では、実際の物体との距離に応じて投影面(基準投影面40)を変形することが困難な場合があった。
【0136】
一方、本実施形態の画像処理装置10は、移動体2の周辺の検出点Pを蓄積した位置情報と、移動体2の自己位置情報と、を用いて、基準投影面40を変形する。
【0137】
【0138】
例えば、
図10Aに示す位置関係の場合には、検出部14の検出領域F内に柱Cが存在する。また、環境地図情報26Aには、新たに検出された検出点Pの位置情報が追加して登録されていく。このため、
図10Aに示す位置関係の時には、環境地図情報26Aには、柱Cの複数の検出点Pが登録された状態となる(
図12A参照)。
【0139】
そして、本実施形態の画像処理装置10は、検出点Pの位置情報を蓄積した環境地図情報26Aを用いて基準投影面40を変形する。このため、本実施形態の画像処理装置10は、
図10Aに示す位置関係の時には、例えば、
図13Aに示す合成画像54Aを出力する。合成画像54Aは、本実施形態の合成画像54の一例である。合成画像54Aには、柱Cを写した像C’が含まれる。
【0140】
また、移動体2の矢印B方向への進行によって、柱Cが検出領域F外となった場合を想定する(
図10B参照)。環境地図情報26Aには、既に検出済の検出点Pの位置情報が登録されたままの状態で、新たに検出された検出点Pの位置情報が追加して登録されていく。このため、
図10Bに示す位置関係の時には、環境地図情報26Aには、検出領域F外に位置する柱Cの検出点Pも登録された状態となっている(
図12B参照)。
【0141】
そして、本実施形態の画像処理装置10は、検出点Pの位置情報を蓄積した環境地図情報26Aを用いて基準投影面40を変形する。すなわち、画像処理装置10では、柱Cが検出領域F外となった場合であっても、蓄積した検出点Pの位置情報と推定した自己位置Sの自己位置情報を用いて、移動体2と検出点Pとの位置関係(距離情報)を算出することができる。また、画像処理装置10では、柱Cが検出領域F外となった場合であっても、新たに検出された他の物体の検出点P(例えば、壁Dなどの検出点P)を用いて、移動体2の自己位置情報を推定することができる。そして、画像処理装置10は、算出した距離情報および自己位置情報を用いることで、検出領域F外となった柱Cを適切に表示するように、基準投影面40を変形することができる。
【0142】
このため、本実施形態の画像処理装置10は、
図10Bに示す位置関係の時には、例えば、
図13Bに示す合成画像54Bを出力する。合成画像54Bは、本実施形態の合成画像54の一例である。合成画像54Bには、柱Cを写した像C’が含まれる。また、基準投影面40が柱Cに応じて変形されるため、合成画像54Bにおける柱Cに相当する領域に含まれる歪みが、従来技術(
図11B参照)に比べて抑制されたものとなる。
【0143】
従って、本実施形態の画像処理装置10は、物体に応じて投影面である基準投影面40を変形することができる。
【0144】
また、本実施形態の画像処理装置10は、物体が検出領域F外に存在する場合であっても、物体に応じて基準投影面40を変形することができる。
【0145】
また、上述したように、本実施形態の画像処理装置10では、検出点登録部22は、検出部14から取得した検出点Pの位置情報の内、環境地図情報26Aに未登録の検出点Pの位置情報を、環境地図情報26Aに追加して登録する。また、決定部30の絶対距離換算部30Aは、環境地図情報26Aに含まれる複数の検出点Pの各々の位置情報を、移動体2の現在位置からの絶対距離の距離情報に換算する。この処理により、絶対距離換算部30Aは、検出点Pの各々の絶対距離である距離情報を算出する。
【0146】
このため、移動体2の移動に応じて過去の自己位置Sにおける検出点Pまでの距離情報と、現在の自己位置Sにおける該検出点Pまでの距離情報と、が不一致となることが抑制される。このため、本実施形態の画像処理装置10は、絶対距離換算部30Aが算出した距離情報を用いて基準投影面40を変形することで、物体に応じて基準投影面40を変形することができる。
【0147】
また、上述したように、決定部30は、移動体2に最も近い検出点Pを通る曲面形状となるように基準投影面40を変形した形状を、投影形状41として決定することができる。言い換えると、決定部30は、基準投影面40における、該検出点PをXY平面に沿った方向に投影した点を含む特定領域を、該検出点Pを通る位置に突出させる。そして、決定部30は、突出させた特定領域から、側壁面40Bにおける該特定領域以外の領域に向かって、連続的に自己位置Sからの距離が遠くなるように、基準投影面40を変形した形状とすることができる。
【0148】
基準投影面40の側壁面40Bに対して該特定領域のみを突出させた形状の投影形状41とした場合、該特定領域と該特定領域以外の領域との境界が不自然に非連続な合成画像54が生成される場合がある。このため、決定部30が該検出点Pを通る曲面形状となるように基準投影面40を変形した形状を投影形状41として決定することで、自然な合成画像54を提供することができる。
【0149】
また、上述したように、本実施形態の画像処理装置10の仮想視点視線決定部34は、移動体2の自己位置Sを仮想視点Oとして決定し、移動体2の自己位置Sに最も近い検出点Pを通り且つ変形投影面42に対して垂直な方向を視線方向Lとして決定することができる。そして、投影変換部36は、投影画像51を、該仮想視点Oから視線方向Lに視認した画像である仮想視点画像に変換する。
【0150】
ここで、視線方向Lの下流側端部を移動体2の自己位置Sから最も近い検出点Pに固定し、視線方向Lの変形投影面42に対する角度を変動可能とした場合を想定する。この場合、合成画像54における、変形投影面42の立上りライン44(
図5B参照)に相当する領域に歪みが発生する場合がある。
【0151】
【0152】
図14Aは、仮想視点Oから移動体2に最も近い検出点Pへ向かう方向である視線方向Lが、変形投影面42に対して垂直の関係である場合の、合成画像54Eの一例を示す模式図である。合成画像54Eは、合成画像54の一例である。合成画像54Eには、実空間に存在する直線を写したライン45が含まれる。この場合、
図14Aに示すように、合成画像54Eにおける、変形投影面42の立上りライン44(
図5Bも参照)に相当する領域に歪みは含まれない。このため、合成画像54Eにおける、実空間に存在する直線を写したライン45は、実空間に存在する該直線と同様に直線状のラインとなる。
【0153】
図14Bは、移動体2の移動などによって、視線方向Lが変形投影面42に対して90°未満(例えば45°以下)の角度となった場合の、視線方向Lと変形投影面42との関係の一例を示す模式図である。
図14Cは、仮想視点Oと視線方向Lを
図14Bの位置関係とした場合の、合成画像54Fの一例を示す模式図である。合成画像54Fは、合成画像54の一例である。この場合、合成画像54Fにおける、実空間に存在する直線を写したライン45は、変形投影面42の立上りライン44に相当する領域を境に歪んだラインとなる。
【0154】
そこで、本実施形態の仮想視点視線決定部34は、移動体2の自己位置Sを仮想視点Oとして決定し、移動体2の自己位置Sに最も近い検出点Pを通り且つ変形投影面42に対して垂直な方向を視線方向Lとして決定することが好ましい。そして、投影変換部36は、投影画像51を、該仮想視点Oから視線方向Lに視認した画像である仮想視点画像に変換することが好ましい。
【0155】
この場合、移動体2が移動した場合であっても、視線方向Lは、変形投影面42に対して垂直な方向となるように維持される(
図5B参照)。このため、
図14Aに示すように、合成画像54Eは、変形投影面42の立上りライン44に相当する領域に歪みを含まない画像となる。このため、合成画像54Eにおける、実空間に存在する直線を写したライン45は、実空間に存在する該直線と同様に直線状のラインとなる。
【0156】
このため、本実施形態の画像処理装置10は、上記効果に加えて、合成画像54の精度向上を図ることができる。
【0157】
ここで、移動体2の周辺の互いに異なる方向の各々に、柱Cなどの物体が含まれる場合がある。この様な状態の場合に、仮想視点Oから最も近い1つの検出点Pへ向かう方向を視線方向Lとすると、実空間に存在するこれらの物体の内の少なくとも1つを含まない合成画像54となる場合がある。
【0158】
図15Aは、撮影画像50Hの一例を示す図である。撮影画像50Hは、撮影画像50の一例である。撮影画像50Hには、複数の物体C1および物体C2が含まれる場合を想定する。
【0159】
この場合、移動体2に対して最も近い位置に存在する検出点Pへ向かう方向を視線方向Lとすると、
図15Bに示す合成画像54Hが出力される場合がある。
図15Bは、合成画像54Hの一例を示す模式図である。合成画像54Hは、合成画像54の一例である。
【0160】
図15Bに示すように、合成画像54には、物体C2を写した像C2’は含まれるが、物体C1を写した像C1’が含まれない状態となる。
【0161】
そこで、決定部30は、移動体2の自己位置Sに近い順に予め定めた数の複数の検出点Pの漸近曲線Qに沿った形状となるように変形した形状を、投影形状41として決定することができる。そして、仮想視点視線決定部34は、移動体2の自己位置Sを仮想視点Oとし、該仮想視点Oから漸近曲線Qの頂点Wの位置に向かう方向を視線方向Lとして決定することができる。
【0162】
視線方向Lを頂点Wの位置に向かう方向とすることで、
図6に示すように、投影画像51および合成画像54は複数の物体の像C1’および像C2’を写した画像となる。このため、本実施形態の画像処理装置10は、上記効果に加えて、更に、合成画像54の精度向上を図ることができる。
【0163】
また、上述したように、本実施形態では、検出点登録部22によるスキャンマッチングの結果、環境地図情報26Aに登録済の検出点Pと、新たに取得した検出点Pと、が所定割合以上不一致である場合、該新たに取得した検出点Pの位置情報を破棄することができる。このため、本実施形態の画像処理装置10は、上記効果に加えて、環境地図情報26Aの信頼性を高めることができる。また、画像処理装置10は、変形投影面42の時間方向での揺らぎを抑制することができ、合成画像54の安定化を図ることができる。
【0164】
(第2の実施形態)
上記第1の実施形態では、検出部14で検出点Pの位置情報を検出する形態を一例として説明した。本実施形態では、撮影部12による撮影画像50から検出点Pの位置情報を取得する形態を説明する。
【0165】
図16は、本実施形態の画像処理装置11の機能的構成の一例を示す図である。画像処理装置11は、第1の実施形態の画像処理装置10と同様に、撮影部12および表示部16とデータまたは信号を授受可能に接続されている。撮影部12および表示部16は、第1の実施形態と同様である。なお、本実施形態では、撮影部12は、単眼カメラである場合を想定して説明する。
【0166】
図16には、データの入出力関係を明確にするために、画像処理装置11に加えて、撮影部12、および表示部16を併せて図示した。
【0167】
画像処理装置11は、取得部21と、選択部23と、マッチング部25と、自己位置推定部27と、検出点登録部29と、記憶部26と、補正部28と、決定部30と、変形部32と、仮想視点視線決定部34と、投影変換部36と、画像合成部38と、を備える。
【0168】
上記複数の各部の一部または全ては、例えば、CPU10Aなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよい。また、上記複数の各部の一部または全ては、ICなどのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【0169】
記憶部26、補正部28、決定部30、変形部32、仮想視点視線決定部34、投影変換部36、および画像合成部38は、第1の実施形態と同様である。記憶部26は、環境地図情報26Aを記憶する。環境地図情報26Aは、第1の実施形態と同様である。
【0170】
取得部21は、撮影部12から撮影画像50を取得する。取得部21は、撮影部12(撮影部12A~撮影部12D)の各々から撮影画像50を取得する。
【0171】
取得部21は、撮影画像50を取得するごとに、取得した撮影画像50を投影変換部36および選択部23へ出力する。
【0172】
選択部23は、検出点Pの検出領域を選択する。本実施形態では、選択部23は、複数の撮影部12(撮影部12A~撮影部12D)の内、何れかの撮影部12を選択することで、検出領域を選択する。
【0173】
本実施形態では、選択部23は、ECU3から受信したCANデータに含まれる車両状態情報、検出方向情報、または、ユーザによる操作指示によって入力された指示情報を用いて、何れか1つの撮影部12を選択する。
【0174】
車両状態情報は、例えば、移動体2の進行方向、移動体2の方向指示の状態、移動体2のギアの状態、などを示す情報である。車両状態情報は、CANデータから導出可能である。検出方向情報は、注目すべき情報を検出した方向を示す情報であり、POI(Point of Interest)技術により導出可能である。指示情報は、注目すべき方向を示す情報であり、ユーザによる操作指示によって入力される。
【0175】
例えば、選択部23は、車両状態情報を用いて、検出領域の方向を選択する。具体的には、選択部23は、車両状態情報を用いて、移動体2の後方駐車を示す後方駐車情報、縦列駐車を示す縦列駐車情報、などの駐車情報を特定する。選択部23は、駐車情報と、何れか1つの撮影部12の識別情報と、を対応付けて予め記憶する。例えば、選択部23は、後方駐車情報に対応付けて、移動体2の後方を撮影する撮影部12D(
図1参照)の識別情報を予め記憶する。また、選択部23は、縦列駐車情報に対応付けて、移動体2の左右方向を撮影する撮影部12Bおよび撮影部12C(
図1参照)の各々の識別情報を予め記憶する。
【0176】
そして、選択部23は、受付けた車両状態情報から導出した駐車情報に対応する撮影部12を選択することで、検出領域の方向を選択する。
【0177】
また、選択部23は、検出方向情報によって示される方向を撮影領域Eとする撮影部12を選択してもよい。また、選択部23は、POI技術により導出された検出方向情報によって示される方向を撮影領域Eとする撮影部12を選択してもよい。
【0178】
選択部23は、取得部21で取得した撮影画像50の内、選択した撮影部12で撮影された撮影画像50をマッチング部25へ出力する。
【0179】
マッチング部25は、撮影タイミングの異なる複数の撮影画像50について、特徴量の抽出処理と、各画像間のマッチング処理とを行う。詳細には、マッチング部25は、これらの複数の撮影画像50から特徴量抽出処理を行う。そして、撮影タイミングの異なる複数の撮影画像50について、それぞれの間で特徴量を用いて、該複数の撮影画像50間の対応する点を特定するマッチング処理を行う。そして、マッチング部25は、該マッチング処理結果を自己位置推定部27へ出力する。また、マッチング部25は、特定された、複数の撮影画像50間の対応する点の情報を、環境地図情報26Aに登録する。
【0180】
自己位置推定部27は、マッチング部25から取得したマッチング処理結果に含まれる、対応すると特定された点の情報を用いて、三角測量により、移動体2の自己位置情報を推定する。自己位置情報には、例えば、異なる撮影タイミングのそれぞれに対応する移動体2の位置や撮影部12の向きなどの情報が含まれる。
【0181】
そして、自己位置推定部27は、算出した自己位置情報を、環境地図情報26Aへ登録する。
【0182】
検出点登録部29は、自己位置推定部27により推定された、異なる撮影タイミングのそれぞれに対応する移動体2の自己位置情報を用いて、移動体2の移動量(並進量および回転量)を求める。そして、該移動量から、マッチング部25により特定された複数の撮影画像50間の対応する点の、移動体2の自己位置に対する相対的な座標を求める。そして、検出点登録部29は、該座標を検出点Pの座標として、環境地図情報26Aに登録する。なお、環境地図情報26Aに登録される検出点Pの座標は、所定位置を原点とした座標に変換されたものであってもよい。
【0183】
このように、本実施形態では、画像処理装置11は、Visual SLAM(Simultaneous Localization and Mapping)により、撮影部12で撮影された撮影画像50から検出点Pの位置情報と移動体2の自己位置情報とを同時に推定する。
【0184】
なお、決定部30による投影形状41の決定タイミングは限定されない。例えば、本実施形態では、決定部30は、移動体2の移動によって、選択部23で選択した検出領域に含まれる被写体の大きさがより大きくなるタイミングで得られた撮影画像50を用いて、投影形状41を決定してもよい。
【0185】
次に、画像処理装置11が実行する画像処理の流れの一例を説明する。
【0186】
図17は、画像処理装置11が実行する画像処理の流れの一例を示すフローチャートである。
【0187】
取得部21が、撮影部12から撮影画像50を取得する(ステップS200)。
【0188】
選択部23は、複数の撮影部12(撮影部12A~撮影部12D)の内、何れかの撮影部12を選択する(ステップS202)。
【0189】
マッチング部25は、ステップS200で取得した撮影画像50の内、ステップS202で選択された撮影部12で撮影された、撮影タイミングの異なる複数の撮影画像50を用いて、特徴量の抽出とマッチング処理を行う(ステップS204)。また、マッチング部25は、マッチング処理により特定された、撮影タイミングの異なる複数の撮影画像50間の対応する点の情報を、環境地図情報26Aに登録する。
【0190】
自己位置推定部27は、環境地図情報26Aを読取り(ステップS206)、該環境地図情報26Aに登録されている、対応すると特定された点の情報を用いて、三角測量により、異なる撮影タイミングのそれぞれに対応する移動体2の自己位置情報を推定する(ステップS208)。
【0191】
そして、自己位置推定部27は、算出した自己位置情報を、環境地図情報26Aへ登録する(ステップS210)。
【0192】
検出点登録部29は、環境地図情報26Aを読取り(ステップS212)、異なる撮影タイミングのそれぞれに対応する移動体2の自己位置情報を用いて、移動体2の移動量(並進量および回転量)を求める。そして、該移動量から、ステップS204のマッチング処理により特定された、撮影タイミングの異なる複数の撮影画像50間の対応する点の、移動体2の自己位置に対する相対的な座標を求める。そして、検出点登録部29は、該座標を検出点Pの座標として、環境地図情報26Aへ登録する(ステップS214)。なお、環境地図情報26Aに登録される検出点Pの座標は、所定位置を原点とした座標に変換されたものであってもよい。
【0193】
そして、画像処理装置11は、第1の実施形態のステップS112~ステップS138と同様にして、ステップS216~ステップS242の処理を実行し、本ルーチンを終了する。なお、ステップS216の補正処理を実行した後にステップS242からステップS200へ戻る場合、その後のステップS216の補正処理を省略する場合があってもよい。また、ステップS216の補正処理を実行せずにステップS242からステップS200へ戻る場合、その後のステップS216の補正処理を実行する場合があってもよい。
【0194】
図18は、画像処理装置11による画像処理のタイミングチャートの一例を示す模式図である。
【0195】
図18中、“CI”は、撮影画像の取得を意味する。“RI”は、ユーザによる操作指示によって入力された指示情報の取得を意味する。“RC”は、取得部21によるCANデータの取得を意味する。“SC”は、選択部23による撮影部12の選択処理を意味する。“FM”は、マッチング部25による特徴量の抽出処理およびマッチング処理を意味する。“RD”は、環境地図情報26Aの読取処理を意味する。“PO”は、自己位置推定部27による自己位置情報の推定処理を意味する。“WP”は、自己位置推定部27による自己位置情報の環境地図情報26Aへの登録を意味する。“CM”は、環境地図情報26Aの作成処理を意味する。“WM”は、環境地図情報26Aへの書込処理を意味する。“WD”は、環境地図情報26Aへの検出点Pの位置情報と自己位置情報の書込処理を意味する。
【0196】
また、
図18中、“RS”は、絶対距離換算部30Aによる、CANデータに含まれる移動体2の速度データの読取処理を意味する。“AD”は、絶対距離換算部30Aによる、検出点Pの各々の絶対距離である距離情報の算出処理を意味する。“2D”は、抽出部30Bによる、特定の範囲内に存在する検出点Pの抽出処理を意味する。“DD”は、最近傍特定部30Cによる、移動体2に最も近い検出点P、または、移動体2に近い順に複数の検出点Pの特定処理を意味する。なお、“DD”は、移動体2の自己位置Sから見た角度範囲ごとに最も近い検出点Pを特定する処理、または移動体2に近い順に複数の検出点Pを特定する処理、を意味してもよい。“CB”は、基準投影面形状選択部30Dによる、基準投影面40の形状の選択処理を意味する。“CS”は、スケール決定部30Eによつ、基準投影面40のスケール決定処理を意味する。“CC”は、漸近曲線算出部30Fによる漸近曲線Qの算出処理を意味する。“DS”は、形状決定部30Gによる、投影形状41の決定処理を意味する。“VP”は、仮想視点視線決定部34による、仮想視点視線情報の決定処理を意味する。
【0197】
また、
図18“検出点登録処理”は、検出点登録部29よる環境地図情報26Aへの検出点Pの位置情報の登録処理である。“自己位置推定処理”は、自己位置推定部27よる移動体2の自己位置情報の推定処理および環境地図情報26Aへの登録処理である。“補正処理”は、補正部28による検出点Pの位置情報または移動体2の自己位置情報の補正処理である。“表示制御処理”は、取得部20による撮影画像50の取得、決定部30による投影形状41の決定(投影形状決定)、変形部32による基準投影面40の変形(投影形状変換)、投影変換部36による仮想視点画像の生成(投影変換)、画像合成部38による合成画像54の生成(合成画像生成)、画像合成部38による合成画像54の表示制御、を含む処理である。また、
図18に示される状況T1~状況T4は、上記第1の実施形態と同様である。
【0198】
図18に示すように、状況T1~状況T4の各々のタイミングごとに、各々の状況の撮影画像50を用いた処理が実行される。このため、環境地図情報26Aには、各タイミングで検出された複数の検出点Pの各々の位置情報が、順次追加登録されていく。また、環境地図情報26Aには、推定された自己位置情報が順次登録される。
【0199】
そして、画像処理装置10は、状況T1~状況T4の各々のタイミングごとに、環境地図情報26Aに登録されている検出点Pの位置情報および自己位置Sの自己位置情報を用いて、上記表示制御処理を実行する。
【0200】
すなわち、本実施形態の画像処理装置11は、Visual SLAMにより、撮影部12で撮影された撮影画像50から検出点Pの位置情報と移動体2の自己位置情報とを同時に推定し、環境地図情報26Aへ登録する。
【0201】
ここで、従来技術では、実際の物体との距離に応じて投影面(基準投影面40)を変形することが困難な場合があった。
【0202】
具体的には、
図10Bおよび
図11Bを用いて説明したように、従来技術では、基準投影面40が検出領域F外の柱Cに応じて変形されないため、従来の合成画像530Bにおける、柱Cに相当する領域CA’が歪んだ画像となっていた。
【0203】
一方、第2の実施形態の画像処理装置11では、撮影部12で撮影された過去の物体の検出点Pの位置情報も環境地図情報26Aに蓄積される。このため、画像処理装置11では、撮影部12で撮影された現在の画像に物体が写っていない場合も、過去の物体の検出点Pの位置情報に基づいて投影面の形状が変形された合成画像54を提供することができる。
【0204】
図19は、画像処理装置11が出力する合成画像54Hの一例を示す画像である。合成画像54Hは、合成画像54の一例である。
図19に示すように、画像処理装置11は、実際の物体との距離に応じて投影面(基準投影面40)を変形させて合成画像54Hを出力することができる。
【0205】
従って、本実施形態の画像処理装置11は、検出部14を用いずとも撮影部12を用いることで、合成画像54を提供することができる。なお、画像処理装置11は、撮影部12に加えて検出部14を用いて合成画像54を提供してもよい。
【0206】
なお、本実施形態の画像処理装置11は、特に、移動体2の駐車時などの所定速度以下の低速走行時に特に好適に適用可能である。
【0207】
以上、実施形態について説明したが、本願の開示する画像処理装置、画像処理方法、および画像処理プログラムは、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【0208】
なお、上記第1の実施形態および第2の実施形態の画像処理装置10および画像処理装置11は、各種の装置に適用可能である。例えば、上記第1の実施形態および第2の実施形態の画像処理装置10および画像処理装置11は、監視カメラから得られる映像を処理する監視カメラシステム、または車外の周辺環境の画像を処理する車載システムなどに適用することができる。
【符号の説明】
【0209】
10、11 画像処理装置
12 撮影部
14 検出部
22、29 検出点登録部
24、27 自己位置推定部
26A 環境地図情報
28 補正部
30 決定部
32 変形部
34 仮想視点視線決定部
36 投影変換部
38 画像合成部