説明

消失点推定方法、消失点推定装置及びコンピュータプログラム

【課題】消失点の推定精度を向上すること。
【解決手段】入力された画像に含まれる直線を検出し、直線の中から、略垂直の直線である垂直方向直線を検出し、画像に含まれる直線のうち垂直方向直線ではない直線である非垂直方向直線と、垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せを組合せ候補として検出し、組合せ候補の中から、垂直方向直線と非垂直方向直線とが類似している組合せ候補を消失線組合せとして選択し、選択された複数の消失線組合せにおける、複数の非垂直方向直線に基づいて消失点の位置を推定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像の消失点を推定する技術に関する。
【背景技術】
【0002】
近年、消失点に基づいて、奥行き情報が与えられていない画像から奥行き情報を推定する技術が提案されている。例えば、非特許文献1に記載の技術では、消失点の位置に基づいて三次元情報が復元される。そのため、画像の消失点の位置を推定する技術が要求されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】池田 直樹、他2名、“1枚の画像からの3次元復元の統計的最適化”、情報処理学会研究報告、CVIM,2004年11月11−12日、pp.117−124
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般的に画像中には消失点を形成する直線(例えば天井や壁などの縁)以外にも様々な直線が存在する。そのため、消失点を形成する直線以外の直線に基づいて消失点の推定を行うと、誤った消失点が得られてしまうおそれがあった。
【0005】
上記事情に鑑み、本発明は、画像の消失点の推定精度を向上させる技術の提供を目的としている。
【課題を解決するための手段】
【0006】
本発明の一態様は、コンピュータが、入力された画像に含まれる直線を検出する直線検出ステップと、前記直線の中から、略垂直の直線である垂直方向直線を検出する垂直方向直線検出ステップと、前記画像に含まれる直線のうち前記垂直方向直線ではない直線である非垂直方向直線と、前記垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せを組合せ候補として検出する組合せ候補検出ステップと、前記組合せ候補の中から、前記垂直方向直線と前記非垂直方向直線とが類似している組合せ候補を消失線組合せとして選択する消失線組合せ選択ステップと、選択された複数の消失線組合せにおける、複数の前記非垂直方向直線に基づいて消失点の位置を推定する位置推定ステップと、を有する消失点推定方法である。
【0007】
本発明の一態様は、上記の消失点推定方法であって、前記組合せ候補検出ステップは、前記コンピュータが、入力された画像における消失点のおおよその位置を推定するシーン推定ステップと、前記おおよその位置に基づいて、入力された画像における消失点の方向に伸びる直線の特徴を判定し、前記特徴を有する前記非垂直方向直線を選択する非垂直方向直線選択ステップと、選択された前記非垂直方向直線と、前記垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せを組合せ候補として検出する候補検出ステップと、を有する。
【0008】
本発明の一態様は、入力された画像に含まれる直線を検出する直線検出部と、前記直線の中から、略垂直の直線である垂直方向直線を検出する垂直方向直線検出部と、前記画像に含まれる直線のうち前記垂直方向直線ではない直線である非垂直方向直線と、前記垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せを組合せ候補として検出する組合せ候補検出部と、前記組合せ候補の中から、前記垂直方向直線と前記非垂直方向直線とが類似している組合せ候補を消失線組合せとして選択する消失線組合せ選択部と、選択された複数の消失線組合せにおける、複数の前記非垂直方向直線に基づいて消失点の位置を推定する位置推定部と、を備える消失点推定装置である。
【0009】
本発明の一態様は、上記の消失点推定装置であって、前記組合せ候補検出部は、入力された画像における消失点のおおよその位置を推定するシーン推定部と、前記おおよその位置に基づいて、入力された画像における消失点の方向に伸びる直線の特徴を判定し、前記特徴を有する前記非垂直方向直線を選択する非垂直方向直線選択部と、選択された前記非垂直方向直線と、前記垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せを組合せ候補として検出する候補検出部と、を備える。
【0010】
本発明の一態様は、コンピュータに対し上述した各ステップを実行させるためのコンピュータプログラムである。
【発明の効果】
【0011】
本発明により、画像の消失点の推定精度の向上が可能となる。
【図面の簡単な説明】
【0012】
【図1】消失点推定装置の第一実施形態の機能構成を表す概略ブロック図である。
【図2】直線検出部の処理の概略を示す図である。
【図3】垂直方向直線検出部の処理結果を示す画像の具体例である。
【図4】第二実施形態における組合せ候補検出部の機能構成を示す概略ブロック図である。
【図5】シーン分類の概略を示す図である。
【図6】シーン分類の概略を示す図である。
【図7】シーン推定部の推定処理の概略を示す図である。
【図8】フィードバック処理の具体例を示す図である。
【発明を実施するための形態】
【0013】
[概要]
消失点推定装置は、画像を解析することによって、画像の消失点の位置を推定する。具体的な処理は以下の通りである。まず、消失点推定装置は、画像に含まれる直線のうち、垂直に近い方向に伸びる直線(以下、「垂直方向直線」という。)を検出する。次に、消失点推定装置は、画像に含まれる直線のうち、垂直方向直線ではない直線(以下、「非垂直方向直線」という。)と、垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せ(以下、「組合せ候補」という。)を検出する。消失点推定装置は、組合せ候補の中から、それらの直線の類似性に基づいて、所定の条件を満たす組合せ候補を消失線組合せとして選択する。そして、消失点推定装置は、選択された複数の消失線組合せにおける、複数の非垂直方向直線に基づいて消失点の位置を推定する。
【0014】
[第一実施形態]
次に、消失点推定装置の詳細について説明する。
図1は、消失点推定装置の第一実施形態の機能構成を表す概略ブロック図である。消失点推定装置100は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、消失点推定プログラムを実行する。消失点推定装置100は、このプログラムを実行することによって、画像入力部101、直線検出部102、垂直方向直線検出部103、組合せ候補検出部104、消失線組合せ選択部105、位置推定部106、出力部107を備える装置として機能する。なお、消失点推定装置100の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されても良い。消失点推定プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。消失点推定プログラムは、電気通信回線を介して通信されても良い。
【0015】
画像入力部101は、消失点推定装置100に対して入力される画像のデータを受け付ける。画像入力部101は、例えばCD−ROMやUSBメモリ(Universal Serial Bus Memory)等の記録媒体に記録された画像のデータを読み出しても良い。また、画像入力部101は、スチルカメラやビデオカメラによって撮像された画像を、カメラから受信しても良い。また、消失点推定装置100がスチルカメラやビデオカメラに内蔵されている場合は、画像入力部101は撮像された画像又は撮像前の画像をバスから受信しても良い。また、画像入力部101は、ネットワークを介して他の情報処理装置から画像のデータを受信しても良い。画像入力部101は、画像のデータの入力を受けることが可能な構成であれば、さらに異なる態様で構成されても良い。画像入力部101によって入力が受け付けられた画像を、「入力画像」という。
【0016】
直線検出部102は、入力画像から直線を検出する。垂直方向直線検出部103は、直線検出部102によって検出された複数の直線の中から、垂直に近い方向に伸びる直線を検出する。組合せ候補検出部104は、非垂直方向直線と垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せを組合せ候補として検出する。消失線組合せ選択部105は、組合せ候補の中から、垂直方向直線と非垂直方向直線とが類似している組合せ候補を消失線組合せとして選択する。位置推定部106は、選択された複数の消失線組合せにおける、複数の非垂直方向直線に基づいて、消失点の位置を推定する。出力部107は、位置推定部106による推定結果を出力する。
【0017】
次に、直線検出部102の処理について詳細に説明する。図2は、直線検出部102の処理の概略を示す図である。図2Aは入力画像の具体例であり、図2Bは直線検出結果を示す画像の具体例である。直線検出部102は、入力画像からエッジを抽出し、一繋がりのエッジを一本の直線として検出する。エッジの抽出は、例えばCannyエッジ検出器を用いて行われても良いし、Hough変換を用いて行われても良いし、他の方法によって行われても良い。Cannyエッジ検出器には、例えば以下の文献に開示される技術が適用されても良い。Canny, J., A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714, 1986。
【0018】
次に、垂直方向直線検出部103の処理について詳細に説明する。垂直方向直線検出部103は、直線検出部102によって検出された直線毎にその角度を算出する。例えば、垂直方向直線検出部103は、画像の横軸をx軸、縦軸をy軸としたときの各直線とx軸との角度を算出する。そして、垂直方向直線検出部103は、算出された角度と90度との差が角度閾値(例えば20度)以下の直線を、垂直方向直線として検出する。角度閾値は、予め垂直方向直線検出部103に記憶されている値である。図3は、垂直方向直線検出部103の処理結果を示す画像の具体例である。このような処理によって、垂直方向直線検出部103は、垂直に近い直線を、床と天井、あるいは地面と空を結ぶ直線として抽出する。
【0019】
次に、組合せ候補検出部104の処理について詳細に説明する。組合せ候補検出部104は、垂直方向直線検出部103によって検出された垂直方向直線と、非垂直方向直線との組合せ毎に、最も近い端点同士の距離を算出する。そして、組合せ候補検出部104は、算出された距離が端点距離閾値(例えば3ピクセル)以下となる組合せを、組合せ候補として検出する。端点距離閾値は、予め組合せ候補検出部104に記憶されている値である。
【0020】
次に、消失線組合せ選択部105の処理について詳細に説明する。消失線組合せ選択部105は、組合せ候補毎に、同一の物体によって生じた直線(エッジ部分)であるか否か判定する。同一の物体によって生じた垂直方向直線と非垂直方向直線の組合せにおける非垂直方向直線は、画面内の矩形の縁によって生じた直線の組合せである可能性が高い。そのため、上述した非垂直方向直線は、画面の消失点を構成する直線(消失線)である可能性が一般的に高いと言える。したがって、消失線組合せ選択部105が、組合せ候補の中から、同一の物体によって生じた直線の組合せである組合せ候補を選択することによって、消失線を精度良く抽出することが可能となる。
【0021】
消失線組合せ選択部105の処理について、図2の具体例を用いて説明する。例えば、画像中に壁面201(図2A)が存在する場合には、この壁面201の縁には直線が生じる。具体的には、壁面201の繋ぎ目には垂直方向直線201aが生じ、壁面201と天井との境目には非垂直方向直線201bが生じる。これらの二つの直線は、同一の物体(壁面201)によって生じた直線である。そのため、これらの二つの直線におけるそれぞれの画素値(例えば入力画像におけるRGB値など)やエッジ強度などは類似する。したがって、消失線組合せ選択部105は、画素値やエッジ強度の類比を比較することによって、組合せ候補の中から同一の物体によって生じた直線の組合せを選択することができる。
【0022】
以下、消失線組合せ選択部105のより詳細な処理の具体例について説明する。消失線組合せ選択部105は、例えばバタチャリヤ距離(Bhattacharyya Distance)を算出することによって消失線組合せを選択しても良い。バタチャリヤ距離は、二つの分布間の距離を表す。より詳細には、バタチャリヤ距離とは、二つの分布をそれぞれ独立の事象と見なした場合に、この二つの事象が同時に生じる確率(同時確率)に対する自己情報量として定義される距離である。
【0023】
具体的な処理は以下の通りである。消失線組合せ選択部105は、組合せ候補毎に、垂直方向直線と非垂直方向直線との画素値のヒストグラムを生成する。垂直方向直線のヒストグラムをhistとし、非垂直方向直線のヒストグラムをhistと表す。この場合、両者のバタチャリヤ距離は、以下の式1及び式2で表される。
【0024】
【数1】

