(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-08
(45)【発行日】2024-11-18
(54)【発明の名称】電子機器およびその制御方法
(51)【国際特許分類】
H04N 23/60 20230101AFI20241111BHJP
G02B 7/28 20210101ALI20241111BHJP
G02B 7/34 20210101ALI20241111BHJP
G03B 15/00 20210101ALI20241111BHJP
G03B 35/10 20210101ALI20241111BHJP
G03B 17/18 20210101ALI20241111BHJP
H04N 23/54 20230101ALI20241111BHJP
H04N 23/55 20230101ALI20241111BHJP
H04N 23/63 20230101ALI20241111BHJP
H04N 23/69 20230101ALI20241111BHJP
【FI】
H04N23/60
G02B7/28 N
G02B7/34
G03B15/00 T
G03B15/00 P
G03B35/10
G03B17/18
G03B15/00 H
H04N23/54
H04N23/55
H04N23/63
H04N23/69
(21)【出願番号】P 2020053141
(22)【出願日】2020-03-24
【審査請求日】2023-03-17
(31)【優先権主張番号】P 2019093914
(32)【優先日】2019-05-17
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】椿 秀敏
【審査官】吉田 千裕
(56)【参考文献】
【文献】特開2012-255777(JP,A)
【文献】特開2016-061654(JP,A)
【文献】特開2009-047495(JP,A)
【文献】特開2017-175517(JP,A)
【文献】特開2000-180137(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
G02B 7/28
G02B 7/34
G03B 15/00
G03B 35/10
G03B 17/18
H04N 23/54
H04N 23/55
H04N 23/63
H04N 23/69
(57)【特許請求の範囲】
【請求項1】
視差画像を撮影する撮像手段と、
前記撮像手段により撮影された視差画像から鑑賞画像を生成する第1生成手段と、
前記撮像手段により撮影された視差画像から距離画像を生成する第2生成手段と、
前記距離画像を用いて前記鑑賞画像に被写体に関する計測情報を取得する計測手段と、
前記第1生成手段による鑑賞画像の生成に用いられる鑑賞画像用の視差画像の取得後に、前記撮像手段を用いて前記第2生成手段による距離画像の生成に用いる距離画像用の視差画像を撮影するために、前記鑑賞画像または前記鑑賞画像用の視差画像に基づいて前記撮像手段の撮影条件の設定をアシストするアシスト手段と、
前記撮像手段により、先に撮影した鑑賞画像用または距離画像用の視差画像と、前記先に撮影した鑑賞画像用または距離画像用の視差画像の取得後に前記撮像手段から取得される視差画像とに基づいて、前記撮像手段の、前記先に撮影した鑑賞画像用または距離画像用の視差画像を取得した時の第1の位置姿勢に対する位置姿勢を推定する推定手段と、
を備え、
前記アシスト手段は、前記撮像手段が予め定められた所定範囲の焦点距離の場合に、所定範囲外の焦点距離になるようにアシスト
し、
前記アシスト手段は、前記推定手段により推定された位置姿勢に基づいて、前記撮像手段の位置姿勢を誘導し、
前記アシスト手段は、前記推定手段により推定された位置姿勢と前記撮像手段の焦点距離に基づいて、前記鑑賞画像に対応する画角の距離画像を取得できるようにアシストする
ことを特徴とする電子機器。
【請求項2】
前記アシスト手段は、前記撮像手段における絞り値、シャッタースピード、ISOゲイン、露出補正、焦点距離、パターン投光の有無の少なくとも何れかを自動的に調整することを特徴とする請求項1に記載の電子機器。
【請求項3】
前記撮像手段は、異なる2つ以上の分割瞳領域を有する光学系を通過した光学像から視差画像を撮影することを特徴とする請求項1
又は2に記載の電子機器。
【請求項4】
視差画像を撮影する撮像手段を備えた電子機器の制御方法であって、
前記撮像手段により撮影された視差画像から鑑賞画像を生成する第1生成工程と、
前記撮像手段により撮影された視差画像から距離画像を生成する第2生成工程と、
前記距離画像を用いて前記鑑賞画像に被写体に関する計測情報を取得する計測工程と、
前記第1生成工程による鑑賞画像の生成に用いられる鑑賞画像用の視差画像の取得後に、前記撮像手段を用いて前記第2生成工程による距離画像の生成に用いる距離画像用の視差画像を撮影するために、前記鑑賞画像または前記鑑賞画像用の視差画像に基づいて前記撮像手段の撮影条件の設定をアシストするアシスト工程と、
前記撮像手段により、先に撮影した鑑賞画像用または距離画像用の視差画像と、前記先に撮影した鑑賞画像用または距離画像用の視差画像の取得後に前記撮像手段から取得される視差画像とに基づいて、前記撮像手段の、前記先に撮影した鑑賞画像用または距離画像用の視差画像を取得した時の第1の位置姿勢に対する位置姿勢を推定する推定工程と、
を備え、
前記アシスト工程は、前記撮像手段が予め定められた所定範囲の焦点距離の場合に、所定範囲外の焦点距離になるようにアシスト
し、
前記アシスト工程は、前記推定工程により推定された位置姿勢に基づいて、前記撮像手段の位置姿勢を誘導し、
前記アシスト工程は、前記推定工程により推定された位置姿勢と前記撮像手段の焦点距離に基づいて、前記鑑賞画像に対応する画角の距離画像を取得できるようにアシストする
ことを特徴とする電子機器の制御方法。
【請求項5】
コンピュータを、請求項1乃至
3のいずれか1項に記載された電子機器の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像機能を有する電子機器およびその制御方法に関する。
【背景技術】
【0002】
撮像装置により撮影された画像上で長さや面積を計測する画像計測機能が普及しつつある。このような画像計測機能は、とくにカメラ機能を有するスマートフォンなどにおいて普及が加速している。画像計測機能は、例えば、撮影した画像上でユーザが指定した被写体上の2点間の3次元空間上の長さを測距する技術である。そのような画像計測機能の用途としては、例えば、リビングなどの部屋の一辺の長さを計測したり、家具の収納可能サイズを計ったりすることなどが考えられる。
【0003】
例えば特許文献2には、撮影した鑑賞画像に計測結果をオーバーレイして撮影後にプレビュー表示、結果確認できる技術が公開されている。しかし、特許文献3に示されるように、撮影後に計測失敗を通知されても全てを再撮影するしかない。
【0004】
一方、画像測距機能を安価に実現するための代表的な手段であるステレオカメラを更にコンパクトにする撮像装置の光学系の工夫として、瞳分割光学系が知られている。瞳分割光学系とは、撮像素子上の1つのマイクロレンズの下に複数の光電変換部を形成し、光学系の瞳を通過する被写体光束を複数の光束に分割して複数の光電変換部に届けることで、視差画像を一度に撮影可能にする光学技術である。特許文献1には、瞳分割光学系やステレオカメラの眼数を増やし、多視点画像から画像測距を実現するとともに、撮影していない視点であたかも撮影したようなカラー画像及び距離画像の自由視点画像を生成する構成が記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特表2014-535191号公報
【文献】特開2008-042580(実施形態で参照される
【文献】特開2019-045249(実施形態で参照される)
【非特許文献】
【0006】
【文献】"コンピュータビジョン最先端ガイド3 第2章ICPアルゴリズム",増田健 P.P.33-62(実施形態で参照される)
【発明の概要】
【発明が解決しようとする課題】
【0007】
撮影の主役である鑑賞画像およびその撮影条件が必ずしも計測に適さない場合があるという課題に対処する。
撮影の主役である鑑賞画像は、撮影時の照明や自然光の具合、空気の揺らぎ、ノイズ感など偶発的要素も含めて評価される瞬間を切り取った1点もので、たとえ計測が失敗した場合であってもどうしてもその画像を使いたいことがある。また鑑賞画像は主観で評価されるため成功の許容幅が大きいことが多い。しかし他方で計測データは、例えば観賞像を選択もしくは生成する複数枚の視差画像を基に距離画像を生成して計測処理を行う画像ベースの手法の場合、手振れや焦点ボケ、ノイズの影響を受けて距離画像の生成もしくは計測を失敗しやすい。また、観賞像の質を向上するために撮影技法を凝らして動き・焦点ボケを加えたり・大きなプラスやマイナスの露出補正を加えて計測撮影の最適条件から外して撮影する場合がある。この場合には、何度再撮影を繰り返しても計測に失敗する、または満足のいく計測結果が得られない、逆に撮影条件を計測に最適に変更して再撮影し計測は成功しても、鑑賞画像の撮影条件が当初の撮影意図から乖離して満足な鑑賞画像が得られないという課題がある。
【0008】
また、瞳分割光学系を用いた撮像系(瞳分割撮像系)による画像測距技術を撮像装置の画像計測機能として使う場合、特に室内計測に利用しようとした場合に次のような課題が生じる。すなわち、瞳分割光学系は広角レンズまたはズームレンズの広角域において焦点距離が短くなると、基線長が短くなったり、歪曲等収差や周辺光量落ちの影響で測距精度が悪くなったり、測距自体が困難になったりするなど、画像測距に悪影響が出る。そのため、レンズの広角域を用いた瞳分割撮像系の画像測距機能を使って画像計測を行うことが難しくなる。結果、広角のカラー画像撮影と画像測距のための距離画像撮影とは別撮影となってしまう。その結果、カラー画像と距離画像の合わせ込みや編集などの後作業が必要となり、余計なコストが必要になったり、人的ミスが入り込む余地が生まれたりする。
【0009】
特許文献1では、自由視点画像を生成することにより、上述した課題の解決を試みている。しかしながら、自由視点画像の生成では、撮影した視点から自由視点画像の視点が離れてしまうとアーティファクトの発生により急速にカラー画像の画質が落ちてしまう。したがって、任意の構図や画角に対して高画質の撮影画像と高い精度の距離画像の対が得られないという課題が依然としてある。
【0010】
本発明は、良好な画質の撮影画像と良好な精度の距離画像の対を容易に取得できるようにするための技術を提供する。
【課題を解決するための手段】
【0011】
本発明の一態様による電子機器は以下の構成を備える。すなわち、
視差画像を撮影する撮像手段と、
前記撮像手段により撮影された視差画像から鑑賞画像を生成する第1生成手段と、
前記撮像手段により撮影された視差画像から距離画像を生成する第2生成手段と、
前記距離画像を用いて前記鑑賞画像に被写体に関する計測情報を取得する計測手段と、
前記第1生成手段による鑑賞画像の生成に用いられる鑑賞画像用の視差画像の取得後に、前記撮像手段を用いて前記第2生成手段による距離画像の生成に用いる距離画像用の視差画像を撮影するために、前記鑑賞画像または前記鑑賞画像用の視差画像に基づいて前記撮像手段の撮影条件の設定をアシストするアシスト手段と、
前記撮像手段により、先に撮影した鑑賞画像用または距離画像用の視差画像と、前記先に撮影した鑑賞画像用または距離画像用の視差画像の取得後に前記撮像手段から取得される視差画像とに基づいて、前記撮像手段の、前記先に撮影した鑑賞画像用または距離画像用の視差画像を取得した時の第1の位置姿勢に対する位置姿勢を推定する推定手段と、
を備え、
前記アシスト手段は、前記撮像手段が予め定められた所定範囲の焦点距離の場合に、所定範囲外の焦点距離になるようにアシストし、
前記アシスト手段は、前記推定手段により推定された位置姿勢に基づいて、前記撮像手段の位置姿勢を誘導し、
前記アシスト手段は、前記推定手段により推定された位置姿勢と前記撮像手段の焦点距離に基づいて、前記鑑賞画像に対応する画角の距離画像を取得できるようにアシストする。
【発明の効果】
【0012】
本発明によれば、良好な画質の撮影画像と良好な精度の距離画像の対を容易に取得することができる。
【図面の簡単な説明】
【0013】
【
図1】実施形態による撮像装置の構成例を示すブロック図。
【
図2A】(a)~(b)は、瞳分割撮像系を説明する図。
【
図2C】(a)~(c)は、瞳分割撮像系を説明する図。
【
図3】第1実施形態による画像計測のための処理を示すフローチャート。
【
図4】(a)は測距演算処理を示すフローチャート、(b)は2点間の長さを計測する画像計測処理を示すフローチャート、(c)は領域の面積を計測する画像計測処理を示すフローチャート。
【
図5】デフォーカス量から距離値への変換方法を説明する図。
【
図6A】(a)~(c)は、距離画像撮影におけるカメラアシストを説明する図。
【
図6B】(a)~(d)は、距離画像撮影におけるカメラアシストを説明する図。
【
図8B】(a)~(b)は、距離画像に対する視点変換を説明する図。
【
図9A】(a)~(b)は、視点変換におけるオクルージョンの発生例と対処法を説明する図。
【
図9B】(a)~(d)は、視点変換におけるオクルージョンの発生例と対処法を説明する図。
【
図10】(a)~(c)は、測定開始点および測定終了点を指定する手順を説明する図。
【
図11】(a)~(d)は、ポインティング位置に距離値がない場合の処理を説明する図。
【
図12】(a)~(c)は、面積算出範囲の指定の様子を説明する図。
【
図13】第2実施形態における撮影及び画像計測手順のフローチャート。
【
図14】距離画像撮影におけるカメラアシストの様子を説明する図。
【
図15】第3実施形態による撮像装置の構成例を示すブロック図。
【
図17】第3実施形態による撮影及び画像計測の処理を示すフローチャート。
【
図18】第3実施形態による撮影アシストの一例を説明する図。
【
図19】第4実施形態による撮像装置の構成例を示すブロック図。
【
図21】第4実施形態による撮影及び画像計測の処理を示すフローチャート。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0015】
<第1実施形態>
図1は第1実施形態における電子機器の一例としての撮像装置100の構成例を示すブロック図である。撮像装置100は、光学系101、撮像部102、制御部110、表示部120を有する。制御部110は、例えば1つ以上のプロセッサ(例えば、CPU:Central Processing Unit)を有し、所定のプログラムを実行することにより、撮像装置100の種々の機能を実現する。本実施形態では、制御部110は、距離画像算出部103、光学系制御部104、アシスト部105、画像計測部106の機能を有する。なお、制御部110は、これら機能の一部あるいはすべてを専用のハードウェアにより実現するようにしてもよい。表示部120は、制御部110の制御下で種々の表示を行う。なお、表示部120は、ディスプレイにタッチパネルが積層され、表示出力を行うとともにユーザ入力を受け付ける入力装置として機能するようにしてもよい。
【0016】
光学系101は、被写体10から放射された光を結像させるコンポーネントであり、複数枚のレンズおよびミラーを具備する。光学系101は、分割瞳領域を有する瞳分割光学系である。撮像部102は、分割瞳領域を有する光学系101を通過して結像された光学像を受光し電子像(視差画像)に変換するコンポーネントである。撮像部102の受光面上に形成された1つのマイクロレンズ下に複数の光電変換部を形成して光学系の瞳を通過する被写体光束を2つ以上に分割すると、視差画像を一度に撮影することが可能となる。このような撮像系を瞳分割撮像系と呼ぶ。
【0017】
光学系101と撮像部102により構成される瞳分割撮像系について
図2A、
図2B、
図2Cを用いて説明する。
図2A(a)には被写体10、結像光学系201、結像光学系の光軸202、撮像素子203、演算処理部204が図示されている。撮像素子203は
図2A(b)に示すように、xy平面上に配列された多数の画素210R、210G、210Bが並置されて構成されている。以下、
図2C(a)に示すように瞳分割が2視点の場合を説明する。
【0018】
それぞれの画素210は、
図2Bに示す断面図のようにマイクロレンズ211、カラーフィルタ222R、222G、222B、光電変換部210Ra、210Rb、210Ga、210Gb、210Ba、210Bb、導波路213、を有する。撮像素子203の各画素には、検出する波長帯域に応じた分光特性がカラーフィルタ222R、222G、222Bによって与えられ、それぞれの画素は、主として赤光、緑光、青光を取得する。複数の画素は、例えば
図2A(b)に示されるような公知の配色パターンによってxy平面上に配置されている。基板224は、検出する波長帯域で吸収を有する材料、例えばSiであり、イオン打ち込みなどで、内部の少なくとも一部の領域に光電変換部が形成される。各画素は、図示しない配線を備えている。
【0019】
射出瞳230は異なる領域(分割瞳領域)である第1の瞳領域231aと第2の瞳領域231bを有する。光電変換部210Xa(X=R,G,B)および光電変換部210Xbのそれぞれには、射出瞳230の第1の瞳領域231aを通過した光束232aおよび第2の瞳領域231bを通過した光束232bが入射する。光電変換部210Xa、210Xbは、それぞれ第1の信号および第2の信号を得る。A像を形成する第1の信号を取得する光電変換部をA画素と呼び、B像を形成する第2の信号を取得する光電変換部をB画素と呼ぶ。それぞれの光電変換部210で取得された信号は、演算処理部204に伝送される。演算処理部204は、それぞれの光電変換部210で取得された信号から視差画像、及び、撮影画像としてのカラー画像を生成、出力する。なお、視差画像を構成する複数の画像のうちの一つが撮影画像として用いられてもよいし、視差画像を構成する複数の画像の合成により撮影画像が生成されてもよい。
【0020】
図2C(a)は撮像素子203上のマイクロレンズ211毎の画素構造を光軸の入射方向から見た光電変換部210Raと210Rb、210Gaと210Gb、210Baと210Bb、の各A画素とB画素の配置を示した図である。これは、水平または垂直方向に2視点の場合の一例である。
図2C(b)に示した画素構造は、1つの画素が4つの光電変換部を有する、水平および垂直方向に瞳分割した場合の例である。光電変換部の分割数を更に増して視点数を増加させてもよい。
【0021】
また、
図2C(c)は
図2A(a)の光軸202と撮像素子203の交点(中心像高)から、結像光学系201の射出瞳230を見た図である。光電変換部210Xaおよび光電変換部210Xbには、それぞれ射出瞳230の分割瞳領域の一つである第1の瞳領域231aを主に通過した第1の光束232aと、分割瞳領域の一つである第2の瞳領域231bを主に通過した第2の光束232bが入射する。
図2C(c)において241は第1の瞳領域231aの重心位置(第1の重心位置)を示し、251は第2の瞳領域231bの重心位置(第2の重心位置)を示している。本実施形態においては、第1の重心位置241は、射出瞳の中心から
図2C(c)中のx軸方向に延びる第1の軸200に沿って偏心(移動)している。一方、第2の重心位置251は、第1の軸200に沿って、第1の重心位置241とは逆の方向に偏心(移動)している。第1の重心位置241と第2の重心位置251とを結ぶ方向を瞳分割方向と呼ぶ。また、重心位置241と重心位置251との重心間距離が基線長262となる。基線長262は画素の入射角に対する感度分布を射出瞳230面上に投影した瞳感度分布の重心間隔に相当する。
【0022】
A像とB像は、デフォーカスによって瞳分割方向と同じ方向(本実施形態ではx軸方向)に位置が変化する。この画像間の相対的な位置変化量、すなわちA像とB像の視差量は、デフォーカス量に応じた量となる。よって、この視差量を後述の手法により取得し、既知の変換手法によって視差量をデフォーカス量又は距離に変換することができる。
【0023】
演算処理部204は、伝送されたアナログ信号をデジタル信号に変換して画像信号を得る。この際、演算処理部204は、アナログ信号(電子像)に対して相関二重サンプリング(CDS)によるノイズ除去、オートゲインコントロール(AGC)によるゲインアップを用いた露出制御、黒レベル補正、A/D変換等の基礎的な処理を行う。演算処理部204による処理はアナログ信号に対する前処理が主であるため、一般的に演算処理部204内の主要部はAFE(アナログフロントエンド)とも呼ばれる。
【0024】
一方、デジタル出力センサと対で使われるものはDFE(デジタルフロントエンド)と呼ばれることがある。演算処理部204は、別途、ベイヤー配列補間等によるカラー画像生成、距離画像算出部103への入力画像に対しての輝度画像変換を行っても良い。後者の輝度画像変換は、距離画像算出向けの簡易レベルであっても良い。また、距離画像算出の精度やロバスト性を向上させるために、演算処理部204は、ローパス、ハイパス等のフィルタリング処理、トーンマッピング等の諧調調整処理をおこなっても良い。演算処理部204は、アシスト部105や画像計測部106における表示用の画像、最終出力の画像などを生成する際に、複数枚の視差画像のいずれかを選択するようにしてもよいし、複数枚の視差画像を混合してカラー画像を生成するようにしてもよい。
【0025】
図1に戻り、距離画像算出部103は、撮像部102から出力される視差画像を入力として距離画像を算出するコンポーネントである。光学系101のズーム状態から規定される焦点距離や絞り値などのカメラパラメータ、撮像素子203の画素ピッチなどの撮像素子情報が含まれる撮影情報を基に距離画像を生成する。光学系制御部104は、光学系101のズームを制御するコンポーネントである。
【0026】
アシスト部105は、ユーザが第1の位置姿勢とは異なる第2の位置姿勢へ撮像装置100を移動させるためのアシストを提示するコンポーネントである。アシスト部105は、例えば、ズームの広角側でカラー画像を撮影した際に、広角過ぎて距離画像を生成できない場合に、光軸方向と画角が略一致する距離画像を撮影することが可能な位置姿勢に撮像装置100を誘導アシストする。画像計測部106は、画角が略一致するカラー画像と距離画像の対を用いて、撮像装置100のユーザに画像計測機能を提供するコンポーネントである。
【0027】
以上のような構成を備えた撮像装置100による画像計測の動作について説明する。
図3は、第1実施形態による撮影及び画像計測の手順を示すフローチャートである。S301において、制御部110は、ユーザによる撮像装置100のシャッター(不図示)の押下に応じて、光学系101と撮像部102を用いてカラー画像を撮影する。ユーザは、シャッター操作により、画像計測をしたい構図のカラー画像(換言すると、対となる距離画像が取得されるカラー画像)を撮影することができる。S302において、制御部110は、S301で撮影されたカラー画像が、距離画像の算出が可能なカラー画像か否かを判定する。制御部110は、カラー画像の撮影時において、画像測距が不能なズーム状態、または、ぎりぎり画像測距ができても距離情報の信頼度が低いズーム状態であった場合には、距離画像の算出ができないと判定する。
【0028】
S302で距離画像の算出が可能であると判定された場合(S302でYES)、処理はS308へ進む。すなわち、S301で撮影されたカラー画像から適切に距離画像を生成することが可能なズーム状態であった場合には、別途に距離画像を取得するための視差画像の撮影を行う必要がないのでS303~S307をスキップする。一方、S302で距離画像の算出ができないと判定された場合(S302でNO)、処理はS303へ進む。S303~S307において、制御部110は、距離画像の撮影を別途行う。
【0029】
S303において、アシスト部105は、撮像装置100の現在の位置姿勢を、S301で撮影した画像と、S301における視差画像の取得後(撮影後)に取得した画像(本実施形態ではライブビューのために取得した画像)に基づいて推定する。S304において、アシスト部105は、推定された現在の位置姿勢に基づいて、距離画像の撮影に適した撮影位置へ撮像装置100を移動するようにユーザをアシストする情報を生成し、提示する。本実施形態では、アシスト部105は、表示部120にアシストを表示する。また、S305において、アシスト部105は、撮像装置100の移動中において、S301での撮影時の画角を維持するために、光学系制御部104を介して光学系101のズーム状態(焦点距離)を制御する。S306において、アシスト部105は、距離画像を算出可能な撮影位置に撮像装置100が移動したか否かを判断する。撮像装置100が距離画像を算出可能な撮影位置にないと判断された場合(S306でNO)、処理はS303に戻り、上述の処理が繰り返される。他方、S303で撮像装置100が距離画像を算出可能な撮影位置にあると判断された場合(S306でYES)、処理はS307へ進む。
【0030】
S307において、撮像部102は、距離画像を取得するための画像を撮影する(距離画像撮影)。この撮影は、アシスト部105が距離画像を取得可能な状態であることを認識したことに応じて(S306でYESになったことに応じて)自動的に実行されてもよいし、アシスト部105によるアシスト表示に従ったユーザ操作(例えば、シャッター操作)に応じて実行されてもよい。そして、S308において、距離画像算出部103は、S301またはS307の撮影で得られた視差画像から距離画像を生成(測距演算処理)する。距離画像の生成については
図4(a)のフローチャートにより後述する。S309において、画像計測部106は、S301で撮影されたカラー画像とS308で生成された距離画像とを用いて画像計測を行う。画像計測については
図4(b)、
図4(c)のフローチャートにより後述する。
【0031】
次に、測距演算処理を説明する。ここではA像とB像の2枚の画像からなる視差画像が得られたとして説明する。測距演算処理の基本フローチャートの一例を
図4(a)に示す。
【0032】
S401において、距離画像算出部103は、第1の信号の像であるA像と第2の信号の像であるB像の間の相対的な位置ズレ量である像ズレ量を算出する。像ズレ量の算出には公知の手法を用いることができる。例えば、次の(数1)を用いて、A像とB像の像信号データA(i)、B(i)から相関値S(r)を算出する。
【数1】
【0033】
(数1)において、S(r)は像シフト量rにおける2つの像の間の相関度を示す相関値、iは画素番号、rは2つの像の相対的な像シフト量である。p及びqは、相関値S(r)の算出に用いる対象画素範囲を示している。相関値S(r)の極小値を与える像シフト量を求めることで像ズレ量を算出することができる。なお、像ズレ量の算出方法は、上述の方法に限定されるものではなく、他の公知の手法が用いられてもよい。
【0034】
S402において、距離画像算出部103は、像ズレ量を用いて被写体距離を算出する。距離画像算出部103は、まず、S401で求めた像ズレ量から距離情報であるデフォーカス量を算出する。被写体10の像は、結像光学系201を介して撮像素子203に結像される。
図2A(a)では射出瞳230を通過した光束が結像面207で焦点を結び、焦点がデフォーカスした状態を示している。尚、デフォーカスとは結像面207と、撮像面(受光面)とが一致せず、光軸202方向にズレた状態のことをいう。デフォーカス量は、撮像素子203の撮像面と結像面207との間の距離を示す。距離画像算出部103は、デフォーカス量を被写体距離に変換することで距離画像を得る。
【0035】
図5に示す簡略化した撮像装置100の光学配置を用いて、デフォーカス量から距離値への変換方法の一例を説明する。
図5は、被写体10が撮像素子203にデフォーカスした状態の光束232を示しており、
図2A(a)と同様の要素には同じ参照番号を付してある。
図5では、
図2A(a)に示した光軸202、結像面207などに加えて、開口絞り208、前側主点205、後側主点206が示されている。また、rは像ズレ量、Wは基線長、pは撮像素子203と射出瞳230の間の距離、Zは結像光学系201の前側主点205と被写体10の間の距離、Lは撮像素子203(撮像面)から射出瞳230までの距離、ΔLはデフォーカス量である。
【0036】
本実施形態の撮像装置100では、このデフォーカス量ΔLに基づいて被写体10までの距離が検出される。画素210の各光電変換部で取得した、第1の信号に依拠するA像と、第2の信号に依拠するB像との相対的位置ズレを示す像ズレ量rと、デフォーカス量ΔLとは、以下の(数2)の関係を有している。
【数2】
【0037】
(数2)は、換算係数Kを用いて、以下の(数3)のように簡略化して書くことができる。換算係数Kとは、像ズレ量rをデフォーカス量ΔLに変換する係数である。換算係数は、例えば、比例定数あるいは基線長Wのことを言う。以降、基線長Wの補正は換算係数の補正と等価である。なお、デフォーカス量の算出方法は、本実施形態の方法に限定されるものではなく、他の公知の手法を用いてもよい。
【数3】
【0038】
さらにデフォーカス量から被写体距離への変換は、結像光学系201と撮像素子203の結像関係(数4)を用いて行うことができる。あるいは、変換係数を用いて、像ズレ量から直接被写体距離に変換するようにしても良い。なお、(数4)においてfは焦点距離である。
【数4】
【0039】
入力された視差画像間、例えばA像とB像について、例えば全ての画素についてデフォーカス量を求めることで、入力画像に対応したデフォーカスマップを算出することができる。そして、算出されたデフォーカスマップを上記(数4)の関係により変換することで対応する距離画像を算出することができる。
【0040】
しかしながら、光学系ズーム域のより広角・短焦点側になってくると歪曲収差の影響により周辺画角が強く圧縮されて画像上のズレ量rとデフォーカス量ΔLの関係が像高に依存して大きく変化する。また、ズーム状態が広角・短焦点側になると、cos4乗則やケラレによる周辺光量落ちの影響を受けやすくなる。すると視差のあるA像とB像の間で、同一被写体の射像であっても相関の度合いや信頼度が低くなってしまう。また基線長も著しく短くなるため測距精度も低下してしまう。そのためズーム光学系の広角側(短焦点側)のズーム域で撮影が行われた場合、得られた距離画像を画像計測に利用することが難しくなる。
【0041】
そこでユーザに精度の悪い画像計測結果を与えないように測距が不能となるズーム域を設定する。この場合、広角側で撮影した画像を用いた画像計測ができなくなってしまう。
図3のフローチャートにより説明したように、ユーザが、画像計測をしたい構図のカラー画像を撮影すると、距離画像算出部103は、撮像部102より得られた視差画像を用いて、前述の手順で距離画像の算出を試みる。しかしながら、ズーム状態が測距不能域にある場合(S302でYES)は、視差画像から距離画像を生成することはできない。
【0042】
したがって、処理はS303以降に遷移して、ユーザに別途距離画像を撮影させる。このとき、ユーザは、アシスト部105の助けを借りて、撮像装置100の撮影位置とズーム状態を変更し、S301で撮影されたカラー画像に画角が略一致する距離画像を撮影する。この場合、ズーム状態を長焦点距離側に変更することでカメラの画角を維持しながら後方に下がることとなる。このようなズーム変更と撮影位置の変更の組み合わせを一般的にはドリーアウトと呼ぶ。以下、
図6A、
図6Bを参照してドリーアウトによる距離画像撮影におけるカメラアシストを説明する。
【0043】
図6A(a)はズームをそのままに後退した時の画角の状態を示す図である。被写体10は面を撮像装置側に向けた平面被写体であり、説明の簡単化のために面法線は撮像装置100の光軸方向に略一致しているとする。C
1は移動前の視点位置(撮影位置)、C
2は移動後の視点位置(撮影位置)を表す。601は撮影画角を表す線分である。
図6A(a)のように、焦点距離を変化させずに撮像装置100を撮影位置C
1から撮影位置C
2に移動してそれぞれ撮影を実行したとする。この場合、撮像装置100の撮影画角は変わらないため、撮影した2視点間の撮影画角に収まるシーンは大きく変化してしまう。602はC
1で撮影した画像、603はC
2で撮影した画像である。同じ被写体10を撮影しても、画像602、画像603の画像内では被写体10の大きさや映るシーンの範囲が大きく変化してしまう。以下、このようなシーンの範囲を画角とも記載する。画角は、光学系の焦点距離の調整に応じて変化する撮影画角とは区別される。
【0044】
そこで、被写体10からの距離を変化させつつズームを調整することにより、撮影画角内に映る被写体サイズを一定に保つドリーズームと呼ばれるカメラワークを用いる。
図6A(b)のように、被写体10から離れながら、ズームを望遠側に調節してシーンの写る範囲(画角)を一定に保つカメラワークのことをドリーアウトと呼ぶ。
図6A(b)はドリーアウトを用いて撮影位置を変更した場合の撮影画角の変化を示す図である。ドリーアウトでは、撮影位置C
1から撮影位置C
2へ向かって撮像装置100が移動する場合に、画像に映る像の範囲(画角)が維持されるようにズームを徐々に望遠側に変更する。ズーム状態が短焦点側の測距不能ズーム域から脱し、測距可能な撮影位置C
2に到達した時点で距離画像撮影が行われる。604で示される像に映る被写体表面の距離を基準に同一画角が撮影可能な焦点距離にズーム調整がおこなわれているとする。605は撮影位置C
2で撮影した画像である。ズームを同一の画角になるよう調節すると、画像605のように画像602と同じ被写体サイズの像が得られる。
【0045】
アシスト部105はこのようなドリーアウトのカメラワークをアシストする。
図6B(a)に示すように、アシスト部105は、S301でカラー画像を撮影した撮影位置C
1及び撮影姿勢を基にアシストを行う。606はカラー画像撮影時点でのシーンのワールド座標系におけるカメラ座標である。カメラの光軸がz軸、画像の水平・垂直方向がそれぞれx軸、y軸に対応する。607はカメラ座標606の光軸を表す補助線である。被写体10に対し撮影位置C
1で、望む画角範囲、ズーム状態では距離画像算出が不可な状態であった場合、カラー画像撮影のカメラ座標606の光軸607に対し離れる方向に移動するドリーアウトのカメラワークをアシストする。
【0046】
図6B(b)は、所望の撮影位置C
2に撮像装置100を移動し終えた状態である。画角を維持したままで十分な望遠域にズーム状態を設定できるような距離まで、カラー画像撮影時のカメラ座標606の光軸607上を、被写体10から離れる方向(撮影位置C
2の方向)に移動していく。距離画像撮影時のカメラ座標系608で表される撮像装置100の位置姿勢は、各軸がカラー画像撮影時のカメラ座標606と平行になるように光軸607の方向に略一致で平行移動させることが望ましい。
【0047】
図6B(c)は、撮像装置100の位置姿勢を
図6B(b)の状態まで持っていく過程の、カメラ位置姿勢の状態の一例を示す。撮影位置C
3は、撮影位置C
2よりも被写体10に近く、依然として距離画像算出が不可な状態である。また、撮影位置C
3のカメラ座標609は、カラー画像撮影の光軸607からずれており、さらに、撮像装置100の姿勢も傾いている。アシスト部105は、撮像装置100の姿勢修正、カラー画像撮影時の光軸の延長線上への位置移動指示に加え、距離算出可能位置への移動指示を行うことで、ユーザをアシストする。
【0048】
図6B(d)は撮像装置の位置姿勢を
図6B(b)の状態まで持っていく過程のカメラ位置姿勢の状態の別の一例を表す。撮影画角を維持してドリーアウトを続け、撮影画角を維持したまま距離画像算出が可能なズーム域で撮影可能な状態まで到達し、視点位置C
4まで移動した状態である。撮像位置C
4のカメラ座標610は光軸607からずれており、撮像装置100の姿勢も傾いている。また、
図6B(d)の場合、撮影位置C
4は測距の出来る撮影位置C
2よりもかなり被写体10から遠いため測距精度が落ちる可能性がある。したがって、この場合、アシスト部105は、撮像装置100の姿勢修正、カラー画像撮影の光軸607の延長線上への位置移動指示に加え、より近づいての撮影をユーザに勧めるアシストを行う。
【0049】
図6B(c)の状態ではまだ距離画像の算出が不可である。そのため、アシスト部105は、ライブビューで取得される複数枚の視差画像からなる画像列情報や不図示の姿勢センサ等に基づき撮像装置100の現在の位置姿勢を推定し、アシストを実行する。一方、
図6B(d)の状態では、距離画像算出部103による距離画像の算出が可能になる。アシスト部105は、画像ベースによる位置姿勢の推定に加えて、距離画像に基づく距離情報を用いて画像ベース時の位置姿勢推定のスケール確定を行い、アシストの精度やロバスト性を向上する。姿勢センサからの情報は、画像や距離画像に基づく位置姿勢推定の初期値に用いると有用である。
【0050】
アシスト部105は、表示部120への画像表示を用いてアシストを行う。
図7は、アシスト部105によるユーザへのアシストの例を説明する図である。
図7(a)は、アシスト部105による表示部120の表示制御例を説明する図である。表示部120は、ユーザにアシスト指示を通知するインターフェースとして用いられる。
図7(b)は、アシスト部105によるアシスト方法の一例を説明する図である。例えば、アシスト部105は、表示部120において、撮像装置100の回転と並進の方向を示すガイダンス(例えば図形)を表示することにより、ユーザをアシストする。なお、表示部120には、撮像部102が出力するカラー画像のライブビューが表示されており、アシスト部105は、ガイダンス(アシスト)をライブビューに重畳表示する。
【0051】
図7(b)において、指示702は撮像装置100の並進方向を知らせており、指示703は撮像装置100の回転方向を知らせている。表示が出続けている間そのカメラワークを続けるよう誘導することで操作量を知らせることができる。また、メッセージ表示704は、指示702および指示703の意味をユーザに知らせている。
図7(b)では鉛直のy軸周りの回転の指示、x軸方向およびz軸方向への並進移動の指示を例示したがこれに限られるものではない。例えば、任意の8方向または16方向への並進、任意軸周りの回転指示をアシストとして通知するようにしてもよい。
【0052】
図7(c)は、アシスト部105によるアシスト方法の別の一例を説明する図である。指示702、指示703、メッセージ表示704に加え、S301で撮影したカラー画像を半透明化させて現在のライブビュー画像に重畳表示している。この重畳表示705によって、ユーザは構図が元に撮影したカラー画像に略一致する光軸に垂直な方向及び画角を一致させる姿勢に向かっていることを確認しながら撮像装置100を動かすことができる。また
図7(d)は、アシスト方法の別の一例として音声アシストを行う様子を示している。このように、アシスト部105は、不図示のスピーカーを用いて、被写体に対して撮像装置100を向ける方向や移動方向を音声でユーザに指示するようにしてもよい。
【0053】
カメラワークのアシストでは、
図6B(a)~(d)で説明したように、S301でカラー画像を撮影したカメラ座標606の位置姿勢に対する現在のカメラ座標609またはカメラ座標610を把握する必要がある。前述のように現在のカメラ位置姿勢を推定するには、例えば画像間の相対位置姿勢推定が用いられる。アシスト部105は、撮影位置C
1で撮影したカラー画像に対するライブビュー撮影画像の相対位置姿勢を推定することで現在のカメラ位置姿勢を推定し、アシストに用いる。
【0054】
図6A(c)を用いてドリーズームのカメラワークにおける距離画像撮影のタイミングを説明する。まず、S301でカラー画像を撮影した撮影位置C
1において、距離画像算出が不可なほど広角で撮影していたとする。この場合、光軸607上を画角範囲を維持したままドリーアウトのカメラワークにより徐々にズーム状態を望遠に遷移させても、しばらくは距離画像算出不可なズーム域611が続く。このズーム域611を越えるとズーム値による制約が解けて距離画像算出が可能となる。この時点で距離画像は算出可能となるため撮影を行ってもよい。
【0055】
しかし、距離画像算出が可能とはなるが、歪曲やケラレ、cos4乗則、シェーディングなどの影響で距離画像中の測距値の信頼度が全体的に低い状態のズーム域612が続く。さらにドリーアウトすることで、距離画像内のより多くの領域で信頼度の高い距離値を得ることができるため、ドリーアウトを継続することが好ましい。ズーム域612を越えてドリーアウトのカメラワークによりさらにズーム状態を望遠に遷移させると、信頼度高く距離画像を撮影できるズーム域613に到達する。したがって、撮像位置がズーム域613に達した後、距離画像を撮影することが好ましい。適切な撮影のタイミングを判別するため、測距できた画素の信頼度の平均値などに閾値を設定して判定を行ってもよい。なお、ドリーアウトのカメラワークをさらに続けてズーム状態を望遠に遷移させてもよい。しかし、基線長を幾分稼げるようになる一方、後述の測定誤差に影響を及ぼす、被写体距離の物理パラメータが悪化してしまうことから、必要以上にドリーアウトのカメラワークを続けるのは好ましくない。
【0056】
次に、2つの画像(本実施形態では、S301で撮影された画像とその後に取得されるライブビュー画像)に基づく相対位置姿勢の算出について説明する。まず、画像間の相対位置姿勢を算出するために、それぞれの画像中で特徴点を抽出する。特徴点の抽出は、異なる画像から同じ特徴点を見つけ出すためのSIFT(Scale-Invariant Feature Transform)法、SURF(Speeded-Up Robust Features)法、BRIEF(Binary Robust Independent Elementary Features)法、ORB(oriented BRIEF)法などが用いられ得る。各画像で得られた特徴点同士を特徴点の記述子または識別子間で内積を取ることにより画像間での対応点を求めていく。
【0057】
特徴点の抽出に古典的なHarris特徴を用いたり、画像間の対応点探索にテンプレートマッチングの一種であるブロックマッチングを用いたりしてもよい。相対位置姿勢を求める画像間で対応点が得られたら、基本行列を求めて位置姿勢情報に変換する。ここで、ある空間点Pのフレームiにおける画像への射像はp
iである。K
iはiフレームのカメラ内部パラメータであるとする。p、qを画像座標、x、yを正規化座標とすると、正規化座標は以下の(数5)、(数6)のように定義される。
【数5】
【数6】
【0058】
ここでfiはズーム状態により刻々と変化するiフレーム撮影時の光学系101の焦点距離である。Cx、Cyは光軸と画像の交点である画像中心である。正規化された2フレーム間の対応点を用いて撮像装置の相対位置姿勢を求めることができる。
【0059】
ここで例えば空間点Pのフレーム1における射像をp
1、フレーム2における射像をp
2とすると、(数7)のようになる。
【数7】
ここでx
1及びx
2は以下の(数8)に示す斉次関係を満たす。
【数8】
また、エピポーラ制約は以下の(数9)のように記述できる。
【数9】
【0060】
もし、基本行列が以下の(数10)のように定義されるなら、(数11)の関係を得る。
【数10】
【数11】
【0061】
ここで、(数12)と(数13)により表されるEの性質から、(数14)(数15)により基本行列Eを求めることができる。(数14)(数15)の添字は画像のフレーム番号ではなく同一画像内での特徴点、対応点の識別番号である。"'"の有無により、基準となるフレームと相対位置姿勢を求める参照フレームとを区別している。
【数12】
【数13】
【数14】
【数15】
【0062】
(数10)の定義、および2つのカメラ間のモーションを[I|0]、[R|t
→]とすると、E行列分解より(数16)、(数17)が得られ、Rとtを(数18)、(数19)のように復元できる。
【数16】
【数17】
【数18】
【数19】
【0063】
(数18)と(数19)により4つの解の組み合わせがあり得るが1つの組み合わせのみ意味がある。正しい解の組み合わせを求めるため、対応点を用いてデプス正制約テストを行う。P=[I|0]、P'=[R|t
→]として、対応点を用いた以下の(数20)に基づく逆投影を行い、三角視(数21)により空間点Xを得る。ここでP
iはPの行ベクトルである。得られた対応点に対応する空間点Xのz座標に最も正符号が多い解の組み合わせが幾何学的に正しいR、t
→の解として得られる。
【数20】
【数21】
【0064】
以上で述べた手法により、特定の画像間の相対位置姿勢を求めることができる。すなわち、基準となるカラー画像と現在のライブビューによる画像の間の相対位置姿勢を求めることができる。もしくは隣接フレーム間の相対位置姿勢の積分によって目当てのフレーム間の相対位置姿勢を求めることができる。これによりS301でカラー画像を撮影したカメラ座標の位置姿勢に対するライブビュー状態の現在のカメラ座標の位置姿勢を求めることができる。但し、t→はスケールのない2自由度である。
【0065】
以上で述べたように撮像装置の相対位置姿勢の算出値が得られる。アシスト部105は、ライブビュー画像を入力として、カラー画像撮影時のカメラ座標を基準にした撮像装置100の姿勢の変化と光軸607に対して垂直な方向の位置ずれを逐次補正し、理想的なドリーアウトカメラワークを実現するようにアシストを行う。つまり、アシスト部105は、カラー画像撮影時のカメラ座標とライブビュー画像を提供する現在のカメラ座標の間の位置姿勢の関係が、以下の(数22)に近づくように撮像装置100の位置と姿勢についてアシストを行う。
【0066】
【数22】
但し、Iは単位行列、mは任意のスカラー数である。
【0067】
また、アシスト部105は、撮像装置100のドリーアウトのカメラワークに伴うズームの操作を、基準となるカラー画像とライブビュー状態の現在の画像間で得られた対応点の関係に基づいて行う。すなわち、アシスト部105は、姿勢のずれRT及び位置のずれから光軸方向の変位を除いたずれ量-RTt→のx成分及びy成分、画像の焦点距離f'に基づき、ライブビュー側の画像点p'→を3次元的に幾何変換する。そして、アシスト部105は、画像点p'→とカラー画像撮影時の画像点p→の対応点とが像面座標で一致するようにズームをフィードバックで自動調整していく。
【0068】
つまり、S301でカラー画像を撮影した後、ドリーアウトのカメラワークに基づいてユーザが被写体から離れる方向に後退すると、対応点の関係から画角に対する像のサイズが変化しないようにズームが自動調整される。本実施形態のアシスト部105は、画角に対する像のサイズが変化しないよう、上記に基づいて、光学系制御部104に制御コマンドを送信してズームを調整する。
【0069】
また、ドリーアウトのカメラワークに基づきユーザが移動することにより距離画像を生成可能なズーム域まで撮影位置が移動する途中でユーザの意図しないカメラワークやズーム操作により維持していた撮影画角から外れて被写体をロストしてしまうことがある。その場合、S301で撮影したカラー画像から抽出した特徴点とライブビューで入力されてくる画像の特徴点を照合することで復帰が可能となる。
【0070】
さらに、
図6B(d)に示される撮像装置100の位置の状況では、カラー画像撮影時の画角を維持したままで距離画像算出が可能なズーム域に撮影位置が移動している。そのため、撮影位置の移動アシストのための撮像装置100の位置姿勢推定に、ライブビューの画像について算出した距離画像を利用することができる。
【0071】
例えば、直前まで前述の画像から抽出した特徴点ベースで位置姿勢推定を行っていた場合、位置に関する推定tはスケール不定であったがこのスケールを確定できる。具体的には任意の画像間、例えば、S301で撮影したカラー画像と現在のライブビュー画像の間で特徴抽出を実行し、相対位置姿勢を算出した場合を考える。この場合、対応した特徴点の逆投影から得られる被写体に対応する空間点Pの距離、及び相対位置tの間でスケールが不定となる。したがって、画像の特徴点ベースのアシストでは、例えばアシスト中のカメラが絶対量でどれほど光軸から垂直な方向に位置ずれを起こしているのかが不定となる。しかしながら、得られた距離画像を特徴点から抽出した空間点Pと対応付けることで、空間点に対するスケールを確定することができ、次に相対位置tのスケールを確定することができる。これにより、アシスト部105は、光軸から垂直な方向に現在の撮像装置がどれだけずれているかを絶対量でユーザに告知してアシストすることが可能となる。
【0072】
また、ライブビューから得られる現在のカラー画像と対応する形で逐次に距離画像が得られるため、この距離画像を用いて位置姿勢推定を行うこともできる。例えば、S301で撮影したカラー画像と現在のライブビューの画像の間で特徴抽出を実行し、相対位置姿勢の算出、三角視による特徴点に対応する空間点Pを算出する。次に、前述のように、現在のライブビューの画像に対応する算出された距離画像を用いて、(数21)で求まる空間点Pの空間位置Xと相対位置tを実スケールに変換する。この空間点Pの3次元座標Xと、対応する基準のカラー画像もしくは現在のライブビュー画像からの特徴点との組を種として、距離画像を利用したよりロバストで高精度な実スケールの撮像装置の位置姿勢推定が可能となる。
【0073】
具体的には、上述の種を取得した次のタイミング以降において、ライブビューから出力されるカラー画像と距離画像の対に基づいて、まず、カラー画像から特徴点を抽出する。そして特徴点を距離画像に基づいて空間点に逆投影してP'を得る。過去に算出した種の空間点との3次元位置合わせを、画像間の特徴点の対応付けを補助情報として用いて実施することでよりロバスト、より高精度に位置姿勢推定が可能となる。これにより、S301で撮影したカラー画像のカメラ座標606と現在のライブビュー状態の画像のカメラ座標610の間の相対位置姿勢の推定を高精度に行うことができる。
【0074】
以下、アシスト部105による、距離画像の情報を用いた相対位置姿勢の推定の方法を説明する。以下に説明される方法では、カラー画像間の抽出特徴点間の対応付けとそれに対応して逆射影で得られた空間点を用いて相対位置姿勢を算出していく。これは、空間点の対応点ペア(数23)(数24)に対して(数25)を満たす回転行列Rと相対位置に関する移動ベクトルtとを求める処理である。なお、pとp'とは各画像の特徴点に対する3次元空間点の座標を持つ。画像の特徴点間で対応付け済みとする。なおNは対応点ペアのペア数である。
【0075】
【0076】
まず、以下の(数26)および(数27)に示すように、特徴点の対応付けに基づいて空間点の対応点ペアが順に並べて設定される。
【数26】
【数27】
【0077】
ここで、c1とc2とは、対応する列ベクトルが対応点の座標になる行列である。この行列から回転行列Rと移動ベクトルtとを直接求めることは難しい。しかしながら、pとp'との分布がほぼ等しいことから、対応点の重心を合わせてから回転すれば、対応点を重ね合わせることができる。アシスト部105は、このことを利用して、回転行列Rと移動ベクトルtとを求める。つまり、アシスト部105は、以下の(数28)および(数29)を用いて、まず特徴点の重心である重心t1およびt2を求める。
【数28】
【数29】
【0078】
次に、アシスト部105は、以下の(数30)および(数31)を用いて、特徴点の分布である分布d1およびd2を求める。ここで、上述したように、分布d1と分布d2との間には、(数32)の関係がある。
【数30】
【数31】
【数32】
【0079】
次に、アシスト部105は、以下の(数33)および(数34)を用いて、分布d1および分布d2の特異値分解を実行する。特異値は、降順に並べられているものとする。ここで記号*は複素共役転置を表す。
【数33】
【数34】
【0080】
次に、アシスト部105は、分布d1および分布d2が二次元以上であるか否かを判別する。特異値は、分布の広がり具合に対応している。従って、最大の特異値とそれ以外の特異値との比率や、特異値の大きさを用いて判定がなされる。例えば、2番目に大きい特異値が、所定値以上かつ最大の特異値との比率が所定範囲内である場合に、分布が二次元以上と判定される。分布d1およびd2が二次元以上でないと判定されると、回転行列Rを求めることができないので、アシスト部105は、エラー処理を実行し、座標変換パラメータ取得処理を終了する。一方、分布d1およびd2が二次元以上であると判定されると、アシスト部105は、関連付けKを求める。上述の(数32)~(数34)から、回転行列Rは、以下の(数35)のように表すことができる。ここで、関連付けKを(数36)のように定義すると、回転行列Rは(数37)で表される。
【0081】
【0082】
ここで、固有ベクトルUは、分布d1および分布d2の固有ベクトルに相当し、関連付けKにより関連付けられる。関連付けKの要素には、固有ベクトルが対応する場合は1か-1が、そうでない場合は0が与えられる。ところで、分布d1および分布d2が等しいことから、特異値、つまり、Sも等しい。実際には、分布d1と分布d2とには誤差が含まれているので、誤差を丸める。以上を考慮すると、関連付けKは、以下の(数38)を計算することにより得られる。
【数38】
【0083】
関連付けKの算出が完了すると、回転行列Rが計算される。具体的には、アシスト部105は、(数37)と(数38)とに基づいて回転行列Rを計算する。回転行列Rの計算後、アシスト部105は、分布d1および分布d2が二次元であるか否かを判定する。例えば、最小の特異値が、所定値以下または最大の特異値との比率が所定範囲外である場合、分布d1および分布d2は二次元であると判定される。
【0084】
分布d1および分布d2が二次元ではないと判定されると、アシスト部105は、移動ベクトルtを計算する。ここで、分布d1および分布d2が二次元ではないことは、分布d1および分布d2が3次元であることを示す。ここで、pとp'は、以下の(数39)の関係を満たす。(数39)を変形すると、(数40)のようになる。(数40)と(数25)との対応から、移動ベクトルtは、以下の(数41)のようになる。
【0085】
【0086】
一方、分布d1および分布d2が二次元であると判定されると、アシスト部105は、回転行列Rを検証し、回転行列Rが正常であるか否かを判別する。分布が二次元の場合、特異値の1つが0になるので、(数36)から判るように、関連付けが不定になる。つまり、Kの3行3列目の要素が1か-1のどちらかであるが、(数38)では正しい符号を割り当てる保証がない。そこで、回転行列Rの検証が必要になる。検証には、回転行列Rの外積関係の確認や(数32)による検算などが用いられ得る。なお、ここでいう外積関係の確認とは、回転行列Rの列ベクトル(および、行ベクトル)が座標系による制約を満たすことの確認である。右手座標系では、1列目のベクトルと2列目のベクトルの外積は、3列目のベクトルに等しくなる。回転行列Rが正常であると判定されると、アシスト部105は、移動ベクトルtを計算し、カメラ座標間の相対位置姿勢を終了する。
【0087】
また、一般的に公知のICP手法(非特許文献1)を用いて、すでに求めた空間点Pと、現在のライブビュー画像に対応する距離画像から求めた空間点P'との間からカメラ座標間の相対位置姿勢の推定を行うことができる。つまり、アシスト部105は、異なる時刻における空間点P及びP'を静止領域とみなして3次元剛体変形することでカメラ座標間の相対位置姿勢について推定する。カメラ位置姿勢の探索は以下の(数42)、(数43)により実施される。
【0088】
【0089】
ここで、p、p'は3次元復元形状、R,Tは被写体の位置姿勢変化量である。また、qはカメラの位置姿勢を考慮した座標系の状態からさらに被写体の位置姿勢変化量の逆変換で3次元点p'を座標変換した空間点である。時刻の異なるフレーム間でのカメラ座標間の相対位置姿勢を取得できる。なお、RANSAC(Random Sample Consensus)が内部的に含まれている。そのため、空間点PとP'の間または対応する画像の特徴点間で数が異なっていても、また、事前の対応付けを行っていなくても、3次元空間点の幾何学的な位置関係からカメラ座標間の相対位置姿勢を取得できる。
【0090】
なおS307で撮影された視差画像(距離画像)に対する撮像装置の位置姿勢は、S301でカラー画像を撮影した撮像装置の位置姿勢とは異なるため、生成した距離画像の視点変換が必要である。なお、画像計測が概略で良い場合には、S308にて次のように距離画像を算出してもよい。すなわち、アシスト部105のアシストを得て光軸方向と画角が略一致する撮影視点において距離画像を撮影できていて、光軸方向への移動が微小の場合には、視点移動した距離分を距離画像全域から減算することで距離画像を算出するようにしてもよい。例えばプレビュー用に後述の3次元モデル生成を行うような場合にはこのような簡略変換でもよい。
【0091】
ドリーアウトのカメラアシストによる撮影位置の移動量、ズーム量の変更が大きい場合には幾何学的な正確性を向上するため、距離画像に対し、幾何学的な視点変換を実施する。
図8A、
図8Bは距離画像に対する視点変換を説明する図である。
図8Aは視点変換の幾何学的な関係を説明する図である。視点位置C
2、焦点距離f
2で撮影した距離画像805(I
d2)を、視点位置C
1、焦点距離f
1で撮影したカラー画像806(I
1)の視点の距離画像807(I
d1)に変換する処理である。シーン中には近距離の被写体801及び遠距離の被写体802があるとする。なお、カラー画像804(I
2)は、視点位置C
2、焦点距離f
2で撮影したカラー画像である。
【0092】
ドリーズームのドリーアウトカメラワークにおいては、位置803までの距離を、像サイズを一定にする基準距離としている。ここでそれぞれのカメラ行列をP
2=[I|0]、P
1=[R|t
→]と定義する。つまり、距離画像を撮影したカメラ座標をグローバル座標と一致するように設定する。R、t
→は距離画像を撮影したカメラに対するカラー画像を撮影したカメラの相対位置姿勢である。まず、
図8B(a)のように、P
2で撮影した距離画像の各画素の距離値(x
2,y
2,d
2)をP
2に基づく逆射影により、空間点X
→
2に変換する。被写体808及び被写体809は距離画像の各画素の距離値を逆射影により空間点とした例えば3D点群X
→
2として保持される。なお、被写体808及び被写体809をボリュームデータ等の空間の3Dデータ保持形式で保持してもよい
【数44】
【0093】
次に、カラー画像のカメラ行列P
1により画像平面上に空間点X
→
2を射影してカラー画像に対応する視点に変換された距離画像を得る。
図8B(b)は空間点のカラー画像座標への射影を説明する図である。例えば3次元点群形式で表現された空間点X
→
2である被写体808、被写体809をグローバル座標または距離画像のカメラ座標からカラー画像のカメラ座標に変換し、射影を適用する。距離画像807はカラー画像の視点位置C
1、焦点距離f
1のカメラ座標への射影により生成された距離画像である。距離値の代わりにカラー値をマップすると対となるカラー画像806と同様のカラー画像が得られる。これを式で示すと(数45)(数46)で表される変換となる。
【0094】
【0095】
ここで、(cx,cy)は画像中心、Id1(x1,y1,d)は各画像座標(x,y)上に距離値dを持つ距離画像807である。d=X→
1[3]はカメラ行列P1のローカル座標に変換した空間点X→
1の光軸に沿った座標値を抜き出したスカラー値がカラー画像のカメラ座標を基準とした距離値に対応することを示す。また、(数46)より、3次元剛体変換TのみをX→
2に適用すると、距離画像を撮影したカメラ座標、またはグローバル座標からカラー画像を撮影したカメラ座標系のローカル座標系に座標変換ができる。
【0096】
視点位置C2の距離画像から逆射影された空間点X→
2の3次元空間上、もしくはさらに視点位置C1、焦点距離f1のカメラに対し射影された距離画像上で補間もしくはリサンプリングを行ってもよい。その際は逆射影された空間点X→
2上での周囲の点群、視点位置C2の距離画像と対で撮影したカラー画像の色情報、または視点変換した先のカラー画像の色情報等を補助情報に用いて補間やリサンプリングを実施してもよい。3次元空間上で補間やリサンプリングを行う際にはポリゴン化やボリュームデータ化して補間してもよい。
【0097】
次に、始点変換された距離画像にオクルージョンが発生する場合の処理について説明する。所望の画角の広角のカラー画像を撮影し、ドリーアウトにより撮影距離を取って望遠側で距離画像を撮影するような場合、
図8Aのような単純な構図であれば距離画像の視点変換においては距離値に対してオクルージョンは生じない場合も多い。一方、シーン中の複数の距離位置に不連続に被写体が存在したりすると、例えば
図9Aに示されるように、距離画像906(I
d2)から距離画像908(I
d1)への視点変換の際に、距離画像I
d1上にオクルージョンが発生する。
【0098】
図9A、
図9Bを参照して視点変換におけるオクルージョンの発生例と対処法を説明する。例えば、
図9A(a)に示すようにシーン中のドリーズームにおける基準距離とは異なる距離位置に複数の被写体が存在する場合、オクルージョンが生じやすい。シーン中には、中距離の被写体901及び遠距離の被写体902に加えて、近距離の被写体903があるとする。ドリーズームのドリーアウトカメラワークにおいては位置904の距離を、像サイズを一定にする基準距離とする。視点変換の説明時と同様に視点位置C
2、焦点距離f
2で撮影した距離画像906(I
d2)を、視点位置C
1、焦点距離f
1で撮影したカラー画像907(I
1)の視点の距離画像908(I
d1)に変換する。すると、視点C
2、C
1の画像から視点C
1の画像にマップする際に距離画像908(I
d1)上にオクルージョン部909が生じてしまう。
【0099】
オクルージョン部909は、距離画像906(Id2)を色と距離情報を基に補間したり、距離画像906(Id2)を撮影した周辺の視点で距離画像を追加撮影して補間したりしてもよい。
【0100】
まず、距離情報と対応するカラー画像の色とに基づいて距離画像を補完する方法を、
図9A(b)を用いて説明する。カラー画像には視点位置C
1で撮影したカラー画像907(I
1)、もしくはカラー画像905(I
2)の視点変化により生成したカラー画像I'
1のいずれを用いてもよい。なお、カラー画像905(I
2)は、視点位置C
2、焦点距離f
2で撮影したカラー画像である。
【0101】
色と距離値による補間においては、視点変換における画素の射影マッピングにおいて距離画像上への未マッピング画素をクラスタリングしてある閾値以上の大きさの未マッピングクラスタ領域をオクルージョン領域とみなす。オクルージョン部ではない小クラスタとなる孤立マッピング領域は、前述の空間点X→
2の3次元空間上での補間及びリサンプリング、距離画像上での補間及びリサンプリングを事前に行っておくと大幅に減らしておくことができる。モルフォロジー処理による補間も有効である。
【0102】
クラスタリング処理によりオクルージョン部と判定された領域は、境界を接する領域のうち色が類似で最も距離値が奥側の距離値で補間を行う。これにより、
図9A(b)に示すように、オクルージョン部909を含む視点変換後の距離画像908(I
d1)から、オクルージョン部909を補間したオクルージョン部のない距離画像910(I'
d1)を得ることができる。
【0103】
次に、
図9B(a)を用いて、距離画像906(I
d2)を撮影した周辺の視点で、さらに距離画像を追加撮影し、距離画像を統合してオクルージョン部909を別視点の情報から補間する方法を説明する。
図9B(a)においては、まず距離画像を視点位置C
2で撮影した上でドリーアウトの前後視点においてC
3、C
4、C
5、...、C
Kの視点位置で距離画像を追加撮影する。そして、それぞれのカメラ行列P
3、P
4、P
5、...、P
Kを用いて例えばグローバル座標もしくはいずれかの距離画像を撮影したカメラ座標において空間点上で統合する。
【数47】
【0104】
本実施形態では一例として、P
2=[I|0]の視点位置C
2のカメラ座標上を基準座標とする。そして、各追加視点位置C
3、C
4、C
5、...C
Kで撮影した距離画像を逆射影した空間点X
→
3、X
→
4、X
→
5、...、X
→
Kを以下の(数48)により基準座標へと視点変換する。
【数48】
【0105】
X
→
2iとはC
i視点位置で撮影した距離画像から逆射影で生成した空間点を、視点位置C
2のカメラ座標に変換したものである。そして、撮影した多視点から生成し視点変換した空間点X
→
2、X
→
23、X
→
24、X
→
25、...、X
→
2Kを、(数49)に示すように、基準座標上で統合する。
【数49】
【0106】
ここで得られた統合空間点X'
→
2を(数50)、(数51)に示すように、上述した(数45)、(数46)を適用して視点変換する。
【数50】
【数51】
【0107】
以降は視点位置C
2の距離画像を単独で視点変換した場合と同様の手順である。これにより、多視点の距離情報でオクルージョン部を補間した、カラー画像と対となる視点変換した
図9A(a)で説明した距離画像910を得ることができる。
【0108】
ただし、ドリーズームのカメラワークだけでは大きく視点位置を移動してもオクルージョンはなかなか補間されない。そこで
図9B(b)に示すように、アシスト部105は、表示部120に、光軸に対して垂直な方向に撮像装置100を平行移動させるカメラワークをユーザに促すアシスト情報を表示する。もしくは平行移動しながら同一画角を維持するように微小な回転も合わせて加えてもよい。撮像装置100には
図9B(c)に示すような平行移動のカメラワークが加わるので、その間に距離画像を多視点において撮影することができる。
【0109】
そこで
図9B(a)のドリーズームの場合と同様に、距離画像906(I
d2)を撮影した周辺の視点で、さらに距離画像を追加撮影し距離画像統合してオクルージョン部909を別視点の情報から補間する。
図9B(d)を用いて、撮像装置100を光軸に垂直な方向に移動しながら距離画像を追加撮影し、距離画像統合してオクルージョン部909を補間する方法を説明する。
【0110】
図9B(b)に示されたアシスト指示に従い、距離画像を視点位置C
2で撮影した上で、シーンに対して画角を維持しながら撮像装置を
図9B(d)に示すように平行移動のカメラワークで移動しながら多視点位置C
3、C
4、C
5、...、C
Kで距離画像を追加撮影する。そして、それぞれのカメラ行列P
3、P
4、P
5、...、P
Kを用いて、ドリーアウトのカメラワークにおける距離画像の多視点統合の場合と同様に空間点上で距離情報を統合する。同様に例えばグローバル座標もしくはいずれかの距離画像を撮影したカメラ座標において統合を実施する。細かな手順については、ドリーアウトのカメラワークにおける距離画像の多視点統合の場合と同様である。
【0111】
以上で説明したような方法を用いて距離画像の補間を行うことで、視点変換により生じる距離画像上の距離情報に生じるオクルージョン部を埋めることができる。但し、距離情報の補間は多大な計算パワーや処理時間を必要とする。このため、オクルージョン部にはオクルージョン画素であるフラグもしくは値を設定し、距離画像の補間を省略して画像計測に用いてもよい。オクルージョン部の補間を省略した場合の画像計測に必要な対応は後述する。
【0112】
次に、S309における画像計測について詳細に説明する。S309では、得られたカラー画像と距離画像の対を用いて、画像計測が行われる。画像計測部106は、ディスプレイ上でユーザが指定した被写体上の2点間の3次元空間上の長さを測距してカラー画像上に表示する。またユーザが指定した被写体上の面の面積を計算して面積を数字で表示する、などの処理をおこなう。本実施形態においては、まず2点間の3次元空間上の長さ測距、次に所望の算出範囲に関する面積計測について説明する。
【0113】
図4(b)は、3次元空間の被写体上における任意の2点間の長さの測定処理を説明するフローチャートである。S421において、画像計測部106は、ユーザによる長さ測定処理の対象となる2点(測定開始点および終了点)の指定を受け付ける。例えば、表示部120は、ディスプレイ上にタッチパネルが配置された構成(タッチパネル画面ともいう)を有し、ユーザは、測定開始点及び測定終了点をタッチパネル画面で指定することができる。
【0114】
図10(a)は、表示部120のタッチパネル画面上に写った被写体10上で、ユーザが測定開始点および終了点を指定する手順を説明する図である。被写体10上の測定開始点1102と測定終了点1103をユーザがタッチすることにより指定する方法を示している。また、
図10(b)は、表示部120の画面上に表示されるポインタ1104を、ユーザが撮像装置100の十字ボタン1105を操作して動かすことで、被写体10上における測定開始点と測定終了点を指定する方法を示している。
【0115】
S422において、画像計測部106は、S301で取得したカラー画像とS308で取得した距離画像から被写体の3次元モデルを生成する。選択した2点間の距離を距離画像上で直接に計算してもよいが、エラーが乗りやすい。そこで、一旦モデル化して測距のエラーやノイズに起因する急激な距離値の空間変化による計測エラーを抑制する。なお、S422では、1組のカラー画像と距離画像のペアに基づいて3次元モデルを生成する。つまり、3次元モデル生成処理は、一つのカメラ位置から見た3次元モデルを生成する処理と考えることができる。3次元モデル生成処理では、カラー画像及び距離画像を基にドロネー三角形分割を実行し、ポリゴン化を実行する。生成されたポリゴン情報は、表示部120においてカラー画像に重畳して表示したり、ポリゴン情報にカラー画像を張り付けたりしてもよい。なお、選択された2点間を含む領域のみを3次元化することにより、3次元モデル生成処理の演算量を低減するようにしてもよい。
【0116】
S423において、画像計測部106は、ユーザが指定した被写体上の2点間の3次元空間上の長さとその相対誤差を計算する。ここで、相対誤差について説明する。相対誤差は以下の(数52)を用いて求められる。
【数52】
【0117】
なお、Zは被写体までの距離、ΔZは奥行きの精度、ΔZ/Zは相対誤差、Wは基線長、fは焦点距離、pixはイメージセンサのピクセルサイズを表す。すると、(pix/W)が精度となり、これに倍率(Z/f)を乗算することで、相対誤差ΔZ/Zが求められる。ここで、W及びfは距離画像を測距したズーム状態における基線長及び焦点距離である。2点間の長さは3次元モデル上の測定開始点1102及び測定終了点1103の3次元座標間の差により求めることができる。
【0118】
S424において、画像計測部106は、表示部120に3次元モデル上の測定開始点1102及び測定終了点1103の座標より求めた長さと相対誤差を表示する。
図10(c)に示すように、測定した長さ1106とそのときの相対誤差1107の値が画面に表示される。なお、相対誤差の値の大きさと距離画像撮影時のズーム状態の関係によっては、もう少し近くで撮像することで精度を上げることができる、などのアドバイスをユーザに提示しても良い。
【0119】
なお、S421において指定された測定開始点及び測定終了点に関して、距離画像の視点変換により生じたオクルージョンなどで距離情報が存在しない場合がある。例えば、画像計測までの応答時間の短縮のため補間を省略して距離画像を単純に視点変換しただけの場合が挙げられる。そのような場合に、画像計測部106は、指定位置を距離情報の存在する位置にずらすか、ユーザに再度設定させるようにしてもよい。
【0120】
例えば
図11(a)に示すようなカラー画像907(I
1)と距離画像908(I
d1)の対を入力として画像計測をおこなう場合を考える。なお、カラー画像907(I
1)と距離画像908(I
d1)は、
図9A(a)で示した画像である。
図11(b)に示されるように、表示部120において、ユーザが測定開始点1102と測定終了点1103を選択したとする。この場合、測定終了点1103は、距離画像908(I
d1)上ではオクルージョン部909に含まれる。そこで、画像計測部106は、
図11(c)に示すように、自動でポインティング位置を距離情報の存在する位置にずらし、測定終了点1103をオクルージョン部909の領域外の距離情報が存在する領域にずらす。このように、画像計測部106は視点変換により得られた距離画像に存在するオクルージョン領域に測定開始点1102および/または測定終了点1103が指定された場合に、それらをオクルージョン領域外に移動する。図示の例では距離情報が存在する位置まで測定終了点1103が自動的に移動されている。
【0121】
もしくは、
図11(d)に示すように、画像計測部106が、測定終了点1103を再度指定するメッセージ1108を表示して、ユーザに測定終了点を再度設定させる。すなわち、画像計測部106は、視点変換により得られた距離画像に存在するオクルージョン領域に測定開始点または測定終了点が指定された場合に、測定開始点または測定終了点の指定のやり直しをユーザに促す。
図11(d)では、測定終了点1103を再度指定するためのポインタ1104が再度表示されている。ユーザは、タッチパネル画面上または十字ボタン1105の操作によるポインタ1104の移動より、測定終了点1103を再度指定する。
【0122】
以上、画像計測部106による2点間の距離の計測について説明した。次に、画像計測部106による面積の計測について説明する。面積の計測も、距離の計測と同様に3次元座標を基に実現できる。以下、
図4(c)に示すフローチャートを参照して3次元空間の被写体上における任意の領域の面積計測処理について説明する。
【0123】
S441において、画像計測部106は、カラー画像及び距離画像から被写体の3次元モデルを生成する。この処理は、S422における3次元モデルの生成処理と同様である。但し、S441では、平面、円筒、立方体、球などの形状プリミティブをフィッティングもしくは抽出して3次元モデルを形成する。プリミティブが3次元モデル上で規定されていると、面積算出範囲の指定(領域指定)を手軽に精度よく行うことができる。
【0124】
S442において、画像計測部106は、面積算出範囲のユーザによる指定を受け付ける。
図12を用いて面積算出範囲の指定の様子を説明する。ユーザは、表示部120上で、面積算出範囲を指示することができる。
図12(a)は、表示部120上における面積算出範囲の指定の様子を示す図である。例えば、ユーザは、タッチパネル画面上において被写体10の領域境界を指でなぞることにより所望の面積算出範囲を指定することができる。または、
図12(a)に示すように、被写体10の任意の平面上にポインタ1201を移動し、そこで画面をタップするなどの予め定義した既定の操作を行うことにより所望の面積算出範囲を指定するようにしてもよい。この場合は平面が
図12(b)に示すように所望の面積算出範囲として選択される。上述したように、S441においてプリミティブのフィッティングまたは抽出を行いながらモデル生成を行うことで、このような機能が容易に実現できる。
図12(b)中に示されるように、距離画像中の稜線で囲まれた各々の平面領域が平面プリミティブとして予めフィッティングまたは抽出されている。
【0125】
なお、2点間の距離算出の場合と同様に、面積算出範囲の測定をマニュアルで行うのみである場合には、順番を入れ替えて、面積算出範囲の指定するS442の後に、3次元モデルを生成するS441の処理を行うようにしてもよい。
【0126】
S443において、画像計測部106は、S442で指定した面積算出範囲の面積(表面積)とその測定誤差を計算する。まず面積は、例えば算出範囲の表面に含まれるポリゴンの面積の総和によって算出することができる。各ポリゴンには3次元座標で定義された3つの頂点座標情報が含まれ、この3点からポリゴン毎の面積算出が容易に可能である。例えば一般的なGPUにはポリゴン情報をメモリに展開した後、各ポリゴンの面積を一括で計算し、その総和を少ないクロック、命令実行数で算出するジオメトリ演算機能が概ね実装されている。したがって、このジオメトリ演算機能を用いて面積を算出することができる。
【0127】
測定誤差は、距離に対しては上述の(数52)で定義される。面積に関しては、光軸に対し平行な法線を持つ平面の場合、距離に対する誤差の二乗として定義される。例えば測定誤差が概算で良い場合、各ポリゴンに対しては各ポリゴンの重心位置の距離に対する誤差の二乗値で面積に関する測定誤差を定義できる。例えば各ポリゴンの測定誤差を各ポリゴンの面積を重みに加重平均することで面積算出範囲の測定誤差を概算で算出可能である。面積に関する測定誤差もGPU等のジオメトリ演算機能を利用すると高速に演算が可能である。
【0128】
S444では、画像計測部106は、算出した面積値と測定誤差値を表示部120に表示する。
図12(c)に表示の一例を示す。1202は、指定された面積算出範囲の面積値である。1203はその面積算出範囲に対する測定誤差の概算値である。なお、2点間の距離の測定と同様に、指定した領域がオクルージョン部を含む場合に、画像計測部106は、ユーザに領域の再指定を促すようにしてもよい。
【0129】
以上説明したように、広角のカラー画像を所望の画角で撮影した際に距離画像が生成不可もしくはその信頼度が低い場合、光軸方向と画角が略一致の距離画像を撮影可能な撮影位置姿勢に撮像装置を誘導するアシストが行われる。ユーザはこのアシストを利用して距離画像を適切に撮影することができる。これにより、空間の広がりを演出した広角のカラー画像に対して、信頼度の高い測距を実現できる距離画像を得ることができる。そして、これらのカラー画像と距離画像の対を用いた画像計測を実施することができる。なお、カラー画像は輝度画像に置き換えてもよい。
【0130】
<第2実施形態>
次に、第2実施形態について説明する。第1実施形態では、カラー画像を撮影した後に、距離画像を取得可能な位置へ撮像装置を移動(ドリーアウト)させるためのアシストを行う構成を示した。第2実施形態では、距離画像を取得可能な位置で撮影を行った後、より適切な撮影位置へ撮像装置を移動させるためのアシストを行う構成を説明する。なお、第2実施形態の撮像装置100の構成は、上述した第1実施形態と同様である。
図13は、第2実施形態による撮影及び画像計測手順を示すフローチャートである。上述した第1実施形態の処理とは逆に、まず測距可能な視点位置から距離画像撮影を行う。
【0131】
S1301において、制御部110は、距離画像を取得する。ユーザは、任意の構図で距離画像を撮影することができる。S1301で、アシスト部105は、撮影した画像について、ズーム状態などに起因した立体感および/または構図に不満があるかどうかを示すユーザの指示を受け付ける。不満があることを示す指示を受け付けた場合(S1302でNO)、処理はS1303へ進む。S1303において、アシスト部105は、S1301で撮影した撮影画像とライブビュー画像を用いて、撮像装置100の現在の位置姿勢を推定する。S1304において、アシスト部105は、ユーザが所望する立体感、構図が得られるような位置姿勢へ撮像装置100を誘導するためのアシストを表示する。例えば、所定のズーム状態(焦点距離が所定値以下となる状態)となる位置姿勢への誘導を実施する。また、S1305において、アシスト部105は、撮像装置100の移動中において、S1301での撮影時の画角を維持するために、光学系制御部104を介して光学系101のズーム状態(焦点距離)を制御する。
【0132】
ユーザは、ライブビューをみながら所望する立体感/構図を得られる位置姿勢に撮像装置100が移動したと判断すると、撮影操作を行う(シャッターボタンを押す)。すると、処理はS1306(YES)からS1307へ進み、制御部110はカラー画像の撮影を実行する。撮影操作が行われるまで(S1306でNOの間)、S1303~S1306が繰り返される。こうして、アシスト部105は、ユーザが所望する立体感、構図を得るように撮像装置100を移動させることに応じてズーム状態を変更し、カラー画像を再撮影させるようにアシストする。なお、S1301で距離画像を撮影したズーム状態のカラー画像でユーザが所望する立体感/構図が得られた場合は、ユーザは不満がないことを示す指示を行う。この場合(S1302でYES)、処理はS1303~S1307をスキップして、S1308へ進む。
【0133】
S1303の処理について詳細に説明する。S1303では、画像計測の対象となるカラー画像を、S1301で撮影された距離画像とは別に撮影する。例えば、ユーザが立体感に不足を感じる場合、通常、構図のダイナミズムを得るためにズーム状態を短焦点距離側に切り換える。この場合、ユーザは、撮像装置100のズーム状態を広角側に変更し、撮影の画角を維持するように被写体に近づいていく。このようなズーム変更と撮影位置の変更の組み合わせを一般的にはドリーインと呼ぶ。第1実施形態におけるドリーアウトと第2実施形態におけるドリーインのカメラワークを総称して一般的にはドリーズームと呼ぶ。以下、
図14を用いてドリーインしてカラー画像撮影を行う場合の、アシスト部105によるカメラアシスト動作を説明する。
【0134】
図14(a)は、ドリーインを用いて撮影位置を変更していく際のスタート時点での被写体と撮像装置の位置関係を示す図である。S1301で距離画像を算出するために撮影した撮影位置C
1及び撮影姿勢を基にアシストを開始する。撮影位置C
1は所望の画角、所望のズーム状態で被写体10について信頼度高く距離画像を算出できる視点位置である。1401は距離画像撮影時点でのシーンのワールド座標系におけるカメラ座標である。カメラの光軸がz軸、画像の水平・垂直方向がそれぞれx軸、y軸に対応する。1402はカメラ座標1401の光軸であり、補助線で表されている。
【0135】
その後、撮影位置C
1での画角に対し、ズームを徐々に広角側に変更し画像に映る像の画角範囲を維持しながら被写体に近づいていく。本処理では、ズーム状態が短焦点側の測距の信頼度が低下するズーム域、測距不能ズーム域に突入しても関係はない。そして
図14(b)に示すようなユーザが所望の立体感を得られるズーム状態で撮影可能な撮影位置C
2に到達した時点で、ユーザはカラー画像撮影を行う。
【0136】
カラー画像撮影におけるアシスト方針は、基本的に第1実施形態でのドリーアウトカメラワークにおける距離画像撮影時の撮像装置100に対するアシスト方針と同様である。まず、カラー画像撮影時のカメラ座標系1403で表される撮像装置100の位置姿勢は、各軸が距離画像撮影時のカメラ座標1401と平行になるように、光軸1402の方向に略一致で平行移動させることが望ましい。
【0137】
図14(c)は、撮像装置100の位置姿勢を
図14(b)の状態(撮影位置C
2)まで移動する過程における、撮像装置100の位置姿勢の状態の一例を示す。ドリーインを続けているので、撮影位置C
2におけるズーム状態(撮影画角)は、距離画像撮影時のシーンの範囲(画角)が維持されるように調整されている。しかしながら、撮影位置C
3は撮影位置C
2よりも被写体から離れており、また距離画像撮影の光軸方向(光軸1402)からもずれている。さらに、撮影位置C
3における撮像装置100の姿勢(カメラ座標1404)も距離画像撮影の光軸方向に対して傾いている。したがって、アシスト部105による、姿勢修正、距離画像撮影の光軸の延長線上への位置移動のアシストが必要となる。
【0138】
S1303において、アシスト部105は、撮像装置100のライブビューで取得される複数枚の視差画像からなる画像列情報と距離画像、不図示の姿勢センサ等に基づき撮像装置100の位置姿勢推定を行う。第1実施形態と同様に、撮像装置100が距離画像を求めることのできるズーム域にある場合は、アシスト部105は撮像装置100の位置姿勢推定に距離画像も利用する。また、距離画像が算出不可となるズーム域に撮像装置100がある場合は、アシスト部105は画像情報のみを用いて撮像装置100の位置姿勢推定を行う。姿勢センサ情報は画像や距離画像に基づく位置姿勢推定の初期値に用いると有用である。
【0139】
所望のカラー画像を撮影した後はカラー画像を撮影した撮像装置100の位置姿勢状態に距離画像を視点変換する。距離画像の視点変換方法については第1実施形態で説明したとおりである。また、S1308の画像計測処理は、第1実施形態(
図3のS309)と同様である。
【0140】
以上のように、第2実施形態によれば、例えば撮影された距離画像に対して立体感や構図に不満を感じたユーザがより広角側のズーム状態で撮影画像を得たいような場合に、適切なアシストを提供することができる。すなわち、距離画像とほぼ同一の画角を維持しながら広角側のズーム状態でカラー画像を撮影することによりカラー画像と距離画像の対を得たいような場合に、適切なアシストが提供される。この場合、距離画像に対して光軸方向と画角が略一致する位置姿勢に撮像装置100を誘導するアシスト部のアシストを利用する。これにより、信頼度が高く測距できた距離画像と、空間の広がりを演出した広角のカラー画像の対を得ることができ、これらカラー画像と距離画像の対を用いた画像計測を実施できる。なお、カラー画像は輝度画像に置き換えても同様である。
【0141】
<第3実施形態>
特開2008-042580(特許文献2)には、撮影した鑑賞画像(第1、第2実施形態のカラー画像)に、距離画像に基づく計測結果を重畳表示する技術が記載されている。しかしながら、特開2019-045249(特許文献3)に記載されているように、撮影後に距離画像による計測の失敗が通知された場合は、鑑賞画像と距離画像の全てを再撮影するしか術がない(特許文献3)。
【0142】
撮影の主役である鑑賞画像は、撮影時の照明や自然光の具合、空気の揺らぎ、ノイズ感など偶発的要素も含めて評価される瞬間を切り取った1点ものであり、たとえ計測が失敗するような場合であっても、その画像を鑑賞画像として使いたいことがある。また鑑賞画像は主観で評価されるため成功の許容幅が大きいことが多い。他方、計測データにおいては、複数枚の視差画像を基に距離画像を生成して計測処理を行う画像ベースの計測方法の場合、手振れや焦点ボケ、ノイズの影響を受けて距離画像の生成もしくは計測を失敗しやすい。また、観賞画像の質を向上するために撮影技法を凝らして動きや焦点ボケを加えたり、大きなプラスやマイナスの露出補正を加えたりして撮影する場合がある。このような撮影は、計測撮影の最適条件から外れており、再撮影を何度繰り返しても計測に失敗するか、または満足のいく計測結果が得られないことになる。逆に撮影条件を計測に最適に変更して再撮影した場合には、計測に成功しても、鑑賞画像の撮影条件が当初の撮影意図から乖離してしまい、満足な鑑賞画像が得られない。
【0143】
以下の第3実施形態および第4実施形態では、撮影意図に沿った撮影条件で撮影した鑑賞画像を用いつつ、計測に最適な撮影条件で取得した距離画像(計測情報)を得ることのできる撮像装置について説明する。
【0144】
図15は、第3実施形態による撮像装置100の構成例を示すブロック図である。
図15において、第1実施形態(
図1)と同様の構成には同じ参照番号が付してある。撮像系130は、光学系101と撮像部102を含む。制御部110aは、撮像系制御部121、メモリ122、鑑賞画像生成部123、距離画像算出部103a、アシスト部105a、画像計測部106aを備える。第1実施形態で説明したように、撮像部102は、分割瞳領域を有する光学系101を通過した光学像から視差画像(視差を有する複数の画像)を得る機能を有する。撮像部102により撮影された視差画像はメモリ122に格納される。
【0145】
鑑賞画像生成部123は、メモリ122から視差画像を取得し、必要な前処理を行った後、鑑賞画像を生成する。この前処理では、例えば、撮像部102がカラーセンサを有する場合にはベイヤー配列補間が実施される。また、前処理では、鑑賞画像としての質を向上するため、ローパス、ハイパス等のフィルタリング処理、鮮鋭化処理、HDR処理などのダイナミックレンジ拡大を含む諧調補正処理、WB補正処理を含む色調補正など、種々の処理が実施される。そして、鑑賞画像生成部123は、前処理が施された視差画像からいずれかを選択することにより、或いは、それら視差画像を合成することにより鑑賞画像を得る。なお、上記した前処理の一部あるいは全てが第1実施形態(
図2A)で説明した演算処理部204により実行されてもよい。
【0146】
距離画像算出部103aは、メモリ122に格納された視差画像を用いて距離画像を生成する。まず、距離画像算出部103aは、距離算出を適切に実行できるように視差画像への前処理を実施し、前処理が施された視差画像間の対応付けを行い、撮影情報を基に距離画像を生成する。撮影情報は、例えば、光学系101のズーム状態から規定される焦点距離、絞り値などのカメラパラメータ、撮像部102が備える撮像素子の画素ピッチなどの撮像素子情報、が含まれる。また、距離画像算出部103aによる前処理では、撮像部102がカラーセンサを備える場合には、ベイヤー配列補間して視差画像を一旦カラー化した後に輝度画像化してもよいし、直接輝度画像変換を行うようにしてもよい。ベイヤー配列補間は、鑑賞画像生成部123の前処理と同様の処理が用いられ得る。また、前処理において直接に輝度画像変換を行う場合、距離画像算出向けの簡易レベルが用いられても良い。また、距離画像算出部103aの前処理では、距離画像算出の精度やロバスト性を向上させるために、鑑賞画像生成とは異なるフィルタリング処理、トーンマッピング等の諧調の調整処理が行われてもよい。また、後述の画像計測部106aにおいてオブジェクト抽出やプリミティブ抽出などの認識処理が実施される場合は、認識結果が最良となるように、鑑賞画像生成とは異なる処理や処理パラメータで対応する画像を一緒に生成してもよい。なお、鑑賞画像生成部123と同様に、上記した距離画像算出部103aの前処理の一部あるいは全てが第1実施形態(
図2A)で説明した演算処理部204により実行されてもよい。
【0147】
画像計測部106aは、画角が略一致する鑑賞画像と距離画像の対を用いて撮像装置のユーザに画像計測機能を提供するコンポーネントである。距離画像算出部103aで生成した認識用画像を入力としてもよい。画像計測部106aは、距離画像上の各点(例えば各画素)における距離値の信頼度の統計量などを基に実施可能な計測の質を判定する。さらに、画像計測部106aは、予め設定された信頼度の統計量に対する閾値を基に計測の可能/不可能の判定を実施する。
【0148】
画像計測部106aにおいて、自動計測を実施する際には、一般・特定物体認識などのオブジェクト抽出、床面や壁面などの空間の平面やオブジェクトの球、円筒部などを抽出するプリミティブ抽出等がまず実施される。オブジェクト抽出やプリミティブ抽出の処理を鑑賞画像、距離画像、認識用画像に適用して計測箇所を特定し、画像計測をおこなう。三脚上に撮像装置100を設置して据え撮りを行うことにより自動計測を行う場合には、予め設定した位置について計測を行うようにしてもよい。
【0149】
図16に段ボールを被写体とした自動計測の結果例を示す。画像計測部106aが、入力された鑑賞画像、距離画像、認識用画像に対してオブジェクト抽出やプリミティブ抽出などを実施し、被写体が直方体形状の段ボールであると認識したとする。この場合、画像計測部106aは、例えば計測テンプレートとして直方体の3辺の長さを計測することが予め設定された自動計測パターンを選択し、観賞画像または認識用画像に対応する距離画像上の距離値を用いて距離計算を行う。
図16に示すように計測した箇所に計測線1601~1603を重畳表示し、その近傍に実空間での辺の長さ値を表示する。また、画像計測部106aは、このような画像計測において、距離、長さ、面積だけでなく、計測結果の信頼度や誤差の値などの補足情報も取得する。
図16では、誤差の値が表示された様子が示されている。
【0150】
図15に戻り、表示部120は撮像装置のGUIであり、画像計測部106aの計測結果を表示したり、計測の失敗を通知したりするインターフェース(I/F)である。表示部120はタッチパネル備え、画像計測部106aと連携して対話的な計測をおこなう際には、画像上の計測ポイントや計測したい平面の位置を、タッチパネルを通してユーザに指定させることができる。そして、表示部120は、実空間における長さや面積の情報を鑑賞画像に重畳させて表示する。対話による画像計測については、第1実施形態(
図10、
図12)で説明したとおりである。
【0151】
また、距離画像算出部103aが算出した距離画像上の各点の距離値の信頼度の統計量が予め設定した閾値よりも低い場合などには、表示部120を介してその旨をユーザに通知するようにしてもよい。また、自動計測結果の距離の誤差が予め設定した閾値よりも大きい場合に、その旨をユーザに通知するようにしてもよい。また、オブジェクト抽出やプリミティブ抽出に失敗した場合にも、その旨の通知を行うようにしてよい。また、これらの通知は、ユーザの設定により個別に省略可能としてもよい。
【0152】
アシスト部105aは、計測の失敗を判定し、計測失敗後の再撮影をアシストする。アシスト部105aは、距離画像の信頼度もしくはその統計量、自動計測結果の誤差量と、予め設定された閾値との比較、および、オブジェクト抽出やプリミティブ抽出の成否などに基づいて計測の失敗を判定する。計測が失敗したと判定された場合、アシスト部105aは、計測のための画像(距離画像)を再撮影するためのアシストを実施する。再撮影のアシストは、表示部120を用いてユーザに通知することにより、および/または、不図示のユーザインターフェースを用いて実施される。また、再撮影のアシストにおいて、撮像装置の撮影条件が自動的に変更され、設定されるようにしてもよい。ここで、撮影条件とは、例えば、焦点距離や絞り値、シャッタースピード、ISOゲインや露出補正のプラスマイナスなどの設定値である。
【0153】
撮像系制御部121は、光学系101のズームやフォオーカス距離、絞り、撮像部102のシャッタースピードやISOゲインなどを制御するコンポーネントである。撮像系制御部121は、アシスト部105aにおける撮影失敗の分析に基づいて制御方針を決定し、撮像系130による撮影条件を制御する。なお、撮影条件は、アシスト部105aの自動設定により、もしくは表示部120を通してのユーザの手動設定により制御され得る。なお、撮像系制御部121が、不図示のパターン投光部などを制御して被写体にパターンを投光する機能を有してもよい。
【0154】
図17に第3実施形態による撮像装置100の撮影及び画像計測処理のフローチャートを示す。
図17のフローチャートは、鑑賞画像と距離画像が共通の視差画像を用いて生成される動作モード(同時撮影モード)での動作を示している。まず、ユーザは、被写体10を望みの構図で撮影するべく撮像装置100の不図示のシャッターを押す。シャッターが押されたことに応じて、撮像部102は撮影を実行し、同一タイミングで撮影された視差画像(複数枚の画像からなる)をメモリ122に格納する(S1701)。鑑賞画像生成部123はメモリ122に格納された視差画像を用いて鑑賞画像を生成し、距離画像算出部103aはメモリ122に格納された視差画像を用いて画像計測に必要な距離画像を生成する。さらに、自動計測をおこなう場合には、画像計測部106aが距離画像を用いて計測を行う。
【0155】
撮像部102により視差画像が撮影され、メモリ122に視差画像が格納されてから、距離画像算出部103aが距離画像を算出するまでの処理は、第1実施形態(
図4(a)および(数1)~(数4))で説明したとおりである。
【0156】
なお、距離画像算出部103aでは、距離画像上において各画素における距離値に対する信頼度を算出する。信頼度は視差画像間の対応点同士の相関度や相関の探索範囲における唯一性、相関エリアのテクスチャが平坦部かエッジ部かなどに応じて変化する。この信頼度が低くなると、距離値の正解からの誤差も大きくなる傾向がある。テクスチャのない部分や光量が得られなくて諧調がない部分は距離値が得られないため信頼度には数値0やNaN(Not a Number)の値が割り当てられる。例えば、計測用撮影(距離画像用の視差画像の撮影)の良否判定では、距離画像の各画素に割り振られた信頼度の統計値に対する閾値処理などが行われる。例えば、以下の(数53)に示すように、重みつけ線形和により撮影毎の信頼度Eが算出される。
【0157】
【0158】
eiは各画素の信頼値、wiは各画素に設定された重みである。重みは、画角における画素の位置、対となる視差画像の輝度諧調、色などの要因により決定される。計測に用いられる距離画像の信頼度Eに基づき、計測用撮影の良否の自動判定が行われる。なお、距離画像の信頼度の算出法は上記の方法に限らない。例えば信頼度は対応する視点の別の視差画像または観賞画像から信頼値や重みを求めるようにしてもよい。
【0159】
S1702において、画像計測部106aは計測結果を表示部120に表示するとともに、上述した自動判定の結果を通知する。例えば、計測の元となる距離画像生成の成否を上述した信頼度の統計量で通知したり、自動計測の成否を通知したりする。または信頼度の統計量などで距離画像生成や自動計測の成否を数値化し、予め設定した閾値との比較により距離画像、自動計測の成功/失敗を判定する。判定の結果は、表示部120を通してユーザに通知されてもよいし、撮像装置100内の次ステップの制御に用いられてもよい。
【0160】
S1703において、制御部110aは、S1701で得られた鑑賞画像と計測結果の状態をユーザが確認した結果(鑑賞画像と計測結果の良否の判定)を受け付ける。なお、画像計測部106aによる計測結果については、上述した自動判定の結果が用いられてもよい。鑑賞画像および計測結果が共にOKならば(S1702でYES)同時撮影モードの計測撮影を完了する。この場合、表示部120に鑑賞画像を表示し、計測結果を鑑賞画像に重畳表示する処理が行われてもよい。また、表示部120に鑑賞画像を表示し、対話的な計測をさらに実施するようにしてもよい。
【0161】
一方、ユーザが鑑賞画像および計測結果のいずれかに不満であることを指示した場合、もしくは自動判定により計測結果が不良と判定された場合(S1703でNO)、処理はS1704に移行する。S1704では、ユーザが表示部120のGUIの表示画面に表示された鑑賞画像を確認し満足したかどうか、すなわち鑑賞画像の良否が判定される。鑑賞画像が不良であると判定された場合は(S1704でNO)、計測結果と鑑賞画像の両方が不良であるか鑑賞画像が不良であるため、鑑賞画像と計測用の距離画像の元となる視差画像を再撮影するべく処理はS1701に戻る。こうして、同時撮影モードでの撮影が再度実行される。
【0162】
一方、鑑賞画像が「良」と判断された場合(S1704でYES)、処理はS1705に進む。S1705において、制御部110aは、この鑑賞画像を保存したまま、計測用の距離画像の元となる視差画像の再撮影を実施する追加撮影モードを実行する。なお、S1703とS1704において、鑑賞画像の良否を、例えば、ヒストグラムなどの諸属性の値と予め設定した閾値に基づいて判定するようにしてもよい。もしくは鑑賞画像は常に良であるとして、計測結果の良否のみに基づいて追加撮影モードを実行するか否かを判断するようにしてもよい。追加撮影モードでは、先の撮影で得られた鑑賞画像を維持しつつ、距離画像生成用の視差画像を再撮影し、先の撮影画像で失敗となった距離画像の算出/画像計測が再実施される。この際に、アシスト部105aは、追加撮影モードで行われる再撮影時において、鑑賞画像と視点および視線方向が略一致した距離画像が得られるようにユーザをアシストするための表示等を行う。
【0163】
図18(a)は、再撮影時の液晶画面の一例である。アシスト部105aは、S1701において先に撮影した鑑賞画像を例えば半透明化させてシースルーで表示させて現在のライブビュー画像に重畳表示している。ユーザは、現在のビューを見ながら、撮影位置、視線方向が先の鑑賞画像を撮影したのと略一致の場所、撮影方向での再撮影をアシストする。重畳表示によって、ユーザは構図が先に撮影した鑑賞画像に略一致する視点および視線方向及に向かっていることを確認しながら撮像装置を動かすことができる。または、表示画面を二分割して、先に撮影した鑑賞画像の半分と現在のライブビュー画像の半分を左右に表示してアシストしてもよい。
【0164】
なお、アシスト部105aは、
図18(b)に示すように、先に撮影した鑑賞画像に重畳して、さらに先の撮影の距離画像における信頼度の低い部分、測距不能な部分をハイライト表示するようにしてもよい。あるいは逆に、距離画像の作成に成功した部分をハイライト表示するようにしてもよい。もしくは再撮影時にリアルタイムで距離画像の算出を行い、現時点での撮影条件で距離画像(または距離値)が算出可能か否か(取得可否)をリアルタイムで表示するようにしてもよい。また、アシスト部105aは、距離算出結果から信頼度が閾値より低い領域の割合を統計的に算出して現在の撮影条件における低信頼領域率の増加/減少をユーザに通知してもよい。ユーザは表示部120の表示を参照することにより、表示された画像におけるハイライト部分を減らすような(または増やすような)撮影条件、距離画像内の低信頼が高信頼に変わるような撮影条件へ変更して再撮影を行うことができる。
【0165】
ユーザは、計測用の距離画像を算出することが可能な撮影条件で、視点と視線方向が鑑賞画像と略一致した画像が撮影可能であると判断したら、シャッターを押して、再計測用の視差画像の再撮影を実施する。こうして視差画像が取得され、距離画像の算出、再計測が実施される。
【0166】
以上、先に撮影した鑑賞画像と視点および視線方向が略一致した視点位置および視線方向にユーザがカメラを移動し、ユーザが試行錯誤で、撮影条件を距離画像が算出可能な値に設定する例を説明した。しかしながらこれに限られるものではなく、例えば、鑑賞画像撮影時の撮影条件を撮像装置100内で判定し、より距離画像の撮影に成功する撮影条件(パラメータ)を撮像装置100が算出するようにしてもよい。また、撮像系制御部121は、算出された撮影条件を撮像装置100(撮像系130)に設定し、撮影条件の自動調節を行うようにしてもよい。
【0167】
例えば、撮像系制御部121は、距離画像算出の基となる視差画像、または対応する鑑賞画像またはその元となるRAWデータにおいて、諧調ヒストグラムを取ってヒストグラムの偏在をチェックする。ここで、例えばヒストグラムが低諧調側に寄っている場合には、撮像系制御部121は、撮像装置100に搭載されているAE機能の元となるAE線図に基づいてAE機能と同様に絞り値やシャッタースピード、ISOゲインなどを自動調節する。
【0168】
また例えば、撮像装置に搭載されているジャイロセンサや加速度センサを用いて計測される手ぶれの大きさに対して、シャッタースピードが遅めで露光時間が長めであるならば、撮像系制御部121は、シャッタースピードを上げてISOゲインを上げる。また、撮像装置のAFの各測距点の深度方向スキャンを実施して得られる撮影シーンの被写体までの被写体距離が、フォーカス位置や絞りによって決定される被写界深度内に含まれていない場合、撮像系制御部121は、フォーカスの合焦距離や絞り値を調整する。こうして撮像系制御部121は、被写界深度内に被写体距離が含まれるように撮影条件の値を調整する。
【0169】
また例えば、距離画像算出の基となる視差画像等に対する諧調ヒストグラムの偏在をチェックしAE調整により撮影条件を変更しても部分領域については偏りがある場合がある。そこで、自動計測において計測対象の画像領域(計測領域)が事前に決まっている場合に、撮像系制御部121は、計測領域の被写体部の黒潰れや白飛びによるテクスチャ喪失の可能性を調査し、これらを抑制するように撮影条件を調整するようにしてもよい。例えば、撮像系制御部121は、露出補正をプラス/マイナス調整する。
【0170】
また、距離画像算出において被写体のテクスチャが不足して距離画像算出がうまくいかない場合や、繰り返しパターンにより距離値の信頼度が低くなる場合がある。これらのような場合に、撮像系制御部121は、パターン投光部(不図示)によりパターンを投光するように撮影条件を変更してもよい。パターン投光部(不図示)は撮像部102の分光感度と対をなし、近赤外や遠赤外に波長域を持つものなど多様な選択肢がある。すなわち、パターン投光部には、撮像部102の分光感度がカバーする波長領域の発光源を有する任意の投光部を利用することができる。
【0171】
以上のように、採用したい鑑賞画像を撮影した際に距離画像の算出や画像計測に失敗しても、距離画像をより容易に算出できるように撮影条件が変更、調整され、距離画像の算出が可能な視差画像を再撮影により容易に得ることができる。また、撮影条件の設定は撮像装置が自動的に変更してもよいし、表示部120にアシスト情報として撮影条件を表示して設定をユーザに委ねてもよい。また、撮影条件は、音声I/Fによりユーザに通知されてもよい。
【0172】
距離画像算出部103aは、以上のような再撮影により得られた視差画像を用いて距離画像を算出する。画像計測部106aは、自動計測が設定されているならば、再撮影で得られた距離画像を用いて自動計測を実施し、鑑賞画像に自動計測結果を重畳表示した画像を表示部120に表示する。他方、対話による画像計測が設定されている場合、画像計測部106aは、距離画像の信頼度の統計値などの指標と予め設定された閾値に基づいて対話的な距離計測が可能な旨をユーザに通知し、対話的な距離計測状態に移行する。なお、S1705において、画像計測が可能な状態になったか否かを判定し、画像計測が可能な状態でない場合には、上述した再撮影をさらに繰り返すようにしてもよい。
【0173】
また、計測画像の再撮影と計測を行うS1705は、S1701からS1704を経て、自動で高速に実施されてもよい。距離画像の信頼度の統計値等に基づく計測の失敗判定で失敗と判定された場合に、速やかに計測撮影の失敗の原因を分析し、撮影条件を自動で変更し、連写撮影が実施されるようにしてもよい。これにより、手持ち撮影や動体の撮影であっても計測画像の再撮影が可能となる。
【0174】
また、S1705における計測画像の再撮影は1回に限られるものではなく、再撮影画複数回行われてもよい。例えば、ブラケット撮影のように撮影条件を変化させて複数組の視差画像を撮影し、最も信頼度の高い距離画像が得られた画像を計測に利用するようにしてもよい。または、距離画像の信頼度の低い部分について、他の距離画像で高い信頼度が得られている場合に、距離画像の信頼度の低い部分を当該他の距離画像の同一箇所で置き換えるようにしてもよい。また、例えば、前述のGUIによるアシストにより、距離画像の信頼度の低い部分に着目して撮影条件を変えて、当該部分に関して信頼度の高い別の距離画像を取得できた場合、距離画像の当該部分を別の距離画像の当該部分で置き換えてもよい。さらに、再撮影により得られた1つまたは複数の距離画像の部分を用いて、鑑賞画像撮影時に得られた距離画像(鑑賞画像の生成元の視差画像から得られた距離画像)を部分的に置き換えて計測情報の生成に用いる距離画像を算出してもよい。または、複数枚の距離画像を統計的に処理して距離値や信頼度を改善して一枚の距離画像を生成し、これを計測に用いるようにしてもよい。
【0175】
以上説明したように、鑑賞画像に対応した距離画像を基に実空間での被写体の長さや面積を鑑賞画像上で計測可能する計測撮影機能において、計測が失敗した場合に計測画像のみを再撮影することができる。そして、その際には、距離画像の算出または計測情報の生成を阻害する要因を回避するように、撮影条件(撮影位置、姿勢、焦点距離、絞り値、シャッタースピード、ISOゲイン、露出補正の少なくとも一つ)の変更方針がユーザにアドバイスされる。したがって、ユーザは、鑑賞画像を撮影意図に合った状態で撮影し、計測用撮影を計測に合った撮影条件に変更して再撮影することを容易に行える。
【0176】
<第4実施形態>
次に第4実施形態について説明する。
図19は第4実施形態による撮像装置100の構成例を示すブロック図である。第3実施形態における撮像系130は瞳分割撮像系であった。第4実施形態では、光学系および撮像素子を備える2つ以上の撮像系の組(
図19では撮像系130aと撮像系130b)から構成されるステレオ撮像系または多眼撮像系の場合を説明する。また、
図20にステレオ撮像系を有する電子機器の一例を示す。
図20(a)は複数の撮像系130a、130bをまとめて1モジュールとした多眼撮像系である。各眼は単焦点系でもズーム系でも良い。また単焦点系の場合も、焦点距離が異なる光学系、画素数やピッチの異なる撮像素子の組み合わせであっても良い。
図20(b)は、単一の撮像系130aを有する単眼の撮像装置100に、撮像系130bを有するモジュールをアタッチメントで組み合わせた例である。
【0177】
なお、撮像系130a、130bは、第1~第3実施形態における撮像系130と同様に演算処理部204を含んでもよい。撮像系130a、130bにより撮影された視差画像はメモリ122に格納される。複数の撮像系を備えること以外は、第4実施形態の撮像装置100の構成は、第3実施形態における撮像装置の構成と同様である。
【0178】
図21は、第4実施形態による撮像装置100の撮影及び画像計測の処理を示すフローチャートである。第4実施形態の撮像装置100は、同時撮影モードと順次撮影モードの間の切り替えが可能である。同時撮影モードは、鑑賞画像生成部123と距離画像算出部103aが共通の視差画像を用いるモードである。また、順次撮影モードは、鑑賞画像生成部123が用いる視差画像の撮影を行った後に距離画像算出部103aが用いる視差画像を撮影するモードである。同時撮影モードが設定されている場合には処理はS2102に進み、順次撮影モードが選択されている場合には処理はS2103に進む。S2102では、あるタイミングで、撮像系130aと撮像系130bがワンショットで撮影して視差画像を得る。この視差画像は、鑑賞画像の生成および距離画像(計測画像)の生成のための視差画像である。鑑賞画像生成部123と距離画像算出部103aは、共通の視差画像を用いて、それぞれ鑑賞画像と距離画像を生成、算出し、画像計測を実施する。なお、S2102において、第3実施形態で説明した処理(
図17の処理)を実行するようにしてもよい。
【0179】
一方、順次撮影モードでは、観賞画像を生成するための視差画像と距離画像を算出するための視差画像を異なる撮影条件で撮影したい場合に選択される。まずS2103において、制御部110aは、ユーザ操作に応じて鑑賞画像用の視差画像を撮影し、鑑賞画像生成部123はその視差画像を用いて鑑賞画像を生成する。撮影の際には、ユーザは、画像計測に最適な撮影条件のことは考慮せず、観賞画像のクオリティを向上する意図に従って撮影条件を設定すればよい。例えばシャッタースピードを遅くして動きボケを加えて動感を出したり、絞りを開放してボケ味を加えたりしてもよい。また露出補正をかけて例えば金属面などの質感を強調する撮影を行ってもよい。また、植物などの撮影では照明を逆光としてプラス露出補正によりテクスチャを飛ばしてもよい。このように、鑑賞画像の撮影のステップを計測画像の撮影のステップから分離することで、鑑賞画像の撮影における撮影条件への制約を生じなくさせることができる。必ずしも距離画像を生成するのに最適な撮影条件が、主観的に品質の高い鑑賞画像とはならない。例えばボケを使って主被写体を強調したり、諧調補正を用い材質の質感を強調したりするような場合には、最高の鑑賞画像を撮影する撮影条件と計測画像の最適撮影条件の間に乖離が生じることが多い。したがって、ユーザの撮影意図に沿った鑑賞画像を得たい場合には、順次撮影モードが有効である。
【0180】
鑑賞画像用の視差画像の撮影を終えると、S2104において、制御部110aは、計測用の距離画像を算出するための視差画像の撮影を行う。距離画像用の視差画像を撮影する際には、S2103にて撮影した鑑賞画像に対して視点と視線方向が略一致した状態で撮影が行われる。S2104の処理は第3実施形態のS1705の処理と同様であり、アシスト部105aによる撮影アシストを用いることができる。
【0181】
なお、第3実施形態の説明では、表示部120を構成するGUIインターフェースの表示部に先に撮影した鑑賞画像を表示してユーザが自身で位置や撮影方向を調整する例を説明した。すなわち、第3実施形態では、先に撮影した観賞画像と現在のライブビュー画像を表示部120に表示して撮影をアシストする例を示した。しかしながら、このようなアシストのみでは幾何学的な空間関係をイメージできないユーザには撮像装置100をどのように動かせばよいのかが分からない可能性がある。さらに晴天の屋外など表示部120のGUI表示が見難い場合には、撮像装置100をどの程度並進させればよいのか、または回転させればよいのか分からない可能性がある。このため、計測のための視差画像の撮影に時間がかかるだけでなく、構図の再現精度の乖離(鑑賞画像と計測用の画像の乖離)が大きくなる可能性がある。
【0182】
第4実施形態では、このような事態の発生を抑制し、ユーザの利便性を向上させるために、相対位置姿勢推定を用いる撮影アシストを行う。アシスト部105aは、先に撮影した観賞画像と、撮像装置100がスルー画像としてライブビュー取得している画像との間での相対位置姿勢推定を用いた撮影アシストを行う。このアシストにより、計測画像の撮影では、S2103にて先に撮影した鑑賞画像に対し視点と視線方向が略一致した視点位置と視線方向にユーザ(撮像系130)を誘導することができる。
【0183】
鑑賞画像の撮影時の撮像系130の位置姿勢と計測画像に対応する画像を撮影している撮像装置100の相対位置姿勢の算出方法は、例えば、第1実施形態((数5)~(数22))で説明したとおりである。計測画像に対応する画像はライブビューで表示部120にスルー表示しているシャッター押下前の画像またはそれを用いて計算した距離画像である。
【0184】
図18(c)に撮像装置100の相対位置姿勢算出を用いた撮影アシスト例を示す。アシスト部105aは、相対位置姿勢量と(数22)で表される一致状態の差を補正するようにユーザにアドバイスを実施する。なお、アシスト部105aによるアシストは、
図18(c)に示されるように撮像装置100の回転量や並進量を表示部120に表示することによりなされてもよいし、
図18(d)に示されるように音声インターフェースを用いてなされてもよい。
【0185】
また、相対位置姿勢推定を用いた撮影アシストには、ライブビューのスルー画像表示用にキャプチャされる画像を用いてリアルタイムで距離画像算出を行って得られる距離画像が用いられてもよい。距離画像の情報を用いた相対位置姿勢の推定方法は、例えば、第1実施形態((数23)~(数43))で説明したとおりである。アシスト部105aは、鑑賞画像とライブビュー状態の現在の画像のカメラ座標間の位置姿勢の関係が、略一致の位置姿勢関係に近づくように撮像装置の位置と姿勢について撮影アシストを行う。
【0186】
なお、S2103で視差画像を撮影した際の撮像系の位置姿勢と、S2104で視差画像を撮影した際の撮像系の位置姿勢が僅かにずれている場合には、距離画像に対して視点変換処理を実行してもよい。視点変換処理により、距離画像を幾何学的に視点変換して鑑賞画像と略一致する位置姿勢による距離画像が取得される。距離画像に対する視点変換の処理は、例えば第1実施形態において(数44)~(数46)を用いて説明したとおりである。
【0187】
また、上記では、S1705で複数回の撮影を行って得られた複数の距離画像を用いて1枚の距離画像を得てもよいことを説明したが、それら複数の距離画像を取得する際に撮影位置を撮影条件として変更して撮影してもよい。例えば金属表面における鏡面反射が生じて距離計測ができない場合などは視点位置を変更して鏡面反射を回避して計測用の距離画像を取得するようにしてもよい。また、オクルージョンが発生する場合にも、それを回避するように視点位置を変更して距離画像を取得するようにしてもよい。距離画像を撮影した周辺の視点で距離画像を追加撮影し、得られた複数の距離画像を統合してオクルージョン部を別視点の情報から補間する方法については、第1実施形態にて、(数47)~(数51)を用いて説明したとりである。なお、鏡面反射を回避する場合も、オクルージョンの回避と同様の方法を適用できる。
【0188】
なお、第4実施形態においては、金属表面における鏡面反射により距離計測ができない場合、物体の存在によりオクルージョンの発生により距離計測ができない場合を例示したがこれに限られるものではない。例えば窓ガラス越しの撮影計測において計測時には映り込みを回避したいような場合にも応用可能である。観賞画像としては映り込みを入れたい場合でも、長さや面積の計測においては対象の被写体領域に一部でも被ってしまうとすべての計測が実施不能となる場合、あるいは、映り込み部の値が除かれた間違った計測結果となってしまう場合、が多いためである。
【0189】
なお、第4実施形態においては、鑑賞画像を先に撮影して視点変換する例を説明したが、計測用の撮影を先に行い、鑑賞画像を後に撮影してもよい。
【0190】
以上説明したように、第4実施形態によれば、撮像装置の鑑賞画像に対応した距離画像を基に実空間での被写体の長さや面積を鑑賞画像上で計測可能する計測撮影機能において、撮影前に鑑賞画像と計測用画像の同時撮影と順次撮影を切り替え可能にする。これにより、最高の鑑賞画像を撮影する撮影条件と距離画像に最適な撮影条件が異なる場合にも撮影意図に沿った鑑賞画像に対する計測結果を得ることができる。
【0191】
なお、上記各実施形態では、撮像装置100としてデジタルカメラを例示したが、本発明はこれに限られるものではない。例えば、実施形態で示した光学系と撮像部の機能を有する電子機器(スーマートフォン、タブレットなど)であれば、本発明を適用することができる。
【0192】
(他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0193】
本発明のプログラムは、所定の演算機能を持つコンピュータ、撮像部、表示部、を備えた撮像装置のコンピュータにインストールすることによって、広角のカラー画像に対し光軸方向と画角が略一致の距離画像を撮影することができる。そして空間の広がりを演出した広角の前記カラー画像及び距離画像を用いた画像計測が実施できる。本発明のプログラムは、記録媒体の他、インターネットを通じて頒布することも可能である。
【0194】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0195】
100:撮像装置、101:光学系、102:撮像部、103:距離画像算出部、104:光学系制御部、105:アシスト部、106:画像計測部