JP2016111484A - 画像処理装置、画像処理方法、およびプログラム - Google Patents
画像処理装置、画像処理方法、およびプログラム Download PDFInfo
- Publication number
- JP2016111484A JP2016111484A JP2014246346A JP2014246346A JP2016111484A JP 2016111484 A JP2016111484 A JP 2016111484A JP 2014246346 A JP2014246346 A JP 2014246346A JP 2014246346 A JP2014246346 A JP 2014246346A JP 2016111484 A JP2016111484 A JP 2016111484A
- Authority
- JP
- Japan
- Prior art keywords
- amount
- camera shake
- image data
- moving image
- motion vector
- 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
- Studio Devices (AREA)
Abstract
【課題】手ブレに伴う位置ずれが目立たない手ブレ補正を実現する画像処理装置、画像処理方法、およびプログラムを提供する。【解決手段】複数のフレーム画像からなる動画像データを取得する取得手段302と、動画像データに写る被写体の動きベクトルを算出する動きベクトル算出手段303と、動きベクトルに基づいて、フレーム画像の位置ずれ量を手ブレ量として算出する手ブレ量算出手段304と、動きベクトルに基づいて、動画像データに写る被写体と被写体の周辺領域とにおける位置ずれの知覚量を算出する知覚量算出手段305と、知覚量に基づいて、位置ずれが検知される手ブレ量の閾値を設定する設定手段306と手ブレ量と閾値に基づいて、動画像データにおける手ブレを補正するための補正量を算出する補正量算出手段307と、補正量を用いて、動画像データを補正する補正手段308を有する。【選択図】図3
Description
本発明は、手ブレを補正する画像処理技術に関する。
近年、小型・軽量化が著しいビデオカメラや、デジタルカメラ、携帯電話などの撮像装置に動画撮像機能が搭載されるようになり、これらの撮像装置で動画を撮像する際に生じる手ブレ対策が重要となってきている。手ブレを防止する為に、手ブレを補正する様々な画像処理技術が提案されている。しかし、奥行きが異なる複数の被写体が写る動画像を手ブレ補正する際、奥行きの違いで手ブレに伴う位置ずれ量が変わる為、一方の被写体に合わせて手ブレを補正すると、他方の被写体に位置ずれが生じる問題があった。特に、一方の被写体が静止するような強い手ブレ補正を掛けると、他方の被写体の位置ずれが目立つ場合があった。手ブレ補正強度を調整する手法として、例えばユーザーがキー操作により手ブレ補正の強弱を指定すると、指定された操作量に応じて切り取り画角を増減するとともに、手ブレ補正の強弱を変更する手法が提案されている(特許文献1)。また、ジャイロセンサで撮像装置の手ブレを検出し、手ブレの大きさに応じて補正強度を調整する手法が提案されている(特許文献2)。
しかしながら、特許文献1では手ブレ補正強度が手動設定の為、ユーザーが撮影の度に補正強度を設定する手間が発生してしまう問題があった。また、特許文献2では、撮像装置の手ブレ量に基づき補正強度を制御する為、奥行きが異なる一部の被写体の局所的な位置ずれを考慮することなく手ブレ補正強度が制御される。その為、補正強度が強すぎると一部の被写体の局所的な位置ずれが目立ってしまう問題があった。
そこで本発明では、被写体の動きに伴う人間の視覚の空間周波数特性に基づき、手ブレ補正強度を制御することで、手ブレに伴う位置ずれが目立たない手ブレ補正を実現することを目的とする。
上記課題を解決うるため本発明は、複数のフレーム画像からなる動画像データを取得する取得手段と、前記動画像データに写る被写体の動きベクトルを算出する動きベクトル算出手段と、前記動きベクトルに基づいて、前記フレーム画像の位置ずれ量を手ブレ量として算出する手ブレ量算出手段と、前記動きベクトルに基づいて、前記動画像データに写る被写体と前記被写体の周辺領域とにおける位置ずれの知覚量を算出する知覚量算出手段と、前記知覚量に基づいて、位置ずれが検知される手ブレ量の閾値を設定する設定手段と前記手ブレ量と前記閾値に基づいて、前記動画像データにおける手ブレを補正するための補正量を算出する補正量算出手段と、前記補正量を用いて、前記動画像データを補正する補正手段を有することを特徴とする。
本発明では、被写体の動きに伴う人間の視覚の空間周波数特性に基づき、手ブレ補正強度を制御することで、手ブレに伴う位置ずれが目立たない手ブレ補正を実現することができる。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
<第1実施形態>
本実施形態では図1(a)に示すように、奥行きが異なる二つの矩形波チャートA、Bをユーザーが手持ち撮影しており、矩形波チャートA、Bは静止しているものとする。撮像時にはユーザーが画像上で水平方向に矩形波チャートAが振幅x0(pixel)、矩形波チャートBが振幅x1(pixel)、周期8(frame/cycle)の三角波の動きを繰り返す手ブレを生じさせている。尚、x0<x1とする。図1(b)は、ユーザーが撮像した動画像データ中の一部のフレーム画像であり、手ブレ時に各フレーム画像間で矩形波チャートAは0.5x0、矩形波チャートBは0.5x1の位置ずれが生じている。
本実施形態では図1(a)に示すように、奥行きが異なる二つの矩形波チャートA、Bをユーザーが手持ち撮影しており、矩形波チャートA、Bは静止しているものとする。撮像時にはユーザーが画像上で水平方向に矩形波チャートAが振幅x0(pixel)、矩形波チャートBが振幅x1(pixel)、周期8(frame/cycle)の三角波の動きを繰り返す手ブレを生じさせている。尚、x0<x1とする。図1(b)は、ユーザーが撮像した動画像データ中の一部のフレーム画像であり、手ブレ時に各フレーム画像間で矩形波チャートAは0.5x0、矩形波チャートBは0.5x1の位置ずれが生じている。
本提案のシステム構成を図2を用いて説明する。撮像部201は、レンズ、絞り、シャッタ、光学ローパスフィルタ、カラーフィルタ、及び、CMOSやCCDなどのセンサから構成され、被写体の光量を検知し、A/D変換を経てデータ転送経路であるバス215にデジタルデータを出力する。フラッシュ202は、被写体に光を照射する。ROM203とRAM204は、撮像や画像処理に必要なプログラム、データ、作業領域などをCPU205に提供する。CPU205はRAM204をワークメモリとして、ROM203やRAM204に格納されたプログラムを実行し、バス215を介して各構成を制御する。これにより、後述する様々な処理が実行される。撮像装置制御部206は、フォーカスを合わせる、シャッタを開く、絞りを調節するなどの、CPU205から指示された撮像系の制御を行う。操作部207は、ボタンやモードダイヤルなどが該当し、これらを介して入力されたユーザー指示を受け取る。CG生成部208は、文字やグラフィックなどを生成する。表示部109は、一般的には液晶ディスプレイが広く用いられており、CG生成部208や後述のデジタル信号処理部210、画像処理部214から受け取った撮像画像や文字の表示を行う。また、タッチスクリーン機能を有していても良く、その場合は、ユーザー指示を操作部207の入力として扱うことも可能である。デジタル信号処理部210は、デジタル値にホワイトバランス処理、ガンマ処理、ノイズ低減処理などを行い、デジタル画像を生成する。圧縮・伸張部211は、上記デジタル値をJpegやMpegなどのファイルフォーマットに変換する処理を行う。外部メモリ制御部212は、PCその他メディア213(例えば、ハードディスク、メモリーカード、CFカード、SDカード、USBメモリ)につなぐためのインターフェースである。画像処理部214は、撮像部201から得られたデジタル画像或いは、デジタル信号処理部から出力されるデジタル画像を利用して新たな画像を生成し、その結果をバス215へ出力する。
また、装置の構成要素は上記以外にも存在するが、本実施形態の主眼ではないので説明を省略する。
図3は、本実施形態に適用可能な画像処理装置の構成を示すブロック図である。動画像データ取得部302は、入力端子301を介して撮像装置で撮像した動画像データを取得する。動画像データとは、時系列の複数のフレーム画像からなる。取得した動画像データは動きベクトル算出部303、手ブレ補正動画像データ生成部308へ出力する。
動きベクトル算出部303は、動画像データに写る被写体の動きに応じて視覚の時空間周波数特性を算出する。さらに時空間周波数特性に基づいて、動画像データ取得部302で取得した動画像データから動画像データに写る被写体の動きベクトルを算出する。算出した動きベクトルは、手ブレ量算出部304、位置ずれ知覚量算出部305へ出力する。
手ブレ量算出部304は、動きベクトル算出部303で算出した動きベクトルから、撮像時の手ブレに伴う画像の位置ずれ量を手ブレ量として取得する。取得した手ブレ量は、手ブレ補正量算出部307へ出力する。
位置ずれ知覚量算出部305は、動きベクトル算出部303で算出した動きベクトルから、速度の空間分布に対する視覚の空間周波数特性に基づき、被写体と被写体の周辺領域との局所的な位置ずれの知覚量を算出する。算出した位置ずれ知覚量は手ブレ量閾値設定部306へ出力する。
手ブレ量閾値設定部306は、位置ずれ知覚量算出部305で算出した位置ずれ知覚量から、手ブレに伴う位置ずれが目立たない手ブレ量の下限値を、手ブレ量の閾値として算出する。算出した手ブレ量閾値は手ブレ補正量算出部307へ出力する。
手ブレ補正量算出部307は、手ブレ量算出部304で算出した手ブレ量と、手ブレ量閾値設定部306で算出した閾値から、手ブレに伴う位置ずれが目立たない手ブレ補正量を算出する。算出した手ブレ補正量は手ブレ補正動画像データ生成部308へ出力する。手ブレ補正動画像データ生成部308は、手ブレ補正量算出部308で算出した手ブレ補正量から、手ブレを補正した動画像データを生成する。生成した手ブレ補正動画像データは、出力端子309から出力される。
図4は、本実施形態の画像処理部214における画像処理の動作を示すフローチャートである。詳細には、図4のフローチャートに示す手順を記述したコンピュータで実行可能なプログラムをROM203からRAM204上に読み込んだ後に、CPU205によって該プログラムを実行することによって当該処理が実施される。
以下、図4に示す各処理について説明する。ステップS401では動画像データ取得部302が、撮像装置で撮像した動画像データを取得する。つまりフレーム番号i(i=1〜N)の複数のフレーム画像を取得する。取得した動画像データはROM203またはRAM204等の記憶領域に記憶する。
ステップS402において動きベクトル算出部303は、ステップS401で取得した動画像データから被写体の動きベクトルを算出する。動きベクトル算出処理の詳細は図5を用いて後述する。図6は、フレーム番号iの画像データ(フレーム画像)に対して算出した動きベクトルのイメージ図である。フレーム画像内の各画素に対して動きベクトルを算出しており、矢印の方向は速度の向き、矢印の大きさは速度の大きさを表している。各フレーム画像に対して動きベクトルを算出し、所定の記憶領域に記憶する。
ステップS403において手ブレ量算出部304は、ステップS402で算出した動きベクトルから、撮像時の手ブレに伴う画像の位置ずれ量を取得する。具体的には各フレーム画像に対して動きベクトルの大きさの頻度を示すヒストグラムを生成し、最頻値に対応する動きベクトルを手ブレ速度vblurとして算出する。図7は、動きベクトルの大きさのヒストグラムである。縦軸は頻度、横軸は動きベクトルの大きさである。本実施形態では、手ブレ補正対象の被写体である背景の動きベクトルv0(pixel/frame)が手ブレ速度vblurとして算出されている。手ブレ速度vblurを各フレーム画像に対して算出することにより、以下の式(1)に従い、撮像時の手ブレに伴う画像の位置ずれ量x(i)を算出することができる。
x(i)=x(i−1)+vblur(i−1) 式(1)
但し、フレーム番号0の画像の位置ずれ量x(0)=0とする。図8は式(1)に従い算出した、撮像時の手ブレに伴う画像の位置ずれ量である。縦軸は手ブレに伴う画像の位置ずれ量(pixel)、横軸は動画像データの各フレーム番号である。本実施形態では、背景であるチャートAに合わせて手ブレ補正を行う為、チャートAの水平方向に振幅x0(pixel)、周期8(frame/cycle)の三角波の動きを手ブレ量として取得する。取得した各フレーム画像の手ブレ量x(i)は所定の記憶領域に記憶する。
x(i)=x(i−1)+vblur(i−1) 式(1)
但し、フレーム番号0の画像の位置ずれ量x(0)=0とする。図8は式(1)に従い算出した、撮像時の手ブレに伴う画像の位置ずれ量である。縦軸は手ブレに伴う画像の位置ずれ量(pixel)、横軸は動画像データの各フレーム番号である。本実施形態では、背景であるチャートAに合わせて手ブレ補正を行う為、チャートAの水平方向に振幅x0(pixel)、周期8(frame/cycle)の三角波の動きを手ブレ量として取得する。取得した各フレーム画像の手ブレ量x(i)は所定の記憶領域に記憶する。
ステップS404において位置ずれ知覚量算出部305は、被写体と被写体の周辺領域とにおける局所的な位置ずれの知覚量を算出する。位置ずれ知覚量算出処理の詳細は図9を用いて後述する。算出した位置ずれ知覚量は所定の記憶領域に記憶する。
ステップS405において手ブレ量閾値設定部306は、ステップS404で算出した位置ずれ知覚量から、手ブレに伴う位置ずれが目立たない手ブレ量の下限値を、手ブレ量の閾値として算出する。具体的には、予め算出しておいた位置ずれ知覚量と手ブレに伴う位置ずれを知覚する速さ|vREM|の変換テーブルを所定の記憶領域から取得する。図10は、位置ずれ知覚量を手ブレに伴う位置ずれ知覚速さ|vREM|に変換するテーブルである。横軸は位置ずれ知覚量であり、縦軸は各位置ずれ知覚量おける位置ずれ知覚速さ(pixel/frame)である。変換テーブルに従い、ステップ404で算出した位置ずれ知覚量に対する位置ずれ知覚速さ|vREM|を取得する。次に、各フレーム画像iについて位置ずれ知覚速度vREM(i)を、以下の式(2)に従い算出する。
図11は、式(2)に従い算出した、各フレーム画像iの位置ずれ視覚速度vREM(i)である。縦軸は各フレーム画像間の位置ずれ量(pixel/frame)、横軸は動画像データの各フレーム番号である。本実施形態では、位置ずれを知覚する速さはV0(pixel/frame)である。また、位置ずれ知覚速さ|vREM(i)|<Vthを満たす小さい位置ずれの場合、手ブレに伴う位置ずれが十分小さいと見なし、手ブレ補正により被写体が静止するように|vREM(i)|=0としている。更に、以下の式(3)に従い、手ブレに伴う位置ずれが知覚されない手ブレ量xREM(i)を算出する。
xREM(i)=xREM(i−1)+vREM(i−1) 式(3)
但し、フレーム番号0の手ブレ量閾値xREM(0)=x(0)とする。図12は式(3)に従い算出した、手ブレに伴う位置ずれが知覚されない手ブレ量xREM(i)である。縦軸は手ブレに伴う位置ずれを知覚しない画像の位置ずれ量(pixel)、横軸は動画像データの各フレーム番号である。本実施形態では、矩形波チャートA、Bの奥行きの違いが大きく、手ブレ補正によりチャートAを静止させるとチャートBの位置ずれが目立ってしまう。その為、位置ずれが目立たない程度にチャートAに振幅X0の三角波の手ブレが残るような手ブレ量となっている。算出した各フレーム画像の手ブレ量閾値(xREM(i))は所定の記憶領域に記憶する。
xREM(i)=xREM(i−1)+vREM(i−1) 式(3)
但し、フレーム番号0の手ブレ量閾値xREM(0)=x(0)とする。図12は式(3)に従い算出した、手ブレに伴う位置ずれが知覚されない手ブレ量xREM(i)である。縦軸は手ブレに伴う位置ずれを知覚しない画像の位置ずれ量(pixel)、横軸は動画像データの各フレーム番号である。本実施形態では、矩形波チャートA、Bの奥行きの違いが大きく、手ブレ補正によりチャートAを静止させるとチャートBの位置ずれが目立ってしまう。その為、位置ずれが目立たない程度にチャートAに振幅X0の三角波の手ブレが残るような手ブレ量となっている。算出した各フレーム画像の手ブレ量閾値(xREM(i))は所定の記憶領域に記憶する。
ステップS406において手ブレ補正量算出部307は、ステップS405で算出した閾値から、手ブレに伴う位置ずれが目立たない手ブレ補正量を算出する。本実施形態では、手ブレ補正処理後の動画像データの手ブレ量が、手ブレに伴う位置ずれが目立たない手ブレ量の下限値と等しくなるまで手ブレ量を抑えた補正量を算出する。具体的には、ステップS402で取得した各フレーム画像の手ブレ量(x(i))と、ステップS405で算出した閾値(xREM(i))から、以下の式(4)に従い、手ブレ補正量x´(i)を算出する。
図13は手ブレに伴う位置ずれが目立たない手ブレ補正量である。縦軸は手ブレを補正する画像シフト量(pixel)、横軸は動画像データの各フレーム番号、点線は撮像時の手ブレ量x(i)である。本実施形態では、矩形波チャートA、Bの奥行きの違いが大きく、手ブレ補正によりチャートAを静止させるとチャートBの位置ずれが目立つ為、位置ずれが目立たない程度にチャートAに振幅x0−x0´の三角波の手ブレが残るような補正量となっている。算出した手ブレ補正量は所定の記憶領域に記憶する。ステップS407では、手ブレ補正動画像データ生成部308が、ステップS406で算出した手ブレ補正量から、アフィン変換や射影変換などを用いて手ブレを補正した動画像データを生成し、処理を終了する。
以下では、ステップS404の動きベクトル算出処理の詳細について、図5のフローチャートを用いて説明する。本実施形態では動画像データのフレーム画像iの動きベクトルは、対象のフレームと前後1フレームの計3枚のフレーム画像(フレーム番号:i−1、i、i+1)を用いて算出される。
ステップS501において動きベクトル算出部303は、フレーム画像i−1、i、i+1に対して、被写体の動きを検出するフィルタを畳み込んだ画像を生成する。本実施形態では、動き検出フィルタとして、被写体の動きに応じた視覚の時空間周波数特性の変化をモデル化した、非特許文献1、2記載の3D−Gaborフィルタを用いる。具体的には、以下の式(5)に従い3D−Gaborフィルタを生成する。
ωx、ωyは、それぞれ横、縦方向の空間周波数応答のピーク周波数である。ωtは、時間周波数応答のピーク周波数である。また、σx=1/2ωx、σy=1/2ωy、σt=1/2ωtである。
図14は、式(5)に従い算出した横方向の動きを検出する3D−Gaborフィルタである。図14(1)は、撮像したフレーム画像i−1、i、i+1である。図14(2)は、フレーム画像i−1、i、i+1について、横方向の静止被写体を検出するフィルタであり、フレーム番号i−1、i、i+1の各フレーム間で空間方向の位相差は0である。図14(3)は、(2)のフィルタに対して、空間方向の位相差が−π/2ずれたフィルタであり、図14(2)のフィルタでフレーム画像を畳み込んだ際に出てくる空間方向の位相依存性を打ち消す働きをする。図14(4)は、左方向に動く被写体を検出するフィルタであり、フレーム番号i−1、i、i+1の各フレーム間でフィルタの空間方向の位相差は−π/2である。図14(5)は、図14(4)に対して、空間方向の位相差が−π/2ずれたフィルタである。図14(6)は、右方向に動く被写体を検出するフィルタであり、フレーム番号i−1、i、i+1の各フレーム間でフィルタの空間方向の位相差は+π/2である。図14(7)は、図14(6)に対して、空間方向の位相差が−π/2ずれたフィルタである。図14(8)、図14(9)は、図14(7)のフィルタに対し、空間周波数応答のピークを2倍、4倍に高周波側へシフトしたフィルタであり、右方向に図14(7)の0.5倍、0.25倍の速さで動く被写体を検出する。
本実施形態では、フィルタサイズが空間周波数応答のピークに反比例する為、図14(7)のフィルタF×Fに対し、図14(8)、(9)のフィルタサイズがそれぞれ0.5F×0.5F、0.25F×0.25Fとなっている。図14(10)は視覚特性に基づく動き検出の時間周波数特性であり、対象フレームiに対するフレームi±1の相対的な応答強度を表している。フレームi±1に対応するフィルタに対して、相対的な応答強度に応じた重みづけが乗算されている。縦方向の動きについても同様に図15に示す3D−Gaborフィルタを算出する。算出した3D−Gaborフィルタを動き検出フィルタとして、所定の記憶領域に記憶する。ステップS502では、動きベクトル算出部303が、フレーム番号iに対してi=1に初期化する。ステップS503では、動きベクトル算出部303が、フレーム画像i−1、i、i+1に対して、ステップS501で生成した動き検出フィルタを畳み込んだ画像を生成する。図16(1)はフレーム画像i−1、i、i+1であり、図16(2)〜(9)は各フレーム画像に対して、動き検出フィルタを畳み込んだ画像である。同様に、図17(2)〜(9)は、各フレーム画像に対して、縦方向の動きについて動き検出フィルタを畳み込んだ画像である。生成した畳み込み画像は所定の記憶領域に記憶する。
ステップS504において動きベクトル算出部303は、ステップS503で生成した動き検出フィルタ畳み込み画像から、以下の式(6)に従い、フレーム番号i−1、i、i+1の畳み込み画像を足し合わせた画像を前後フレーム和分画像として生成する。
ISUM(x,y)=Ii−1(x,y)+Ii(x,y)+Ii+1(x,y) 式(6)
ISUM(x,y)は前後フレーム和分画像の画素位置(x,y)における画素値、Ii−1(x,y)、Ii(x,y)、Ii+1(x,y)はフレーム番号i−1、i、i+1の畳み込み画像の画素位置(x,y)における画素値である。図16(10)〜(17)は、それぞれ図16(2)〜(9)から、式(6)に従い生成した前後フレーム和分画像である。同様に、図17(10)〜(17)に示すように、縦方向について前後フレーム和分画像を生成する。生成した前後フレーム和分画像は所定の記憶領域に記憶する。
ISUM(x,y)=Ii−1(x,y)+Ii(x,y)+Ii+1(x,y) 式(6)
ISUM(x,y)は前後フレーム和分画像の画素位置(x,y)における画素値、Ii−1(x,y)、Ii(x,y)、Ii+1(x,y)はフレーム番号i−1、i、i+1の畳み込み画像の画素位置(x,y)における画素値である。図16(10)〜(17)は、それぞれ図16(2)〜(9)から、式(6)に従い生成した前後フレーム和分画像である。同様に、図17(10)〜(17)に示すように、縦方向について前後フレーム和分画像を生成する。生成した前後フレーム和分画像は所定の記憶領域に記憶する。
ステップS505において動きベクトル算出部303は、ステップS504において生成した前後フレーム和分画像から、動き検出強度画像を生成する。本実施形態では、非特許文献1、2記載の3D−Gaborフィルタを用いて生成される運動エネルギー画像を、視覚の時空間周波数特性に基づく動き検出強度画像として生成する。具体的には、以下の式(7)に従い、運動エネルギー画像を生成する。
ISTE(x,y)は式(7)に従い生成した運動エネルギー画像の画素位置(x,y)における画素値である。Ieven(x,y)は、図14(2)、(4)、(6)、(8)、(9)に示すフィルタを畳み込んだ画像の画素位置(x,y)における画素値である。Iodd(x,y)は、前記フィルタに対し位相が−π/2ずれたフィルタ(図14(3)、(5)、(7))を畳み込んだ画像の画素位置(x,y)における画素値である。図16(18)〜(22)は、それぞれ図16(10)〜(17)から、式(7)に従い生成した運動エネルギー画像である。同様に、図17(18)〜(22)に示すように、縦方向について運動エネルギー画像を生成する。生成した運動エネルギー画像を動き検出強度画像として、所定の記憶領域に記憶する。
ステップS506において動きベクトル算出部303は、ステップS505で生成した動き検出強度画像から、以下の式(8)に従い、横方向について右方向と左方向の動き検出強度画像を差分した画像を正負方向差分画像として生成する。
Iopp(x,y)=ISTE+(x,y)−ISTE−(x,y) 式(8)
Iopp(x,y)は正負方向差分画像の画素位置(x,y)における画素値、ISTE+(x,y)、ISTE−(x,y)は、右(正)、左(負)方向の動き検出強度画像の画素位置(x,y)における画素値である。図16(23)〜(25)は、それぞれ図16(19)〜(22)から、式(8)に従い生成した正負方向差分画像である。同様に、図17(23)〜(25)に示すように、縦方向について正負方向差分画像を生成する。生成した正負方向差分画像は所定の記憶領域に記憶する。ステップS507では、動きベクトル算出部303が、ステップS506で生成した正負方向差分画像を比較し、各画素について画素値の大きさが最大となる画像を最大値画像として生成する。具体的には、横方向について図16(23)〜(25)から、以下の式(9)に従い、各画素で大きさが最大となる画素値を算出する。
Iopp(x,y)=ISTE+(x,y)−ISTE−(x,y) 式(8)
Iopp(x,y)は正負方向差分画像の画素位置(x,y)における画素値、ISTE+(x,y)、ISTE−(x,y)は、右(正)、左(負)方向の動き検出強度画像の画素位置(x,y)における画素値である。図16(23)〜(25)は、それぞれ図16(19)〜(22)から、式(8)に従い生成した正負方向差分画像である。同様に、図17(23)〜(25)に示すように、縦方向について正負方向差分画像を生成する。生成した正負方向差分画像は所定の記憶領域に記憶する。ステップS507では、動きベクトル算出部303が、ステップS506で生成した正負方向差分画像を比較し、各画素について画素値の大きさが最大となる画像を最大値画像として生成する。具体的には、横方向について図16(23)〜(25)から、以下の式(9)に従い、各画素で大きさが最大となる画素値を算出する。
IMAX(x,y)は最大値画像の画素位置(x,y)における画素値である。Ioppω0(x,y)、Ioppω1(x,y)、Ioppω2(x,y)は各々フィルタの空間周波数応答ピークがω0、ω1、ω2の動き検出フィルタを用いて生成した正負方向差分画像の画素位置(x,y)における画素値である。本実施形態ではω0<ω1<ω2である。図16(26)は、図16(23)〜(25)から、式(9)に従い生成した最大値画像である。同様に、図17(26)に示すように、縦方向について最大値画像を生成する。生成した最大値画像は所定の記憶領域に記憶する。ステップS508では、動きベクトル算出部303が、正負方向差分画像を比較し、各画素について最大値画像と同じ空間周波数応答を持つフィルタで生成した静止被写体の検出強度画像の画素値を算出し、静止検出強度画像として生成する。具体的には、横方向について図16(23)〜(25)から、以下の式(10)に従い、各画素で最大値画像と同じ空間周波数応答を持つフィルタで生成した静止被写体の検出強度を算出する。
ISTP(x,y)は静止検出強度画像の画素位置(x,y)における画素値である。ISTE0ω0(x,y)、ISTE0ω1(x,y)、ISTE0ω2(x,y)は各々フィルタの空間周波数応答ピークがω0、ω1、ω2の静止被写体検出フィルタを用いて生成した動き検出強度画像の画素位置(x,y)における画素値である。図16(27)は、図16(23)〜(25)から、式(10)に従い生成した静止検出強度画像である。本実施形態では、全画素についてフィルタの空間周波数応答ピークがω0の動き検出フィルタで生成した動き検出強度画像の画素値の大きさが最大なので、図16(27)は図(18)と同じ画像となる。同様に、図17(27)に示すように、縦方向について静止検出強度画像を生成する。生成した静止検出強度画像は所定の記憶領域に記憶する。ステップS509では、動きベクトル算出部303が、最大値画像と、静止検出強度画像から、以下の式(11)に従い、横方向について最大値画像と静止検出強度画像を除算した画像を動きベクトルとして算出する。
v(x,y)=IMAX(x,y)/ISTP(x,y) 式(11)
v(x,y)は画素位置(x,y)における動きベクトル、IMAX(x,y)は最大値画像の画素位置(x,y)における画素値、ISTP(x,y)は静止検出強度画像の画素位置(x,y)における画素値である。図16(28)は図(26)、(27)から式(11)に従い算出した動きベクトルである。同様に図17(28)に示すように、縦方向について動きベクトルを算出する。算出した動きベクトルは所定の記憶領域に記憶する。ステップS510では、動きベクトル算出部303が、フレーム番号iに対してi=i+1に更新する。
v(x,y)=IMAX(x,y)/ISTP(x,y) 式(11)
v(x,y)は画素位置(x,y)における動きベクトル、IMAX(x,y)は最大値画像の画素位置(x,y)における画素値、ISTP(x,y)は静止検出強度画像の画素位置(x,y)における画素値である。図16(28)は図(26)、(27)から式(11)に従い算出した動きベクトルである。同様に図17(28)に示すように、縦方向について動きベクトルを算出する。算出した動きベクトルは所定の記憶領域に記憶する。ステップS510では、動きベクトル算出部303が、フレーム番号iに対してi=i+1に更新する。
ステップS511において動きベクトル算出部303は、フレーム番号iに対してi≧n−1を満たすかどうかを判定する。i≧n−1を満たす場合は、全フレーム画像について動きベクトルを算出したと判定し、処理を終了する。i≧n−1を満たさない場合は、ステップS503に戻る。
全フレーム画像に対して以上の処理を行うことにより、各フレーム画像に写る動きベクトルが算出されている。図14(7)〜(9)に示すように、人間は被写体の動きに応じて視覚の時空間周波数特性を変化させることにより、被写体の動きを検知している。従って、図16(20)〜(22)に示すように、被写体の動きが速い場合、視覚の空間周波数応答ピークが低周波側にシフトする為、空間方向にボケた被写体が知覚される。
以下では、ステップS404の位置ずれ知覚量算出処理の詳細について図9のフローチャートを用いて説明する。ステップS901において位置ずれ知覚量算出部305は、位置ずれ知覚フィルタを生成する。本実施形態では、位置ずれ知覚フィルタとして、相対運動に対する視覚の空間周波数特性をモデル化した、非特許文献3記載のDoGフィルタを用いる。具体的には式(12)に従いDoGフィルタを生成する。
但し、σ0<σ1とする。図18は式(12)に従い算出した位置ずれを知覚するDoGフィルタである。生成したDoGフィルタを位置ずれ知覚フィルタとして、所定の記憶領域に記憶する。
ステップS902において位置ずれ知覚量算出部305は、フレーム番号iに対してi=1に初期化する。ステップS903において位置ずれ知覚量算出部305は、ステップS402で算出した横方向の動きベクトルに対して、ステップS901で生成した位置ずれ知覚フィルタを畳み込んだ画像を生成する。図19(a)は、図16(28)の動きベクトルに対して、図18の位置ずれ知覚フィルタを畳み込んだ画像である。同様に図19(b)に示すように、縦方向についても位置ずれ知覚フィルタ畳み込み画像を生成する。生成した位置ずれ知覚フィルタ畳み込み画像は所定の記憶領域に記憶する。ステップS904では、位置ずれ知覚量算出部305が、ステップS903で算出した位置ずれ知覚フィルタを畳み込み画像から、以下の式(13)に従い、横方向について位置ずれ知覚量を算出する。
IREMはフレーム画像iの位置ずれ知覚量、IDoG(x,y)は位置ずれ知覚フィルタ畳み込み画像の画素位置(x,y)における画素値である。ImgX、ImgYはフレーム画像の横・縦方向のピクセル数である。同様に、縦方向についても位置ずれ知覚量を算出する。算出した位置ずれ知覚量は所定の記憶領域に記憶する。ステップS905では、位置ずれ知覚量算出部305が、フレーム番号iに対してi=i+1に更新する。ステップS906では、位置ずれ知覚量算出部305が、フレーム番号iに対してi≧n−1を満たすかどうかを判定する。i≧n−1を満たす場合は、全フレーム画像について位置ずれ知覚量を算出したと判定し、処理を終了する。i≧n−1を満たさない場合は、ステップS903に戻る。
各フレーム画像に対して位置ずれ知覚量を算出することにより、各フレーム画像の手ブレに伴う位置ずれ知覚量IREMが算出されている。図20は式(13)に従い算出した、各フレーム画像に対する位置ずれ知覚量である。本実施形態では、矩形波チャートA、Bの奥行きの違いが大きい為、手ブレに伴い強度I0の位置ずれ知覚量が算出されている。
撮像装置で撮像した動画像データに対し、以上説明した手ブレ補正処理を行うことで、手ブレに伴う動きボケが目立たない手ブレ補正が可能となる(図21)。縦軸は手ブレ補正後の画像の位置ずれ量(pixel)、横軸は動画像データの各フレーム番号である。実線は手ブレ補正後の手ブレに伴う画像の位置ずれ量(pixel)、点線は撮像画像の手ブレに伴う位置ずれ量(pixel)である。本実施形態では、手ブレ補正処理後の動画像データの手ブレ量が、手ブレに伴う動きボケが目立たない手ブレ量の下限値と等しくなるまで手ブレ量を抑えている。その為、図22に示すにように、手ブレに伴う位置ずれが目立たない程度に振幅x0−x0´(=X0)の手ブレが残った動画像データが生成される。
本実施形態では静止した矩形波チャートをユーザーが手持ち撮影しているとして、画像の位置ずれ量から手ブレ量を取得したが、ユーザーや被写体が動いていて、被写体をトラッキングしながら撮像している場合にも手ブレ量を取得することができる。その場合は、撮像時の撮像装置の三次元空間上の軌跡をStructure From Motionなどを用いて算出する。更に、撮像装置の軌跡にローパスフィルタを掛けた軌跡をカメラワークとして算出し、撮像装置の軌跡とカメラワークの差分を手ブレ量として取得すれば良い。
また、動きベクトルのヒストグラム上で最頻値に対応する動きベクトルを手ブレ速度として検出したが、レーザー照射により取得した距離情報から抽出した背景領域の動きベクトルを手ブレ速度としても良く、特に手ブレ量算出方法を限定するものではない。
また、視覚の時空間周波数特性に基づき動きベクトルを算出したが、ブロックマッチング法や勾配法などの位置合わせアルゴリズムを用いて取得しても良い。また、ジャイロセンサなどの外部装置を用いて取得しても良い。
また、手ブレ補正処理後の動画像データの手ブレ量が、手ブレに伴う位置ずれが目立たない手ブレ量の下限値と等しくなるように手ブレ補正量を算出したが、補正後の動画像データに対する画角維持等の条件を加えた重みづけ処理で算出しても良い。また、ユーザーがモードダイヤルなどで補正量の強弱を設定できるようにしても良い。
また、式(5)に基づき視覚の時空間周波数特性を算出したが、特定のモデルの時空間周波数特性に限定されるものではない。一般に、視覚の空間周波数特性は、バンドパスの特性を持っていることが知られている。例えば、静止被写体を観察する状況では、視覚の空間周波数特性は4〜5cycles/degreeあたりにピークをもつバンドパス特性となる。これに対して、視線が被写体を追従する状況では、高周波側の感度が弱くなり、低周波側の感度が強くなることが知られている。このため、本実施形態で用いる追従視時の視覚の時空間周波数特性は、被写体の動きが速くなるにつれて、感度のピークが低周波側へシフトするバンドパス特性であればよい。例えば、非特許文献4など、他の視覚の時空間周波数特性や実測データ等を用いてもよい。
また、動きが速い/遅い被写体を検出する為に、空間周波数応答ピークが低周波/高周波の動き検出フィルタを用いたが、フィルタは変えずに、畳み込む動画像データの解像度を縮小/拡大しても良い。
<第2実施形態>
第1実施形態では、奥行きが異なる二つの静止被写体を撮像した場合に、手ブレに伴う位置ずれが目立たない手ブレ補正方法について説明した。本実施形態では、動被写体を撮像した場合に、手ブレに伴う位置ずれが目立たない手ブレ補正方法について説明する。
第1実施形態では、奥行きが異なる二つの静止被写体を撮像した場合に、手ブレに伴う位置ずれが目立たない手ブレ補正方法について説明した。本実施形態では、動被写体を撮像した場合に、手ブレに伴う位置ずれが目立たない手ブレ補正方法について説明する。
本実施形態では図23(a)に示すように、三つの矩形波チャートA、B、Cをユーザーが手持ち撮影している。矩形波チャートAの手前にB、Cが配置されており、B、Cの奥行きは同じである。矩形波チャートA、Bは静止しており、矩形波チャートCは画像上でx2(pixel/frame)の速さで左方向に動いているものとする。撮像時にはユーザーが画像上で水平方向に矩形波チャートAが振幅x0(pixel)、矩形波チャートBが振幅x1(pixel)、周期8(frame/cycle)の三角波の動きを繰り返す手ブレを生じさせている。尚、x0<x1<x2とする。図23(b)は、ユーザーが撮像した動画像データ中の一部のフレーム画像であり、手ブレ時に各フレーム画像間で矩形波チャートAは0.5x0、Bは0.5x1、Cは0.5(x2−x1)又は0.5(x2+x1)の位置ずれが生じている。
本実施形態の画像処理の流れは、ステップS403、S404以外は第1実施形態で図4を用いて説明した内容と同じである。以下、図24を用いて本実施形態における画像処理の詳細を説明する。
ステップS2401、S2402は第1実施形態のステップS401、S402と同じである為、説明を省略する。ステップS2403では、手ブレ量算出部304が、第1実施形態で算出する手ブレ量xに加え、手ブレ量算出処理の途中過程で算出する手ブレ速度vblurを所定の記憶領域に記憶する。ステップS2404では、位置ずれ知覚量算出部305が、ステップS2402で算出した動きベクトルとステップS2403で算出した手ブレ速度vblurから、動画像データに写る静止被写体の画素領域を検出する。具体的には、各画素の動きベクトルv(x,y)に対し、|v(x,y)−vblur|<Δvを満たすかどうかを判定する。|v(x,y)−vblur|<Δvを満たす場合は静止被写体であると判定し、|v(x,y)−vblur|<Δvを満たさない場合は動被写体であると判定する。静止被写体と判定した画素領域データを静止被写体領域として所定の記憶領域に記憶する。ステップS2405では、位置ずれ知覚量算出部305が、ステップS2402で算出した動きベクトルと、ステップS2404で検出した静止被写体領域から、静止被写体領域に対して、第1実施形態と同様に位置ずれ知覚量を算出する。算出した位置ずれ知覚量は所定の記憶領域に記憶する。ステップS2406〜ステップS2408は第1実施形態のステップS405〜ステップS407と同じである為、説明を省略する。
以上説明したように、静止被写体領域を検出できるようにすることで、動被写体を撮像した場合でも、手ブレに伴う位置ずれが目立たない手ブレ補正を行うことが可能となる。
本実施形態では、動きベクトルの大きさによって静止被写体領域を検出したが、背景差分法を用いて静止被写体領域を検出しても良く、特に静止被写体領域の検出手法を限定するものではない。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
302 動画像データ取得部
303 動きベクトル算出部
304 手ブレ量算出部
305 位置ずれ知覚量算出部
306 手ブレ量閾値算出部
307 手ブレ補正量算出部
308 手ブレ補正動画像データ生成部
303 動きベクトル算出部
304 手ブレ量算出部
305 位置ずれ知覚量算出部
306 手ブレ量閾値算出部
307 手ブレ補正量算出部
308 手ブレ補正動画像データ生成部
Claims (9)
- 複数のフレーム画像からなる動画像データを取得する取得手段と、
前記動画像データに写る被写体の動きベクトルを算出する動きベクトル算出手段と、
前記動きベクトルに基づいて、前記フレーム画像の位置ずれ量を手ブレ量として算出する手ブレ量算出手段と、
前記動きベクトルに基づいて、前記動画像データに写る被写体と前記被写体の周辺領域とにおける位置ずれの知覚量を算出する知覚量算出手段と、
前記知覚量に基づいて、位置ずれが検知される手ブレ量の閾値を設定する設定手段と、
前記手ブレ量と前記閾値に基づいて、前記動画像データにおける手ブレを補正するための補正量を算出する補正量算出手段と、
前記補正量を用いて、前記動画像データを補正する補正手段
を有することを特徴とする画像処理装置。 - 前記動きベクトル算出手段は、視覚の時空間の周波数特性に基づいて、前記動きベクトルを算出することを特徴とする請求項1に記載の画像処理装置。
- 前記知覚量算出手段は、前記動きベクトルの視覚の空間の周波数特性に基づいて、前記知覚量を算出することを特徴とする請求項1または2に記載の画像処理装置。
- 前記知覚量算出手段は、前記動画像データに写る静止した被写体領域を検出し、前記静止した被写体領域に対して知覚量を算出することを特徴とする請求項1乃至3の何れか一項に記載の画像処理装置。
- 前記位置ずれ量算出手段は、撮像装置の三次元空間上の位置に基づいて前記位置ずれ量を算出することを特徴とする請求項1乃至4の何れか一項に記載の画像処理装置。
- 前記視覚の時空間の周波数特性は、前記動画像データに写る被写体の動きが大きくなるに従い、応答の最大値が低周波側にシフトするバンドパス特性の空間の周波数特性を持つことを特徴とする請求項1乃至5の何れか一項に記載の画像処理装置。
- 前記視覚の空間の周波数特性は、バンドパス特性の空間の周波数特性であることを特徴とする請求項1乃至6の何れか一項に記載の画像処理装置。
- コンピュータを請求項1乃至7のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
- 複数のフレーム画像からなる動画像データを取得し、
前記動画像データに写る被写体の動きベクトルを算出し、
前記動きベクトルに基づいて、前記フレーム画像の位置ずれ量を手ブレ量として算出し、
前記動きベクトルに基づいて、前記動画像データに写る被写体と前記被写体の周辺領域とにおける位置ずれの知覚量を算出し、
前記知覚量に基づいて、位置ずれが検知される手ブレ量の閾値を設定し、
前記手ブレ量と前記閾値に基づいて、前記動画像データにおける手ブレを補正するための補正量を算出し、
前記補正量を用いて、前記動画像データを補正することを特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014246346A JP2016111484A (ja) | 2014-12-04 | 2014-12-04 | 画像処理装置、画像処理方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014246346A JP2016111484A (ja) | 2014-12-04 | 2014-12-04 | 画像処理装置、画像処理方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016111484A true JP2016111484A (ja) | 2016-06-20 |
Family
ID=56122406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014246346A Pending JP2016111484A (ja) | 2014-12-04 | 2014-12-04 | 画像処理装置、画像処理方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016111484A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018136191A (ja) * | 2017-02-21 | 2018-08-30 | 株式会社竹中工務店 | 計測装置、健全性判定装置、及び建物管理システム |
JP2021096166A (ja) * | 2019-12-17 | 2021-06-24 | 株式会社竹中工務店 | 画像処理装置及び画像処理プログラム |
-
2014
- 2014-12-04 JP JP2014246346A patent/JP2016111484A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018136191A (ja) * | 2017-02-21 | 2018-08-30 | 株式会社竹中工務店 | 計測装置、健全性判定装置、及び建物管理システム |
JP2021096166A (ja) * | 2019-12-17 | 2021-06-24 | 株式会社竹中工務店 | 画像処理装置及び画像処理プログラム |
JP7406695B2 (ja) | 2019-12-17 | 2023-12-28 | 株式会社竹中工務店 | 画像処理装置及び画像処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109194876B (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
US10306165B2 (en) | Image generating method and dual-lens device | |
EP3190781B1 (en) | Autofocus method, device and electronic apparatus | |
JP5843454B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP6355454B2 (ja) | 撮像装置及びその制御方法、プログラム、記憶媒体 | |
US20120300115A1 (en) | Image sensing device | |
JP2015035658A (ja) | 画像処理装置、画像処理方法、および撮像装置 | |
US9619886B2 (en) | Image processing apparatus, imaging apparatus, image processing method and program | |
JP6308748B2 (ja) | 画像処理装置、撮像装置及び画像処理方法 | |
EP2533198A1 (en) | Imaging device and method, and image processing method for imaging device | |
CN109544620A (zh) | 图像处理方法和装置、计算机可读存储介质和电子设备 | |
US10013632B2 (en) | Object tracking apparatus, control method therefor and storage medium | |
JP2017098884A (ja) | 移動検出装置、移動検出方法、及び、プログラム | |
JP2010114752A (ja) | 撮像装置及び撮像方法及びプログラム | |
JP6582926B2 (ja) | 移動情報取得装置、移動情報取得方法、及び、プログラム | |
JP6564284B2 (ja) | 画像処理装置および画像処理方法 | |
JP7030427B2 (ja) | 視線検出機能を備える撮像装置 | |
JP2016111484A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2009244944A (ja) | 画像回復装置および撮影装置 | |
JP2015177528A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP6619217B2 (ja) | 顕微鏡システムとその制御方法 | |
JP2013192152A (ja) | 撮像装置、撮像システムおよび画像処理方法 | |
JP2017173920A (ja) | 画像処理装置、画像処理方法、画像処理プログラム、および記録媒体 | |
JP2017063340A (ja) | 像ブレ補正装置、撮像装置および制御方法 | |
JP2017079378A (ja) | 画像処理装置およびその方法、並びに、撮像装置 |