JP5472463B2 - 画像処理プログラムおよび画像処理装置 - Google Patents

画像処理プログラムおよび画像処理装置 Download PDF

Info

Publication number
JP5472463B2
JP5472463B2 JP2012522398A JP2012522398A JP5472463B2 JP 5472463 B2 JP5472463 B2 JP 5472463B2 JP 2012522398 A JP2012522398 A JP 2012522398A JP 2012522398 A JP2012522398 A JP 2012522398A JP 5472463 B2 JP5472463 B2 JP 5472463B2
Authority
JP
Japan
Prior art keywords
image
marker
line segment
color
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012522398A
Other languages
English (en)
Other versions
JPWO2012001793A1 (ja
Inventor
政美 水谷
誠也 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2012001793A1 publication Critical patent/JPWO2012001793A1/ja
Application granted granted Critical
Publication of JP5472463B2 publication Critical patent/JP5472463B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras

Description

本願の開示する技術は、カメラの位置および姿勢を算出するカメラの校正処理、いわゆるキャリブレーション処理に利用されるカメラ画像上での冶具の座標を抽出する技術に関連する。
自車両の周囲状況を運転者にとって確認し易くし、運転者の安全運転に資することを目的として、車の周囲画像をカメラにより取得し、取得した画像を車の運転手に見せる技術が提案されている。例えば、車の周囲に複数台のカメラを設け、各カメラで取得した画像を合成すれば、さらに、車周囲の広い範囲の画像を運転者に視認させることができるようになる。
各カメラ画像を合成した結果として、運転者にとって違和感の無い画像、すなわち、画像間の継ぎ目がずれたり、画像が傾いたりしていない画像を得る為には、各カメラが、所定の位置、所定のカメラ向きで設置されている必要がある。しかし、車に取り付けるカメラであるため、取り付け部の緩みや走行などによる震動などに起因して、カメラの設置位置や角度が変化してしまう可能性がある。そのため、出荷時や車検時、利用開始後の任意のタイミングで、カメラの取り付け位置、角度にズレが生じていないかを確認し、カメラの設置位置や角度の校正処理を行う必要がある。
カメラの設置位置や角度の校正処理では、カメラ撮影範囲の規定の位置に設置したマーカー(冶具)を撮影し、撮影された画像上におけるマーカー位置、言い換えれば、画像上におけるマーカーの特徴点の座標を利用する。この校正処理に用いるマーカーとしては、カメラ画像上で特徴点を抽出しやすい模様を有していることが望ましく、例えば、市松模様のマーカーなどが考えられる。市松模様のマーカーでは、例えば、市松模様の中心が特徴点となる。
例えば、市松模様のマーカーの特徴点を抽出する従来技術には、画像上の市松模様の色境界線を検出し、検出した線を利用して交点を求めることにより、マーカーの特徴点を抽出する技術などがある。
特開2010−87743号公報 特開2008−131250号公報
ところで、マーカーの特徴点の画像上の座標は、上述した校正処理のパラメータとして利用される。そのため、カメラ画像上でマーカーから特徴点を抽出する際の抽出精度が悪いと、カメラの設置位置や角度の校正処理の精度も悪くなってしまう。従って、カメラ画像上におけるマーカーの特徴点を精度良く抽出する必要がある。
例えば、自車両の周囲の状況を撮影するために車両に搭載されるカメラは、なるべく少ない台数で車の周囲をカバーできることが望ましいため、例えば、広角カメラがよく用いられる。そして、広角カメラでは、画面中央から遠のくにつれて画像上の形状が小さくなったり歪んだりするなど、画像に映し出される形状が不鮮明になる傾向がある。
上述した校正処理を行う場合、マーカーを設置する規定位置は2台のカメラの撮影範囲が重畳する領域の中にもあるが、そのような領域は、各カメラから見ると、画面の端近傍にあたる。このため、広角カメラの特性により、マーカーの画像が小さくなったり、歪んでしまったりするなど、マーカーの画像が不鮮明になってしまう。また、マーカーに対する照明の状態によっては、画像に映し出されたマーカーの市松模様が市松模様のように見えない場合も生じる。例えば、白と黒との2色からなる市松模様を有するマーカーでは、光が強く明るい場合、画像に映し出されたマーカーの市松模様の白い領域が膨張して見えてしまう。また、光が弱く暗い場合、画像に映し出されたマーカーの市松模様の白い領域が収縮して見えてしまう。このように不鮮明なマーカーの画像から、マーカーの市松模様の色境界線を検出し、マーカーの特徴点を抽出することは難しい。よって、上述した従来技術では、画像が不鮮明な場合に、マーカーの特徴点を精度良く抽出することはできない。
なお、広角カメラ以外のカメラでマーカーを撮影したとしても、画面の端近傍では、マーカーの画像が少なからず歪む恐れがあり、照明の影響も受けるので、マーカーの画像が不鮮明になることは十分に考えられる。よって、広角カメラ以外のカメラでマーカーを撮影したとしても、上述した従来技術では、不鮮明なマーカーの画像からマーカーの特徴点を精度良く抽出することはできない。
開示の技術は、上記に鑑みてなされたものであって、不鮮明な画像であってもマーカーの特徴点を精度良く抽出することが可能な画像処理プログラムおよび画像処理装置を提供することを目的とする。
本願の開示する技術は、一つの態様において、コンピュータに、第一の色領域を複数と該第一の色領域とは異なる色を有する第二の色領域を複数有する冶具を撮影した画像上で該第一の色領域をそれぞれ特定する処理を実行させる。さらに、本願の開示する技術は、コンピュータに、特定された複数の第一の色領域と所定の凸形状とをそれぞれ比較して、該所定の凸形状と形状の類似性があると判断されるまで、該複数の第一の色領域をそれぞれ縮退する処理を実行させる。さらに、本願の開示する技術は、コンピュータに、縮退の結果、複数の第一の色領域について得られる複数の第一縮退領域の画像上の位置関係に基づいて、画像上の冶具の特徴点を決定する処理を実行させる。
本願の開示する技術の一つの態様によれば、不鮮明な画像であってもマーカーの特徴点を精度良く抽出できる。
図1は、実施例1に係るマーカーの配置状況の一例を示す図である。 図2は、実施例1に係るマーカーの形状の一例を示す図である。 図3は、実施例1に係る画像処理装置の構成を示す機能ブロック図である。 図4は、実施例1に係る変換部141Aの動作を説明するための図である。 図5は、実施例1に係る白領域の外形の歪具合の評価方法について説明するための図である。 図6は、実施例1に係る縮退部141Cの動作を説明するための図である。 図7は、実施例1に係る領域P1および領域P2と、領域N1および領域N2とからなるペアのモデルを示す図である。 図8は、実施例1に係る取得部141Dから送出されたペアの一例を示す図である。 図9は、実施例1に係るマーカー3である可能性を評価するための評価値の算出に用いる2値テンプレートの一例を示す図である。 図10は、実施例1に係るマーカー3のグレースケール画像におけるマーカー3の中心と交点Xとの位置関係を示す図である。 図11は、実施例1に係る決定部141Fの動作を説明するための図である。 図12は、実施例1に係るカメラ位置・姿勢算出処理の流れを示す図である。 図13は、実施例1に係る合成画像出力処理の流れを示す図である。 図14は、実施例1に係るマーカー特徴点決定処理の流れを示す図である。 図15は、実施例1に係る縮退処理の流れを示す図である。 図16は、画像処理プログラムを実行する電子機器の一例を示す図である。
以下に、図面を参照しつつ、本願の開示する画像処理プログラムおよび画像処理装置の一実施形態について詳細に説明する。なお、本願の開示する画像処理プログラムおよび画像処理装置の一実施形態として後述する実施例により、本願が開示する技術が限定されるものではない。なお、以下の実施例では、本願の開示する画像処理プログラムおよび画像処理装置の一実施形態として、車両に搭載したカメラで車両の周囲に設置した冶具(以下、マーカーと記載する)を撮影し、画像上のマーカーの座標を決定する場合を説明する。
図1は、実施例1に係るマーカーの配置状況の一例を示す図である。図1に示す1は、車両に該当する。図1に示す2A〜2Dは、車両に搭載されたカメラに該当する。図1に示す3は、マーカーに該当する。図1に示す4A〜4Dは、車両1に搭載されたカメラ2A〜2Dの撮影範囲に該当する。図1に示すように、カメラ2Aの撮影範囲4Aの一部と、カメラ2Bの撮影範囲4Bの一部およびカメラ2Cの撮影範囲4Cの一部とが重複している。また、カメラ2Dの撮影範囲4Dの一部と、カメラ2Bの撮影範囲4Bの一部およびカメラ2Cの撮影範囲4Cの一部とが重複している。
車両1は、所定の停車位置に停車される。そして、車両1に搭載されたカメラ2A〜2Dのそれぞれが最低4つのマーカーを撮影できるように、車両1の周囲にマーカー3を配置する。このとき、あるカメラにより撮影される4つのマーカー3のうちの2つのマーカー3は、隣接するカメラでも撮影されるようにマーカー3を配置する。例えば、カメラ2Aにより撮影される4つのマーカー3のうちの1つのマーカー3は、カメラ2Aに隣接するカメラ2Bにより撮影されるようにマーカー3を配置する。さらに、カメラ2Aにより撮影される4つのマーカー3のうちの1つのマーカー3は、カメラ2Aに隣接するカメラ2Cにより撮影されるようにマーカー3を配置する。つまり、上述したカメラの撮影範囲が重複する位置にマーカー3を配置すればよいが、この重複する位置を含め、マーカー3の車両1に対する配置位置は予め計測されているものとする。
図2は、実施例1に係るマーカーの形状の一例を示す図である。図2に示すように、マーカー3は、例えば、40センチメートル程度の正方形の中心部に円形の部分を有する。また、図2に示すように、マーカー3は、例えば、白色の白領域と黒色の黒領域とが互い違いの市松模様となっている。マーカー3の円形の部分は、マーカー3の中心を挟んで対向する白領域の対と、マーカー3の中心を挟んで対向する黒領域の対とを有する。マーカー3を、例えば、白黒の市松模様とするのは、マーカー3の円形部分の中心が特徴点としてマーカー3の画像上で高精度に現れるようにする意図がある。また、マーカー3の円形部分を取り囲む領域も市松模様となっているのは、マーカー3の外側の背景、すなわちマーカを配置する床面に関する画像に影響されず、マーカー3の円形部分の境界がマーカー3の画像上で鮮明に現れるようにする意図がある。
[画像処理装置の構成(実施例1)]
図3は、実施例1に係る画像処理装置の構成を示す機能ブロック図である。図3に示すように、実施例1に係る画像処理装置100は、複数のカメラ110およびディスプレイ120に接続され、記憶部130および制御部140を有する。
カメラ110は、車両1の周囲に設置されたマーカー3の画像を取得する。ディスプレイ120は、例えば、各カメラ110により取得された各画像を合成した合成画像などを表示する。なお、ディスプレイ120は、タッチパネルなどの入力デバイスを有し、ポインティングデバイス機能を実現してもよい。例えば、ディスプレイ120のタッチパネルは、作業者から各カメラ110の位置・姿勢の計算処理の開始指示や合成画像の出力指示などの入力を受け付ける。
記憶部130は、図3に示すように、画像記憶部131および位置・姿勢記憶部132を有する。なお、記憶部130は、例えば、RAM(Random Access Memory)やフラッシュメモリ(flash memory)などの半導体メモリ素子である。
画像記憶部131は、各カメラ110により取得されたマーカー3の画像を記憶する。位置・姿勢記憶部132は、後述する計算部142により計算された各カメラ110の位置・姿勢に関する情報を記憶する。
制御部140は、図3に示すように、認識部141と、計算部142と、生成部143とを有する。
認識部141は、マーカー3の画像上でマーカー3の特徴点を決定する。図3に示すように、認識部141は、変換部141Aと、特定部141Bと、縮退部141Cと、取得部141Dと、検証部141Eと、決定部141Fとを有する。
変換部141Aは、各カメラ110により取得されたマーカー3の原画像を画像記憶部131から取り込んで、取り込んだ画像の輝度を変えることにより、各カメラ110により取得されたマーカー3の原画像をグレースケール画像にそれぞれ変換する。
図4は、実施例1に係る変換部141Aの動作を説明するための図である。図4に示す4−1は、カメラ110により取得されたマーカー3の原画像に該当する。図4に示す4−2は、マーカー3のグレースケール画像に該当する。変換部141Aは、図4に示すように、以下の式(1)を用いて、カメラ110により取得されたマーカー3の原画像4−1の輝度を変えることによりグレースケール画像4−2に変換する。
Figure 0005472463
特定部141Bは、各グレースケール画像から2値画像をそれぞれ生成する。例えば、特定部141Bは、グレースケール画像の画素値を所定の閾値と比較し、所定の閾値よりも大きい値を「1」、所定の閾値よりも小さい値を「0」に2値化することによりグレースケール画像から2値画像を生成する。言い換えれば、特定部141Bは、グレースケール画像上で白領域および黒領域を特定している。なお、所定の閾値は、固定値でなくともよく、対象画像に基づいて局所的もしくは大局的に動的に決定してもよい。公知の方法としては、大津の判別法やNiBlack法などがある。
縮退部141Cは、特定部141Bにより生成された各2値画像について、2値画像内の2値化された領域の形状が、所定の凸形状、例えば楕円形状と類似性があると判断されるまで縮退する縮退処理を実行する。
例えば、マーカー3の画像が不鮮明な場合、マーカー3の円形部分の白領域とマーカー3の円形外部の白領域とが結合されたような状態に映ってしまう。なお、マーカー3の画像が不鮮明な場合、白領域と同様に、マーカー3の円形部分の黒領域とマーカー3の円形外部の黒領域とが結合されたような状態に映ってしまう。ここで、マーカー3の円形部分の白領域や黒領域は、マーカー3の画像内の他の領域と完全に分離した状態では所定の凸形状、例えば楕円形状に類似することが分かっている。そこで、縮退部141Cは、2値画像内の各色領域について、楕円形状と類似性を有する判断されるまで繰り返し縮退することにより、マーカー3の円形外部の色領域とを完全に分離させることができる。縮退処理は、マーカー3の円形部分の白領域とマーカー3の円形外部の白領域とを完全に分離させるためのステップ、およびマーカー3の円形部分の黒領域とマーカー3の円形外部の黒領域とを完全に分離させるためのステップを含む。
縮退部141Cは、まず、2値画像で値が「1」である白領域について縮退処理を実行する。縮退部141Cは、2値画像で値が「1」である白領域にラベリングする。次に、縮退部141Cは、以下の式(2)に示す公知の慣性モーメントに基づいた算出方法を用いて、ラベリングされた各白領域に当てはまる擬似的な楕円の長軸および短軸をそれぞれ導出する。
Figure 0005472463
続いて、縮退部141Cは、各白領域の個々について、白領域の面積と、この白領域に当てはまる擬似的な楕円の面積との比が所定の閾値以下であるか否かを判定し、所定の閾値以下であれば楕円形状性を有する、言い換えれば、楕円形状と類似性ありと判断する。楕円形状との類似性を判断する根拠は以下のとおりである。例えば、マーカー3の円形部分の白領域とマーカー3の円形外部の白領域とが結合されたような状態であれば、白領域の面積と、この白領域に当てはまる擬似的な楕円の面積とは大きく異なる。一方で、マーカー3の円形部分の白領域とマーカー3の円形外部の白領域とが完全に分離された状態であれば、白領域の面積と、この白領域に当てはまる擬似的な楕円の面積とが大きく異なることはない。そこで、マーカー3の円形部分の白領域とマーカー3の円形外部の白領域とが完全に分離された状態を評価するために、白領域の面積と、この白領域に当てはまる擬似的な楕円の面積との比が所定の閾値以下であるか否かを判定する。
ここで、判定方法の一例として、以下の評価式Eを用いることが考えられる。
E=|白領域面積−楕円面積|/max(白領域面積,楕円面積)
この評価式は、白領域面積と楕円面積とのうち大きい方の面積に対する、白領域面積と楕円面積との差分面積の比率を評価している。従って、Eの値が0に近くなるほど、白領域の形状が楕円形状に近いことを意味する。なお、この評価式に限らず、白領域の形状が、その白領域に当てはまる楕円形状とどの程度に通っているかを評価できる値が求められれば良い。評価式Eにより求められる値が所定の閾値以下、例えば、0.3である場合、楕円らしいと判断することができる。なお、所定の閾値については、予備実験として複数枚の評価画像に同処理、すなわち縮退部141Cによる上述の判定に関する処理を実行し、全てのマーカー領域に関する白領域を適切に分離できる値を、所定の閾値として事前に決定することが考えられる。
なお、白領域の面積は、領域内の画素数を形状することにより求めることができる。楕円の面積は、上述の式(2)により導出した楕円の長軸と短軸との積に円周率を掛け合わせることにより求めることができる。
また、カメラ110のレンズ歪によって、マーカー3が相当歪んで映る場合があり、このような場合には、マーカー3の円形部分の白領域は細長い形状となる。よって、マーカー3の円形部分の白領域が比較的丸い形状となる場合と、マーカー3の円形部分の白領域が細長い形状となる場合とで、白領域の面積と、この白領域に当てはまる擬似的な楕円の面積との比を評価するための所定の閾値を変更してもよい。縮退部141Cは、例えば、擬似的な楕円の短軸の長軸に対する比が0.4よりも大きい場合、すなわち、より円に近い場合には、上述した評価式Eにより求められる値と比較する所定の閾値として0.3を採用することが考えられる。実験では白領域の形状が図2に示す円形部分の4分の1のような形状に近い場合に、長軸に対する短軸の比が0.4よりも大きいことが多かった。また、例えば、擬似的な楕円の短軸の長軸に対する比が0.4以下、すなわち、より細長い場合には、上述した評価式Eにより求められる値と比較する所定の閾値として0.2を採用することが考えられる。実験では白領域の形状が細長い形状である場合に、長軸に対する短軸の比が0.4以下であることが多かった。なお、長軸と短軸との比に対する閾値、および上述した評価式Eより求められる値と比較する所定の閾値については、予備実験として複数枚の評価画像に縮退部141Cによる上述の判定に関する処理を実行することにより事前に決定することが考えられる。つまり、予備実験として複数枚の評価画像に縮退部141Cによる上述の判定に関する処理を実行することにより、全てのマーカー領域に関する白領域を適切に分離できる値を、所定の閾値として事前に決定することが考えられる。
また、縮退部141Cは、各白領域について楕円形状性を有するか否かをより効果的に判断するために他の指標と合わせてもよい。縮退部141Cは、例えば、白領域内部の穴の数を評価する。ここで、穴の数とは、例えば、2値画像の白領域については、この白領域内に存在する黒領域の数に該当し、2値画像の黒領域については、この黒領域に存在する白領域の数に該当する。評価の結果、縮退部141Cは、穴のない白領域について、白領域の面積と、この白領域に当てはまる擬似的な楕円の面積との比を判定するようにしてもよい。穴の数を計算する方法としては、例えば公知のオイラー数を算出し、オイラー数が1、つまり穴の数が0であることを評価する方法がある。
また、縮退部141Cは、例えば、白領域の外形の歪具合を評価し、歪具合の小さいものについて、白領域の面積と、この白領域に当てはまる擬似的な楕円の面積との比を判定するようにしてもよい。縮退部141Cは、白領域の外形の歪具合を評価する場合、公知のチェインコード処理によって白領域の外周のピクセルを取得し、白領域の重心から白領域の外周に位置する各ピクセルへの方位を順次計測する。そして、縮退部141Cは、計測した方位のグラフに基づいて白領域の歪具合を評価する。
図5は、実施例1に係る白領域の外形の歪具合の評価方法について説明するための図である。図5に示す5Aは外形に歪みのある白領域を表す。5Aは白領域5Aの重心を表し、5Aや5Aは、重心5Aからの方位を表す。図5に示す5A´は5Aで表す白領域の外形の歪具合を評価するグラフである。なお、5A´に示すグラフの縦軸は白領域5Aの重心から白領域5Aの外周に位置する各ピクセルへの方位に関するグラフ軸であり、5A´に示すグラフの横軸は白領域5Aの外周点に関するグラフ軸である。図5に示す5Bは外形に歪みのない白領域を表す。5Bは白領域5Bの重心を表し、5Bや5Bは、重心5Bからの方位を表す。図5に示す5B´は5Bで表す白領域の外形の歪具合を評価するグラフである。なお、5B´に示すグラフの縦軸は白領域5Bの重心から白領域5Bの外周に位置する各ピクセルへの方位に関するグラフ軸であり、5B´に示すグラフの横軸は白領域5Bの外周点に関するグラフ軸である。例えば、縮退部141Cは、5A´や5B´に示すグラフに基づいて、白領域5Aや5Bの歪具合を評価する。例えば、外形に歪みのある白領域5Aでは、歪のある部分に重心からの方位が集中するので5A´に示すような単調増加でない歪んだグラフとなる。一方、外形に歪みのない白領域5Bでは、重心からの方位が分散するので5B´に示すような単調増加のグラフとなる。よって、縮退部141Cは、例えば、歪のない白領域、つまり5B´に示すような単調増加のグラフとなる白領域5Bについて楕円形状性を有するか否かを評価する。
そして、縮退部141Cは、内部的に有する第1バッファに、楕円形状と類似性ありと判断した白領域をコピーする。一方、縮退部141Cは、内部的に有する第2バッファに、楕円形状と類似性ありと判断した白領域をコピーする。
ある白領域についてバッファへのコピーが完了すると、縮退部141Cは、ラベリングした白領域の全てについて、上述した楕円形状との類似性の判断を完了しているか否かを判定する。縮退部141Cは、判定の結果、全ての白領域について楕円形状との類似性の判断を完了していない場合には、残りの白領域について同様に楕円形状との類似性の判断を実行する。一方、縮退部141Cは、判定の結果、全ての白領域について楕円形状との類似性の判断を完了している場合には、第2バッファにコピーした各白領域について縮退処理を実行する。例えば、縮退部141Cは、白領域の外周、つまり白領域のエッジ部分の画素を一画素ずつ削る方法や、白領域のエッジ部分の画素を所定のフィルタを用いて削る方法など、縮退処理に関する公知技術であれば、どのような技術を適用してもよい。以上で、縮退部141Cによる縮退処理の一サイクルが完了する。
縮退処理を一サイクル完了後、縮退部141Cは、縮退した各白領域に改めてラベリングし、各白領域について、再び、上述してきた縮退処理を実行する。なお、縮退部141Cは、縮退処理を行う白領域が2値画像からなくなるまで、あるいは予め設定する所定の試行回数まで縮退処理を実行する。
縮退部141Cは、2値画像で値が「1」である白領域について縮退処理を完了すると、第1バッファにコピーした白領域を取得部141Dに送出する。そして、縮退部141Cは、2値画像で値が「0」である黒領域についても、上述してきた縮退処理を実行する。縮退部141Cは、2値画像の値を反転させて黒領域を白領域と同様に取り扱うことにより、上述してきたのと同様の手順で縮退処理を実行できる。なお、縮退部141Cは、2値画像で値が「0」である黒領域について縮退処理を完了すると、第1バッファにコピーした黒領域を取得部141Dに送出する。
図6は、実施例1に係る縮退部141Cの動作を説明するための図である。図6に示す6−1はグレースケール画像に該当する。図6に示す6−2は2値画像に該当する。図6に示す6−3は2値画像6−2内の色領域を数回縮退した2値画像に該当する。図6に示す6−4は2値画像6−3をさらに縮退した2値画像に該当する。図6に示す6−5は縮退処理完了時の2値画像に該当する。
図6の6Aに示すように、グレースケール画像から2値画像を生成した段階では、本来は別の領域であるマーカー3内の2つの白領域が画像上で結合されたような不鮮明な状態にある。よって、縮退部141Cは、白領域を分離するために上述した縮退処理を実行する。例えば、縮退部141Cは、2値画像6−2について、上述した縮退処理を数回試行した結果、例えば、2値画像6−3を得る。ここで、縮退部141Cは、2値画像6−3内の白領域6Bが楕円形状との類似性を有する場合には、白領域6Bを第1バッファにコピーする。一方、縮退部141Cは、2値画像6−3内の各白領域6Cが楕円形状との類似性を有しない場合には、各白領域6Cを第2バッファにコピーする。次に、縮退部141Cは、第2バッファにコピーした各白領域6Cのそれぞれについて縮退処理を行い、2値画像6−4を得る。そして、縮退部141Cは、2値画像6−4内の各白領域6Dに対して改めてラベリングし、ラベリングされた各白領域6Dについて改めて縮退処理を開始する。
2値画像6−4から数回の縮退処理を行った結果、縮退部141Cは、2値画像6−5を得る。ここで、縮退部141Cは、2値画像6−5内の各白領域6Eが楕円形状との類似性を有する場合には、各白領域6Eを第1バッファにコピーする。縮退部141Cは、各白領域6Eを第1バッファにコピーした段階で、2値画像6−5内にラベリングする白領域が残されていないので縮退処理を完了する。
図3に戻り、取得部141Dは、縮退部141Cから送出された複数の白領域および複数の黒領域の中から、マーカーの形状らしさを評価するための所定の条件を満足する白領域の対と黒領域の対とからなるペアを取得する。言い換えれば、取得部141Dは、マーカー3の円形部分をなす蓋然性の高い白領域の対と黒領域の対とからなるペアを取得する。
例えば、取得部141Dは、縮退部141Cから送出された複数の白領域の中から二つの領域P1およびP2を取得するとともに、縮退部141Cから送出された複数の黒領域の中から二つの領域N1およびN2を取得する。次に、取得部141Dは、領域P1の重心CP1、領域P2の重心CP2、領域N1の重心CN1および領域N2の重心CN2を計算する。そして、取得部141Dは、領域P1および領域P2と領域N1および領域N2とからなるペアが、以下の(1)〜(3)の条件を満足するか否かを判定する。
図7は、実施例1に係る領域P1および領域P2と、領域N1および領域N2とからなるペアのモデルを示す図である。マーカーの形状らしさを評価するための条件(1)〜(3)は次のとおりである。
(1)図7に示す線分CP1CP2と図7に示す線分CN1CN2とが交わること
(2)図7に示す線分CP1CP2と図7に示す線分CN1CN2とのなす角θが所定の角度以上であること
(3)図7に示す線分CP1線分CP2の中点MPと図7に示す線分CN1CN2の中点MNとの距離が所定値以下であること
また、取得部141Dは、領域P1および領域P2と領域N1および領域N2とからなるペアが、上述した(1)〜(3)の条件に加えて、さらに、以下の(4)および(5)の条件を満足するか否かを判定することとしてもよい。
(4)図7に示す領域P1の面積Ap1と図7に示す領域P2の面積Ap2との比が所定値以上であること
(5)図7に示す領域N1の面積An1と図7に示す領域N2の面積An2との比が所定値以上であること
上述した条件に含まれる角θ、中点間の距離、マーカー3の円形内部の白や黒の領域面積については、カメラ画像上で得られるはずのおおまかな予測値を算出する。例えば、マーカー3のサイズ、マーカー3の配置位置および車載カメラ位置の情報が得られるので、これらの情報に基づき、角θ、中点間の距離、マーカー3の円形内部の白や黒の領域面積について、カメラ画像上で得られるはずのおおまかな予測値を算出できる。そして、この予測値との実際の値との誤差および縮退処理の影響を考慮して、上述した条件における所定値を設定できる。例えば、予測値として得られる角θの値が80度であった場合、縮退処理による影響を考慮して、上述の条件(2)における所定角度を60度以上と設定しておくことができる。また、例えば、予測値として得られる中点間の距離が1ピクセルであった場合、縮退処理による影響を考慮して、上述の条件(3)における所定値を3ピクセルと設定しておくことができる。また、例えば、予測値として得られるマーカー3の円形内部にある白領域の面積が100ピクセル、黒領域の面積が120ピクセルである場合、縮退処理による影響を考慮して、上述の条件(4)および(5)における所定値を0.5以上としておくことができる。
なお、取得部141Dは、領域P1および領域P2と領域N1および領域N2とからなるペアが、上述した(1)〜(3)の条件のうち、少なくとも、(1)および(2)の条件を満足するか否かを判定することとしてもよい。また、取得部141Dは、上述した(1)および(2)の条件以外については、適宜任意の組合せで採用することができる。
判定の結果、取得部141Dは、領域P1および領域P2と、領域N1および領域N2とのペアが、上述した(1)〜(3)の条件、(1)〜(5)の条件あるいは(1)および(2)の条件を満足する場合には、このペアを取得する。取得部141Dは、縮退部141Cから送出された複数の白領域および複数の黒領域から組合可能な白領域の対と黒領域の対とからなる排他的な全てのペアについて上述した条件の判定を行う。そして、取得部141Dは、取得した全てのペアを検証部141Eにそれぞれ送出する。
検証部141Eは、取得部141Dから送出された白領域の対と黒領域の対とからなる複数のペアについて、マーカー3である可能性の高いペアを取捨選択するための検証を行う。
図8は、実施例1に係る取得部141Dから送出されたペアの一例を示す図である。取得部141Dから、上述した(1)〜(3)の条件を満足する白領域の対と黒領域の対とからなるペアとして、図8に示す8Aおよび8Bが検証部141Eにそれぞれ送出されたとする。検証部141Eは、図8に示す8Aおよび8Bのそれぞれについて、マーカー3である可能性を評価するための評価値を算出する。
図9は、実施例1に係るマーカー3である可能性を評価するための評価値の算出に用いる2値テンプレートの一例を示す図である。検証部141Eは、図9に示すように、取得部141Dから送出されたペアごとに、線分CP1CP2と線分CN1CN2との交点Xを算出し、交点Xに基づいて平行四辺形ABCDを求める。次に、検証部141Eは、三角形XABおよびXCDを「−1」、三角形XADおよびXBDを「1」とする2値テンプレートを生成する。なお、平行四辺形ABCDは以下のように定義される。
XAベクトル=XCN1ベクトル+XCP1ベクトル
XBベクトル=XCN1ベクトル+XCP2ベクトル
XCベクトル=XCN2ベクトル+XCP2ベクトル
XDベクトル=XCN2ベクトル+XCP1ベクトル
そして、検証部141Eは、線分CP1CP2と線分CN1CN2との交点Xにおけるグレースケール画像と、2値テンプレートとの類似度を算出し、類似度が所定の閾値以上であるか否かを判定する。例えば、検証部141Eは、グレースケール画像の交点Xと2値テンプレートの中心とを合わせて、対応する座標のピクセル値を乗算し、足し込むことによって、交点Xにおけるグレースケール画像と2値テンプレートとの類似度を算出する。交点Xにおけるグレースケール画像と2値テンプレートとの類似度をFとすると、検証部141Eは、以下の式(3)により類似度Fを算出できる。
Figure 0005472463
検証部141Eは、判定の結果、類似度が所定の閾値以上であるペアを残して、類似度が所定の閾値以下であるペアを棄却し、類似度が所定の閾値以上であったペアを残す。そして、検証部141Eは、類似度が所定の閾値以上であったペアについての交点Xの座標をマーカー3の仮中心座標として決定部141Fに送出する。なお、類似度と比較する所定の閾値については、予備実験として複数枚の評価画像について検証部141Eによる同処理を実行し、全てのマーカー領域を正しく採択する類似度Fを、所定の閾値として事前に決定することが考えられる。もしくは、検証部141Eによる処理を適用する領域に1つのマーカー3が存在するような前提であれば、次のようにしてペアを選択するようにしてもよい。例えば、検証部141Eは、取得部141Dから送出された白領域の対と黒領域の対とからなる複数のペアについての類似度Fの中から、類似度Fが最大値となるペアを選択する。
決定部141Fは、検証部141Fから送出された交点Xの座標である仮中心座標を洗練させる座標洗練処理を実行して、マーカー3の円形部分の中心の座標、つまりマーカー3の特徴点の座標を最終決定する。以下、この座標洗練処理の内容について、図10および図11を参照しつつ説明する。
図10は、実施例1に係るマーカー3のグレースケール画像におけるマーカー3の中心と交点Xとの位置関係を示す図である。図10に示す10Aはマーカー3のグレースケール画像に該当する。図10に示す10Bは10Aにおいて点線で囲まれた矩形領域を拡大した図に相当する。図10に示す10Cはグレースケール画像上のマーカーの中心として算出された交点Xの位置を表す。検証部141Eにより算出された線分CP1CP2と線分CN1CN2との交点Xは、白領域P1,P2の重心および黒領域N1,N2の重心によって求められており、マーカー3のグレースケール画像におけるマーカー3の中心とは無関係に算出されている。よって、図10の10Bに示すように、マーカー3のグレースケール画像におけるマーカー3の中心位置と、マーカー3の中心位置として算出された交点Xとが必ずしも一致するとは限らない。また、白領域P1,P2の重心および黒領域N1,N2が非対称である場合など、縮退部141Cによる色領域の縮退の状態によって、検証部141Eにより算出された交点Xの位置精度が良くならないことも考えられる。そこで、決定部141Fは、検証部141Eにより算出された交点X周辺の画像データに基づいて、より高精度にマーカー3の画像上でのマーカーの中心の座標、つまりマーカー3の特徴点の座標を決定する。
まず、決定部141Fは、検証部141Fが交点Xを算出する際に用いたペアの線分CP1CP2と線分CN1CN2に基づいて、所定のサイズのクロスフィルタを生成する。例えば、決定部141Fは、ベクトルCP1CP2の方位θpを算出し、クロスフィルタの中心を原点として、±[Tcosθp、Tsinθp]の座標を「1」とする。また、決定部141Fは、ベクトルCN1CN2の方位θnを算出し、クロスフィルタの中心を原点として、±[Tcosθp、Tsinθp]の座標を「−1」とする。なお、±[Tcosθp、Tsinθp]の座標は整数化する。例えば、H:クロスフィルタ、T=3、θp=0度、θn=90度の場合、決定部141Fにより生成されるクロスフィルタは、以下の式(4)のようになる。すなわち、クロスフィルタは、フィルタの中心を原点として、ベクトルCP1CP2の方位θpの座標を「1」、ベクトルCN1CN2の方位θnの座標「−1」とした時に、これらの座標を少なくとも包含する図形によって定義される。
Figure 0005472463
図11は、実施例1に係る決定部141Fの動作を説明するための図である。図11に示す11Aはマーカー3のグレースケール画像に該当する。図11に示す11Bはクロスフィルタに該当する。図11に示す11Cは畳込積分画像に該当する。図11に示す11f〜11fは畳込積分画像上における極大値の位置を表す。図11に示す11Eは畳込積分画像上における交点Xの位置を表す。
図11に示すように、決定部141Fは、クロスフィルタを生成後、交点X周辺のマーカー3のグレースケール画像11A上の各座標について、クロスフィルタ11Bとの畳込積分画像10Cを生成する。なお、交点X周辺とは、例えば、10×10ピクセル程度の範囲に相当する。続いて、決定部141Fは、畳込積分画像11C上の極大値11f〜11fの中から、交点Xの位置11Eに最も近い極大値11fを選択する。そして、決定部141Fは、極大値11fの座標をサブピクセル精度で算出し、最終的なマーカー3の特徴点の座標として計算部142に送出する。なお、極大値の座標をサブピクセル精度で算出する方法としては、パラボラフィッティングなどの手法を利用できる。
図3に戻り、計算部142は、決定部141Fから送出されたマーカー3の特徴点の座標に基づいて、各カメラ110の位置や姿勢を計算する。計算部142は、各カメラ110の位置や姿勢の計算を完了すると、各カメラ110の位置および姿勢の情報を位置・姿勢記憶部132に格納する。なお、画像上のマーカーの特徴点の座標に基づいて各カメラの位置や姿勢を計算する技術については、例えば、特開2001−285681号公報や特開2008―187564号公報などに記載されている技術を利用することが考えられる。
生成部143は、画像出力指示などに応じて、各カメラ110により取得された画像の合成画像を生成し、出力する。例えば、生成部143は、ディスプレイ120が有するタッチパネルなどを介して画像出力指示を受け付けると、画像記憶部131から各カメラ110の取得画像を取得するとともに、位置・姿勢記憶部132から各カメラ110の位置・姿勢を取得する。そして、生成部143は、各カメラ110の位置・姿勢に基づいて、各カメラ110の取得画像を合成することにより合成画像を生成し、生成した合成画像をディスプレイ120を介して表示出力する。
なお、図3に示す制御部140は、例えば、電子回路や集積回路に該当する。電子回路としては、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)がある。また、集積回路としては、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などがある。
[画像処理装置による処理(実施例1)]
図12〜図15を用いて、実施例1に係る画像処理装置100による処理の流れを説明する。図12〜図15は、実施例1に係る画像処理装置100による処理の流れを示す図である。
[位置・姿勢計算処理]
まず、図12を用いて、位置・姿勢計算処理の流れを説明する。図12に示すように、処理開始指示があると(ステップS101,Yes)、認識部141はマーカー特徴点決定処理を実行する(ステップS102)。続いて、計算部142は、マーカー特徴点決定処理により得られるマーカー3の特徴点の座標に基づいて各カメラ110の位置・姿勢を計算する(ステップS103)。そして、計算部142は、各カメラ110の位置や姿勢に関する情報を位置・姿勢記憶部132に格納し(ステップS104)、位置・姿勢計算処理を完了する。なお、認識部141は処理開始指示が受け付けられるまで、上述したステップS101の判定結果を「No」として同判定を繰り返す。
[画像出力処理]
次に、図13を用いて、画像出力処理の流れを説明する。図13に示すように、画像出力指示があると(ステップS201,Yes)、生成部143は、各カメラ110の位置・姿勢および各カメラ110の取得画像を取得する(ステップS202)。続いて、生成部143は、各カメラ110の位置・姿勢に基づいて、各カメラ110の取得画像を合成することにより合成画像を生成する(ステップS203)。そして、生成部143は、合成画像をディスプレイ120を介して表示出力し(ステップS204)、画像出力処理を完了する。なお、生成部143は画像出力指示が受け付けられるまで、上述したステップS201の判定結果を「No」として同判定を繰り返す。
[マーカー特徴点決定処理]
続いて、図14を用いて、マーカー特徴点決定処理の流れを説明する。図14に示すように、変換部141Aは、各カメラ110の取得画像をグレースケール画像にそれぞれ変換する(ステップS301)。特定部141Bは、各グレースケール画像から2値画像をそれぞれ生成する(ステップS302)。
縮退部141Cは、特定部141Bにより生成された各2値画像について、2値画像内の2値化された領域の形状が楕円形状と類似性があると判断されるまで縮退する縮退処理を実行する(ステップS303)。取得部141Dは、縮退処理により得られる複数の白領域および複数の黒領域の中から、マーカーの形状らしさを評価するための所定の条件を満足する白領域の対と黒領域の対とからなるペアを取得する(ステップS304)。
検証部141Eは、取得部141Dにより取得された複数のペアについて、マーカー3である可能性の高いペアを取捨選択するための検証を行う(ステップS305)。決定部141Fは、検証部141Eによりマーカー3の中心として取得された交点Xの座標である仮中心座標を洗練させる座標洗練処理を実行し(ステップS306)、画像上でのマーカー3の中心の座標、つまりマーカー3の特徴点の座標を決定する。以上で、マーカー特徴点決定処理が完了する。
[縮退処理]
次に、図15を用いて、縮退処理の流れを説明する。なお、縮退処理は、2値画像で値が「1」である白領域および2値画像で値が「0」である黒領域の双方について実行されるが、処理の内容は同様であるので、以下では、白領域についての縮退処理の流れを説明する。
図15に示すように、縮退部141Cは、2値画像で値が「1」である白領域にラベリングする(ステップS401)。次に、縮退部141Cは、ラベリングされた白領域が少なくとも1つ以上存在するか否かを判定する(ステップS402)。判定の結果、ラベリングした白領域が少なくとも1つ以上存在する場合には(ステップS402,Yes)、縮退部141Cは、ラベリングした白領域を一つ取得する(ステップS403)。続いて、縮退部141Cは、取得した白領域に当てはまる、すなわち、取得した白領域の形状に最も類似する擬似的な楕円形状を算出する(ステップS404)。
そして、縮退部141Cは、ステップS403で取得した白領域の面積と、ステップS404で算出した擬似的な楕円の面積との比に基づいて、ステップS403で取得した白領域に楕円形状性があるか否かを判定する(ステップS405)。判定の結果、ステップS403で取得した白領域に楕円形状性がある場合には(ステップS405,Yes)、縮退部141Cは、この白領域を第1バッファにコピーする(ステップS406)。一方、判定の結果、ステップS403で取得した白領域に楕円形状性がない場合には(ステップS405,No)、縮退部141Cは、この白領域を第2バッファにコピーする(ステップS407)。
そして、縮退部141Cは、ラベリングした全ての白領域について、楕円形状性があるか否かを判定する処理を完了したか否かを判定する(ステップS408)。判定の結果、ラベリングした全ての白領域について処理を完了している場合には(ステップS408,Yes)、縮退部141Cは、第2バッファにコピーされた白領域について縮退処理を実行する(ステップS409)。そして、縮退部141Cは、上述したステップS401に戻り、縮退した各白領域に対して改めてラベリングし、ステップS402〜ステップS408までの処理を実行する。
ここでステップS408の説明に戻る。縮退部141Cは、判定の結果、ラベリングした全ての白領域について処理を完了していない場合には(ステップS408,No)、上述したステップS403に戻る。
ここでステップS402の説明に戻る。縮退部141Cは、判定の結果、ラベリングされた白領域が存在しない場合には(ステップS402,No)、第1バッファにコピーされた白領域を取得部141Dに送出し、2値画像の白領域に対する楕円形状保存縮退処理を完了する。
なお、縮退部141Cは、2値画像の値を反転させて黒領域を白領域と同様に取り扱うことにより、2値画像の黒領域についても、ステップS401〜ステップS409の楕円形状保存縮退処理を実行する。そして、縮退部141Cは、第1バッファにコピーされた黒領域を取得部141Dに送出し、2値画像の黒領域に対する縮退処理を完了する。
[実施例1による効果]
上述してきたように、画像処理装置100は、市松模様をなすマーカー3の画像内の各色領域を楕円形状に近づくまで夫々繰り返し縮退し、縮退された各色領域の位置関係に基づいてマーカー3の特徴点の座標を決定する。つまり、マーカー3の画像が不鮮明な場合、マーカー3の円形部分の色領域とマーカー3の円形外部の色領域とが結合されたような状態に映ってしまう。そこで、実施例1では、マーカー3の円形部分の色領域がマーカー3の画像内の他の領域と完全に分離した状態では楕円形状性を有する点に着目し、マーカー3の円形部分の色領域が楕円形状性を有すると判断されるまで繰り返し縮退する。これにより、実施例1では、不鮮明なマーカー3の画像において、マーカー3の円形部分の色領域を完全に分離させることができる。マーカー3の円形部分の色領域を完全に分離させることができれば、マーカー3の色領域がマーカー3の中心を挟んで対向するようにそれぞれ配置される関係にあることが分かっているので、この関係に基づいてマーカーの中心の座標を決定できる。このようなことから、実施例1によれば、不鮮明な画像であってもマーカー3の特徴点を精度良く抽出できる。
また、実施例1では、マーカー3の形状らしさを評価するための条件、すなわち上述した(1)〜(3)の条件を満足する白領域の対と黒領域の対とからなるペアを取得する。このようなことから、マーカー3の画像内で分離された複数の色領域の中から、マーカー3の形状らしき色領域のペアを予め精度良く取得できる。
また、実施例1では、上述した(1)〜(3)の条件に加えて、さらに、以下の(4)および(5)の条件を白領域の対と黒領域の対とからなるペアを取得することとしてもよい。このため、上述した(1)〜(3)の条件に基づいてペアを取得するよりもさらに精度良くマーカー3の形状らしき色領域のペアを取得できる。
また、実施例1では、少なくとも、上述した(1)の条件を満足する白領域の対と黒領域の対とからなるペアを取得することとしてもよい。このため、マーカー3の画像内で分離された複数の色領域の中から、上述した複数の条件に従ってペアを取得するよりも迅速にマーカー3の形状らしき色領域のペア、例えば、白領域の対と黒領域の対のペアを取得できる。
また、実施例1では、上述した条件に従って取得したマーカー3の形状らしき色領域のペアの中から、マーカー3である可能性の高いペアを取捨選択するための検証を行う。このようなことから、よりマーカー3である可能性の高い色領域のペア、例えば、白領域の対と黒領域の対のペアを特定できる。
また、実施例1では、マーカー3である可能性の高い色領域のペアに基づいて取得されるマーカー3の中心の座標を洗練させて、最終的なマーカー3の中心、つまりマーカー3の特徴点の座標を決定する。このようなことから、2値画像で分離される各色領域の重心に基づいて決定したマーカー3の中心位置と、マーカー3のグレースケール画像におけるマーカー3の中心位置との誤差を修正でき、より正確にマーカー3の特徴点の座標を決定できる。
なお、実施例1では、白領域の対の各重心間を結ぶ線分と黒領域の対の各重心間を結ぶ線分との交点をマーカー3の中心位置として取得し、この中心位置を洗練させることでマーカー3の特徴点を決定したが、これに限定されるものではない。例えば、厳密な精度を要求されない処理などでは、白領域の対の各重心間を結ぶ線分と黒領域の対の各重心間を結ぶ線分との交点をマーカー3の特徴点として決定してもよい。
なお、実施例1では、マーカー3の画像上のマーカー3の白領域の対と黒領域の対との位置関係に基づいて、マーカー3の特徴点の座標を決定する場合を説明した。しかしながら、これに限定されるものではなく、マーカー3の画像上のマーカー3の白領域の位置関係のみからマーカーの特徴点の座標を決定してもよい。例えば、白領域の対の各重心間を結ぶ線分の中点をマーカー3の中心位置として仮決めし、仮決めしたマーカー3の中心位置を洗練させることでマーカー3の特徴点を決定してもよい。このようにすれば、マーカー3の特徴点を決定するための処理負荷を大幅に削減できる。
なお、実施例1では、マーカー3の画像をグレースケール画像に変換してから2値画像を生成したが、これに限定されるものではない。マーカー3の色領域の色に応じた2値画像をマーカー3の画像から直接生成してもよい。例えば、マーカー3が青色の青領域と赤色の赤領域を有する場合には、青領域と赤領域とを2値化するような閾値を用いて、マーカー3の画像から直接生成してもよい。
以下、本願の開示する画像処理プログラムおよび画像処理装置の他の実施形態を説明する。
(1)装置構成等
例えば、図3に示した画像処理装置100の機能ブロックの構成は概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、図3に示した変換部141A、特定部141Bおよび縮退部141Cを機能的または物理的に統合してもよい。このように、画像処理装置100の機能ブロックの全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
(2)画像処理プログラム
また、上述の実施例1にて説明した画像処理装置100により実行される各種の処理は、例えば、車両1に搭載されるECU(Electronic Control Unit)に実装されたマイコンなどの電子機器で所定のプログラムを実行することによって実現することもできる。
そこで、以下では、図16を用いて、上述の実施例1にて説明した画像処理装置100により実行される処理と同様の機能を実現する画像処理プログラムを実行するコンピュータの一例を説明する。図16は、画像処理プログラムを実行する電子機器の一例を示す図である。
図16に示すように、画像処理装置100により実行される各種処理を実現する電子機器200は、各種演算処理を実行するCPU(Central Processing Unit)210を有する。また、図16に示すように、電子機器200は、カメラ画像を取得するためのカメラインターフェース220、ディスプレイとの間で各種データのやり取りを行うためのディスプレイインターフェース230を有する。また、図16に示すように、電子機器200は、カメラ画像から合成画像を生成するハードウェアアクセラレータとして機能するグラフィックエンジン240を有する。
また、図16に示すように、電子機器200は、CPU210により各種処理を実現するためのプログラムやデータ等を記憶するハードディスク装置250と、各種情報を一時記憶するRAM(Random Access Memory)などのメモリ260とを有する。そして、各装置210〜260は、バス270に接続される。
なお、CPU210の代わりに、例えば、MPU(Micro Processing Unit)などの電子回路、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路を用いることもできる。また、メモリ260の代わりに、フラッシュメモリ(flash memory)などの半導体メモリ素子を用いることもできる。
ハードディスク装置250には、画像処理装置100の機能と同様の機能を発揮する画像処理プログラム251および画像処理用データ252が記憶されている。なお、この画像処理プログラム251を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
そして、CPU210が、画像処理プログラム251をハードディスク装置250から読み出してRAM260に展開することにより、図16に示すように、画像処理プログラム251は画像処理プロセス261として機能する。画像処理プロセス261は、ハードディスク装置250から読み出した画像処理用データ252等の各種データを適宜メモリ260上の自身に割当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。
なお、画像処理プロセス261は、例えば、図3に示した画像処理装置100の制御部140にて実行される処理、例えば、図12〜図15に示す処理を含む。
なお、画像処理プログラム251については、必ずしも最初からハードディスク装置250に記憶させておく必要はない。例えば、電子機器200が実装されたECUへ対応ドライブを接続可能なフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、電子機器200がこれらから各プログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介して、電子機器200が実装されたECUに接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておく。そして、電子機器200がこれらから各プログラムを読み出して実行するようにしてもよい。
1 車両
2A〜2D カメラ
3 マーカー
4A〜4D 撮影範囲
100 画像処理装置
110 カメラ
120 ディスプレイ
130 記憶部
131 画像記憶部
132 位置・姿勢記憶部
140 制御部
141 認識部
141A 変換部
141B 特定部
141C 縮退部
141D 取得部
141E 検証部
141F 決定部
142 計算部
143 生成部
200 電子機器
210 CPU
220 カメラインターフェース
230 ディスプレイインターフェース
240 グラフィックエンジン
250 ハードディスク装置
251 画像処理プログラム
252 画像処理用データ
260 RAM
261 画像処理プロセス