【数2】

【0025】
消失線組合せ選択部105は、算出されたバタチャリヤ距離がバタチャリヤ閾値よりも小さい組合せ候補を、消失線組合せとして選択する。バタチャリヤ閾値は、予め消失線組合せ選択部105に記憶されている値である。
【0026】
次に、位置推定部106の処理について詳細に説明する。位置推定部106は、複数の消失線組合せに含まれる複数の非垂直方向直線に基づいて、消失点の位置を推定する。以下に、位置推定部106の処理についていくつかのパターンを説明する。
位置推定部106は、消失線組合せの中から二つの消失線組合せを選択し、それらの非垂直方向直線の交点を消失点として算出しても良い。
【0027】
位置推定部106は、消失線組合せの中から3以上の消失線組合せを選択し、選択された複数の垂直線方向直線同士の交点の重心や平均を消失点として算出しても良い。
位置推定部106は、消失線組合せの中から二つの消失線組合せを選択し、その交点を求める。次に、位置推定部106は、その交点を通過する非垂直方向直線を、消失線組合せの中から検出し、その数をその交点の得票数とする。位置推定部106は、全ての交点について得票数を取得し、得票数の一番多い交点を消失点として算出しても良い。
位置推定部106は、非垂直方向直線の長さを信頼度とみなし、最も信頼度が高い非垂直方向直線と二番目に信頼度が高い非垂直方向直線との交点を消失点として算出しても良い。
【0028】
消失点推定装置100は、入力画像に含まれる直線のうち、消失点を形成すると推定される非垂直方向直線のみを用いて交点を算出し、算出結果を消失点であると推定する。そのため、消失点の推定精度を向上させることが可能となる。
より具体的には以下の通りである。建物の壁等には、長方形や正方形の窓やドアやポスターのように、矩形を形成する直線が数多く存在することが一般的である。そこで、消失点推定装置100は、矩形を形成している可能性の高い直線の組合せ(消失線組合せ)を検出する。矩形を形成している可能性を表す指標は、例えば直線同士の端点の距離や、直線上の画素値などに基づいて算出される。そして、消失点推定装置100は、選択された消失線組合せに含まれる非垂直方向直線に基づいて消失点を算出する。このような処理により、消失点を形成する直線を非垂直方向直線として精度良く選択することが可能となる。そのため、選択した非垂直方向直線に基づいて消失点の位置を推定することにより、消失点の推定精度を高めることが可能となる。したがって、消失点を形成する直線以外の直線の多い一枚の入力画像からであっても、消失点を精度良く推定することが可能となる。また、これによって、擬似的に立体画像を生成することはもちろん、奥行き推定値を用いて画像のセグメンテーションを行い、所望の領域を抽出することも可能となる。
【0029】
<変形例>
消失線組合せ選択部105は、以下の式3に基づいてコストCを算出し、コストCがコスト閾値以下である組合せ候補を消失線組合せとして選択しても良い。コスト閾値は、予め消失線組合せ選択部105に記憶されている値である。
【数3】

