(57)【要約】 【課題】全領域でデプスを推定することが可能な画像処理装置、撮像装置、画像処理方法およびプログラムを提供する。【解決手段】実施形態の画像処理装置は、第１の取得部と第２の取得部と第１の算出部と第２の算出部とを備える。第１の取得部は、全焦点画像を取得する。第２の取得部は、フォーカス距離が第１の値に設定された状態で撮像して得られる第１の撮像画像を取得する。第１の算出部は、全焦点画像と第１の撮像画像とを用いて、第１の撮像画像に含まれる画素に対して、集光すべき光線群が撮像素子上において円状に広がる度合いを表す第１のボケ半径を算出する。第２の算出部は、第１のボケ半径を用いて、撮像に用いられる光学系と、対象物からの光線群が光学系を通過した後に集光する点との間の距離を示すデプスを算出する。【選択図】図１
2016111609.tif 000002
【特許請求の範囲】
【請求項１】
全焦点画像を取得する第１の取得部と、
フォーカス距離が第１の値に設定された状態で撮像して得られる第１の撮像画像を取得する第２の取得部と、
前記全焦点画像と前記第１の撮像画像とを用いて、前記第１の撮像画像に含まれる画素に対して、集光すべき光線群が撮像素子上において円状に広がる度合いを表す第１のボケ半径を算出する第１の算出部と、
前記第１のボケ半径を用いて、撮像に用いられる光学系と、対象物からの光線群が前記光学系を通過した後に集光する点との間の距離を示すデプスを算出する第２の算出部と、を備える、
画像処理装置。
【請求項２】
前記第１の算出部は、前記全焦点画像をどの程度ぼかしたら前記第１の撮像画像になるのかを推定することで、前記第１のボケ半径を算出する、
請求項１に記載の画像処理装置。
【請求項３】
前記第１の算出部は、前記第１のボケ半径に応じた重みを用いて平滑化するためのガウシアンフィルタを前記全焦点画像に適用して得られる画像と、前記第１の撮像画像との誤差が最小となるよう、前記第１のボケ半径を算出する、
請求項１に記載の画像処理装置。
【請求項４】
前記フォーカス距離が前記第１の値とは異なる第２の値に設定された状態で撮像して得られる第２の撮像画像を取得する第３の取得部と、
前記全焦点画像と前記第２の撮像画像とを用いて、前記第２の撮像画像に含まれる画素に対して、集光すべき光線群が前記撮像素子上において円状に広がる度合いを表す第２のボケ半径を算出する第３の算出部と、をさらに備え、
前記第２の算出部は、前記第１のボケ半径および前記第２のボケ半径を用いて前記デプスを算出する、
請求項１に記載の画像処理装置。
【請求項５】
前記第２の算出部は、
前記第１の値が前記第２の値よりも大きく、前記第１のボケ半径が前記第２のボケ半径よりも大きい場合は、前記光学系から前記撮像素子側へ前記第１の値だけ離れた位置と、前記光学系から前記撮像素子側へ前記第２の値だけ離れた位置との中点よりも前記光学系側の方向に位置する値を示す前記デプスを算出し、
前記第１の値が前記第２の値よりも大きく、前記第１のボケ半径が前記第２のボケ半径よりも小さい場合は、前記光学系から前記撮像素子側へ前記第１の値だけ離れた位置と、前記光学系から前記撮像素子側へ前記第２の値だけ離れた位置との中点よりも前記撮像素子側の方向に位置する値を示す前記デプスを算出する、
請求項４に記載の画像処理装置。
【請求項６】
前記第２の算出部は、前記第１の値が前記第２の値よりも大きく、前記第１のボケ半径が前記第２のボケ半径よりも大きい場合は、以下の式（１）により前記デプスを算出し、
前記第１の値が前記第２の値よりも大きく、前記第１のボケ半径が前記第２のボケ半径よりも小さい場合は、以下の式（２）により前記デプスを算出する、
請求項４に記載の画像処理装置。
【数１】
2016111609.tif 000011
【数２】
2016111609.tif 000012
【請求項７】
前記第３の算出部は、前記全焦点画像をどの程度ぼかしたら前記第２の撮像画像になるのかを推定することで、前記第２のボケ半径を算出する、
請求項４に記載の画像処理装置。
【請求項８】
前記第３の算出部は、前記第１のボケ半径に応じた重みを用いて平滑化するためのガウシアンフィルタを前記全焦点画像に適用して得られる画像と、前記第２の撮像画像との誤差が最小となるよう、前記第２のボケ半径を算出する、
請求項４に記載の画像処理装置。
【請求項９】
前記対象物は平面状の物体であり、
前記第２の取得部は、前記撮像装置の光軸と、前記対象物の表面とのなす角度が９０度よりも小さい状態で撮像して得られる前記第１の撮像画像を取得し、
前記第２の算出部は、前記撮像素子上において光線群が集光していることを表す値の前記第１のボケ半径に対応する前記画素を繋いで得られる基準線と、前記画素との位置関係に基づいて、前記デプスを算出する、
請求項１に記載の画像処理装置。
【請求項１０】
前記第２の取得部は、前記撮像装置の光軸と、前記対象物の表面とのなす角度が９０度よりも小さく、かつ、前記撮像素子の下側が上側よりも前記対象物に近い状態で撮像して得られる前記第１の撮像画像を取得し、
前記第１の撮像画像の左上の座標を原点とし、上下方向の位置をｙ座標、左右方向の位置をｘ座標で表し、
前記第２の算出部は、
前記基準線よりもｙ座標の値が小さい前記画素に対応する前記デプスとして、前記第１の値よりも小さい値を示す前記デプスを算出し、
前記基準線よりもｙ座標の値が大きい前記画素に対応する前記デプスとして、前記第１の値よりも大きい値を示す前記デプスを算出する、
請求項９に記載の画像処理装置。
【請求項１１】
前記第２の算出部は、
前記基準線よりもｙ座標の値が小さい前記画素に対応する前記デプスは、以下の式（１）により算出し、
前記基準線よりもｙ座標の値が大きい前記画素に対応する前記デプスは、以下の式（２）により算出する、
請求項１０に記載の画像処理装置。
【数１】
2016111609.tif 000013
【数２】
2016111609.tif 000014
【請求項１２】
前記第２の算出部は、閾値以下の前記第１のボケ半径は用いずに、隣接する前記画素間に対応する前記デプスが滑らかに繋がるよう、前記デプスを算出する、
請求項１に記載の画像処理装置。
【請求項１３】
全焦点画像を取得する第１の取得部と、
フォーカス距離が第１の値に設定された状態で撮像して得られる第１の撮像画像を取得する第２の取得部と、
前記全焦点画像と前記第１の撮像画像とを用いて、前記第１の撮像画像に含まれる画素に対して、集光すべき光線群が撮像素子上において円状に広がる度合いを表す第１のボケ半径を算出する第１の算出部と、
前記第１のボケ半径を用いて、撮像に用いられる光学系と対象物との間の距離を算出する第２の算出部と、を備える、
画像処理装置。
【請求項１４】
撮像素子および光学系を含む撮像装置であって、
全焦点画像を取得する第１の取得部と、
フォーカス距離が第１の値に設定された状態で撮像して得られる第１の撮像画像を取得する第２の取得部と、
前記全焦点画像と前記第１の撮像画像とを用いて、前記第１の撮像画像に含まれる画素に対して、集光すべき光線群が前記撮像素子上において円状に広がる度合いを表す第１のボケ半径を算出する第１の算出部と、
前記第１のボケ半径を用いて、撮像に用いられる光学系と、対象物からの光線群が前記光学系を通過した後に集光する点との間の距離を示すデプスを算出する第２の算出部と、を備える、
撮像装置。
【請求項１５】
全焦点画像を取得する第１の取得ステップと、
フォーカス距離が第１の値に設定された状態で撮像して得られる第１の撮像画像を取得する第２の取得ステップと、
前記全焦点画像と前記第１の撮像画像とを用いて、前記第１の撮像画像に含まれる画素に対して、集光すべき光線群が撮像素子上において円状に広がる度合いを表す第１のボケ半径を算出する第１の算出ステップと、
前記第１のボケ半径を用いて、撮像に用いられる光学系と、対象物からの光線群が前記光学系を通過した後に集光する点との間の距離を示すデプスを算出する第２の算出ステップと、を含む、
画像処理方法。
【請求項１６】
コンピュータに、
全焦点画像を取得する第１の取得ステップと、
フォーカス距離が第１の値に設定された状態で撮像して得られる第１の撮像画像を取得する第２の取得ステップと、
前記全焦点画像と前記第１の撮像画像とを用いて、前記第１の撮像画像に含まれる画素に対して、集光すべき光線群が撮像素子上において円状に広がる度合いを表す第１のボケ半径を算出する第１の算出ステップと、
前記第１のボケ半径を用いて、撮像に用いられる光学系と、対象物からの光線群が前記光学系を通過した後に集光する点との間の距離を示すデプスを算出する第２の算出ステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置、撮像装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、フォーカス距離の異なる撮像画像（デフォーカス画像）を処理することにより、画面内のデプス推定を行う技術が知られている。例えば２枚のデフォーカス画像を用いてデプス推定を行う方法が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】P. Favaro, "Recovering thin structures via nonlocal-means regularization with application to depth from defocus", CVPR2010, pp. 1133-1140, 2010.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、２枚のデフォーカス画像の相対ボケからデプスを推定するため、それぞれのフォーカス距離の間の領域に対応するデプスを推定することはできるが、それ以外の領域に対応するデプスを推定することは困難であった。
【課題を解決するための手段】
【０００５】
実施形態の画像処理装置は、第１の取得部と第２の取得部と第１の算出部と第２の算出部とを備える。第１の取得部は、全焦点画像を取得する。第２の取得部は、フォーカス距離が第１の値に設定された状態で撮像して得られる第１の撮像画像を取得する。第１の算出部は、全焦点画像と第１の撮像画像とを用いて、第１の撮像画像に含まれる画素に対して、集光すべき光線群が撮像素子上において円状に広がる度合いを表す第１のボケ半径を算出する。第２の算出部は、第１のボケ半径を用いて、撮像に用いられる光学系と、対象物からの光線群が光学系を通過した後に集光する点との間の距離を示すデプスを算出する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態のシステムの構成の一例を示す図。
【図２】第１実施形態の画像処理装置の機能構成の一例を示す図。
【図３】第１実施形態の第１の値に設定されたフォーカス距離の模式図。
【図４】第１実施形態の第２の値に設定されたフォーカス距離の模式図。
【図５】第１実施形態のデプスを説明するための模式図。
【図６】第１実施形態のレンズからの距離と第１のボケ半径との関係を表す図。
【図７】第１実施形態のレンズからの距離とボケ半径との関係を表す図。
【図８】第１実施形態のレンズからの距離とボケ半径との関係を表す図。
【図９】第１実施形態の画像処理装置のハードウェア構成の一例を示す図。
【図１０】対比例を説明するための図。
【図１１】対比例を説明するための図。
【図１２】第２実施形態の前提条件を説明するための図。
【図１３】第２実施形態の画像処理装置の機能構成の一例を示す図。
【図１４】第２実施形態の基準線の一例を示す図。
【図１５】第２実施形態のレンズからの距離と第１のボケ半径との関係を表す図。
【図１６】第２実施形態の前提条件とは異なる撮像装置の姿勢の一例を示す図。
【図１７】第３実施形態のレンズからの距離と第１のボケ半径との関係を表す図。
【図１８】第３実施形態のＰＳＦを示す模式図。
【図１９】変形例の撮像装置のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【０００７】
以下、添付図面を参照しながら、実施形態に係る画像処理装置、撮像装置、画像処理方法およびプログラムの実施形態を詳細に説明する。
【０００８】
（第１実施形態）
図１は、本実施形態のシステム１の構成の一例を示す図である。図１に示すように、システム１は、互いに通信可能に接続される撮像装置１０および画像処理装置２０を備える。撮像装置１０と画像処理装置２０との接続形態は任意であり、有線接続であってもよいし、無線接続であってもよい。
【０００９】
図２は、画像処理装置２０の機能構成の一例を示す図である。図２に示すように、画像処理装置２０は、第１の取得部２１と、第２の取得部２２と、第３の取得部２３と、第１の算出部２４と、第３の算出部２５と、第２の算出部２６とを有する。
【００１０】
第１の取得部２１は、全焦点画像を取得する。本実施形態では、第１の取得部２１は、撮像装置１０に対して全焦点画像を要求し、その応答として、撮像装置１０により生成された全焦点画像を取得する。なお、撮像装置１０による全焦点画像の生成方法としては、公知の様々な技術を利用することができる。なお、全焦点画像の生成方法の詳細例については、後段の変形例１で説明する。
【００１１】
第２の取得部２２は、フォーカス距離が第１の値に設定された状態で撮像して得られる第１の撮像画像を取得する。「フォーカス距離」とは、撮像素子および光学系を含む撮像装置１０の光学系と、撮像素子とは反対側に光学系から所定距離だけ離れた位置に対象物（被写体）が存在する場合に、対象物からの光線群（より具体的には対象物の１点から広がって進行する複数の光）が光学系を通過した後に撮像素子上で集光するように配置された撮像素子と、の間の距離を示す。本実施形態では、第２の取得部２２は、撮像装置１０に対して第１の撮像画像を要求し、その応答として、撮像装置１０により生成された第１の撮像画像を取得する。なお、本明細書において、「撮像」とは、レンズなどの光学系により結像された被写体の像を、電気信号に変換することを指す。
【００１２】
図３は、第１の値（この例では「ｖ１」と表記）に設定されたフォーカス距離を説明するための模式図である。図３において、符号１１は、撮像装置１０に含まれる撮像素子を示している。詳細な図示は省略するが、撮像素子１１は、それぞれが画素（表示の最小単位を表す）に対応する複数の光電変換素子（例えばフォトダイオード）が配列された素子アレイと、複数の光電変換素子と１対１に対応する複数のマイクロレンズが配列されたマイクロレンズアレイと、カラーフィルタとを備えている。撮像素子１１の構成としては、公知の様々な構成を採用することができる。また、図３において、符号１２は、撮像装置１０に含まれる光学系であるレンズを示している。
【００１３】
図３の例では、撮像素子１１とは反対側にレンズ１２から所定距離ｕ１だけ離れた位置に対象物が存在する場合、対象物からの光線群がレンズ１２を通過した後に撮像素子１１上で集光するように撮像素子１１が配置されている。図３の例では、このときの撮像素子１１とレンズ１２との間の距離を示すフォーカス距離はｖ１に設定されている。なお、レンズ１２から対象物までの距離をｕ、フォーカス距離をｖ、レンズ１２の固有の値（固定値）を示す焦点距離をｆとすると、１／ｆ＝１／ｖ＋１／ｕという関係式が成り立つ。この関係式からも理解されるように、レンズ１２から対象物までの距離ｕが大きいほどフォーカス距離ｖは小さくなり、レンズ１２から対象物までの距離ｕが小さいほどフォーカス距離ｖは大きくなる。
【００１４】
図３の例では、レンズ１２と対象物との間の距離がｕ１とは異なる値を示す場合は、対象物からの光線群はレンズ１２を通過した後に撮像素子１１上で集光しない。この例では、１点に集光すべき光線群が撮像素子１１上において広がることで形成される円の半径を「ボケ半径」と称する。以下の説明では、フォーカス距離が第１の値（ｖ１）に設定された場合におけるボケ半径を「第１のボケ半径」と称する場合がある。例えば対象物とレンズ１２との間の距離がｕ１よりも小さい場合、上記関係式からも理解されるように、この場合のフォーカス距離はｖ１よりも大きい値を示すことになるので、対象物からの光線群（１点に集光すべき光線群）がレンズ１２を通過した後に集光する点とレンズ１２との間の距離はｖ１よりも大きくなる。このため、１点に集光すべき光線群は、撮像素子１１上において円状に広がることになり、この度合いが第１のボケ半径によって表される。
【００１５】
図２に戻って説明を続ける。第３の取得部２３は、フォーカス距離が第１の値とは異なる第２の値に設定された状態で撮像して得られる第２の撮像画像を取得する。本実施形態では、第３の取得部２３は、撮像装置１０に対して第２の撮像画像を要求し、その応答として、撮像装置１０により生成された第２の撮像画像を取得する。
【００１６】
図４は、第２の値（この例では「ｖ２」と表記）に設定されたフォーカス距離を説明するための模式図である。図４の例では、撮像素子１１とは反対側にレンズ１２から所定距離ｕ２だけ離れた位置に対象物が存在する場合、対象物からの光線群がレンズ１２を通過した後に撮像素子１１上で集光するように撮像素子１１が配置されている。図４の例では、このときの撮像素子１１とレンズ１２との間の距離を示すフォーカス距離はｖ２に設定されている。図４の例では、レンズ１２からｕ２だけ離れた位置に対象物が存在する場合は、対象物からの光線群はレンズ１２を通過した後に撮像素子１１上で集光するが、レンズ１２と対象物との間の距離がｕ２とは異なる値を示す場合は、対象物からの光線群はレンズ１２を通過した後に撮像素子１１上で集光しない。以下の説明では、フォーカス距離が第２の値（ｖ２）に設定された場合におけるボケ半径を「第２のボケ半径」と称する場合がある。例えば対象物とレンズ１２との間の距離がｕ２よりも小さい場合、上記関係式からも理解されるように、この場合のフォーカス距離はｖ２よりも大きい値を示すことになるので、対象物からの光線群（１点に集光すべき光線群）がレンズ１２を通過した後に集光する点とレンズ１２との間の距離はｖ２よりも大きくなる。このため、１点に集光すべき光線群は、撮像素子１１上において円状に広がることになり、この度合いが第２のボケ半径によって表される。
【００１７】
図２に戻って説明を続ける。第１の算出部２４は、全焦点画像と第１の撮像画像とを用いて、第１の撮像画像に含まれる画素に対して、集光すべき光線群が撮像素子１１上において円状に広がる度合いを表す第１のボケ半径を算出する。より具体的には、第１の算出部２４は、全焦点画像をどの程度ぼかしたら第１の撮像画像になるのかを推定することで、第１のボケ半径を算出する。さらに言えば、第１の算出部２４は、第１のボケ半径に応じた重みを用いて平滑化するためのガウシアンフィルタを全焦点画像に適用して得られる画像と、第１の撮像画像との誤差が最小となるよう、第１のボケ半径を算出する。なお、本実施形態では、第１の算出部２４は、第１の撮像画像に含まれる複数の画素ごとに、それぞれ第１のボケ半径を算出するが、これに限られるものではない。例えば第１の算出部２４は、第１の撮像画像の一部の領域に対して第１のボケ半径を算出する形態であってもよい（例えば当該領域に含まれる複数の画素の各々の第１のボケ半径の平均を求めてもよい）し、第１の撮像画像に含まれる１つの画素だけに対して第１のボケ半径を算出する形態であってもよい。
【００１８】
以下、第１の撮像画像に含まれる複数の画素の各々の第１のボケ半径の算出方法について説明する。ここでは、第１の撮像画像、第２の撮像画像、全焦点画像の各々のスケール（サイズ）は同じであり、画像の左上の座標を原点とし、上下方向の位置をｙ座標、左右方向の位置をｘ座標で表す座標系を採用する場合を例に挙げて説明する。この例では、第１の撮像画像に含まれる複数の画素は、第２の撮像画像に含まれる複数の画素と１対１に対応するとともに、全焦点画像に含まれる複数の画素とも１対１に対応している。以下では、全焦点画像に含まれる複数の画素のうち任意の座標（ｘ，ｙ）に位置する画素をＩＡＩＦ（ｘ，ｙ）と表記し、第１の撮像画像に含まれる複数の画素のうち任意の座標（ｘ，ｙ）に位置する画素をＩ（ｘ，ｙ，ｖ１）と表記する場合がある。また、任意の座標（ｘ，ｙ）に位置する画素Ｉ（ｘ，ｙ，ｖ１）の第１のボケ半径をｂ（ｘ，ｙ，ｖ１）と表記すると、第１の撮像画像に含まれる複数の画素Ｉ（ｘ，ｙ，ｖ１）の各々の第１のボケ半径ｂ（ｘ，ｙ，ｖ１）は、以下の式１で表される最適化問題の解となる。
【数１】
2016111609.tif 000003
【００１９】
上記式１において、Ｇ（ｂ（ｘ，ｙ，ｖ１））＊ＩＡＩＦは、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）に応じた重み（標準偏差）で平滑化するためのガウシアンフィルタを全焦点画像（ＩＡＩＦ）に対して適用することを表す。上記式１において、||∇ｂ（ｘ，ｙ，ｖ１）||２は、隣接する画素間の第１のボケ半径（推定する第１のボケ半径）の滑らかさを評価する項であり、画像のノイズに対応するための項である。また、上記式１におけるλ１（≧０）、λ２（≧０）は、重み定数である。すなわち、上記式１で表される最適化問題を解くということは、全焦点画像をどの程度ぼかしたら第１の撮像画像になるのか、ということを推定することになる。上記式１では、二乗ノルム（Ｌ２）を用いているが、これに限らず、例えばＬ１ノルムなどを用いてもよい。また、上記最適化問題は、最急降下法や共役勾配法などによって解を求めることができる。
【００２０】
第１の算出部２４は、上記式１で表される最適化問題を解くことにより、第１の撮像画像に含まれる複数の画素Ｉ（ｘ，ｙ，ｖ１）ごとに、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）を算出（推定）することができる。
【００２１】
図２の説明を続ける。第３の算出部２５は、全焦点画像と第２の撮像画像とを用いて、第２の撮像画像に含まれる画素に対して、集光すべき光線群が撮像素子１１上において円状に広がる度合いを表す第２のボケ半径を算出する。より具体的には、第３の算出部２５は、全焦点画像をどの程度ぼかしたら第２の撮像画像になるのかを推定することで、第２のボケ半径を算出する。さらに言えば、第３の算出部２５は、第２のボケ半径に応じた重みを用いて平滑化するためのガウシアンフィルタを全焦点画像に適用して得られる画像と、第２の撮像画像との誤差が最小となるよう、第２のボケ半径を算出する。なお、本実施形態では、第３の算出部２５は、第２の撮像画像に含まれる複数の画素ごとに、第２のボケ半径をそれぞれ算出するが、これに限られるものではない。例えば第２の算出部２５は、第２の撮像画像の一部の領域に対して第２のボケ半径を算出する形態であってもよいし、第２の撮像画像に含まれる１つの画素だけに対して第２のボケ半径を算出する形態であってもよい。
【００２２】
以下、第２の撮像画像に含まれる複数の画素Ｉの各々の第２のボケ半径の算出方法について説明する。以下では、第２の撮像画像に含まれる複数の画素のうち任意の座標（ｘ，ｙ）に位置する画素をＩ（ｘ，ｙ，ｖ２）と表記する場合がある。また、任意の座標（ｘ，ｙ）に位置する画素Ｉ（ｘ，ｙ，ｖ２）の第２のボケ半径をｂ（ｘ，ｙ，ｖ２）と表記すると、第２の撮像画像に含まれる複数の画素Ｉ（ｘ，ｙ，ｖ２）の各々の第２のボケ半径ｂ（ｘ，ｙ，ｖ２）は、以下の式２で表される最適化問題の解となる。上述した第１のボケ半径ｂ（ｘ，ｙ，ｖ１）の算出方法と同様にして、第３の算出部２５は、上記式２で表される最適化問題を解くことにより、第２の撮像画像に含まれる複数の画素Ｉ（ｘ，ｙ，ｖ２）ごとに、第２のボケ半径ｂ（ｘ，ｙ，ｖ２）を算出することができる。
【数２】
2016111609.tif 000004
【００２３】
図２の説明を続ける。第２の算出部２６は、第１のボケ半径を用いて、撮像に用いられる光学系（この例ではレンズ１２）と、対象物からの光線群が光学系を通過した後に集光する点との間の距離を示すデプスを算出する。本実施形態では、第２の算出部２６は、第１の撮像画像に含まれる複数の画素ごとに、それぞれデプスを算出するが、これに限られるものではない。例えば第２の算出部２６は、第１の撮像画像の一部の領域に対して、デプスを算出する形態であってもよいし、第１の撮像画像に含まれる１つの画素だけに対して、デプスを算出する形態であってもよい。図５は、デプスを説明するための模式図である。図５の例では、撮像素子１１とは反対側にレンズ１２から所定距離ｕｄだけ離れた位置に存在する対象物からの光線群がレンズ１２を通過した後に、レンズ１２から撮像素子１１側へｖｄだけ離れた点で集光している。ここでは、このｖｄがデプスに相当する。レンズ１２の焦点距離をｆとすると、焦点距離ｆと所定距離ｕｄとデプスｖｄとの間には、１／ｆ＝１／ｖｄ＋１／ｕｄという関係式が成り立つ。例えばレンズ１２から所定距離ｕｄだけ離れた対象物の任意の１点から広がる複数の光がレンズ１２を通過した後に再び集光する点と、レンズ１２との間の距離が上述の第１の値（ｖ１）である場合、上述の第１の撮像画像に含まれる画素のうち、上記対象物の任意の１点に対応する画素（上記対象物の任意の１点から広がる複数の光がレンズ１２を通過した後に再び撮像素子１１上で集光する点に対応する画素）の第１のボケ半径は、光線群が撮像素子１１上で集光していることを表す値（理想的には０であるがこれに限られない）を示すことになる。以下では、第１の撮像画像に含まれる画素Ｉ（ｘ，ｙ，ｖ１）に対応するデプスを、ｖｄ（ｘ，ｙ）と表記する場合がある。
【００２４】
ここで、フォーカス距離ｖ１とデプスｖｄ（ｘ，ｙ）の差の絶対値は、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）に比例するので、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）とデプスｖｄ（ｘ，ｙ）との間には、以下の式３で表される関係が成立する。
【数３】
2016111609.tif 000005
【００２５】
上記式３を解くことにより、デプスｖｄ（ｘ，ｙ）は以下の式４で表すことができるが、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）の符号の正負を決定することはできない。図６は、レンズ１２から撮像素子１１側へ向かう方向の距離ｖと、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）の絶対値との関係を表す図である。図６からも理解されるように、ある第１のボケ半径ｂ（ｘ，ｙ，ｖ１）に対応するデプスｖｄ（ｘ，ｙ）として、フォーカス距離ｖ１よりも大きい値を示すデプスｖｄ１（ｘ，ｙ）と、フォーカス距離ｖ１よりも小さい値を示すデプスｖｄ０（ｘ，ｙ）とを算出できるが、図６に示す関係のみでは、どちらが正しい値なのかを決定することはできない。
【数４】
2016111609.tif 000006
【００２６】
そこで、本実施形態では、第２の算出部２６は、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）および第２のボケ半径（ｘ，ｙ，ｖ２）を用いてデプスｖｄ（ｘ，ｙ）を算出する。より具体的には、第２の算出部２６は、上述のフォーカス距離ｖ１（第１の値）が上述のフォーカス距離ｖ２（第２の値）よりも大きく、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）が第２のボケ半径（ｘ，ｙ，ｖ２）よりも大きい場合は、レンズ１２から撮像素子１１側へｖ１だけ離れた位置と、レンズ１２から撮像素子１１側へｖ２だけ離れた位置との中点よりもレンズ１２側の方向に位置する値を示すデプスｖｄ（ｘ，ｙ）を算出する。図７は、レンズ１２から撮像素子１１側へ向かう方向の距離ｖと、第１のボケ半径の絶対値との関係、および、上記距離ｖと第２のボケ半径ｂ（ｘ，ｙ，ｖ２）の絶対値との関係を表す図である。図７からも理解されるように、フォーカス距離ｖ１がフォーカス距離ｖ２よりも大きく、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）の絶対値が第２のボケ半径（ｘ，ｙ，ｖ２）の絶対値よりも大きい場合は、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）に対応するデプスｖｄ（ｘ，ｙ）は、レンズ１２から撮像素子１１側へｖ１だけ離れた位置と、レンズ１２から撮像素子１１側へｖ２だけ離れた位置との中点Ｍよりもレンズ１２側の方向に位置する値（上記式３により得られる２つの値のうち小さい方の値）を示すことになる。
【００２７】
したがって、第２の算出部２６は、フォーカス距離ｖ１がフォーカス距離ｖ２よりも大きく、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）が第２のボケ半径（ｘ，ｙ，ｖ２）よりも大きい場合は、以下の式５によりデプスｖｄ（ｘ，ｙ）を算出する。この例では、以下の式５は請求項の「式１」に対応している。
【数５】
2016111609.tif 000007
【００２８】
また、第２の算出部２６は、フォーカス距離ｖ１がフォーカス距離ｖ２よりも大きく、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）が第２のボケ半径（ｘ，ｙ，ｖ２）よりも小さい場合は、上述の中点Ｍよりも撮像素子１１側の方向に位置する値を示すデプスｖｄ（ｘ，ｙ）を算出する。図７からも理解されるように、フォーカス距離ｖ１がフォーカス距離ｖ２よりも大きく、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）の絶対値が第２のボケ半径（ｘ，ｙ，ｖ２）の絶対値よりも小さい場合は、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）に対応するデプスｖｄ（ｘ，ｙ）は、上述の中点Ｍよりも撮像素子１１側の方向に位置する値（上記式３により得られる値のうち大きい方の値）を示すことになる。
【００２９】
したがって、第２の算出部２６は、フォーカス距離ｖ１がフォーカス距離ｖ２よりも大きく、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）が第２のボケ半径（ｘ，ｙ，ｖ２）よりも小さい場合は、以下の式６によりデプスｖｄ（ｘ，ｙ）を算出する。この例では、以下の式６は請求項の「式２」に対応している。以上のようにして、第２の算出部２６は、第１の撮像画像に含まれる複数の画素Ｉ（ｘ，ｙ，ｖ１）ごとに、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）および第２のボケ半径ｂ（ｘ，ｙ，ｖ２）を用いてデプスｖｄ（ｘ，ｙ）を算出することができる。
【数６】
2016111609.tif 000008
【００３０】
ただし、以上のようにして推定（算出）した第１のボケ半径ｂ（ｘ，ｙ，ｖ１）は誤差を含んでいる可能性があるので、第２の算出部２６は、例えば以下の式７で表される最適化問題を解くことにより、誤差の影響を少なくすることができる。
【数７】
2016111609.tif 000009
【００３１】
上記式７において、||∇ｖｄ（ｘ，ｙ）||２は、隣接する画素間に対応するデプスｖｄ（ｘ，ｙ）の滑らかさを評価する項であり、画像のノイズに対応するための項である。上記式７では、二乗ノルム（Ｌ２）を用いているが、これに限らず、例えばＬ１ノルムなどを用いてもよい。また、上記最適化問題は、最急降下法や共役勾配法などによって解を求めることができる。この最適化問題の初期値には、上述したデプスｖｄ（ｘ，ｙ）の算出結果を用いればよい。
【００３２】
第２の算出部２６は、以上のようにして第１のボケ半径を用いてデプスを算出した後、レンズ１２と対象物との間の距離を算出することができる。ただし、これに限らず、例えば第２の算出部２６は、第１のボケ半径を用いて、レンズ１２と対象物との間の距離を直接算出する形態であってもよい。要するに、第２の算出部２６は、第１のボケ半径を用いて、撮像に用いられる光学系（この例ではレンズ１２）と対象物との間の距離を算出することができる。
【００３３】
図９は、画像処理装置２０のハードウェア構成の一例を示す図である。図９に示すように、画像処理装置２０は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、Ｉ／Ｆ部１０４とを備える。ＣＰＵ１０１は、画像処理装置２０の動作を統括的に制御する。ＲＯＭ１０２は、プログラム等の各種のデータを記憶する不揮発性のメモリである。ＲＡＭ１０３は、ＣＰＵ１０１が実行する各種の処理の作業領域として機能する揮発性のメモリである。Ｉ／Ｆ部１０４は撮像装置１０等の外部装置と接続するためのインタフェースである。
【００３４】
上述した画像処理装置２０の各部の機能（第１の取得部２１、第２の取得部２２、第３の取得部２３、第１の算出部２４、第３の算出部２５、第２の算出部２６）は、ＣＰＵ１０１がＲＯＭ１０２等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上述した画像処理装置２０の各部の機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）により実現される形態であってもよい。
【００３５】
ここで、対比例として、従来のように上述の第１の撮像画像と上述の第２の撮像画像とを用いてデプスを推定する構成を想定する。例えば図１０に示すように、対象物の位置が、上述のフォーカス距離ｖ１に対応する位置（撮像素子１１とは反対側にレンズ１２から所定距離ｕ１だけ離れた位置）よりも、上述のフォーカス距離ｖ２に対応する位置（撮像素子１１とは反対側にレンズ１２から所定距離ｕ２だけ離れた位置）に近い場合、第２の撮像画像に映り込んだ対象物を構成する複数の画素の各々に対応する第２のボケ半径は、第１の撮像画像に映り込んだ対象物を構成する複数の画素の各々に対応する第１のボケ半径よりも小さい値を示す（第２の撮像画像では対象物のボケは少ないが、第１の撮像画像では対象物のボケが大きくなる）。対比例においては、第２の撮像画像から第１の撮像画像へのボケの大きさ（相対ボケ）に応じて、対象物のデプスを一意に決定することができる（この技術は公知の「Ｄｅｐｔｈ  ｆｒｏｍ  Ｄｅｆｏｃｕｓ法」と同様の技術である）。
【００３６】
対比例においては、図１１に示すように、フォーカス距離ｖ１とフォーカス距離ｖ２との間では相対ボケに差が生じるために正しいデプスを推定することが可能であるが、フォーカス距離ｖ１とフォーカス距離ｖ２との間以外の領域では、相対ボケが一定値となってしまうために正しいデプスを推定することができなくなるという問題がある。
【００３７】
これに対して、本実施形態では、上述したように、全焦点画像と第１の撮像画像とを用いて、第１の撮像画像に含まれる複数の画素の各々の第１のボケ半径を算出するので、対象物がどの領域に存在する場合であっても各画素の第１のボケ半径を算出することができる。そして、上述したように、第１のボケ半径を用いてデプスを推定することにより、対象物がどの領域に存在してもデプスを推定することができる（全領域でのデプス推定が可能になる）という有利な効果を達成できる。
【００３８】
（第２実施形態）
次に、第２実施形態について説明する。本実施形態では、対象物は、例えば紙面のような平面状の物体であり、撮像装置１０の光軸（撮像方向）と、対象物の表面とのなす角度が９０度よりも小さい状態で撮像することを前提条件とする。より具体的には、図１２に示すように、撮像装置１０は、光軸と対象物の表面とのなす角度が９０度よりも小さく、かつ、撮像素子１１の下側が、上側よりも対象物に近い状態で撮像することを前提条件とする。以下、具体的な内容を説明する。なお、上述の第１実施形態と共通する部分については適宜に説明を省略する。
【００３９】
図１３は、本実施形態の画像処理装置２００の機能構成の一例を示す図である。図１３に示すように、画像処理装置２００は、第１の取得部２１と、第２の取得部２２と、第１の算出部２４と、第２の算出部２６とを備える。第１の取得部２１、第２の取得部２２および第１の算出部２４の各々の機能は、上述の第１実施形態と同様であるが、第２の取得部２２は、フォーカス距離が上述の第１の値（ｖ１）に設定され、かつ、撮像装置１０の光軸と、対象物の表面とのなす角度が９０度よりも小さい状態で撮像して得られる第１の撮像画像を取得する。より具体的には、第２の取得部２２は、撮像装置１０の光軸と、対象物の表面とのなす角度が９０度よりも小さく、かつ、撮像素子１１の下側が上側よりも対象物に近い状態で撮像して得られる第１の撮像画像を取得する。
【００４０】
第２の算出部２６は、撮像素子１１上において光線群が集光していることを表す値（理想的には０であるが、これに限らず、例えば０．１ピクセル（１ピクセルは１画素分のサイズを表す）以下などであってもよい）の第１のボケ半径に対応する画素を繋いで得られる基準線と、画素との位置関係に基づいて、デプスを算出する。本実施形態では、第２の算出部２６は、第１の撮像画像に含まれる複数の画素Ｉのうち、撮像素子１１上において光線群が集光していることを表す値の第１のボケ半径の画素を選択し、その特定した画素を繋いで得られる基準線を特定する。図１４は、基準線の一例を示す模式図である。前述したように、この例では、第１の撮像画像の左上の座標を原点とし、上下方向の位置をｙ座標、左右方向の位置をｘ座標で表す座標系を採用している。図１４の例では、基準線のｙ座標をｙ０と表記している。
【００４１】
例えば第１の撮像画像に映り込んだ対象物のうち、撮像素子１１に平行な面（以下の説明では撮像面と称する場合がある）との間の距離が、フォーカス距離ｖ１に対応するｕ１（図１２参照）となる領域を構成する画素の第１のボケ半径は、光線群が集光していることを表す値（ボケが無いことを表す値、理想的には０）となる。一方、第１の撮像画像に映り込んだ対象物のうち、撮像面との間の距離が、フォーカス距離ｖ１に対応するｕ１よりも大きい領域を構成する画素（ここでは、ｙ座標の値が基準線よりも小さい画素）の第１のボケ半径は、光線群が集光していることを表す値とはならず、当該領域からの光線群がレンズ１２を通過した後に集光する点とレンズ１２との間の距離はｖ１よりも小さくなる（１／ｆ＝１／ｖ＋１／ｕ）。また、第１の撮像画像に映り込んだ対象物のうち、撮像面との間の距離が、フォーカス距離ｖ１に対応するｕ１よりも小さい領域を構成する画素（ここでは、ｙ座標の値が基準線よりも大きい画素）の第１のボケ半径は、光線群が集光していることを表す値とはならず、当該領域からの光線群がレンズ１２を通過した後に集光する点とレンズ１２との間の距離はｖ１よりも大きくなる。
【００４２】
図１５は、レンズ１２から撮像素子１１側へ向かう方向の距離ｖと、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）の絶対値との関係を表す模式図である。図１５からも理解されるように、算出された第１のボケ半径ｂ（ｘ，ｙ，ｖ１）の絶対値が同じであっても、ｙ座標の値が基準線よりも小さい画素の場合は、当該第１のボケ半径ｂ（ｘ，ｙ，ｖ１）に対応する距離ｖ（デプスｖｄ（ｘ，ｙ）と考えることもできる）は、フォーカス距離ｖ１よりも小さい値を示し、ｙ座標の値が基準線よりも大きい画素の場合は、当該第１のボケ半径ｂ（ｘ，ｙ，ｖ１）に対応する距離ｖは、フォーカス距離ｖ１よりも大きい値を示す。
【００４３】
したがって、本実施形態では、第２の算出部２６は、第１の撮像画像に含まれる複数の画素Ｉ（ｘ，ｙ，ｖ１）のうち、基準線よりもｙ座標の値が小さい画素Ｉ（ｘ，ｙ，ｖ１）に対応するデプスｖｄ（ｘ，ｙ）として、フォーカス距離ｖ１（第１の値）よりも小さい値を示すデプスｖｄ（ｘ，ｙ）を算出し、基準線よりもｙ座標の値が大きい画素Ｉ（ｘ，ｙ，ｖ１）に対応するデプスｖｄ（ｘ，ｙ）として、フォーカス距離ｖ１よりも大きい値を示すデプスｖｄ（ｘ，ｙ）を算出する。より具体的には、第２の算出部２６は、基準線よりもｙ座標の値が小さい画素Ｉ（ｘ，ｙ，ｖ１）に対応するデプスｖｄ（ｘ，ｙ）は、上記式（５）により算出する。この例では、上記式（５）は、請求項の「式１」に対応している。また、第２の算出部２６は、基準線よりもｙ座標の値が大きい画素Ｉ（ｘ，ｙ，ｖ１）に対応するデプスｖｄ（ｘ，ｙ）は、上記式（６）により算出する。この例では、上記式（６）は請求項の「式２」に対応している。その他の内容は、上述の第１実施形態と同様である。
【００４４】
また、例えば図１６に示すように、撮像装置１０の光軸（撮像方向）と、対象物の表面とのなす角度が９０度よりも小さい状態であっても、撮像素子１１の上側が、下側よりも対象物に近い状態である場合は、上述した関係は反対になる。例えばジャイロセンサによって、撮像素子１１の上側が下側よりも対象物に近い状態を表す撮像装置１０の姿勢を検出した場合は、第２の算出部２６は、上記とは反対に、基準線よりもｙ座標の値が小さい画素Ｉ（ｘ，ｙ，ｖ１）に対応するデプスｖｄ（ｘ，ｙ）は、上記式（６）により算出し、基準線よりもｙ座標の値が大きい画素Ｉ（ｘ，ｙ，ｖ１）に対応するデプスｖｄ（ｘ，ｙ）は、上記式（５）により算出することができる。
【００４５】
（第３実施形態）
次に、第３実施形態について説明する。本実施形態では、第２の算出部２６は、閾値以下の第１のボケ半径は用いずに、隣接する画素間に対応するデプスが滑らかに繋がるよう、デプスを算出する。以下、具体的な内容を説明する。なお、上述の各実施形態と共通する部分については適宜に説明を省略する。
【００４６】
図１７に示すように、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）の推定値として０の値が推定しにくいという特性がある。これは、図１８に示すように、上記式１における第１のボケ半径ｂ（ｘ，ｙ，ｖ１）の推定において、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）を小さくしていき、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）に応じた重みσが小さくなるほど（例えばσ＝０．１付近）、畳み込み演算の結果に差が生じないため、０付近の第１のボケ半径ｂ（ｘ，ｙ，ｖ１）の値の信頼性が低くなる。なお、図１８の縦軸は、ＰＳＦ（Ｐｏｉｎｔ  Ｓｐｒｅａｄ  Ｆｕｎｃｔｉｏｎ）の値を表し、横軸は任意の１つの画素からの距離Ｌｎを表している。
【００４７】
そこで、本実施形態の第２の算出部２６は、閾値（例えば０でもよいし、０．１ピクセルなどの設計条件に応じた値であってもよい）以下の第１のボケ半径は用いずに、隣接する画素間に対応するデプスが滑らかに繋がるよう、デプスを算出する。より具体的には、第２の算出部２６は、以下の式８で表される最適化問題を解くことにより、第１の撮像画像に含まれる複数の画素Ｉ（ｘ，ｙ，ｖ１）ごとに、デプスｖｄ（ｘ，ｙ）を算出することができる。
【数８】
2016111609.tif 000010
【００４８】
上記式８において、ρ（ｂ（ｘ，ｙ，ｖ１））はロバスト関数を表し、α＞０、βはロバスト関数の形状を決定するパラメータである。この例では、βは上記閾値に相当し、第１のボケ半径ｂ（ｘ，ｙ，ｖ１）の値がβ以下の場合は、ロバスト関数ρ（ｂ（ｘ，ｙ，ｖ１））の値は０となる。この例では、シグモイド型のロバスト関数を用いているがこれに限られるものではない。上記最適化問題は、最急降下法や共役勾配法などによって解を求めることができる。
【００４９】
以上、本発明の実施形態を説明したが、上述の実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら新規な実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００５０】
（変形例）
以下、変形例を説明する。
【００５１】
（１）変形例１
上述の全焦点画像の生成方法は任意である。例えば特開２０１３−１１０７００号公報に開示されているように、露光中に焦点（ピント）の位置を変化させて撮像した画像を処理することで全焦点画像を生成することもできる。また、例えばフォーカス距離を変更しながら連続的に撮像して得られた画像を加算した蓄積画像を生成し、その蓄積画像に対して暈け除去処理を施すことにより、全焦点画像を生成することもできる。この方法によれば、絞りを固定したままでも全焦点画像を生成することができるので、例えばスマートフォンなどに搭載されるイメージセンサなどの絞りを変更することができない撮像装置１０であっても全焦点画像を生成することができる。
【００５２】
（２）変形例２
例えば上述の画像処理装置２０は、上述の撮像装置１０に搭載される形態であってもよい。図１９は、この場合の撮像装置１０のハードウェア構成の一例を示す図である。図１９に示すように、撮像装置１０は、上述の撮像素子１１およびレンズ１２に加えて、エンジン部３０と、駆動機構４０とを備える。駆動機構４０は、エンジン部３０の制御の下、例えばフォーカス距離を変更する場合にレンズを移動させるための機構であり、公知の様々な構成を採用することができる。エンジン部３０は、撮像装置１０の動作を統括的に制御する装置である。この例では、上述の画像処理装置２０の各部の機能（第１の取得部２１、第２の取得部２２、第３の取得部２３、第１の算出部２４、第３の算出部２５、第２の算出部２６）は、エンジン部３０に搭載されている。
【００５３】
（３）変形例３
上述の各実施形態では、全焦点画像、第１の撮像画像および第２の撮像画像は、１台の撮像装置１０によって生成されていたが、これに限らず、例えば２以上の撮像装置１０によって生成される形態であってもよい。ただし、２以上の撮像装置１０の各々の位置が異なる場合は、その位置ずれを加味した補正を行った上で、全焦点画像、第１の撮像画像および第２の撮像画像を生成する必要がある。この位置ずれ補正に関しては、公知の様々な技術を利用可能である。
【００５４】
なお、以上の各実施形態および各変形例は、任意に組み合わせることが可能である。
【符号の説明】
【００５５】
１    システム
１０  撮像装置
２０  画像処理装置
２１  第１の取得部
２２  第２の取得部
２３  第３の取得部
２４  第１の算出部
２５  第３の算出部
２６  第２の算出部
【図１】
2016111609.tif 000015
【図２】
2016111609.tif 000016
【図３】
2016111609.tif 000017
【図４】
2016111609.tif 000018
【図５】
2016111609.tif 000019
【図６】
2016111609.tif 000020
【図７】
2016111609.tif 000021
【図８】
2016111609.tif 000022
【図９】
2016111609.tif 000023
【図１０】
2016111609.tif 000024
【図１１】
2016111609.tif 000025
【図１２】
2016111609.tif 000026
【図１３】
2016111609.tif 000027
【図１４】
2016111609.tif 000028
【図１５】
2016111609.tif 000029
【図１６】
2016111609.tif 000030
【図１７】
2016111609.tif 000031
【図１８】
2016111609.tif 000032
【図１９】
2016111609.tif 000033