(57)【特許請求の範囲】
【請求項１】
視差を有する画像の画像データから視差値を算出する視差値算出部と、
前記視差値を用いて前記画像データの３次元位置情報を取得する３次元位置座標算出部と、
前記視差を有する画像内から測定領域を検出する測定領域検出部と、
前記画像内で指定されることにより前記測定領域と同一平面に位置する領域を取得する平面領域取得部と、
前記平面領域取得部によって取得された領域を３次元空間の平面に変換する３次元平面算出部と、
前記測定領域を前記３次元空間の平面上の位置に変換する測定座標変換部と、
前記測定領域の長さを算出する大きさ情報算出部と
を備えることを特徴とする画像計測装置。
【請求項２】
前記３次元平面算出部は、前記３次元空間上の平面領域内において、特徴点検出を行い、特徴を有する特徴領域の情報を前記視差値算出部に出力し、得られた特徴領域から視差値の算出が可能か判定し精度よく視差値が算出された点を３つ以上選定し、平面座標とし、得られた３点以上の平面座標から３次元平面位置を規定することを特徴とする請求項１に記載の画像計測装置。
【請求項３】
前記特徴点の選定の際には、視差値の算出が可能と判定された候補点のうち３点が同一直線上に配置されない組合せであり、候補点３点で形成される領域に可能な限り測定点Ａ、Ｂを結ぶ線分ＡＢが多く含まれるような候補点の組み合わせを選択することを特徴とする請求項２に記載の画像計測装置。
【請求項４】
コンピュータを、視差を有する画像の画像データから視差値を算出する視差値算出部、前記視差値を用いて前記画像データの３次元位置情報を取得する３次元位置座標算出部、前記視差を有する画像内から測定領域を検出する測定領域検出部、前記画像内で指定されることにより前記測定領域と同一平面に位置する領域を取得する平面領域取得部、前記平面領域取得部によって取得された領域を３次元空間の平面に変換する３次元平面算出部、前記測定領域を前記３次元空間の平面上の位置に変換する測定座標変換部、前記測定領域の長さを算出する大きさ情報算出部、として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、両眼視差を有する撮像装置を用いて、特徴の得られにくい領域であっても、任意の個所の長さを計測することが可能な画像計測装置、画像計測方法及びプログラムに関するものである。
【背景技術】
【０００２】
日常の生活の中では物を設置する空間の幅や高さなど、長さを知りたい場面がある。これに対し現状では、例えばメジャーを用いて長さを計測する場合が多いが、作業が煩雑なことや、手の届く範囲以上の長さの計測が困難であるなどの理由から、非接触で簡単に計測できることが要望されている。また、計測する際、物体の意図した部分の計測が行なえているのか、簡単に視認できるようなシステムが望まれている。そこで、異なる視点から撮影された画像を用い、視点間のずれである視差情報により物体までの距離や物体の長さなどの３次元情報を取得する技術が提案されている。【０００３】
特許文献１には、２つの撮像部を備える撮像装置を用い、両眼視差を有するペア画像から被写体の３次元モデルを生成し、ユーザーの指定する２点間の長さを算出する技術に関して開示されており、画像上で指定する２点間の実際の長さの計測が可能となる。【０００４】
また、特許文献２には、特許文献１と同様に２つの撮像部を備える撮像装置を用い、両眼視差を有するペア画像から距離情報を取得する技術が開示されている。文献２ではさらに観察平面上において部分的に計測された距離データに対してハフ変換を行い、観察平面内を通る２本以上の直線の当てはめから平面を推定して平面内の距離情報を取得することで、平面内の未決定距離データを取得できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２３２３３０号公報
【特許文献２】特開平９−８１７５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の技術では被写体の３次元モデルを生成する必要があるため、被写体上の多数の点に渡り３次元位置を計算する必要があり、処理量が大きくなりシステムが大規模化するという問題がある。また、撮影した画像データから生成した３次元モデルにおいて、測定したい２点の３次元位置情報が常に取得できるとは限らないといった問題がある。これは、測定点が特徴の少ない領域や、繰り返しパターンなどの類似する模様の場合などでは測定したい点の対応点を検出できない場合があるためである。【０００７】
長さを、より簡単に、確実に測定するためには、処理量を低減し、撮影した画像から確実に所望の２点間の長さを測定する必要があるが、特許文献１ではそれらを考慮した記載はされていない。【０００８】
また、特許文献２では画像を複数のブロックに区切ってブロック毎に距離データを求め、水平方向にグループ化したブロック群からの距離データを基に平面通過直線を算出し、同様にして求めた複数の平面通過直線から平面を推定する。この時、各ブロックの距離データを基に平面上の直線を推定するが、特徴の少ない領域が広範囲に渡るなどの場合には多くのブロックで距離データが取得できないため、正確な平面通過直線が求められず、結果として目的の個所の距離データが求められない場合がある。また、通常撮影画像には、例えば、壁と床が同時に写った画像など複数の平面が存在する場合が多いが、２つ以上の平面が存在する場合の想定がされていない。そのため、目的とする箇所の距離や長さが取得できない場合がある。さらには、画像全体を複数のブロックに分けて距離算出を行うため視差算出や直線近似のための処理量が多くなるため、解像度の高い画像を用いた場合には指数的に処理量が増大するといった問題がある。【０００９】
本発明は、上述の実情を鑑みてなされたもので、複数の平面が存在する撮影画像であっても、測定対象箇所を含んだ３次元平面情報を簡単な操作によって取得可能とすることで、視差を算出し難い箇所であっても所望の距離や大きさ情報を取得可能な長さ計測技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一観点によれば、視差を有する画像の画像データから視差値を算出する視差値算出部と、前記視差値を用いて前記画像データの３次元位置情報を取得する３次元位置座標算出部と、前記視差を有する画像内から測定領域を検出する測定領域検出部と、前記画像内で指定されることにより前記測定領域と同一平面に位置する領域を取得する平面領域取得部と、前記平面領域取得部によって取得された領域を３次元空間の平面に変換する３次元平面算出部と、前記測定領域を前記３次元空間の平面上の位置に変換する測定座標変換部と、前記測定領域の長さを算出する大きさ情報算出部と、を備えることを特徴とする画像計測装置が提供される。【００１１】
本発明によれば、物体上のある任意の点までの距離や２点間の長さを測定する際に、その測定箇所が特徴の少ない場合や類似する模様であるなど対応点を求めることが難しい場合であっても、任意の２点間の長さが測定可能という効果が得られる。【００１２】
前記３次元平面算出部は、前記３次元空間上の平面領域内において、特徴点検出を行い、特徴を有する特徴領域の情報を前記視差値算出部に出力し、得られた特徴領域から視差値の算出が可能か判定し精度よく視差値が算出された点を３つ以上選定し、平面座標とし、得られた３点以上の平面座標から３次元平面位置を規定することを特徴とする。【００１３】
得られた特徴領域に３点以上が含まれる平面領域を規定することで、長さの測定を簡単に行うことができる。【００１４】
前記特徴点の選定の際には、視差値の算出が可能と判定された候補点のうち３点が同一直線上に配置されない組合せであり、候補点３点で形成される領域に可能な限り測定点Ａ、Ｂを結ぶ線分ＡＢが多く含まれるような候補点の組み合わせを選択することを特徴とする。【００１５】
線分の大きさに対して３点で形成される領域が十分な広さの領域であれば誤差を低減することが可能であるからである。例えば、各候補点の視差値の誤差が同程度であるとすると、３点を通る３次元平面と、異なる３点を通る３次元平面はそれぞれ各点の誤差の分だけ傾きが変動する。この時、前者の３点で形成される領域の端点と測定点Ｂまでの距離Ｌ１と後者の３点で形成される領域の端点から測定点Ｂまでの距離Ｌ２を比べるとＬ１の方が大きく、かつ候補点３点で形成される領域外に測定点Ｂが位置しているため、その比率に応じた分、測定点Ｂ上での誤差が大きくなる。そのため、線分ＡＢを含むような候補点の組合せを選択することで誤差の低減が図れる。【００１６】
また、本発明は、コンピュータを、視差を有する画像の画像データから視差値を算出する視差値算出部、前記視差値を用いて前記画像データの３次元位置情報を取得する３次元位置座標算出部、前記視差を有する画像内から測定領域を検出する測定領域検出部、前記画像内で指定されることにより前記測定領域と同一平面に位置する領域を取得する平面領域取得部、前記平面領域取得部によって取得された領域を３次元空間の平面に変換する３次元平面算出部 、前記測定領域を前記３次元空間の平面上の位置に変換する測定座標変換部、前記測定領域の長さを算出する大きさ情報算出部、として機能させるためのプログラムであっても良く、当該プログラムを記録するコンピュータ読み取り可能な記録媒体であっても良い。【００１７】
本明細書は本願の優先権の基礎である日本国特許出願２０１２−２６３０２４号の明細書および／または図面に記載される内容を包含する。
【発明の効果】
【００１８】
本発明によれば、物体上のある任意の点までの距離や２点間の長さを測定する際に、その測定箇所が特徴の少ない場合や類似する模様であるなど対応点を求めることが難しい場合であっても、任意の２点間の長さが測定可能という効果が得られる。
【図面の簡単な説明】
【００１９】
【図１Ａ】本発明の一実施形態による撮像装置の一構成例を示す機能ブロック図である。
【図１Ｂ】本発明の一実施形態による撮像装置の制御部の一構成例を示す機能ブロック図である。
【図２Ａ】本実施形態の撮像装置を用い測定したい領域を測定する場合の、撮影から測定結果確認までの測定方法を示した図である。
【図２Ｂ】図２Ａの測定作業において、本実施形態の撮像装置の各構成部で実行される処理の流れを示しており、撮影画像の取得から測定領域の算出までの処理の概要を示したフローチャート図である。
【図３】（ａ）は、測定時における撮影画像を示した図であり、（ｂ）は、ユーザーと被写体の位置関係、及び、撮影画像例を示した図である。
【図４】異なる位置から撮影した場合の概要図及びブロックマッチングを説明する概要図である。
【図５】３次元位置に関して説明するための図である。
【発明を実施するための形態】
【００２０】
以下、本発明に係わる画像計測技術について各実施形態を挙げ図面を参照しながら説明する。
【００２１】
図１Ａは、本発明の一実施形態における画像計測（測長）機能を有する撮像装置の概略構成例を示す機能ブロック図である。本実施形態における撮像装置１００は、撮像部１０１と、画像処理部１０２と、記録部１０３と、表示部１０４と、入力部１０５と、測定部１０６と、制御部１０７と、を有している。但し、全ての構成が必須というわけではない。
【００２２】
撮像部１０１は、少なくとも２つの撮像部である第１撮像部１０１ａ、第２撮像１０１ｂを有し、それぞれの撮像部１０１ａ・１０１ｂは、レンズとＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの撮像素子、それらの動作を制御する制御部、メモリなどから構成される撮像装置の一般的な構成を有する。２つの撮像部１０１ａ・１０１ｂは、例えば、互いに左右方向に平行にずれた位置に配置されており、それぞれの撮像部１０１ａ・１０１ｂで撮影された２つの画像は視差を有する。
【００２３】
例えば、ある被写体上のある点は、２つの画像上では撮影位置、すなわち視点位置が異なるため、水平方向にずれた場所に位置し、このずれ量を視差という。この場合、平行に配置して撮影された画像の視差は、被写体が撮像装置に近いほど視差が大きく、逆に遠いほど視差が小さくなり、撮像部間の長さに対して非常に遠い、すなわち無限遠領域での視差はほぼ０となる。ある距離における視差は、撮像部間の距離である基線長や光学系、解像度などの撮像素子に関連するパラメータによって決まる。本実施形態では、２つの撮像部１０１ａ・１０１ｂは同等の特性（仕様）を有し、レンズ、撮像素子などは同じものを使用しているものとして説明する。仕様が異なる場合には、基準となる撮像部に対してもう一方の撮像部の各パラメータを正規化すれば良い。このようにして、撮像部１０１で撮影された撮影画像データは、画像処理部１０２に出力される。また、この時、撮影時の基線長や焦点距離情報など必要な撮影情報をカメラパラメータ取得部１１５に出力する。なお、カメラパラメータ取得部１１５は別途カメラパラメータを事前に保持することで、撮像部１０１から直接出力しない構成も取り得る。
【００２４】
なお、以降、１回の撮影において取得される撮像部１０１で撮影された視差を有する画像を画像ａ、ｂと表記するものとする。画像ａ、画像ｂはそれぞれ撮像部１０１ａ、撮像部１０１ｂで取得された画像である。
【００２５】
画像処理部１０２は撮像部１０１によって撮影された画像データの明るさの調整や色の調整などの処理、表示部１０４に合わせたデータ形式への変換、記録部１０３とのデータ出力や読み出し処理などを行う。また、後述する測定部１０６への画像データを出力したり、測定部１０６から得られた情報を基に撮影画像に文字やマーク、図などの情報を重畳して出力したりするなどの処理を行う。本実施形態では、撮像部１０１からの撮影画像データは視差値の調整がされていないものとするが、例えば、立体映像の立体感調整のために、画像ａ、ｂの視差値を調整して出力される場合には、元の配置の状態に戻すよう処理をして測定部１０６へと出力する。
【００２６】
記録部１０３はハードディスクやフラッシュメモリなどで構成され、画像処理部１０２から出力された画像データの記録を行う。例えば、本実施形態では複数枚の静止画像を撮影して長さの測定を行うため、測定において撮影した画像、つまり、各撮像部で撮影された画像ａ、ｂを関連づけて記録する。
【００２７】
表示部１０４は画像処理部１０２から受け取った画像などを表示する装置であり、例えば液晶ディスプレイなどで構成される。表示部１０４は、タッチパネル液晶のように後述する入力部１０５と一体型となった構成でも構わない。
【００２８】
入力部１０５は、ユーザーによる選択や決定のコマンドを入力するものであり、例えば画像上のポインタを動かすための十字キーやタッチパネルによる入力である。本実施形態においては、表示部１０４と一体型となったタッチパネル液晶によって構成され、画像上の測定点を選択する場合には、指定したい箇所をタッチすることで測定したい部分などの選択ができる。
【００２９】
測定部１０６は、測定領域検出部１１１と、視差値算出部１１２と、３次元位置座標算出部１１３と、大きさ情報算出部１１４と、カメラパラメータ取得部１１５と、平面領域取得部１１６と、３次元平面算出部１１７と、測定座標算出部１１８とから構成され、撮影された画像データからユーザーの測定したい箇所までの距離や２点間の長さ、領域の面積を算出する。
【００３０】
制御部１０７は装置全体を制御する。図１Ｂは、制御部１０７の一構成例を示す機能ブロック図である。図１Ｂに示すように、制御部１０７は、入力検出部１０７−１と、測定判定部１０７−２と、長さ表示部１０７−３と、コーション表示部１０７−４と、平面領域指定検出部１０７−５と、を有している。
【００３１】
ここで、本実施形態における測定全体の流れを説明しながら各動作について詳述する。図２Ａは測定における操作方法を示しており、ユーザーが測定したい領域の撮影から測定結果の確認までの流れを示したフローチャート図である。また、図２Ｂは、測定時の処理の流れを示したフローチャート図であり、測定処理において、本実施形態の撮像装置１００の各構成部で実行される処理の流れを示しており、撮影画像の取得から測定領域の距離や長さ、面積算出までの処理の概要を表す。
【００３２】
まず、図２Ａを用いて測定手順に関して説明する。入力検出部１０７−１が測定モードの起動を検知すると、撮像装置１００により、測定対象の領域が撮像装置の画角内に入るように撮影される（Ｓ２０１）。この時、測定対象を撮影した画像の例を図３に示す。図３では、画像は、床面３０１と壁面（１）３０２、壁面３０２とは異なる角度で配置される壁面（２）３０３で構成される。
【００３３】
ここでは、壁面３０２上の２点Ａ，Ｂ間の長さを測定対象とする場合を想定し説明する。撮影された画像が表示部１０４の画面に表示され、画面上で測定する点Ａ，Ｂの入力を検出する（Ｓ２０２）。測定点の入力検出後、測定判定部１０７−２により正しく測定できたか判定が行われ（Ｓ２０３）、測定結果が問題ない場合には画面上に所望の点ＡＢ間長さが長さ表示部１０７−３により表示される（Ｓ２０４）。測定結果の判定に関しては後で詳細に説明する。測定結果に問題がある場合には、「平面領域を指定して下さい」などのコーションが、コーション表示部１０７−４により表示され、平面領域指定検出部１０７−５が、ユーザーＸによる点ＡＢが存在する平面領域の指定を検出する（Ｓ２０５）。指定された平面領域情報から指定点Ａ、Ｂ間の長さが算出され画面上に重畳表示される。重畳表示により測定結果を確認できると（Ｓ２０４）、測定モードを終了する。
【００３４】
次に、上記操作手順に沿って図２Ｂを用いて各構成部の処理の流れを説明する。測定モードが起動して測定対象を撮影し、撮影画像が記録される（Ｓ２１１）。この時、撮像部１０１で取得された視差を有する画像ａ、ｂは画像処理部１０２へ受け渡され、明るさの調整やＪＰＥＧなど各種データ形式に変換され、記録部１０３に記録される。また、撮影された画像は表示部１０４に表示される。ここでは基準画像を左側に配置された撮像部１０１ａでの撮影画像とし、この基準画像を表示部１０４に表示するものとする。次に表示された画像からユーザーＸは測定したい箇所を入力部１０５によって指定し、測定箇所の座標を取得する（Ｓ２１２）。本実施形態では、前述したように表示部１０４は静電容量式のタッチパネル液晶で構成され、入力部１０５と一体となった構成とするが、画像上に表示されたカーソルを動かすキーによって選択するなど、画像を視認しながら所望の測定したい領域を選択する方法であれば上記の方法に限定されない。
【００３５】
次に、測定領域検出部１１１では入力部１０５によって指定された箇所を検出し、対応した画像上の座標データを取得する。この時、例えば、距離であれば指定された１点の座標位置を、長さであれば指定された２点の座標位置を、面積であれば３点以上の指定された座標位置をユーザーＸの所望する測定に応じて測定点を関連付けて取得する。例えば、長さであれば「２点選択して下さい」などとユーザーを誘導するような表示を表示部１０４に出力させ、入力された２点の座標情報を取得する。取得された画像上の座標情報は視差値算出部１１２へと出力される。
【００３６】
視差値算出部１１２では、入力された基準画像ａ上の測定箇所Ａ、Ｂの座標における対応点を撮像部１０１ｂの画像ｂ上から求めて視差値を算出する。対応点とは画像ａ、画像ｂに写る被写体上の同じ特徴点を示し、この場合、画像ａ、ｂは異なる位置に配置された撮像部によって撮影された画像であるため、上記の同じ特徴点は２つの画像上で異なった座標位置に配置される。例えば、２つの撮像部が水平方向に配置されているのであれば、対応点は水平方向にずれた位置に検出される。
【００３７】
本処理における視差値算出に関してその概要を説明する。本実施の形態では、例えば視差値の算出にブロックマッチング法を用いることができる。ブロックマッチング法による視差値算出は、ブロック単位での類似度により２つの画像間で同じ被写体の特徴点位置を検出し、そのずれ量（視差量）を検出する。この特徴点に係る２つの画像中の共通の点を上述したように対応点と呼ぶ。対応点の探索を行うために評価関数としてＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を用いる。ＳＡＤでは画像１、画像２のそれぞれで注目画素を中心にウィンドウを設定し、設定したウィンドウ間の各画素の輝度の差を求め、その各画素間から得られた輝度の差の総和を算出する。同様な処理を画像２側の注目画素を変えながら行い、値が最も小さい注目画素が対応点であるとする。
【００３８】
ここで、上述の処理内容を具体的に説明する。図４（ａ）には被写体Ｏを水平方向に視点の異なる位置から撮影した場合の概要図を示している。左視点から撮影された画像は画像１であり、右視点から撮影された画像は画像２のようになる。このとき、撮影された画像を図４（ｂ）に示している。図４（ｂ）では視点位置が異なることで、被写体Ｏの位置がそれぞれの画像で異なる位置に存在することが分かる。
【００３９】
図４（ｃ）と図４（ｄ）とを用いて、画像１を基準に視差値を算出する場合において、被写体Ｏ上の一つの頂点を特徴点とした際のブロックマッチングの説明をする。この特徴点が画像１上の画素ａに存在するとした場合に、画素ａを中心とした３×３の大きさのウィンドウＭ１を設定する。次に、画像２において画素ａと同一の位置にある画素ａ’１を探索開始点として設定し、３×３のウィンドウＭ２を設定する。次に設定したウィンドウ間の各画素の輝度の差を求め、その各画素間から得られた輝度の差の総和を算出する。例えば、図４（ｄ）のように、それぞれの設定したウィンドウの画素の値をＸ１〜Ｘ９、Ｘ’１〜Ｘ’９とすると、
【数１】
0005951043.tif 000002
式（１）のような計算を行い、ＳＡＤ値を求める。平行配置された撮像部で撮影された視差を有する画像は無限遠が視差０であり、近くの被写体になるほど視差が大きくなる。このとき、画像１を基準として画像２が右視点の場合には、画像２上の特徴点は左側に移動する。そこで、探索方向を左側として画素ａ’０から左方向に注目画素を変更していき、上述したＳＡＤ値を順次求め、得られたＳＡＤ値の中で最小値をとる注目画素を対応点とする。この場合、対応点である画像２上の画素ａ’１が最も値が小さい結果となれば、この画素を対応点とする。
【００４０】
対応点を求めたい画素に対し、このような処理を行うことでその画素に対する視差値を取得することができる。本実施形態では、画像１と画像２のサイズは１９２０×１０８０、ウィンドウサイズは注目画素を中心に２５×２５として設定し視差値の算出を行っている。尚、ここでは上記の画像やブロックサイズを設定したが、これに限定されるものではなく精度や処理量を考慮し、適宜設定すればよい。また、本実施形態ではＳＡＤを用いたブロックマッチングによって求めたが、他の評価関数でも構わない。また、ブロックマッチングのように領域ベースのマッチング方法に制限されず、その他の特徴点を検出する方法でも構わない。
【００４１】
このような方法では、画像上の濃淡値の変化が大きい点や領域を抽出し、その点や領域に対して特徴量を規定する処理を行い、類似性を識別する。特徴点を抽出し、その類似性を識別するための方法としては、例えば、ＳＨＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）を用いた特徴量検出方法がある。ＳＨＩＦＴは特徴点の周辺を数画素のブロックに分割し、ブロックごとに８方向の勾配ヒストグラムを求めて１２８次元の特徴ベクトルで示すものである。また、その他の特徴量検出にはＳＵＲＦ（Ｓｕｐｅｅｄｅｄ-Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ）やＧＬＯＨ（Ｇｒａｄｉｅｎｔ  Ｌｏｃａｔｉｏｎ−Ｏｒｉｅｎｔａｔｉｏｎ   Ｈｉｓｔｇｒａｍ）といった手法もあるが、これらに制約されないものとする。
【００４２】
ここで、上述したように視差値を算出する際には左右画像から対応点を検出するが、測定対象箇所の特徴が少なかったり、周辺領域が類似する特徴を有したりする場合には対応点の検出が難しい。例えば、無地に近い領域の場合、特徴が少ないため、ある指定座標における対応点を検出する際に隣接する領域との差が付きにくく、対応点が検出できなかったり、間違い易くなったりする。また、特徴を有していても、例えば繰り返しパターン上の点など周辺に類似性の高い領域が存在する場合にも同様に対応点検出が困難になる。対応点が正確に検出されないと視差値が算出できず、ユーザーの求める箇所の測定ができなくなる。
【００４３】
そこで、指定された測定箇所の対応点が検出可能か、つまり視差値が正確に算出できているかの判定を行う（Ｓ２１４）。視差値算出可否の判定は、例えば、ＳＡＤを用いたブロックマッチングであればＳＡＤ値の最小値を算出する際に周辺画素のＳＡＤ値との差分の比較によって行う。ＳＡＤを用いたブロックマッチングの場合には上述したように順にＳＡＤ値を求めて、その中で最小値をとる注目画素を対応点とするが、特徴の少ない領域や繰り返しパターンの領域では周辺画素のＳＡＤ値との差が付きにくくなる。
【００４４】
つまり、明確に判別できる場合には、周辺画素に比べて最小値のピークが強く発生するが、周辺に類似性の高い領域や特徴が少ない場合には周辺画素とのＳＡＤ値と対応点のＳＡＤ値が近い値となり、差分が少なくなる。そのため、ある閾値ρを設けて周辺画素とのＳＡＤ値の差分が閾値ρ以下であれば特徴が少ないとみなし、視差が算出できないと判定し、閾値ρ以上であれば視差値が正確に算出できたと判定する。
【００４５】
測定点Ａ、Ｂに対応する視差値が算出できたと判定された場合（図２Ｂ：ステップＳ２１４でＹＥＳ）には、３次元位置情報算出部１１３によって撮像部１０１を基準とした３次元位置座標が算出される（Ｓ２１５）。この時、厳密には基準画像中心を原点とするため、第１撮像部１０１ａの光学中心が得られた３次元座標の原点となる。３次元位置情報算出部１１３によって得られた３次元座標は大きさ情報算出部１１４に出力され、測定点Ａ，Ｂの長さが算出され（Ｓ２２２）、算出した大きさ情報が表示部１０４に出力される（Ｓ２２３）。３次元位置情報算出部１１３、大きさ情報算出部１１４の具体的な処理に関しては後で説明する。
【００４６】
本実施の形態では、測定点Ａ、Ｂが存在する平面である壁面３０２は特徴の少ない領域であり、上記視差値算出の判定によって視差値が算出不可（ＮＯ）と判定されたものとして説明する。
【００４７】
指定点の視差値が算出できないと判定された場合には、平面領域取得部１１６によって測定点Ａ、Ｂが存在する平面領域を取得する（図２Ｂ：Ｓ２１６）。ここでは平面領域の取得はユーザーＸによって指定されるものとする。例えば、表示部１０４に「測定箇所を含む平面領域を指定して下さい」などのコーションを表示し、ユーザーＸはそれに従ってタッチパネル液晶上で対象領域を指で囲むように動かして指定する。平面領域の指定は上記以外でも例えば２点を指定し、２点を対角とする矩形領域を平面領域とするなど、測定領域と同一面上にある平面領域が簡単に入力できる方法であれば上記に制約されない。また、入力する領域の大きさや形状に制約はなく、測定点Ａ、Ｂが配置される平面内の領域であればどこでも構わない。
【００４８】
通常、撮影画像には多くの平面領域が存在するため、測定領域を含む平面領域を識別することは困難であるが、ユーザーによって簡単な入力で指定できるようにすることで、失敗することなく適切な平面領域を取得できる。ここで、図３（ｂ）の指定範囲３０４はユーザーＸが指定した領域を示す。平面領域取得部１１６は取得した領域情報を３次元平面算出部１１７へと出力する。
【００４９】
３次元平面算出部１１７では得られた画像上の平面領域内において、エッジ検出などの特徴点検出を行い、特徴を有する領域を判定する（Ｓ２１７）。次に判定した特徴領域の情報を視差値算出部１１２に出力し、得られた特徴領域から視差値の算出が可能か判定して特に精度よく視差値が算出された点を３つ以上選定し、平面座標とする（Ｓ２１９）。次に、得られた３点以上の平面座標から３次元平面位置を規定する（Ｓ２２０）。
【００５０】
ここで、上記を具体的に説明する。本実施形態では、図３の３０４（破線内）の領域で特徴点検出を行い、特徴を有した候補点７点（候補点３０５〜３１１）を取得できたとする。次に、それぞれの候補点に対して視差値の算出が可能かの判定をする。判定には前述したように視差値算出時において周辺画素と最小値の画素とのＳＡＤ値の差分で判定する。ＳＡＤ値の差分が閾値ρ以上であれば信頼性のある視差値が算出可能がとみなし、閾値以下の点は視差値の信頼性が低いと判定し、候補点から除外する。
【００５１】
ここでは、候補点３０５〜３１１共に視差値算出が可能であったと判定された。次に３次元平面を算出する際に必要となる候補点３点を選定する。選定の際には上記視差値の算出が可能と判定された候補点のうち３点が同一直線上に配置されない組合せであればどのような３点を選択しても構わないが、測定点Ａ、Ｂと各候補点の位置関係から、候補点３点で形成される領域に可能な限りＡ、Ｂを結ぶ線分ＡＢが多く含まれるような候補点の組み合わせを選択する方が望ましい。
【００５２】
これは、線分ＡＢの大きさに対して３点で形成される領域が十分な広さの領域であれば誤差を低減することが可能であるからである。例えば、各候補点の視差値の誤差が同程度であるとすると、点３０５、点３０６、点３０７の３点を通る３次元平面と、点３０９、点３１０、点３１１の３点を通る３次元平面はそれぞれ各点の誤差の分だけ傾きが変動する。この時、点３０５、点３０６、点３０７で形成される領域の端点と測定点Ｂまでの距離Ｌ１と点３０９、点３１０、点３１１の３点で形成される領域の端点から測定点Ｂまでの距離Ｌ２を比べるとＬ１の方が大きく、かつ、候補点３点で形成される領域外に測定点Ｂが位置しているため、その比率に応じた分、測定点Ｂ上での誤差が大きくなる。そのため、線分ＡＢを含むような候補点の組合せを選択することで誤差の低減が図れる。
【００５３】
また、本実施形態では特徴点検出で候補点を検出し、それらに対して視差値算出をして判定する処理を行っているが、それに制限されることなく、例えば、取得した平面領域全体に渡って視差算出と判定を行い、その中から候補点を選定するのでもよい。ただし、ブロックマッチングは対象座標が多くなると処理量も多くなるため、エッジ検出など比較的低演算の処理で候補点を絞ってから視差値算出を行う方が望ましい。このようにして得られた３点以上の候補点から３次元平面位置を算出する。この場合、点３０９、点３１０、点３１１が選定され、これら３点に対して視差値算出部１１２で得られた視差値を３次元位置情報算出部１１３に出力し、３次元座標を取得する。３次元空間上の３つの座標分かれば、３次元平面位置を規定することができる。
【００５４】
ここで、３次元位置情算出部１１３における３次元座標の算出に関して説明する。３次元位置情報算出部１１３は入力された各点の視差値とカメラパラメータ取得部１１５から入力された情報を基に、各点の実際の３次元位置情報を算出する。ここで、カメラパラメータ取得部１１５によって入力された情報とは撮像部１０１の外部カメラパラメータや内部カメラパラメータを示す。カメラパラメータ取得部１１５は撮像部１０１からこのようなパラメータを取得したり、データベースとして保持していたりする。
【００５５】
ここで、撮像部の外部カメラパラメータとは２つの画像がどのような配置の撮像部によって撮影されたかを示す情報であり、例えば２つの撮像１０１ａ、１０１ｂ間の距離である基線長や撮像部間の光軸の相対的角度を示す輻輳角などである。また、内部カメラパラメータは撮影における撮像部の焦点距離情報、撮像素子の画素ピッチなどの情報である。カメラパラメータ取得部１１５はこのようなパラメータ情報を３次元位置情報算出部１１３へ出力する。
【００５６】
３次元位置情報算出部１１３は入力された各点における実際の３次元的な位置情報を算出する。ここでの３次元位置は各撮影位置において、視差値算出時の基準画像を撮影した撮像部の光学中心を基準とした実空間座標位置であり、撮像装置から被写体までの距離や左右上下方向の位置を表す。
【００５７】
３次元位置情報算出部１１３が算出する３次元位置に関して図５（ａ）、（ｂ）を用いて説明する。図５（ａ）は図中のＸ軸、Ｙ軸、Ｚ軸で形成される３次元空間と各撮像部との配置の関係を概念的に示したものであり、基準となる撮像部１０１ａの光軸とＺ軸が一致している。また、撮像部１０１ｂは撮像部１０１ａに対して基線長Ｂだけ平行に移動した位置に配置されるものとする。この時、撮像部の焦点距離を焦点距離ｆとすると、２つの撮像部のセンサー面５０１ａ、５０１ｂは、Ｚ＝ｆの平面位置に配置される。
【００５８】
ここで、３次元空間上に位置する被写体上の点Ｋの座標を（Ｘ、Ｙ、Ｚ）とすると、点Ｋは２つのセンサー面５０１ａ、５０１ｂ上に投影され、投影されたセンサー面上の点をそれぞれｋａ，ｋｂとする。各センサー面５０１ａ、５０１ｂ上に投影されたＫの座標はピクセル単位で示すことができ、例えば基準画像上の左上を原点とした場合では、ｋａ，ｋｂの座標はそれぞれ（ｘａ，ｙａ）、（ｘｂ，ｙｂ）と表せるものとする。また、図５（ｂ）は図５（ａ）をＹ軸方向から見た図を示している。図５（ｂ）の撮像部１０１ａの光軸５０２ａはＺ軸に一致し、撮像部１０１ｂの光軸５０２ｂとは平行である。センサー面５０１ａでは点Ｋは３次元座標原点と点Ｋとを結ぶ直線５０３との交点上の座標ｘａに投影される。同様にセンサー面５０１ｂでも直線５０４との交点上の座標ｘｂの位置に投影される。視差Ｄはこの同一の点Ｋの投影位置の差であるので、Ｄ＝｜ｘａ−ｘｂ｜と示すことができる。仮想的には、ｘｂの位置はセンサー面５０１ａでは直線５０４が原点を通るように位置した際の交点ｘｂ’との差ともいえる。
【００５９】
ここで、点Ｋ（Ｘ，Ｙ，Ｚ）を求める。
【００６０】
画像上の座標ｋａを画像の中心を原点として表した場合の座標ｋａ’を（ｘ’，ｙ’）とする。この時、点Ｋに対する視差値Ｄ、撮影時の焦点距離ｆ、基線長Ｂ、センサーの画素ピッチＰを用いて、点Ｋまでの実空間上の距離Ｚは下記のように表すことができる。
Ｚ＝（Ｂ×ｆ）／（Ｄ×Ｐ）
【００６１】
また、センサー１画素あたりの大きさは距離Ｚの平面上ではＺ＊Ｐ／ｆと示せるので基準画像中心を基準とした３次元位置情報（Ｘ，Ｙ，Ｚ）のＸとＹは下記のように表せる。
Ｘ＝ｘ’×Ｂ／Ｄ
Ｙ＝ｙ’×Ｂ／Ｄ
【００６２】
上記のように各点において実際の空間上の３次元位置情報を求めると、それぞれの撮影位置で撮影された画像ごとに各点の位置関係が分かる。このとき、一対の視差を有する画像から算出される３次元位置情報は同一の空間座標系に配置される。
【００６３】
３次元平面算出部１１７はこのようにして３つの候補点の３次元座標を３次元位置座標算出部１１３から受け取り、３次元平面位置を取得する。得られた３次元平面情報は測定座標算出部１１８に出力され、測定点Ａ、Ｂに対応した３次元座標を算出する。この時、候補点３点と測定点Ａ、Ｂの２点の画像上における２次元座標は既知であり、また３次元平面上ではこれらは同一平面上に位置することから、測定点Ａ、Ｂの３次元座標は、算出した３次元平面に測定点Ａ，Ｂを投影して３次元平面上の座標位置を取得して求めることができる。ここで、求められた測定点Ａ、Ｂの３次元座標をＡ（Ｘａ,Ｙａ,Ｚａ）、Ｂ（Ｘｂ,Ｙｂ,Ｚｂ）とする。
【００６４】
次に大きさ情報算出部１１４に取得された測定点Ａ、Ｂの３次元座標値が出力され、点ＡＢ間の長さを算出する（Ｓ２２１）。この時、２点Ａ，Ｂそれぞれの３次元位置情報から下記のように長さＬを算出することができる。
【数２】
0005951043.tif 000003
【００６５】
次に、算出された長さ情報（Ｄ１１）を表示部１０４に出力し長さ情報を表示し（Ｓ２２３）、測定モードを終了する。算出した長さの出力は撮影画像上に点Ａ、点Ｂとそれに対応する長さを重畳表示すると、所望の領域の長さであるのか視認し易くなる。
【００６６】
このように、本実施形態の撮像装置によれば視差値の算出し難い領域であっても測定領域と同一平面をユーザーからの簡単な操作によって指定することで所望の領域の長さを取得することができる。
【００６７】
また、本実施の形態では２点間の長さの計測について説明したが、これに限定されることなく、ある点までの距離や３点以上で囲まれる領域の面積でも同様の構成にて求めることができる。これは、測定点においてそれと同一面上の３次元平面を算出するので１点に限らす、複数の測定点の３次元位置を取得することができるためである。
【００６８】
上記の実施の形態において、添付図面に図示されている構成等については、これらに限定されるものではなく、本発明の効果を発揮する範囲内で適宜変更することが可能である。その他、本発明の目的の範囲を逸脱しない限りにおいて適宜変更して実施することが可能である。
【００６９】
また、本発明の各構成要素は、任意に取捨選択することができ、取捨選択した構成を具備する発明も本発明に含まれるものである。
【００７０】
本発明は、撮像装置として特定した場合に、撮像装置を有する携帯端末（スマートフォン、携帯電話機、ＰＣなど）や、カメラ、撮像装置から撮像データを主張して長さを取得する情報処理装置などの種々の装置を含むものであり、機器の名称により限定されるものではない。また、レコーダやテレビジョン受信装置の映像処理にも利用できる。
【００７１】
また、本実施の形態で説明した機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００７２】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００７３】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また前記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。機能の少なくとも一部は、集積回路などのハードウェアで実現しても良い。
【００７４】
（１）視差を有する画像の画像データから視差値を算出する視差値算出部と、前記視差値を用いて前記画像データの３次元位置情報を取得する３次元位置座標算出部と、前記視差を有する画像内から測定領域を検出する測定領域検出部と、前記画像内で指定されることにより前記測定領域と同一平面に位置する領域を取得する平面領域取得部と、前記平面領域取得部によって取得された領域を３次元空間の平面に変換する３次元平面算出部と、前記測定領域を前記３次元空間の平面上の位置に変換する測定座標変換部と、前記測定領域の長さを算出する大きさ情報算出部と、を備えることを特徴とする画像計測装置。
【００７５】
（２）前記３次元平面算出部は、前記３次元空間上の平面領域内において、特徴点検出を行い、特徴を有する特徴領域の情報を前記視差値算出部に出力し、得られた特徴領域から視差値の算出が可能か判定し精度よく視差値が算出された点を３つ以上選定し、平面座標とし、得られた３点以上の平面座標から３次元平面位置を規定することを特徴とする。
【００７６】
（３）前記特徴点の選定の際には、視差値の算出が可能と判定された候補点のうち３点が同一直線上に配置されない組合せであり、候補点３点で形成される領域に可能な限り測定点Ａ、Ｂを結ぶ線分ＡＢが多く含まれるような候補点の組み合わせを選択することを特徴とする。
【００７７】
（４）線分の大きさに対して３点で形成される領域が十分な広さの領域であれば誤差を低減することが可能であるからである。例えば、各候補点の視差値の誤差が同程度であるとすると、３点を通る３次元平面と、異なる３点を通る３次元平面はそれぞれ各点の誤差の分だけ傾きが変動する。
【００７８】
この時、前者の３点で形成される領域の端点と測定点Ｂまでの距離Ｌ１と後者の３点で形成される領域の端点から測定点Ｂまでの距離Ｌ２を比べるとＬ１の方が大きく、かつ候補点３点で形成される領域外に測定点Ｂが位置しているため、その比率に応じた分、測定点Ｂ上での誤差が大きくなる。そのため、線分ＡＢを含むような候補点の組合せを選択することで誤差の低減が図れる。
【００７９】
前記３次元位置情報算出部は入力された各点の視差値とカメラパラメータ取得部から入力されたカメラパラメータ情報を基に、各点の実際の３次元位置情報を算出することを特徴とする。
【００８０】
（５）前記３次元平面算出部は、前記候補点３つの３次元座標を前記３次元位置座標算出部から受け取り、３次元平面位置を取得し、得られた３次元平面情報は前記測定座標算出部に出力され、２つの測定点に対応した３次元座標を算出する。
【００８１】
この時、候補点３点と測定点Ａ、Ｂの２点の画像上における２次元座標は既知であり、また３次元平面上ではこれらは同一平面上に位置することから、測定点Ａ、Ｂの３次元座標は、算出した３次元平面に測定点Ａ，Ｂを投影して３次元平面上の座標位置を取得して求めることができる。
【００８２】
（６）視差を有する画像の画像データから視差値を算出する視差値算出ステップと、前記視差値を用いて前記画像データの３次元位置情報を取得する３次元位置座標算出ステップと、前記視差を有する画像内から測定領域を検出する測定領域検出部ステップと、前記画像内で指定されることにより前記測定領域と同一平面に位置する領域を取得する平面領域取得ステップと、前記平面領域取得部によって取得された領域を３次元空間の平面に変換する３次元平面算出ステップと、前記測定領域を前記３次元空間の平面上の位置に変換する測定座標変換ステップを含み、前記測定領域の長さを算出することを特徴とする画像計測方法。
【００８３】
（７）コンピュータを、視差を有する画像の画像データから視差値を算出する視差値算出部、前記視差値を用いて前記画像データの３次元位置情報を取得する３次元位置座標算出部、前記視差を有する画像内から測定領域を検出する測定領域検出部、前記画像内で指定されることにより前記測定領域と同一平面に位置する領域を取得する平面領域取得部、前記平面領域取得部によって取得された領域を３次元空間の平面に変換する３次元平面算出部 、前記測定領域を前記３次元空間の平面上の位置に変換する測定座標変換部、前記測定領域の長さを算出する大きさ情報算出部、として機能させるためのプログラム。
【産業上の利用可能性】
【００８４】
本発明は、画像計測装置に利用できる。
【符号の説明】
【００８５】
１００  撮像装置
１０１  撮像部
１０２  画像処理部
１０３  記録部
１０４  表示部
１０５  入力部
１０６  測定部
１１１  測定領域検出部
１１２  視差値算出部
１１３  ３次元位置情報算出部
１１４  大きさ情報算出部
１１５  カメラパラメータ取得部
１１６  平面領域取得部
１１７  ３次元平面算出部
１１８  測定座標算出部
本明細書で引用した全ての刊行物、特許および特許出願をそのまま参考として本明細書にとり入れるものとする。
【図１Ａ】
0005951043.tif 000004
【図１Ｂ】
0005951043.tif 000005
【図２Ａ】
0005951043.tif 000006
【図２Ｂ】
0005951043.tif 000007
【図３】
0005951043.tif 000008
【図４】
0005951043.tif 000009
【図５】
0005951043.tif 000010