【0030】
式3において、α及びβは、それぞれ任意の係数である。De(x1,x2)は、垂直方向直線x1の端点と非垂直方向直線x2の端点との距離のうち最小の値である。x1の長さは、垂直方向直線の長さを表す。Db(x1,x2)は、垂直方向直線x1と非垂直方向直線x2とのバタチャリヤ距離を表す。
【0031】
[第二実施形値]
次に、消失点推定装置の第二実施形態について説明する。消失点推定装置の第二実施形態は、組合せ候補検出部の構成が第一実施形態の組合せ候補検出部104と異なり、他の構成は第一実施形態と同様である。そのため、以下の説明では、組合せ候補検出部についてのみ説明する。
【0032】
図4は、第二実施形態における組合せ候補検出部104aの機能構成を示す概略ブロック図である。組合せ候補検出部104aは、シーン推定部401、非垂直方向直線選択部402、候補検出部403を備える。
シーン推定部401は、入力画像における消失点のおおよその位置を推定する。例えば、シーン推定部401は、消失点の位置が、画像内の左側又は画像外の左側、画像内の中央付近、画像内の右側又は画像外の右側、のいずれであるのかについて推定する。非垂直方向直線選択部402は、シーン推定部401によって推定された消失点の位置に応じて、入力画像内の非垂直方向直線の中から消失点を形成する可能性の高い非垂直方向直線(以下、「候補非垂直方向直線」という。)を選択する。候補検出部403は、候補非垂直方向直線と垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せを組合せ候補として検出する。
【0033】
次に、シーン推定部401の処理について詳細に説明する。シーン推定部401には、複数のシーン分類と、各シーン分類における入力画像の特徴量と、各シーン分類における消失点の位置との対応付けが予め記憶されている。シーン推定部401は、入力画像の特徴量を算出し、予め記憶している特徴量と比較することによって、複数のシーン分類の中から一つのシーン分類を選択する。図5及び図6は、シーン分類の具体例を示す図である。図5に示されるように、建物の内部は一般的に左右の壁面A,Cと、奥側の面Dと、天井面Bと床面Eとで構成される。
【0034】
図5の視点VAから矢印方向に撮影すると、図6Aのように壁面Aが右方向に向けて小さくなるように撮影される。すなわち、図6Aの画像では、向かって左側の地面に垂直な壁面Aと天井面Bで構成されているシーンが撮影されている。この場合、消失点は右方向(画像内の右側又は画像外の右側)に存在し、消失点へ向かう直線は右肩下がりの直線が多くなる。
【0035】
図5の視点VBから矢印方向に撮影すると、図6Bのように壁面A、天井面B、右壁面Cなどが中心に向けて小さくなるように撮影される。図6Bの画像では、左右の地面に垂直な壁面A及び壁面Cと天井面Bとで構成されているシーンが撮影されている。この場合、消失点は画像中央付近に存在し、消失点へ向かう直線は中心に向けた直線(言い換えれば、中心からの放射線)が多くなる。
【0036】
図5の視点VCから矢印方向に撮影すると、図6Cのように壁面Cが左方向に向けて小さくなるように撮影される。図6Cの画像では、向かって右側の地面に垂直な壁面Cと天井面Bで構成されているシーンが撮影されている。この場合、消失点は左方向(画像内の左側又は画像外の左側)に存在し、消失点へ向かう直線は左肩下がりの直線が多くなる。
シーン推定部401は、入力画像がいずれのシーン分類に属するか推定する。
なお、シーン分類として3種のシーンを説明したが、シーン分類は上述したものに限定される必要は無い。
【0037】
図7は、シーン推定部401の推定処理の概略を示す図である。次に、図7を用いてシーン推定部401の推定処理の具体例について説明する。以下に説明する具体例では、シーン推定部401は教師付学習に基づいてシーン分類を推定する。ただし、以下に説明する代表微分値の組合せは、シーン構成を表現できる特徴量の一例にすぎず、他の値がシーン構成を表現できる特徴量として用いられても良い。
【0038】
まず、前処理について説明する。シーン毎に複数枚の学習用画像が用意される。次に、学習用画像毎に複数の解像度の画像が作成される。次に、各画像が縦4横4の16等分に分割される。以下の説明では、16等分によって生じた16個の画像を「部分画像」という。図7Aは、16等分にされた画像の具体例を示す図である。
【0039】
次に、各部分画像について、各方向のエッジ成分を抽出した微分画像を作成する。図7Bの例では、縦方向(y軸方向)のエッジ、横方向(x軸方向)のエッジ、x軸から45度反時計回りに回転したエッジ、x軸から45度時計回りに回転したエッジ、の4種類の方向のエッジ成分を抽出した微分画像が生成される。この処理により、各部分画像について、方向毎に4種類の微分画像が生成される。
【0040】
次に、各微分画像の代表微分値を算出する。代表微分値は各微分画像内の微分値の統計値(合計値や平均値や最頻値など)である。より具体的には、微分画像を二値化し、画素値が1(エッジ強度が強いことを示す値)の画素の数を代表微分値して用いても良い。また、微分画像を256階調の画像とし、各画素の値の合計値を代表微分値として用いても良い。また、微分画像を256階調の画像とし、画素値の平均値を代表微分値として用いても良い。
この時点で、一つの画像に対し、16枚の部分画像が生成され、各部分画像について4枚の微分画像が生成され、微分画像毎に一つの代表微分値が算出されている。したがって、一つの画像に対し、16×4=64個の代表微分値が算出されている。この代表微分値の数字の並びが、その画像の特徴量として用いられる。以上の処理が各解像度の画像毎に行われ、それぞれの特徴量が算出される。
【0041】
次に、上述のようにして算出した各解像度の各学習用画像の特徴量に基づいて、シーン分類を推定するための識別器が作成される。図7Cは、識別器のモデルを表す図である。図7Dは、識別器による識別結果のパターンを表す図である。特徴量と、その特徴量が示すシーン分類とを教師データとして、ニューラルネットワークで学習させる。ニューラルネットワークとしては、例えば以下の文献に開示される技術が適用されても良い。コンピュータビジョン最先端ガイド2, 八木康史・齋藤英雄編,アドコム・メディア株式会社,2010年6月発行,p.96-98。また、識別器はニューラルネットワークに限定される必要は無く、例えばSVMなど、他の識別器が用いられても良い。SVMとしては、例えば以下の文献に開示される技術が適用されても良い。コンピュータビジョン最先端ガイド2, 八木康史・齋藤英雄編,アドコム・メディア株式会社,2010年6月発行,p.108-113。
以上の処理が前処理である。
【0042】
次に、シーン推定部401の処理について説明する。シーン推定部401は、以上のようにして前処理によって予め作成された識別器を用いて、シーン分類を行う。具体的には以下の通りである。シーン推定部401は、識別器を作成する処理(前処理)と同様にして、入力画像について特徴量を算出する。そして、シーン推定部401は、算出された特徴量と、予め設定された識別器と、に基づいて、入力画像のシーンを分類する。そして、シーン推定部401は、分類結果に基づいて、入力画像において消失点の存在する位置を推定する。
【0043】
次に、非垂直方向直線選択部402の処理について詳細に説明する。非垂直方向直線選択部402は、シーン推定部401によって推定された消失点の位置に基づいて、消失点の方向に伸びる直線(消失線)が有する特徴を判定する。そして、判定した特徴を有する非垂直方向直線を、入力画像に含まれる非垂直方向直線の中から候補非垂直方向直線として選択する。
【0044】
例えば、画像の右側に消失点がある場合(図6Aの場合)、非垂直方向直線選択部402は、選択対象となる非垂直方向直線の特徴として、右肩下がりであると判定する。そして、入力画像に含まれる非垂直方向直線の中から右肩下がりの非垂直方向直線を選択する。例えば、右方向にx軸が伸び、上方向にy軸が伸びる座標系を想定した場合、非垂直方向直線選択部402はy=f(x)の傾きが負である非垂直方向直線を選択する。
【0045】
例えば、画像の中央に消失点がある場合(図6Bの場合)、非垂直方向直線選択部402は、選択対象となる非垂直方向直線の特徴として、画像の中心に向けて下がる直線であると判定する。そして、入力画像に含まれる非垂直方向直線の中から、画像の中心に向けて下がる非垂直方向直線を選択する。例えば、右方向にx軸が伸び、上方向にy軸が伸びる座標系を想定した場合、非垂直方向直線選択部402は、画面左側に位置する直線についてはy=f(x)の傾きが負である非垂直方向直線を選択する。一方、非垂直方向直線選択部402は、画面右側に位置する直線については傾きが正である非垂直方向直線を選択する。
【0046】
例えば、画像の左側に消失点がある場合(図6Cの場合)、非垂直方向直線選択部402は、選択対象となる非垂直方向直線の特徴として、左肩下がりであると判定する。そして、入力画像に含まれる非垂直方向直線の中から左肩下がりの非垂直方向直線を選択する。例えば、右方向にx軸が伸び、上方向にy軸が伸びる座標系を想定した場合、非垂直方向直線選択部402はy=f(x)の傾きが正である非垂直方向直線を選択する。
【0047】
次に、候補検出部403の処理について詳細に説明する。候補検出部403は、非垂直方向直線選択部402によって選択された候補非垂直方向直線と、垂直方向直線検出部103によって選択された垂直方向直線と、の組合せ毎に、最も近い端点同士の距離を算出する。そして、候補検出部403は、算出された距離が端点距離閾値(例えば3ピクセル)以下となる組合せを、組合せ候補として検出する。端点距離閾値は、予め候補検出部403に記憶されている値である。
【0048】
このように構成された第二実施形態では、シーンの推定結果に応じて、非垂直方向直線が選択される。そのため、消失点を構成する消失線をより精度良く選択することが可能となる。その結果として、消失点の推定精度を向上させることが可能となる。
【0049】
<変形例>
第二実施形態の消失点推定装置は、フィードバック処理を行うように構成されても良い。フィードバック処理では、位置推定部106によって算出された消失点の位置に基づいて、シーン推定部401は推定結果を修正する。具体的には、シーン推定部401は、位置推定部106によって算出された交点の位置が、シーンの推定結果に応じた消失点の位置と一致するか否か判定する。
【0050】
図8は、フィードバック処理の具体例を示す図である。図8のシーンでは、消失点が、点801と、点802として二つ存在する。シーン推定部401によって、消失点が一つしか存在しないシーン分類であると推定されていた場合、シーン推定部401はフィードバック処理により図8のように消失点が二つ存在するシーン分類に推定結果を修正する。非垂直方向直線選択部402は、修正後の推定結果に基づいて、非垂直方向直線を選択する。その後、この選択結果に基づいて、消失点推定装置は消失点を推定する。
【0051】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0052】
100…消失点推定装置, 101…画像入力部, 102…直線検出部, 103…垂直方向直線検出部, 104…組合せ候補検出部, 105…消失線組合せ選択部, 106…位置推定部, 107…出力部, 401…シーン推定部, 402…非垂直方向直線選択部, 403…候補検出部

