(57)【要約】【課題】消失点の検出精度を向上させる技術を提供する。【解決手段】画像から線分を検出する線分検出手段と、前記線分検出手段により検出された線分から、消失点検出用の線分を選択する選択手段と、前記消失点検出用の線分に基づき、前記画像の消失点を検出する消失点検出手段と、を備え、前記選択手段は、前記線分検出手段により検出された各線分について、前記線分を含む部分領域の画像複雑度が基準より複雑でない場合に前記線分を選択することを特徴とする画像処理装置を提供する。【選択図】図４Ｃ
2018005337.tif 000002
【特許請求の範囲】
【請求項１】
画像から線分を検出する線分検出手段と、
前記線分検出手段により検出された線分から、消失点検出用の線分を選択する選択手段と、
前記消失点検出用の線分に基づき、前記画像の消失点を検出する消失点検出手段と、
を備え、
前記選択手段は、前記線分検出手段により検出された各線分について、前記線分を含む部分領域の画像複雑度が基準より複雑でない場合に前記線分を選択する
ことを特徴とする画像処理装置。
【請求項２】
前記選択手段は、前記画像の部分領域にかかる複数の分割領域それぞれについて画像複雑度を算出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記選択手段は、
前記画像の複数の分割領域それぞれについて画像複雑度が第１の閾値以下であるか否かを判定し、
前記線分検出手段により検出された各線分について、前記線分のうち画像複雑度が前記第１の閾値以下である分割領域に含まれる部分の割合が第２の閾値以上である場合に、前記線分を含む部分領域の画像複雑度が基準より複雑でないと判定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記選択手段は、前記画像複雑度として、エッジ成分の量の指標値、及び、エッジ成分のばらつきの指標値のうちの少なくとも一方を取得する
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記エッジ成分の量の指標値は、エッジ成分の積分値を含み、
前記エッジ成分のばらつきの指標値は、エッジ成分の分散値を含む
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記線分検出手段は、
前記画像から、大きさが第３の閾値未満である第１のエッジ成分と、大きさが第４の閾値以上である第２のエッジ成分とを抽出し、
前記第１のエッジ成分に基づいて第１の線分を検出し、
前記第２のエッジ成分に基づいて第２の線分を検出し、
前記第１の線分及び前記第２の線分を、前記画像からの線分として検出する
ことを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記線分検出手段は、前記第１の線分及び前記第２の線分のうち、長さが第５の閾値以上の線分を、前記画像からの線分として検出する
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記線分検出手段は、前記第１の線分及び前記第２の線分の傾きが近似しており、前記第１の線分及び前記第２の線分のうちの一方の線分が他方の線分の端点の近傍を通り、かつ、前記第１の線分及び前記第２の線分が結合された結合線分の長さが前記第５の閾値以上である場合、前記結合線分を前記画像からの線分として検出する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
画像から線分を検出する線分検出手段と、
前記線分検出手段により検出された線分から、消失点検出用の線分を選択する選択手段と、
前記消失点検出用の線分に基づき、前記画像の消失点を検出する消失点検出手段と、
を備え、
前記選択手段は、前記検出された線分のうちの第３の線分及び第４の線分の傾き及び位置が近似している場合、前記第３の線分及び前記第４の線分のうちの一方を選択しない
ことを特徴とする画像処理装置。
【請求項１０】
前記選択手段は、前記第３の線分及び前記第４の線分の傾きが４５度の倍数である場合、前記第３の線分及び前記第４の線分の傾きが４５度の倍数でない場合よりも、前記第３の線分及び前記第４の線分の位置が近似していると判断する基準を厳しくする
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記消失点検出手段は、前記消失点検出用の線分を含む直線の交点を前記消失点として検出する
ことを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記消失点検出手段により検出された前記消失点を構成する前記消失点検出用の線分の数に基づいて、前記消失点の信頼度を決定する決定手段を更に備える
ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記消失点検出用の線分を含む直線の交点が複数存在する場合、前記消失点検出手段は、最も多くの直線が通過する交点を前記消失点として検出する
ことを特徴とする請求項１１又は１２に記載の画像処理装置。
【請求項１４】
前記線分検出手段は、前記画像から線分を検出する前に、前記画像に対してエッジ強調処理を適用する
ことを特徴とする請求項１乃至１３のいずれか１項に記載の画像処理装置。
【請求項１５】
請求項１乃至１４のいずれか１項に記載の画像処理装置と、
前記画像を生成する撮像手段と、
を備えることを特徴とする撮像装置。
【請求項１６】
画像処理装置が実行する画像処理方法であって、
画像から線分を検出する線分検出工程と、
前記線分検出工程により検出された線分から、消失点検出用の線分を選択する選択工程と、
前記消失点検出用の線分に基づき、前記画像の消失点を検出する消失点検出工程と、
を備え、
前記選択工程では、前記線分検出工程により検出された各線分について、前記線分を含む部分領域の画像複雑度が基準より複雑でない場合に前記線分を選択する
ことを特徴とする画像処理方法。
【請求項１７】
画像処理装置が実行する画像処理方法であって、
画像から線分を検出する線分検出工程と、
前記線分検出工程により検出された線分から、消失点検出用の線分を選択する選択工程と、
前記消失点検出用の線分に基づき、前記画像の消失点を検出する消失点検出工程と、
を備え、
前記選択工程では、前記検出された線分のうちの第３の線分及び第４の線分の傾き及び位置が近似している場合、前記第３の線分及び前記第４の線分のうちの一方を選択しない
ことを特徴とする画像処理方法。
【請求項１８】
コンピュータを、請求項１乃至１４のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来より、画像の奥行き情報の推定や遠景・近景などのシーンの推定に適用可能な消失点の検出を行う技術が知られている。消失点とは、例えば遠近法や透視図法などで用いられる、平行な直線群が集まる無限遠点のことである。消失点を検出する技術として、画像から複数の線分を検出し、線分の傾きや交点など種々の特徴量を用いて消失点の座標を算出する技術がある。
【０００３】
また、特許文献１では、画像から検出した複数の線分のうち、画像の上辺側及び下辺側の領域に存在するものや水平方向に近いものなど、消失点の検出に不要なノイズ的線分を排除する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２７５５００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されている構成では、奥行き方向に伸びていない不要な線分を効果的に排除できず、消失点の座標を精度良く算出できない可能性がある。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、消失点の検出精度を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、画像から線分を検出する線分検出手段と、前記線分検出手段により検出された線分から、消失点検出用の線分を選択する選択手段と、前記消失点検出用の線分に基づき、前記画像の消失点を検出する消失点検出手段と、を備え、前記選択手段は、前記線分検出手段により検出された各線分について、前記線分を含む部分領域の画像複雑度が基準より複雑でない場合に前記線分を選択することを特徴とする画像処理装置を提供する。
【０００８】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【発明の効果】
【０００９】
本発明によれば、消失点の検出精度を向上させることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】撮像装置１００の構成を示すブロック図。
【図２】画像処理部１０４において消失点検出処理に関係する構成を示すブロック図。
【図３】（Ａ）図２に示す線分検出部２０３の構成を示すブロック図、（Ｂ）図２に示す線分選択部２０４の構成を示すブロック図。
【図４Ａ】消失点検出処理のフローチャート。
【図４Ｂ】Ｓ４０３の線分検出処理の詳細を示すフローチャート。
【図４Ｃ】Ｓ４０４の線分選択処理の詳細を示すフローチャート。
【図５】撮像画像の一例を示す図。
【図６】（Ａ）撮像画像５０１に対応するエッジ画像６０１を示す図、（Ｂ）エッジ画像６０１に対応するＬエッジ線分検出結果を示す図、（Ｃ）エッジ画像６０１に対応するＨエッジ線分検出結果を示す図、（Ｄ）エッジ画像６０１に対応する線分検出結果を示す図。
【図７】（Ａ）エッジ画像６０１の分割方法を示す図、（Ｂ）エッジ画像６０１のブロック単位での積分結果を示す図、（Ｃ）エッジ画像６０１のブロック単位の分散値を示す図、（Ｄ）エッジ画像６０１の各ブロックが線分有効ブロックであるか線分無効ブロックであるかを示す図。
【図８】（Ａ）線分の除外結果を示す図、（Ｂ）線分の統合結果を示す図。
【図９】消失点の座標の算出方法を示す図。
【図１０】図５の撮像画像５０１において選択された６つの線分に基づいて算出された消失点を示す図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【００１２】
［第１の実施形態］
本実施形態では、画像における各種の特徴量を用いて、消失点の有無の判定及び座標の算出を行う技術について説明する。なお本実施形態では、最も効果が見込めるシーンの１つである遠景撮影を想定して説明を行う。しかしながら、本実施形態で説明する技術は、遠景撮影以外のシーンにおいても適用可能である。また、以下では、画像処理装置の一例として撮像装置について説明するが、本実施形態の画像処理装置は撮像装置に限定されず、例えばパーソナルコンピュータ（ＰＣ）などであってもよい。
【００１３】
図１は、撮像装置１００の構成を示すブロック図である。図１において、光学系１０１は、ズームレンズやフォーカスレンズなどから構成されるレンズ群、絞り調整装置、及び、シャッター装置を備えている。光学系１０１は、撮像部１０２に到達する被写体像の倍率、ピント位置、及び光量を調整する。撮像部１０２は、光学系１０１を通過した被写体の光束を光電変換して電気信号に変換するＣＣＤやＣＭＯＳセンサ等の光電変換素子である。Ａ／Ｄ変換部１０３は、入力されたアナログ画像信号をデジタル画像データに変換する。
【００１４】
画像処理部１０４は、入力された画像データに対して、現像処理などの各種画像処理を行う。また、画像処理部１０４は、後述する消失点検出処理も行う。図２は、画像処理部１０４において消失点検出処理に関係する構成を示すブロック図であり、図３（Ａ）は、図２に示す線分検出部２０３の構成を示すブロック図であり、図３（Ｂ）は、図２に示す線分選択部２０４の構成を示すブロック図である。図２、図３（Ａ）、及び図３（Ｂ）の各ブロックが担う処理の詳細については後述する。画像処理部１０４は、Ａ／Ｄ変換部１０３から出力された画像データのみでなく、記録部１０７から読み出した画像データに対しても同様の処理を行うことができる。
【００１５】
制御部１０５は、撮影時の露光量を算出し、光学系１０１及び撮像部１０２を通じて、絞り、シャッタースピード、及びセンサのアナログゲインなどを制御する。表示部１０６は、画像処理部１０４から出力される画像データをＬＣＤなどの表示用部材に逐次表示することにより、電子ビューファインダ（ＥＶＦ）として機能する。記録部１０７は、画像データを記録する機能を有し、例えば、半導体メモリが搭載されたメモリカードや、光磁気ディスク等の回転記録媒体を収容したパッケージなどを用いた情報記録媒体などを含んでもよい。
【００１６】
図４Ａは、消失点検出処理のフローチャートである。Ｓ４０１で、検出用画像生成部２０１は、撮像画像から消失点検出用画像を生成する。図５は、撮像画像の一例を示す図である。消失点検出用画像とは、通常の撮像画像（記録用画像）よりもエッジ強調処理の度合いを強くすることによって生成される画像である。光学系１０１の特性により像高の大きい領域は画像中央に比べて解像力が低下し、エッジの振幅が小さくなる場合が多い。そこで、検出用画像生成部２０１は、例えば特開２００９−２８４１０１号公報で述べられているような像高の大きい領域に対してエッジ強調度合いを上げる処理において、記録用画像よりも更に強調度合いを上げるように制御する。これと同様に、低輝度領域は中・高輝度領域に比べて信号値そのものが小さいためエッジの振幅も小さくなる。そこで、検出用画像生成部２０１は、例えば特開平８−９１９９号公報で述べられているような輝度信号に応じたエッジ補正処理において、低輝度領域に対する強調度合いを記録用画像よりも上げるように制御する。これらの処理によって、上述したような領域においてエッジの振幅が小さくなるのを抑えることができる。
【００１７】
Ｓ４０２で、エッジ検出部２０２は、撮像画像５０１から生成された消失点検出用画像に対してソーベルフィルタを適用することにより、エッジ信号を検出する。具体的には、エッジ検出部２０２は、水平（Ｈ）方向及び垂直（Ｖ）方向に下記の式（１）に示すフィルタを適用した画像を加算することにより、図６（Ａ）のエッジ画像６０１のようなエッジ画像を生成する。
2018005337.tif 000003
【００１８】
なお、エッジ信号の検出方法は、上述の方法に限定されない。例えば、エッジ検出部２０２は、消失点検出用画像と、消失点検出用画像にＬＰＦ（ローパスフィルタ）を適用した画像との差分を算出するなど、他の手法を用いてエッジ信号を検出してもよい。
【００１９】
Ｓ４０３で、線分検出部２０３は、Ｓ４０２において生成したエッジ画像から線分を検出する。図３（Ａ）は、線分検出部２０３の構成を示すブロック図であり、図４Ｂは、図４ＡのＳ４０３における線分検出処理のフローチャートである。線分検出処理の詳細について、図３（Ａ）及び図４Ｂを参照して説明する。
【００２０】
Ｓ４１１で、Ｌエッジ線分検出部３０２は、エッジ画像６０１において大きさが閾値Th_eg_low未満（第３の閾値未満）であるエッジ信号、即ち低振幅エッジから構成される線分（Ｌエッジ線分）を検出する。具体的には、まず、Ｌエッジ線分検出部３０２は、エッジ画像６０１においてTh_eg_low以上の信号を０とすることで、低振幅のエッジ信号のみを抽出した画像（低振幅エッジ画像）を生成する。そして、Ｌエッジ線分検出部３０２は、低振幅エッジ画像に対してハフ変換を適用することによって閾値以上の長さを持つ線分を抽出する処理を行う。ハフ変換は任意の既知の技術を利用することにより実施可能であるが、一例を挙げると、OpenCV内で用いられているcvHoughLines2関数を利用することができる。図６（Ｂ）に、エッジ画像６０１に対応するＬエッジ線分検出結果を示す。図６（Ｂ）において、Ｌエッジ線分画像６０２は、エッジ画像６０１に対応するＬエッジ線分検出結果を示した画像であり、白色でハイライト表示した部分が線分として検出された領域である。これを見ると、直線状の被写体からだけではなく、細かいテクスチャを持つ被写体からも線分が検出されていることがわかる。これは、ハフ変換において一直線上に振幅の大きい点（エッジ）が局所的に多数存在していることから、これらが１つの線分として検出されるためである。
【００２１】
Ｓ４１２で、Ｈエッジ線分検出部３０３は、エッジ画像６０１において大きさが閾値Th_eg_high以上（第４の閾値以上）であるエッジ信号、即ち高振幅エッジから構成される線分（Ｈエッジ線分）を検出する。具体的には、まず、Ｈエッジ線分検出部３０３は、エッジ画像６０１においてTh_eg_high未満の信号を０とすることで、高振幅のエッジ信号のみを抽出した画像（高振幅エッジ画像）を生成する。そして、Ｈエッジ線分検出部３０３は、高振幅エッジ画像に対してハフ変換を適用することによって閾値以上の長さを持つ線分を抽出する処理を行う。図６（Ｃ）に、エッジ画像６０１に対応するＨエッジ線分検出結果を示す。図６（Ｃ）において、Ｈエッジ線分画像６０３は、エッジ画像６０１に対応するＨエッジ線分検出結果を示した画像であり、白色でハイライト表示した部分が線分として検出された領域である。
【００２２】
Ｓ４１３で、ＬＨ線分結合部３０４は、Ｓ４１１及びＳ４１２において検出された全ての線分に対してＳ４１４〜Ｓ４１８の処理が完了したか否かを判定する。全ての線分に対して処理が完了した場合、ＬＨ線分結合部３０４は線分検出処理を終了し、そうでない場合、ＬＨ線分結合部３０４は処理をＳ４１４へ進める。
【００２３】
Ｓ４１４で、ＬＨ線分結合部３０４は、処理対象の線分（Ｓ４１２で検出したＨエッジ線分又はＬエッジ線分）の長さが閾値Th_eg_len以上（第５の閾値以上）であるか否かを判定する。線分の長さがTh_eg_len以上の場合、ＬＨ線分結合部３０４は処理をＳ４１８へ進め、そうでない場合、ＬＨ線分結合部３０４は処理をＳ４１５へ進める。ここで、線分の長さeg_lenは、線分の２つの端点の座標をそれぞれ（ｘ１，ｙ１）、（ｘ２，ｙ２）としたとき、以下の式（２）に従って算出される。
2018005337.tif 000004
【００２４】
Ｓ４１５で、ＬＨ線分結合部３０４は、処理対象の線分に対して近傍の線分を結合する処理を行う。具体的には、ＬＨ線分結合部３０４は、処理対象の線分（例えばＨエッジ線分）と異なる振幅タイプの線分（例えばＬエッジ線分）の中から、処理対象の線分と近似する傾きを持ち、かつ、処理対象の線分の端点の近傍を通る線分を検出する。そのような線分が検出された場合、ＬＨ線分結合部３０４は、処理対象の線分に対して検出された線分を結合し、１つの線分（ＬＨエッジ線分）とする。なお、同じ振幅タイプの線分同士（Ｈエッジ線分同士又はＬエッジ線分同士）については、近傍に存在する場合にはＳ４１１又はＳ４１２において１つの線分として検出されているため、ここで改めて結合する必要はない。
【００２５】
Ｓ４１６で、ＬＨ線分結合部３０４は、ＬＨエッジ線分（結合線分）の長さがTh_eg_len以上（第５の閾値以上）か否かを改めて判定し、Th_eg_len以上であれば処理をＳ４１８へ進め、そうでなければ処理をＳ４１７へ進める。
【００２６】
Ｓ４１７で、ＬＨ線分結合部３０４は、処理対象の線分を、消失点の検出に用いる線分（消失点検出用の線分）から除外する。これは、短い線分は、細かいテクスチャを持つ被写体などから検出された、消失点とは無関係の線分である可能性が高いからである。
【００２７】
他方、Ｓ４１８で、ＬＨ線分結合部３０４は、処理対象の線分（Ｓ４１３でＹｅｓの場合）又はＳ４１５で結合されたＬＨエッジ線分（Ｓ４１６でＹｅｓの場合）を、消失点検出用の線分として検出する。これは、長い線分は、消失点を構成する線分である可能性が高いからである。
【００２８】
図６（Ｄ）に、線分検出結果を示す。図６（Ｄ）において、画像６０４は、エッジ画像６０１に対応する線分検出結果を示す画像である。図６（Ｂ）及び図６（Ｃ）を参照すれば理解できるように、図６（Ｄ）においては、Ｌエッジ線分６１１ＬとＨエッジ線分６１１Ｈとが結合されてＬＨエッジ線分６１１ＬＨとなっている。同様に、Ｌエッジ線分６１２ＬとＨエッジ線分６１２Ｈとが結合されてＬＨエッジ線分６１２ＬＨとなっている。
【００２９】
上記のようにＬエッジ線分とＨエッジ線分とを別々に検出した上で結合すること（Ｓ４１１、Ｓ４１２、及びＳ４１５）の効果について説明する。例えば草むらのような細かいテクスチャを持つ被写体には、低振幅エッジと高振幅エッジとが不規則に多数存在する場合がある。このような被写体のエッジ画像に対して低振幅エッジと高振幅エッジとを区別せずにハフ変換を行った場合、消失点とは無関係な線分が検出される可能性が高い。他方、このような被写体のエッジ画像に対して低振幅エッジと高振幅エッジとを別々にハフ変換を行えば、エッジ成分が分断され、線分として検出される可能性が低減される。但し、Ｌエッジ線分とＨエッジ線分とを別々に検出する場合、奥行き方向に振幅が弱くなるようなエッジを持つ被写体については、消失点を構成する線分が短いＬエッジ線分とＨエッジ線分とに分断される可能性がある。この場合、Ｌエッジ線分及びＨエッジ線分それぞれ単独では長さがTh_eg_len未満となり、消失点検出用の線分として検出されない可能性がある。そこで、Ｓ４１５で、ＬＨ線分結合部３０４は、Ｌエッジ線分及びＨエッジ線分を結合して本来の長い線分を生成する。これにより、本来は長い線分が消失点検出用の線分から除外される可能性を低減することが可能となる。
【００３０】
なお、Ｌエッジ線分及びＨエッジ線分を検出するための２つの閾値Th_eg_low及びTh_eg_highは、同じ値であってもよいし、異なる値であってもよい。Th_eg_low＞Th_eg_highの場合、同一の線分（又はその一部）がＬエッジ線分及びＨエッジ線分として重複して検出される可能性があるが、線分の検出漏れを減らすことができる。
【００３１】
図４Ａに戻り、Ｓ４０４で、線分選択部２０４は、Ｓ４０３において検出された線分の中から、消失点検出用の線分を選択する。図３（Ｂ）は、線分選択部２０４の構成を示すブロック図であり、図４Ｃは、図４ＡのＳ４０４における線分選択処理のフローチャートである。以下、線分選択処理の詳細について、図３（Ｂ）及び図４Ｃを参照して説明する。
【００３２】
Ｓ４２１で、ブロック判定部３１１は、エッジ画像６０１を所定の大きさのブロック単位に分割する。図７（Ａ）の画像７０１は、エッジ画像６０１の分割方法を示す。この例では、エッジ画像６０１は、１１×７個の正方ブロック（分割領域）に分割されている。なお、分割の単位としては、これ以外の大きさであってもよい。
【００３３】
Ｓ４２２で、ブロック判定部３１１は、Ｓ４２１で分割した全てのブロックに対してＳ４２３〜Ｓ４２７の処理が完了したか否かを判定する。全てのブロックに対して処理が完了した場合、ブロック判定部３１１はＳ４２８へ処理を進め、そうでない場合、ブロック判定部３１１はＳ４２３へ処理を進める。
【００３４】
Ｓ４２３で、ブロック判定部３１１は、エッジ画像６０１をブロック単位に積分する処理を行う。図７（Ｂ）の画像７０２は、エッジ画像６０１のブロック単位での積分結果を示したものであり、白色に近いブロックほどエッジ積分値が大きいことを表している。
【００３５】
Ｓ４２４で、ブロック判定部３１１は、エッジ画像６０１からブロック単位に分散値を算出する処理を行う。図７（Ｃ）の画像７０３は、エッジ画像６０１のブロック単位の分散値を示したものであり、白色に近いブロックほどエッジ分散値が大きいことを表している。これを見ると、多くの被写体が存在するブロックには大小様々な振幅を持つエッジが含まれるため、分散値が大きくなっていることがわかる。
【００３６】
Ｓ４２５で、ブロック判定部３１１は、処理対象ブロックの積分値及び分散値がそれぞれ閾値Ｔｈ１及びＴｈ２以上か否かを判定する。積分値≧Ｔｈ１かつ分散値≧Ｔｈ２の場合、ブロック判定部３１１は処理をＳ４２６へ進め、そうでない場合、ブロック判定部３１１は処理をＳ４２７へ進める。
【００３７】
Ｓ４２６で、ブロック判定部３１１は、処理対象ブロックを線分無効ブロックとして設定する。他方、Ｓ４２７で、ブロック判定部３１１は、処理対象ブロックを線分有効ブロックとして設定する。図７（Ｄ）の画像７０４は、各ブロックが線分有効ブロックであるか線分無効ブロックであるかを示したものであり、白いブロックは線分有効ブロックを表し、黒いブロックは線分無効ブロックを表している。
【００３８】
Ｓ４２８で、線分排除部３１２は、Ｓ４０３において検出された全ての線分（図６（Ｄ）参照）のうち、消失点検出において不要となる線分を選択対象から除外する処理を行う。具体的には、線分排除部３１２は、各線分について、線分無効ブロックに含まれる部分の割合を算出する。そして、線分排除部３１２は、算出した割合が閾値（例えば５０％）より大きい線分を、選択対象から除外する。これは、大小様々な振幅のエッジを持つ被写体から検出された線分を画像複雑度が基準よりも複雑である、不要な線分として排除することが目的である。換言すると、線分有効ブロックに含まれる部分の割合が閾値以上（第２の閾値以上）である線分が、除外されずに残る。図８（Ａ）の画像８０１は、線分の除外結果を示したものであり、図６（Ｄ）と比較すると、細かいテクスチャを持つ領域などに含まれる線分が排除され、線分状の被写体に含まれる線分のみが残っていることがわかる。また、線分有効ブロックに含まれる部分の割合を考慮せずに線分の画像複雑度を判定してもよい。
【００３９】
Ｓ４２９で、角度検出部３１３は、Ｓ４２８において除外されなかった各線分（図８（Ａ）参照）の角度（傾き）を検出する。
【００４０】
Ｓ４３０で、線分統合部３１４は、２つ以上の線分を１つに統合する処理を行う。具体的には、線分統合部３１４は、Ｓ４２８において除外されなかった線分（図８（Ａ）参照）のうち、傾きと切片が共に近い値を持つもの同士（即ち、傾き及び位置が近似している線分同士）を１つの線分として統合する。これは、太い線状の被写体や斜めのエッジを持つ被写体から過剰に線分が検出されてしまうことを抑えることが目的である。特に、傾きが４５度の倍数でない斜め方向のエッジからは、複数の線分が検出されやすくなる。これは、画像における画素の座標は整数精度であるのに対し、線分を表す式における傾き及び切片は小数精度を有していることから、斜めに分布する点群から似たような傾き及び切片を持つ複数の線分が検出されるためである。そのため、線分統合部３１４は、２つの線分の傾きが４５度の倍数である場合、２つの線分の傾きが４５度の倍数でない場合よりも、２つの線分の位置が近似していると判断する基準を厳しくしてもよい。２本の線分の統合に際し、線分統合部３１４は、２本の線分のうち長さの大きい方を優先して選択し、もう一方は選択しない。また、２本の線分の長さが同じ場合には、線分統合部３１４は、エッジの振幅の大きい方、即ち線分に沿ってエッジ信号を積算した値が大きい方を優先して選択するものとする。なお、統合の方法はこれに限定されない。図８（Ｂ）の画像８０２は、統合後に残った線分（消失点検出用の線分として最終的に選択された線分）を示しており、図８（Ａ）と比較すると、二重線のように見えていた２つの線分が１つの線分になっていることがわかる。
【００４１】
なお、Ｓ４２２乃至Ｓ４２８の説明においては、線分が細かいテクスチャを持つ領域（即ち、画像複雑度が基準より複雑であることを示す、大きい値となる領域）に含まれるか否かの判断を、ブロック単位のエッジ成分の積分値及び分散値に基づいて行うものとした。しかしながら、これは一例に過ぎず、本実施形態は上記の説明に限定されない。一般化すると、線分排除部３１２は、処理対象の線分を含む部分領域における画像複雑度が閾値以下（第１の閾値以下）である場合に、この線分を選択し、そうでない場合に、この線分を除外する。ブロック単位で処理を行う場合には、例えば、線分排除部３１２は、処理対象の線分のうち画像複雑度が閾値以下（第１の閾値以下）であるブロックに含まれる部分の割合が閾値以上（第２の閾値以上）場合に、この線分を選択する。画像複雑度としては、エッジ成分の量の指標値（例えば、エッジ成分の積分値）、及び、エッジ成分のばらつきの指標値（例えば、エッジ成分の分散値）のうちの少なくとも一方を利用可能である。
【００４２】
図４Ａに戻り、Ｓ４０５で、消失点検出部２０５は、Ｓ４０４で選択した線分を用いて消失点の座標を算出する。具体的な算出方法を図９に示す。図９において、４つの太線で描かれた線分は座標の算出に用いるために選択された４つの線分の一例をｘｙ座標空間で表したものである。また、これら４つの線分をｘ軸方向及びｙ軸方向に伸ばした直線を点線で示している。まず、消失点検出部２０５は、各直線の傾き及び切片に基づいて、２つの直線の対が交わる交点の座標を算出する。そして、消失点検出部２０５は、座標が算出された複数の交点の中で最も多くの直線が交わる（又は近傍を通る）交点を、最終的な消失点として選択する。図９においては、直線の交点が複数存在するので、最も多くの直線、即ち３つの直線が通る黒点で示した交点の座標が、消失点の座標として算出される。図１０に、図５の撮像画像５０１において選択された６つの線分に基づいて算出された消失点を示す。図１０において、斜線の円で示された点が消失点である。なお、Ｓ４０４で選択された線分の数が０又は１の場合、直線の交点が存在しないことになるため、消失点検出部２０５は、消失点なしと判定する。
【００４３】
Ｓ４０６で、消失点検出部２０５は、下記の式（３）に従い、Ｓ４０５で検出した消失点に対する信頼度VpConfを算出する。式（３）において、LineNumは、Ｓ４０４で選択した線分の本数を示し、IntersctNumは、検出した消失点の座標を通る直線の本数を示す。
2018005337.tif 000005
【００４４】
式（３）から理解できるように、選択した線分の本数に対して消失点を通る直線の本数の割合が高いほど、信頼度VpConfは大きい値として決定される。
【００４５】
以上説明したように、第１の実施形態によれば、撮像装置１００は、画像から線分を検出し、検出した線分から消失点検出用の線分を選択する。その際に、撮像装置１００は、線分を含む部分領域における画像複雑度が閾値以下である場合に、この線分を消失点検出用の線分として選択する。これにより、消失点の検出精度を向上させることが可能となる。
【００４６】
なお、本実施形態では、消失点検出用画像の生成において像高別及び輝度別にエッジ強調の度合いを変える構成について説明したが、これに限らず奥行き方向の距離など他の情報も参照して制御してもよい。例えば、特開２０１６−９０６２号公報で述べられているような１つの画素に複数の光電変換部を有する撮像光学系において、各々から撮像される像の位相差を元に距離情報を生成することができる。そして、エッジの振幅が小さくなりやすい遠距離領域ほどエッジ強調を強くすることができる。また、距離情報を取得する構成としては、複数のレンズ及び撮像素子を有する複眼カメラや、ＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）カメラの構成などを採用することも可能である。
【００４７】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４８】
１００…撮像装置、１０１…光学系、１０２、撮像部、１０３…Ａ／Ｄ変換部、１０４…画像処理部、１０５…制御部、１０６…表示部、１０７…記録部
【図１】
2018005337.tif 000006
【図２】
2018005337.tif 000007
【図３】
2018005337.tif 000008
【図４Ａ】
2018005337.tif 000009
【図４Ｂ】
2018005337.tif 000010
【図４Ｃ】
2018005337.tif 000011
【図５】
2018005337.tif 000012
【図６】
2018005337.tif 000013
【図７】
2018005337.tif 000014
【図８】
2018005337.tif 000015
【図９】
2018005337.tif 000016
【図１０】
2018005337.tif 000017