Claims (8)

  1. コンピュータに、
    第一の色領域を複数と該第一の色領域とは異なる色を有する第二の色領域を複数有する冶具を撮影した画像上で該第一の色領域をそれぞれ特定し、
    前記特定された複数の第一の色領域と所定の凸形状とをそれぞれ比較して、該所定の凸形状と形状の類似性があると判断されるまで、該複数の第一の色領域をそれぞれ縮退し、
    前記縮退の結果、前記複数の第一の色領域について得られる複数の第一縮退領域の前記画像上の位置関係に基づいて、前記画像上の冶具の特徴点を決定する
    処理を実行させることを特徴とする画像処理プログラム。
  2. 前記特定は、前記画像上で、前記第一の色領域と、該第一の色領域とは異なる色を有する第二の色領域とをそれぞれ特定し、
    前記縮退は、前記特定により特定された複数の第一の色領域および複数の第二の色領域を所定の凸形状とそれぞれ比較して、該所定の凸形状と形状の類似性があると判断されるまで、該複数の第一の色領域および該複数の第二の色領域をそれぞれ縮退し、
    前記決定は、前記縮退による縮退の結果、前記複数の第一の色領域について得られる複数の第一縮退領域の前記画像上の位置関係と、前記複数の第二の色領域について得られる複数の第二縮退領域の前記画像上の位置関係とに基づいて、前記画像上の冶具の特徴点を決定することを特徴とする請求項1に記載の画像処理プログラム。
  3. 前記コンピュータに、
    前記複数の第一縮退領域内の前記画像上の所定位置間を結ぶ第一の線分と、前記複数の第二縮退領域内の前記画像上の所定位置間を結ぶ第二の線分とが交わるか否かを判定し、該第一の線分と該第二の線分とが交わる場合には、該第一の線分をなす第一縮退領域の対と該第二の線分をなす第二縮退領域の対からなる組合せをそれぞれ取得し、
    前記取得された組合せごとに前記冶具らしさを評価する評価値を算出し、該算出した評価値が所定値以上であるか否かを検証する
    処理をさらに実行させ、
    前記決定は、前記検証により前記評価値が所定値以上であると評価された前記組合せについて前記第一の線分と前記第二の線分との交点を求め、該交点に基づいて前記特徴点を決定することを特徴とする請求項2に記載の画像処理プログラム。
  4. 前記取得は、前記第一の線分と前記第二の線分とが交わる場合に、該第一の線分の中点と該第二の線分の中点との距離が所定値以内であるか否かをさらに判定し、該第一の線分の中点と該第二の線分の中点との距離が所定値以内である場合には、前記第一縮退領域の対と前記第二縮退領域の対からなる組合せをそれぞれ取得することを特徴とする請求項3に記載の画像処理プログラム。
  5. 前記取得は、前記第一の線分の中点と前記第二の線分の中点との距離が所定値以内である場合に、該第一の線分と該第二の線分とのなす角度が所定角度以上であるか否かをさらに判定し、該第一の線分と該第二の線分とのなす角度が所定角度以上である場合には、前記第一縮退領域の対と前記第二縮退領域の対からなる組合せをそれぞれ取得することを特徴とする請求項4に記載の画像処理プログラム。
  6. 前記コンピュータに、
    前記検証により前記評価値が所定値以上であると評価された前記組合せについて、前記第一の線分および前記第二の線分に基づいてクロスフィルタを生成する処理をさらに実行させ、
    前記決定は、前記交点の座標周辺の前記冶具の入力画像の各座標について、前記クロスフィルタとの畳込積分画像を生成し、該生成した畳込積分画像内の極大値に対応する座標の中から前記交点に最も近い極大値に対応する座標を取得して、該取得した極大値座標を前記特徴点の座標に決定することを特徴とする請求項3〜5のいずれか一つに記載の画像処理プログラム。
  7. 前記コンピュータに、
    前記決定された前記特徴点の座標を用いて、冶具を撮影したカメラの取り付け位置および/または角度を計算する処理をさらに実行させることを特徴とする請求項1に記載の画像処理プログラム。
  8. 第一の色領域を複数と該第一の色領域とは異なる色を有する第二の色領域を複数有する冶具を撮影した画像上で第一の色領域をそれぞれ特定する特定部と、
    前記特定部により特定された複数の第一の色領域と所定の凸形状とをそれぞれ比較して、該所定の凸形状と形状の類似性があると判断されるまで、該複数の第一の色領域をそれぞれ縮退する縮退部と、
    前記縮退部による縮退の結果、前記複数の第一の色領域について得られる複数の第一縮退領域の前記画像上の位置関係に基づいて、前記画像上の冶具の特徴点を決定する決定部と
    を有することを特徴とする画像処理装置。
