(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0007】
以下、実施の形態について図面を参照して説明する。開示はあくまで一例にすぎず、以下の実施形態に記載した内容により発明が限定されるものではない。当業者が容易に想到し得る変形は、当然に開示の範囲に含まれる。説明をより明確にするため、図面において、各部分のサイズ、形状等を実際の実施態様に対して変更して模式的に表す場合もある。複数の図面において、対応する要素には同じ参照数字を付して、詳細な説明を省略する場合もある。
【0008】
まず、
図1を参照して、一実施形態に係る撮像装置の構成を説明する。なお、撮像装置は測距装置と称されても良い。撮像装置1は、画像を撮像し、撮像された画像を用いて撮影地点から被写体までの距離(奥行きとも称する)を推定する。
この撮像装置1は、画像を撮像する撮像部11と、撮像された画像を処理する画像処理部12とを備える。撮像装置1は、撮像部11と画像処理部12とを備える一つの装置として実現されても良いし、撮像部11に相当する撮像処理装置と、画像処理部12に相当する画像処理装置とのような複数の装置で構成されるシステムであっても良い。撮像部11は、被写体の画像と当該被写体までの距離に関する情報とを一度の撮影で取得する機能を有する。撮像部11は、この機能により、例えば、撮像時の被写体までの距離情報が符号化された画像(以下では「距離画像」と称する)を取得する。また、画像処理部12は、例えば、コンピュータ、または各種電子機器に内蔵される組み込みシステムとして実現され得る。
【0009】
図1に示すように、撮像部11は、フィルタ21と、レンズ22と、イメージセンサ23とを備える単眼カメラにより構成される。フィルタ21は、互いに異なる波長帯域(色成分)の光を透過する複数のフィルタ領域を含む。フィルタ21は、例えば、2色のカラーフィルタ領域である第1フィルタ領域211と、第2フィルタ領域212とで構成される。
【0010】
イメージセンサ23は、フィルタ21とレンズ22とを透過した光を受光し、受光した光を電気信号に変換(光電変換)する。イメージセンサ23には、例えばCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)が用いられる。イメージセンサ23は、少なくとも2種類の撮像素子を含み、例えば、赤色(R)の光を受光する撮像素子を含む第1センサ231と、緑色(G)の光を受光する撮像素子を含む第2センサ232と、青色(B)の光を受光する撮像素子を含む第3センサ233とを備える。各撮像素子は、対応する波長帯域の光を受光し、受光した光を電気信号に変換する。この電気信号をA/D変換することによりカラー画像を生成することができる。以下では、画像のR成分、G成分、B成分である色成分画像(波長成分画像とも称する)を、それぞれR画像、G画像、B画像とも称する。なお、赤色、緑色、青色の撮像素子毎の電気信号を用いて、R画像、G画像、B画像をそれぞれ生成することもできる。つまり、撮像部11は、一度の撮像(ワンショット)で、カラー画像、R画像、G画像、及びB画像の少なくとも一つを生成することができる。
【0011】
図2は、
図1に示す画像処理部12のシステム構成の一例を示す図である。
図2に示すように、画像処理部12は、CPU31、RAM32、不揮発性メモリ33、入出力部34及び通信部35を有し、また、CPU31、RAM32、不揮発性メモリ33、入出力部34及び通信部35を相互に接続するバス36を有する。
【0012】
CPU31は、画像処理部12内の様々なコンポーネントの動作を制御する。CPU31は、単一のプロセッサであっても良いし、複数のプロセッサで構成されていても良い。CPU31は、不揮発性メモリ33からRAM32にロードされる様々なプログラムを実行する。これらプログラムは、オペレーティングシステム(OS)や様々なアプリケーションプログラムを含む。アプリケーションプログラムは、画像処理プログラム32Aを含む。この画像処理プログラム32Aは、被写体を撮像した少なくとも一つの画像を用いて、撮影地点から当該被写体までの距離を推定し、当該推定した距離を統計的に解析することにより、当該被写体までの距離を算出するための命令群を含む。また、RAM32は、主記憶装置として用いられる記憶メディアである。不揮発性メモリ33は、補助記憶装置として用いられる記憶メディアである。
【0013】
入出力部34は、例えば、撮像部11から画像を入力したり、ユーザからの指示を入力したり、表示画面を図示しない表示部へ出力したり、といった入出力を実行するモジュールである。ユーザからの指示は、キーボード、ポインティングデバイス、操作ボタン等の操作に伴って入力されても良いし、図示しない表示部がタッチスクリーンディスプレイである場合、タッチスクリーンディスプレイ上でのタッチ操作に伴って入力されても良い。
【0014】
通信部35は、有線通信または無線通信を実行するように構成されたデバイスである。通信部35は、信号を送信する送信部と信号を受信する受信部とを含む。通信部35は、ネットワークを介した外部機器との通信、周辺に存在する外部機器との通信等を実行する。この外部機器には撮像部11(撮像処理装置)も含まれ得る。つまり、通信部35は、撮像部11から画像を受信しても良い。
【0015】
図3は、画像処理部12のCPU31によって実行される画像処理プログラム32Aの機能構成を例示する。画像処理プログラム32Aは、画像取得部41、距離推定部42、統計強度算出部43及び統計処理部44、等を備える。なお、各機能部が有する機能については後述するため、ここではその詳しい説明は省略する。
【0016】
ここで、
図4を参照して、
図1に示すフィルタ21の構成の例について説明する。
フィルタ21は、互いに異なる光の波長帯域(色成分)を透過する複数のフィルタ領域を有し、2以上のフィルタ領域は、撮像装置1の光学中心213に対して非点対称な形状である。フィルタ21は、例えば、2色のカラーフィルタ領域である第1フィルタ領域211と第2フィルタ領域212とで構成される。フィルタ21の中心は、撮像装置1(レンズ22)の光学中心213と一致している。第1フィルタ領域211及び第2フィルタ領域212はそれぞれ、光学中心213に対して非点対称である形状を有している。また、例えば、二つのフィルタ領域211,212は重複せず、且つ二つのフィルタ領域211,212によってフィルタ21の全領域を構成している。
図4に示す例では、第1フィルタ領域211及び第2フィルタ領域212はそれぞれ、円形のフィルタ21が光学中心213を通る線分で分割された半円の形状を有している。
【0017】
第1フィルタ領域211は、例えばイエロー(Y)のフィルタ領域であり、第2フィルタ領域212は、例えばシアン(C)のフィルタ領域である。なお、第1フィルタ領域211がマゼンタ(M)のフィルタ領域であって、第2フィルタ領域212がイエロー(Y)のフィルタ領域であっても良い。さらに、第1フィルタ領域211がシアン(C)のフィルタ領域であって、第2フィルタ領域212がマゼンタ(M)のフィルタ領域であっても良い。
【0018】
各カラーフィルタが透過する波長帯域は異なる。一つのフィルタ領域が透過する光の波長帯域の一部と、別の一つのカラーフィルタ領域が透過する光の波長帯域の一部は、例えば重複する。一つのカラーフィルタ領域が透過する光の波長帯域は、例えば別の一つのカラーフィルタ領域が透過する光の波長帯域を含んでも良い。
【0019】
なお、第1フィルタ領域211と第2フィルタ領域212とは、任意の波長帯域の透過率を変更するフィルタ、任意方向の偏光光を通過させる偏光フィルタ、または任意の波長帯域の集光パワーを変更するマイクロレンズであっても良い。例えば、任意の波長帯域の透過率を変更するフィルタは、原色フィルタ(RGB)、補色フィルタ(CMY)、色補正フィルタ(CC−RGB/CMY)、赤外線・紫外線カットフィルタ、NDフィルタ、または遮蔽板であっても良い。第1フィルタ領域211や第2フィルタ領域212がマイクロレンズである場合には、レンズ22により光線の集光の分布に偏りが生じることでぼけの形状が変化する。
【0020】
以下では、説明を分かり易くするために、
図4に示すフィルタ21において、第1フィルタ領域211がイエロー(Y)のフィルタ領域であり、第2フィルタ領域212がシアン(C)のフィルタ領域である場合を主に例示する。
例えば、
図4に示したフィルタ21がカメラの開口部に配置されることにより、開口部が2色で2分割された構造開口であるカラー開口が構成される。このカラー開口を透過する光線に基づいて、イメージセンサ23は画像を生成する。イメージセンサ23に入射する光の光路上において、フィルタ21とイメージセンサ23との間にレンズ22が配置されても良い。イメージセンサ23に入射する光の光路上において、レンズ22とイメージセンサ23との間にフィルタ21が配置されても良い。レンズ22が複数設けられる場合、フィルタ21は、二つのレンズ22の間に配置されても良い。
【0021】
第2センサ232に対応する波長帯域の光は、イエローの第1フィルタ領域211とシアンの第2フィルタ領域212の両方を透過する。第1センサ231に対応する波長帯域の光は、イエローの第1フィルタ領域211を透過し、シアンの第2フィルタ領域212を透過しない。第3センサ233に対応する波長帯域の光は、シアンの第2フィルタ領域212を透過し、イエローの第1フィルタ領域211を透過しない。
【0022】
なお、ある波長帯域の光がフィルタまたはフィルタ領域を透過するとは、フィルタまたはフィルタ領域が高い透過率でその波長帯域の光を透過し、そのフィルタまたはフィルタ領域による当該波長帯域の光の減衰(すなわち、光量の低下)が極めて小さいことを意味する。また、ある波長帯域の光がフィルタまたはフィルタ領域を透過しないとは、光がフィルタまたはフィルタ領域に遮蔽されることであり、例えば、フィルタまたはフィルタ領域が低い透過率でその波長帯域の光を透過し、そのフィルタまたはフィルタ領域による当該波長帯域の光の減衰が極めて大きいことを意味する。例えば、フィルタまたはフィルタ領域は、ある波長帯の光を吸収することにより光を減衰させる。
【0023】
図5は、第1フィルタ領域211及び第2フィルタ領域212の透過率特性の例を示す。なお、可視光の波長帯域のうち700nmより長い波長の光に対する透過率は図示を省略してあるが、その透過率は700nmの場合に近いものである。
図5に示すイエローの第1フィルタ領域211の透過率特性214では、波長帯域が620nmから750nm程度のR画像に対応する光と、波長帯域が495nmから570nm程度のG画像に対応する光とが高い透過率で透過され、波長帯域が450nmから495nm程度のB画像に対応する光がほとんど透過されていない。また、シアンの第2フィルタ領域212の透過率特性215では、B画像及びG画像に対応する波長帯域の光が高い透過率で透過され、R画像に対応する波長帯域の光がほとんど透過されていない。
【0024】
したがって、R画像(第1センサ231)に対応する波長帯域の光はイエローの第1フィルタ領域211のみを透過し、B画像(第3センサ233)に対応する波長帯域の光はシアンの第2フィルタ領域212のみを透過する。G画像(第2センサ232)に対応する波長帯域の光は、第1フィルタ領域211と第2フィルタ領域212を透過する。
【0025】
このようなR画像、B画像及び画像上のぼけの形状は被写体までの距離dに応じて、より詳細には、距離dと合焦距離dfとの差分に応じて変化する。合焦距離dfは、撮像位置から、画像上にぼけが発生しない(すなわち、ピントが合う)合焦位置までの距離である。また、各フィルタ領域211,212が光学中心213に対して非点対称な形状であるので、R画像上及びB画像上のぼけの形状は、被写体が合焦距離dfよりも手前にあるか、それとも奥にあるかによって異なり、また偏っている。R画像上及びB画像上のぼけの偏りの方向は、撮像位置から見て、被写体が合焦距離dfよりも手前にあるか、それとも奥にあるかによってそれぞれ反転する。
【0026】
図6を参照して、フィルタ21が配置されたカラー開口による光線変化と、ぼけの形状とについて説明する。
被写体210が合焦距離dfよりも奥にある場合(d>df)、イメージセンサ23によって撮像された画像にはぼけが発生する。この画像のぼけの形状を示すぼけ関数(PSF: Point Spread Function)は、R画像、G画像及びB画像でそれぞれ異なっている。例えば、R画像のぼけ関数201Rは左側に偏ったぼけの形状を示し、G画像のぼけ関数201Gは偏りのないぼけの形状を示し、B画像のぼけ関数201Bは右側に偏ったぼけの形状を示している。
【0027】
また、被写体210が合焦距離dfにある場合(d=df)、イメージセンサ23によって撮像された画像にほとんどぼけが発生しない。この画像のぼけの形状を示すぼけ関数は、R画像、G画像及びB画像でほぼ同じである。すなわち、R画像のぼけ関数202R、G画像のぼけ関数202G及びB画像のぼけ関数202Bは、偏りのないぼけの形状を示している。
【0028】
また、被写体210が合焦距離dfよりも手前にある場合(d<df)、イメージセンサ23によって撮像された画像にはぼけが発生する。この画像のぼけの形状を示すぼけ関数は、R画像、G画像及びB画像でそれぞれ異なっている。すなわち、R画像のぼけ関数203Rは右側に偏ったぼけの形状を示し、G画像のぼけ関数203Gは偏りのないぼけの形状を示し、B画像のぼけ関数203Bは左側に偏ったぼけの形状を示している。
【0029】
このように、被写体210が合焦距離dfよりも手前または奥にある場合、イエローの第1フィルタ領域211を透過した光線に基づくR画像のぼけ関数201R,203Rは非対称であり、またシアンの第2フィルタ領域212を透過した光線に基づくB画像のぼけ関数201B,203Bも非対称である。そして、そのR画像のぼけ関数201R,203Rは、B画像のぼけ関数201B,203Bとは異なっている。
【0030】
撮像装置1の画像処理部12(の画像処理プログラム32A)は、このような特性を利用して、被写体までの距離を算出する。
画像取得部41は、ぼけ関数が偏りのないぼけの形状を示すG画像を基準画像として取得する。また、画像取得部41は、ぼけ関数が偏ったぼけの形状を示すR画像及びB画像の一方または両方を対象画像として取得する。対象画像と基準画像とは、1つの撮像装置により同時刻に撮像された画像である。
【0031】
距離推定部42は、複数のぼけ補正フィルタのうち、対象画像に付加すると、基準画像との相関がより高くなるぼけ補正フィルタを求めることで、被写体までの距離を推定する。また、距離推定部42は、推定した距離から、距離マップ(距離画像)を生成する。複数のぼけ補正フィルタは、対象画像に対して、相互に異なるぼけを付加する関数である。ここで、距離推定部42による距離推定処理の詳細について説明する。
【0032】
距離推定部42は、取得された対象画像と基準画像とをもとに、対象画像に異なるぼけを付加することで、対象画像のぼけ形状を補正した補正画像を生成する。ここでは、距離推定部42は、被写体までの距離が任意の距離であると仮定して作成した複数のぼけ補正フィルタを用いて、対象画像のぼけ形状を補正した補正画像を生成し、補正画像と基準画像との相関がより高くなる距離を求めることで、被写体までの距離を算出するものとする。
【0033】
撮像画像のぼけ関数は、撮像装置1の開口形状と、被写体の位置とピント位置との距離とにより決定する。
図7は、基準画像のぼけ関数の一例を示す図である。
図7に示すように、第2センサ232に対応する波長領域が透過する開口形状は点対称形である円形状であるため、ぼけ関数で示されるぼけの形状は、ピント位置の前後で変化はなく、被写体とピント位置との間の距離の大きさによってぼけの幅が変化する。このようなぼけの形状を示すぼけ関数は、被写体の位置とピント位置との間の距離の大きさによってぼけの幅が変化するガウス関数として表現できる。なお、ぼけ関数は、被写体の位置とピント位置との距離によってぼけの幅が変化するピルボックス関数として表現しても良い。
【0034】
図8は、対象画像のぼけ関数の一例を示す図である。なお、各図の中心(x
0,y
0)=(0,0)である。
図8に示すように、対象画像(例えばR画像)のぼけ関数は、被写体がピント位置よりも遠方にあるd>dfの場合、x>0において第1フィルタ領域211での光減衰によってぼけの幅が減衰するガウス関数として表現できる。また、被写体がピント位置よりも近方にあるd<dfの場合、x<0において第1フィルタ領域211での光減衰によってぼけの幅が減衰するガウス関数として表現できる。
【0035】
また、基準画像のぼけ関数と対象画像のぼけ関数とを解析することにより、対象画像のぼけ形状を基準画像のぼけ形状へ補正するための複数のぼけ補正フィルタを求めることができる。
図9は、ぼけ補正フィルタの一例を示す図である。なお、
図9に示すぼけ補正フィルタは、
図4に示したフィルタ21を用いた場合のぼけ補正フィルタである。
図9に示すように、ぼけ補正フィルタは、第1フィルタ領域211と第2フィルタ領域212の境界の線分の中心点を通り、この線分に直交する直線上(直線付近)に分布する。その分布は、想定する距離毎にピーク点(直線上の位置、高さ)とピーク点からの広がり方とが異なる
図9に示すような山状の分布となる。対象画像のぼけ形状は、ぼけ補正フィルタを用いて、任意の距離を想定した様々なぼけ形状に補正することができる。つまり、任意の距離を想定した補正画像を生成することができる。
【0036】
距離推定部42は、生成した補正画像と基準画像とのぼけ形状が最も近似または一致する距離を撮像画像の各画素から求める。ぼけ形状の一致度は、各画素を中心とする任意サイズの矩形領域における補正画像と基準画像との相関を計算すれば良い。ぼけ形状の一致度の計算は、既存の類似度評価手法を用いれば良い。距離推定部42は、補正画像と基準画像とで相関が最も高くなる距離を求めることで、各画素について被写体までの距離を推定する。
【0037】
例えば、既存の類似度評価手法は、SSD(Sum of Squared Difference)、SAD(Sum of Absolute Difference)、NCC(Normalized Cross-Correlation)、ZNCC(Zero-mean Normalized Cross-Correlation)、Color Alignment Measure等を利用すれば良い。
【0038】
このように、距離推定部42は、フィルタ領域に応じた対象画像のぼけ形状を、距離を仮定したぼけ補正フィルタにより補正した補正画像を生成し、生成した補正画像と基準画像との相関がより高くなる距離を求めることで、被写体までの距離を推定する。
また、距離推定部42は、推定した距離から距離マップ(距離画像)を生成する。距離画像は、例えば、各画素の画素値が距離を示す画像として生成される。例えば、合焦位置の手前から奥に向かって、波長の長い色を示す値(赤)から波長の短い色を示す値(紫)が割り当てられる。このように、距離画像は、被写体までの距離を示す情報が画像の領域に対応させてマッピングされたものであり、被写体までの距離を示す情報として画素値が用いられるものである。画像として生成される距離画像は、表示できるので、色で、例えば複数の被写体間の奥行き方向の位置関係を確認することができる。距離推定部42は、生成した距離画像を含む出力情報を生成し、これを統計強度算出部43に出力する。
【0039】
以上説明したように、撮像装置1は、撮像された画像上のぼけに基づいて、被写体までの距離を推定し、距離画像を生成することができる。しかしながら、撮像された画像上のぼけに基づいて被写体までの距離を推定する方法では、例えば、遠方の被写体を撮像した際に、霧や陽炎といった大気障害に起因して画像が劣化してしまうので、距離の推定精度が低下する可能性がある。大気障害による影響は、光線が空気中を通過する距離が長い程顕著に現れるため、被写体が撮影地点から遠方にある程、画像は劣化し、距離の推定精度が低下する可能性がある。このため、大気障害に起因して画像が劣化してしまったとしても、被写体までの距離を精度良く取得可能な新たな技術の実現が要求されている。
【0040】
そこで、本実施形態に係る撮像装置1(画像処理部12)は、統計強度算出部43及び統計処理部44を備えている。統計強度算出部43及び統計処理部44は、現在生じている大気障害の度合いを考慮した上で、距離推定部42によって推定された被写体までの距離を対象にした統計処理を実行し、当該被写体までの距離を算出する。
【0041】
統計強度算出部43は、大気障害が画像に与える影響の度合いを推定し、距離推定部42によって推定された被写体までの距離を対象にして実行される統計処理の強度(以下では「統計強度」と称する)を算出する。なお、統計強度は「補正強度」または「大気障害除去強度」と称されても良い。本実施形態において、統計強度は、統計処理部44による統計処理時に用いられるフィルタのサイズを規定するものである。あるいは、フィルタサイズそのものを示すとしても良い。
【0042】
ここで、
図10のフローチャートを参照しながら、統計強度算出部43によって実行される統計強度算出処理の手順の一例を説明する。但し、ここでは、統計処理部44による統計処理の対象が画像全体である場合の統計強度算出処理について説明する。すなわち、一つの画像に対して一つの統計強度が算出される場合について説明する。
【0043】
まず、統計強度算出部43は、距離推定部42によって推定された被写体までの距離を示す情報を含んだ距離画像を取得する(ステップS1)。続いて、統計強度算出部43は、取得された距離画像を構成する複数の画素の画素値の総和を算出する(ステップS2)。上記したように、距離画像は、各画素の画素値が距離を示す画像であるため、距離画像を構成する各画素の画素値の総和は、被写体までの距離の総和と同じことを意味する。
【0044】
次に、統計強度算出部43は、算出された画素値の総和と、取得された距離画像の画素数とに基づいて、距離画像を構成する複数の画素の画素値の平均を算出する。具体的には、算出された画素値の総和を、取得された距離画像の画素数で除算して、画素値の平均が算出される(ステップS3)。上記したように、距離画像を構成する各画素の画素値の総和は、被写体までの距離の総和と同じことを意味するため、画素値の平均は、距離画像に含まれる(写っている)被写体までの距離の平均と同じことを意味する。
【0045】
統計強度算出部43は、算出された画素値の平均が予め設定された第1閾値以上であるか否かを判定する(ステップS4)。
一般的に、大気障害による影響は、光線が空気中を通過する距離が長い程顕著に現れる傾向がある。第1閾値はこの傾向を踏まえて設定される値であり、大気障害による影響が画像に顕著に現れ始めるとされる被写体までの距離であって、例えば200mに相当する画素値が第1閾値として設定される。なお、第1閾値はユーザによって任意に変更されても良いものとする。
【0046】
算出された画素値の平均が予め設定された第1閾値以上であると判定された場合(ステップS4のYES)、統計強度算出部43は、被写体が撮影地点から遠くに離れた位置に存在し、撮像された画像は大気障害による影響を受けて劣化している可能性が高いと判断する。その後、統計強度算出部43は、統計強度として第1強度(例えば、強度「強」と表現しても良い)を算出し(ステップS5)、後述するステップS7の処理に進む。なお、第1強度とは、統計処理部44による統計処理時に多くの情報をサンプリングすることが可能なフィルタのサイズに対応する強度である。
【0047】
一方で、算出された画素値の平均が予め設定された第1閾値未満であると判定された場合(ステップS4のNO)、統計強度算出部43は、被写体が撮影地点から近い位置に存在し、撮像された画像は大気障害による影響を受けておらず、劣化している可能性は低いと判断する。その後、統計強度算出部43は、統計強度として第2強度(例えば、強度「弱」と表現しても良い)を算出し(ステップS6)、後述するステップS7の処理に進む。なお、第2強度とは、統計処理部44による統計処理時のサンプリング数が第1強度よりも少ないフィルタのサイズに対応する強度である。
しかる後、統計強度算出部43は、算出された統計強度を含む出力情報を生成し、これを統計処理部44に出力し(ステップS7)、統計強度算出処理を終了させる。
【0048】
図11は、統計強度と被写体までの距離との関係性を示す模式図である。既に説明したように、被写体が撮影地点から遠くに離れた位置に存在する場合、撮像された画像は大気障害による影響を受けて劣化している可能性が高いため、
図11の左側に示されるように、第1強度に対応したサイズのフィルタが後述する統計処理時に使用される。また、被写体が撮影地点から近い位置に存在する場合には、撮像された画像は大気障害によって劣化している可能性が低いため、
図11の右側に示されるように、第1強度に対応したサイズのフィルタよりも小さい第2強度に対応したサイズのフィルタが後述する統計処理時に使用される。
【0049】
なお、詳細については後述するが、統計処理部44による統計処理時に用いられるフィルタのサイズは大きい程サンプリング数が多く、被写体までの距離の推定精度を向上させることが可能である一方で、距離画像のコントラストを低下させてしまうといった不都合がある。このため、大気障害による影響があまりないような場合、あまり大きなサイズのフィルタを利用しない(または統計処理を実行しない)方が好ましいといった事情がある。しかしながら、本実施形態においては、統計強度算出部43が上記した一連の処理により、撮像された画像が大気障害による影響をどの程度受けているかを推定し、現在生じている大気障害の度合いに応じたフィルタのサイズを選択することが可能であるため(または、現在生じている大気障害の度合いに応じて統計処理の実行可否を選択することが可能であるため)、上記した事情を考慮した上での距離推定を可能にする。
【0050】
統計処理部44は、統計強度算出部43によって算出された統計強度に応じたサイズのフィルタを用いて統計処理を実行し、撮影地点から被写体までの距離を算出する。統計処理部44によって実行される統計処理は、平均値フィルタを用いた統計処理であっても良いし、中央値フィルタ(メディアンフィルタ)を用いた統計処理であっても良いし、DNN(Deep Neural Network)等の学習型フィルタを用いた統計処理であっても良い。すなわち、統計処理部44は、既存の統計フィルタのうちの任意のフィルタを用いた統計処理を実行することが可能である。
【0051】
ここで、
図12のフローチャートと、
図13の模式図とを参照しながら、統計処理部44によって実行される統計処理の手順の一例を説明する。なお、ここでは一例として、平均値フィルタを用いた場合の統計処理について説明する。
まず、統計処理部44は、距離推定部42によって推定された被写体までの距離を示す情報を含んだ距離画像と、統計強度算出部43によって算出された統計強度を示す出力情報とを取得する(ステップS11)。続いて、統計処理部44は、取得された出力情報によって示される統計強度に応じたサイズのフィルタ(この場合平均値フィルタ)を選択する(ステップS12)。なお、以下では、
図13に示すように、3×3サイズの平均値フィルタFが選択された場合を想定して、説明する。また、この平均値フィルタFに設定されている重み係数W
1〜W
9は全て1であるものとする。
【0052】
統計処理部44は、取得された距離画像を構成する複数の画素のうちの一つの画素に着目する(ステップS13)。なお、以下では、
図13に示す画素P
22に着目した場合の処理について説明する。
【0053】
統計処理部44は、着目した画素P
22を平均値フィルタFの中心とした時に、当該平均値フィルタFに含まれる画素の画素値を取得する。詳しくは、統計処理部44は、着目した画素P
22の画素値と、当該画素P
22の周囲に位置する8つの画素P
11〜P
13,P
21,P
23,P
31〜P
33の画素値とを取得する(ステップS14)。
【0054】
統計処理部44は、取得された9つの画素P
11〜P
13,P
21〜P
23,P
31〜P
33の画素値の総和(より詳しくは、画素値×重み係数の総和)を算出する(ステップS15)。その後、統計処理部44は、算出された画素値の総和を9で除算して、画素値の平均を算出する(ステップS16)。
【0055】
統計処理部44は、算出された画素値の平均を、着目した画素P
22の新たな画素値として設定する。換言すると、統計処理部44は、着目した画素P
22の画素値を、算出された画素値の平均に置き換える(ステップS17)。既に説明したように、距離画像においては、被写体までの距離を示す情報として画素値が用いられているため、着目した画素P
22に新たに設定された画素値は、大気障害による影響を除去した上で算出された被写体までの距離を意味する。
【0056】
しかる後、統計処理部44は、全ての画素に着目したか否かを判定する(ステップS18)。全ての画素に着目していないと判定された場合(ステップS18のNO)、上記したステップS13の処理に戻り、まだ着目していない画素に着目して同様な処理が実行される。一方で、全ての画素に着目したと判定された場合(ステップS18のYES)、統計処理を終了させる。
【0057】
ここで、画像端に位置する画素に着目した場合の処理方法について補足的に説明する。なお、画像端に位置する画素とは、当該画素に着目し、当該画素をフィルタの中心にした時に、フィルタサイズ分の画素をフィルタ内に含めることができない画素のことを言う。このため、画像端に位置する画素の数は、用いられるフィルタのサイズに応じて変化し、例えば、3×3サイズのフィルタが用いられた場合、画像の周囲1画素分(
図14の斜線部分)が画像端に位置する画素となり、5×5サイズのフィルタが用いられた場合、画像の周囲2画素分が画像端に位置する画素となる。
上記したステップS13の処理において、画像端に位置する画素に着目した場合、統計処理部44は、以下に示す方法のうちのいずれかを用いて上記したステップS14の処理を実行し、不足分の画素値を取得する。
・画像端に位置する画素には着目しない。
・不足分の画素値は全て0とみなした上で、不足分の画素値を取得する。
・不足分の画素値は、画像端に位置する画素の画素値と同一であるとみなした上で(換言すると、画像端に位置する画素の画素値でパディングして)、不足分の画素値を取得する。
・不足分の画素値は、当該画像には上下(または左右)が逆の画像がくっついていると仮定した上で、当該逆の画像から不足分の画素値を取得する。
【0058】
さらにここで、フィルタサイズが大きくなることにより生じる不都合(コントラストの低下)について補足的に説明する。なお、ここでは説明の簡略化を目的として、
図15に示すように、横方向に並んだ3つの画素P
1〜P
3によって構成される画像に対して、3×1サイズの平均値フィルタ(なお、平均値フィルタに設定されている重み係数は全て1であるものとする)を用いた上記統計処理が実行される場合を想定する。また、大気障害による影響がない場合の画素P
1〜P
3の各画素値は順に50、60、70であり、これを真の値と称するものとする。一方で、実際には画素P
2は大気障害による影響を受けており、画素P
2の画素値は30に劣化(変化)してしまっているものとする。さらに、ここでは、統計処理部44は、画像端に位置する画素P
1,P
3に着目した場合には、画像端に位置する画素の画素値でパディングして、不足分の画素値を取得するものとする。
【0059】
この場合、上記した一連の統計処理により、画素P
1の画素値は43(={50+50+30}/3)となり、画素P
2の画素値は50(={50+30+70}/3)となり、画素P
3の画素値は57(={30+70+70}/3)となる。これによれば、大気障害による影響を受けている画素P
2の画素値は30から50に変化するので、真の値である60との誤差を30から10に縮めることができる。
一方で、大気障害による影響を受けていない画素P
1の画素値は50から43に変化するので、統計処理前には生じていなかった誤差が生じてしまうことになる。同様に、大気障害による影響を受けていない画素P
3の画素値もまた70から57に変化するので、統計処理前には生じていなかった誤差が生じてしまうことになる。さらに、画素P
1と画素P
3の画素値の差は、統計処理前は20であったにも関わらず、統計処理後は14になってしまっており、中間階調の画素が増えてしまっていることから、当該画像のコントラストは低下してしまうことになる。
すなわち、大気障害による影響を受けていない画素からすると、フィルタサイズが大きくなる程、多くの画素(離れた画素)の影響を受けることになるので、統計処理が実行されたことによって生じる誤差は大きくなってしまう可能性が高く、ひいては、画像のコントラストの低下を招いてしまうことになる。このため、本実施形態においては、統計強度算出部43において、現在生じている大気障害の度合いに適したサイズのフィルタを選択させるための統計強度が算出される。
【0060】
統計処理部44は、上記した一連の処理により、統計処理が施された距離の情報を含む距離画像を生成すると、生成した距離画像を、通信部35を介してユーザ端末等に出力する。あるいは、撮像装置1にディスプレイが設けられている場合、当該ディスプレイに出力し、距離画像をディスプレイに表示させる。これによれば、ユーザ端末を操作するユーザや、撮像装置1を操作するユーザは、大気障害による影響を考慮して算出された被写体までの距離を視認することができる。
【0061】
なお、
図12では、平均値フィルタを用いた場合の統計処理について説明したが、これに限定されず、統計処理部44は、既存の統計フィルタのうちの任意のフィルタを用いた統計処理を同様に実行することが可能である。例えば、画像のコントラストを維持するという観点によれば、統計処理部44はバイラテラルフィルタ等を用いた統計処理を実行するとしても良いし、あるいは、学習型フィルタを用いて大気障害による影響を受けている画素のみに着目し、大気障害による影響がない画素には着目しないような統計処理を実行するとしても良い。
【0062】
上記した本実施形態においては、統計強度算出部43は、統計強度として第1強度及び第2強度のどちらかを算出するとしたが、これに限定されず、統計強度算出部43は、より細分化された統計強度を算出しても良い。例えば、統計処理部44が用いることが可能なフィルタのサイズがm種類(mは正の整数)であった場合、統計強度算出部43は、m種類のフィルタサイズのいずれかを統計処理部44に選択させるために、m段階に細分化された統計強度のいずれかを算出する。
【0063】
また、本実施形態においては、一つの画像に対して一つの統計強度が算出される場合を例示したが、これに限定されず、例えば、画像を構成する各画素に対して一つの統計強度が算出されるとしても良い。この場合、統計処理部44は、着目する画素毎にフィルタのサイズを変更して統計処理を実行することが可能となり、被写体までの距離の推定精度をより向上させることが可能となる。
【0064】
あるいは、画像内の所定の範囲(ROI: Region Of Interest)に対して一つの統計強度が算出されるとしても良い。この場合、統計強度算出部43は、所定の範囲に対してのみ
図10に示した一連の処理を実行すれば良い上に、統計処理部44もまた、当該所定の範囲に対してのみ統計処理を実行すれば良いため、処理対象を減らすことができ、
図10及び
図12に示した一連の処理に要する時間の短縮を図ることができる。なお、所定の範囲は、入出力部34(または通信部35)を介したユーザの操作に応じて設定されても良いし、例えば移動体が存在すると推定される範囲を検出し、当該検出された範囲が所定の範囲として設定されても良い。移動体の検出は、例えば、時系列的に連続した複数枚の画像を比較し、変化が見られた範囲を検出することで行われるとしても良い。
【0065】
本実施形態においては、統計強度は、
図10に示した一連の処理が統計強度算出部43によって実行されることにより算出されるとしたが、これに限定されず、統計強度はユーザの操作に応じて決定されても良い。具体的には、入出力部34が、
図16に示すような統計強度を調整可能なアイコンIc1を図示しない表示部へ出力し、当該アイコンIc1に対するユーザからの指示を入力することで、統計強度は決定されても良い。例えば、図示しない表示部がタッチスクリーンディスプレイである場合、
図16に示すアイコンIc1のゲージを左右に移動させる旨のタッチ操作に伴って、ユーザからの指示が入力され、統計強度は決定されるとしても良い。
【0066】
また、統計強度は、統計強度算出部43による
図10に示した一連の処理の結果と、ユーザからの指示の入力とに基づいて決定されても良い。例えば、
図10に示した一連の処理の結果、統計強度算出部43が第1強度を算出し、且つ
図16に示すアイコンIc1に対するユーザからの指示が統計強度「強」を指定する旨の指示であった場合、統計強度算出部43は、第1強度の中でも強めの強度を、最終的な統計強度として算出(決定)するとしても良い。同様に、例えば
図10に示した一連の処理の結果、統計強度算出部43が第1強度を算出し、且つ
図16に示すアイコンIc1に対するユーザからの指示が統計強度「弱」を指定する旨の指示であった場合、統計強度算出部43は、第1強度の中でも弱めの強度、最終的な統計強度として算出するとしても良い。
【0067】
さらに、本実施形態においては、統計強度は、
図10に示した一連の処理が統計強度算出部43によって実行されることにより算出されるとしたが、これに限定されず、統計強度は気象情報に基づいて決定されても良い。具体的には、統計強度算出部43は、通信部35を介して外部機器より気象情報を取得し、取得された気象情報に基づいて統計強度を決定するとしても良い。例えば、統計強度算出部43は、取得された気象情報により示される天気が晴天であり且つ気温が(所定値よりも)高く、風速が(所定値よりも)弱い場合、大気障害の一つである陽炎が発生している可能性が高いと判断して、統計強度として第1強度を算出するとしても良い。すなわち、統計強度算出部43は、取得された気象情報により示される気象条件が、大気障害が発生する条件を満たしていた場合には、統計強度として第1強度を算出し、大気障害が発生する条件を満たしていない場合には、統計強度として第2強度を算出するとしても良い。
なお、気象情報に基づいて統計強度を決定する手法は、ユーザの操作に基づいて統計強度を決定する手法と同様に、統計強度を決定する他の手法(例えば
図10に示した一連の処理等)と併用されても良い。
【0068】
さらに、本実施形態においては、統計強度は、
図10に示した一連の処理が統計強度算出部43によって実行されることにより算出されるとしたが、これに限定されず、統計強度は撮像装置1に設けられる図示しない温度計(または温度計測機能)により計測された温度(気温)に基づいて決定されても良い。具体的には、統計強度算出部43は、上記した温度計によって計測された現在の気温を示す計測情報を取得し、取得された計測情報に基づいて統計強度を決定するとしても良い。例えば、統計強度算出部43は、取得された計測情報により示される気温が所定値よりも高い場合には、大気障害の一つである陽炎が発生している可能性が高いと判断して、統計強度として第1強度を算出するとしても良い。すなわち、統計強度算出部43は、取得された計測情報により示される条件が、大気障害が発生する条件を満たしていた場合には、統計強度として第1強度を算出し、大気障害が発生する条件を満たしていない場合には、統計強度として第2強度を算出するとしても良い。なお、ここでは、撮像装置1に温度計が設けられている場合を想定したが、これに限定されず、例えば湿度計がさらに設けられ、統計強度は、温度計及び湿度計から取得される各計測情報に基づいて算出されるとしても良い。あるいは、高度計がさらに設けられ、統計強度は、温度計及び高度計から取得される各計測情報に基づいて算出されるとしても良い。
なお、計測情報に基づいて統計強度を決定する手法は、ユーザの操作に基づいて統計強度を決定する手法や、気象情報に基づいて統計強度を決定する手法と同様に、統計強度を決定する他の手法と併用されても良い。
【0069】
また、本実施形態においては、統計強度は、
図10に示した一連の処理が統計強度算出部43によって実行されることにより算出されるとしたが、これに限定されず、統計強度は、予め用意された画像であって、大気障害による影響がなく、且つ移動体が含まれていない(写っていない)画像(以下では「背景画像」と称する)と、現在撮影された画像との比較の結果に基づいて決定されても良い。なお、背景画像は、例えば、時系列的に連続した複数枚の画像に対して統計処理が実行されることによって得ることができるものとする。
【0070】
統計強度算出部43は、上記した比較の結果として、例えば
図17に示すように、背景画像と現在撮影された画像との差分を算出することができる。この差分が大気障害による影響を受けている部分であるので、統計強度算出部43は、現在撮影された画像を構成する画素の数と、当該差分部分に相当する画素の数とに基づいて、大気障害の度合い(大気障害の強度とも称する)を算出することができる。例えば、現在撮影された画像を構成する画素の数がNであり、差分部分に相当する画素の数がaである場合、大気障害の度合いはa/N[%]と算出される。これによれば、統計強度算出部43は、以下に示す(1)式のように統計強度を算出することができる。なお、(1)式におけるIは統計強度を示し、Cは所定の係数を示すものとする。
【0071】
I=C×(a/N) ・・・(1)
このように、現在撮影された画像に対する固有の統計強度Iが算出可能になることで、統計処理部44は、当該算出された統計強度Iを用いて、任意のサイズのフィルタを生成することが可能となる。
【0072】
なお、上記した差分を算出するにあたって、統計強度算出部43は、現在撮影された画像に移動体が写っているか否かを判定し、この判定の結果、移動体が写っていると判定された場合には、当該移動体が写っている移動体領域を、撮影された画像から除外した上で、背景画像との比較を行うものとする。移動体が写っているか否かの判定は、上記した移動体の検出と同様の手法にて行われれば良い。
【0073】
また、統計強度算出部43によって算出された大気障害の度合いは、入出力部34を介して図示しない表示部に出力されるとしても良い。この場合、統計強度算出部43は、算出された大気障害の度合いが予め設定された閾値th以上であった場合、例えば
図18に示すように、大気障害の度合いを示すアイコンIc2と共に、被写体までの距離の測距を中止するようユーザに促す旨のメッセージを図示しない表示部に表示させるとしても良い。
【0074】
また、本実施形態においては、統計処理部44は、統計強度算出部43によって算出された統計強度に応じたサイズのフィルタを選択して統計処理を実行するとしたが、これに限定されず、統計処理部44は、例えば、通信部35を介して外部機器より取得される気象情報に基づいて現在生じている大気障害の種別を推定し、当該推定された大気障害の種別に対して好適な種別のフィルタを選択した上で、統計強度算出部43によって算出された統計強度に応じたサイズのフィルタを選択して統計処理を実行するとしても良い。これによれば、現在生じている大気障害の度合いだけでなく、大気障害の種別をも考慮した統計処理を実行することが可能となり、被写体までの距離の推定精度をより向上させることが可能となる。
【0075】
本実施形態において、距離推定部42は、フィルタ領域に応じた対象画像のぼけ形状を、距離を仮定したぼけ補正フィルタにより補正した補正画像を生成し、生成した補正画像と基準画像との相関がより高くなる距離を求めることで、被写体までの距離を推定するとしたが、被写体までの距離を推定する手法はこれに限定されるものでない。例えば、距離推定部42は、R画像、G画像、B画像を対象にしてエッジ抽出処理を行い、抽出された各画像のエッジ間の距離に基づいて各画像の色ずれ量を算出することで、被写体までの距離を推定するとしても良い。なお、この手法においても、G画像は基準画像として使用される。
【0076】
また、距離推定部42は、カメラの開口部にマスクや拡散板、位相板、レンズアレイ等が配置された符号化開口を透過する光線に基づいて生成される画像を用いて、被写体までの距離を推定するとしても良い。あるいは、距離推定部42は、DNN等のいわゆるディープ・ラーニングを利用して被写体までの距離を推定するとしても良いし、モーションブラー(動きぼけ)を利用して被写体までの距離を推定するとしても良い。ディープ・ラーニングを利用して被写体までの距離が推定される場合、例えば、撮影条件と、被写体となる対象とに応じた被写体までの距離を予め学習しておくことで、撮像された画像に写っている被写体が何であるかが判別され、その結果、当該被写体までの距離が推定される。
【0077】
以上説明した一実施形態によれば、撮像装置1は、現在生じている大気障害に応じた統計強度を算出する統計強度算出部43と、統計強度算出部43によって算出された統計強度に応じたサイズのフィルタを選択し、距離推定部42によって粗く推定された被写体までの距離を対象にした統計処理を実行する統計処理部44とを備えている。これによれば、画像から、被写体までの距離を精度良く取得することが可能となる。
具体的には、ある程度の大きさを有した物体が被写体として写っている画像から、任意の1画素を選択して測距が行われた場合、大気障害による影響があると、実際の距離とは大幅にずれた距離が算出されてしまう可能性があるが、本実施形態に係る撮像装置1によれば、上記した統計処理により、大気障害に起因して画素(の画素値)に発生してしまっている誤差の分散を抑制することができるので、上記したように任意の1画素が選択されたとしても、正確な距離を測距できる可能性を高くすることができる。
【0078】
(応用例)
以下、前述のような構成を有する撮像装置1が適用される応用例についていくつか説明する。
【0079】
図19は、撮像装置1を監視カメラに適用した場合の例を示す。
図19に示す監視カメラ50Aは、遠方を定点で監視するための監視カメラを想定している。上記したように、大気障害による影響は、光線が空気中を通過する距離が長い程顕著に現れるため、遠方を監視するための監視カメラ50Aにおいては、大気障害による画像の劣化は大きな問題となる。しかしながら、本実施形態に係る撮像装置1が適用されることにより、大気障害による影響を除去することが可能となるため、遠方に位置する監視対象までの距離を精度良く算出することが可能である。また、一般的な大気障害を除去する方法では、撮像された画像に移動体が写り込んでいる場合には、当該移動体がいる移動体領域を除いた領域についてのみ大気障害の除去が行われるが、本実施形態に係る撮像装置1は移動体領域も含めて大気障害の除去を行うことが可能であるので、監視対象が移動体である場合に特に有用である。
【0080】
図20は、撮像装置1を測距儀(レンジファインダー)に適用した場合の例を示す。測距儀は、撮影地点から目標地点までの距離を計測するために使用され、例えば道路上に設置されて使用される。このため、測距儀は、アスファルトからの放射熱に伴う陽炎の影響を受け易いといった問題がある。しかしながら、本実施形態に係る撮像装置1が適用された測距儀50Bによれば、アスファルトからの放射熱に伴い陽炎が発生していたとしても、当該陽炎による影響を除去した上で、目標地点までの距離を計測することができるようになる。すなわち、目標地点までの距離の計測精度を向上させることができる。
【0081】
図19及び
図20では、撮影時に停止している物体50への撮像装置1の適用について説明したが、以下では、撮像装置1を移動体に適用する場合について説明する。
図21は、撮像装置1を含む移動体60の機能構成例を示す。移動体60は、例えば、自動運転機能を有する自動車、無人航空機、自律型の移動ロボット等として実現され得る。無人航空機は、人が乗ることができない飛行機、回転翼航空機、滑空機、飛行船であって、遠隔操作または自動操縦により飛行させることができるものであり、例えば、ドローン(マルチコプター)、ラジコン機、農薬散布用ヘリコプター等を含む。自律型の移動ロボットは、無人搬送車(Automated Guided Vehicle: AGV)のような移動ロボット、床を掃除するための掃除ロボット、来場者に各種案内を行うコミュニケーションロボット等を含む。移動体60にはさらに、ロボット本体が移動するものだけでなく、ロボットアームのような、ロボットの一部分の移動・回転用の駆動機構を有する産業用ロボットも含まれ得る。
【0082】
図21に示すように、移動体60は、例えば、撮像装置1と、制御信号生成部13及び駆動機構14とを有する。撮像装置1は、例えば、移動体60またはその一部分の進行方向の被写体を撮像するように設置される。
【0083】
図22に示すように、移動体60が自動車60Aである場合、撮像装置1は、前方を撮像するいわゆるフロントカメラとして設置され得る他、バック時に後方を撮像するいわゆるリアカメラとしても設置され得る。もちろん、これら両方が設置されても良い。また、撮像装置1は、いわゆるドライブレコーダーとしての機能を兼ねて設置されるものであっても良い。すなわち、撮像装置1は画像処理部12を有した録画機器であっても良い。
【0084】
次いで、
図23は、移動体200がドローン60Bである場合の例を示す。ドローン60Bは、駆動機構14に相当するドローン本体61と、4つのプロペラ部621〜624とを備える。各プロペラ部621〜624はプロペラとモータとを有する。モータの駆動がプロペラに伝達されることによって、プロペラが回転し、その回転による揚力によってドローン60Bが浮上する。ドローン本体61の、例えば下部には、撮像装置1が搭載されている。
【0085】
また、
図24は、移動体60が自律型の移動ロボット60Cである場合の例を示す。移動ロボット60Cの下部には、駆動機構14に相当する、モータや車輪等を含む動力部63が設けられている。動力部63は、モータの回転数や車輪の向きを制御する。移動ロボット60Cは、モータの駆動が伝達されることによって、路面または床面に接地する車輪が回転し、当該車輪の向きが制御されることにより任意の方向に移動することができる。撮像装置1は、例えば、人型の移動ロボット60Cの頭部に、前方を撮像するように設置され得る。なお、撮像装置1は、後方や左右を撮像するように設置されても良いし、複数の方位を撮像するように複数設置されても良い。
【0086】
なお、移動体60の一部分の移動及び回転を制御する場合、
図25に示すように、撮像装置1は、例えば、ロボットアーム60Dで把持される物体を撮像するように、ロボットアームの先端等に設置されても良い。画像処理部12は、把持しようとする物体までの距離を推定する。これにより、物体の正確な把持動作を行うことができる。
【0087】
制御信号生成部13は、撮像装置1から出力される被写体までの距離に基づいて、駆動機構14を制御するための制御信号を出力する。駆動機構14は、制御信号により、移動体60または移動体60の一部分を駆動する。駆動機構14は、例えば、移動体60またはその一部分の移動、回転、加速、減速、推力(揚力)の加減、進行方向の転換、通常運転モードと自動運転モード(衝突回避モード)の切り替え、及びエアバッグ等の安全装置の作動のうちの少なくとも一つを行う。駆動機構14は、例えば、被写体までの距離が閾値未満である場合、移動、回転、加速、推力(揚力)の加減、物体に近寄る方向への方向転換、及び自動運転モード(衝突回避モード)から通常運転モードへの切り替えのうちの少なくとも一つを行っても良い。
【0088】
自動車60Aの駆動機構14は、例えばタイヤである。ドローン60Bの駆動機構14は、例えばプロペラである。移動ロボット60Cの駆動機構14は、例えば脚部である。ロボットアーム60Dの駆動機構14は、例えば撮像装置1が設けられた先端を支持する支持部である。
【0089】
移動体60は、さらに画像処理部12からの被写体までの距離に関する情報が入力されるスピーカやディスプレイを備えていても良い。スピーカやディスプレイは、被写体までの距離に関する音声または画像を出力する。スピーカやディスプレイは、撮像装置1と有線または無線で接続されている。さらに、移動体60は、画像処理部12からの被写体までの距離に関する情報が入力される発光部を有していても良い。発光部は、例えば、画像処理部12からの被写体までの距離に関する情報に応じて点灯したり消灯したりする。
【0090】
また、移動体60がドローンである場合、上空から、地図(物体の3次元形状)の作成、ビルや地形の構造調査、ひび割れや電線破断等の点検等が行われる際に、撮像装置1は対象を撮影した画像を取得し、被写体までの距離が閾値以上であるか否かを判定する。制御信号生成部13は、この判定の結果に基づいて、点検対象との距離が一定になるようにドローンの推力を制御するための制御信号を生成する。ここでの推力には揚力も含まれる。駆動機構14が、この制御信号に基づいてドローンを動作させることにより、ドローンを点検対象にして並行して飛行させることができる。移動体60が監視用のドローンである場合、監視対象の物体との距離を一定に保つようにドローンの推力を制御するための制御信号を生成しても良い。
【0091】
また、ドローンの飛行時に、撮像装置1は地面方向を撮像した画像を取得し、地面までの距離が閾値以上であるか否かを判定する。制御信号生成部13は、この判定の結果に基づいて、地面からの高さが指定された高さになるようにドローンの推力を制御するための制御信号を生成する。駆動機構14が、この制御信号に基づいてドローンを動作させることにより、ドローンを指定された高さで飛行させることができる。農薬散布用ドローンであれば、ドローンの地面からの高さを一定に保つことで、農薬を均等に散布し易くなる。
【0092】
また、移動体60がドローンまたは自動車である場合、ドローンの連携飛行や自動車の連隊走行時に、撮像装置1は、周囲のドローンや前方の自動車を撮像した画像を取得し、連携飛行中のドローンや連隊走行中の自動車までの距離が閾値以上であるか否かを判定する。制御信号生成部13は、この判定の結果に基づいて、その周囲のドローンや前方の自動車との距離が一定になるように、ドローンの推力や自動車の速度を制御するための制御信号を生成する。駆動機構14が、この制御信号に基づいてドローンや自動車を動作させることにより、ドローンの連携飛行や自動車の連隊走行を容易に行うことができる。移動体60が自動車である場合、ドライバーが閾値を設定できるように、ユーザインタフェースを介してドライバーの指示を受理することで、閾値を変化させても良い。これにより、ドライバーが好む車間距離で自動車を走行させられる。あるいは、前方の自動車との安全な車間距離を保つために、自動車の速度に応じて閾値を変化させても良い。安全な車間距離は、自動車の速度によって異なる。そこで、自動車の速度が速い程閾値を大きく設定することができる。また、移動体60が自動車である場合に、進行方向の所定の距離を閾値に設定しておき、その閾値の手前に物体が現れた場合にブレーキが自動で作動したり、エアバッグ等の安全装置が自動で作動したりする制御信号生成部13を構成すると良い。この場合、自動ブレーキやエアバッグ等の安全装置が駆動機構14に設けられる。
【0093】
以上説明したように、一実施形態によれば、画像から、被写体までの距離を精度良く取得でき、取得した被写体までの距離を用いることにより、例えば、監視カメラ、測距儀、自動車、ドローン、ロボット等の動作を容易に制御することができる。
【0094】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。