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