JP2013109643A - 球面勾配検出方法、エッジ点検出方法、球面勾配検出装置、エッジ点検出装置、球面勾配検出プログラム及びエッジ点検出プログラム - Google Patents
球面勾配検出方法、エッジ点検出方法、球面勾配検出装置、エッジ点検出装置、球面勾配検出プログラム及びエッジ点検出プログラム Download PDFInfo
- Publication number
- JP2013109643A JP2013109643A JP2011255215A JP2011255215A JP2013109643A JP 2013109643 A JP2013109643 A JP 2013109643A JP 2011255215 A JP2011255215 A JP 2011255215A JP 2011255215 A JP2011255215 A JP 2011255215A JP 2013109643 A JP2013109643 A JP 2013109643A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- spherical
- image
- vector
- spherical gradient
- 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.)
- Pending
Links
Abstract
【課題】球面勾配ベクトルをより確実に算出可能な球面勾配検出方法、エッジ点検出方法、球面勾配検出装置、エッジ点検出装置、球面勾配検出プログラム及びエッジ点検出プログラムを提供する。
【解決手段】球面勾配算出方法は、複数の画素で離散的に表された離散球面に、撮影画像が投影された離散球面画像を形成する離散球面画像形成工程と、記離散球面画像を構成する複数の画素の各々の球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出する球面勾配算出工程と、を含む。
【選択図】図1
【解決手段】球面勾配算出方法は、複数の画素で離散的に表された離散球面に、撮影画像が投影された離散球面画像を形成する離散球面画像形成工程と、記離散球面画像を構成する複数の画素の各々の球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出する球面勾配算出工程と、を含む。
【選択図】図1
Description
本発明は、球面勾配検出方法、エッジ点検出方法、球面勾配検出装置、エッジ点検出装置、球面勾配検出プログラム及びエッジ点検出プログラムに関する。
画像処理では、エッジ点を検出したり、直線を検出したりするために、画像の勾配を算出している。画像の勾配は、例えば、画素の輝度値の変化を算出することで得られる。一方、近年、全天周画像の処理又は表示のために、複数の撮影画像を球の表面に投影した球面画像を使用する傾向にある。このような球面画像上の点Pにおける勾配を球面勾配と称したとき、球面勾配ベクトルは、撮影画像22上の任意の点(画素)paの画素値をI(x,y)とし、その画素paに対応する球面画像上の点(画素)pの画素値をI(θ,φ)としたとき、図19に示す直交曲線座標系での画素pの球面勾配のベクトル(以下、「球面勾配ベクトル」と称す)を∇Is(θ,φ)とすると、∇Is(θ,φ)は、次式で表される。
(例えば、非特許文献1)
∇Is(θ,φ)=(∂Is(θ,φ)/∂θ)×eθ+(1/sinθ)×(∂Is(θ,φ)/∂φ)×eφ
上記式中及び図19においてベクトルeθ及びベクトルeφは、直交曲線座標系において、θ方向及びφ方向の単位ベクトルである。また、図19においてベクトルeRは、R方向(半径方向)の単位ベクトルである。
(例えば、非特許文献1)
∇Is(θ,φ)=(∂Is(θ,φ)/∂θ)×eθ+(1/sinθ)×(∂Is(θ,φ)/∂φ)×eφ
上記式中及び図19においてベクトルeθ及びベクトルeφは、直交曲線座標系において、θ方向及びφ方向の単位ベクトルである。また、図19においてベクトルeRは、R方向(半径方向)の単位ベクトルである。
K. Daniilidis, A. Makadia and T. Bulow, "Image processing incatadioptric planes: spatiotemporal derivatives and optical flow computation,"IEEE Workshop on Omnidirectional Vision, 2002, pp.3-10.
しかしながら、直交曲線座標を利用する従来の方法では、上記式の右辺の第2項に(1/sinθ)が含まれているので、いわゆる極問題(pole problem)又は特異点問題が生じる。その結果、必ずしも確実に球面勾配ベクトルを算出することができない場合があった。
本発明は、上記の問題点を解決するためになされたものであり、球面勾配ベクトルをより確実に算出可能な球面勾配検出方法、エッジ点検出方法、球面勾配検出装置、エッジ点検出装置、球面勾配検出プログラム及びエッジ点検出プログラムを提供することを目的とする。
本発明に係る球面勾配算出方法は、複数の画素で離散的に表された離散球面に、撮影画像が投影された離散化球面画像を生成する離散化球面画像生成工程と、離散化球面画像を構成する複数の画素の各々の球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心部の点からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出する球面勾配算出工程と、を備える。
本発明に係る球面勾配算出装置は、複数の画素で離散的に表された離散球面に、撮影画像が投影された離散化球面画像を生成する離散化球面画像生成部と、離散化球面画像を構成する複数の画素の各々の球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心部の点からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出する球面勾配算出部と、を備える。
本発明に係る球面勾配算出プログラムは、コンピュータに、複数の画素で離散的に表された離散球面に、撮影画像が投影された離散化球面画像を生成する離散化球面画像生成工程と、離散化球面画像を構成する複数の画素の各々の球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心部の点からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出する球面勾配算出工程と、を実行せしめる。
上記球面勾配算出方法、球面勾配算出装置及び球面勾配算出プログラムでは、離散化球面画像を構成する複数の画素の各々の球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出する。上記各角部への単位ベクトル以外はスカラー量であり、単位ベクトルも一定の大きさを有する。そのため、例えば、直交曲線座標系を利用した球面勾配ベクトルの算出方法の場合のように極問題が生じない。その結果、より確実に球面勾配ベクトルを算出可能である。
本発明に係る球面勾配算出方法の球面勾配算出工程では、画素を構成する複数の角部の各々の画素値を、画素の画素値と、その画素及びその角部に隣接する画素の画素値とに基づいて算出し、球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素を構成する各角部に対して算出された画素値と、その画素の一辺の長さ、その画素の面積と、その画素の中心からその画素の角部への単位ベクトルとに基づいて算出し得る。同様に、本発明に係る球面勾配算出装置が有する球面勾配算出部は、画素を構成する複数の角部の各々の画素値を、画素の画素値と、その画素及びその角部に隣接する画素の画素値とに基づいて算出し、球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素を構成する各角部に対して算出された画素値と、その画素の一辺の長さ、その画素の面積と、その画素の中心部の点からその画素の角部への単位ベクトルとに基づいて算出し得る。
この場合、球面勾配ベクトルを算出すべき画素をVi(iは0以上の整数)とし、画素Viを構成するKi個(Kiは、3以上の整数)の角部をCi,j(jは、1以上Ki以下の整数)とし、角部Ci,jの画素値をI(Ci,j)とし、Ki個の角部のうち所定方向回りにおいて角部Ci,jに隣接する角部をCi,j+1(ただし、KiをK<i>と表したとき、Ci,K<i>+1=Ci,1)とし、画素Viの面積をAiとし、角部Ci,jと角部Ci,j+1の間の画素Viの辺の長さをajとし、画素Viの中心から角部Ci,jへの単位ベクトルをnjとし、画素Viの球面勾配ベクトルをUiとしたとき、上記球面勾配算出工程において又は上記球面勾配算出部では、球面勾配ベクトルUiを式(1)によって算出し得る。
本発明は、上記本発明に係る球面勾配算出方法で算出した球面勾配ベクトルの大きさが所定値以上の画素をエッジ点として検出するエッジ点検出工程を備える、エッジ点検出方法にも係る。同様に、本発明は、上記球面勾配算出装置と、球面勾配算出装置で算出した球面勾配ベクトルの大きさが所定の値以上の画素をエッジ点として検出するエッジ点検出部と、備える、エッジ点検出装置にも係る。更に、本発明は、コンピュータに、複数の画素で離散的に表された離散球面に、撮影画像が投影された離散化球面画像を生成する離散化球面画像生成工程と、離散化球面画像を構成する複数の画素の各々の球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心部の点からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出する球面勾配算出工程と、球面勾配算出工程で算出した球面勾配ベクトルの大きさが所定値以上の画素をエッジ点として検出するエッジ点検出工程と、を実行せしめるエッジ点検出プログラムにも係る。
このエッジ点検出方法、エッジ点検出装置及びエッジ点検出プログラムでは、球面勾配ベクトルを上記のようにして算出しているので、その球面勾配ベクトルに基づいてより確実にエッジ点を検出可能である。
本発明によれば、撮影画像に基づく球面勾配ベクトルをより確実に算出可能である。
以下、図を参照して本発明の実施形態について説明する。以下の説明においては、同一の要素には同一の符号を用いることとし重複する説明は省略する。
図1は、本発明に係るエッジ点検出装置の一実施形態を含む撮像システムの概略構成を示す図面である。撮影システム10は、撮像装置(撮像手段)20と、エッジ点検出装置30とを備える。
撮像装置20は、全天周の画像を取得するために、2つのカメラ21,21を備える。各カメラ21,21は、広角レンズである魚眼レンズを備えており、魚眼レンズ21Aによって結像された像を撮像素子21Bによって検出する。魚眼レンズ21Aの画角の例は185°であるが、180°以上であればよい。撮像素子21Bの例はCCDである。2つのカメラ21,21は、図1に模式的に示すように背面合わせで設けられている。これにより、2つのカメラ21,21は、実質的に同一の視点から互いに反対方向を撮影し、全天周における半球分の画像を取得する。図2は、カメラ21で実際に撮影した撮影画像22の一例を示す図面である。カメラ21としては、オリンパスの魚眼レンズFCON-2を取り付けたソニーハンディカムを使用した。
図1に示すように、撮像装置20は、2つのカメラ21,21で取得された画像の画像データをエッジ点検出装置30に出力する。
エッジ点検出装置30は、画像入力部31と、離散球面画像形成部32と、球面勾配算出部33と、エッジ点検出部34と、画像出力部35とを備える。また、エッジ点検出装置30は、画像入力部31、離散化球面画像形成部32などを制御するCPU36と、各種データ及びプログラムを格納する記憶部37を更に備えてもよい。図1に示したエッジ点検出装置30が有する各構成要素(画像入力部31、離散球面画像形成部32など)は、バスなどによって接続されて、データなどを通信可能である。エッジ点検出装置30の例は、コンピュータ装置である。エッジ点検出装置30は、記憶部37に格納されたエッジ点検出部プログラムを実行することによって、画像入力部31と、離散球面画像形成部32と、球面勾配算出部33と、エッジ点検出部34と、画像出力部35の各機能を実現する。
画像入力部31は、カメラ21で取得された撮影画像22の画像データの入力をカメラ21から受け付ける。画像入力部31は、無線及び有線通信の少なくとも一方を介してデータを受け取ってもよいし、又は記録媒体(DVDやSDカード等)からデータを受け取ってもよい。
離散球面画像形成部32は、画像入力部31で受け付けられた撮影画像22の画像データを、離散球面画像40の画像データに変換する。
離散球面画像40は、球面画像をコンピュータなどで処理するために離散的に表現した球面画像である。まず、球面画像について説明する。球面画像は、一対の撮影画像22を仮想単位球面S(図3参照)上に投影した画像である。一対の撮影画像22,22は、それぞれ全天周の半分の領域を撮影しているため、各撮影画像22を用いることで、全天周を表示する球面画像を生成することができる。球面画像は、各撮影画像22による半球分の画像を、カメラ21,21の相対位置及び2つの撮影画像22,22のオーバーラップした領域を利用して合成して生成され得る。
図3は、撮影画像と球面画像との対応関係を説明する図面である。図3では、単位球面Sの半球分を示している。カメラ21が有する魚眼レンズ21Aの光軸をZ軸とし、魚眼レンズ21Aの主点Oを通りZ軸に直交する平面をXY平面とする。Z軸上において、主点Oから魚眼レンズ21Aの焦点距離fだけ離れた点cは、Z軸と直交する撮影画像22の中心点に対応する。この中心点cを通り、Z軸と直交する平面をxy平面とする。撮影画像22は、魚眼レンズ21Aにより、実空間の点Pをxy平面に射影してできる画像である。
天頂角をθA、方位角をφAとすると、実空間の点Pから投影される球面画像上の点pの位置座標は、撮影画像22上の点paの座標(x,y)を用いて式(2)のように表される。
上記式(2)は、魚眼レンズ21Aの射影方式を等距離射影方式(すなわち、r=fθA)とした場合のものである。しかし、魚眼レンズ21Aの射影方式は他の射影方式、例えば、立体射影、等立体角射影及び正射影を採用してもよい。
上記式(2)は、魚眼レンズ21Aの射影方式を等距離射影方式(すなわち、r=fθA)とした場合のものである。しかし、魚眼レンズ21Aの射影方式は他の射影方式、例えば、立体射影、等立体角射影及び正射影を採用してもよい。
上記球面画像の点pと、撮影画像22の点paとの対応関係から、撮影画像22に基づいて球面画像を生成することができる。
撮影画像22が投影される球面Sは、理論的には、図3に示すように連続的である。しかし、コンピュータ等でデータ処理する場合には、離散的表現を用いる。図4は、複数の画素により構成される離散球面に画像を投影した離散球面画像の一例を示す模式図である。図4に示す離散球面画像40は、SCVT(Sperical Centroidal Voronoi Tessellation)画像として知られている(例えば、Q. Du,M.Bunzburger, and L. Ju, “Constrained centroidal Voronoi tessellations ongeneralsurface,” SIAM J. Sci. Comput., 24(5), 2003, pp1499-1506参照)。
離散球面画像40において画像が投影される離散的な球面である離散球面41は、理論的な連続した球面Sを、測地ドーム法によりL回(Lは0以上の整数)分割した測地ドーム50の双対多面体である。本実施形態では、上述した球又は測地ドームにおける位置を説明する際に、緯度及び経度といった地球座標系を使用する。
図5(a)〜図5(c)は、測地ドーム法における各分割レベルの測地ドーム50を示す図面である。図5(a)〜図5(c)では、球面Sを地球座標系で表現した場合の北極(第1の極)側から見た場合の図面である。図5(a)は、0回分割レベル(L=0)の測地ドーム50を示しており、正二十面体に対応する。図5(b)は、1回分割レベル(L=1)の測地ドーム50を示している。図5(c)は、2回分割レベル(L=2)の場合を示している。図5(a)〜図5(c)に示される中括弧内に示された各数字は、説明の便宜のため示した測地ドーム50の頂点51の頂点番号を示している。また、図5(a)〜図5(c)では、各測地ドーム50を分割レベルに応じて、測地ドーム50Lとして示している。
測地ドーム50の各頂点51を一つの画素で表した場合、各頂点51を表す画素と、離散球面41の画素42とは双対である。この場合、測地ドーム50の中心に対する各頂点51を表す画素の方向と、離散球面41の中心から画素42の中心(中心部の点)への方向、すなわち、画素42の主方向とは一致する。また、離散球面41の画素42の形状は、測地ドーム50における0回分割レベルの頂点51を中心とする画素42は正五角形であり、他の画素42は正六角形である。
測地ドーム50を生成するための分割回数に応じて、離散球面41の画素数が決まるので、分割回数は、撮影画像22の画素数に応じて決めればよい。離散球面画像40は、離散球面41の各画素42に撮影画像22の対応する画素の画素値を与えることによって形成される。なお、画素42と、撮影画像22の画素とが一対一に対応しない場合には、撮影画像22の画素に対応しない画素42には、画素42と対応する撮影画像22の画素を利用して補間した画素値を割り当てる。
離散球面画像40を表す画素42の画素値は、記憶部37内の複数の記憶セル(画素セル)37aに記憶されている。画素42の画素値が記憶される複数の記憶セル37aの配列状態は特に限定されないが、例えば、図6に示すような配列状態とし得る。図6は、記憶部37内において離散球面画像40が格納されている記憶セル37aの配列状態を示す図面である。図6中の各記憶セル37a内の数値は、図5(c)に示した測地ドーム502の各頂点51の番号に対応する。従って、図6は、図5(c)に示した測地ドーム502に双対な離散球面画像40の画素値の格納状態を示す図面である。
図6に示した離散球面画像40の各画素42に対応した記憶セル37aの配置状態は、離散球面41に双対な測地ドーム50の複数の頂点51を、図7(a)に示したように、2次元状に展開した後、図7(b)に示すように、変形したものに対応する。図7(a)は、測地ドーム50の所定の経線上の複数の頂点51を基準にして、その頂点51と同じ緯度の頂点51が、基準となる頂点51と同じ行になるように展開した図である。図7(a)及び図7(b)では、記憶セル37aとの対応関係を示すため、各頂点51を四角形で表している。図7(b)は、図7(a)の頂点51の配列状態において、各行の頂点51を中央揃えすることによって得られる頂点51の配列状態であり、図6に示す記憶セル37aの配列状態に対応する。
図6に示す記憶セル37aの配列状態では、離散球面画像40に対して図7(a)及び図7(b)に示した変形を行ったものであることから、図6に示す配列状態の記憶セル37aに各画素42の画素値を格納した場合、図6に示す配列状態は、離散球面画像40の2次元表現に対応する。図8は、図2に示した撮影画像に対応する離散球面画像の2次元表現画像を示す図面である。図8は、カメラ21,21のうちの一方の撮影画像を変換した図面である。
なお、各画素42と記憶セル37aとの対応関係並びに各画素42と撮影画像22の画素との対応関係を例えばルックアップテーブルに格納しておけば、撮影画像22から直接、図6に示した配列状態の記憶セル37aに、対応する画素42の画素値を格納できる。図6に示す配列状態は、離散球面画像40の2次元表現に対応するので、画素42に対応した記憶セル37aに、各画素42の画素値を格納することが離散球面画像40を形成することに対応する。
球面勾配算出部33は、画素42の球面勾配ベクトルを算出する。図9は、球面勾配ベクトルを算出する原理を説明するための図面である。図9は、離散球面画像40の一部を抜粋したものである。図9には、球面勾配ベクトルを算出する一つの画素42と、その周囲の画素42を示している。図9中の一点鎖線は、測地ドーム法における測地線であり、測地線の交点が測地ドーム50の頂点51である。
説明のために、球面勾配ベクトルを算出すべき画素42を画素Viと称し、画素Viに対応する頂点51を頂点Piとする。頂点Piの位置は、画素Viの中心であり、直交座標系において(Xi,Yi,Zi)で表され得る。そして、画素Viの位置は、頂点Piの位置で特定され得る。画素Viに隣接する画素42に対応する頂点51を頂点Pi,jとする。「j」は、画素Viに隣接する画素42の個数をKiとしたとき、1〜Kiの数である。Kiは、3以上の整数であって、画素42の形状によって決まる整数である。図5(c)に示した離散球面画像40において、0分割レベルの頂点51(図5(a)に示す頂点)に対応する画素42以外の画素42ではKi=6であり、0分割レベルの頂点51に対応する画素42に対してKi=5である。画素Viの角部であって、頂点Pi,jと頂点Pi,jに対して所定方向まわりにおいて隣接している頂点Pi,j+1との間にある角部をCi,jとする。所定方向まわり(例えば、図9では時計回り)において、角部Ci,jに隣接する角部はCi,j+1と表す。なお、Pi,K<i>+1=Pi,1であり、Ci,K<i>+1=Ci,1である。Pi,K<i>+1及びCi,K<i>+1において<i>はKに対する下付きを表している。また、画素Viの面積をAiとする。
離散球面画像40の任意の位置の輝度値をIsとし、その位置での球面勾配ベクトルをUsとすると、球面勾配ベクトルUsは、理論的には、次式で表される。
また、一つの画素Viに対する球面勾配ベクトルUsに対しては次式が成立する。
式(4)中、∂Viは画素Viの境界を表している。式(4)中のベクトルnは、画素Viの中心(中心部の点)から境界∂Viに沿った、外側に向かう単位ベクトルを表している。
式(4)中、∂Viは画素Viの境界を表している。式(4)中のベクトルnは、画素Viの中心(中心部の点)から境界∂Viに沿った、外側に向かう単位ベクトルを表している。
式(4)は、次式のように近似され得る。
式(5)中、Uiは、画素Viの中心である頂点Piの位置での球面勾配ベクトルUs(Pi)である。ajは、画素Viの角部Ci,jと角部Ci,j+1との間の画素Viの辺の長さ、すなわち、角部Ci,jと角部Ci,j+1との間の距離である。ベクトルnjは、頂点Piから角部Ci,jに向かう単位ベクトルである。Is(Ci,j)は、角部Ci,jの画素値である。角部Ci,jの画素値は、画素Viに隣接する画素であって、画素Viと共に角部Ci,jを構成する画素の画素値Is(Pi,j),Is(Pi,j+1)を利用して補間した値である。
式(5)中、Uiは、画素Viの中心である頂点Piの位置での球面勾配ベクトルUs(Pi)である。ajは、画素Viの角部Ci,jと角部Ci,j+1との間の画素Viの辺の長さ、すなわち、角部Ci,jと角部Ci,j+1との間の距離である。ベクトルnjは、頂点Piから角部Ci,jに向かう単位ベクトルである。Is(Ci,j)は、角部Ci,jの画素値である。角部Ci,jの画素値は、画素Viに隣接する画素であって、画素Viと共に角部Ci,jを構成する画素の画素値Is(Pi,j),Is(Pi,j+1)を利用して補間した値である。
式(5)より、画素Viの球面勾配ベクトルUiは、次式で得られる。
図1に示した球面勾配算出部33は、式(6)を利用して各画素42の球面勾配ベクトルを算出する。以下、各画素42の球面勾配ベクトルを単に球面勾配ベクトルUと称す。式(6)において、Is(Ci,j)は、前述したように、画素値Is(Pi,j),Is(Pi,j+1)を利用して補間した値であるので、式(6)は、画素Viに隣接する画素42の画素値を利用して球面勾配ベクトルを算出していることになる。
図1に示した球面勾配算出部33は、式(6)を利用して各画素42の球面勾配ベクトルを算出する。以下、各画素42の球面勾配ベクトルを単に球面勾配ベクトルUと称す。式(6)において、Is(Ci,j)は、前述したように、画素値Is(Pi,j),Is(Pi,j+1)を利用して補間した値であるので、式(6)は、画素Viに隣接する画素42の画素値を利用して球面勾配ベクトルを算出していることになる。
エッジ点検出部34は、球面勾配算出部33により算出した各画素42の球面勾配ベクトルUsのうち、球面勾配ベクトルUの大きさが所定値以上である画素42をエッジ点として検出する。所定値は、計算又は検出誤差などを考慮した値である。
画像出力部35は、エッジ点検出部34で検出されたエッジ点に基づく画像を出力する。画像出力部35は、例えば、離散球面画像形成部32で形成された離散球面画像40又はその画像40の2次元表現の画像を出力したりしてもよい。
図1に示したエッジ点検出装置30の動作について図10を利用して説明する。図10は、エッジ点の検出方法を示すフローチャートである。画像入力部31が、カメラ21,21で撮影された一対の撮影画像22,22の画像データを入力画像として受け付ける(撮影画像入力工程S1)と、離散球面画像形成部32が離散球面画像40を生成する(離散球面画像形成工程S2)。次いで、球面勾配算出部33は、式(6)を用いて離散球面画像40を構成する各画素42に対して球面勾配ベクトルUを算出する(球面勾配算出工程S3)。その後、エッジ点検出部34は、算出された球面勾配ベクトルUの大きさのうち、所定値以上の大きさの球面勾配ベクトルUに対応する画素42をエッジ点として検出する(エッジ点検出工程S4)。画像出力部35は、検出されたエッジ点に基づく画像を出力する。なお、画像出力部35は、他の工程での処理後の画像を適宜出力するようになっていてもよい。
エッジ点検出のための各工程は、記憶部37に格納されたエッジ点検出部プログラムを実行することによって、画像入力部31と、離散球面画像形成部32と、球面勾配算出部33と、エッジ点検出部34と、画像出力部35がそれぞれの機能を実現することによってなされ得る。
上記構成のエッジ点検出装置30及びエッジ点検出方法では、離散球面画像40の各画素42に対して、式(6)に基づいて球面勾配ベクトルUを算出している。また、式(6)中における画素42の位置及び画素42の角部の位置などは、3次元座標系で表すことができる。そのため、3次元座標系における球面勾配ベクトルを直接的に算出し得る。
式(6)の右辺の分母はスカラー量である。そのため、例えば、直交曲線座標系を用いて球面勾配ベクトルUを算出する場合のようないわゆる極問題(pole problem)が存在しない。通常、カメラ21の運動を算出する場合などにおいては、直交座標系におけるベクトル表現を用いる。そのため、例えば、球面勾配ベクトル算出用として直交座標系を採用していれば、カメラ21の運動を算出するための直交座標系への座標変換も必要がない。
そして、エッジ点検出装置30では、球面勾配算出部33によって算出された球面勾配ベクトルUに基づいて、エッジ点を算出可能である。図11は、図8に示した画像に対するエッジ点の検出結果を示す図面である。図12は、図2に示した画像に対するエッジ点の検出結果を示す図面である。図11及び図12中の白色の各点がエッジ点に対応する。
(第2の実施形態)
図13は、エッジ点検出装置を利用した直線検出装置を含む撮影システム11の概略構成を示す図面である。撮影システム11は、直線検出装置301を更に備える点で、撮影システム10と相違する。直線検出装置301は、図1に示したエッジ点検出装置30の構成において、直線検出部38を更に備える点で、エッジ点検出装置30の構成と相違する。直線検出装置301は、記憶部37に格納された直線検出部プログラムを実行することによって、画像入力部31と、離散球面画像形成部32と、球面勾配算出部33と、エッジ点検出部34と、画像出力部35、直線検出部38の各機能を実現する。直線検出部38以外の機能は、エッジ点検出装置30の場合と同様であるので、直線検出部38の説明を中心にして、直線検出装置301について説明する。
図13は、エッジ点検出装置を利用した直線検出装置を含む撮影システム11の概略構成を示す図面である。撮影システム11は、直線検出装置301を更に備える点で、撮影システム10と相違する。直線検出装置301は、図1に示したエッジ点検出装置30の構成において、直線検出部38を更に備える点で、エッジ点検出装置30の構成と相違する。直線検出装置301は、記憶部37に格納された直線検出部プログラムを実行することによって、画像入力部31と、離散球面画像形成部32と、球面勾配算出部33と、エッジ点検出部34と、画像出力部35、直線検出部38の各機能を実現する。直線検出部38以外の機能は、エッジ点検出装置30の場合と同様であるので、直線検出部38の説明を中心にして、直線検出装置301について説明する。
直線検出部38による直線検出の原理を説明する。実空間上の直線は、球面画像上に、図14に示すように、大円の一部として投影される。よって、大円を含む面を、直線が投影された面である直線投影面60と称す。図14は、直線の球面画像を表すための球面Sに対する投影状態を示す模式図である。図14では、3つの直線l1,l2,l3の球面画像への投影状態及び各直線l1〜l3の直線投影面60,60,60のうちの一部を模式的に示している。図14では、各直線l1〜l3に対する直線投影面60〜60をそれぞれ直線投影面601,602,603と示している。各直線投影面601〜603に対してそれぞれ法線ベクトルNが規定される。
一方、画像中のエッジ点は、通常、輝度の変化が顕著な点として検出される。そのため、エッジ点は、画像中のある線上の点であり得る。そして、実空間の直線上の複数のエッジ点の球面勾配ベクトルUは、同じ球面勾配ベクトルUを有しており、各球面勾配ベクトルUは、エッジ点を含む直線の直線投影面60の法線ベクトルNと一致する。
そこで、エッジ点の球面勾配ベクトルUを、対応する法線ベクトルNに対して投票し、所定の投票数以上の法線ベクトルNを抽出すれば、エッジ点が含まれる直線を検出可能である。
図14では、連続的な球面を利用した球面画像を示しているが、コンピュータ装置では、離散球面画像40として処理される。離散球面画像40における各画素42は、大円を含む何れかの面と略平行となり得る。そのため、直線投影面60の法線ベクトルNは、画素42の位置ベクトルで表され得る。よって、図6に示したような離散球面画像40の各画素42に対応づけられた記憶セル37aの2次元配列状態は、法線ベクトルNに対応したセルの配置でもある。従って、記憶部37内に図6と同様の記憶セル37aの配置領域を確保することによって、上記法線ベクトルに対して球面勾配ベクトルを投票する投票領域を直線検出装置301に実装できる。
直線検出装置301において画像出力部35は、検出した直線が重畳された離散球面画像40若しくはそれの二次元表現又は撮影画像22を出力する。また、画像出力部35は、エッジ点検出装置30と同様の画像を出力可能してもよい。
直線検出装置301の動作の一例について説明する。図15は、直線検出方法の一例を示すフローチャートである。直線検出装置301では、直線検出装置301は、図10に示した撮影画像入力工程S1〜エッジ点検出工程S4と同様にして、エッジ点を算出する。次に、直線検出工程S6を実施して直線を検出する。すなわち、取得したエッジ点の球面勾配ベクトルUと、各画素42の位置ベクトル、すなわち、法線ベクトルNと比較し、法線ベクトルNに一致する球面勾配ベクトルUを、その法線ベクトルNとしての位置ベクトルの画素42と対応する記憶セル37aに投票する。投票結果において、所定の閾値以上の得票数を有する法線ベクトルNによって規定される平面を直線投影面60とし、エッジ点を含む直線を検出する。投票される記憶セル37aは、球面勾配ベクトルUの投票用に記憶部37に確保された記憶領域内の記憶セル37aである。このような投票は、エッジ点のハフ変換に対応するため、投票用の記憶領域は、ハフ空間として機能することになる。
その後、画像出力工程S5を実行して、検出した直線が重畳された離散球面画像40もしくはそれの二次元表現又は撮影画像22を出力する。
図16〜図18を参照して上記方法により直線を検出可能である点を、シミュレーション結果を利用してより具体的に説明する。図16は、シミュレーション用のテストパターンを示す図面である。図16に示すように、テストパターン70は、互いに平行な2つの線状パターン71,72を有する。図17は、テストパターン70の撮影画像(魚眼画像)22に対応するシミュレーション画像23を示す図面である。シミュレーションにおいては、テストパターン70を、視野が180度の魚眼レンズで撮影した場合を仮定し、魚眼レンズの射影方式として等距離射影方式を採用して、図17に示す画像を得た。図16に示した線状パターン71,72に対応する。図17に示した、撮影画像22としてのシミュレーション画像23を入力画像として、直線検出装置301は、図15に示すように、図10に示した撮影画像入力工程S1〜エッジ点検出工程S4と同様にして、エッジ点を算出した後、図15に示した直線検出工程S6を実施した。
図18は、投票結果を示す図面である。図18に示すように、3つのピークが生じていることが理解され得る。各ピークに対応する記憶セル37aを規定することによって、法線ベクトルNが規定される。図18において、α軸方向は、図6における記憶セル37aの列方向であり、β軸方向は図6における記憶セル37aの行方向である。図17におけるαβ平面が記憶セル37aの配列領域であり、図17においてαβ平面に直交する方向が投票数を示している。
図16に示したテストパターン70を視野が180度の魚眼レンズで撮影した場合、テストパターンが無限大のパターンを撮影した場合に対応する。この場合、テストパターン70の外縁は、一つの直線と見なし得る。そのため、テストパターン70には、3つの直線が存在することになる。そして、図18に示したように、ヒストグラムでは、3つのピークが生じており、直線を検出できていることが理解され得る。
本実施形態においても、直線検出装置301の例は、コンピュータ装置である。直線検出装置301は、記憶部37に格納された直線検出部プログラムを実行することによって、画像入力部31と、離散球面画像形成部32と、球面勾配算出部33と、エッジ点検出部34と、画像出力部35の各機能を実現し、上述した直線検出のための各工程をコンピュータに実行せしめる。
以上、本発明の実施形態を説明したが、本発明は上記実施形態に限定されない。例えば、説明のために、上記実施形態では、カメラ21が有するレンズ部は、魚眼レンズといった広角レンズに限らず、画角が180度より小さい他のレンズであってもよい。更に、上記実施形態では、一例として、一対のカメラ21,21を利用して全天周の画像を取得する形態を例示した。しかいながら、例えば、一つのカメラ21による撮影画像についてのみエッジ点検出や直線検出を行ってもよい。
エッジ点検出装置30及び直線検出装置31では、画像入力部31、画像出力部35、CPU36及び記憶部37を備えるとした。しかしながら、エッジ点検出装置30では、離散球面画像形成部32と、球面勾配算出部33とを備えていればよい。直線検出装置31では、離散球面画像形成部32と、球面勾配算出部33と、直線検出部38とを備えていればよい。この場合、画素値の記憶などに利用する記憶領域などは、各構成要素がそれぞれ有していてもよいし、各構成要素が実装されるコンピュータ装置が元々備える記憶領域を利用してもよい。
更に、上記実施形態では、離散球面画像40を表す各画素42の画素値の保存方法として、図6に示す記憶セル37aの配置状態を例示したが、記憶セル37aの配置状態これに限定されない。例えば、図7(a)のように展開した状態でもよいし、他の公知の配列状態であってもよい。更に、図7(a)の配列状態から図7(b)のような変形に限定されず、例えば、図7(a)の列数の異なる行を適宜配列し直して、全体として長方形になるような配列状態であってもよい。なお、全体が長方形の配列状態では、測地ドームにおいて北極及び南極に対応する頂点は削除される場合があるが、複数の画素の2点の削除であるため、画像への影響は低減されていること及び補間により削除した画素の画素値をえてもよい。
離散球面画像40を形成するための離散球面41は、測地ドーム法により球面を所定回数分割した測地ドームと双対な離散球面に限定されない。離散球面41は、複数の画素により構成されていればよい。そして、球面勾配ベクトルは、球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心部の点からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出されればよい。また、画素の中心部の点は、画素の中心近傍の点であればよい。
上記第1の実施形態では、エッジ点を検出するエッジ点検出装置30を説明し、第2の実施形態では、そのエッジ点検出装置30が直線検出部38を更に備えた直線検出装置301について説明した。しかしながら、本発明は、例えば、エッジ点検出装置30の構成において、エッジ点検出部34を備えずに図に示すフローチャートで球面勾配ベクトルを算出する工程までを実施する球面勾配算出装置及び球面勾配算出方法に係る。このような球面勾配算出装置及び球面勾配算出方法では、記憶部37に格納された球面勾配算出プログラムをコンピュータに実行させることによって直線検出装置の各構成要素の機能を実現せしめると共に、球面勾配算出方法の各工程を実行する。
本発明は、球面勾配ベクトルの算出が必要とされる移動ロボット、監視カメラ、レスキュー道具及び自動車といった車両に搭載されるナビゲーション用又は外部確認用のカメラ等に適用可能である。
22…撮影画像、30…エッジ点検出装置、31…画像入力部、32…離散球面画像形成部、33…球面勾配算出部、34…エッジ点検出部、40…離散球面画像、41…離散球面、42…画素。
Claims (10)
- 複数の画素で離散的に表された離散球面に、撮影画像が投影された離散球面画像を生成する離散球面画像生成工程と、
前記離散球面画像を構成する複数の画素の各々の球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心部の点からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出する球面勾配算出工程と、
を備える球面勾配算出方法。 - 前記球面勾配算出工程では、前記画素を構成する複数の角部の各々の画素値を、前記画素の画素値と、その画素及びその角部に隣接する画素の画素値とに基づいて算出し、前記球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素を構成する各角部に対して算出された画素値と、その画素の一辺の長さ、その画素の面積と、その画素の中心部の点からその画素の角部への単位ベクトルとに基づいて算出する、
請求項1記載の球面勾配算出方法。 - 前記球面勾配ベクトルを算出すべき画素をVi(iは0以上の整数)とし、
前記画素Viを構成するKi個(Kiは、3以上の整数)の角部をCi,j(jは、1以上Ki以下の整数)とし、
前記角部Ci,jの画素値をI(Ci,j)とし、
前記Ki個の角部のうち所定方向回りにおいて角部Ci,jに隣接する角部をCi,j+1(ただし、KiをK<i>と表したとき、Ci,K<i>+1=Ci,1)とし、
前記画素Viの面積をAiとし、
前記角部Ci,jと前記角部Ci,j+1の間の前記画素Viの辺の長さをajとし、
前記画素Viの中心部の点から前記角部Ci,jへの単位ベクトルをnjとし、
前記画素Viの球面勾配ベクトルをUiとしたとき、
前記球面勾配方向算出工程では、前記球面勾配ベクトルUiを式(1)によって算出する、
請求項2記載の球面勾配算出方法。
- 請求項1〜3の何れか一項記載の球面勾配算出方法で算出した球面勾配ベクトルの大きさが所定値以上の画素をエッジ点として検出するエッジ点検出工程を備える、エッジ点検出方法。
- 複数の画素で離散的に表された離散球面に、撮影画像が投影された離散球面画像を生成する離散球面画像生成部と、
前記離散球面画像を構成する複数の画素の各々の球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心部の点からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出する球面勾配算出部33と、
を備える球面勾配算出装置。 - 前記球面勾配算出部は、前記画素を構成する複数の角部の各々の画素値を、前記画素の画素値と、その画素及びその角部に隣接する画素の画素値とに基づいて算出し、前記球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素を構成する各角部に対して算出された画素値と、その画素の一辺の長さ、その画素の面積と、その画素の中心部の点からその画素の角部への単位ベクトルとに基づいて算出する、請求項5記載の球面勾配算出装置。
- 前記球面勾配ベクトルを算出すべき画素をVi(iは0以上の整数)とし、
前記画素Viを構成するKi個(Kiは、3以上の整数)の角部をCi,j(jは、1以上Ki以下の整数)とし、
前記角部Ci,jの画素値をI(Ci,j)とし、
前記Ki個の角部のうち所定方向回りにおいて角部Ci,jに隣接する角部をCi,j+1(ただし、KiをK<i>と表したとき、Ci,K<i>+1=Ci,1)とし、
前記画素Viの面積をAiとし、
前記角部Ci,jと前記角部Ci,j+1の間の前記画素Viの辺の長さをajとし、
前記画素Viの中心部の点から前記角部Ci,jへの単位ベクトルをnjとし、
前記画素Viの球面勾配ベクトルをUiとしたとき、
前記球面勾配方向算出部は、前記球面勾配ベクトルUiを式(2)によって算出する、
請求項6記載の球面勾配算出装置。
- 請求項6〜7の何れか一項記載の球面勾配算出装置と、
前記球面勾配算出装置で算出した球面勾配ベクトルの大きさが所定の値以上の画素をエッジ点として検出するエッジ点検出部と、
備える、エッジ点検出装置。 - コンピュータに、
複数の画素で離散的に表された離散球面に、撮影画像が投影された離散球面画像を生成する離散球面画像生成工程と、
前記離散球面画像を構成する複数の画素の各々の球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心部の点からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出する球面勾配算出工程と、
を実行せしめる球面勾配検出プログラム。 - コンピュータに、
複数の画素で離散的に表された離散球面に、撮影画像が投影された離散球面画像を生成する離散球面画像生成工程と、
前記離散球面画像を構成する複数の画素の各々の球面勾配ベクトルを、その球面勾配ベクトルを算出すべき画素の画素値と、その画素に隣接する画素の画素値と、その画素を構成する複数の辺の各々の長さ、その画素の面積と、その画素の中心部の点からその画素を構成する複数の角部の各々への単位ベクトルとに基づいて算出する球面勾配算出工程と、
球面勾配算出工程で算出した球面勾配ベクトルの大きさが所定値以上の画素をエッジ点として検出するエッジ点検出工程と、
を実行せしめるエッジ点検出プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011255215A JP2013109643A (ja) | 2011-11-22 | 2011-11-22 | 球面勾配検出方法、エッジ点検出方法、球面勾配検出装置、エッジ点検出装置、球面勾配検出プログラム及びエッジ点検出プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011255215A JP2013109643A (ja) | 2011-11-22 | 2011-11-22 | 球面勾配検出方法、エッジ点検出方法、球面勾配検出装置、エッジ点検出装置、球面勾配検出プログラム及びエッジ点検出プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013109643A true JP2013109643A (ja) | 2013-06-06 |
Family
ID=48706320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011255215A Pending JP2013109643A (ja) | 2011-11-22 | 2011-11-22 | 球面勾配検出方法、エッジ点検出方法、球面勾配検出装置、エッジ点検出装置、球面勾配検出プログラム及びエッジ点検出プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013109643A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082441A (zh) * | 2022-07-22 | 2022-09-20 | 山东微山湖酒业有限公司 | 一种基于计算机视觉的酿酒蒸馏工艺中甑料平铺方法 |
-
2011
- 2011-11-22 JP JP2011255215A patent/JP2013109643A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082441A (zh) * | 2022-07-22 | 2022-09-20 | 山东微山湖酒业有限公司 | 一种基于计算机视觉的酿酒蒸馏工艺中甑料平铺方法 |
CN115082441B (zh) * | 2022-07-22 | 2022-11-11 | 山东微山湖酒业有限公司 | 一种基于计算机视觉的酿酒蒸馏工艺中甑料平铺方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6859442B2 (ja) | キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法 | |
KR101666959B1 (ko) | 카메라로부터 획득한 영상에 대한 자동보정기능을 구비한 영상처리장치 및 그 방법 | |
US10594941B2 (en) | Method and device of image processing and camera | |
CN108876714B (zh) | 图像捕获装置、信息处理装置和图像处理方法 | |
CN106846409B (zh) | 鱼眼相机的标定方法及装置 | |
US11039121B2 (en) | Calibration apparatus, chart for calibration, chart pattern generation apparatus, and calibration method | |
JP4825980B2 (ja) | 魚眼カメラの校正方法。 | |
US9591280B2 (en) | Image processing apparatus, image processing method, and computer-readable recording medium | |
JP6733267B2 (ja) | 情報処理プログラム、情報処理方法および情報処理装置 | |
US20110115922A1 (en) | Calibration apparatus and calibration method | |
CN107705252B (zh) | 适用于双目鱼眼图像拼接展开校正的方法及系统 | |
US20140125774A1 (en) | Apparatus for synthesizing three-dimensional images to visualize surroundings of vehicle and method thereof | |
JP4825971B2 (ja) | 距離算出装置、距離算出方法、構造解析装置及び構造解析方法。 | |
Aghayari et al. | Geometric calibration of full spherical panoramic Ricoh-Theta camera | |
WO2021004416A1 (zh) | 一种基于视觉信标建立信标地图的方法、装置 | |
JP5783567B2 (ja) | 直線検出装置、直線検出方法、直線検出プログラム及び撮影システム | |
JP2006059202A (ja) | 撮像装置及び画像補正方法 | |
US10482571B2 (en) | Dual fisheye, hemispherical image projection and stitching method, device and computer-readable medium | |
WO2019171984A1 (ja) | 信号処理装置、信号処理方法、及び、プログラム | |
CN116168143A (zh) | 一种多视图三维重建的方法 | |
JP2005244861A (ja) | 撮像装置及び撮像系パラメータ校正方法 | |
JP4631048B2 (ja) | 撮像装置及び撮像系パラメータの校正方法 | |
JP2010217984A (ja) | 像検出装置及び像検出方法 | |
CN113034347A (zh) | 倾斜摄影图像处理方法、装置、处理设备及存储介质 | |
JP2019057864A (ja) | カメラ制御方法、カメラ制御装置およびカメラ制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150707 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160105 |