(57)【特許請求の範囲】
【請求項１】
撮像手段により撮像された撮影画像内の複数のエッジ点について、前記撮影画像を球の表面に投影した球面画像内における各前記エッジ点の対応点である対応エッジ点の球面勾配ベクトルを算出する勾配算出部と、
前記球面画像における直線投影面の法線ベクトルを表す極角及び方位角で構成されるハフ空間に、各前記対応エッジ点を含む前記直線投影面の前記法線ベクトルを投票する投票部と、
前記ハフ空間において所定の閾値以上の投票数を有する前記法線ベクトルで規定される前記直線投影面を決定することによって、前記撮影画像内の直線を特定する直線特定部と、
を備え、
前記投票部は、各前記対応エッジ点について、前記対応エッジ点の位置ベクトルと直交する法線ベクトルであって、その法線ベクトルと前記対応エッジ点における前記球面勾配ベクトルとの内積が０より大きい法線ベクトルを投票する、
直線検出装置。  
【請求項２】
前記撮影画像を球の表面に投影することによって球面画像を形成する球面画像形成部を備え、
前記勾配算出部は、前記球面画像形成部によって形成された前記対応エッジ点の球面勾配ベクトルを算出する、
請求項１記載の直線検出装置。
【請求項３】
前記直線投影面の法線ベクトルは、前記球面画像を離散化して得られる各画素の位置ベクトルである、請求項１又は２記載の直線検出装置。
【請求項４】
撮像手段により撮像された撮影画像内の複数のエッジ点について、前記撮影画像を球の表面に投影した球面画像内における各前記エッジ点の対応点である対応エッジ点の球面勾配ベクトルを算出する勾配算出工程と、
前記球面画像における直線投影面の法線ベクトルを表す極角及び方位角で構成されるハフ空間に、各前記対応エッジ点を含む前記直線投影面の前記法線ベクトルを投票する投票工程と、
前記ハフ空間において所定の閾値以上の投票数を有する前記法線ベクトルで規定される前記直線投影面を決定することによって、前記撮影画像内の直線を特定する直線特定工程と、
を備え、
前記投票工程では、各前記対応エッジ点について、前記対応エッジ点の位置ベクトルと直交する法線ベクトルであって、その法線ベクトルと前記対応エッジ点における前記球面勾配ベクトルとの内積が０より大きい法線ベクトルを投票する、
直線検出方法。
【請求項５】
前記撮影画像を球の表面に投影することによって球面画像を形成する球面画像形成工程を備え、
前記勾配算出工程では、前記球面画像形成工程において形成された前記対応エッジ点の球面勾配ベクトルを算出する、
請求項４記載の直線検出方法。
【請求項６】
前記投票工程では、前記球面画像を離散化して得られる各画素の位置ベクトルを前記法線ベクトルとして投票する、請求項４又は５記載の直線検出方法。
【請求項７】
コンピュータを、
撮像手段により撮像された撮影画像内の複数のエッジ点について、前記撮影画像を球の表面に投影した球面画像内における各前記エッジ点の対応点である対応エッジ点の球面勾配ベクトルを算出する勾配算出部と、
前記球面画像における直線投影面の法線ベクトルを表す極角及び方位角で構成されるハフ空間に、各前記対応エッジ点を含む前記直線投影面の前記法線ベクトルを投票する投票部と、
前記ハフ空間において所定の閾値以上の投票数を有する前記法線ベクトルで規定される前記直線投影面を決定することによって、前記撮影画像内の直線を特定する直線特定部と、
して機能させ、
前記投票部を、各前記対応エッジ点について、前記対応エッジ点の位置ベクトルと直交する法線ベクトルであって、その法線ベクトルと前記対応エッジ点における前記球面勾配ベクトルとの内積が０より大きい法線ベクトルを投票するように機能させる、
ための直線検出プログラム。
【請求項８】
撮影画像を取得する画像取得手段と、
請求項１〜３記載の直線検出装置と、
を備える撮影システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直線検出装置、直線検出方法、直線検出プログラム及び撮影システムに関する。
【背景技術】
【０００２】
画像処理の技術の一つとして、ハフ変換（Hough変換）を利用して撮影画像中の直線を検出する技術が知られている（例えば、特許文献１参照）。ハフ変換では、撮影画像中のエッジ点を通る直線群を、直線を表すパラメータで構成されるハフ空間に投票する。そして、最大投票数を獲得したパラメータで表される直線を、所定のエッジ点を通る直線として検出する。具体的に図を参照して説明する。図１６の（ａ）は、平面画像上のエッジ点に対する従来のハフ変換の原理を示す図面である。平面画像に対してｘｙ座標を設定し、画像内のエッジ点の座標を（ｘ，ｙ）としたとき、エッジ点を通る任意の直線は次式で表される。
ρ＝ｘｓｉｎδ＋ｙｃｏｓδ
直線を表す上記式中のρは、原点から直線に垂線を引いたときのその垂線の長さ（原点と直線との間の距離）であり、δは、ｘ軸と垂線とのなす角度である。
【０００３】
従来、各エッジ点に対する直線群をパラメータ空間としてのρ―δ空間に投票する。このような投票により、一つのエッジ点に対して一つの曲線（理論的には正弦曲線）が描かれる。図１６の（ｂ）では、３つのエッジ点に対する投票結果として、３つの曲線を模式的に示している。この３つの曲線の交点に対応する投票用セルの投票数が最も多くなる。従来のハフ変換では、このように投票数の多い交点を規定するρ及びθの組によって決まる直線を平面画像上の直線として検出していた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２５９２７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のハフ変換では２つの直線が近接している場合には、ある閾値以上の投票数のパラメータの組も近接するので、直線を確実に検出ができなかった。
【０００６】
本発明は、上記の問題点を解決するためになされたものであり、直線をより確実に検出可能な直線検出装置、直線検出方法、直線検出プログラム及び撮影システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る直線検出装置は、撮像手段により撮像された撮影画像内の複数のエッジ点について、撮影画像を球の表面に投影した球面画像内における各エッジ点の対応点である対応エッジ点の球面勾配ベクトルを算出する勾配算出部と、球面画像における直線投影面の法線ベクトルを表す極角及び方位角で構成されるハフ空間に、各対応エッジ点を含む直線投影面の前記法線ベクトルを投票する投票部と、ハフ空間において所定の閾値以上の投票数を有する法線ベクトルで規定される直線投影面を決定することによって、撮影画像内の直線を特定する直線特定部と、を備える.上記投票部は、各対応エッジ点について、対応エッジ点の位置ベクトルと直交する法線ベクトルであって、その法線ベクトルと対応エッジ点における球面勾配ベクトルとの内積が０より大きい法線ベクトルを投票する。
【０００８】
本発明に係る直線検出方法は、撮像手段により撮像された撮影画像内の複数のエッジ点について、撮影画像を球の表面に投影した球面画像内における各エッジ点の対応点である対応エッジ点の球面勾配ベクトルを算出する勾配算出工程と、球面画像における直線投影面の法線ベクトルを表す極角及び方位角で構成されるハフ空間に、各対応エッジ点を含む直線投影面の法線ベクトルを投票する投票工程と、ハフ空間において所定の閾値以上の投票数を有する法線ベクトルで規定される直線投影面を決定することによって、撮影画像内の直線を特定する直線特定工程と、を備える。上記投票工程では、各対応エッジ点について、対応エッジ点の位置ベクトルと直交する法線ベクトルであって、その法線ベクトルと対応エッジ点における球面勾配ベクトルとの内積が０より大きい法線ベクトルを投票する。
【０００９】
本発明に係る直線検出プログラムは、コンピュータを、撮像手段により撮像された撮影画像内の複数のエッジ点について、撮影画像を球の表面に投影した球面画像内における各前記エッジ点の対応点である対応エッジ点の球面勾配ベクトルを算出する勾配算出部と、球面画像における直線投影面の法線ベクトルを表す極角及び方位角で構成されるハフ空間に、各対応エッジ点を含む直線投影面の前記法線ベクトルを投票する投票部と、ハフ空間において所定の閾値以上の投票数を有する法線ベクトルで規定される直線投影面を決定することによって、撮影画像内の直線を特定する直線特定部と、して機能させ、投票部を、各対応エッジ点について、対応エッジ点の位置ベクトルと直交する法線ベクトルであって、その法線ベクトルと対応エッジ点における球面勾配ベクトルとの内積が０より大きい法線ベクトルを投票するように機能させる。
【００１０】
撮影画像に対応する球面画像においては、直線は大円として表される。従って、球面画像における大円を含む平面の法線ベクトルを決定することで撮影画像の直線を検出可能である。上記直線検出装置、直線検出方法及び直線検出プログラムでは、撮影画像のエッジ点に対応する球面画像上の対応エッジ点の球面勾配ベクトルを利用して直線を検出している。その結果、大円、すなわち、直線を特定する法線ベクトルが一意に決定され得る。そのため、直線をより確実に検出可能である。  
【００１１】
本発明に係る直線検出装置では、撮影画像を球の表面に投影することによって球面画像を形成する球面画像形成部を備え、勾配算出部は、球面画像形成部によって形成された対応エッジ点の球面勾配ベクトルを算出してもよい。同様に、本発明に係る直線検出方法では、撮影画像を球の表面に投影することによって球面画像を形成する球面画像形成工程を備え、勾配算出工程では、球面画像形成工程において形成された対応エッジ点の球面勾配ベクトルを算出してもよい。
【００１２】
本発明に係る直線検出装置では、上記直線投影面の法線ベクトルは、球面画像を離散化して得られる各画素の位置ベクトルとし得る。同様に、本発明に係る直線検出方法の投票工程では、球面画像を離散化して得られる各画素の位置ベクトルを法線ベクトルとして投票してもよい。
【００１３】
本発明は、撮影画像を取得する画像取得手段と、上記本発明に係る直線検出装置とを備える撮影システムにも係る。この撮影システムでは、本発明に係る直線検出装置を備えるので、撮影手段により取得された撮影画像中の直線をより高い精度で検出可能である。
【発明の効果】
【００１４】
本発明によれば、撮影画像中の直線をより確実に検出できる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係る撮像システムの一実施形態の構成を概略的に示す図面である。
【図２】図１記載のカメラの一例で実際に撮影した撮影画像の例を示す図面である。
【図３】図２に示した撮影画像２２中のエッジ点を検出した図面である
【図４】撮影画像と球面画像との関係を説明する図面である。
【図５】撮影対象と球面画像との関係を示す図面である。
【図６】直交曲線座標と直交座標との関係を示す図面である。
【図７】球面画像上の直線の投影状態を模式的に示す図面である。
【図８】投票部によるハフ空間の投票状態の一例を示す図面である。
【図９】直線検出装置を利用した直線検出方法のフローチャートである。
【図１０】図２に示したテストパターンに対して図９記載の画像取得工程〜投票工程を実施した後の投票結果を示す図面である。
【図１１】図９記載の画像出力工程で出力される画像の一例を示す図面である。
【図１２】球面勾配ベクトルを利用しないで、エッジ点に対応する球面画像上の対応エッジ点を含む直線投影面の法線ベクトルを投票した結果を示す図面である。
【図１３】図１２に示した投票結果に基づいた直線検出結果を示す図面である。
【図１４】球面勾配ベクトルを利用して、エッジ点に対応する球面画像上の対応エッジ点を含む直線投影面の法線ベクトルを投票した結果を示す図面である。
【図１５】図１４に示した投票結果に基づいた直線検出結果を示す図面である。
【図１６】従来のハフ変換の原理を示す図面である。
【発明を実施するための形態】
【００１６】
以下、図を参照して本発明の実施形態について説明する。以下の説明においては、同一の要素には同一の符号を用いることとし重複する説明は省略する。
【００１７】
図１は、本発明に係る直線検出装置の一実施形態を含む撮像システムの概略構成を示す図面である。撮影システム１０は、撮像装置（画像取得手段）２０と、直線検出装置３０とを備える。
【００１８】
撮像装置２０は、全天周の画像を取得するために、２つのカメラ２１，２１を備える。各カメラ２１，２１は、広角レンズである魚眼レンズを備えており、魚眼レンズ２１Ａによって結像された像を撮像素子２１Ｂによって検出する。魚眼レンズ２１Ａの画角の例は１８５°であるが、１８０°以上であればよい。撮像素子２１Ｂの例はＣＣＤである。２つのカメラ２１，２１は、図１に模式的に示すように背面合わせで設けられている。これにより、２つのカメラ２１，２１は、実質的に同一の視点から互いに反対方向を撮影し、全天周における半球分の画像を取得する。
【００１９】
図１に示すように、撮像装置２０は、２つのカメラ２１，２１で取得された画像の画像データを直線検出装置３０に出力する。
【００２０】
直線検出装置３０は、球面画像上のエッジ点の球面勾配を利用して直線を検出する装置である。
【００２１】
直線検出装置３０は、画像入力部３１と、エッジ点検出部３２と、球面画像形成部３３と、勾配算出部３４と、投票部３５と、直線特定部３６と、画像出力部３７とを備える。また、直線検出装置３０は、画像入力部３１、エッジ点検出部３２などを制御するＣＰＵ３８と、各種データ及びプログラムを格納する記憶部３９を更に備える。図１に示した直線検出装置３０が有する各構成要素（画像入力部３１、エッジ点検出部３２など）は、バスなどによって接続されて、データなどを通信可能である。直線検出装置３０の例は、コンピュータ装置である。直線検出装置３０は、記憶部３９に格納された直線検出プログラムを実行することによって、画像入力部３１と、エッジ点検出部３２と、球面画像形成部３３と、勾配算出部３４と、投票部３５と、直線特定部３６と、画像出力部３７の各機能を実現する。
【００２２】
画像入力部３１は、カメラ２１で取得された撮影画像２２の画像データの入力をカメラ２１から受け付ける。画像入力部３１は、無線及び有線通信の少なくとも一方を介してデータを受け取ってもよいし、又は記録媒体（ＤＶＤやＳＤカード等）からデータを受け取ってもよい。図２は、カメラ２１で実際に撮影した撮影画像２２の一例を示す図面である。カメラ２１としては、オリンパスの魚眼レンズFCON-2を取り付けたソニーハンディカムを使用した。
【００２３】
エッジ点検出部３２は、撮影画像２２内の特徴点としてのエッジ点２３を検出する。エッジ点２３は、例えば輝度の明確な変化（例えば、明→暗又は暗→明の変化）が生じる点として検出される。エッジ点２３は、例えば、ｃａｎｎｙオペレータによって検出され得る。図３は、図２に示した撮影画像２２中のエッジ点を検出した図面である。図３における各白点がエッジ点２３である。図３では、図示の都合上、一つのエッジ点２３を円で囲んでいる。
【００２４】
球面画像形成部３３は、画像入力部３１で受け付けられた撮影画像２２の画像データを、球面画像４０のデータに変換する。球面画像４０は、一対の撮影画像２２を仮想単位球面Ｓ上に投影した画像である。一対の撮影画像２２，２２は、それぞれ全天周の半分の領域を撮影しているため、各撮影画像２２を用いることで、全天周を表示する球面画像４０を生成することができる。
【００２５】
図４は、撮影画像と球面画像との関係を説明する図面である。図４では、単位球面Ｓの半球分を示している。カメラ２１が有する魚眼レンズ２１Ａの光軸をＺ軸とし、魚眼レンズ２１Ａの主点Ｏを通りＺ軸に直交する平面をＸＹ平面とする。Ｚ軸上において、主点Ｏから魚眼レンズ２１Ａの焦点距離ｆだけ離れた点ｃは、Ｚ軸と直交する撮影画像２２の中心点に対応する。この中心点ｃを通り、Ｚ軸と直交する平面をｘｙ平面とする。撮影画像２２は、魚眼レンズ２１Ａにより、実空間の点Ｐをｘｙ平面に射影してできる画像である。
【００２６】
天頂角をθ、方位角をψとすると、実空間の点Ｐから投影される球面画像４０上の点ｐの位置ベクトルは、等距離射影式であるｒ＝ｆθ及び撮影画像２２上の点ｐの座標（ｘ，ｙ）を利用して次式で表される。
【数１】
0005783567.tif 000002
上記式（２）は、魚眼レンズ２１Ａの射影方式を等距離射影方式（すなわち、ｒ＝ｆθ）とした場合のものである。しかし、魚眼レンズ２１Ａの射影方式は他の射影方式、例えば、立体射影、等立体角射影及び正射影を採用してもよい。
【００２７】
上記球面画像４０の点ｐと、撮影画像２２の点ｐａとの対応関係から、撮影画像２２に基づいて球面画像４０を生成することができる。
【００２８】
ここで、撮影対象と、球面画像との関係について説明する。図５は、撮影対象と球面画像との関係を示す図面である。図５の（ａ）は、撮影対象としてのテストパターンの一例を示している。図５の（ａ）のテストパターンは、説明のための便宜的なものである。図５の（ａ）中のハッチングは、同じ色が付されていることを模式的に示している。図５の（ａ）に示したテストパターン５０では、互いに平行で幅の異なる３つの線状パターン５１，５２，５３を有すると共に、線状パターン５１〜５３と交差する２つの線状パターン５４，５５を有する。図５の（ｂ）は、図５の（ａ）に示したテストパターン５０の球面画像４０を示している。図５の（ｂ）では、図５の（ａ）に示したハッチングは省略している。図５の（ｂ）には、線状パターン５１〜５５の投影パターン４１〜４５を模式的に示している。図５の（ｂ）に示すように、テストパターン５０内で線状パターン５１〜５５は、球面画像４０では湾曲した湾曲した投影パターン４１〜４５として現れる。
【００２９】
勾配算出部３４は、エッジ点検出部３２で検出されたエッジ点２３の球面勾配ベクトルを算出する。ここで、エッジ点２３の球面勾配ベクトルとは、エッジ点２３に対応する球面画像４０上の点の勾配ベクトルを意味する。以下では、エッジ点２３に対応する球面画像４０上の点を対応エッジ点２３ｓとも称し、エッジ点２３の球面勾配ベクトルを対応エッジ点２３ｓの球面勾配ベクトルとも称す。また、上記「勾配」とは、画素値の変化の度合いを意味する。画素値の度合いの例は、輝度の変化の度合い又は濃度の変化の度合いである。
また、直線検出装置３０では画像は離散的に扱われるので、画像上の点は、一つの画素として扱われる。よって、以下では、直線検出装置３０で処理される画像上の点を画素とも称す。
【００３０】
撮影画像２２上の任意の点（画素）ｐａの画素値をＩ（ｘ，ｙ）とし、その画素ｐａに対応する球面画像４０上の点（画素）ｐの画素値をＩ（θ，φ）としたとき、図６に示す直交曲線座標系での画素ｐの球面勾配のベクトル（以下、「球面勾配ベクトル」と称す）を∇Ｉｓ（θ,φ）とすると、∇Ｉｓ（θ,φ）は、次式で表される。
【数２】
0005783567.tif 000003
式（２）中、ｅθ及びｅφは、直交曲線座標系において、θ方向及びφ方向の単位ベクトルである。
【００３１】
θ及びφで規定される球面画像４０上の画素ｐは、ｘ及びｙで規定される撮影画像２２の画素ｐａと対応づけられるので、θ及びφはそれぞれ、式（３ａ）及び式（３ｂ）に示すように、ｘとｙとの関数である。
【数３】
0005783567.tif 000004
従って、式（４）が成り立つ。
【数４】
0005783567.tif 000005
式（４）より、式（５）が導かれる
【数５】
0005783567.tif 000006
よって、式（６）が成り立つ。
【数６】
0005783567.tif 000007
この式（６）を式（２）に代入することによって、球面勾配ベクトル∇Ｉｓ（θ,φ）が算出される。式（２）は直交曲線座標系における球面勾配ベクトル∇Ｉｓ（θ,φ）である。この直交曲線座標系における球面勾配ベクトル∇Ｉｓ（θ,φ）を、図２に示したＸＹＺ直交座標系における球面勾配ベクトルに変換する。θ及びφを利用した直交曲線座標系からＸＹＺ直交座標系への変換は、従来の方法（例えば「長谷川正之、稲岡毅著、“ベクトル解析の基礎”、森北出版株式会社、２００４年３月１５日」記載の方法）に基づいて行い得る。以下、ＸＹＺ直交座標系における球面勾配ベクトルを∇ＩＯ（Ｘ，Ｙ，Ｚ）と称す。
【００３２】
投票部３５は、各対応エッジ点２３ｓを通る直線投影面群内の各直線投影面６０の法線ベクトルｎを、その法線ベクトルを表すパラメータで規定されるパラメータ空間としてのハフ空間に投票する。
【００３３】
実空間上の直線は、図７に示すように、大円の一部として投影される。よって、上記直線投影面６０は大円を含む平面である。図７は、直線の球面画像における投影状態を示す模式図である。図７では、３つの直線ｌ１，ｌ２，ｌ３の球面画像４０への投影状態及び各直線ｌ１〜ｌ３の直線投影面６０，６０，６０のうちの一部を模式的に示している。図では、各直線ｌ１〜ｌ３に対する直線投影面６０〜６０をそれぞれ直線投影面６０１，６０２，６０３と示している。各直線投影面６０１〜６０３に対してそれぞれ法線ベクトルｎが規定されるが、この法線ベクトルｎは、極角θ及び方位角φで規定され得る。図７では、３つの直線投影面６０１〜６０３に対する法線ベクトルｎとして法線ベクトルｎ１〜ｎ３を示している。
【００３４】
投票部３５が法線ベクトルｎを投票するハフ空間は、法線ベクトルｎを表すためのθ及びφで規定されるパラメータ空間であり、記憶部３９内に確保される投票用の２次元配列領域７０（図８参照）として実装される。２次元配列領域７０の各配列要素７１にはθとφの組が一意に割り当てられる。
【００３５】
直線検出装置３０内のデータ処理では、前述したように、球面画像４０は離散的に扱われる。換言すれば、球面画像４０は、離散化された単位球の球面Ｓの各画素に輝度といった画素値を割り当てられて構成されている。球面画像４０は、例えば、測地ドーム法に基づいて離散化され得る。
【００３６】
離散化した球面画像４０において、画素の位置ベクトルは、画素を含む平面に直交する。一方、画素を含む平面は、球面画像４０における何れかの大円を含む平面に平行である。従って、離散化した球面画像４０の画素の位置ベクトルは、その画素を含む平面に平行な大円の法線ベクトルに一致する。そのため、上記投票用の２次元配列領域７０を構成する配列要素７１は、球面画像４０を離散化した複数の画素を２次元配列したときの各画素に対応する。図７では、球面画像４０上の一つの画素ｍの位置ベクトルが法線ベクトルｎ２に一致している場合を模式的に示している。
【００３７】
球面画像４０を離散化した複数の画素を２次元配列する方法は、特に限定されないが、上記複数の画素は、例えば、S. Li and Y. Hai, ”A full view spherical image format,” ICPR, 2010,pp.2337-2340記載の方法によって複数の２次元状に配列され得る。
【００３８】
球面画像４０を離散化した複数の画素を２次元配列したときの各画素の位置を（θｍ,φｍ）（ｍは、複数の画素を識別するための整数）とした場合、投票用の２次元配列領域７０を構成する配列要素７１も（θｍ,φｍ）の組みで指定され得る。この場合、任意の法線ｎの法線ベクトルは（θｍ,φｍ）で表され得る。
【００３９】
投票部３５は、以下の条件を満たす法線に投票する。
【数７】
0005783567.tif 000008
式（７ａ）中のベクトルｐは、対応エッジ点２３ｓの位置ベクトルを示している。そして、式（７ａ）は、対応エッジ点２３ｓを通る大円を表す。式（７ｂ）は、法線ベクトルｎの方向と対応エッジ点２３ｓにおける球面勾配ベクトルとのなす角度が９０°より小さいことを規定している。従って、投票部３５は、各対応エッジ点２３ｓを通る複数の大円のうち、その大円を含む平面の法線ベクトルｎの方向が対応エッジ点２３ｓにおける球面勾配ベクトルと９０°より小さい角度をなす法線ベクトルｎを投票する。
【００４０】
記憶部３９内の２次元配列領域７０において（θｍ,φｍ）で指定される配列要素７１の値をＡ（θｍ,φｍ）として具体的に説明すると、投票部３５は、式（７ａ）及び式（７ｂ）を満たす場合に、Ａ（θｍ,φｍ）＝Ａ（θｍ,φｍ）＋１を実行する。
【００４１】
図８は、投票部３５によるハフ空間の投票状態の一例を示す図面である。図８では、図８における２次元配列領域７０の左上に一つの配列要素７１を模式的に示している。２次元配列領域７０は、配列要素７１が２次元状に配列されたものである。図８中の各曲線が一つの対応エッジ点２３ｓを通る複数の大円（直線投影面）の法線ベクトルｎの投票結果を示している。
【００４２】
直線特定部３６は、投票部３５において、所定の閾値以上の得票数を有する配列要素７１を決定する。直線特定部３６は、所定の閾値以上の得票数の配列要素７１を規定するθｍ及びφｍで規定される法線ベクトルｎを有する直線投影面、すなわち、大円を含む面を決定し、エッジ点２３を通る直線を検出する。
【００４３】
図８を利用して説明すると、図８では３つの対応エッジ点２３ｓに対する法線ベクトルｎの投票により３つの曲線が得られている。図８の場合には、３つの曲線の交点が最大得票数の配列要素７１である。その結果、その配列要素７１を指定するθｍ及びφｍで規定される直線投影面に投影された直線を、直線特定部３６が３つのエッジ点２３を通る直線として検出する。
【００４４】
図９は、直線検出装置を利用した直線検出方法のフローチャートである。図９を参照して、撮影システム１０及び直線検出装置３０の動作について説明する。
【００４５】
撮像装置２０の各カメラ２１，２１で撮影を行い、一対の撮影画像２２，２２を取得する（撮影画像取得工程Ｓ１）。これにより、全天周の画像を取得する。
【００４６】
画像入力部３１が、カメラ２１，２１で撮影された一対の撮影画像２２，２２の画像データを受け付ける（画像入力工程Ｓ２）と、エッジ点検出部３２が撮影画像２２中のエッジ点２３を検出する（エッジ点検出工程Ｓ３）。
【００４７】
次いで、球面画像形成部３３が、入力された画像データを球面画像４０の画像データに変換して、図５の（ｂ）に模試的に示した球面画像４０を生成する（球面画像生成工程Ｓ４）。
【００４８】
次に、勾配算出部３４が、検出したエッジ点２３に対して球面勾配ベクトルＩ０（Ｘ，Ｙ，Ｚ）を算出する。すなわち、検出したエッジ点２３に対応する球面画像４０上の対応エッジ点２３ｓの球面勾配ベクトルを算出する（勾配算出工程Ｓ５）。
【００４９】
その後、投票部３５が、各対応エッジ点２３ｓに対して、その対応エッジ点２３ｓを通る直線投影面、すなわち、大円を含む面の法線ベクトルｎのうち式（７ａ）及び式（７ｂ）を満たす法線ベクトルｎをハフ空間に投票する（投票工程Ｓ６）。具体的には、投票部３５の説明において述べた通りである。すなわち、球面画像４０を離散的に表す複数の画素に対応する配列要素７１を２次元配列した記憶部３９の２次元配列領域７０において、各配列要素７１に投票を行う。図１０は、図２に示したテストパターン５０に対して撮影画像取得工程Ｓ１〜投票工程Ｓ６を実施した後の投票結果を示す図面である。
【００５０】
投票を行った後、直線特定部３６が、投票部３５における投票結果において、所定の得票数以上の得票数の法線ベクトルｎを決定することによって、撮影画像２２における直線を検出する。通常、一つの対応エッジ点２３ｓを通る直線投影面群の法線ベクトルｎを投票することでハフ空間上に一つの曲線が描かれることになる。この曲線を以下、ハフ曲線とも称す。複数のハフ曲線の交点は、交点を通過する複数のハフ曲線の数の投票が行われていることになるので、その交点に対応する配列要素７１が得票数の多い配列要素７１として選択され得る。２点が決まれば理論的には一意に決定されるので、理論的には、２つの得票数以上の配列要素７１は一つの直線を決定することになるが、計算誤差などを考慮して上記「所定の得票数」を設定すればよい。図１０に示した破線、一点鎖線及び二点鎖線で示した領域内において、投票により形成されたハフ曲線の交点としての配列要素７１を直線投影面６０の法線ベクトルｎとして検出する。
【００５１】
そして、画像出力部３７が、直線特定部３６で特定された直線を撮影画像２２に重畳した画像を表示装置又はネットワークなどに出力する（画像出力工程Ｓ８）。ここでは、特定された直線が撮影画像２２に重畳された画像を出力する場合を示したが、画像出力部３７は、球面画像４０や、エッジ点２３を検出した画像などの処理過程の画像や、撮影画像２２自体を適宜出力してもよい。
【００５２】
図１１は、画像出力工程Ｓ８で出力される画像の一例を示す図面である。図１１では、図５の（ａ）との対応関係を示すために、透視画像として表している。図１１では、図１０に示した破線、一点鎖線及び二点鎖線で示した領域内において、投票により形成されたハフ曲線の交点としての配列要素７１を直線投影面６０の法線ベクトルｎとして検出している。図１１では、図１０との対応関係を示すために、線状パターン５１を構成する一対の直線に対する検出結果を破線で示しており、線状パターン５２を構成する一対の直線に対する検出結果を一点鎖線で示しており、線状パターン５３を構成する一対の直線に対する検出結果を二点鎖線で示している。
【００５３】
上記直線検出装置３０では、球面画像４０を利用して直線を検出している。球面画像４０においては、直線は大円として表される。その大円を含む平面の法線ベクトルｎを決定することで直線を検出可能である。ところで、一つの平面に対して互いに逆向きの２つの法線ベクトルが存在する。そのため、直線検出装置３０では、大円で分けられる２つの半球のうち、球面勾配の方向に位置する半球と同じ側に位置する法線ベクトルｎを検出することで、２つの法線ベクトルｎのうちの一つを特定している。その結果、大円、すなわち、直線を特定する法線ベクトルｎが一意に決定され得る。更に、平行な複数の線状パターンにおける同じ側の直線（例えば、図２において上側の直線５１ａ，５２ａ，５３ａ）は、平面画像上では同じ勾配になるが、球面画像４０上での勾配である球面勾配ベクトルは異なると共に、一つの線状パターンを構成する一対の直線の球面勾配ベクトルも異なる。その結果、撮影対象内において、平行な複数の線状パターンのうち同じ側の直線も区別可能であると共に、一つの線状パターンの幅が狭くてもハフ空間における一定以上の得票数の法線ベクトルｎを明確に区別できる。その結果、直線をより高い精度で検出可能である。
以下、実験結果を利用して具体的に説明する。実験では、図２に示した撮影画像２２を球面画像形成部３３により球面画像４０に変換し、球面勾配を利用して直線検出を行った。
【００５４】
実験では、投票部３５において式（７ａ）のみを投票の条件として投票を行った場合と、式（７ａ）及び式（７ｂ）の両方を投票の条件として投票を行った場合について、直線を検出した。
【００５５】
図１２は、式（７ａ）のみを投票の条件として投票を行った場合の投票結果を示す図面である。図１３は、図１１に基づいた直線検出結果を示す図面である。図１４は、式（７ａ）及び式（７ｂ）を条件として投票を行った場合の投票結果を示す図面である。図１５は、図１３に基づいた直線検出結果を示す図面である。
【００５６】
図１１中において、領域α１，α２，α３，α５，α７内の交点で決まる直線が、図１２に示した直線Ｌ１，Ｌ２，Ｌ３，Ｌ５，Ｌ７である。また、図１３中において、領域α１，α２，α３，α４，α５，α６，α７内の交点で決まる直線が、図１４に示した直線Ｌ１，Ｌ２，Ｌ３，Ｌ４，Ｌ５，Ｌ６，Ｌ７に対応する。
【００５７】
図１２及び図１３を比較することで理解されるように、式（７ａ）のみを条件として投票した場合には一つの直線に対してハフ空間上に２つの対応点（配列要素７１）が生じている。これは前述したように一つの直線投影面に対する法線ベクトルが２つ存在することによる。また、図１２中において破線で囲んだ領域では、一定の閾値以上の投票数が得られた配列要素７１が存在するが、それらの配列要素７１を十分に分離できる程度の投票数差が得られていないため、図１２に示したように、撮影画像２２で視認できる直線とは別の直線（図１３中の破線で示す直線）が検出された。
【００５８】
これに対して、図１４及び図１５を比較すると、図１４中の一つの直線に対してハフ空間上の対応点（配列要素７１）が一意に決定できている。また、図１３では、間違って検出された直線は検出されず、撮影画像２２中において視認できる直線を適切に検出できている。
【００５９】
上記実験結果からも理解され得るように、球面勾配ベクトルを利用すると共に、式（７ａ）及び式（７ｂ）を投票の条件とすることによって、高い精度で直線をより確実に検出可能である。
【００６０】
以上、本発明の実施形態を説明したが、本発明は上記実施形態に限定されない。例えば、説明のために、直線検出装置３０は、球面画像４０を形成するための球面画像形成部３３を備えるとした。しかしながら、撮影画像上の各画素に対して球面勾配ベクトルに変換する変換式や、球面画像を離散化した画素に基づく２次元配列領域の画素と撮影画素との対応関係などが記憶部３９等に予め格納されていれば、球面画像を生成する画像変換部は設けなくてもよい。換言すれば、上記変換式を利用した処理や、それに基づく球面画像を離散化した画素に基づく２次元配列領域の画素と撮影画素との対応関係などを利用する処理に球面画像を生成する処理が含まれていることになる。また、エッジ点検出部は、撮影画像上のエッジ点を検出するとしたが、例えば、球面画像を生成した後、球面画像上のエッジ点を検出してもよい。更に、上記実施形態では、カメラ２１が有するレンズ部は、魚眼レンズといった広角レンズに限らず、画角が１８０度より小さい他のレンズであってもよい。
【００６１】
更に、上記実施形態では、一例として、一対のカメラ２１，２１を利用して全天周の画像を取得し、その全天周の画像（２つのカメラ２１，２１で取得された画像）について直線検出を行っている場合を説明した。しかしながら、例えば、一つのカメラ２１による撮影画像についてのみ直線検出を行ってもよい。
【産業上の利用可能性】
【００６２】
本発明は、直線検出が必要とされる移動ロボット、監視カメラ、レスキュー道具及び自動車といった車両に搭載されるナビゲーション用又は外部確認用のカメラ等に適用可能である。
【符号の説明】
【００６３】
１０…撮像システム、２０…撮像装置（画像取得手段）、２１…カメラ、２２…撮影画像、２３…エッジ点、３０…直線検出装置、３２…エッジ点検出部、３３…球面画像形成部、３４…勾配算出部、３５…投票部、３６…直線特定部、４０…球面画像、６０…直線投影面（大円を含む面）、７０…２次元配列領域（ハフ空間）、７１…配列要素。
【図１】
0005783567.tif 000009
【図４】
0005783567.tif 000010
【図５】
0005783567.tif 000011
【図６】
0005783567.tif 000012
【図７】
0005783567.tif 000013
【図８】
0005783567.tif 000014
【図９】
0005783567.tif 000015
【図１１】
0005783567.tif 000016
【図１６】
0005783567.tif 000017
【図２】
0005783567.tif 000018
【図３】
0005783567.tif 000019
【図１０】
0005783567.tif 000020
【図１２】
0005783567.tif 000021
【図１３】
0005783567.tif 000022
【図１４】
0005783567.tif 000023
【図１５】
0005783567.tif 000024