JP2012522398A 2010-06-30 2010-06-30 画像処理プログラムおよび画像処理装置 Active JP5472463B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/061205 WO2012001793A1 (ja) 2010-06-30 2010-06-30 画像処理プログラムおよび画像処理装置

Publications (2)

Publication Number Publication Date
JPWO2012001793A1 JPWO2012001793A1 (ja) 2013-08-22
JP5472463B2 true JP5472463B2 (ja) 2014-04-16

Family

ID=45401548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012522398A Active JP5472463B2 (ja) 2010-06-30 2010-06-30 画像処理プログラムおよび画像処理装置

Country Status (3)

Country Link
US (1) US8675959B2 (ja)
JP (1) JP5472463B2 (ja)
WO (1) WO2012001793A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8310539B2 (en) * 2009-05-29 2012-11-13 Mori Seiki Co., Ltd Calibration method and calibration device
KR102001659B1 (ko) * 2012-11-19 2019-07-19 한국전자통신연구원 차량용 카메라 캘리브레이션 장치 및 방법
JP6107372B2 (ja) 2013-04-22 2017-04-05 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
EP3048555B1 (en) * 2013-09-20 2020-07-15 Fujitsu Limited Image processing device, image processing method, and image processing program
CN104683793B (zh) * 2013-11-29 2017-04-12 达丰(上海)电脑有限公司 用于相机的检测方法
US9977935B1 (en) 2014-06-20 2018-05-22 Secured Mobility, Llc Student accountability system
US10142544B1 (en) * 2016-01-27 2018-11-27 RAPC Systems, Inc. Real time wide angle video camera system with distortion correction
US10140687B1 (en) * 2016-01-27 2018-11-27 RAPC Systems, Inc. Real time wide angle video camera system with distortion correction

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0614319A (ja) * 1992-06-29 1994-01-21 Seiko Instr Inc パターン検査方法
JPH0618432A (ja) * 1991-10-15 1994-01-25 Matsushita Electric Ind Co Ltd 配線パターン検査装置
JP2001285681A (ja) * 2000-01-27 2001-10-12 Matsushita Electric Ind Co Ltd キャリブレーションシステム、ターゲット装置およびキャリブレーション方法
JP2002296144A (ja) * 2001-03-30 2002-10-09 Seiko Epson Corp マークの検出方法及び装置
JP2007164631A (ja) * 2005-12-15 2007-06-28 Canon Inc 指標識別方法及び指標識別装置
JP2008131250A (ja) * 2006-11-20 2008-06-05 Aisin Seiki Co Ltd 車載カメラの校正装置及び当該装置を用いた車両の生産方法
JP2008187564A (ja) * 2007-01-31 2008-08-14 Sanyo Electric Co Ltd カメラ校正装置及び方法並びに車両
JP2009146150A (ja) * 2007-12-13 2009-07-02 Nippon Telegr & Teleph Corp <Ntt> 特徴位置検出方法及び特徴位置検出装置
JP2010087743A (ja) * 2008-09-30 2010-04-15 Aisin Seiki Co Ltd 車載カメラの校正装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2940736B2 (ja) * 1992-03-26 1999-08-25 三洋電機株式会社 画像処理装置及びこの画像処理装置における歪み補正方法
US6542840B2 (en) * 2000-01-27 2003-04-01 Matsushita Electric Industrial Co., Ltd. Calibration system, target apparatus and calibration method
US6768509B1 (en) * 2000-06-12 2004-07-27 Intel Corporation Method and apparatus for determining points of interest on an image of a camera calibration object
WO2003012368A1 (fr) * 2001-07-30 2003-02-13 Topcon Corporation Appareil de mesure d'une forme superficielle, procede de mesure d'une forme superficielle et appareil graphique destine a l'etat superficiel
US7515756B2 (en) * 2003-06-23 2009-04-07 Shoestring Research, Llc. Region segmentation and characterization systems and methods for augmented reality
US7379184B2 (en) * 2004-10-18 2008-05-27 Nanometrics Incorporated Overlay measurement target
US7623274B1 (en) * 2004-12-22 2009-11-24 Google Inc. Three-dimensional calibration using orientation and position sensitive calibration pattern
JP4859205B2 (ja) * 2005-02-04 2012-01-25 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US20070030452A1 (en) * 2005-08-08 2007-02-08 N-Lighten Technologies Image adaptation system and method
US7961936B2 (en) * 2007-03-30 2011-06-14 Intel Corporation Non-overlap region based automatic global alignment for ring camera image mosaic
US7889234B2 (en) * 2008-01-10 2011-02-15 Delphi Technologies, Inc. Automatic calibration for camera lens distortion correction
JP5181704B2 (ja) * 2008-02-07 2013-04-10 日本電気株式会社 データ処理装置、姿勢推定システム、姿勢推定方法およびプログラム
US8106968B1 (en) * 2008-02-20 2012-01-31 Cognitech, Inc. System and method for pattern detection and camera calibration
GB2465791A (en) * 2008-11-28 2010-06-02 Sony Corp Rendering shadows in augmented reality scenes
US20100245594A1 (en) * 2009-03-25 2010-09-30 Tobie C David Camera calibration tool
US8223193B2 (en) * 2009-03-31 2012-07-17 Intuitive Surgical Operations, Inc. Targets, fixtures, and workflows for calibrating an endoscopic camera
US8310539B2 (en) * 2009-05-29 2012-11-13 Mori Seiki Co., Ltd Calibration method and calibration device
WO2011009108A2 (en) * 2009-07-17 2011-01-20 Universal Robotics, Inc. System and method for automatic calibration of stereo images
US11699247B2 (en) * 2009-12-24 2023-07-11 Cognex Corporation System and method for runtime determination of camera miscalibration
US8345930B2 (en) * 2010-01-22 2013-01-01 Sri International Method for computing food volume in a method for analyzing food
JP5573618B2 (ja) * 2010-11-12 2014-08-20 富士通株式会社 画像処理プログラムおよび画像処理装置
US8463073B2 (en) * 2010-11-29 2013-06-11 Microsoft Corporation Robust recovery of transform invariant low-rank textures
US8743214B2 (en) * 2011-05-11 2014-06-03 Intel Corporation Display screen for camera calibration
US8922647B2 (en) * 2011-08-03 2014-12-30 The Boeing Company Projection aided feature measurement using uncalibrated camera

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0618432A (ja) * 1991-10-15 1994-01-25 Matsushita Electric Ind Co Ltd 配線パターン検査装置
JPH0614319A (ja) * 1992-06-29 1994-01-21 Seiko Instr Inc パターン検査方法
JP2001285681A (ja) * 2000-01-27 2001-10-12 Matsushita Electric Ind Co Ltd キャリブレーションシステム、ターゲット装置およびキャリブレーション方法
JP2002296144A (ja) * 2001-03-30 2002-10-09 Seiko Epson Corp マークの検出方法及び装置
JP2007164631A (ja) * 2005-12-15 2007-06-28 Canon Inc 指標識別方法及び指標識別装置
JP2008131250A (ja) * 2006-11-20 2008-06-05 Aisin Seiki Co Ltd 車載カメラの校正装置及び当該装置を用いた車両の生産方法
JP2008187564A (ja) * 2007-01-31 2008-08-14 Sanyo Electric Co Ltd カメラ校正装置及び方法並びに車両
JP2009146150A (ja) * 2007-12-13 2009-07-02 Nippon Telegr & Teleph Corp <Ntt> 特徴位置検出方法及び特徴位置検出装置
JP2010087743A (ja) * 2008-09-30 2010-04-15 Aisin Seiki Co Ltd 車載カメラの校正装置