【特許請求の範囲】
【請求項1】
コンピュータが、
入力された画像に含まれる直線を検出する直線検出ステップと、
前記直線の中から、略垂直の直線である垂直方向直線を検出する垂直方向直線検出ステップと、
前記画像に含まれる直線のうち前記垂直方向直線ではない直線である非垂直方向直線と、前記垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せを組合せ候補として検出する組合せ候補検出ステップと、
前記組合せ候補の中から、前記垂直方向直線と前記非垂直方向直線とが類似している組合せ候補を消失線組合せとして選択する消失線組合せ選択ステップと、
選択された複数の消失線組合せにおける、複数の前記非垂直方向直線に基づいて消失点の位置を推定する位置推定ステップと、
を有する消失点推定方法。
【請求項2】
前記組合せ候補検出ステップは、前記コンピュータが、
入力された画像における消失点のおおよその位置を推定するシーン推定ステップと、
前記おおよその位置に基づいて、入力された画像における消失点の方向に伸びる直線の特徴を判定し、前記特徴を有する前記非垂直方向直線を選択する非垂直方向直線選択ステップと、
選択された前記非垂直方向直線と、前記垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せを組合せ候補として検出する候補検出ステップと、
を有する、請求項1に記載の消失点推定方法。
【請求項3】
入力された画像に含まれる直線を検出する直線検出部と、
前記直線の中から、略垂直の直線である垂直方向直線を検出する垂直方向直線検出部と、
前記画像に含まれる直線のうち前記垂直方向直線ではない直線である非垂直方向直線と、前記垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せを組合せ候補として検出する組合せ候補検出部と、
前記組合せ候補の中から、前記垂直方向直線と前記非垂直方向直線とが類似している組合せ候補を消失線組合せとして選択する消失線組合せ選択部と、
選択された複数の消失線組合せにおける、複数の前記非垂直方向直線に基づいて消失点の位置を推定する位置推定部と、
を備える消失点推定装置。
【請求項4】
前記組合せ候補検出部は、
入力された画像における消失点のおおよその位置を推定するシーン推定部と、
前記おおよその位置に基づいて、入力された画像における消失点の方向に伸びる直線の特徴を判定し、前記特徴を有する前記非垂直方向直線を選択する非垂直方向直線選択部と、
選択された前記非垂直方向直線と、前記垂直方向直線との組合せのうち、その端点同士の距離が閾値よりも短い組合せを組合せ候補として検出する候補検出部と、
を備える、請求項3に記載の消失点推定装置。
【請求項5】
コンピュータに対し請求項1又は請求項2に記載の各ステップを実行させるためのコンピュータプログラム。

【図1】
image rotate

【図4】
image rotate

【図5】
image rotate

【図8】
image rotate

【図2】
image rotate

【図3】
image rotate

【図6】
image rotate

【図7】
image rotate