JP2018072941A - 画像処理装置、画像処理方法、プログラム、記憶媒体 - Google Patents
画像処理装置、画像処理方法、プログラム、記憶媒体 Download PDFInfo
- Publication number
- JP2018072941A JP2018072941A JP2016208841A JP2016208841A JP2018072941A JP 2018072941 A JP2018072941 A JP 2018072941A JP 2016208841 A JP2016208841 A JP 2016208841A JP 2016208841 A JP2016208841 A JP 2016208841A JP 2018072941 A JP2018072941 A JP 2018072941A
- Authority
- JP
- Japan
- Prior art keywords
- image
- area
- grid
- divided
- image processing
- 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
Images
Landscapes
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
【課題】グリッド分割を用いた動きベクトルの検出において、検出の正確性の低下を抑制しつつ、より高速に動きベクトルを検出できるようにする。【解決手段】1つの画像を複数の領域に分割する領域分割部と、分割された領域ごとに画素の特徴値を算出して、特徴点を選択する特徴点選択部と、分割された領域ごとの特徴点に基づいて、複数の画像の間でのマッチング処理に使用する画像領域を決定する決定部とを備え、決定部は、マッチング処理に使用する画像領域が分割された領域内に収まらない場合は、分割された領域内に収まる位置まで、画像領域を移動させる。【選択図】 図2
Description
本発明は、動きベクトル検出においてグリッド分割処理を行う画像処理装置に関するものである。
デジタルスチルカメラやデジタルビデオカメラ等の撮像装置を用いて撮影された映像に対して像ブレ補正を施すためには、フレーム画像間の動き量を検出して複数枚の画像の位置合わせを行う必要がある。フレーム画像間の動き量を検出する方法としては、ジャイロセンサのような外部機器の情報を用いたり、撮影されたフレーム画像から動き量を推定したりする方法等がある。
フレーム画像を用いて動き量を推定する方法は従来から種々提案されているが、その代表的なものとしてテンプレートマッチングによる動きベクトル検出がある。テンプレートマッチングでは、まず映像中のある2枚のフレーム画像の一方を原画像、もう一方を参照画像とする。そして、原画像上に配置した所定の大きさの矩形領域をテンプレートブロックとし、参照画像の各位置においてテンプレートブロック内の画素値の分布との相関を求める。このとき、参照画像中で最も相関が高くなる位置がテンプレートブロックの移動先であり、原画像上でのテンプレートブロックの位置を基準とした時の移動先への向きと移動量が動きベクトルとなる。
動きベクトルの検出率を向上させるため、特徴点を抽出し、抽出した特徴点にテンプレートブロックを配置し、フレーム画像間でテンプレートマッチングを行う技術がある。ここで、画像全体に対して特徴点抽出を行うと、特徴点の分布は不均一になることが多い。不均一な特徴点に対して得られた動きベクトルを像ブレ補正の用途で使用する場合、特徴点の集中した領域が主となる像ブレ補正となってしまう。
この問題を解決するため、特許文献1では、特徴点を均一に分布させるために、画像をグリッド状に分割して、特徴の大きさを表す特徴値を画素ごとに計算し、各グリッド内で特徴値が最も大きい画素を特徴点として抽出している。
図12は、特許文献1に記載されている技術に基づいて、各グリッド内で特徴点を求めて、その特徴点にテンプレートブロックを配置し、テンプレートマッチングを行う例を示した図である。図12において、1200は画像、1201はグリッド、1202はグリッド内の特徴点、1203はテンプレート、1204はテンプレートに対するサーチ範囲を示す。例えば、グリッド1201−1においては、特徴点1202−1を重心としたテンプレート1203に基づいて、テンプレートマッチングが行われる。
例えば、ビデオカメラなどの動画の像ブレ補正処理で使用される動きベクトル検出回路においては、リアルタイム性が要求される。そのため、例えば、グリッド1201−1における、テンプレートマッチング用画像の生成、ならびに特徴点の算出処理が完了した直後に、グリッド1201−1のテンプレートマッチング処理を開始出来るように回路を制御する。しかし、グリッド1201−2で示すように、特徴点1202−2が、グリッドの下端に近い場合、テンプレート1203−2と、サーチ範囲1204−2が、グリッド1201−2の下にはみ出す場合がある。
その場合、テンプレートマッチングを行うには、グリッド1201−2の外側の領域1205が必要となるため、下端グリッドより下の画像ラインが余分に必要となる。従って、グリッド1201−2のテンプレートマッチング用画像生成、ならびに特徴点の算出処理が完了した直後に、テンプレートマッチング処理を開始することが出来ない。少なくとも、グリッド1201−2の外側の領域1205に対するテンプレートマッチング用画像の生成が完了するまで、マッチング処理の開始が遅れてしまうという問題がある。
また、グリッド分割によるテンプレートマッチング処理においては、このようにテンプレート画像やサーチ範囲がグリッド外にはみ出る場合に余分画素が必要になるため、メモリにアクセスするデータ量が増えてしまうという問題もある。
本発明は上述した課題に鑑みてなされたものであり、その目的は、グリッド分割を用いた動きベクトルの検出において、検出の正確性の低下を抑制しつつ、より高速に動きベクトルを検出できるようにすることである。
本発明に係わる画像処理装置は、1つの画像を複数の領域に分割する領域分割手段と、分割された領域ごとに画素の特徴値を算出して、特徴点を選択する特徴点選択手段と、前記分割された領域ごとの特徴点に基づいて、複数の画像の間でのマッチング処理に使用する画像領域を決定する決定手段と、を備え、前記決定手段は、前記マッチング処理に使用する画像領域が前記分割された領域内に収まらない場合は、前記分割された領域内に収まる位置まで、前記画像領域を移動させることを特徴とする。
本発明によれば、グリッド分割を用いた動きベクトルの検出において、検出の正確性の低下を抑制しつつ、より高速に動きベクトルを検出することが可能となる。
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
<第1の実施形態>
図1から図9を参照して、本発明の第1の実施形態に係わる画像処理装置について説明する。第1の実施形態では、動きベクトル検出対象グリッドが画面の下端に近い場合に、テンプレートマッチング処理に使用する画像領域の位置を変更する。これにより、像ブレ補正のための動きベクトル検出処理の完了タイミングを早めることが可能となる。
図1から図9を参照して、本発明の第1の実施形態に係わる画像処理装置について説明する。第1の実施形態では、動きベクトル検出対象グリッドが画面の下端に近い場合に、テンプレートマッチング処理に使用する画像領域の位置を変更する。これにより、像ブレ補正のための動きベクトル検出処理の完了タイミングを早めることが可能となる。
図1は、本発明の画像処理装置の第1の実施形態としての撮像装置100の構成を示すブロック図である。図1において、撮像装置100は、撮像光学系101、撮像素子102、A/D変換器103、画像処理部104、システム制御部106、操作部107、表示部108、記憶部109を備える。
撮像光学系101は、フォーカスレンズや像ブレ補正レンズを含む複数のレンズ群および絞りを有して構成される。撮像光学系101は被写体からの光を受け、撮像素子102に光を導く。撮像光学系101に含まれるフォーカスレンズは不図示のレンズ駆動制御部からの駆動命令に基づいて駆動され、ピント位置を調節する。なお、フォーカスレンズは、ピントリングの回転動作に応じて駆動されてもよい。また、像ブレ補正レンズはレンズ制御部からの駆動命令に基づいて駆動され、手ブレ等に起因する像ブレを補正する。撮像光学系101を通過した光束は撮像素子102上に被写体の光学像を形成する。
撮像素子102は、CCDやCMOSセンサ等からなる撮像素子であり、その表面は例えばベイヤー配列のような配列を有するRGBカラーフィルタにより覆われ、カラー撮影が可能である。撮像素子102は受光した光束を電気信号に変換し、アナログ信号としてA/D変換部103に出力する。A/D変換器103は撮像素子102からのアナログ信号をデジタル信号に変換するための変換器である。A/D変換器103は、A/D変換によって得られたデジタル信号を画像処理部104に出力する。
画像処理部104は、動きベクトル検出を行う動きベクトル検出部105を含み、画像処理機能を有する。画像処理部104は独立した回路でもよいし、システム制御部106がプログラムを実行することにより実現される構成でもよい。動きベクトル検出部105の詳細な構成及び動きベクトルの検出方法については、後述する。動きベクトル検出部105で検出された動きベクトルは像ブレ補正レンズの制御値の算出に使用される。画像処理部104は、システム制御部106からの制御命令に基づいてA/D変換器103から出力されるデジタル信号群に対して画像処理を行い、記録用および表示用の画像データを生成する。画像処理部104で行われる画像処理は、WB補正処理、色ゲインをかけて色差信号やRGB信号に変換する処理、ガンマ補正処理などの現像処理である。なお、画像処理部104は、画像処理を行う際に、適宜画像データを不図示のメモリに記憶させたり、あるいはメモリから画像データを読み出したりする。
システム制御部106はCPUを含み、不図示のメモリに格納されている制御プログラムに従って、撮像光学系101内のフォーカスレンズや像ブレ補正レンズの駆動制御などのシステム全体の動作制御を行う。また、システム制御部106は、画像処理によって得られたデータの取得や、撮像光学系101のレンズ位置情報の取得等の各ブロック間の信号の入出力も制御する。
操作部107は、撮像装置100に備えられた各種スイッチ、ダイヤル、シャッターボタン、タッチパネルなどからなる操作デバイスである。撮影者は、操作部107を用いて撮影パラメータの設定や撮影動作の指示などを入力することが可能である。撮影者による操作部107を介した操作入力信号は、システム制御部106に入力される。
表示部108は、LCD等を用いたディスプレイであり、システム制御部106から転送される撮影時の画像や記憶部109に記憶された画像の表示、或いは、各種の設定画面などの表示を行う。様々な規格のメモリカード等の着脱可能な記録媒体が装填され、この記録媒体にシステム制御部106を介して画像データが記録され、また、記録媒体から画像データが読み出される。以上が、本実施形態に係わる撮像装置100の構成である。
次に、本実施形態における動きベクトル検出部105の構成、及び、動きベクトルの検出方法について説明する。図2は、動きベクトル検出部105の構成を示すブロック図である。図2において、動きベクトル検出部105は、グリッド分割部201、ベクトル検出画像生成部202、特徴点算出部(特徴点選択部)203、メモリ204、メモリアドレス生成部205、マッチング処理部206を有している。グリッド分割部201は、入力されたベクトル検出の対象となる画像信号を複数の領域(本実施形態では、グリッドと呼ぶ)に分割し、分割したグリッド毎の画像信号を出力する。
図3は、画像信号を複数のグリッドに分割(領域分割)した例を示した図であり、画像信号300を、水平方向に6個、垂直方向に4個のグリッドに分割している。以降の処理では、グリッド301−1に対し、特徴点302−1を求め、求めた特徴点に応じて、テンプレート画像303−1の位置と、サーチ画像304−1の位置を決定して、テンプレートマッチングを行う。また、特徴点302は、グリッド301内の点となる。そのため、グリッド301−2で示すように、特徴点302−2がグリッド301−2の端に近くなると、テンプレート画像303−2と、サーチ画像304−2が、グリッド301−2からはみ出してしまう可能性がある。従って、上端グリッドや、左端グリッド、右端グリッドに対しては、余分画素領域305を準備する必要がある。
また、グリッド分割部201は、図4に示すように、後段のベクトル検出画像生成部202と、特徴点算出部203に対し、画像信号400を、前述した余分画素領域を含めた分割領域単位で出力する。まず、左上端の余分画素領域402−1の画像信号を読み出したら、次に、その右隣の余分画素領域402−2を読み出し、そのまま水平方向の余分画素領域を読み出す。上端の余分画素領域の画像信号を全て読み出し終えたら、グリッド401−1に対する左端の余分画素領域402−3を読み出し、その後に、グリッド401−1を読み出す。グリッド401−1を読み出し終えたら、グリッド401−2、グリッド401−3という順で、水平方向のグリッドを読み出していく。
なお、後段のベクトル検出画像生成部202は、余分画素領域402を入力する必要があるが、特徴点算出部203は、グリッド401のみが処理対象となるため、余分画素領域402の入力は不要である。例えば、余分画素領域402がベクトル検出画像生成部202に入力されている間は、特徴点算出部203は、供給するクロックを停止するなどして、消費電力を抑える構成としてもよい。また、画像信号400がラスタスキャンでグリッド分割部201に入力される場合は、グリッド分割部201において、既知の手法により、ラスタブロック変換処理を行う必要がある。
次に、分割された画像信号は、ベクトル検出画像生成部202において、ベクトル検出画像に変換され、メモリ204に書き込まれる。ベクトル検出画像生成部202は、例えば、バンドパスフィルタ回路であり、テンプレートマッチング処理に不要な、画像信号の高周波成分と低周波成分をカットする。
また、ベクトル検出画像が生成されるのと並行して、特徴点算出部203において、各グリッドの特徴点を算出する。図5は、特徴点算出部203の構成を示した図であり、特徴点算出部203は、特徴フィルタ部501、特徴評価部502、特徴点決定部503を有する。
特徴フィルタ部501は、例えば、バンドパスフィルタ、水平微分フィルタ、垂直微分フィルタ、平滑化フィルタなど、複数のフィルタから構成される。例えば、本実施形態においては、バンドパスフィルタで、不要な画像信号の高周波成分と低周波成分をカットし、水平方向の微分フィルタ処理を施した信号と、垂直方向の微分フィルタ処理を施した信号それぞれに対して、平滑化フィルタ処理を施す。
特徴評価部502は、特徴フィルタ部501によりフィルタ処理されたグリッドに対し、画素ごとに2つのエッジの交点や曲率が極大である曲線状の点など画素の周辺の微分値が多方向に大きい点を特徴評価式により特徴値として算出する。本実施形態では、例えば、Shi and Tomasiの手法を用いる場合について説明する。水平微分フィルタと垂直微分フィルタを施した結果から、自己相関行列Hを作成する。自己相関行列Hの式を(式1)に示す。
(式1)において、Ixは水平微分フィルタを施した結果、Iyは垂直微分フィルタを施した結果を表しており、ガウシアンフィルタGを畳み込む。Shi and Tomasiの特徴評価式を(式2)に示す。
Shi and Tomashi = min(λ1,λ2) (式2)
(式2)は、(式1)の自己相関行列Hの固有値λ1,λ2のうち小さい方の固有値を特徴値とすることを示す。
(式2)は、(式1)の自己相関行列Hの固有値λ1,λ2のうち小さい方の固有値を特徴値とすることを示す。
特徴点決定部503は、グリッド毎に、特徴評価部502によって画素ごとに算出された特徴値の最も大きい値を持つ画素を特徴点と決定する。本実施形態においては、特徴点の座標は、グリッドの左上端を(0,0)とした相対座標(PX,PY)で表現するが、画像信号における絶対座標で表現してもよい。
なお、算出された特徴点は、特徴点決定部503内で、グリッド毎にメモリやレジスタに記憶される。そして、マッチング処理部206において、対応するグリッドのテンプレートマッチング処理が開始されるときに、メモリアドレス生成部205に特徴点情報がセットされる。
メモリ204には、現時点のベクトル検出画像と、1フレーム前のベクトル検出画像の、2フレーム分のベクトル検出画像が記憶されている。本実施形においては、現時点のベクトル検出画像をテンプレート画像とし、1フレーム前のベクトル検出画像をサーチ画像として、テンプレートマッチングを行う構成である。メモリアドレス生成部205は、メモリ204に配置された2枚のベクトル検出画像の所定のグリッドに対して、テンプレートマッチングに必要となるテンプレート画像とサーチ画像の読み出し位置を決定し、メモリアクセスを実施する。
ここで、テンプレート画像とサーチ画像の読み出し位置の決定について説明する。本実施形態においては、(a)ベクトル検出対象グリッドが画面の下端以外の場合と、(b)ベクトル検出対象グリッドが画面の下端の場合とで、それぞれ制御が異なる。なお、グリッドが下端か否かの情報は、グリッド分割部201からメモリアドレス生成部205へ入力されるグリッド座標情報によって判定する。
(a)ベクトル検出対象グリッドが画面の下端以外の場合
図6は、グリッド601におけるテンプレート画像の読み出し開始位置とサーチ画像の読み出し開始位置を示した図である。602はグリッド開始座標、603は特徴点座標、604はテンプレート画像、605はサーチ画像、606はテンプレート画像読み出し開始座標、607はサーチ画像読み出し開始座標、608はテンプレートマッチング処理に必要となる余分画素領域である。
図6は、グリッド601におけるテンプレート画像の読み出し開始位置とサーチ画像の読み出し開始位置を示した図である。602はグリッド開始座標、603は特徴点座標、604はテンプレート画像、605はサーチ画像、606はテンプレート画像読み出し開始座標、607はサーチ画像読み出し開始座標、608はテンプレートマッチング処理に必要となる余分画素領域である。
まず、グリッド内の特徴点603(PX,PY)は、グリッド開始座標602を(GSX,GSY)とした場合に、画像信号内の絶対座標(GPX,GPY)としては以下の式で表現される。
(GPX,GPY)=(GSX+PX,GSY+PY) (式3)
テンプレート画像は、特徴点が中心となるように配置される。従って、テンプレート画像の読み出し開始位置(GTX,GTY)は、テンプレート画像の水平サイズをTX、垂直サイズをTYとした場合、以下の式で表現される。
テンプレート画像は、特徴点が中心となるように配置される。従って、テンプレート画像の読み出し開始位置(GTX,GTY)は、テンプレート画像の水平サイズをTX、垂直サイズをTYとした場合、以下の式で表現される。
(GTX,GTY)=(GPX−TX/2,GPY−TY/2) (式4)
サーチ画像は、画像の中心をテンプレート画像の中心に揃えて配置する。従って、サーチ画像の読み出し開始位置(GMX,GMY)は、サーチ画像の水平サイズをSX、垂直サイズをSYとした場合、以下の式で表現される。
サーチ画像は、画像の中心をテンプレート画像の中心に揃えて配置する。従って、サーチ画像の読み出し開始位置(GMX,GMY)は、サーチ画像の水平サイズをSX、垂直サイズをSYとした場合、以下の式で表現される。
(GMX,GMY)=(GPX−SX/2,GPY−SY/2) (式5)
メモリアドレス生成部205は、メモリ204に配置された現フレームのベクトル検出画像に対して、座標(GTX,GTY)から、水平サイズTX、垂直サイズTYの矩形領域(テンプレート画像)を読み出すよう、メモリアドレスを発行する。また、同様に、メモリ204に配置された1フレーム前のベクトル検出画像に対して、座標(GMX,GMY)から水平サイズSX、垂直サイズSYの矩形領域(サーチ画像)を読み出すよう、メモリアドレスを発行する。
メモリアドレス生成部205は、メモリ204に配置された現フレームのベクトル検出画像に対して、座標(GTX,GTY)から、水平サイズTX、垂直サイズTYの矩形領域(テンプレート画像)を読み出すよう、メモリアドレスを発行する。また、同様に、メモリ204に配置された1フレーム前のベクトル検出画像に対して、座標(GMX,GMY)から水平サイズSX、垂直サイズSYの矩形領域(サーチ画像)を読み出すよう、メモリアドレスを発行する。
図7は、ベクトル検出画像生成処理、特徴点算出処理、テンプレートマッチング処理の処理タイミングを説明する図であり、余分画素領域608−1〜608−8、及び、グリッド601がどのタイミングで処理されるかを示している。
グリッド601をテンプレートマッチング処理する場合、特徴点(PX,PY)の位置によってはテンプレート画像とサーチ画像がグリッド601をはみ出す。そのため、余分画素領域608−1〜608−8が必要となる。従って、本実施形態において、グリッド601をテンプレートマッチング処理する場合は、図7に示すように、余分画素領域608−8のベクトル検出画像生成処理が完了している必要がある。
(b)ベクトル検出対象グリッドが画面の下端の場合
図8は、グリッド801におけるテンプレート画像の読み出し開始位置と、サーチ画像の読み出し開始位置を示した図である。802はグリッド開始座標、803はテンプレートの中心位置、804はテンプレート画像、805はサーチ画像、806はテンプレート画像読み出し開始座標、807はサーチ画像読み出し開始座標、808は余分画素領域、809はグリッド内の特徴点、810は特徴点に対するテンプレート画像、811は特徴点に対するサーチ画像である。
図8は、グリッド801におけるテンプレート画像の読み出し開始位置と、サーチ画像の読み出し開始位置を示した図である。802はグリッド開始座標、803はテンプレートの中心位置、804はテンプレート画像、805はサーチ画像、806はテンプレート画像読み出し開始座標、807はサーチ画像読み出し開始座標、808は余分画素領域、809はグリッド内の特徴点、810は特徴点に対するテンプレート画像、811は特徴点に対するサーチ画像である。
下端グリッドにおいては、グリッド内の特徴点809(PX,PY)の座標によって制御を変える。グリッドのサイズを(GX,GY)、サーチ画像の水平サイズSX、垂直サイズSYとした場合に、制御方法を変える条件式は以下の式で表現される。
(PX+SX/2)>GX
(PY+SY/2)>GY …(式6)
(式6)は、サーチ画像811がグリッドからはみ出していることを示す。X方向、Y方向それぞれについて上記条件式が満たされる場合、サーチ画像がグリッド内に納まる位置まで移動させた位置にテンプレートを配置するように制御する。従って、テンプレート画像の移動後の中心座標を(RX,RY)、グリッド内の特徴点座標を(PX,PY)、グリッドのサイズを(GX,GY)、グリッド開始位置を(GSX,GSY)とした場合に、画像信号内のテンプレート画像の中心の絶対座標(GPX,GPY)は以下の式で表現される。
(PY+SY/2)>GY …(式6)
(式6)は、サーチ画像811がグリッドからはみ出していることを示す。X方向、Y方向それぞれについて上記条件式が満たされる場合、サーチ画像がグリッド内に納まる位置まで移動させた位置にテンプレートを配置するように制御する。従って、テンプレート画像の移動後の中心座標を(RX,RY)、グリッド内の特徴点座標を(PX,PY)、グリッドのサイズを(GX,GY)、グリッド開始位置を(GSX,GSY)とした場合に、画像信号内のテンプレート画像の中心の絶対座標(GPX,GPY)は以下の式で表現される。
(RX,RY)=(GX−SX/2,GY−SY/2) …(式7)
(GPX,GPY)=(GSX+RX,GSY+Ry) …(式8)
テンプレート画像は、この点(GPX,GPY)が中心となるように配置される。従って、読み出し開始位置(GTX,GTY)は、テンプレート画像の水平サイズをTX、垂直サイズをTYとした場合、(式4)で表現される。
(GPX,GPY)=(GSX+RX,GSY+Ry) …(式8)
テンプレート画像は、この点(GPX,GPY)が中心となるように配置される。従って、読み出し開始位置(GTX,GTY)は、テンプレート画像の水平サイズをTX、垂直サイズをTYとした場合、(式4)で表現される。
また、サーチ画像は、画像の中心をテンプレート画像の中心に揃えて配置される。従って、サーチ画像の読み出し開始位置(GMX,GMY)は、水平サイズをSX、垂直サイズをSYとした場合、(式5)で表現される。
メモリアドレス生成部205は、(a)の場合と同様に、メモリ204に配置された現フレームのベクトル検出画像に対して、座標(GTX,GTY)から、水平サイズTX、垂直サイズTYの矩形領域(テンプレート画像)を読みだすよう、メモリアドレスを発行する。また、同様に、メモリ204に配置された1フレーム前のベクトル検出画像に対して、座標(GMX,GMY)から、水平サイズSX、垂直サイズSYの矩形領域(サーチ画像)を読み出すよう、メモリアドレスを発行する。
一方、(式6)の条件を満たさない場合、すなわち、サーチ画像がグリッド内に納まっている場合には、(a)の場合と同様の制御を行う。
図9は、ベクトル検出画像生成処理、特徴点算出処理、テンプレートマッチング処理の処理タイミングを説明した図であり、余分画素領域808−1〜808−5、及び、グリッド801がどのタイミングで処理されるかを示している。
グリッド801をテンプレートマッチング処理する場合、上記の(b)で説明したような読み出し範囲の移動を行うことにより、テンプレート画像とサーチ画像が、グリッド801からはみ出すことがなくなる。そのため、余分画素領域808−1〜808−5を必要としない。従って、本実施形態において、グリッド801をテンプレートマッチング処理する場合は、図9に示すように、グリッド801のベクトル検出画像生成処理が完了していればマッチング処理を行うことができ、マッチング処理開始が遅れることがなくなる。また、下端グリッドは余分画素領域が不要のため、下端グリッドよりも下の画像信号に対して、ベクトル画像生成処理を施してメモリ204に書き出す必要がない。
なお、本実施形態においては、下端グリッドのサーチ画像が右方向と下方向にはみ出している例について説明したが、右方向のみ、下方向にのみにはみ出している場合は、読み出し範囲をX方向のみ、Y方向のみ移動させることとなる。また、右方向のはみ出しに関しては、下方向ほどマッチング処理開始時間の遅延に影響しないため、できる限り特徴点の算出結果を反映させたい場合には右方向のはみ出しを許容するようにしてもよい。
マッチング処理部206は、メモリ204から読み出されたテンプレート画像とサーチ画像を用いて相関値を算出し、その相関値からベクトル値を算出する。例えば、相関値の算出方法の一例として差分絶対値和(Sum of Absolute Difference、以下SADと略す)を使用する。
(式9)において、f(i,j)はテンプレート画像604(804)内の座標(i,j)における画素値を表しており、g(i,j)はサーチ画像605(805)において相関値算出の対象となる領域内の各画素値を表す。相関値算出対象領域は、テンプレート画像604(804)と同じ大きさである。そしてSADでは、両ブロック内の各画素値f(i,j)及びg(i,j)について差の絶対値を計算し、その総和を求めることで相関値S_SADを得ることが出来る。従って、相関値S_SADの値が小さいほど両ブロック間の輝度値の差分が小さい、つまりテンプレート画像604(804)と相関値算出領域内のテクスチャが類似していることを表している。なお、本実施形態では、相関値の一例としてSADを使用しているが、これに限るものではなく、差分二乗和(SSD)や正規化相互相関(NCC)等の他の相関値を用いてもよい。マッチング処理部206は、相関値の最小値の位置(MVX,MVY)を、グリッドの動きベクトル値として出力する。
以上説明したように、第1の実施形態の動きベクトル検出部105は、下端グリッドに対してテンプレートマッチング処理に使用する画像がグリッド外となった場合に、はみ出し量に応じて読み出し範囲を移動させる。これにより、メモリ204に書き込むベクトル検出画像のデータ量を削減することができる。また、動きベクトル検出処理の開始が遅れてしまう課題に対して、処理開始を早めることが可能となり、動きベクトル検出処理の高速化が可能となる。また、はみ出し量が数画素程度の場合には、テンプレート画像の移動量が小さく、テンプレート画像内に特徴のあるテクスチャを含ませることができるため、テンプレートマッチングの精度低下を抑制しつつ、処理完了を早めることが可能である。
<第2の実施形態>
図10を参照して、本発明の第2の実施形態について説明する。第2の実施形態では、動きベクトル検出対象グリッドが下端だけでなく、上端、左右端の場合にもテンプレートマッチング処理に使用する画像領域の位置を変更する。これにより、メモリに書き込むベクトル検出画像のデータ量をより削減することが可能となる。本実施形態の撮像装置、画像処理部の構成は、第1の実施形態を示す図1、図2と同様である。第1の実施形態と異なる点は、メモリアドレス生成部205の制御のみである。
図10を参照して、本発明の第2の実施形態について説明する。第2の実施形態では、動きベクトル検出対象グリッドが下端だけでなく、上端、左右端の場合にもテンプレートマッチング処理に使用する画像領域の位置を変更する。これにより、メモリに書き込むベクトル検出画像のデータ量をより削減することが可能となる。本実施形態の撮像装置、画像処理部の構成は、第1の実施形態を示す図1、図2と同様である。第1の実施形態と異なる点は、メモリアドレス生成部205の制御のみである。
図10は、第2の実施形態における画像信号をグリッド分割した例を示す図であり、画像信号1000を、水平方向に6個、垂直方向に4個のグリッドに分割している。以降の処理は、グリッド1001に対し、特徴点1002を求め、求めた特徴点に応じてテンプレート画像1003の位置と、サーチ画像1004の位置を決定して、テンプレートマッチングを行う。ただし、第1の実施形態とは異なり、余分画素領域に対するベクトル検出画像生成処理をしない。
第2の実施形態における、メモリアドレス生成部205のテンプレート画像とサーチ画像の読み出し位置の決定について説明する。本実施形態においては、(a)ベクトル検出対象グリッドが画面の端以外の場合と、(b)ベクトル検出対象グリッドが画面の端の場合とで、それぞれ制御が異なる。なお、グリッドが端か否かの情報は、グリッド分割部201からメモリアドレス生成部205へ入力されるグリッド座標情報を用いて判定する。
(a)ベクトル検出対象グリッドが画面の端以外の場合(グリッド1001−2)
第1の実施形態における、「(a)ベクトル検出対象グリッドが画面の下端以外の場合」と同様の制御となるため、説明を省略する。
(b)ベクトル検出対象グリッドが画面の端の場合(グリッド1001−1)
画面の端に位置するグリッドにおいては、第1の実施形態における「(b)ベクトル検出対象グリッドが画面の下端の場合」と同様に画像の読み出し範囲を移動させる。つまり、サーチ画像がグリッドからはみ出している場合は、グリッド内に納まる位置まで移動させた位置(RX,RY)を中心にテンプレート画像を配置するように制御する。ただし、下端グリッドのみの場合とは異なり、左方向、上方向にもはみ出してはいけないため、(式6)に加えて以下の条件式が追加となる。
(a)ベクトル検出対象グリッドが画面の端以外の場合(グリッド1001−2)
第1の実施形態における、「(a)ベクトル検出対象グリッドが画面の下端以外の場合」と同様の制御となるため、説明を省略する。
(b)ベクトル検出対象グリッドが画面の端の場合(グリッド1001−1)
画面の端に位置するグリッドにおいては、第1の実施形態における「(b)ベクトル検出対象グリッドが画面の下端の場合」と同様に画像の読み出し範囲を移動させる。つまり、サーチ画像がグリッドからはみ出している場合は、グリッド内に納まる位置まで移動させた位置(RX,RY)を中心にテンプレート画像を配置するように制御する。ただし、下端グリッドのみの場合とは異なり、左方向、上方向にもはみ出してはいけないため、(式6)に加えて以下の条件式が追加となる。
(PX−SX/2)<0
(PY−SY/2)<0 …(式10)
X方向、Y方向それぞれについて上記条件式が満たされる場合、サーチ画像がグリッド内に納まる位置まで移動させた位置にテンプレートを配置するように制御する。従って、移動後のテンプレート画像の中心座標(RX,RY)は以下の式で表現される。
(PY−SY/2)<0 …(式10)
X方向、Y方向それぞれについて上記条件式が満たされる場合、サーチ画像がグリッド内に納まる位置まで移動させた位置にテンプレートを配置するように制御する。従って、移動後のテンプレート画像の中心座標(RX,RY)は以下の式で表現される。
(RX,RY)=(SX/2,SY/2) …(式11)
従って、本実施形態において、画面の端のグリッドをテンプレートマッチング処理する場合は、端のグリッドよりも外側にある余分画素領域が不要となる。そのため、端のグリッドよりも外側の画像信号に対して、ベクトル画像生成処理を施す必要が無く、メモリ204に書き出す必要もない。
従って、本実施形態において、画面の端のグリッドをテンプレートマッチング処理する場合は、端のグリッドよりも外側にある余分画素領域が不要となる。そのため、端のグリッドよりも外側の画像信号に対して、ベクトル画像生成処理を施す必要が無く、メモリ204に書き出す必要もない。
なお、本実形態においては、端のグリッドのサーチ画像が左方向と上方向の両方向にはみ出している例について説明したが、(式6)、(式10)の条件により上下左右の端グリッドにおいては、画像の外側にはみ出している方向のみにサーチ画像を移動させる。
以上が第2の実施形態における、メモリアドレス生成部205の制御である。本実施形態によれば、第1の実施形態に比べてさらにメモリ204に書き込むベクトル検出画像のデータ量を削減することができる。
<第3の実施形態>
図11を参照して、本発明の第3の実施形態について説明する。第3の実施形態では、動きベクトル検出処理全体の処理時間とメモリ204に書き込むベクトル検出画像のデータ量の削減を図るために、処理グリッドを間引く処理について説明する。処理を行う全てのグリッドに対して、テンプレートマッチング処理に使用する画像領域の位置を変更する。これにより、テンプレートマッチングの精度低下を抑制しつつ、処理時間とメモリ204に書き込むベクトル検出画像のデータ量を大幅に削減することが可能となる。
図11を参照して、本発明の第3の実施形態について説明する。第3の実施形態では、動きベクトル検出処理全体の処理時間とメモリ204に書き込むベクトル検出画像のデータ量の削減を図るために、処理グリッドを間引く処理について説明する。処理を行う全てのグリッドに対して、テンプレートマッチング処理に使用する画像領域の位置を変更する。これにより、テンプレートマッチングの精度低下を抑制しつつ、処理時間とメモリ204に書き込むベクトル検出画像のデータ量を大幅に削減することが可能となる。
この第3の実施形態における撮像装置、画像処理部の構成は、第1及び第2の実施形態を示す図1、図2と同様である。第1及び第2の実施形態と異なる点は、メモリアドレス生成部205の制御のみである。
図11は、第3の実施形態における画像信号をグリッドに分割した例を示す図であり、画像信号1100を、水平方向に6個、垂直方向に4個のグリッドに分割した上で、水平方向、垂直方向それぞれに対して、1グリッド置きに処理対象グリッドを間引いている(間引かれた状態)。以降の処理は、グリッド1101に対し、特徴点1102を求め、求めた特徴点に応じて、テンプレート画像1104の位置と、サーチ画像1104の位置を決定して、テンプレートマッチングを行う。ただし、第1及び第2の実施形態とは異なり、余分画素領域と間引いたグリッドに対しては、ベクトル検出画像生成処理をしない。
第3の実施形態における、メモリアドレス生成部205のテンプレート画像とサーチ画像の読み出し位置の決定について説明する。本実施形態においては、(a)ベクトル検出対象グリッドでない場合と、(b)ベクトル検出対象グリッドの場合とで、それぞれ制御が異なる。なお、ベクトル検出対象グリッドか否かの情報は、グリッド分割部201からメモリアドレス生成部205へ入力されるグリッド座標情報を用いて判定する。
(a)ベクトル検出対象グリッドでない場合(グリッド1101−2)
ベクトル検出対象グリッドでないため、処理を行わず、次のグリッドに進む。
(b)ベクトル検出対象グリッドの場合(グリッド1001−1)
第2の実施形態における、「(b)ベクトル検出対象グリッドが画面の端の場合」と同様の制御となるため、説明を省略する。
(a)ベクトル検出対象グリッドでない場合(グリッド1101−2)
ベクトル検出対象グリッドでないため、処理を行わず、次のグリッドに進む。
(b)ベクトル検出対象グリッドの場合(グリッド1001−1)
第2の実施形態における、「(b)ベクトル検出対象グリッドが画面の端の場合」と同様の制御となるため、説明を省略する。
このように、本実施形態においては、テンプレートマッチング処理する場合に、処理対象となる全てのグリッドについてグリッドよりも外側にある領域が不要となる。そのため、処理対象のグリッドの外側の画像信号に対してベクトル画像生成処理を行う必要がない。また、メモリ204に書き出す必要もない。
以上が第3の実施形態におけるメモリアドレス生成部205の制御である。このような処理により、テンプレートマッチングの精度低下を抑制しつつ、処理時間とメモリ204に書き込むベクトル検出画像のデータ量を大幅に削減することが可能となる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
201:グリッド分割部、202:ベクトル検出画像生成部、203:特徴点算出部、204:メモリ、205:メモリアドレス生成部、206:マッチング処理部
Claims (13)
- 1つの画像を複数の領域に分割する領域分割手段と、
分割された領域ごとに画素の特徴値を算出して、特徴点を選択する特徴点選択手段と、
前記分割された領域ごとの特徴点に基づいて、複数の画像の間でのマッチング処理に使用する画像領域を決定する決定手段と、を備え、
前記決定手段は、前記マッチング処理に使用する画像領域が前記分割された領域内に収まらない場合は、前記分割された領域内に収まる位置まで、前記画像領域を移動させることを特徴とする画像処理装置。 - 前記決定手段は、前記分割された領域が画面の下端の位置である場合、前記マッチング処理に使用する画像領域を、前記分割された領域から下方向にはみ出さない位置まで上方向に移動させることを特徴とする請求項1に記載の画像処理装置。
- 前記決定手段は、前記分割された領域が画面の上端の位置である場合、前記マッチング処理に使用する画像領域を、前記分割された領域から上方向にはみ出さない位置まで下方向に移動させることを特徴とする請求項1又は2に記載の画像処理装置。
- 前記決定手段は、前記分割された領域が画面の左端の位置である場合、前記マッチング処理に使用する画像領域を、前記分割された領域から左方向にはみ出さない位置まで右方向に移動させることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
- 前記決定手段は、前記分割された領域が画面の右端の位置である場合、前記マッチング処理に使用する画像領域を、前記分割された領域から右方向にはみ出さない位置まで左方向に移動させることを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
- 前記分割された領域を、水平方向、垂直方向それぞれに対して間引く間引き手段をさらに備え、前記決定手段は、前記分割された画像が間引かれた状態である場合、前記マッチング処理に使用する画像領域を、前記分割された領域から上下左右にはみ出さない位置まで移動させることを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
- 前記間引き手段は、前記分割された領域を水平方向、垂直方向にそれぞれ1つ置きに間引くことを特徴とする請求項6に記載の画像処理装置。
- 前記決定手段は、メモリに記憶された画像信号の読み出しアドレスを変更することにより、前記マッチング処理に使用する画像領域を移動させることを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
- 前記メモリに記憶された複数のフレームの画像の間で特徴点のマッチング処理を行うマッチング処理手段をさらに備えることを特徴とする請求項7に記載の画像処理装置。
- 前記マッチング処理手段によるマッチング処理の結果に基づいて、動きベクトルを検出する検出手段をさらに備えることを特徴とする請求項9に記載の画像処理装置。
- 1つの画像を複数の領域に分割する領域分割工程と、
分割された領域ごとに画素の特徴値を算出して、特徴点を選択する特徴点選択工程と、
前記分割された領域ごとの特徴点に基づいて、複数の画像の間でのマッチング処理に使用する画像領域を決定する決定工程と、を有し、
前記決定工程では、前記マッチング処理に使用する画像領域が前記分割された領域内に収まらない場合は、前記分割された領域内に収まる位置まで、前記画像領域を移動させることを特徴とする画像処理方法。 - 請求項11に記載の画像処理方法の各工程をコンピュータに実行させるためのプログラム。
- 請求項11に記載の画像処理方法の各工程をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016208841A JP2018072941A (ja) | 2016-10-25 | 2016-10-25 | 画像処理装置、画像処理方法、プログラム、記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016208841A JP2018072941A (ja) | 2016-10-25 | 2016-10-25 | 画像処理装置、画像処理方法、プログラム、記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018072941A true JP2018072941A (ja) | 2018-05-10 |
Family
ID=62112715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016208841A Pending JP2018072941A (ja) | 2016-10-25 | 2016-10-25 | 画像処理装置、画像処理方法、プログラム、記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018072941A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026028A (zh) * | 2019-12-11 | 2020-04-17 | 上海维宏电子科技股份有限公司 | 数控系统中针对加工工件实现二维平面化网格划分处理的方法 |
-
2016
- 2016-10-25 JP JP2016208841A patent/JP2018072941A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026028A (zh) * | 2019-12-11 | 2020-04-17 | 上海维宏电子科技股份有限公司 | 数控系统中针对加工工件实现二维平面化网格划分处理的方法 |
CN111026028B (zh) * | 2019-12-11 | 2022-12-06 | 上海维宏电子科技股份有限公司 | 针对加工工件实现二维平面化网格划分处理的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102509466B1 (ko) | 장면의 초해상도 이미지를 생성하기 위한 광학 이미지 안정화 움직임 | |
JP2009193421A (ja) | 画像処理装置、カメラ装置、画像処理方法、およびプログラム | |
JP7117872B2 (ja) | 画像処理装置、撮像装置、画像処理方法、及びプログラム | |
JP6602141B2 (ja) | 画像処理装置および方法 | |
JP6564284B2 (ja) | 画像処理装置および画像処理方法 | |
JP6576179B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP6231816B2 (ja) | 撮像装置およびその制御方法、プログラム並びに記憶媒体 | |
US10880457B2 (en) | Image processing apparatus, image capturing apparatus, image processing method, and storage medium | |
JP2019020839A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2018072941A (ja) | 画像処理装置、画像処理方法、プログラム、記憶媒体 | |
JP6739955B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム、および記録媒体 | |
JP7077115B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2022099120A (ja) | 被写体追尾装置およびその制御方法 | |
CN110692235B (zh) | 图像处理装置、图像处理程序及图像处理方法 | |
JP2017212698A (ja) | 撮像装置、撮像装置の制御方法およびプログラム | |
JP2019192048A (ja) | 撮像装置 | |
JP5146223B2 (ja) | プログラム、カメラ、画像処理装置および画像の輪郭抽出方法 | |
JP2019176261A (ja) | 画像処理装置 | |
JP2018072895A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP6381212B2 (ja) | 撮像装置及びその制御方法 | |
JP2015055988A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP7278737B2 (ja) | 撮像装置及びその制御方法、並びにプログラム | |
JP2018081641A (ja) | 画像処理装置及びその制御方法、プログラム、記憶媒体 | |
JP2018067058A (ja) | 画像処理装置、画像処理方法、プログラム、記憶媒体 | |
JP2021044652A (ja) | 動きベクトル検出装置及び動きベクトル検出方法 |