(57)【要約】【課題】地面に設けられた図形の認識における処理負荷を抑制する。【解決手段】画像処理装置は、第１パターン及び第２パターンを含むマーカの撮像に基づいて得られた対象画像と、前記第１パターンを含む第１テンプレートとのマッチングを実行することにより、前記対象画像における前記第１パターンを検出する第１マッチング処理を実行する第１マッチング処理部と、前記第１マッチング処理によって検出された前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、前記第２パターンを含む第２テンプレートを回転させながらマッチングを実行することにより、前記対象画像内における前記第２パターンを検出する第２マッチング処理を実行する第２マッチング処理部と、を備え、前記第１パターンはｎ回回転対称の図形であり、前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である。【選択図】図４
2020091797.tif 000002
【特許請求の範囲】
【請求項１】
第１パターン及び第２パターンを含むマーカの撮像に基づいて得られた対象画像と、前記第１パターンを含む第１テンプレートとのマッチングを実行することにより、前記対象画像における前記第１パターンを検出する第１マッチング処理を実行する第１マッチング処理部と、
前記第１マッチング処理によって検出された前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、前記第２パターンを含む第２テンプレートを回転させながらマッチングを実行することにより、前記対象画像内における前記第２パターンを検出する第２マッチング処理を実行する第２マッチング処理部と、
を備え、
前記第１パターンはｎ回回転対称の図形であり、
前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である、
画像処理装置。
【請求項２】
ｍ＝１である、
請求項１に記載の画像処理装置。
【請求項３】
前記第１パターンは円である、
請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記第１マッチング処理は、前記第１テンプレートを第１角度範囲で回転させてマッチングを実行する処理を含み、
前記第２マッチング処理は、前記第２テンプレートを第２角度範囲で回転させてマッチングを実行する処理を含み、
前記第１角度範囲は、前記第２角度範囲よりも小さい、
請求項１から請求項３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第１マッチング処理は、前記第１テンプレートを回転させずにマッチングを実行する処理である、
請求項１から請求項４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第２マッチング処理は、前記対象画像内における前記第２パターンの角度を検出する処理を含む、
請求項１から請求項５のいずれか１項に記載の画像処理装置。
【請求項７】
前記マーカを撮像することによって得られた撮像画像に基づき、前記マーカに正対した位置から撮像された画像に相当する前記対象画像を生成する変換処理を実行する変換処理部をさらに備える、
請求項１から請求項６のいずれか１項に記載の画像処理装置。
【請求項８】
前記画像処理装置は、車両に搭載される車載装置であり、
前記第２マッチング処理により検出された前記第２パターンの位置に基づき生成される、前記車両の走行制御に用いられる走行指令を出力する出力部をさらに備える、
請求項１から請求項７のいずれか１項に記載の画像処理装置。
【請求項９】
第１パターン及び第２パターンを含むマーカの撮像に基づいて得られた対象画像と、前記第１パターンを含む第１テンプレートとのマッチングを実行することにより、前記対象画像における前記第１パターンを検出する第１マッチング処理を実行するステップと、
前記第１マッチング処理によって検出された前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、前記第２パターンを含む第２テンプレートを回転させながらマッチングを実行することにより、前記対象画像内における前記第２パターンを検出する第２マッチング処理を実行するステップと、
を有し、
前記第１パターンはｎ回回転対称の図形であり、
前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である、
画像処理方法。
【請求項１０】
コンピュータに、
第１パターン及び第２パターンを含むマーカの撮像に基づいて得られた対象画像と、前記第１パターンを含む第１テンプレートとのマッチングを実行することにより、前記対象画像における前記第１パターンを検出する第１マッチング処理と、
前記第１マッチング処理によって検出された前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、前記第２パターンを含む第２テンプレートを回転させながらマッチングを実行することにより、前記対象画像内における前記第２パターンを検出する第２マッチング処理と、
を実行させ、
前記第１パターンはｎ回回転対称の図形であり、
前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である、
コンピュータプログラム。
【請求項１１】
画像によるマッチングの対象となるために撮像されるマーカであって、
前記マーカの撮像に基づいて得られた対象画像に対して、第１テンプレートとのマッチングを実行する第１マッチング処理における検出対象である第１パターンと、
前記第１マッチング処理によって検出された前記対象画像における前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、第２テンプレートを回転させながらマッチングを実行する第２マッチング処理における検出対象である第２パターンと、
を含み、
前記第１パターンはｎ回回転対称の図形であり、
前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である、
マーカ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、コンピュータプログラム、及びマーカに関する。
【背景技術】
【０００２】
特許文献１には、画像認識処理により道路標識を判定する方法が開示される。特許文献１に開示の方法では、画像認識処理において、実際の道路標識を撮影した道路標識画像と、標識枠の円と１つの矢印を組み合わせた図形により構成される基本テンプレートとのマッチングが行われる。具体的には、判定の対象となる道路標識画像に対して、基本テンプレートを相対的に回転させつつマッチングが行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−９９１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、道路の路面等の地面に設けられた平面状の図形を車両に搭載されるカメラで撮影すると、画像における図形の角度がカメラと図形との相対的な位置によって変化する。特許文献１に開示された方法では、判定の対象となる図形の角度変化が考慮されておらず、画像によって角度が変化しうる図形を認識するためには、画像の全範囲におけるそれぞれの位置において基本テンプレートを回転させながらマッチングを行う必要がある。よって、画像認識の処理負荷が高い。
【課題を解決するための手段】
【０００５】
本開示は、以下の発明を含む。ただし、本発明は、特許請求の範囲によって定められるものである。
【０００６】
本発明の一態様に係る画像処理装置は、第１パターン及び第２パターンを含むマーカの撮像に基づいて得られた対象画像と、前記第１パターンを含む第１テンプレートとのマッチングを実行することにより、前記対象画像における前記第１パターンを検出する第１マッチング処理を実行する第１マッチング処理部と、前記第１マッチング処理によって検出された前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、前記第２パターンを含む第２テンプレートを回転させながらマッチングを実行することにより、前記対象画像内における前記第２パターンを検出する第２マッチング処理を実行する第２マッチング処理部と、を備え、前記第１パターンはｎ回回転対称の図形であり、前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である。
【０００７】
本発明の一態様に係る画像処理方法は、第１パターン及び第２パターンを含むマーカの撮像に基づいて得られた対象画像と、前記第１パターンを含む第１テンプレートとのマッチングを実行することにより、前記対象画像における前記第１パターンを検出する第１マッチング処理を実行するステップと、前記第１マッチング処理によって検出された前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、前記第２パターンを含む第２テンプレートを回転させながらマッチングを実行することにより、前記対象画像内における前記第２パターンを検出する第２マッチング処理を実行するステップと、を有し、前記第１パターンはｎ回回転対称の図形であり、前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である。
【０００８】
本発明の一態様に係るコンピュータプログラムは、コンピュータに、第１パターン及び第２パターンを含むマーカの撮像に基づいて得られた対象画像と、前記第１パターンを含む第１テンプレートとのマッチングを実行することにより、前記対象画像における前記第１パターンを検出する第１マッチング処理と、前記第１マッチング処理によって検出された前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、前記第２パターンを含む第２テンプレートを回転させながらマッチングを実行することにより、前記対象画像内における前記第２パターンを検出する第２マッチング処理と、を実行させ、前記第１パターンはｎ回回転対称の図形であり、前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である。
【０００９】
本発明の一態様に係るマーカは、画像によるマッチングの対象となるために撮像されるマーカであって、前記マーカの撮像に基づいて得られた対象画像に対して、第１テンプレートとのマッチングを実行する第１マッチング処理における検出対象である第１パターンと、前記第１マッチング処理によって検出された前記対象画像における前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、第２テンプレートを回転させながらマッチングを実行する第２マッチング処理における検出対象である第２パターンと、を含み、前記第１パターンはｎ回回転対称の図形であり、前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である。
【００１０】
本発明は、上記のような特徴的な処理部を備える画像処理装置として実現することができるだけでなく、かかる特徴的な処理をステップとする画像処理方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。また、画像処理装置の一部又は全部を半導体集積回路として実現したり、画像処理装置を含む画像処理システムとして実現したりすることができる。
【発明の効果】
【００１１】
本発明によれば、画像認識における処理負荷を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係る自動駐車システムの構成の一例を示す模式図である。
【図２】実施形態に係る車載システムの構成の一例を示すブロック図である。
【図３】実施形態に係る自動運転車載装置の構成を示すブロック図である。
【図４】実施形態に係る自動運転車載装置の機能ブロック図である。
【図５】鳥瞰変換の概要を説明する図である。
【図６Ａ】実施形態に係るマーカの構成の一例を示す平面図である。
【図６Ｂ】実施形態に係るマーカの構成の他の例を示す平面図である。
【図６Ｃ】実施形態に係るマーカの構成のさらに他の例を示す平面図である。
【図７Ａ】図６Ａに示されるマーカにおける第１テンプレート及び第２テンプレートの例を示す図である。
【図７Ｂ】図６Ｂに示されるマーカにおける第１テンプレート及び第２テンプレートの例を示す図である。
【図７Ｃ】図６Ｃに示されるマーカにおける第１テンプレート及び第２テンプレートの例を示す図である。
【図８Ａ】図６Ａの例における第１マッチング処理の概要を説明する図である。
【図８Ｂ】図６Ａの例における第２マッチング処理の概要を説明する図である。
【図９】実施形態に係る自動運転車載装置による駐車制御処理の手順の一例を示すフローチャートである。
【図１０】実施形態に係る第１マッチング処理の手順の一例を示すフローチャートである。
【図１１】実施形態に係る第２マッチング処理の手順の一例を示すフローチャートである。
【図１２Ａ】実施形態に係る第１パターンの変形例を示す図である。
【図１２Ｂ】実施形態に係る第１パターンの変形例を示す図である。
【図１３】実施形態に係る第１マッチング処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
＜本発明の実施形態の概要＞
以下、本発明の実施形態の概要を列記して説明する。
【００１４】
（１）  本実施形態に係る画像処理装置は、第１パターン及び第２パターンを含むマーカの撮像に基づいて得られた対象画像と、前記第１パターンを含む第１テンプレートとのマッチングを実行することにより、前記対象画像における前記第１パターンを検出する第１マッチング処理を実行する第１マッチング処理部と、前記第１マッチング処理によって検出された前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、前記第２パターンを含む第２テンプレートを回転させながらマッチングを実行することにより、前記対象画像内における前記第２パターンを検出する第２マッチング処理を実行する第２マッチング処理部と、を備え、前記第１パターンはｎ回回転対称の図形であり、前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である。第１パターンはｎ回回転対称の図形であるため、第１マッチング処理において第１テンプレートの回転が必要なく又は回転角度範囲を小さくすることができる。また、第２マッチング処理では、第２パターンの検出範囲が限定される。このため、画像認識における処理負荷を抑制することができる。なお、マッチングは、画像同士の照合を行う処理であり、パターンマッチング、特徴量マッチングなどが含まれる。
【００１５】
（２）  また、本実施形態に係る画像処理装置において、ｍ＝１であってもよい。これにより、第２パターンは１回回転対称となり、第２マッチング処理により対象画像におけるマーカの角度が一意に特定される。
【００１６】
（３）  また、本実施形態に係る画像処理装置において、前記第１パターンは円であってもよい。これにより、第１マッチング処理において第１テンプレートを回転させることなく第１パターンを検出することができ、画像認識における処理負荷をより一層抑制することができる。なお、ここでいう「円」は、ｎ回回転対称（ｎ＝∞）の図形を意味し、単一の円だけでなく、複数の同心円も含む。
【００１７】
（４）  また、本実施形態に係る画像処理装置において、前記第１マッチング処理は、前記第１テンプレートを第１角度範囲で回転させてマッチングを実行する処理を含み、前記第２マッチング処理は、前記第２テンプレートを第２角度範囲で回転させてマッチングを実行する処理を含み、前記第１角度範囲は、前記第２角度範囲よりも小さくてもよい。これにより、第１マッチング処理において小さい第１角度範囲で第１テンプレートを回転させればよく、第１マッチング処理の処理負荷を抑制できる。また、第２マッチング処理では大きい第２角度範囲で第２テンプレートを回転させるので、高精度に第２パターンを検出することができる。
【００１８】
（５）  また、本実施形態に係る画像処理装置において、前記第１マッチング処理は、前記第１テンプレートを回転させずにマッチングを実行する処理であってもよい。これにより、画像認識における処理負荷をより一層抑制することができる。例えば、第１パターンが円であれば、第１マッチング処理において第１テンプレートを回転させることなく、第１パターンを検出することができる。また、第１パターンが円でなくても、円の要素を有する図形であれば、第１テンプレートを回転させずに第１パターンを検出することができる場合がある。
【００１９】
（６）  また、本実施形態に係る画像処理装置において、前記第２マッチング処理は、前記対象画像内における前記第２パターンの角度を検出する処理を含んでもよい。例えば、マーカが路面に設けられている場合、検出された第２パターンの角度を用いて、撮影位置とマーカとの相対的な角度を特定することができる。このように、第２パターンの角度を検出することで、画像認識の処理結果の有用性がさらに向上する。
【００２０】
（７）  また、本実施形態に係る画像処理装置において、前記画像処理装置は、前記マーカを撮像することによって得られた撮像画像に基づき、前記マーカに正対した位置から撮像された画像に相当する前記対象画像を生成する変換処理を実行する変換処理部をさらに備えてもよい。これにより、例えば、路面に設置されたマーカを車両から撮像した場合のように、マーカに正対した位置から撮像されていなくても、マーカに正対した位置から撮像された画像に相当する対象画像を得ることができ、第１及び第２マッチング処理を適切に実行することができる。
【００２１】
（８）  また、本実施形態に係る画像処理装置において、前記画像処理装置は、車両に搭載される車載装置であり、前記第２マッチング処理により検出された前記第２パターンの位置に基づき生成される、前記車両の走行制御に用いられる走行指令を出力する出力部をさらに備えてもよい。これにより、対象画像に対する画像認識の処理結果に基づいて、車両の走行制御を行うことができる。
【００２２】
（９）  本実施形態に係る画像処理方法は、第１パターン及び第２パターンを含むマーカの撮像に基づいて得られた対象画像と、前記第１パターンを含む第１テンプレートとのマッチングを実行することにより、前記対象画像における前記第１パターンを検出する第１マッチング処理を実行するステップと、前記第１マッチング処理によって検出された前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、前記第２パターンを含む第２テンプレートを回転させながらマッチングを実行することにより、前記対象画像内における前記第２パターンを検出する第２マッチング処理を実行するステップと、を有し、前記第１パターンはｎ回回転対称の図形であり、前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である。第１パターンはｎ回回転対称の図形であるため、第１マッチング処理において第１テンプレートの回転が必要なく又は回転角度範囲を小さくすることができる。また、第２マッチング処理では、第２パターンの検出範囲が限定される。このため、画像認識における処理負荷を抑制することができる。
【００２３】
（１０）  本実施形態に係るコンピュータプログラムは、コンピュータに、第１パターン及び第２パターンを含むマーカの撮像に基づいて得られた対象画像と、前記第１パターンを含む第１テンプレートとのマッチングを実行することにより、前記対象画像における前記第１パターンを検出する第１マッチング処理と、前記第１マッチング処理によって検出された前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、前記第２パターンを含む第２テンプレートを回転させながらマッチングを実行することにより、前記対象画像内における前記第２パターンを検出する第２マッチング処理と、を実行させ、前記第１パターンはｎ回回転対称の図形であり、前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である。第１パターンはｎ回回転対称の図形であるため、第１マッチング処理において第１テンプレートの回転が必要なく又は回転角度範囲を小さくすることができる。また、第２マッチング処理では、第２パターンの検出範囲が限定される。このため、画像認識における処理負荷を抑制することができる。
【００２４】
（１１）  本実施形態に係るマーカは、マッチングの対象となるために撮像されるマーカであって、前記マーカの撮像に基づいて得られた対象画像に対して、第１テンプレートとのマッチングを実行する第１マッチング処理における検出対象である第１パターンと、前記第１マッチング処理によって検出された前記対象画像における前記第１パターンの位置に基づく前記対象画像内の検出範囲に対して、第２テンプレートを回転させながらマッチングを実行する第２マッチング処理における検出対象である第２パターンと、を含み、前記第１パターンはｎ回回転対称の図形であり、前記第２パターンはｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の図形である。第１パターンはｎ回回転対称の図形であるため、第１マッチング処理において第１テンプレートの回転が必要なく又は回転角度範囲を小さくすることができる。また、第２マッチング処理では、第２パターンの検出範囲が限定される。このため、画像認識における処理負荷を抑制することができる。
【００２５】
＜本発明の実施形態の詳細＞
以下、図面を参照しつつ、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００２６】
［１．自動駐車システムの構成］
図１は、本実施形態に係る自動駐車システムの構成の一例を示す模式図である。図１に示す自動駐車システム１は、駐車スペースに車両を自動駐車させるシステムである。図１中、駐車スペースＳは、１台の車両１０を駐車させるために白線Ｈで区画された矩形状の領域である。なお、図１では、車両１０が進行する方向に沿った駐車スペースＳの長手方向をＹ方向、長手方向に直交する幅方向をＸ方向とする。また、Ｙ方向のうち、車両１０が駐車スペースＳへ進入する方向をＹ１方向、駐車スペースＳから退出する方向（Ｙ１方向の逆方向）をＹ２方向とする。
【００２７】
本実施形態に係る自動駐車システム１は、エンジン車、電動車等の動力源を有する車両１０を駐車スペースＳに自動駐車させる。なお、「エンジン車」は、エンジンの動力によって推進する車両をいう。「電動車」は、モータの動力によって推進する車両をいい、ＥＶ（Electric Vehicle）、ＰＨＶ（Plug-in Hybrid Vehicle）、ＨＶ（Hybrid Vehicle）を含む。以下では、電動車を自動駐車させる自動駐車システムについて説明する。
【００２８】
本実施形態に係る自動駐車システム１は、車両１０を後方に進行させて駐車スペースＳに駐車させる。なお、この構成は一例であり、車両１０を前方に進行させて駐車させる構成であってもよい。
【００２９】
駐車スペースＳの例えばＸ及びＹ方向それぞれの中央位置は、駐車スペースＳに駐車される車両１０の目標駐車位置ＰＴである。目標駐車位置ＰＴに対して特定の位置、例えば、目標駐車位置ＰＴ、又は目標駐車位置ＰＴからＹ２方向へ所定距離隔てた位置に、マーカ５００が設置される。
【００３０】
本実施形態に係る自動駐車システム１は、車両１０をＹ１方向に直線的に進行させて、駐車スペースＳ内の目標駐車位置ＰＴに停止させる。
【００３１】
車両１０には、画像処理装置である自動運転車載装置４００及びカメラ２００が搭載される。カメラ２００は、車両１０の例えば後部側に取り付けられ、車両１０から後方を撮像することができる。カメラ２００は、自動運転車載装置４００に接続され、自動運転車載装置４００に画像を送信することができる。なお、カメラ２００は車体の任意の場所に取り付けることができる。例えば、車両１０が前進して駐車を行う場合には、車両１０の前部にカメラ２００を取り付け、車両１０の前方を撮像してもよい。また、車両１０の上部、例えばルーフにカメラ２００を取り付け、進行方向に向かって撮像してもよい。
【００３２】
駐車スペースＳへの自動駐車の対象とされる車両１０のカメラ２００でマーカ５００が撮像される。得られた画像（以下、「撮像画像」という）に対して自動運転車載装置４００が画像処理を施すことにより、マーカ５００が撮像された時点での車両１０の位置（初期位置Ｐ０）からマーカ５００までの方向及び距離を特定することができる。また、マーカ５００から目標駐車位置ＰＴまでの方向及び距離が分かっているので、初期位置Ｐ０から目標駐車位置ＰＴまでの方向及び距離も特定することができる。
【００３３】
自動運転車載装置４００は、特定された方向及び距離に基づいて、車両１０を制御するための指令を出力し、これによって車両１０が走行し、目標駐車位置ＰＴにて停止する自動駐車動作を実行する。
【００３４】
［２．車載システムの構成］
図２は、本実施形態に係る車載システムの構成の一例を示すブロック図である。本実施形態に係る車載システム１００は、車両１０に搭載される。
【００３５】
車載システム１００は、例えば、カメラ２００と、車両制御装置３０１と、モータ３０２と、バッテリ３０３と、インバータ３０４と、ステアリング制御装置３０５と、舵角センサ３０６と、モータ３０７と、制動装置３０８と、表示装置３０９と、中継装置３１０と、車外通信機３１１と、自動運転車載装置４００とを備える。
【００３６】
モータ３０２は車軸に接続され、車両１０の駆動トルクを発生する。モータ３０２及びバッテリ３０３にはインバータ３０４が接続される。インバータ３０４は、バッテリ３０３から受電し、モータ３０２を回転駆動する。また、制動時におけるモータ３０２による回生電力は、インバータ３０４を通じてバッテリ３０３に回収される。
【００３７】
ステアリング制御装置３０５は、舵角センサ３０６とモータ３０７とに接続される。ステアリング制御装置３０５は、舵角センサ３０６から舵角の検出値を受信し、図示しないパワーステアリング装置を駆動するモータ３０７を制御する。ステアリング制御装置３０５は、モータ３０７を制御することにより、車両の進行方向を変更するために、操舵輪の舵角、即ちタイヤ角を変更することができる。制動装置３０８は、車両の図示しない車軸に設けられた制動機構を駆動し、進行している車両１０に制動力を発生させることができる。
【００３８】
車両制御装置３０１は、自動運転車載装置４００からの指令値を受信し、目標タイヤ角及び目標車速にしたがってモータ３０２を制御し、ステアリング制御装置３０５に制御指示を与えて車両を走行させたり、制動が必要な場合には制動装置３０８を制御して車両に制動力を生じさせたりする。具体的には、自動運転車載装置４００から、目標タイヤ角の指令値が与えられると、この指令値にしたがってステアリング制御装置３０５に制御指示を与え、ステアリング制御装置３０５が制御指示と舵角センサの検出値とに基づいてモータ３０７を制御して、車両のタイヤ角を目標タイヤ角に設定する。また、自動運転車載装置４００から、目標走行距離の指令値が与えられると、車両制御装置３０１は、この指令値にしたがってモータ３０２及び制動装置３０８を制御して、車両を目標走行距離だけ走行させる。自動運転車載装置４００から、目標位置の指令値が与えられると、車両制御装置３０１は、車両１０が目標位置に到達したか否かを判定する。
【００３９】
表示装置３０９は、車両制御装置３０１、自動運転車載装置４００、及びその他の装置からの表示指示に応じて文字情報又は画像等を表示する。
【００４０】
車両制御装置３０１と、インバータ３０４と、ステアリング制御装置３０５と、制動装置３０８と、表示装置３０９とは、ＣＡＮバス等のバス３５０に接続され、バス３５０には中継装置３１０が接続される。また、自動運転車載装置４００は、ＣＡＮバス等のバス３５１に接続され、バス３５１には中継装置３１０が接続される。
【００４１】
中継装置３１０は、バス３５０，３５１等による車載ネットワークを通じて車載装置間の通信を中継する。即ち、車両制御装置３０１、インバータ３０４、ステアリング制御装置３０５、制動装置３０８、表示装置３０９、及び自動運転車載装置４００のそれぞれは、中継装置３１０を介して相互に通信が可能である。中継装置３１０は、通信線３５２を介して車外通信機３１１に接続される。
【００４２】
車外通信機３１１は、無線通信を行うことが可能である。車外通信機３１１は、無線によって車外の装置、例えば路側機、端末、基地局、サーバ等と通信を行う。これにより、例えば車載装置の制御プログラムの更新データを受信し、対象の車載装置へ中継装置３１０を介して当該更新データを送信したり、車載装置からデータを受信し、当該データを車外の目的の装置へ送信したりする。
【００４３】
［３．自動運転車載装置の構成］
図２に示すように、自動運転車載装置４００は、カメラ２００に接続され、カメラ２００によって得られた画像を受信する。自動運転車載装置４００は、車両制御装置３０１に接続される。自動運転車載装置４００は、目標タイヤ角、目標走行距離、及び目標中間位置を決定し、決定された目標タイヤ角、目標走行距離、及び目標中間位置の各情報を含む指令値を車両制御装置３０１に出力する。
【００４４】
図３は、本実施形態に係る自動運転車載装置４００の構成を示すブロック図である。自動運転車載装置４００は、ＣＰＵ４０１と、メモリ４０２と、通信インタフェース（出力部）４０５とを備える。メモリ４０２には、ＳＲＡＭ、ＤＲＡＭ等の一過性メモリ及びフラッシュメモリ等の非一過性メモリが含まれ、コンピュータプログラムである駐車制御プログラム４０３及び駐車制御プログラム４０３の実行に使用されるデータが格納される。自動運転車載装置４００は、コンピュータを備えて構成され、自動運転車載装置４００の各機能は、前記コンピュータの記憶装置に記憶されたコンピュータプログラムである駐車制御プログラム４０３がＣＰＵ４０１によって実行されることで発揮される。駐車制御プログラム４０３は、ＣＤ−ＲＯＭなどの記録媒体に記憶させることができる。ＣＰＵ４０１は、駐車制御プログラム４０３を実行し、後述するような駐車制御処理を行う。
【００４５】
ＣＰＵ４０１は、カメラ２００から送信された画像に対する画像処理であるパターン認識処理を実行する。このパターン認識処理により、ＣＰＵ４０１は、車両の初期位置における姿勢である車体角と、初期位置とを検出する。
【００４６】
通信インタフェース４０５はバス３５１に接続されており、車載システム１００に含まれる各装置に対して通信を行うことが可能である。例えば、通信インタフェース４０５は、車両制御装置３０１へ走行指令、電気的制動指令等の指令を出力することができる。
【００４７】
図４は、自動運転車載装置４００の機能ブロック図である。自動運転車載装置４００は、ＣＰＵ４０１が駐車制御プログラム４０３を実行することにより、入力部４１０と、変換処理部４２０と、第１マッチング処理部４３０と、第２マッチング処理部４４０と、決定部４５０と、出力部４６０として機能する。
【００４８】
入力部４１０は、カメラ２００から出力される画像データ（撮像画像）を受信する。
【００４９】
変換処理部４２０は、カメラ２００から受信された撮像画像に対して鳥瞰変換を実行する。図５は、鳥瞰変換の概要を説明する図である。鳥瞰変換は、撮像画像６３０に基づき、マーカ５００に正対した位置、即ち、マーカ５００の直上から撮像された画像に相当する対象画像６５０を生成する処理である。撮像画像６３０は、車両１０に設置されたカメラ２００による撮像によって得られる。カメラ２００の光軸に対して路面は傾斜しているため、マーカ５００は傾斜した状態で撮像される。したがって、撮像画像６３０において、マーカ５００の像は、カメラ２００に近い位置ほど大きく、カメラ２００から遠い位置ほど小さく歪んでいる。鳥瞰変換では、このような撮像画像６３０の歪みを補正し、マーカ５００に正対した位置から撮像された画像に相当する対象画像６５０が生成される。
【００５０】
図６Ａは、マーカ５００の構成の一例を示す平面図である。マーカ５００は、第１パターン５１０と第２パターン５２０とを含む。第１パターン５１０はｎ回回転対称の２次元図形であり、第２パターン５２０はｍ回回転対称の２次元図形である。ただし、ｎ及びｍはｎ＞ｍを満たす自然数である。
【００５１】
図６Ａの例では、第１パターン５１０は同心円である。円（同心円を含む）はｎ回回転対称（ｎ＝∞）の２次元図形である。円は、その中心周りに回転させても形状が変わらない。換言すると、円は角度情報を有しない図形である。また、第２パターン５２０は１回回転対称の２次元図形、即ち回転対称性のない２次元図形である。円（同心円を含む）以外の２次元図形は、特定の角度回転させると形状が変化する。換言すると、円以外の２次元図形は、角度情報を有する図形である。したがって、第２パターン５２０は角度情報を有する図形である。図６Ａの例では、第１パターン５１０と第２パターン５２０とがそれぞれ別々の図形によって構成される。
【００５２】
図６Ｂは、マーカ５００の構成の他の例を示す平面図である。図６Ｂの例では、第１パターン５１０は同心円、即ちｎ回回転対称（ｎ＝∞）の２次元図形である。第２パターン５２０は、第１パターン５１０を含む３つの同心円により構成される図形である。つまり、図６Ｂの例では、第２パターン５２０の構成要素の一部が第１パターン５１０である。図６Ｂの例では、３つの同心円により構成される三角形が、三辺の長さが全て異なる三角形である。つまり、３つの同心円により構成される三角形は、二等辺三角形（正三角形を含む）ではない。この第２パターン５２０は１回回転対称の２次元図形である。
【００５３】
図６Ｃは、マーカ５００の構成のさらに他の例を示す平面図である。図６Ｃの例では、第１パターン５１０は同心円、即ちｎ回回転対称（ｎ＝∞）の２次元図形である。第２パターン５２０は、第１パターン５１０を含む２つの同心円により構成される２次元図形である。つまり、図６Ｃの例では、第２パターン５２０の構成要素の一部が第１パターン５１０である。図６Ｃの例では、第２パターン５２０を構成する２つの同心円の大きさ、即ち半径が互いに異なっている。この第２パターン５２０は１回回転対称の２次元図形である。なお、第２パターン５２０が２つの円により構成される場合、半径ではなく、円を描く線の太さ又は種類（実線、破線等）を異ならせてもよい。
【００５４】
再び図４を参照する。第１マッチング処理部４３０は、鳥瞰変換によって得られた対象画像６５０と、第１パターン５１０を含む第１テンプレートとのパターンマッチングを実行することにより、対象画像における第１パターン５１０を検出する第１マッチング処理を実行する。なお、第１マッチング処理は、パターンマッチングに限られず、例えば、対象画像から特徴量を抽出し、抽出された特徴量を第１テンプレートから抽出される特徴量と照合する特徴量マッチングであってもよい。
【００５５】
図７Ａは、図６Ａに示されるマーカ５００における第１テンプレート及び第２テンプレートの例を示す図である。同様に、図７Ｂは、図６Ｂに示されるマーカ５００における第１テンプレート及び第２テンプレートの例を示す図であり、図７Ｃは、図６Ｃに示されるマーカ５００における第１テンプレート及び第２テンプレートの例を示す図である。図７Ａ〜図７Ｃに示されるように、第１テンプレート６１０は第１パターン５１０を含む画像である。第２テンプレート６２０は第２パターン５２０を含む画像である。
【００５６】
図８Ａは、図６Ａの例における第１マッチング処理の概要を説明する図である。第１マッチング処理では、対象画像６５０と第１テンプレート６１０とのパターンマッチングが行われる。第１パターン５１０は円（同心円）であるため、第１マッチング処理において第１テンプレート６１０を回転させる必要はない。したがって、この例の場合、第１マッチング処理では、第１テンプレート６１０を回転させることなく、パターンマッチングが行われる。このため、第１マッチング処理の処理負荷が抑制される。
【００５７】
再び図４を参照する。第２マッチング処理部４４０は、第１マッチング処理によって検出された第１パターン５１０の位置に基づく対象画像６５０内の検出範囲に対して、第２パターンを含む第２テンプレートを回転させながらパターンマッチングを実行することにより、対象画像６５０内における第２パターン５２０を検出する第２マッチング処理を実行する。
【００５８】
図８Ｂは、図６Ａの例における第２マッチング処理の概要を説明する図である。マーカ５００において、第１パターン５１０と第２パターン５２０との距離は決まっている。したがって、対象画像６５０において、第１マッチング処理によって検出された第１パターン５１０の位置を中心に、第２パターン５２０が存在する範囲を特定することができる。この範囲が第２マッチング処理の検出範囲６６０とされる。第２マッチング処理では、検出範囲６６０に対して、第２テンプレート６２０とのパターンマッチングが行われる。パターンマッチングの対象となる検出範囲６６０が限定されるため、第２マッチング処理の処理負荷が抑制される。なお、第２マッチング処理は、パターンマッチングに限られず、例えば、検出範囲から特徴量を抽出し、抽出された特徴量を第２テンプレートから抽出される特徴量と照合する特徴量マッチングであってもよい。
【００５９】
第２パターン５２０は１回回転対称の２次元図形であるため、第２マッチング処理においては、第２テンプレート６２０を回転させなければ正しく第２パターン５２０を検出することができない。したがって、この例の場合、第２マッチング処理では、第２テンプレート６２０を回転させつつ、パターンマッチングが行われる。
【００６０】
再び図４を参照する。決定部４５０は、第２マッチング処理部４４０による検出結果に基づき、初期位置Ｐ０と目標駐車位置ＰＴとの方向及び距離を特定する。また決定部４５０は、車両１０を目標駐車位置ＰＴへ走行させるための走行ルートを決定する。例えば、走行ルートの情報には、走行ルートの距離である目標走行距離、走行ルート上の各位置における目標タイヤ角、目標車速等が含まれる。
【００６１】
出力部４６０は、決定部４５０によって決定された走行ルートで車両１０を走行させるための走行指令を出力する。例えば、走行指令には、目標タイヤ角、目標走行距離、目標車速等の情報が含まれる。出力された指令は、車両制御装置３０１に与えられる。車両制御装置３０１は、出力部４６０から与えられる指令にしたがって、インバータ３０４、ステアリング制御装置３０５、及び制動装置３０８を制御する。これにより、車両１０が走行ルートに沿って走行し、自動駐車が実行される。
【００６２】
入力部４１０及び出力部４６０は、図３の通信インタフェース４０５により実現される。変換処理部４２０、第１マッチング処理部４３０、第２マッチング処理部４４０、及び決定部４５０は、ＣＰＵ４０１により実現される。
【００６３】
［４．自動運転車載装置の動作］
以下、本実施形態に係る自動運転車載装置４００の動作について説明する。自動運転車載装置４００のＣＰＵ４０１は、駐車制御プログラム４０３を実行することにより、駐車制御処理を実行する。
【００６４】
図９は、本実施形態に係る自動運転車載装置４００による駐車制御処理の手順の一例を示すフローチャートである。
【００６５】
自動運転車載装置４００は、カメラ２００から撮像画像６３０を受信する（ステップＳ１０１）。ＣＰＵ４０１は、撮像画像６３０に対して鳥瞰変換を実行し、対象画像６５０を生成する（ステップＳ１０２）。
【００６６】
ＣＰＵ４０１は、第１マッチング処理を実行する（ステップＳ１０３）。第１マッチング処理により、対象画像６５０における第１パターン５１０の位置が検出される。
【００６７】
ＣＰＵ４０１は、第２マッチング処理を実行する（ステップＳ１０４）。第２マッチング処理により、対象画像６５０における第２パターン５２０の位置及び角度が検出される。
【００６８】
ＣＰＵ４０１は、検出された第２パターンの位置及び角度に基づいて、初期位置Ｐ０から目標駐車位置ＰＴまでの方向及び距離を決定する（ステップＳ１０５）。例えば、対象画像６５０における第２パターンの複数の位置それぞれに対応して、初期位置Ｐ０から目標駐車位置ＰＴまでの距離が予め与えられる。また、例えば、対象画像６５０における第２パターンの位置及び角度の複数の組み合わせのそれぞれに対応して、初期位置Ｐ０から目標駐車位置ＰＴまでの方向が予め与えられる。例えば、対象画像６５０における第２パターンの位置及び角度と、初期位置Ｐ０から目標駐車位置ＰＴまでの距離及び方向との対応関係が、予めメモリ４０２に記憶される。ＣＰＵ４０１は、このようにして予め与えられる対応関係を用いて、初期位置Ｐ０から目標駐車位置ＰＴまでの方向及び距離を決定することができる。
【００６９】
ＣＰＵ４０１は、初期位置Ｐ０から目標駐車位置ＰＴまでの方向及び距離に基づいて、車両１０の走行ルートを決定する（ステップＳ１０６）。ＣＰＵ４０１は、決定された走行ルートで車両１０を走行させるための指令を生成し、生成された指令を出力する（ステップＳ１０７）。これにより、通信インタフェース４０５から車両制御装置３０１へ指令が出力される。車両制御装置３０１は、受信された指令から、インバータ３０４、ステアリング制御装置３０５、及び制動装置３０８へ制御信号を出力する。これにより、車両１０が走行ルートに沿って走行し、自動駐車が実行される。
【００７０】
次に、第１マッチング処理について詳細に説明する。図１０は、第１マッチング処理の手順の一例を示すフローチャートである。
【００７１】
第１マッチング処理では、ＣＰＵ４０１が、対象画像６５０を、横方向に延びる画素列１列ずつに沿って走査する。以下の説明において、ｉは対象画像６５０における横方向の画素の位置を示すインデックスであり、ｊは対象画像６５０における縦方向の画素の位置を示すインデックスである。また、対象画像６５０の左上隅の画素の位置を（０，０）とし、右方向に向かうにしたがってｉが増加し、下方向に向かうにしたがってｊが増加することとする。
【００７２】
ＣＰＵ４０１は、ｊに初期値の０をセットし（ステップＳ２０１）、ｉに初期値の０をセットする（ステップＳ２０２）。
【００７３】
次にＣＰＵ４０１は、対象画像６５０から、（ｉ，ｊ）を左上とする所定の大きさの部分画像を切り出し、部分画像と第１テンプレート６１０とのパターンマッチングを行う（ステップＳ２０３）。部分画像のサイズ及び形状は、第１テンプレート６１０と同一である。パターンマッチングにより、部分画像と第１テンプレート６１０との類似度が算出される。ＣＰＵ４０１は、ｉ，ｊと対応付けて類似度をメモリ４０２に記憶させる。
【００７４】
ＣＰＵは、ｉが最大値であるか否かを判定する（ステップＳ２０４）。ｉの最大値は、例えば、対象画像６５０の横方向の画素数から第１テンプレート６１０の横方向の画素数を差し引いた値とすることができる。ｉが最大値でない場合（ステップＳ２０４においてＮＯ）、ＣＰＵ４０１は、ｉをインクリメントし（ステップＳ２０５）、ステップＳ２０３へ処理を移す。これにより、パターンマッチングの対象となる部分画像の切り出し範囲を右へ移動させながら、パターンマッチングが行われる。
【００７５】
ｉが最大値である場合（ステップＳ２０４においてＹＥＳ）、ＣＰＵ４０１は、ｊが最大値であるか否かを判定する（ステップＳ２０６）。ｊの最大値は、例えば、対象画像６５０の縦方向の画素数から第１テンプレート６１０の縦方向の画素数を差し引いた値とすることができる。ｊが最大値でない場合（ステップＳ２０６においてＮＯ）、ＣＰＵ４０１は、ｊをインクリメントし（ステップＳ２０７）、ステップＳ２０２へ処理を移す。これにより、部分画像の切り出し範囲が下に１つ繰り下がる。
【００７６】
ＣＰＵ４０１がステップＳ２０２〜Ｓ２０７の処理をくり返し実行することにより、対象画像６５０の全体に亘って第１テンプレート６１０とのパターンマッチングが実行される。
【００７７】
ｊが最大値である場合（ステップ２０６においてＹＥＳ）、ＣＰＵ４０１は、メモリ４０２に記憶された類似度の中の最大値を特定し、この最大値に対応するｉ，ｊであるｉｍａｘ，ｊｍａｘを、対象画像６５０における第１パターン５１０の位置として決定する（ステップＳ２０８）。こうして、第１パターン５１０の位置が検出される。以上で、第１マッチング処理が終了する。
【００７８】
次に、第２マッチング処理について詳細に説明する。図１１は、第２マッチング処理の手順の一例を示すフローチャートである。
【００７９】
第２マッチング処理では、ＣＰＵ４０１が、対象画像６５０における第１パターン５１０の検出位置（ｉｍａｘ，ｊｍａｘ）に基づく検出範囲６６０を、横方向に延びる画素列１列ずつに沿って走査する。以下の説明において、ｐは検出範囲６６０における横方向の画素の位置を示すインデックスであり、ｑは検出範囲６６０における縦方向の画素の位置を示すインデックスである。また、検出範囲６６０の左上隅の（ｐ，ｑ）を（０，０）とし、右方向に向かうにしたがってｐが増加し、下方向に向かうにしたがってｑが増加することとする。なお、（ｐ，ｑ）は、（ｐ＋ｉｍａｘ，ｑ＋ｊｍａｘ）とすることで、対象画像６５０における（ｉ，ｊ）の座標表現に変換される。
【００８０】
ＣＰＵ４０１は、対象画像６５０における第１パターン５１０の検出位置（ｉｍａｘ，ｊｍａｘ）に基づいて、検出範囲６６０を決定する（ステップＳ３０１）。例えば、検出位置（ｉｍａｘ，ｊｍａｘ）を中心とする所定の半径の範囲が検出範囲６６０として決定される。
【００８１】
ＣＰＵ４０１は、ｑに初期値の０をセットし（ステップＳ３０２）、ｐに初期値の０をセットする（ステップＳ３０３）。
【００８２】
第２マッチング処理では、第２テンプレート６２０を回転させる。第２テンプレートの回転角度をθとする。回転角度θの初期値は０°である。
【００８３】
ＣＰＵ４０１は、対象画像６５０の検出範囲６６０から、（ｐ，ｑ）を左上とする所定の大きさの部分画像を切り出し、部分画像と第２テンプレート６２０とのパターンマッチングを行う（ステップＳ３０４）。部分画像のサイズ及び形状は、第２テンプレート６２０と同一である。パターンマッチングにより、部分画像と第２テンプレート６２０との類似度が算出される。ＣＰＵ４０１は、ｐ，ｑ（又は（ｐ＋ｉｍａｘ，ｑ＋ｊｍａｘ））及び回転角度θと対応付けて類似度をメモリ４０２に記憶させる。
【００８４】
ＣＰＵは、ｐが最大値であるか否かを判定する（ステップＳ３０５）。ｐの最大値は、例えば、検出範囲６６０の横方向の画素数から第２テンプレート６２０の縦方向の画素数及び横方向の画素数うちの小さい方を差し引いた値とすることができる。ｐが最大値でない場合（ステップＳ３０５においてＮＯ）、ＣＰＵ４０１は、ｐをインクリメントし（ステップＳ３０６）、ステップＳ３０４へ処理を移す。これにより、パターンマッチングの対象となる部分画像の切り出し範囲を右へ移動させながら、パターンマッチングが行われる。
【００８５】
ｐが最大値である場合（ステップＳ３０５においてＹＥＳ）、ＣＰＵ４０１は、ｑが最大値であるか否かを判定する（ステップＳ３０７）。ｑの最大値は、例えば、検出範囲６６０の縦方向の画素数から第２テンプレート６２０の縦方向の画素数及び横方向の画素数のうちの小さい方を差し引いた値とすることができる。ｑが最大値でない場合（ステップＳ３０７においてＮＯ）、ＣＰＵ４０１は、ｑをインクリメントし（ステップＳ３０８）、ステップＳ３０３へ処理を移す。これにより、部分画像の切り出し範囲が下に１つ繰り下がる。
【００８６】
ＣＰＵ４０１がステップＳ３０３〜Ｓ３０８の処理をくり返し実行することにより、検出範囲６６０の全体に亘って第２テンプレート６２０とのパターンマッチングが実行される。
【００８７】
ｑが最大値である場合（ステップＳ３０７においてＹＥＳ）、ＣＰＵ４０１は、第２テンプレート６２０の回転角度θが最大値（３６０°）であるか否かを判定する（ステップＳ３０９）。回転角度θが最大値でない場合（ステップＳ３０９においてＮＯ）、ＣＰＵ４０１は、第２テンプレート６２０の回転角度θをインクリメントする（ステップＳ３１０）。つまり、ＣＰＵ４０１は、第２テンプレート６２０を所定方向（例えば、時計回り）に所定角度（例えば、１°）回転させる。ＣＰＵ４０１は、回転角度θをインクリメントした後、ステップＳ３０２に処理を移す。
【００８８】
ＣＰＵ４０１がステップＳ３０２〜Ｓ３１０の処理をくり返し実行することにより、第２テンプレート６２０が回転されながら、検出範囲６６０の全体に亘って第２テンプレート６２０とのパターンマッチングが実行される。
【００８９】
θが最大値である場合（ステップＳ３０９においてＹＥＳ）、ＣＰＵ４０１は、メモリ４０２に記憶された類似度の中の最大値を特定し、この最大値に対応する（ｐ，ｑ）である（ｐｍａｘ，ｑｍａｘ）、又は、（ｉ，ｊ）の座標表現である（ｐｍａｘ＋ｉｍａｘ，ｑｍａｘ＋ｊｍａｘ）を、対象画像６５０における第２パターン５２０の位置として決定し、また、上記の最大値に対応するθであるθｍａｘを、対象画像６５０における第２パターン５２０の角度として決定する（ステップＳ３１１）。こうして、第２パターン５２０の位置及び角度が検出される。以上で、第２マッチング処理が終了する。
【００９０】
［５．変形例］
第１パターンは、ｎ回回転対称（ｎ＝∞）の２次元図形でなくてもよい。図１２Ａ及び図１２Ｂは、第１パターンの変形例を示す図である。
【００９１】
図１２Ａに示される第１パターン５１０は、円と、互いに直交する２つの直径とによって構成される。図１２Ｂに示される第１パターン５１０は、円と、４５°間隔で設けられる４つの直径とによって構成される。図１２Ａの第１パターン５１０は４回回転対称であり、図１２Ｂの第１パターン５１０は８回回転対称である。また、これらの第１パターン５１０は、角度情報を有する図形であるが、図６Ａに示すような、１回回転対称の第２パターン５２０に比べて、角度情報によって示される角度が小さい。
【００９２】
図１２Ａの第１パターン５１０を対象画像から検出する場合、第１マッチング処理において０°以上９０°以下の角度範囲で第１テンプレートを回転させる必要がある。また、図１２Ｂの第１パターン５１０を対象画像から検出する場合、第１マッチング処理において０°以上４５°以下の角度範囲で第１テンプレートを回転させる必要がある。
【００９３】
図１３は、第１マッチング処理の変形例を示すフローチャートである。
【００９４】
ＣＰＵ４０１は、ｊに初期値の０をセットし（ステップＳ２０１）、ｉに初期値の０をセットする（ステップＳ２０２）。
【００９５】
本変形例における第１マッチング処理では、第１テンプレート６１０を回転させる。第１テンプレートの回転角度をφとする。回転角度φの初期値は０°である。
【００９６】
ＣＰＵ４０１は、対象画像６５０から、（ｉ，ｊ）を左上とする所定の大きさの部分画像を切り出し、部分画像と第１テンプレート６１０とのパターンマッチングを行う（ステップＳ２０３）。部分画像のサイズ及び形状は、第１テンプレート６１０と同一である。パターンマッチングにより、部分画像と第１テンプレート６１０との類似度が算出される。ＣＰＵ４０１は、ｉ，ｊ及びφと対応付けて類似度をメモリ４０２に記憶させる。
【００９７】
ＣＰＵは、ｉが最大値であるか否かを判定する（ステップＳ２０４）。ｉの最大値は、例えば、対象画像６５０の横方向の画素数から第１テンプレート６１０の横方向の画素数を差し引いた値とすることができる。ｉが最大値でない場合（ステップＳ２０４においてＮＯ）、ＣＰＵ４０１は、ｉをインクリメントし（ステップＳ２０５）、ステップＳ２０３へ処理を移す。これにより、パターンマッチングの対象となる部分画像の切り出し範囲を右へ移動させながら、パターンマッチングが行われる。
【００９８】
ｉが最大値である場合（ステップＳ２０４においてＹＥＳ）、ＣＰＵ４０１は、ｊが最大値であるか否かを判定する（ステップＳ２０６）。ｊの最大値は、例えば、対象画像６５０の縦方向の画素数から第１テンプレート６１０の縦方向の画素数を差し引いた値とすることができる。ｊが最大値でない場合（ステップＳ２０６においてＮＯ）、ＣＰＵ４０１は、ｊをインクリメントし（ステップＳ２０７）、ステップＳ２０２へ処理を移す。これにより、部分画像の切り出し範囲が下に１つ繰り下がる。
【００９９】
ＣＰＵ４０１がステップＳ２０２〜Ｓ２０７の処理をくり返し実行することにより、対象画像６５０の全体に亘って第１テンプレート６１０とのパターンマッチングが実行される。
【０１００】
ｊが最大値である場合（ステップ２０６においてＹＥＳ）、ＣＰＵ４０１は、第１テンプレート６１０の回転角度φが最大値（図１２Ａの例では９０°。図１２Ｂの例では４５°。）であるか否かを判定する（ステップＳ２１１）。回転角度φが最大値でない場合（ステップＳ２１１においてＮＯ）、ＣＰＵ４０１は、第１テンプレート６１０の回転角度φをインクリメントする（ステップＳ２１２）。つまり、ＣＰＵ４０１は、第１テンプレート６１０を所定方向（例えば、時計回り）に所定角度（例えば、１°）回転させる。ＣＰＵ４０１は、回転角度φをインクリメントした後、ステップＳ２０１に処理を移す。
【０１０１】
φが最大値である場合（ステップ２１１においてＹＥＳ）、ＣＰＵ４０１は、メモリ４０２に記憶された類似度の中の最大値を特定し、この最大値に対応するｉ，ｊであるｉｍａｘ，ｊｍａｘを、対象画像６５０における第１パターン５１０の位置として決定する（ステップＳ２０８）。こうして、第１パターン５１０の位置が検出される。以上で、第１マッチング処理が終了する。
【０１０２】
以上のように、第１パターン５１０が角度情報を有する図形である場合、第１マッチング処理において第１テンプレートを回転させる必要があるが、その回転角度範囲（第１角度範囲）は第２マッチング処理における第２テンプレートの回転角度範囲（０°以上３６０°以下。第２角度範囲）よりも小さい。このため、第１マッチング処理における処理負荷を抑制することができる。
【０１０３】
また、第２パターンは１回回転対称の図形でなくてもよいが、第１パターンがｎ回回転対称の２次元図形である場合、第２パターンはｍ回回転対称の２次元図形である（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）。この場合、第１マッチング処理における第１テンプレートの回転角度範囲（第１角度範囲）は、第２マッチング処理における第２テンプレートの回転角度範囲（第２角度範囲）よりも小さい。
【０１０４】
また、上記の実施形態においては、画像処理装置を自動運転車載装置としたが、これに限定されない。画像処理装置は、自動運転以外の任意の用途に用いられてもよい。
【０１０５】
［６．効果］
以上のように、自動運転車載装置４００は、第１マッチング処理と、第２マッチング処理とを実行する。第１マッチング処理は、第１パターン５１０及び第２パターン５２０を含むマーカ５００の撮像に基づいて得られた対象画像６５０と、第１パターン５１０を含む第１テンプレート６１０とのマッチングを実行することにより、対象画像６５０における第１パターン５１０を検出する処理である。第２マッチング処理は、第１マッチング処理によって検出された第１パターン５１０の位置に基づく対象画像６５０内の検出範囲６６０に対して、第２パターン５２０を含む第２テンプレート６２０を回転させながらマッチングを実行することにより、対象画像６５０内における第２パターン５２０を検出する処理である。第１パターン５１０はｎ回回転対称の２次元図形であり、第２パターン５２０はｍ回回転対称（ただし、ｎ及びｍはｎ＞ｍを満たす自然数）の２次元図形である。第１パターン５１０はｎ回回転対称の２次元図形であるため、第１マッチング処理において第１テンプレート６１０の回転が必要なく又は回転角度範囲を小さくすることができる。また、第２マッチング処理では、第２パターン５２０の検出範囲６６０が限定される。このため、画像認識における処理負荷を抑制することができる。
【０１０６】
また、ｍ＝１であってもよい。これにより、第２パターン５２０は１回回転対称となり、第２マッチング処理により対象画像６５０におけるマーカ５００の角度が一意に特定される。
【０１０７】
また、第１パターン５１０は円であってもよい。これにより、第１マッチング処理において第１テンプレート６１０を回転させることなく第１パターン５１０を検出することができ、画像認識における処理負荷をより一層抑制することができる。
【０１０８】
また、第１マッチング処理は、第１テンプレート６１０を第１角度範囲で回転させてマッチングを実行する処理を含み、第２マッチング処理は、第２テンプレート６２０を第２角度範囲で回転させてマッチングを実行する処理を含み、第１角度範囲は、第２角度範囲よりも小さくてもよい。これにより、第１マッチング処理において小さい第１角度範囲で第１テンプレートを回転させればよく、第１マッチング処理の処理負荷を抑制できる。また、第２マッチング処理では大きい第２角度範囲で第２テンプレートを回転させるので、高精度に第２パターンを検出することができる。
【０１０９】
また、第１マッチング処理は、第１テンプレート６１０を回転させずにマッチングを実行する処理であってもよい。これにより、画像認識における処理負荷をより一層抑制することができる。例えば、第１パターンが円であれば、第１マッチング処理において第１テンプレートを回転させることなく、第１パターンを検出することができる。また、第１パターンが円でなくても、円の要素を有する２次元図形であれば、第１テンプレートを回転させずに第１パターンを検出することができる場合がある。
【０１１０】
また、第２マッチング処理は、対象画像６５０内における第２パターン５２０の角度を検出する処理を含んでもよい。例えば、マーカ５００が路面に設けられている場合、検出された第２パターン５２０の角度を用いて、撮影位置からマーカ５００への方向を特定することができる。このように、第２パターン５２０の角度を検出することで、画像認識の処理結果の有用性がさらに向上する。
【０１１１】
また、自動運転車載装置４００は、マーカ５００を撮像することによって得られた撮像画像６３０に基づき、マーカ５００に正対した位置から撮像された画像に相当する対象画像６５０を生成する変換処理を実行してもよい。これにより、例えば、路面に設置されたマーカ５００を車両１０から撮像した場合のように、マーカ５００に正対した位置から撮像されていなくても、マーカ５００に正対した位置から撮像された画像に相当する対象画像６５０を得ることができ、第１及び第２マッチング処理を適切に実行することができる。
【０１１２】
また、自動運転車載装置４００は、第２マッチング処理により検出された第２パターンの位置に基づき生成される、車両の走行制御に用いられる走行指令を出力してもよい。これにより、対象画像６５０に対する画像認識の処理結果に基づいて、車両１０の走行制御を行うことができる。
【０１１３】
［７．補記］
今回開示された実施の形態は全ての点で例示であって、制限的ではない。本発明の権利範囲は、上述の実施形態ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味及びその範囲内での全ての変更が含まれる。
【符号の説明】
【０１１４】
１  自動駐車システム
１０  車両
１００  車載システム
２００  カメラ
３０１  車両制御装置
３０２  モータ
３０３  バッテリ
３０４  インバータ
３０５  ステアリング制御装置
３０６  舵角センサ
３０７  モータ
３０８  制動装置
３０９  表示装置
３１０  中継装置
３１１  車外通信機
３５０，３５１  バス
３５２  通信線
４００  自動運転車載装置
４０１  ＣＰＵ
４０２  メモリ
４０３  駐車制御プログラム
４０５  通信インタフェース
４１０  入力部
４２０  変換処理部
４３０  第１マッチング処理部
４４０  第２マッチング処理部
４５０  決定部
４６０  出力部
５００  マーカ
５１０  第１パターン
５２０  第２パターン
６１０  第１テンプレート
６２０  第２テンプレート
６３０  撮像画像
６５０  対象画像
６６０  検出範囲
【図１】
2020091797.tif 000003
【図２】
2020091797.tif 000004
【図３】
2020091797.tif 000005
【図４】
2020091797.tif 000006
【図５】
2020091797.tif 000007
【図６Ａ】
2020091797.tif 000008
【図６Ｂ】
2020091797.tif 000009
【図６Ｃ】
2020091797.tif 000010
【図７Ａ】
2020091797.tif 000011
【図７Ｂ】
2020091797.tif 000012
【図７Ｃ】
2020091797.tif 000013
【図８Ａ】
2020091797.tif 000014
【図８Ｂ】
2020091797.tif 000015
【図９】
2020091797.tif 000016
【図１０】
2020091797.tif 000017
【図１１】
2020091797.tif 000018
【図１２Ａ】
2020091797.tif 000019
【図１２Ｂ】
2020091797.tif 000020
【図１３】
2020091797.tif 000021