Also Published As

Publication number Publication date
WO2012001793A1 (ja) 2012-01-05
JPWO2012001793A1 (ja) 2013-08-22
US8675959B2 (en) 2014-03-18
US20130108155A1 (en) 2013-05-02

Similar Documents

Publication Publication Date Title
JP5472463B2 (ja) 画像処理プログラムおよび画像処理装置
US10275661B2 (en) Image processing apparatus, image processing method, and computer program product
US10178314B2 (en) Moving object periphery image correction apparatus
US10464484B2 (en) Apparatus for presenting support images to a driver and method thereof
WO2018216629A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5058002B2 (ja) 物体検出装置
US10521894B2 (en) Apparatus for presenting support images to a driver and method thereof
US20120121127A1 (en) Image processing apparatus and non-transitory storage medium storing image processing program
JP2009265798A (ja) レーンマーカ認識装置、車両、及びレーンマーカ認識用プログラム
WO2010047226A1 (ja) 車線区画線検出装置、車線区画線検出方法、及び車線区画線検出プログラム
JP2018063680A (ja) 交通信号認識方法および交通信号認識装置
JP6107372B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JPWO2012144020A1 (ja) 瞼検出装置、瞼検出方法及びプログラム
JP2021033510A (ja) 運転支援装置
JP6340228B2 (ja) 物体検出装置
JP2012226645A (ja) 画像処理装置および方法、記録媒体並びにプログラム
JP5166933B2 (ja) 車両認識装置、及び車両
JP5370375B2 (ja) 画像認識装置
JP6591257B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2013254242A (ja) 画像認識装置、画像認識方法および画像認識プログラム
JP4172236B2 (ja) 顔画像処理装置及びプログラム
WO2019233169A1 (zh) 图像处理方法和装置、电子装置、计算机设备和存储介质
WO2020054260A1 (ja) 画像認識装置
JP2009059165A (ja) 輪郭検出装置、それを用いた視線検出装置、偽の輪郭データの除去をコンピュータに実行させるためのプログラム、視線方向の検出をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2021051348A (ja) 物体距離推定装置及び物体距離推定方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140120

R150 Certificate of patent or registration of utility model

Ref document number: 5472463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150