JP2013118472A - 画像処理装置、撮像装置及び画像処理プログラム - Google Patents
画像処理装置、撮像装置及び画像処理プログラム Download PDFInfo
- Publication number
- JP2013118472A JP2013118472A JP2011264486A JP2011264486A JP2013118472A JP 2013118472 A JP2013118472 A JP 2013118472A JP 2011264486 A JP2011264486 A JP 2011264486A JP 2011264486 A JP2011264486 A JP 2011264486A JP 2013118472 A JP2013118472 A JP 2013118472A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- depth
- distance
- processing apparatus
- dimensional image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
【課題】 物体に対する奥行き情報を適切に設定した深度マップを生成する。
【解決手段】 二次元画像を受け付ける画像入力部と、二次元画像に含まれる物体を検出する検出部と、二次元画像において焦点が合う位置を示す位置情報、及び撮影位置から焦点が合う位置までの距離を示す第1の距離情報に基づいて、検出部により検出される物体のうち、撮影位置からの距離が得られない物体に対して設定された、二次元画像から得られる深度マップの深度を修正する修正部と、を備えたことを特徴とする。
【選択図】 図3
【解決手段】 二次元画像を受け付ける画像入力部と、二次元画像に含まれる物体を検出する検出部と、二次元画像において焦点が合う位置を示す位置情報、及び撮影位置から焦点が合う位置までの距離を示す第1の距離情報に基づいて、検出部により検出される物体のうち、撮影位置からの距離が得られない物体に対して設定された、二次元画像から得られる深度マップの深度を修正する修正部と、を備えたことを特徴とする。
【選択図】 図3
Description
本発明は、画像処理装置、撮像装置及び画像処理プログラムに関する。
近年、異なる複数の位置から取得された二次元画像を用いて三次元画像を生成する他に、二次元画像及び該二次元画像を取得したときのカメラの位置(撮影位置)から物体までの距離(深度)を示す深度マップを用いて三次元画像を生成する技術が提案されている(特許文献1参照)。この特許文献1では、例えば樹木など、深度の変化が大きい複雑な物体の場合に、物体の輝度、色差、彩度等の特性から得られる質感バンプマップを用いて、深度の変化が大きい複雑な物体に対する深度を決定している。
しかしながら、二次元画像に含まれる物体のうち、撮影位置から物体までの距離が検出されない物体が含まれる場合には、該物体に対しては深度が最小値である0に設定された深度マップが生成されてしまう。このような深度マップを用いて三次元画像を生成すると、物体を適切に立体視表示することができないという問題がある。
本発明は、物体に対する深度を適切に設定した深度マップを生成することができるようにした画像処理装置、撮像装置及び画像処理プログラムを提供することを目的とする。
上述した課題を解決するために、本発明の画像処理装置は、二次元画像を受け付ける画像入力部と、前記二次元画像に含まれる物体を検出する検出部と、前記二次元画像において焦点が合う位置を示す位置情報、及び撮影位置から前記焦点が合う位置までの距離を示す第1の距離情報に基づいて、前記検出部により検出される物体のうち、前記撮影位置からの距離が得られない物体に対して設定された、前記二次元画像から得られる深度マップの深度を修正する修正部と、を備えたことを特徴とする。
また、前記検出部による検出結果及び前記位置情報を用いて、前記焦点が合う物体を特定する特定部を備え、前記修正部は、前記特定部により特定された前記焦点が合う物体を基準にして、前記撮影位置からの距離が得られない物体に対する深度を修正するものである。
また、前記検出部による検出結果、前記特定部による特定結果及び前記第1の距離情報を用いて、前記撮影位置からの距離が得られない物体までの距離を示す第2の距離情報を求める算出部を備えるものである。
この場合、前記算出部は、前記特定部により特定される物体の大きさと前記撮影位置からの距離が得られない物体の大きさとの比率及び前記第1の距離情報から、前記第2の距離情報を求めることが好ましい。
また、前記算出部は、前記特定部により特定される物体の種類と、前記撮影位置からの距離が得られない物体の種類とが異なる場合に、これら物体の大きさを、基準となる物体の大きさに換算した上で、前記第2の距離情報を求めるものである。
この場合、前記基準となる物体は、前記特定部により特定される物体であることが好ましい。
また、前記修正部は、前記深度マップにおいて前記焦点が合う物体に対して設定される深度、前記第1の距離情報及び前記第2の距離情報に基づいて、前記撮影位置からの距離が得られない物体に対して設定される前記深度を修正するものである。
また、前記修正された深度マップを用いて、前記二次元画像から三次元画像を生成する画像変換部を、さらに備えるものである。
また、本発明の撮像装置は、上述した画像処理装置を備えることを特徴とする。
また、本発明の画像処理プログラムは、二次元画像を受け付ける画像入力工程と、前記二次元画像に含まれる物体を検出する検出工程と、前記二次元画像において焦点が合う位置を示す位置情報、及び撮影位置から前記焦点が合う位置までの距離を示す第1の距離情報に基づいて、前記検出工程により検出される物体のうち、前記撮影位置からの距離が得られない物体に対して設定された、前記二次元画像から得られる深度マップの深度を修正する修正工程と、をコンピュータに実行させることが可能なものである。
本発明によれば、物体に対する深度を適切に設定した深度マップを生成することができる。
以下、本発明の撮像装置の一例を示すデジタルカメラについて説明する。
図1に示すように、デジタルカメラ10は、撮像光学系15、絞り16、撮像素子17、A/D変換器18、レンズ駆動部19、絞り駆動部20、タイミングジェネレータ(TG)21、バッファメモリ25、画像処理回路26、接続用I/F27、表示制御回路28、表示装置29、レリーズボタン31、操作部32、CPU35及び内蔵メモリ36を備えている。なお、A/D変換器18、バッファメモリ25、画像処理回路26、接続用I/F27、表示制御回路28、CPU35及び内蔵メモリ36は、バス37を介して電気的に接続される。
撮像光学系15は、ズームレンズ、フォーカスレンズなどの複数のレンズから構成される。これらレンズのうち、ズームレンズは、撮影倍率の変更時に光軸(L)方向に移動する。また、フォーカスレンズは、焦点を調節するときに光軸(L)方向に微小移動する。撮像光学系15を構成する各レンズの移動は、レンズ駆動部19によって実行される。なお、図示は省略するが、撮像光学系15を構成する各レンズの位置を示す情報は、CPU35に入力される。
絞り16は、絞り径を調整することで、撮像光学系15により取り込まれる被写体光の光束を調整する。この絞り16における絞り径は、絞り駆動部20によって調整される。この絞り16の絞り径は、CPU35によって設定される絞り値に基づいている。
撮像素子17は、例えばCCDイメージセンサや、CMOSイメージセンサが用いられる。撮像素子17は、複数の画素を備えている。この撮像素子17は、撮像光学系15により取り込まれた被写体光(入射光)をそれぞれの画素にて受光し、信号電荷に変換する。この信号電荷に基づく電圧信号が、それぞれの画素の画素信号として出力される。ここで、複数の画素の画素信号を1つにまとめた信号が画像信号となる。この画像信号は、クランプ処理、相関二重サンプリング(CDS)処理などの処理が施された後、A/D変換器18に入力される。なお、撮像素子17の駆動は、タイミングジェネレータ21によって制御される。
A/D変換器18は、撮像素子17から出力された画像信号をアナログ信号からデジタル信号に変換する。このデジタル化された画像信号はバッファメモリ25に書き込まれる。
画像処理回路26は、バッファメモリ25に書き込まれた画像信号に対して、ホワイトバランス処理、色補間処理、輪郭補償処理、ガンマ処理などの画像処理を施す。これにより、二次元画像データが生成される。生成された二次元画像データは、バッファメモリ25に一時記憶される。この画像処理回路26は、マップ生成部41及び画像変換部42を備えている。マップ生成部41は、取得される二次元画像データを用いて、三次元画像データを取得する際に用いる深度マップを生成する。画像変換部42は、マップ生成部41により生成された深度マップに基づいて、二次元画像データを三次元画像データに変換する。
ここで、画像変換部42は、二次元画像データから左眼用の画像データ及び右眼用の画像データの双方の画像データを生成し、これら画像データを合成してもよいし、入力される二次元画像データを左眼用の画像データ又は右眼用の画像データとし、他方の眼の画像データを生成した後、これら画像データを合成したものであってもよい。
この画像変換部42において生成された三次元画像データは、表示制御回路28に出力され、三次元画像データに基づく三次元画像が表示装置29に表示される。また、必要に応じて、撮影条件や画像処理の内容を示す情報の他に、深度マップの情報が付帯された後、記憶媒体38に記憶される。
接続用I/F27は、デジタルカメラ10に装着される記憶媒体38と電気的に接続される。この接続用I/F27と記憶媒体38との電気的な接続により、記憶媒体38へのデータの書き込みや、記憶媒体38に記憶されたデータの読み出しを行うことが可能となる。なお、記憶媒体38としては、例えばフラッシュメモリからなるメモリカード、光学ディスクの他、デジタルカメラ10と接続用I/F27を介して外部接続されるハードディスクドライブなどが挙げられる。
表示装置29は、例えばLCDパネルやELディスプレイパネルなどから構成される。この表示装置29は、スルー画像や、撮影により得られた画像の他に、設定を行う際の設定用の画像を表示する。なお、この表示装置29における画像表示は、表示制御回路28により制御される。
レリーズボタン31は、静止画撮影や動画撮影を行う際に操作される部材である。操作部32は、図示を省略したズームボタン、十字キー、実行ボタンなどから構成される。この操作部32は、デジタルカメラ10の初期設定や、撮影条件の設定などを行う際に操作される。また、この操作部32により、デジタルカメラ10の動作状態(動作モード)を設定することが可能となる。
CPU35は、内蔵メモリ36に記憶される制御プログラムを実行することにより、デジタルカメラ10の各部を制御する。このデジタルカメラ10の各部を制御する際に、レリーズボタン31や操作部32の操作に基づく信号や、デジタルカメラ10の各部からの信号を受けて、CPU35は入力される信号に基づいた処理を実行する。具体的には、AE処理、AF処理、撮像処理などが挙げられる。
CPU35は、撮像範囲において焦点が合う位置を特定する。なお、この特定は、AF処理時に使用したAFエリアの情報から特定してもよいし、得られた二次元画像内で焦点が合う位置と特定してもよい。また、CPU35は、撮影時における撮像光学系15を構成する各レンズの位置を示す情報から、焦点距離を算出する。そして、CPU35は、算出された焦点距離を求めた後、撮影時のデジタルカメラ10から特定された二次元画像内で焦点が合う位置までの距離を算出する。CPU35は、求めた距離の情報と、焦点が合う位置を示す位置情報とを、画像処理回路26に出力する。
次に、マップ生成部41の構成について説明する。図2に示すように、マップ生成部41は、マップ算出部45、物体検出部46、物体特定部47、距離算出部48、マップ修正部49から構成される。
マップ算出部45は、入力される二次元の画像データ(以下、二次元画像データ)を参照して、深度マップを算出する。この深度マップは、例えば輝度や彩度等の色情報の他、撮影時の焦点に関わる情報(焦点情報)などに基づいて生成される。深度マップを生成する具体的な処理内容については、ここでは省略するが、例えば特許4698831号に記載された手法を用いてもよいし、他の周知の方法を用いてもよい。
マップ算出部45にて算出される深度マップは、撮影時のデジタルカメラ10の位置から物体までの距離を256段階(例えば0〜255)の値からなる深度で表したグレイスケールの画像として表すことができる。深度マップにおいて示される深度は、撮影した位置から物体までの距離が近いほど大きく、撮影した位置から物体までの距離が遠いほど小さく設定される。なお、物体までの距離が検出できない場合には、深度は最小値(例えば0)に設定される。
物体検出部46は、入力される二次元画像データを用いて物体検出処理を実行する。なお、この物体検出処理は、周知の被写体検出の手法でもよいし、グラフカット法を用いた領域分割により物体を検出する手法でもよい。
物体特定部47は、物体検出部46によって検出された物体のうち、焦点が合う位置に存在する物体を特定する。物体特定部47は、入力される位置情報及び二次元画像データを参照して、物体検出部46にて検出された物体のうち、焦点が合う位置に存在する物体を特定する。以下、焦点が合う位置に存在する物体を、焦点が合う物体と称する。
また、物体特定部47は、マップ算出部45により生成された深度マップを参照して、物体検出部46により検出された物体のうち、深度が0に設定される物体を特定する。なお、深度が0に設定される物体として、デジタルカメラ10(撮影位置)からの距離が認識できない(距離が得られない)物体が挙げられる。
距離算出部48は、深度マップにおいて深度が0に設定された物体の距離情報を求める。上述したように、物体特定部47において、焦点が合う物体、及び深度マップにおいて深度が0に設定された物体がそれぞれ特定される。まず、距離算出部48は、これら物体の大きさ(二次元画像における画素数など)の比率を求める。距離算出部48は、入力される距離情報と、求めた比率とに基づいて、深度マップにおいて深度が0に設定された物体の距離情報を求める。
マップ修正部49は、距離算出部48により求めた距離情報を用いて、深度マップのうち、深度が0に設定された物体に対して設定される深度を修正する。詳細には、マップ修正部49は、焦点が合う物体の深度と、焦点が合う位置までの距離、及び距離算出部48にて求めた距離とから、深度マップにおいて深度が0に設定された物体の深度を算出する。最後に、マップ修正部49は、対称となる物体の深度を、算出した深度に修正する。
次に、深度マップの算出から深度マップを修正する処理の手順について、図3のフローチャートに基づいて説明する。
ステップS101は、深度マップを算出する処理である。画像処理回路26は、入力される二次元画像データを用いて、深度マップを求める。
ステップS102は、物体を検出する処理である。画像処理回路26は、入力される二次元画像データを用いて、二次元画像に含まれる物体を検出する。これにより、二次元画像に含まれる物体の位置及び物体の領域が検出される。
ステップS103は、焦点が合う物体を特定する処理である。画像処理回路26は、入力される焦点情報と、ステップS102にて検出された物体の位置及び物体の領域の情報とに基づいて、焦点が合う物体を特定する。
ステップS104は、距離情報を読み出す処理である。画像処理回路26は、入力される距離情報を読み出す。
ステップS105は、深度が0に設定された物体があるか否かを判定する処理である。画像処理回路26は、ステップS101にて算出された深度マップを参照し、ステップS102にて検出された物体のうち、深度マップにおいて深度が0に設定された物体があるか否かを判定する。なお、ステップS102を行うことで、物体の位置や領域が求められている。画像処理回路26は、物体の位置や領域と、深度マップとを比較することで、検出された物体のうち、深度が0に設定された物体があるか否かを判定する。深度が0に設定された物体がある場合には、画像処理回路26は、ステップS105の判定をYesとする。この場合、ステップS106に進む。一方、深度が0に設定された物体がない場合には、画像処理回路26は、ステップS105の判定処理をNoとする。この場合には、図3のフローチャートの処理が終了される。つまり、ステップS105の判定処理がNoとなる場合には、ステップS101にて生成された深度マップに対して修正処理が行われない。
ステップS106は、深度が0に設定された物体を特定する処理である。このステップS106の処理は、ステップS105の判定処理でYesとなる場合に実行される。画像処理回路26は、深度マップを参照して、深度が0に設定される物体を特定する。
ステップS107は、深度が0に設定された物体の距離情報を算出する処理である。画像処理回路26は、ステップS103にて特定された物体及びステップS106にて特定された物体の大きさの比率を算出する。画像処理回路26は、ステップS104にて読み出した距離情報及び算出した比率を用いて、深度が0に設定された物体に対する距離情報を求める。
ステップS108は、深度マップを修正する処理である。画像処理回路26は、焦点が合う物体に設定された深度、焦点が合う物体に対する距離情報、及び、深度が0に設定された物体の距離情報とから、深度が0に設定された物体に対する深度を算出する。画像処理回路26は、ステップS101にて求めた深度マップにおいて深度が0に設定された物体に対する深度を、算出した深度に差し替える。これにより、ステップS101にて求めた深度マップが修正される。
ステップS109は、深度が0に設定された物体がないか否かを判定する処理である。深度が0に設定された物体がない場合、画像処理回路26は、ステップS109の判定をYesとする。この場合、図3のフローチャートの処理が終了する。一方、深度が0に設定された物体がある場合、画像処理回路26は、ステップS109の判定処理をNoとする。この場合、ステップS106に戻り、ステップS106からステップS108の処理が再度実行される。つまり、深度マップ上で、深度が0に設定された物体の領域がなくなるまで、ステップS106からステップS108の処理が繰り返し実行され、ステップS101にて算出された深度マップが修正される。これにより、最終的な深度マップが生成される。深度マップを生成した後、画像処理回路26は、生成された深度マップ及び二次元画像データを用いて、三次元画像データを生成する。なお、生成された深度マップは、生成された三次元画像データの付帯情報として記憶する、又は三次元画像データを記憶しない場合には、元の二次元画像データの付帯情報として記憶してもよい。
以下、3人の人物A,B,Cを撮影したときに得られる二次元画像I1について説明する。図4(a)に示すように、二次元画像I1は、マーク「×」の位置に焦点が合っている画像とする。この二次元画像I1に対して物体の検出を行うと、3人の人物A,B,Cの顔が物体として検出される。図4(b)においては、検出された顔の領域のそれぞれを仮想的に矩形枠で囲んで示している。
3人の人物A,B、Cの顔が物体として検出された後、焦点が合う物体が特定される。図4(b)においては、人物Aの顔が占める領域内に焦点が合う位置が含まれているので、焦点が合う物体として人物Aの顔が特定される。この特定の後、焦点が合う位置までの距離を読み出す。
次に、二次元画像I1から求められる深度マップDMを用いて、深度が0に設定される物体を特定する。図4(c)は、図4(a)の二次元画像I1から得られる深度マップDMの一例である。この深度マップDMにおいては、人物Aに対する深度がDA、人物Bの深度がDB(DA>DB)となり、その他の領域の深度が0に設定される。つまり、人物Cに対する深度Dcが0となる。このような深度マップDMに対しては、人物A及び人物Bに対しては、撮影位置からの距離を認識することができ、人物Cに対しては撮影位置からの距離を認識することができないと判断される。この場合には、深度マップDMにおける深度のうち、人物Cに対する深度Dcを変更する。
まず、人物Cの顔が占める領域の大きさと、人物Aの顔が占める領域の大きさとの比率を求める。例えば人物Aの顔の領域の大きさが20、人物Cの顔の大きさが10となる場合には、人物Cの顔の深度は、人物Aの顔の深度の2倍の距離であると想定される。これにより、人物Aの顔の深度がDAであることから、算出される人物Cの顔の深度Dc’は、DA/2となる。これにより、深度が修正された深度マップDM’が生成される。
なお、図4においては、人物Cが占める領域に対して深度が0となっているが、人物Cが占める領域の他に、人物Bが占める領域に対しても深度が0となる場合には、人物Cが占める領域の他に、人物Bが占める領域に対しても深度が上述した方法で変更される。
これにより、距離が認識できない領域に物体がある場合であっても、該物体に対する距離情報を適切に推定し、推定される距離情報から深度マップにおける深度を修正することができる。また、修正された深度マップを用いた三次元画像データを生成することができ、その結果、生成された三次元データを用いた立体視表示を適切に実行することができる。
上述した実施形態では、二次元画像から検出される物体が人物の顔である場合について説明しているが、二次元画像から検出される物体が大人と子供である場合など、顔の大きさの比率が異なる場合がある。このような場合には、大人の顔の大きさと、子供の顔の大きさとの比率を予め内蔵メモリ36などに記憶させておく。画像処理回路26は、焦点が合う物体の大きさと深度が0に設定された物体の大きさとの比率と、焦点が合う位置までの距離の他に、大人の顔の大きさと子供の顔の大きさとの比率を加味して、深度が0に設定された物体の距離情報を求めればよい。
上述した実施形態では、二次元画像から検出される物体が人物の顔である場合について説明しているが、二次元画像から検出される物体が人物の顔であるとは限らない。このような場合に対処するために、例えばデジタルカメラ10から同一距離にある顔の大きさと、他の物体の大きさとの相関を示す値(相関値)をまとめた相関データを予め内蔵メモリ36などに記憶させておく。画像処理回路26は、深度マップにおいて深度が0に設定された物体を特定した場合に、特定された物体に対応する相関値を用いて、デジタルカメラ10からの距離情報を算出する。そして、画像処理回路26は、深度マップにおいて深度が0に設定された物体に対する深度を、求めた距離情報、焦点が合う物体までの距離情報、焦点が合う物体に設定された深度を用いて算出する。
図5は、物体の大きさと、その相関値との対応関係を示す。上述したように、人物の顔の大きさを基準とする(相関値を1に設定する)。物体が本となる場合には、人物の顔の大きさに対する本の大きさの相関値は1.5に設定される。また、物体がPCとなる場合には、人物の顔の大きさに対するPCの大きさの相関値は2に設定される。さらに、物体が車の場合には、人物の顔の大きさに対する車の大きさの相関値が8に設定される。さらに、物体が木、家の場合には、人間の顔の大きさに対する木や家の大きさの相関値が20にそれぞれ設定される。なお、相関値は一例を示したものに過ぎず、これら相関値は実験、統計などから、算出される値が用いられる。
以下、図6のフローチャートを用いて、深度マップの算出から、相関変換を用いて深度マップを修正する処理の流れを説明する。
ステップS201は、深度マップを算出する処理である。このステップS201の処理は、ステップS101と同一の処理である。
ステップS202は、物体を検出する処理である。このステップS202の処理は、ステップS102と同一の処理である。
ステップS203は、焦点が合う位置が含まれる物体を特定する処理である。このステップS203の処理は、ステップS103と同一の処理である。
ステップS204は、特定された物体が人物の顔以外であるか否かを判定する処理である。ステップS203の処理により、焦点が合う位置が含まれる物体が特定されている。画像処理回路26は、二次元画像データを用いて、ステップS203にて特定される物体が占める領域の特徴量を求め、求めた特徴量が人物の顔の特徴量に一致、又は近似するか否かを判定する。求めた特徴量が人物の顔の特徴量に一致、又は近似しない場合には、特定された物体は人物の顔以外であると判定される。この場合、ステップS204の判定処理がYesとなり、ステップS205に進む。一方、求めた特徴量が人物の顔の特徴量に一致、又は近似しない場合には、特定された物体は人物の顔であると判定される。この場合、ステップS204の判定処理はNoとなり、ステップS206に進む。
ステップS205は、相関変換を行う処理である。このステップS205の処理は、ステップS204の判定処理がYesとなる場合、つまり、焦点が合う物体が人間の顔以外となる場合に実行される。この相関変換では、図5に示す相関値を用いて、焦点が合う物体の大きさを人物の大きさに換算する。検出された物体が、例えば車であれば相関値が8.0である。画像処理回路26は、車に設定された相関値の逆数(1/8)を、二次元画像における物体の大きさに乗算することで、検出された物体の大きさを、人間の大きさに換算する。
ステップS206は、距離情報を読み取る処理である。ステップS206の処理は、ステップS104の処理と同一の処理である。
ステップS207は、深度が0に設定された物体があるか否かを判定する処理である。このステップS207の判定処理は、ステップS105と同一の処理である。画像処理回路26は、ステップS201にて生成された深度マップを参照し、ステップS202にて検出された物体のうち、深度マップにおける深度が0に設定された物体があるか否かを判定する。検出される物体に対して、深度マップにおいて深度が0に設定された場合には、画像処理回路26は、ステップS207の判定をYesとする。この場合、ステップS208に進む。一方、検出される物体に対して、深度マップにおいて深度が0に設定されていない場合には、画像処理回路26は、ステップS207の判定処理をNoとする。この場合には、図6のフローチャートの処理が終了される。つまり、ステップS207の判定処理がNoとなる場合には、ステップS201にて生成された深度マップに対して修正処理が行われない。
ステップS208は、深度が0に設定された物体を特定する処理である。このステップS208の処理は、ステップS106の処理と同一の処理である。
ステップS209は、焦点が合う物体は人物の顔以外であるか否かを判定する処理である。このステップS209の判定処理は、ステップS204の判定処理と同一の処理である。このステップS209においては、画像処理回路26は、二次元画像データを用いて、ステップS208にて特定される物体が占める領域の特徴量を求め、求めた特徴量が人物の顔の特徴量に一致、又は近似するか否かを判定する。求めた特徴量が人物の顔の特徴量に一致、又は近似しない場合には、特定された物体は人物の顔以外であると判定される。この場合、ステップS209の判定処理がYesとなり、ステップS210に進む。一方、求めた特徴量が人物の顔の特徴量に一致、又は近似しない場合には、特定された物体は人物の顔であると判定される。この場合、ステップS209の判定処理はNoとなり、ステップS211に進む。
ステップS210は、相関変換を行う処理である。ステップS210の処理は、ステップS205の処理と同一の処理である。
ステップS211は、距離情報を算出する処理である。このステップS211の処理はステップS107と同一の処理である。なお、このステップS205、ステップS210のいずれかの処理を行っている場合には、相関変換された値を用いて、焦点が合う物体の大きさと、深度が0に設定された物体の大きさの比率を求め、深度が0に設定された物体までの距離情報を求めればよい。
ステップS212は、深度マップを修正する処理である。ステップS212の処理は、S108の処理と同一の処理である。
ステップS213は、深度が0に設定された物体がないか否かを判定する処理である。このステップS213の判定処理は、ステップS109と同一の処理である。つまり、深度が0に設定された物体がないと判定されれば、画像処理回路26は、ステップS213の判定処理をYesとし、このフローチャートの処理を終了する。一方、深度が0に設定された物体があると判定されれば、画像処理回路26はステップS213の判定処理をNoとする。この場合には、ステップS208から、ステップS212の処理が再度実行される。つまり、深度マップ上で、深度が0に設定された物体の領域がなくなるまで、ステップS208からステップS212の処理が繰り返し実行され、ステップS201にて算出された深度マップが修正される。これにより、最終的な深度マップが生成される。深度マップが生成された後、画像処理回路26は、生成された深度マップ及び二次元画像データを用いて、三次元画像データを生成する。なお、生成された深度マップは、生成された三次元画像データの付帯情報として記憶する、又は三次元画像データを記憶しない場合には、元の二次元画像データの付帯情報として記憶してもよい。
図7に示すように、2人の人物E,Fを撮影したときに、背景として木51が写っている二次元画像I2が得られた場合について説明する。ここで、図7中、マーク「×」が示す位置が、焦点が合う位置である。
上述したように、画像処理回路26は、入力された二次元画像I2を用いて深度マップを生成する。そして、画像処理回路26は、二次元画像I2を用いて物体を検出する。この場合、画像処理回路26は、物体として人物E,Fの顔の他に、木51を検出する。これら物体の検出の後、画像処理回路26は、焦点が合う物体を特定する。人物Eの顔に焦点が合うように撮影が行われている場合には、焦点が合う物体として人物Eが特定される。また、画像処理回路26は、求めた深度マップを参照して、深度が0に設定された物体を特定する。以下、深度が0に設定された物体が木51となる場合について説明する。
画像処理回路26は、上述した相関データから、人物の顔の大きさに対する木の大きさの相関値を読み出す。画像処理回路26は、木51の大きさと、読み出した相関値とを用いて、木51の大きさを人間の大きさに相関変換する。図5に示すように、人物の顔の大きさに対する木の大きさの相関値は20である。例えば二次元画像I2における木51の大きさが40となる場合には、木51の大きさを人間の顔の大きさに換算すると、40×1/20=2となる。この換算値を用いて、画像処理回路26は、人物Eの顔の大きさと、木51の大きさとの比率を求める。つまり、二次元画像I2における人物Eの顔の大きさが20となる場合には、人物Eの顔の大きさと、人物の顔の大きさに換算した木51の大きさとの比率は、20/2=10となり、デジタルカメラ10から木51までの距離は、デジタルカメラ10から人物Eの顔までの距離の10倍であると推定される。
画像処理回路26は、深度マップにおける人物の顔に対する深度と、算出した比率とを用いて、木51に対する深度を求める。例えば人物Eの顔に対する深度が20であれば、木51に対する深度は、20/10=2となる。画像処理回路26は、深度マップにおける深度のうち、木の深度を、求めた深度に修正する。これにより、深度が修正された深度マップが得られる。
また、焦点が合う物体が人物の顔以外の物体となる場合もある。図8に示すように、人物GとPC52とを撮影したときに、背景部分に人物Hが写っている二次元画像I3が得られた場合について説明する。この場合も、図8中、マーク「×」が示す位置が、焦点が合う位置である。画像処理回路26は、二次元画像I3から、人物Gの顔、PC52の他に、人物Hの顔を検出する。この場合も同様にして、画像処理回路26は、焦点が合う物体を特定する。図8においては、焦点が合う物体としてPC52が特定される。また、画像処理回路26は、生成した深度マップを参照して、深度が0に設定された物体を特定する。以下、深度が0に設定された物体が人物Hの顔となる場合について説明する。
この場合、深度が0になる物体として人物Hの顔が特定される。一方、焦点が合う物体としてPC52が特定される。このような場合には、画像処理回路26は、焦点が合う物体として特定されたPC52の大きさを人物の顔の大きさに換算する。上述したように、人物の顔の大きさに対するPCの大きさの相関値は2である。二次元画像I3におけるPC52の大きさが30の場合、PC52の大きさを人物の顔の大きさに換算すると、30×1/2=15となる。
一方、人物Hの大きさを5とすると、人物の顔の大きさに換算したPC52の大きさと、人物Hの顔の大きさとの比率は、15/5=3となり、デジタルカメラ10から人物Hの顔までの距離は、デジタルカメラ10からPC52までの距離に対して3倍の距離であると推定される。
画像処理回路26は、PC52に設定される深度と、算出した比率とを用いて、人物Hの顔の深度を求める。例えばPCに設定される深度が30であれば、人物Hの顔の深度は、30/3=10となる。画像処理回路26は、深度マップにおける深度のうち、人物Hの深度を、求めた深度に修正する。これにより、深度が修正された深度マップが得られる。
上記実施形態では、焦点が合う物体、又は深度マップにおける深度が0となる物体のいずれか一方が人物の顔となる場合について述べているが、これに限定される必要はなく、焦点が合う物体、及び深度マップにおいて深度が0に設定された物体がそれぞれ人物の顔ではない場合であってもよい。
図9に示すように、人物OとPC53とを撮影した場合に、本54が写り込んでいる二次元画像I4が得られた場合について説明する。ここで、図9中、マーク「×」が示す位置が、焦点が合う位置である。画像処理回路26は、二次元画像I4から、人物O、PC53の他に、本54を検出する。画像処理回路26は、焦点が合う物体を特定する。図9においては、焦点が合う物体としてPC53が特定される。また、画像処理回路26は、生成した深度マップを参照して、深度が0になる物体を特定する。
以下、深度が0に設定される物体が、本54となる場合について説明する。ここで、焦点が合う物体としてPC53が特定されている。画像処理回路26は、焦点が合う物体として特定されたPC53の大きさを人物の顔の大きさに換算する。上述したように、人物の顔の大きさに対するPCの大きさの相関値は2である。二次元画像I4におけるPC53の大きさが30の場合、PC53の大きさを人物の顔の大きさに換算すると、30×1/2=15となる。
また、画像処理回路26は、特定された本54の大きさを人物の顔の大きさに換算する。上述したように、人物の顔の大きさに対する本の大きさの相関値は1.5である。二次元画像I4における本54の大きさが9の場合、本54の大きさを人物の顔の大きさに換算すると、9×1/1.5=6となる。
画像処理回路26は、換算したPC53の大きさと、換算した本54の大きさとの比率を求める。人物の顔の大きさに換算したPC53の大きさは15、人物の顔の大きさに換算した本の大きさは6であることから、上述した比率は、15/6=2.5となる。つまり、撮影時のデジタルカメラ10から本54までの距離は、デジタルカメラ10からPC53までの距離に対して、2.5倍の距離であると推定される。
画像処理回路26は、深度マップにおけるPC53に設定される深度と、算出した比率とを用いて、本54に対する深度を求める。例えばPC53に対する深度の値が30であれば、本54に対する深度は、30/2.5=12となる。画像処理回路26は、深度マップにおける深度のうち、本54の深度を、求めた深度に修正する。これにより、深度が修正された深度マップが得られる。
上述した相関値は、人物の顔の大きさを基準にした場合に、他の物体の大きさを人物の顔の大きさに換算することを目的として設定される値であるが、基準となる物体は、人物の顔に限定されるものではなく、他の物体としてもよい。
上述した実施形態においては、デジタルカメラ10による撮像により得られた二次元画像データを用いて深度マップを生成しているが、これに限定されるものではなく、記憶媒体38に記憶される二次元画像データに対しても、本発明を適用することは可能である。この場合、記憶媒体38に記憶される二次元画像データが、上述した焦点情報、距離情報、位置情報が付帯される画像データであればよい。
本実施形態では、デジタルカメラ10を例に取り上げているが、図2に示すマップ生成部41の構成を備えた画像処理装置であってもよい。また、この他に、図2に示すマップ生成部41の各部の機能や、図3及び図6のフローチャートの処理をコンピュータに実行させるための画像処理プログラムであってもよい。この場合、画像処理プログラムは、メモリカード、光学ディスク、磁気ディスクなど、コンピュータが読み取ることが可能な記憶媒体に記憶されていることが好ましい。
10…デジタルカメラ、15…撮像光学系、17…撮像素子、19…レンズ駆動部、26…画像処理回路、35…CPU、41…マップ生成部、42…画像変換部、45…マップ算出部、46…物体検出部、47…物体特定部、48…距離算出部、49…マップ修正部
Claims (10)
- 二次元画像を受け付ける画像入力部と、
前記二次元画像に含まれる物体を検出する検出部と、
前記二次元画像において焦点が合う位置を示す位置情報、及び撮影位置から前記焦点が合う位置までの距離を示す第1の距離情報に基づいて、前記検出部により検出される物体のうち、前記撮影位置からの距離が得られない物体に対して設定された、前記二次元画像から得られる深度マップの深度を修正する修正部と、
を備えたことを特徴とする画像処理装置。 - 請求項1に記載の画像処理装置において、
前記検出部による検出結果及び前記位置情報を用いて、前記焦点が合う物体を特定する特定部を備え、
前記修正部は、前記特定部により特定された前記焦点が合う物体を基準にして、前記撮影位置からの距離が得られない物体に対する深度を修正することを特徴とする画像処理装置。 - 請求項2に記載の画像処理装置において、
前記検出部による検出結果、前記特定部による特定結果及び前記第1の距離情報を用いて、前記撮影位置からの距離が得られない物体までの距離を示す第2の距離情報を求める算出部を備えていることを特徴とする画像処理装置。 - 請求項3に記載の画像処理装置において、
前記算出部は、前記特定部により特定される物体の大きさと前記撮影位置からの距離が得られない物体の大きさとの比率及び前記第1の距離情報から、前記第2の距離情報を求めることを特徴とする画像処理装置。 - 請求項4に記載の画像処理装置において、
前記算出部は、前記特定部により特定される物体の種類と、前記撮影位置からの距離が得られない物体の種類とが異なる場合に、これら物体の大きさを、基準となる物体の大きさに換算した上で、前記第2の距離情報を求めることを特徴とする画像処理装置。 - 請求項5に記載の画像処理装置において、
前記基準となる物体は、前記特定部により特定される物体であることを特徴とする画像処理装置。 - 請求項3から請求項6のいずれか1項に記載の画像処理装置において、
前記修正部は、前記深度マップにおいて前記焦点が合う物体に対して設定される深度、前記第1の距離情報及び前記第2の距離情報に基づいて、前記撮影位置からの距離が得られない物体に対して設定される前記深度を修正することを特徴とする画像処理装置。 - 請求項1から請求項7のいずれか1項に記載の画像処理装置において、
前記修正された深度マップを用いて、前記二次元画像から三次元画像を生成する画像変換部を、さらに備えていることを特徴とする画像処理装置。 - 請求項1から請求項8のいずれか1項に記載の画像処理装置を備えたことを特徴とする撮像装置。
- 二次元画像を受け付ける画像入力工程と、
前記二次元画像に含まれる物体を検出する検出工程と、
前記二次元画像において焦点が合う位置を示す位置情報、及び撮影位置から前記焦点が合う位置までの距離を示す第1の距離情報に基づいて、前記検出工程により検出される物体のうち、前記撮影位置からの距離が得られない物体に対して設定された、前記二次元画像から得られる深度マップの深度を修正する修正工程と、
を、コンピュータに実行させることが可能な画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011264486A JP2013118472A (ja) | 2011-12-02 | 2011-12-02 | 画像処理装置、撮像装置及び画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011264486A JP2013118472A (ja) | 2011-12-02 | 2011-12-02 | 画像処理装置、撮像装置及び画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013118472A true JP2013118472A (ja) | 2013-06-13 |
Family
ID=48712754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011264486A Pending JP2013118472A (ja) | 2011-12-02 | 2011-12-02 | 画像処理装置、撮像装置及び画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013118472A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015154348A (ja) * | 2014-02-17 | 2015-08-24 | オリンパス株式会社 | 撮影装置、ストロボ画像事前取得方法及びストロボ画像事前取得プログラム |
JP2017103569A (ja) * | 2015-11-30 | 2017-06-08 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
WO2024063242A1 (ko) * | 2022-09-20 | 2024-03-28 | 한화비전 주식회사 | 영상 분석 장치 및 방법 |
-
2011
- 2011-12-02 JP JP2011264486A patent/JP2013118472A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015154348A (ja) * | 2014-02-17 | 2015-08-24 | オリンパス株式会社 | 撮影装置、ストロボ画像事前取得方法及びストロボ画像事前取得プログラム |
US9843715B2 (en) | 2014-02-17 | 2017-12-12 | Olympus Corporation | Photographic apparatus, stroboscopic image prediction method, and a non-transitory computer readable storage medium storing stroboscopic image prediction program |
JP2017103569A (ja) * | 2015-11-30 | 2017-06-08 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
WO2024063242A1 (ko) * | 2022-09-20 | 2024-03-28 | 한화비전 주식회사 | 영상 분석 장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102278776B1 (ko) | 이미지 처리 방법, 기기, 및 장치 | |
CN109255810B (zh) | 图像处理装置及图像处理方法 | |
US9619886B2 (en) | Image processing apparatus, imaging apparatus, image processing method and program | |
JP2006201282A (ja) | デジタルカメラ | |
US20180241949A1 (en) | Image pickup apparatus, control method for image pickup apparatus | |
US9357205B2 (en) | Stereoscopic image control apparatus to adjust parallax, and method and program for controlling operation of same | |
JP6518452B2 (ja) | 撮像装置及び撮像方法 | |
JP5338228B2 (ja) | 画像生成装置、及びプログラム | |
CN107872631B (zh) | 基于双摄像头的图像拍摄方法、装置及移动终端 | |
US8922627B2 (en) | Image processing device, image processing method and imaging device | |
KR20140047533A (ko) | 화상 처리 장치, 화상 처리 방법 및 기억 매체 | |
JP6425571B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP4953770B2 (ja) | 撮像装置 | |
JP6395429B2 (ja) | 画像処理装置、その制御方法及び記憶媒体 | |
JP2013118472A (ja) | 画像処理装置、撮像装置及び画像処理プログラム | |
JP2018182700A (ja) | 画像処理装置およびその制御方法、プログラム、並びに記憶媒体 | |
JP2010262428A (ja) | 中間画像生成装置およびその動作制御方法 | |
JP2017184007A (ja) | 画像処理装置、撮像装置、制御方法およびプログラム | |
JP2017215851A (ja) | 画像処理装置および画像処理方法、造形システム | |
JP2016099322A (ja) | 撮像装置、撮像装置の制御方法およびプログラム | |
JP2020010168A (ja) | 画像処理装置 | |
JP2009237652A (ja) | 画像処理装置および方法並びにプログラム | |
KR20110003891A (ko) | 자동 초점 조절을 이용한 영상촬상장치의 공간감지장치 및 공간감지방법 | |
JP2018006933A (ja) | 撮像装置 | |
JP2018042092A (ja) | 画像処理装置、撮像装置、制御方法およびプログラム |