JP6116271B2 - 特徴量算出装置、方法及びプログラム - Google Patents
特徴量算出装置、方法及びプログラム Download PDFInfo
- Publication number
- JP6116271B2 JP6116271B2 JP2013023536A JP2013023536A JP6116271B2 JP 6116271 B2 JP6116271 B2 JP 6116271B2 JP 2013023536 A JP2013023536 A JP 2013023536A JP 2013023536 A JP2013023536 A JP 2013023536A JP 6116271 B2 JP6116271 B2 JP 6116271B2
- Authority
- JP
- Japan
- Prior art keywords
- total value
- rectangular area
- value
- specific area
- area
- 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.)
- Active
Links
Images
Description
特にコンピュータ・グラフィックスの分野では、矩形領域の累積情報(この情報は、summed-area tableやIntegral Imageや積分画像とも呼ばれている。本明細書では「累積情報」と呼ぶ。また、各要素位置に対応する累積情報の値を「累積情報値」と呼ぶ)の概念が提案されている。
図8を参照して、累積情報を用いた矩形領域内の画素値の総和の算出処理について説明する。累積情報とは、任意の点における要素値が、元画像の原点(ここでは元画像の左上を原点とする)とその任意の点とを対角とする領域内の画素値の総和となるようなデータである。例えば図8の要素1は、元画像における領域Aに含まれる全画素の画素値の総和を要素値として持つ。このため、例えば元画像における領域Dに含まれる全画素の画素値の合計は、要素4の要素値から要素2及び要素3の要素値を減算し、要素1の要素値を加算することによって算出される。このように、元画像での矩形領域の画素値の総和が、累積情報を用いれば、矩形領域の四隅のデータ値を加減算することで高速に求めることができる。
つまり、入力画像の画素値をI(x,y)として、累積情報C(x,y)を次式(1)として定義した場合、入力画像に置かれた任意の矩形領域内のI(x,y)の総和値を、次式(2)を使って累積情報上の4点を参照するのみで求めることができる。
このように累積情報とは、任意の点における要素値が、元画像の原点(ここでは元画像の左上を原点とする)とその任意の点とを対角とする領域内の画素値の総和となるようなデータである。よって、累積情報の要素値は、元画像の原点から離れていく(右下方向)に従って単調に増加する。従って、累積情報を配列(メモリ)に格納しようとした場合、その配列は、累積情報の右下のデータ値(元画像の原点である左上から、最も離れた位置の累積情報値、つまり、累積情報の最大の要素値)が格納できるだけのビット幅を持つ必要がある。
この問題を解決する手法として、特許文献1では、画素の総和値を算出する矩形領域の最大サイズを想定することで、累積情報を格納する配列のサイズを削減できる累積情報の算出手法が提案されている。
また、特許文献2では、元画像を分割し、分割した画像ごとに累積情報を算出することで、累積情報を格納する配列のサイズを削減できる累積情報の算出手法が提案されている。
特許文献1の手法では、想定している最大サイズを超えるようなサイズの矩形領域内の画素値の総和の算出手法に関しては、考慮されていない。
特許文献2の手法では、矩形領域のサイズに関わらず、画像分割を跨ぐような矩形領域であれば、画素値の総和算出を分割して行う必要がある。
(第1の実施形態)
本発明では、特許文献1で示された手順により算出された累積情報(Integral Image)を使用して、任意のサイズの矩形領域に含まれる要素の総和値を算出する。
本実施形態では、説明の簡単のため、累積情報を算出する対象となる複数次元配列の処理対象情報を2次元輝度画像データとする(この2次元輝度画像を「特徴量算出対象画像」と呼ぶ)。その場合、データの要素は各画素で、総和値を算出する要素値は各画素の輝度値となる。つまり、本実施形態では、2次元輝度画像を対象として、特許文献1の手順で算出した累積情報を使用して、画像中に規定される任意サイズの特定領域(本実施形態では矩形領域)に含まれる画素の輝度値の総和値を算出する場合を示す。本実施形態では、輝度値は8ビット(0〜255)とする。
特許文献1で示された累積情報算出では、まず最大矩形領域サイズを規定する。ここで、画素の総和値を算出することが想定されている矩形領域のうち最大のものを最大矩形領域といい、その最大矩形領域のサイズを最大矩形領域サイズという。その上で、最大矩形領域サイズで画素値の総和値を算出した場合に、桁溢れしない(オーバーフローチャートしない)ビット数を算出する(このビット数を「最大矩形領域総和値格納可能ビット数」と呼ぶ)。続いて、通常の累積情報の算出手順で得られる累積情報の下位の所定ビットとして最大矩形領域総和値格納可能ビット数分を抽出したものが、特許文献1の手法で算出される累積情報となる。通常の累積情報の算出手順に関しては特に問わないが、例えば、"F. C. Crow, "Summed-Area Tables For Texture Mapping", Computer Graphics, 1984" 記載の手法がある。
例えば、最大矩形領域サイズが水平方向16画素、垂直方向16画素の場合には、その総和値の最大値は、全ての画素が輝度値255をとった場合に、16×16×255=65280=0xFF00(16進数表示)となる。従って、最大矩形領域総和値格納可能ビット数は16となる。この場合には、通常の累積情報の算出手順で得られる累積情報の下位16ビット分が、特許文献1で示された累積情報となる。
以上のようにして、特許文献1で示された手順により累積情報が算出される。
本実施形態では、特許文献1で示された手順により算出された累積情報を使用して、任意のサイズ(最大矩形領域サイズを超えるサイズを含む)の矩形領域に含まれる画素の総和値を算出する手順を説明する。
102は累積情報値保持部である。累積情報値保持部102には、特許文献1で示された手順により算出された累積情報が格納されている。累積情報値保持部102はメモリで構成される。上述のように、特許文献1で示された手順により算出された累積情報は、最大矩形領域総和値格納可能ビット数以下である。従って、累積情報値保持部102をメモリで構成する場合には、最大矩形領域総和値格納可能ビット数以上のメモリ幅を持つメモリを使用すればよい。また、メモリの深さは、特徴量算出対象画像の画像サイズ以上であればよい。
累積情報値保持部102は、矩形領域内総和値算出部103から要素位置(メモリのアドレスに相当する)が入力されると、その要素位置に対応した累積情報値を出力する。本実施形態では、累積情報値保持部102に格納されている累積情報は、2次元輝度画像データから算出されたものである。従って、要素位置として、画像上の座標を指定すると、累積情報値として、画像原点とその座標を対角線とする矩形領域内の画素の総和値(特許文献1で示された手順により算出された総和値であるので、真の総和値の下位から最大矩形領域総和値格納可能ビット数分を取出したもの)が出力されることになる。
矩形領域内総和値算出部103は、特定領域分割決定手段としての矩形領域分割決定部104、分割特定領域内総和値算出手段としての分割矩形領域内総和値算出部105、分割矩形領域内総和値加算部106から構成される。それぞれの詳細な説明は後述するが、簡単に総和値算出の手順をここで述べておく。まず、総和値を算出したい矩形領域(この領域を「総和値算出対象矩形領域」と呼ぶ)を規定する矩形領域情報が入力されると、矩形領域分割決定部104において、予め設定されている基準領域サイズと、総和値算出対象矩形領域とのサイズ比較が行われ、総和値算出対象矩形領域を分割するか否か、及び分割する場合にはどのように分割するかが決定される。ここで、基準領域サイズとは、特許文献1で示された累積情報算出の手順において用いられた最大矩形領域サイズのことを指す。分割矩形領域内総和値算出部105では、分割された矩形領域ごとに総和値を算出する。分割矩形領域内総和値加算部106では、分割された矩形領域ごとに算出された総和値をさらに加算して、総和値として出力する。
このように、総和値算出対象矩形領域を基準領域サイズ以下の矩形領域に分割すれば、分割した矩形領域それぞれに対しては、総和値が正確に算出できる。さらに、その正確に算出された総和値を、全ての分割された矩形領域に亘って加算すれば、全体としても正確な総和値が算出される。矩形領域内総和値算出部103は全体として以上のように動作する。
矩形領域分割決定部104では上述のように、基準領域サイズ(累積情報を算出するときに用いた最大矩形領域サイズ)と、総和値算出対象矩形領域とのサイズ比較が行われる。そして、その比較結果に基づいて、総和値算出対象矩形領域を分割するか否か、及び分割する場合にはどのように分割するかが決定される。
ここで、基準領域サイズに関して説明をしておく。本実施形態では、基準領域サイズは、累積情報を算出するときに用いた最大矩形領域サイズとしている。そして、基準領域サイズ(最大矩形領域サイズ)と、画素値(輝度値)のビット数から、累積情報値保持部102で使用するメモリの(最少)ビット幅を決定している。後述する第3の実施形態では、逆に、累積情報値保持部102で使用するメモリのビット幅を先に決定し、そのビット幅に整合するように基準領域サイズを決定している。このように基準領域サイズの決め方には複数のやり方が存在する。
ステップS201で、総和値算出対象矩形領域のサイズを算出する。ここでいうサイズとは矩形領域の面積を指す。総和値算出対象矩形領域の面積は、入力される矩形領域情報から算出される。
ステップS202で、総和値算出対象矩形領域のサイズと基準領域のサイズとを比較する。総和値算出対象矩形領域サイズが基準領域サイズ以下であった場合(Noの場合)、総和値算出対象矩形領域の分割を行わない。逆に、総和値算出対象矩形領域サイズが基準領域サイズを超えていた場合(Yesの場合)、総和値算出対象矩形領域の分割を行う。
ステップS203で、総和値算出対象矩形領域を所定の方向に二分割する。図3に、分割の様子に示す。図3(A)は、元の総和値算出対象矩形領域を示している。ステップS203において、例えば垂直方向に沿って二分割する処理が行われた場合、図3(B)に示すように、破線で分割される。分割はなるべく等分割されるように行う。
ステップS204で、これまでの分割処理で得られる分割矩形領域のうち最大のサイズのものを探索する。これまでの分割が全て等分割になっている場合には、どの分割矩形領域のサイズを選択してもよい。
ステップS205で、ステップS204において探索した最大の分割矩形領域のサイズと、基準領域のサイズとを比較する。最大の分割矩形領域のサイズが基準領域サイズ以下であった場合(Noの場合)、これ以上矩形領域の分割を行わない。逆に、最大の分割矩形領域のサイズが基準領域サイズを超えていた場合(Yesの場合)、さらに矩形領域の分割を行う。
ステップS206で、前回の分割方向と直交する方向で、これまでに分割されてきた全ての分割領域を分割する。例えば図3(B)に示すように分割されていた場合には、今回の分割で図3(C)に示すように分割される。さらに、次回の分割(分割する必要がある場合)では、図3(D)に示すように分割される。
さらに、矩形領域分割決定部104は、このようにして得られる分割矩形領域それぞれの位置情報を算出する。矩形領域分割決定部104には、矩形領域情報として、総和値算出対象矩形領域の位置情報(例えば、総和値算出対象矩形領域の左上頂点の座標と、右下頂点の座標)が入力されるので、この情報から分割矩形領域ごとの位置情報は簡単に算出できる。この分割矩形領域ごとの位置情報を分割矩形領域情報として、分割矩形領域内総和値算出部105に出力する。
ステップS401で、総和値算出対象矩形領域(総和値を算出したい矩形領域)の矩形領域情報を用いて、総和値算出対象矩形領域のサイズを算出する。サイズの算出は矩形領域分割決定部104で行われる。
ステップS402で、総和値算出対象矩形領域を、基準領域サイズ以下の複数の矩形領域に分割する。分割は、矩形領域分割決定部104において、図2に示した手順に従って行われる。
ステップS403で、分割矩形領域ごとに頂点の座標を算出する。この処理も、矩形領域分割決定部104で行われる。
ステップS404で、分割矩形領域ごとに、その領域内の画素の総和値を算出する。この処理は、分割矩形領域内総和値算出部105が、累積情報値保持部102にアクセスして分割矩形領域の各頂点に対応する累積情報値を読み出して、式(2)を実行し、その演算結果の下位から最大矩形領域総和値格納可能ビット数分を取出すことで実現される。
ステップS405で、分割矩形領域ごとの総和値のさらに総和値を算出する。この処理は、分割矩形領域内総和値加算部106で行われる。
以上のような手順で、総和値算出対象矩形領域内の画素値の総和値が算出される。
例えば、図5に示すように、分割する毎に同じ一方向に沿って分割するような手法でもよい(図5(A)、(B)、(C)、(D)の順に分割が進んでいく)。
図6に、同じ八分割した時の分割の様子を、図3の分割手順の場合(図6(A))と、図5の分割手順の場合(図6(B))とについて示す。本発明では分割の手法は問わないので、図6(A)のように分割しても、図6(B)のように分割してもよい。ただ、その後に行われる、分割矩形領域ごとにその領域内の画素の総和値を算出する手順(ステップS404)において、各分割矩形領域の頂点座標に対応する累積情報値へのアクセスが発生する。このため、なるべく分割矩形領域の頂点数が少ないように分割する方が、処理時間の観点で有利となる。図6では、各分割矩形領域の頂点を黒丸で示している。図6(A)では頂点数は15、図6(B)では頂点数は18となるので、図3に示したように分割していく方が有利となる。
また、分割された各分割矩形領域のサイズや形状はそれぞれ異なっていてもよい。
つまり、基準領域サイズを超えるようなサイズの矩形領域に対しては、基準領域サイズ以下になるように矩形領域を分割することで、それぞれの分割矩形領域において、画素値の総和値が正確に算出される。さらにそれらの総和値を、全ての分割矩形領域に亘って加算することで、元の矩形領域内の画素値の総和値が正確に算出される。
このことにより、本来、解像度の違う画像ごとに累積情報が必要な場合でも、高解像度の画像の累積情報があれば、低解像度の画像の累積情報としても用いることが可能となる。
また、矩形領域の分割の手法として、なるべく分割後の矩形領域の総頂点数が少なくなるように分割すれば、総和値算出の際に必要となる累積情報値保持部へのアクセス回数が単純に増加するのを抑えることができる。
本実施形態では、パターン認識システムに本発明を適用した例を示す。特にパターン認識として、顔検出を実現した場合の例を示す。
本実施形態に係る顔検出システムでは、顔検出を行いたい入力画像に対して、累積情報(Integral Image)を算出する。累積情報を用いた顔検出アルゴリズムとしては、" P. Viola, M. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", Proc. IEEE Conf. on Computer Vision and Pattern Recognition, Vol. 1, pp.511-518, December 2001."がよく知られている。本実施形態では、特徴量算出装置を用いて算出した累積情報を、上記の顔検出アルゴリズムで使用する例を示す。
図9では、説明の簡単のため、処理ウインドウ902中に、画素値の総和を算出する矩形領域は903と904の2矩形しか示していない。しかしながら、これらの矩形領域の数、位置、サイズは、機械学習によって決定されるものであり、現実にはもっと多量の矩形領域が存在し、それらの画素値の総和を算出することになる。
また、一般に顔検出対象画像901内に存在する顔の大きさは未知である。従って、上記の「処理ウインドウ902を顔検出対象画像901内で移動させながら、各移動先の処理ウインドウ902内に人物の顔が含まれるか否かを判定する処理」を、画像901の解像度を変化させながら行うことになる。
単純には画像の解像度別に累積情報を算出すればよいが、累積情報算出の手順が解像度数に相当する回数繰り返されることになる。その手間を回避するために、最も高解像度の画像(この解像度を「基本解像度」と呼ぶことにする)に対して、累積情報を算出しておき、それ以外のより低解像度の画像に対しては、その累積情報を使いまわす方法が考えられる。図9を参照して、その手順を説明する。本実施形態では、低解像度の画像を作成する手法としては、線形補間手法を用いるとする。
図9(A)は、基本解像度の顔検出対象画像901を示している。また、図9(C)は、基本解像度の顔検出対象画像901から作成した累積情報を示している。921は顔検出対象画像901から作成した累積情報を示している。922は処理ウインドウ902に対応する累積情報上の処理ウインドウの位置を示している。923、924はそれぞれ矩形領域903、904に対応する累積情報上の矩形領域の位置を示している。従って例えば、矩形領域903内の画素値の総和値を算出する場合には、累積情報上の矩形領域923の4頂点座標に対応する累積情報値にアクセスし、式(2)の手順で演算すれば算出できる。
図9(B)は、基本解像度の顔検出対象画像901を1/4サイズ(水平方向、垂直方向ともに1/2サイズに縮小)に縮小した図を示している。縮小処理は、線形補間手法を用いるが、図9の場合はちょうど1/4サイズへの縮小処理なので、近傍4画素の平均を算出し、その値を縮小画像の画素値とする。911は縮小処理された顔検出対象画像、912は処理ウインドウ、913と914は矩形領域を示している。
また、図9(D)は、縮小処理された顔検出対象画像911に対する顔検出処理を、基本解像度の顔検出対象画像901から作成した累積情報を用いて行う場合の図を示している。931は基本解像度の顔検出対象画像901から作成した累積情報であり、921と同じものである。932は処理ウインドウ912に対応する累積情報上の処理ウインドウの位置を示している。933、934はそれぞれ矩形領域913、914に対応する累積情報上の矩形領域の位置を示している。画像911は累積情報931に比べて、解像度が縦横それぞれ1/2倍になっているので、画像911中の座標を2倍すれば、累積情報上での座標になる。従って例えば、矩形領域913内の画素値の総和値を算出する場合には、累積情報上の矩形領域933の4頂点座標に対応する累積情報値にアクセスし、式(2)の手順で演算した結果を解像度の比で割れば(図9の場合は4で割れば)算出できる。
ステップS1001で、基本解像度の顔検出対象画像に対して累積情報を算出する。この累積情報算出の手順は、特許文献1で示された累積情報算出の手順に従って行う。このとき、累積情報算出の手順で必要となる、想定する最大矩形領域(画素の総和値を算出することが想定されている矩形領域のうち最大のもの)は、基本解像度において算出が想定されている矩形領域の最大サイズのものとなる。つまり、図9の矩形領域903、904のうちの最大サイズのものを最大矩形領域サイズ(基準領域サイズ)として想定して、累積情報922を算出する。前述のように図9では説明の簡単のため、画素値の総和を算出する矩形領域は903と904の2矩形しか示していない。そのサイズは、矩形領域903の方が矩形領域904より大きいので、このような場合には、最大矩形領域サイズは、矩形領域903のサイズとなる。もちろん現実には、顔検出にはもっと多量の矩形領域の画素値の総和を算出する必要があるので、その多量の矩形領域のうちで最大のサイズのものを最大矩形領域サイズとする。ここで算出した累積情報は、図1の累積情報値保持部102に格納される。
ステップS1004における総和値算出の手順は、図2に示されたものであるが、本実施形態に沿って再度説明する。
まず、特徴量算出装置101に、総和値を算出したい矩形領域(図9の矩形領域903や904)を規定する矩形領域情報が入力され、矩形領域のサイズが算出される。ここで、矩形領域のサイズとは、累積情報が算出された解像度でのサイズをいう。最初の解像度(基本解像度)であれば、累積情報が算出された解像度(図9(C)に相当)と、現在顔検出処理を行っている画像の解像度(図9(A)に相当)は等しいので、画像中での矩形領域のサイズが、累積情報が算出された解像度でのサイズとなる。この解像度では、全ての矩形領域のサイズは、最大矩形領域サイズ以下であるので、矩形領域内の画素値の総和値を算出するために矩形領域を分割する処理は発生しない(ステップS202でNoが選ばれる)。以降、図2の手順に従うことで、総和値が算出される。
従って、顔検出対象画像が、基本解像度から縮小処理されたものの場合には、基本解像度で想定した最大矩形領域サイズを超えるサイズの矩形領域に対して、矩形領域内の画素値の総和値を算出する必要が発生する。そのような場合でも、最大矩形領域サイズ(基準領域サイズ)と、今回の矩形領域サイズ(累積情報が算出された解像度でのサイズ)とを比較して(ステップS202)、図2の手順に従うことで、総和値が算出される。
例えば、図9において矩形領域903のサイズ(最大矩形領域サイズ)は、矩形領域904のサイズの4倍(水平方向、垂直方向各2倍)であったとする。その場合、累積情報が算出された解像度での、矩形領域913、914のサイズは、それぞれ矩形領域933、934のサイズになる。従って、矩形領域913内の画素値の総和値を、累積情報931を用いて算出する場合には、分割して行うことになる。また、累積情報が算出された解像度での、矩形領域914のサイズは、矩形領域934のサイズになる。このサイズは基本領域サイズに等しいので、矩形領域914内の画素値の総和値を、累積情報931を用いて算出する場合には、分割する必要は生じない。
この一連の処理が、ステップS1004では、各矩形領域に関して行われる。
この場合、低解像度の画像に対しては、基本解像度で想定した最大矩形領域サイズを超えるサイズの矩形領域に対して、矩形領域内の画素値の総和値を算出する必要が発生する。
しかしながら、そのような場合でも、矩形領域を分割して、分割した矩形領域ごとに総和値を算出することで、元の矩形領域内の画素値の総和値が算出できる。
本実施形態で説明した顔検出処理では、処理ウインドウをスキャンさせながら、矩形領域の総和値を算出する手順となる。このような手順おいて、矩形領域を分割させる必要がある場合には、隣接するスキャン位置で分割境界が共通化できるような分割を行えば、スキャン位置が変わっても、累積情報へのアクセスが共通化できる利点が生じる。
ここで、総和値算出対象矩形領域1104は分割が必要なサイズあるとし、図中の点線のように分割されるとする。続いて一つスキャンを進めた総和値算出対象矩形領域1105を分割する場合には、分割する位置(矩形内の位置ではなくて、画像中の位置)を1104の分割と同じ位置にする。さらに一つスキャンを進めた総和値算出対象矩形領域1106を分割する場合にも、分割する位置(矩形内の位置ではなくて、画像中の位置)を1104の分割と同じ位置にする。つまり、図11の総和値算出対象矩形領域の分割矩形領域の各頂点のうちハッチングされた丸印で示された頂点は、画像中で同じ位置となるように、総和値算出対象矩形領域1104、1105、1106を分割する。つまり、図11中の頂点U、U’、U’’は画像中で同じ位置、頂点V、V’、V’’は画像中で同じ位置、…となるように、分割する。
このように分割することによって、総和値算出対象矩形領域1104での分割矩形領域のハッチングされた丸印の頂点座標に対応する累積情報値を記憶しておけば、総和値算出対象矩形領域1105での分割矩形領域の総和値の算出や、総和値算出対象矩形領域1106での分割矩形領域の総和値の算出にも使いまわすことが可能である。つまり、総和値算出対象矩形領域1104の総和値を算出する際に累積情報を参照して得たU、V、W、X、Y、Zの各頂点の累積情報値を記憶しておけば、総和値算出対象矩形領域1105や総和値算出対象矩形領域1106の総和値の算出のときに、累積情報を参照する必要はなくなる。このことにより、累積情報へのアクセス回数を減少させることができるので、処理時間の観点で有利となる。隣接するどれだけの処理ウインドウの間で、分割矩形領域の頂点が共通化できるかは、処理ウインドウのステップ数や、分割の手法に依存する。
このように、処理ウインドウをスキャンさせながら、矩形領域の総和値を算出する手順の場合には、隣接するスキャン位置で分割境界が共通化できるような分割を行うことで、処理の高速化も可能となる。
本実施形態では、累積情報値保持部102をメモリやレジスタ等のハードウエアリソースを用いて構成する場合に関する実施形態を説明する。
第1の実施形態で説明したように、特許文献1で示された手順により算出された累積情報をメモリに格納する場合には、最大矩形領域総和値格納可能ビット数以上のメモリ幅を持ち、特徴量算出対象画像の画像サイズ以上のメモリ深さを持つメモリを用いればよい。レジスタに格納する場合も同様に、最大矩形領域総和値格納可能ビット数以上のビット幅を持つレジスタを、特徴量算出対象画像の画像サイズ以上個用いればよい。
このように、これまでの実施形態では、想定する最大矩形領域サイズを基準領域サイズとして、そのサイズの矩形領域内での画素値の総和値を算出した場合に桁溢れしないように、最大矩形領域総和値格納可能ビット数を算出した。
本実施形態では、逆に、累積情報を格納するメモリやレジスタのリソースの制限から最大矩形領域総和値格納可能ビット数を設定し、その設定に整合するように基準領域を算出する場合の例を示す。
例えばハードウエアリソースの制限から、累積情報を格納するメモリとしてメモリ幅が12ビットのメモリを使用せざるを得ないような場合、メモリに格納できる最大値は4095(0xFFF)である。累積情報を算出する特徴量算出対象画像として、8ビット輝度値(0〜255)を持つ画像であるとすると、画素値の総和値が12ビットで桁あふれしない最大の領域サイズは、4095/255=16(小数点以下切り捨て)となる。従って、この場合には、基準領域サイズ16となる。
このようにして算出した基準領域を用いて算出した累積情報に対しても、特徴量算出装置を用いて、任意のサイズの矩形領域内の画素値の総和値を算出することができる。なお総和値算出の手順は、これまでの実施形態で示したものと同様なので、ここでは説明を割愛する。
累積情報は3次元以上の多次元配列情報に対しても生成することができる。図12は3次元の場合の累積情報の様子を例示する図である。3次元配列の入力情報とは、例えば動画情報であって、2次元画像に時間軸の1次元が加わり3次元情報となる。
図12(a)において、3次元累積情報配列の点Xの位置の要素には、入力3次元情報における原点と点Xを対角とする直方体の中に含まれる要素の総和値となる。
この3次元累積情報を用いて、例えば図12(b)に示す直方体1201内の要素の総和値を求めることが可能である。ここで、直方体1201の対角を示す2点の座標を(x0,y0,t0)、(x1,y1,t1)とする。A、B、C、D、E、F、G、Hをそれぞれ次式(3)なる位置の累積情報値であるとすると、入力情報の直方体1201内要素の総和値S3dは、次式(4)として計算することができる。
3次元を超える多次元入力情報に対する累積情報も、同様に超直方体で考えれば、本発明を適用可能であるのは明らかである。
また、分割領域累積情報を用いた情報処理としては、パターン認識処理に限定するものではない。本発明は、従来技術で述べたようなコンピュータグラフィクス等の他分野の処理であっても、累積情報を用いる処理であれば、適用可能であることは言うまでも無い。
また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (12)
- 複数次元配列の処理対象情報内の各要素位置に対応する累積情報値として、前記処理対象情報の原点と前記処理対象情報の各要素位置とを対角とする領域内の全ての要素値の総和値の下位の所定ビットを保持する累積情報値保持手段と、
前記処理対象情報内に規定される特定領域内の要素値の総和値を、前記累積情報値保持手段が保持している前記累積情報値を用いて算出する特定領域内総和値算出手段とを備え、
前記特定領域内総和値算出手段は、
前記特定領域のサイズと予め設定された所定の基準領域サイズとの比較結果に基づいて、前記特定領域の分割を決定する特定領域分割決定手段と、
前記分割された特定領域ごとに分割領域内の総和値を分割特定領域内総和値として算出する分割特定領域内総和値算出手段とを有することを特徴とする特徴量算出装置。 - 前記所定ビットのビット数は、前記所定の基準領域サイズ内の全ての要素が最大値をとるときの総和値をオーバーフローせずに格納するのに必要なビット数以上であることを特徴とする請求項1に記載の特徴量算出装置。
- 前記特定領域分割決定手段では、前記特定領域を分割して得られる全ての分割特定領域が、前記所定の基準領域のサイズ以下になるように、前記特定領域を分割することを特徴とする請求項1又は2に記載の特徴量算出装置。
- 前記分割特定領域内総和値算出手段では、前記累積情報値保持手段で保持されている複数の前記累積情報値の間で加減算を行い、前記加減算の結果の下位の所定ビットの部分を前記分割特定領域内総和値として算出することを特徴とする請求項1乃至3のいずれか1項に記載の特徴量算出装置。
- 前記特定領域内総和値算出手段では、前記分割特定領域内総和値をさらに総和したものを前記特定領域内の総和値とすることを特徴とする請求項1乃至4のいずれか1項に記載の特徴量算出装置。
- 前記複数次元配列は2次元配列であって、前記累積情報値を算出する領域は矩形領域であることを特徴とする請求項1乃至5のいずれか1項に記載の特徴量算出装置。
- 前記特定領域とは矩形領域であることを特徴とする請求項1乃至6のいずれか1項に記載の特徴量算出装置。
- 前記複数次元配列は3次元以上の多次元配列であって、前記累積情報値を算出する領域は超直方体の領域であることを特徴とする請求項1乃至5のいずれか1項に記載の特徴量算出装置。
- 前記特定領域とは超直方体の領域であることを特徴とする請求項1乃至6のいずれか1項に記載の特徴量算出装置。
- 請求項1乃至9のいずれか1項に記載の特徴量算出装置を備えたことを特徴とするパターン認識システム。
- 複数次元配列の処理対象情報内の各要素位置に対応する累積情報値として、前記処理対象情報の原点と前記処理対象情報の各要素位置とを対角とする領域内の全ての要素値の総和値を算出し、前記総和値の下位の所定ビットを抽出するステップと、
前記処理対象情報内に規定される特定領域内の要素値の総和値を、前記累積情報値を用いて算出するステップとを有し、
前記特定領域内の要素値の総和値を算出するステップは、
前記特定領域のサイズと予め設定された所定の基準領域サイズとの比較結果に基づいて、前記特定領域の分割を決定するステップと、
前記分割された特定領域ごとに分割領域内の総和値を分割特定領域内総和値として算出するステップとを有することを特徴とする特徴量算出方法。 - 複数次元配列の処理対象情報内の各要素位置に対応する累積情報値として、前記処理対象情報の原点と前記処理対象情報の各要素位置とを対角とする領域内の全ての要素値の総和値を算出し、前記総和値の下位の所定ビットを抽出する処理と、
前記処理対象情報内に規定される特定領域内の要素値の総和値を、前記累積情報値を用いて算出する処理とをコンピュータに実行させ、
前記特定領域内の要素値の総和値を算出する処理では、
前記特定領域のサイズと予め設定された所定の基準領域サイズとの比較結果に基づいて、前記特定領域の分割を決定する処理と、
前記分割された特定領域ごとに分割領域内の総和値を分割特定領域内総和値として算出する処理とをコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013023536A JP6116271B2 (ja) | 2013-02-08 | 2013-02-08 | 特徴量算出装置、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013023536A JP6116271B2 (ja) | 2013-02-08 | 2013-02-08 | 特徴量算出装置、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014153937A JP2014153937A (ja) | 2014-08-25 |
JP6116271B2 true JP6116271B2 (ja) | 2017-04-19 |
Family
ID=51575746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013023536A Active JP6116271B2 (ja) | 2013-02-08 | 2013-02-08 | 特徴量算出装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6116271B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6815741B2 (ja) * | 2016-03-30 | 2021-01-20 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
JP6921034B2 (ja) * | 2018-05-22 | 2021-08-18 | 日立Astemo株式会社 | 車載ネットワークへの不正メッセージ注入防止技術 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4582079B2 (ja) * | 2006-10-19 | 2010-11-17 | トヨタ自動車株式会社 | 画像識別装置および画像識別方法 |
JP5058681B2 (ja) * | 2007-05-31 | 2012-10-24 | キヤノン株式会社 | 情報処理方法及び装置、プログラム、記憶媒体 |
JP5349931B2 (ja) * | 2008-12-04 | 2013-11-20 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
-
2013
- 2013-02-08 JP JP2013023536A patent/JP6116271B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014153937A (ja) | 2014-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10587806B2 (en) | Method and apparatus for motion estimation | |
US10510148B2 (en) | Systems and methods for block based edgel detection with false edge elimination | |
US9189862B2 (en) | Outline approximation for point cloud of building | |
US9779324B2 (en) | Method and device for detecting interest points in image | |
WO2021052283A1 (zh) | 处理三维点云数据的方法和计算设备 | |
JP5388835B2 (ja) | 情報処理装置及び情報処理方法 | |
JP2012518223A (ja) | 画像特徴抽出方法及びシステム | |
JP6619034B2 (ja) | ホモグラフィの修正 | |
KR101682787B1 (ko) | 화상 처리 장치 및 영역 분할 방법 | |
US10460461B2 (en) | Image processing apparatus and method of controlling the same | |
JPWO2015132817A1 (ja) | エッジ検出装置、エッジ検出方法およびプログラム | |
JP5210241B2 (ja) | 画像検索装置及びその制御方法並びにプログラム | |
KR102158390B1 (ko) | 영상 처리 방법 및 장치 | |
KR20150114950A (ko) | 이미지 스트림의 프레임 레이트 증가 | |
CN112419372A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
JP6116271B2 (ja) | 特徴量算出装置、方法及びプログラム | |
US8798370B2 (en) | Pattern identifying apparatus, pattern identifying method and program | |
US11210551B2 (en) | Iterative multi-directional image search supporting large template matching | |
CN112784828B (zh) | 基于方向梯度直方图的图像检测方法、装置、计算机设备 | |
CN115731256A (zh) | 一种顶点坐标的检测方法、装置、设备及存储介质 | |
CN108235775B (zh) | 具有伪边缘消除的基于块的边缘像素检测的系统和方法 | |
JP5349931B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN117671031A (zh) | 双目相机标定方法、装置、设备及存储介质 | |
JP6585994B2 (ja) | 対応点探索装置および方法 | |
JP5739723B2 (ja) | 画像処理装置、画像処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170125 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170321 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6116271 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |