JP2014153937A - Feature level calculation device, method and program - Google Patents
Feature level calculation device, method and program Download PDFInfo
- Publication number
- JP2014153937A JP2014153937A JP2013023536A JP2013023536A JP2014153937A JP 2014153937 A JP2014153937 A JP 2014153937A JP 2013023536 A JP2013023536 A JP 2013023536A JP 2013023536 A JP2013023536 A JP 2013023536A JP 2014153937 A JP2014153937 A JP 2014153937A
- Authority
- JP
- Japan
- Prior art keywords
- rectangular area
- value
- total value
- area
- specific 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.)
- Granted
Links
Images
Landscapes
- Image Input (AREA)
- Image Analysis (AREA)
Abstract
Description
本発明は、画像の特徴量を算出するのに利用して好適な特徴量算出装置、方法及びプログラムに関する。 The present invention relates to a feature amount calculation apparatus, method, and program suitable for use in calculating a feature amount of an image.
情報処理の分野では、多次元配列を頻繁に扱う。その中で、特定範囲内の要素の和を求めることが多い。
特にコンピュータ・グラフィックスの分野では、矩形領域の累積情報(この情報は、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点を参照するのみで求めることができる。
In the field of information processing, multidimensional arrays are frequently handled. Among them, the sum of elements within a specific range is often obtained.
In particular, in the field of computer graphics, rectangular area cumulative information (this information is also called a summed-area table, integral image, and integral image. In this specification, it is called "cumulative information". The concept of the cumulative information value corresponding to the position is called “cumulative information value”).
With reference to FIG. 8, the calculation process of the sum total of the pixel values in the rectangular area using the accumulated information will be described. Cumulative information means that the element value at an arbitrary point is the sum of the pixel values in a region diagonally between the origin of the original image (here, the upper left corner of the original image is the origin) and the arbitrary point. It is a lot of data. For example,
That is, when the pixel value of the input image is defined as I (x, y) and the cumulative information C (x, y) is defined as the following equation (1), I (x in an arbitrary rectangular area placed in the input image , Y) can be obtained simply by referring to the four points on the accumulated information using the following equation (2).
ここで、(x0,y0)は長方形の左上の頂点座標、(x1,y1)は右下の頂点座標である。これにより、画像上の矩形領域内の値の和を高速に求めることが可能となる。ただし、座標は0から始まるとし、C(x,−1)及びC(−1,y)は0とする。
このように累積情報とは、任意の点における要素値が、元画像の原点(ここでは元画像の左上を原点とする)とその任意の点とを対角とする領域内の画素値の総和となるようなデータである。よって、累積情報の要素値は、元画像の原点から離れていく(右下方向)に従って単調に増加する。従って、累積情報を配列(メモリ)に格納しようとした場合、その配列は、累積情報の右下のデータ値(元画像の原点である左上から、最も離れた位置の累積情報値、つまり、累積情報の最大の要素値)が格納できるだけのビット幅を持つ必要がある。
Here, (x 0 , y 0 ) is the upper left vertex coordinates of the rectangle, and (x 1 , y 1 ) is the lower right vertex coordinates. Thereby, the sum of the values in the rectangular area on the image can be obtained at high speed. However, the coordinates start from 0, and C (x, −1) and C (−1, y) are 0.
Thus, the cumulative information is the sum of pixel values in an area where the element value at an arbitrary point is diagonally the origin of the original image (here, the upper left of the original image is the origin) and the arbitrary point. It is data that becomes. Therefore, the element value of the cumulative information increases monotonously as it moves away from the original image origin (downward right). Therefore, when the accumulated information is to be stored in the array (memory), the array has the lower right data value of the accumulated information (the accumulated information value at the position farthest from the upper left which is the origin of the original image, that is, the accumulated information. The maximum element value of information) must have a bit width that can be stored.
この場合、元画像のサイズが大きくなればなるほど、累積情報の桁数が増加し、そのため累積情報を格納するのに必要な配列のビット幅が大きくなり、その結果、配列全体のサイズが巨大になるという課題がある。
この問題を解決する手法として、特許文献1では、画素の総和値を算出する矩形領域の最大サイズを想定することで、累積情報を格納する配列のサイズを削減できる累積情報の算出手法が提案されている。
また、特許文献2では、元画像を分割し、分割した画像ごとに累積情報を算出することで、累積情報を格納する配列のサイズを削減できる累積情報の算出手法が提案されている。
In this case, the larger the size of the original image, the greater the number of digits of the accumulated information, and therefore the bit width of the array necessary to store the accumulated information becomes larger. As a result, the size of the entire array becomes enormous. There is a problem of becoming.
As a technique for solving this problem,
累積情報を格納する配列のサイズを削減できる手法として、特許文献1、2のような手法が提案されているが、それぞれ以下のような問題点がある。
特許文献1の手法では、想定している最大サイズを超えるようなサイズの矩形領域内の画素値の総和の算出手法に関しては、考慮されていない。
特許文献2の手法では、矩形領域のサイズに関わらず、画像分割を跨ぐような矩形領域であれば、画素値の総和算出を分割して行う必要がある。
As methods for reducing the size of the array for storing the accumulated information, methods such as
In the method of
According to the method of
本発明は上記のような点に鑑みてなされたものであり、初期の想定よりも大きなサイズの矩形領域内の画素値の総和値の算出が必要になった場合でも、正確に総和値の算出ができるようにすることを目的とする。 The present invention has been made in view of the above points, and even when it is necessary to calculate the total value of pixel values in a rectangular area having a size larger than the initial assumption, the total value can be calculated accurately. The purpose is to be able to.
本発明の特徴量算出装置は、複数次元配列の処理対象情報内の各要素位置に対応する累積情報値として、前記処理対象情報の原点と前記処理対象情報の各要素位置とを対角とする領域内の全ての要素値の総和値の下位の所定ビットを保持する累積情報値保持手段と、前記処理対象情報内に規定される特定領域内の要素値の総和値を、前記累積情報値保持手段が保持している前記累積情報値を用いて算出する特定領域内総和値算出手段とを備え、前記特定領域内総和値算出手段は、前記特定領域のサイズと予め設定された所定の基準領域サイズとの比較結果に基づいて、前記特定領域の分割を決定する特定領域分割決定手段と、前記分割された特定領域ごとに分割領域内の総和値を分割特定領域内総和値として算出する分割特定領域内総和値算出手段とを有することを特徴とする。 The feature amount calculation apparatus according to the present invention diagonally sets the origin of the processing target information and each element position of the processing target information as a cumulative information value corresponding to each element position in the processing target information of the multidimensional array. Cumulative information value holding means for holding a predetermined lower bit of the total value of all element values in the area, and the cumulative information value holding for the total value of element values in the specific area defined in the processing target information Specific area total value calculating means for calculating using the accumulated information value held by the means, wherein the specific area total value calculating means includes a size of the specific area and a predetermined reference area set in advance. Specific area division determining means for determining division of the specific area based on a comparison result with the size, and division identification for calculating a total value in the divided area for each of the divided specific areas as a total value in the divided specific area Area total sum calculation And having a means.
本発明によれば、初期の想定(初期想定の矩形領域のサイズを基準領域サイズと呼ぶ)よりも大きなサイズの矩形領域内の画素値の総和値の算出が必要になった場合でも、正確に総和値の算出ができる。 According to the present invention, even when it is necessary to calculate the total value of pixel values in a rectangular area having a size larger than the initial assumption (the size of the initially assumed rectangular area is referred to as a reference area size), The total value can be calculated.
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
(第1の実施形態)
本発明では、特許文献1で示された手順により算出された累積情報(Integral Image)を使用して、任意のサイズの矩形領域に含まれる要素の総和値を算出する。
本実施形態では、説明の簡単のため、累積情報を算出する対象となる複数次元配列の処理対象情報を2次元輝度画像データとする(この2次元輝度画像を「特徴量算出対象画像」と呼ぶ)。その場合、データの要素は各画素で、総和値を算出する要素値は各画素の輝度値となる。つまり、本実施形態では、2次元輝度画像を対象として、特許文献1の手順で算出した累積情報を使用して、画像中に規定される任意サイズの特定領域(本実施形態では矩形領域)に含まれる画素の輝度値の総和値を算出する場合を示す。本実施形態では、輝度値は8ビット(0〜255)とする。
Preferred embodiments of the present invention will be described below with reference to the accompanying drawings.
(First embodiment)
In the present invention, using the accumulated information (Integral Image) calculated by the procedure shown in
In this embodiment, for the sake of simplicity of explanation, processing target information of a multi-dimensional array for which cumulative information is to be calculated is set as two-dimensional luminance image data (this two-dimensional luminance image is referred to as a “feature amount calculation target image”). ). In this case, the data element is each pixel, and the element value for calculating the total value is the luminance value of each pixel. In other words, in the present embodiment, for a two-dimensional luminance image, using the accumulated information calculated in the procedure of
ここで、特許文献1で示された累積情報算出の手順を簡単に説明する(詳細な手順に関しては特許文献1を参照のこと)。
特許文献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で示された手順により累積情報が算出される。
Here, the procedure for calculating the accumulated information shown in
In the cumulative information calculation disclosed in
For example, when the maximum rectangular area size is 16 pixels in the horizontal direction and 16 pixels in the vertical direction, the maximum sum value is 16 × 16 × 255 = 65280 = when all the pixels have the luminance value 255. 0xFF00 (hexadecimal display). Therefore, the maximum number of rectangular area total values that can be stored is 16. In this case, the lower 16 bits of the accumulated information obtained by the normal accumulated information calculation procedure is the accumulated information shown in
As described above, cumulative information is calculated by the procedure shown in
この特許文献1で示された手順により算出された累積情報を用いて矩形領域の画素の総和値を算出する場合、その矩形領域のサイズが最大矩形領域サイズ以下であれば、式(2)に示した総和値算出式で得られる総和値から下位最大矩形領域総和値格納可能ビットを抽出することにより、正確な総和値の算出が可能である。しかしながら、今回総和値を算出しようとしている矩形領域のサイズが、何らかの理由により、最大矩形領域サイズを超えてしまった場合には、式(2)による総和値算出では、正確な総和値が算出できない。
本実施形態では、特許文献1で示された手順により算出された累積情報を使用して、任意のサイズ(最大矩形領域サイズを超えるサイズを含む)の矩形領域に含まれる画素の総和値を算出する手順を説明する。
When the total value of the pixels in the rectangular area is calculated using the cumulative information calculated by the procedure shown in
In the present embodiment, using the accumulated information calculated by the procedure shown in
図1は、本実施形態に係る特徴量算出装置101の構成を示すブロック図である。特徴量算出装置101は、2次元輝度画像の特徴量として、画像中に規定される矩形領域内の画素の総和値を算出することを行う。
102は累積情報値保持部である。累積情報値保持部102には、特許文献1で示された手順により算出された累積情報が格納されている。累積情報値保持部102はメモリで構成される。上述のように、特許文献1で示された手順により算出された累積情報は、最大矩形領域総和値格納可能ビット数以下である。従って、累積情報値保持部102をメモリで構成する場合には、最大矩形領域総和値格納可能ビット数以上のメモリ幅を持つメモリを使用すればよい。また、メモリの深さは、特徴量算出対象画像の画像サイズ以上であればよい。
累積情報値保持部102は、矩形領域内総和値算出部103から要素位置(メモリのアドレスに相当する)が入力されると、その要素位置に対応した累積情報値を出力する。本実施形態では、累積情報値保持部102に格納されている累積情報は、2次元輝度画像データから算出されたものである。従って、要素位置として、画像上の座標を指定すると、累積情報値として、画像原点とその座標を対角線とする矩形領域内の画素の総和値(特許文献1で示された手順により算出された総和値であるので、真の総和値の下位から最大矩形領域総和値格納可能ビット数分を取出したもの)が出力されることになる。
FIG. 1 is a block diagram illustrating a configuration of a feature
When an element position (corresponding to a memory address) is input from the rectangular area total
103は特定領域内総和値算出手段としての矩形領域内総和値算出部である。矩形領域内総和値算出部103には、総和値を算出したい矩形領域を規定する矩形領域情報が入力され、その矩形領域情報に基づいて算出された総和値が出力される。
矩形領域内総和値算出部103は、特定領域分割決定手段としての矩形領域分割決定部104、分割特定領域内総和値算出手段としての分割矩形領域内総和値算出部105、分割矩形領域内総和値加算部106から構成される。それぞれの詳細な説明は後述するが、簡単に総和値算出の手順をここで述べておく。まず、総和値を算出したい矩形領域(この領域を「総和値算出対象矩形領域」と呼ぶ)を規定する矩形領域情報が入力されると、矩形領域分割決定部104において、予め設定されている基準領域サイズと、総和値算出対象矩形領域とのサイズ比較が行われ、総和値算出対象矩形領域を分割するか否か、及び分割する場合にはどのように分割するかが決定される。ここで、基準領域サイズとは、特許文献1で示された累積情報算出の手順において用いられた最大矩形領域サイズのことを指す。分割矩形領域内総和値算出部105では、分割された矩形領域ごとに総和値を算出する。分割矩形領域内総和値加算部106では、分割された矩形領域ごとに算出された総和値をさらに加算して、総和値として出力する。
このように、総和値算出対象矩形領域を基準領域サイズ以下の矩形領域に分割すれば、分割した矩形領域それぞれに対しては、総和値が正確に算出できる。さらに、その正確に算出された総和値を、全ての分割された矩形領域に亘って加算すれば、全体としても正確な総和値が算出される。矩形領域内総和値算出部103は全体として以上のように動作する。
The rectangular area total
As described above, if the total value calculation target rectangular area is divided into rectangular areas that are equal to or smaller than the reference area size, the total value can be accurately calculated for each of the divided rectangular areas. Furthermore, if the accurately calculated total value is added over all the divided rectangular areas, an accurate total value can be calculated as a whole. The total
矩形領域分割決定部104には、今回画素の総和値を算出しようとしている矩形領域のサイズが算出できる情報が、矩形領域情報として入力される。ここで上述のように、今回総和値を算出しようとしている矩形領域を、総和値算出対象矩形領域と呼ぶことにする。矩形領域情報としては、総和値算出対象矩形領域の位置情報(例えば、総和値算出対象矩形領域の左上頂点の座標と、右下頂点の座標)が含まれているとする。また矩形領域分割決定部104には、累積情報を算出するときに用いた最大矩形領域サイズが基準領域サイズとして入力される。
矩形領域分割決定部104では上述のように、基準領域サイズ(累積情報を算出するときに用いた最大矩形領域サイズ)と、総和値算出対象矩形領域とのサイズ比較が行われる。そして、その比較結果に基づいて、総和値算出対象矩形領域を分割するか否か、及び分割する場合にはどのように分割するかが決定される。
ここで、基準領域サイズに関して説明をしておく。本実施形態では、基準領域サイズは、累積情報を算出するときに用いた最大矩形領域サイズとしている。そして、基準領域サイズ(最大矩形領域サイズ)と、画素値(輝度値)のビット数から、累積情報値保持部102で使用するメモリの(最少)ビット幅を決定している。後述する第3の実施形態では、逆に、累積情報値保持部102で使用するメモリのビット幅を先に決定し、そのビット幅に整合するように基準領域サイズを決定している。このように基準領域サイズの決め方には複数のやり方が存在する。
Information that can calculate the size of the rectangular area for which the total value of the current pixel is to be calculated is input to the rectangular area
As described above, the rectangular area
Here, the reference area size will be described. In the present embodiment, the reference area size is the maximum rectangular area size used when calculating the accumulated information. Then, the (minimum) bit width of the memory used in the accumulated information
図2に、矩形領域分割決定部104による総和値算出対象矩形領域の分割の手順を示す。
ステップS201で、総和値算出対象矩形領域のサイズを算出する。ここでいうサイズとは矩形領域の面積を指す。総和値算出対象矩形領域の面積は、入力される矩形領域情報から算出される。
ステップS202で、総和値算出対象矩形領域のサイズと基準領域のサイズとを比較する。総和値算出対象矩形領域サイズが基準領域サイズ以下であった場合(Noの場合)、総和値算出対象矩形領域の分割を行わない。逆に、総和値算出対象矩形領域サイズが基準領域サイズを超えていた場合(Yesの場合)、総和値算出対象矩形領域の分割を行う。
ステップS203で、総和値算出対象矩形領域を所定の方向に二分割する。図3に、分割の様子に示す。図3(A)は、元の総和値算出対象矩形領域を示している。ステップS203において、例えば垂直方向に沿って二分割する処理が行われた場合、図3(B)に示すように、破線で分割される。分割はなるべく等分割されるように行う。
ステップS204で、これまでの分割処理で得られる分割矩形領域のうち最大のサイズのものを探索する。これまでの分割が全て等分割になっている場合には、どの分割矩形領域のサイズを選択してもよい。
ステップS205で、ステップS204において探索した最大の分割矩形領域のサイズと、基準領域のサイズとを比較する。最大の分割矩形領域のサイズが基準領域サイズ以下であった場合(Noの場合)、これ以上矩形領域の分割を行わない。逆に、最大の分割矩形領域のサイズが基準領域サイズを超えていた場合(Yesの場合)、さらに矩形領域の分割を行う。
ステップS206で、前回の分割方向と直交する方向で、これまでに分割されてきた全ての分割領域を分割する。例えば図3(B)に示すように分割されていた場合には、今回の分割で図3(C)に示すように分割される。さらに、次回の分割(分割する必要がある場合)では、図3(D)に示すように分割される。
FIG. 2 shows a procedure for dividing the rectangular area to be calculated by the rectangular area
In step S201, the size of the total value calculation target rectangular area is calculated. The size here refers to the area of a rectangular region. The area of the total value calculation target rectangular area is calculated from the input rectangular area information.
In step S202, the size of the total area calculation target rectangular area is compared with the size of the reference area. When the total value calculation target rectangular area size is equal to or smaller than the reference area size (in the case of No), the total value calculation target rectangular area is not divided. Conversely, when the total value calculation target rectangular area size exceeds the reference area size (in the case of Yes), the total value calculation target rectangular area is divided.
In step S203, the total value calculation target rectangular area is divided into two in a predetermined direction. FIG. 3 shows the state of division. FIG. 3A shows the original total value calculation target rectangular area. In step S203, for example, when a process of dividing into two along the vertical direction is performed, as shown in FIG. The division is performed so as to be equally divided as much as possible.
In step S204, a search is made for the largest size among the divided rectangular regions obtained by the previous division processing. If all the previous divisions are equal, any divided rectangular area size may be selected.
In step S205, the size of the largest divided rectangular area searched in step S204 is compared with the size of the reference area. When the size of the largest divided rectangular area is equal to or smaller than the reference area size (in the case of No), the rectangular area is not further divided. Conversely, when the size of the largest divided rectangular area exceeds the reference area size (in the case of Yes), the rectangular area is further divided.
In step S206, all the divided regions that have been divided so far are divided in a direction orthogonal to the previous division direction. For example, when it is divided as shown in FIG. 3B, it is divided as shown in FIG. 3C in this division. Further, in the next division (when division is necessary), division is performed as shown in FIG.
以上のように矩形領域分割決定部104による総和値算出対象矩形領域の分割は実現される。この手順では、分割された一つの分割矩形領域のサイズは、分割されるごとに(約)半分になる。
さらに、矩形領域分割決定部104は、このようにして得られる分割矩形領域それぞれの位置情報を算出する。矩形領域分割決定部104には、矩形領域情報として、総和値算出対象矩形領域の位置情報(例えば、総和値算出対象矩形領域の左上頂点の座標と、右下頂点の座標)が入力されるので、この情報から分割矩形領域ごとの位置情報は簡単に算出できる。この分割矩形領域ごとの位置情報を分割矩形領域情報として、分割矩形領域内総和値算出部105に出力する。
As described above, the rectangular area
Furthermore, the rectangular area
分割矩形領域内総和値算出部105では、入力される分割矩形領域ごとの位置情報(例えば、各分割矩形領域の左上頂点の座標と、右下頂点の座標)から、各分割矩形領域内の画素の総和値を算出する。算出には、累積情報値保持部102に保持されている累積情報を用いる。つまり、各分割矩形領域ごとに、式(2)を用いて、画素の総和値を算出する。このとき式(2)の演算結果の下位から最大矩形領域総和値格納可能ビットの部分を取出したものが、各分割矩形領域内の画素の総和値となる。
The total
分割矩形領域内総和値加算部106では、分割矩形領域内総和値算出部105で算出された分割矩形領域ごとの総和値を全て加算して、元の総和値算出対象矩形領域の画素の総和値として出力する。
In the divided rectangular area total value adding unit 106, all the total values for each divided rectangular area calculated by the divided rectangular area total
以上のようにして、総和値算出対象矩形領域の画素の総和値を算出する。また、矩形領域分割決定部104において、総和値算出対象矩形領域が一度も分割されなかった場合でも、総分割数が1である場合として、上記の手順で総和値算出対象矩形領域の総和値の算出が可能である。
As described above, the total value of the pixels in the total value calculation target rectangular area is calculated. In addition, even if the total area calculation target rectangular area has never been divided in the rectangular area
次に、図4を参照して、特徴量算出装置101を用いて、どのような手順で特徴量(本実施形態では、矩形領域内の画素値の総和値)を算出するのかを説明する。
ステップS401で、総和値算出対象矩形領域(総和値を算出したい矩形領域)の矩形領域情報を用いて、総和値算出対象矩形領域のサイズを算出する。サイズの算出は矩形領域分割決定部104で行われる。
ステップS402で、総和値算出対象矩形領域を、基準領域サイズ以下の複数の矩形領域に分割する。分割は、矩形領域分割決定部104において、図2に示した手順に従って行われる。
ステップS403で、分割矩形領域ごとに頂点の座標を算出する。この処理も、矩形領域分割決定部104で行われる。
ステップS404で、分割矩形領域ごとに、その領域内の画素の総和値を算出する。この処理は、分割矩形領域内総和値算出部105が、累積情報値保持部102にアクセスして分割矩形領域の各頂点に対応する累積情報値を読み出して、式(2)を実行し、その演算結果の下位から最大矩形領域総和値格納可能ビット数分を取出すことで実現される。
ステップS405で、分割矩形領域ごとの総和値のさらに総和値を算出する。この処理は、分割矩形領域内総和値加算部106で行われる。
以上のような手順で、総和値算出対象矩形領域内の画素値の総和値が算出される。
Next, with reference to FIG. 4, a description will be given of how the feature amount (total value of pixel values in the rectangular area in this embodiment) is calculated using the feature
In step S401, the size of the total value calculation target rectangular area is calculated using the rectangular area information of the total value calculation target rectangular area (the rectangular area for which the total value is to be calculated). The size is calculated by the rectangular area
In step S402, the rectangular value calculation target rectangular area is divided into a plurality of rectangular areas that are equal to or smaller than the reference area size. The division is performed in the rectangular area
In step S403, vertex coordinates are calculated for each divided rectangular area. This process is also performed by the rectangular area
In step S404, for each divided rectangular area, the total value of the pixels in that area is calculated. In this process, the total
In step S405, a total value of the total value for each divided rectangular area is calculated. This process is performed by the total value addition unit 106 in the divided rectangular area.
The total value of the pixel values in the total value calculation target rectangular area is calculated by the procedure as described above.
上記の説明では、総和値算出対象矩形領域の分割の仕方として、水平方向に分割、垂直方向に分割を交互に行うとしている。しかしながら、本発明で対象とする総和値算出対象矩形領域の分割の方法はこれに限らない。最終的に基準領域サイズ以下の矩形領域に分割されるようなやり方であれば、どのように分割していってもよい。
例えば、図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に示したように分割していく方が有利となる。
In the above description, as a method of dividing the rectangular area for which the total value is calculated, division in the horizontal direction and division in the vertical direction are alternately performed. However, the method of dividing the total value calculation target rectangular area targeted by the present invention is not limited to this. Any method may be used as long as it is finally divided into rectangular regions that are smaller than the reference region size.
For example, as shown in FIG. 5, a method of dividing along the same direction every time the image is divided may be performed (the division proceeds in the order of FIGS. 5A, 5B, 5C, and 5D). Go).
FIG. 6 shows the state of division when the same eight divisions are made for the division procedure of FIG. 3 (FIG. 6A) and the division procedure of FIG. 5 (FIG. 6B). In the present invention, since the division method is not limited, it may be divided as shown in FIG. 6A or as shown in FIG. However, in the procedure for calculating the total value of the pixels in each divided rectangular area performed thereafter (step S404), access to the accumulated information value corresponding to the vertex coordinates of each divided rectangular area occurs. For this reason, it is advantageous from the viewpoint of processing time to divide so that the number of vertices of the divided rectangular area is as small as possible. In FIG. 6, the vertices of each divided rectangular area are indicated by black circles. In FIG. 6A, the number of vertices is 15, and in FIG. 6B, the number of vertices is 18. Therefore, it is advantageous to divide as shown in FIG.
また、図7に別の分割手法で分割した場合の分割の様子を示している。図7(A)は基準領域を示している。基準領域は、水平方向9画素、垂直方向24画素のサイズとし、総和値算出対象矩形領域は、水平方向48画素、垂直方向24画素のサイズとする。図7(B)は、総和値算出対象矩形領域を、基準領域サイズの領域と残りの領域とに二分割(等分割ではない)した様子を表している。この場合、残りの領域は基準領域よりも大きいので、さらに基準領域サイズと残りに分割される(図7(C))。これを繰り返して、全ての分割矩形領域が基準領域サイズ以下になったのが図7(D)である。同じサイズの基準領域、総和値算出対象矩形領域に対して、図3の分割手法、図5の分割手法を適用すると、それぞれ、図6(A)、(B)の分割状態となるまで分割される。この場合、図7(D)では分割矩形領域の頂点数は14となり、さらに有利な分割手法であるといえる。 FIG. 7 shows a state of division in the case of division by another division method. FIG. 7A shows the reference area. The reference area has a size of 9 pixels in the horizontal direction and 24 pixels in the vertical direction, and the rectangular value calculation target rectangular area has a size of 48 pixels in the horizontal direction and 24 pixels in the vertical direction. FIG. 7B shows a state where the total value calculation target rectangular region is divided into two (not equally divided) regions of the reference region size and the remaining region. In this case, since the remaining area is larger than the reference area, the remaining area is further divided into the reference area size and the remaining area (FIG. 7C). FIG. 7D shows that all of the divided rectangular areas are equal to or smaller than the reference area size by repeating this process. When the division method shown in FIG. 3 and the division method shown in FIG. 5 are applied to the reference area and the total value calculation target rectangular area of the same size, the division is performed until the division state shown in FIGS. The In this case, the number of vertices of the divided rectangular area is 14 in FIG. 7D, which can be said to be a more advantageous dividing method.
また、別の分割手法としては、総和値算出対象矩形領域の形状やサイズごとに、最適な分割を予め検討しておいて、その結果に従って分割するという手法でもよい。ここで最適というのは、分割後の分割矩形領域の頂点数が最も少なくなるという意味である。最適な分割を、総和値算出対象矩形領域の形状やサイズごとに参照できるように、テーブル等で予め設定しておいて、実際の分割の際には、そのテーブルを参照して分割してもよい。
また、分割された各分割矩形領域のサイズや形状はそれぞれ異なっていてもよい。
As another division method, an optimal division may be considered in advance for each shape and size of the total value calculation target rectangular region, and division may be performed according to the result. Here, “optimal” means that the number of vertices in the divided rectangular area after division is the smallest. The optimal division is set in advance in a table or the like so that it can be referred to for each shape and size of the rectangular area subject to the summation value calculation. Good.
Moreover, the size and shape of each divided rectangular area may be different.
特徴量算出装置をこのように構成することで、基準領域サイズを超えるようなサイズの矩形領域に対しても、その領域内の画素値の総和値が正確に算出される。また、基準領域サイズを超えないようなサイズの矩形領域に対しては、分割する必要無しに、その領域内の画素値の総和値が正確に算出される。
つまり、基準領域サイズを超えるようなサイズの矩形領域に対しては、基準領域サイズ以下になるように矩形領域を分割することで、それぞれの分割矩形領域において、画素値の総和値が正確に算出される。さらにそれらの総和値を、全ての分割矩形領域に亘って加算することで、元の矩形領域内の画素値の総和値が正確に算出される。
このことにより、本来、解像度の違う画像ごとに累積情報が必要な場合でも、高解像度の画像の累積情報があれば、低解像度の画像の累積情報としても用いることが可能となる。
また、矩形領域の分割の手法として、なるべく分割後の矩形領域の総頂点数が少なくなるように分割すれば、総和値算出の際に必要となる累積情報値保持部へのアクセス回数が単純に増加するのを抑えることができる。
By configuring the feature amount calculation device in this way, the total value of the pixel values in the region is accurately calculated even for a rectangular region having a size exceeding the reference region size. In addition, for a rectangular region having a size that does not exceed the reference region size, the total value of the pixel values in the region is accurately calculated without having to be divided.
In other words, for a rectangular area that exceeds the reference area size, dividing the rectangular area so that it is less than or equal to the reference area size enables accurate calculation of the sum of pixel values in each divided rectangular area. Is done. Further, by adding these total values over all the divided rectangular areas, the total value of the pixel values in the original rectangular area is accurately calculated.
As a result, even if cumulative information is originally required for each image having a different resolution, if there is cumulative information for a high-resolution image, it can be used as cumulative information for a low-resolution image.
In addition, as a method of dividing the rectangular area, if the division is performed so that the total number of vertices of the divided rectangular area is reduced as much as possible, the number of accesses to the accumulated information value holding unit required for calculating the total value can be simplified. The increase can be suppressed.
(第2の実施形態)
本実施形態では、パターン認識システムに本発明を適用した例を示す。特にパターン認識として、顔検出を実現した場合の例を示す。
本実施形態に係る顔検出システムでは、顔検出を行いたい入力画像に対して、累積情報(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."がよく知られている。本実施形態では、特徴量算出装置を用いて算出した累積情報を、上記の顔検出アルゴリズムで使用する例を示す。
(Second Embodiment)
In this embodiment, an example in which the present invention is applied to a pattern recognition system is shown. In particular, an example in which face detection is realized as pattern recognition is shown.
In the face detection system according to the present embodiment, cumulative information (Integral Image) is calculated for an input image for which face detection is desired. The face detection algorithm using accumulated information is described in “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 "is well known. In the present embodiment, an example is shown in which the accumulated information calculated using the feature amount calculation device is used in the face detection algorithm.
上記顔検出アルゴリズムでは、図9(A)に示すように、ある特定の大きさの処理ウインドウ902を、処理対象となる画像(顔検出対象画像)901内で移動させ、各移動先の処理ウインドウ902内に人物の顔が含まれるか否かを判定する処理を行う。顔が含まれるか否かの判定には、処理ウインドウ902内に所定の矩形領域903、904を設定し、その矩形領域内の画素値の総和を算出する処理を含む一連の処理により実現されている(処理の詳細は上記文献を参照のこと。本発明は、矩形領域内の画素値の総和を算出する処理のみを対象とした発明であるので、それ以外の処理に関する説明は割愛する)。
図9では、説明の簡単のため、処理ウインドウ902中に、画素値の総和を算出する矩形領域は903と904の2矩形しか示していない。しかしながら、これらの矩形領域の数、位置、サイズは、機械学習によって決定されるものであり、現実にはもっと多量の矩形領域が存在し、それらの画素値の総和を算出することになる。
また、一般に顔検出対象画像901内に存在する顔の大きさは未知である。従って、上記の「処理ウインドウ902を顔検出対象画像901内で移動させながら、各移動先の処理ウインドウ902内に人物の顔が含まれるか否かを判定する処理」を、画像901の解像度を変化させながら行うことになる。
In the face detection algorithm, as shown in FIG. 9A, a
In FIG. 9, only two
In general, the size of the face existing in the face
ここで、画像の解像度を変化させた時に、累積情報(Integral Image)を用いた矩形領域内画素値の総和値を求める手順がどう変化するかについて説明する。
単純には画像の解像度別に累積情報を算出すればよいが、累積情報算出の手順が解像度数に相当する回数繰り返されることになる。その手間を回避するために、最も高解像度の画像(この解像度を「基本解像度」と呼ぶことにする)に対して、累積情報を算出しておき、それ以外のより低解像度の画像に対しては、その累積情報を使いまわす方法が考えられる。図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で割れば)算出できる。
Here, how the procedure for obtaining the total value of the pixel values in the rectangular area using the accumulated information (Integral Image) when the image resolution is changed will be described.
The cumulative information may be simply calculated for each resolution of the image, but the cumulative information calculation procedure is repeated a number of times corresponding to the number of resolutions. In order to avoid the trouble, cumulative information is calculated for the highest resolution image (this resolution will be referred to as “basic resolution”), and for other lower resolution images. The method of reusing the accumulated information can be considered. The procedure will be described with reference to FIG. In this embodiment, it is assumed that a linear interpolation method is used as a method for creating a low-resolution image.
FIG. 9A shows a face
FIG. 9B shows a diagram in which the face
FIG. 9D illustrates a case in which face detection processing for the face detection target image 911 that has been subjected to reduction processing is performed using cumulative information created from the face
図10は、顔検出処理の流れを示すフローチャートである。次に、図10を用いて、顔検出処理の具体的な流れについて説明する。本顔検出処理の中心的処理である、矩形領域内の画素値の総和値を算出する処理では、第1の実施形態の図1で示した特徴量算出装置101が用いられる。
ステップS1001で、基本解像度の顔検出対象画像に対して累積情報を算出する。この累積情報算出の手順は、特許文献1で示された累積情報算出の手順に従って行う。このとき、累積情報算出の手順で必要となる、想定する最大矩形領域(画素の総和値を算出することが想定されている矩形領域のうち最大のもの)は、基本解像度において算出が想定されている矩形領域の最大サイズのものとなる。つまり、図9の矩形領域903、904のうちの最大サイズのものを最大矩形領域サイズ(基準領域サイズ)として想定して、累積情報922を算出する。前述のように図9では説明の簡単のため、画素値の総和を算出する矩形領域は903と904の2矩形しか示していない。そのサイズは、矩形領域903の方が矩形領域904より大きいので、このような場合には、最大矩形領域サイズは、矩形領域903のサイズとなる。もちろん現実には、顔検出にはもっと多量の矩形領域の画素値の総和を算出する必要があるので、その多量の矩形領域のうちで最大のサイズのものを最大矩形領域サイズとする。ここで算出した累積情報は、図1の累積情報値保持部102に格納される。
FIG. 10 is a flowchart showing the flow of the face detection process. Next, a specific flow of the face detection process will be described with reference to FIG. In the process of calculating the sum of the pixel values in the rectangular area, which is the central process of the face detection process, the feature
In step S1001, cumulative information is calculated for a face detection target image having a basic resolution. The procedure for calculating the cumulative information is performed according to the procedure for calculating the cumulative information disclosed in
ステップS1002で、顔検出対象画像の解像度を決定する。最初は入力画像そのままの解像度(基本解像度)に対して以降の顔検出処理を行う。 In step S1002, the resolution of the face detection target image is determined. Initially, subsequent face detection processing is performed for the resolution (basic resolution) of the input image as it is.
ステップS1003で、処理の対象となる処理ウインドウ902が顔検出対象画像901上に配置される。基本的には、この処理ウインドウは、図9(A)に示すように顔検出対象画像901の端から一定間隔で縦方向及び横方向へスキャンすることによって順に網羅的に移動して選択される。例えば、顔検出対象画像901をラスタスキャンすることによって処理ウインドウが選択される。
In step S1003, a
ステップS1004で、選択された処理ウインドウについて、処理ウインドウ内の矩形領域に対して、その領域内の画素値の総和値を算出する。総和値の算出には、特徴量算出装置101が用いられる。
ステップS1004における総和値算出の手順は、図2に示されたものであるが、本実施形態に沿って再度説明する。
まず、特徴量算出装置101に、総和値を算出したい矩形領域(図9の矩形領域903や904)を規定する矩形領域情報が入力され、矩形領域のサイズが算出される。ここで、矩形領域のサイズとは、累積情報が算出された解像度でのサイズをいう。最初の解像度(基本解像度)であれば、累積情報が算出された解像度(図9(C)に相当)と、現在顔検出処理を行っている画像の解像度(図9(A)に相当)は等しいので、画像中での矩形領域のサイズが、累積情報が算出された解像度でのサイズとなる。この解像度では、全ての矩形領域のサイズは、最大矩形領域サイズ以下であるので、矩形領域内の画素値の総和値を算出するために矩形領域を分割する処理は発生しない(ステップS202でNoが選ばれる)。以降、図2の手順に従うことで、総和値が算出される。
In step S1004, for the selected processing window, for the rectangular area in the processing window, the sum value of the pixel values in the area is calculated. For calculating the total value, the feature
The total value calculation procedure in step S1004 is as shown in FIG. 2, and will be described again along the present embodiment.
First, rectangular area information that defines a rectangular area (
しかしながら、本実施形態のように、顔検出対象画像に対して、解像度を変更(低解像度化)しながら顔検出する場合には、初回以降の解像度では、顔検出対象画像は基本解像度から縮小されていく(例えば図9(B)に相当)。従って、縮小画像中での指定された矩形領域のサイズは、累積情報が算出された解像度では画像縮小率に応じて大きなサイズになる。例えば、図9の矩形領域913と矩形領域933、或いは矩形領域914と矩形領域934の関係のようになる。図9(B)の場合には、縮小画像中での指定された矩形領域913のサイズを4倍したものが、累積情報が算出された解像度での矩形領域933のサイズとなる。
従って、顔検出対象画像が、基本解像度から縮小処理されたものの場合には、基本解像度で想定した最大矩形領域サイズを超えるサイズの矩形領域に対して、矩形領域内の画素値の総和値を算出する必要が発生する。そのような場合でも、最大矩形領域サイズ(基準領域サイズ)と、今回の矩形領域サイズ(累積情報が算出された解像度でのサイズ)とを比較して(ステップS202)、図2の手順に従うことで、総和値が算出される。
例えば、図9において矩形領域903のサイズ(最大矩形領域サイズ)は、矩形領域904のサイズの4倍(水平方向、垂直方向各2倍)であったとする。その場合、累積情報が算出された解像度での、矩形領域913、914のサイズは、それぞれ矩形領域933、934のサイズになる。従って、矩形領域913内の画素値の総和値を、累積情報931を用いて算出する場合には、分割して行うことになる。また、累積情報が算出された解像度での、矩形領域914のサイズは、矩形領域934のサイズになる。このサイズは基本領域サイズに等しいので、矩形領域914内の画素値の総和値を、累積情報931を用いて算出する場合には、分割する必要は生じない。
この一連の処理が、ステップS1004では、各矩形領域に関して行われる。
However, when the face is detected while changing the resolution (lowering the resolution) for the face detection target image as in the present embodiment, the face detection target image is reduced from the basic resolution at the first and subsequent resolutions. (For example, it corresponds to FIG. 9B). Accordingly, the size of the designated rectangular area in the reduced image becomes a large size according to the image reduction ratio at the resolution for which the accumulated information is calculated. For example, the relationship between the
Therefore, if the face detection target image has been reduced from the basic resolution, the sum of the pixel values in the rectangular area is calculated for a rectangular area that exceeds the maximum rectangular area size assumed for the basic resolution. Need to occur. Even in such a case, the maximum rectangular area size (reference area size) is compared with the current rectangular area size (the size at the resolution at which the accumulated information is calculated) (step S202), and the procedure of FIG. 2 is followed. Thus, the total value is calculated.
For example, in FIG. 9, it is assumed that the size of the rectangular area 903 (maximum rectangular area size) is four times the size of the rectangular area 904 (twice each in the horizontal direction and the vertical direction). In this case, the sizes of the
This series of processing is performed for each rectangular region in step S1004.
ステップS1005で、ステップS1004における結果を用いて、処理ウインドウに人物の顔が含まれるか否かの判定が実施される。この判定処理の詳細は、本発明に無関係であるので、説明は割愛する。 In step S1005, it is determined whether or not a person's face is included in the processing window using the result in step S1004. The details of this determination processing are irrelevant to the present invention, and thus the description thereof is omitted.
ステップS1006で、判定の対象となっていた処理ウインドウが、顔検出対象画像の中で最後の処理ウインドウであったか否かを判断する。最後の処理ウインドウではなかった場合(Noの場合)、ステップS1003の処理に戻り、次の処理ウインドウが選択され、ステップS1004以降の処理が実行される。一方、最後の処理ウインドウであった場合(Yesの場合)、顔検出対象の入力画像に対するこの解像度での顔検出処理は終了する。 In step S1006, it is determined whether or not the processing window that has been the determination target is the last processing window in the face detection target image. When it is not the last processing window (in the case of No), the processing returns to step S1003, the next processing window is selected, and the processing after step S1004 is executed. On the other hand, when it is the last processing window (in the case of Yes), the face detection process at this resolution for the input image to be detected is ended.
ステップS1007で、顔検出処理で必要な解像度処理が終了したか否かを判断する。全ての解像度に対して顔検出処理が行われてない場合(Noの場合)、ステップS1002に戻り、次の解像度が選択される。一方、全ての解像度に対して顔検出処理が行われた場合(Yesの場合)、顔検出処理を終了する。どれだけの範囲の解像度に対して顔検出処理を行うのかは、検出したい顔のサイズの上限、下限に依存する。また、解像度の刻みは、機械学習を行う際の条件設定や、求められる顔検出の性能に応じて決定される。 In step S1007, it is determined whether resolution processing necessary for face detection processing has been completed. If face detection processing has not been performed for all resolutions (No), the process returns to step S1002 to select the next resolution. On the other hand, when face detection processing has been performed for all resolutions (Yes), the face detection processing ends. The range of resolution for which face detection processing is performed depends on the upper and lower limits of the size of the face to be detected. Further, the resolution increment is determined according to the condition setting when performing machine learning and the required face detection performance.
以上のように、最も高解像度の画像(基本解像度)で累積情報を算出すれば、それ以外のより低解像度の画像に対しては、その累積情報を使いまわすことが可能となる。
この場合、低解像度の画像に対しては、基本解像度で想定した最大矩形領域サイズを超えるサイズの矩形領域に対して、矩形領域内の画素値の総和値を算出する必要が発生する。
しかしながら、そのような場合でも、矩形領域を分割して、分割した矩形領域ごとに総和値を算出することで、元の矩形領域内の画素値の総和値が算出できる。
本実施形態で説明した顔検出処理では、処理ウインドウをスキャンさせながら、矩形領域の総和値を算出する手順となる。このような手順おいて、矩形領域を分割させる必要がある場合には、隣接するスキャン位置で分割境界が共通化できるような分割を行えば、スキャン位置が変わっても、累積情報へのアクセスが共通化できる利点が生じる。
As described above, if cumulative information is calculated for the highest resolution image (basic resolution), the cumulative information can be reused for other lower resolution images.
In this case, for a low-resolution image, it is necessary to calculate the sum of the pixel values in the rectangular area for a rectangular area whose size exceeds the maximum rectangular area size assumed for the basic resolution.
However, even in such a case, by dividing the rectangular area and calculating the total value for each divided rectangular area, the total value of the pixel values in the original rectangular area can be calculated.
The face detection process described in the present embodiment is a procedure for calculating the total value of the rectangular areas while scanning the processing window. If it is necessary to divide a rectangular area in such a procedure, if the division boundary is shared at adjacent scan positions, the accumulated information can be accessed even if the scan position changes. There is an advantage that can be shared.
図11に、一連のスキャン処理中の処理ウインドウと、処理ウインドウ内の矩形領域の様子を示す。図11では、画像(図示せず)中を(A)、(B)、(C)の順で処理ウインドウをスキャンさせている様子を示しており、1101、1102、1103は処理ウインドウ、1104、1105、1106は総和値算出対象矩形領域を示している。つまり、処理ウインドウ1101を一つ進めたものが、処理ウインドウ1102で、さらに一つ進めたものが処理ウインドウ1103となっている様子を示している。
ここで、総和値算出対象矩形領域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の総和値の算出のときに、累積情報を参照する必要はなくなる。このことにより、累積情報へのアクセス回数を減少させることができるので、処理時間の観点で有利となる。隣接するどれだけの処理ウインドウの間で、分割矩形領域の頂点が共通化できるかは、処理ウインドウのステップ数や、分割の手法に依存する。
このように、処理ウインドウをスキャンさせながら、矩形領域の総和値を算出する手順の場合には、隣接するスキャン位置で分割境界が共通化できるような分割を行うことで、処理の高速化も可能となる。
FIG. 11 shows a processing window during a series of scanning processes and a rectangular area in the processing window. FIG. 11 shows a state in which a processing window is scanned in the order of (A), (B), and (C) in an image (not shown). 1101, 1102, 1103 are processing windows, 1104,
Here, it is assumed that the total value calculation target
If the accumulated information value corresponding to the vertex coordinates of the hatched circles of the divided rectangular area in the total value calculation target
In this way, in the procedure of calculating the total value of the rectangular area while scanning the processing window, it is possible to increase the processing speed by performing division so that the division boundary can be shared at adjacent scan positions. It becomes.
(第3の実施形態)
本実施形態では、累積情報値保持部102をメモリやレジスタ等のハードウエアリソースを用いて構成する場合に関する実施形態を説明する。
第1の実施形態で説明したように、特許文献1で示された手順により算出された累積情報をメモリに格納する場合には、最大矩形領域総和値格納可能ビット数以上のメモリ幅を持ち、特徴量算出対象画像の画像サイズ以上のメモリ深さを持つメモリを用いればよい。レジスタに格納する場合も同様に、最大矩形領域総和値格納可能ビット数以上のビット幅を持つレジスタを、特徴量算出対象画像の画像サイズ以上個用いればよい。
このように、これまでの実施形態では、想定する最大矩形領域サイズを基準領域サイズとして、そのサイズの矩形領域内での画素値の総和値を算出した場合に桁溢れしないように、最大矩形領域総和値格納可能ビット数を算出した。
本実施形態では、逆に、累積情報を格納するメモリやレジスタのリソースの制限から最大矩形領域総和値格納可能ビット数を設定し、その設定に整合するように基準領域を算出する場合の例を示す。
例えばハードウエアリソースの制限から、累積情報を格納するメモリとしてメモリ幅が12ビットのメモリを使用せざるを得ないような場合、メモリに格納できる最大値は4095(0xFFF)である。累積情報を算出する特徴量算出対象画像として、8ビット輝度値(0〜255)を持つ画像であるとすると、画素値の総和値が12ビットで桁あふれしない最大の領域サイズは、4095/255=16(小数点以下切り捨て)となる。従って、この場合には、基準領域サイズ16となる。
このようにして算出した基準領域を用いて算出した累積情報に対しても、特徴量算出装置を用いて、任意のサイズの矩形領域内の画素値の総和値を算出することができる。なお総和値算出の手順は、これまでの実施形態で示したものと同様なので、ここでは説明を割愛する。
(Third embodiment)
In the present embodiment, an embodiment relating to a case where the accumulated information
As described in the first embodiment, in the case where the accumulated information calculated by the procedure shown in
As described above, in the embodiments so far, the maximum rectangular area is set so that the overflow does not overflow when the sum of the pixel values in the rectangular area having the assumed maximum rectangular area size is set as the reference area size. The total number of bits that can be stored was calculated.
In the present embodiment, conversely, an example in which the maximum number of rectangular area total value storable bits is set from the limitation of memory and register resources for storing accumulated information, and the reference area is calculated so as to match the setting. Show.
For example, when a memory having a memory width of 12 bits must be used as a memory for storing accumulated information due to hardware resource limitations, the maximum value that can be stored in the memory is 4095 (0xFFF). Assuming that the feature amount calculation target image for calculating the accumulated information is an image having an 8-bit luminance value (0 to 255), the maximum area size in which the total sum of pixel values is 12 bits and does not overflow is 4095/255. = 16 (rounded down) Therefore, in this case, the reference area size is 16.
For the cumulative information calculated using the reference area calculated in this way, the total value of the pixel values in the rectangular area of any size can be calculated using the feature amount calculation device. Note that the total value calculation procedure is the same as that shown in the embodiments so far, and a description thereof will be omitted here.
これまでの実施形態では、2次元配列の処理対象情報に対し分割領域累積情報を算出し、その分割領域累積情報を利用して、2次元の特定領域の要素値の総和を求めているが、本実施形態では、本発明を3次元以上の処理対象情報に適用する場合を示す。
累積情報は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)として計算することができる。
In the embodiments so far, the divided region accumulated information is calculated for the processing target information of the two-dimensional array, and the sum of the element values of the two-dimensional specific region is obtained using the divided region accumulated information. In this embodiment, a case where the present invention is applied to processing target information of three dimensions or more is shown.
Cumulative information can also be generated for multidimensional array information of three or more dimensions. FIG. 12 is a diagram illustrating the state of accumulated information in a three-dimensional case. The input information of the three-dimensional array is, for example, moving image information, and becomes a three-dimensional information by adding a one-dimensional time axis to a two-dimensional image.
In FIG. 12A, the element at the position of the point X in the three-dimensional cumulative information array is the total value of the elements included in the rectangular parallelepiped having the origin and the point X in the input three-dimensional information as a diagonal.
Using this three-dimensional accumulated information, for example, the total value of the elements in the
この3次元累積情報に対し、本発明の考え方を適用することももちろん可能である。この場合の分割領域は3次元の直方体になる。また基準領域は3次元の直方体であり、その直方体中にある全要素の総和が桁あふれしないだけのビット数が、最大矩形領域総和値格納可能ビット数となる。また、2次元情報に対する矩形領域のサイズとは矩形領域の面積であったが、3次元情報に対しては直方体の体積となる。例えば、基準領域のサイズとは、基準直方体の体積となる。
3次元を超える多次元入力情報に対する累積情報も、同様に超直方体で考えれば、本発明を適用可能であるのは明らかである。
また、分割領域累積情報を用いた情報処理としては、パターン認識処理に限定するものではない。本発明は、従来技術で述べたようなコンピュータグラフィクス等の他分野の処理であっても、累積情報を用いる処理であれば、適用可能であることは言うまでも無い。
Of course, it is possible to apply the concept of the present invention to this three-dimensional accumulated information. In this case, the divided area is a three-dimensional rectangular parallelepiped. The reference area is a three-dimensional rectangular parallelepiped, and the number of bits that does not overflow the sum of all the elements in the rectangular parallelepiped is the maximum number of rectangular area total values that can be stored. Further, the size of the rectangular area for the two-dimensional information is the area of the rectangular area, but for the three-dimensional information, it is a volume of a rectangular parallelepiped. For example, the size of the reference region is the volume of the reference cuboid.
It is obvious that the present invention can be applied to cumulative information for multi-dimensional input information exceeding three dimensions in the same way when considered in a super rectangular parallelepiped.
Further, the information processing using the divided region accumulated information is not limited to the pattern recognition process. It goes without saying that the present invention can be applied to processing in other fields such as computer graphics as described in the prior art as long as the processing uses accumulated information.
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.
101:特徴量算出装置、102:累積情報値保持部、103:矩形領域内総和値算出部、104:矩形領域分割決定部、105:分割矩形領域内総和値算出部、106:分割矩形領域内総和値加算部 101: Feature amount calculation device, 102: Cumulative information value holding unit, 103: Total value calculation unit within rectangular region, 104: Rectangular region division determination unit, 105: Total value calculation unit within divided rectangular region, 106: Within divided rectangular region Total value adder
Claims (12)
前記処理対象情報内に規定される特定領域内の要素値の総和値を、前記累積情報値保持手段が保持している前記累積情報値を用いて算出する特定領域内総和値算出手段とを備え、
前記特定領域内総和値算出手段は、
前記特定領域のサイズと予め設定された所定の基準領域サイズとの比較結果に基づいて、前記特定領域の分割を決定する特定領域分割決定手段と、
前記分割された特定領域ごとに分割領域内の総和値を分割特定領域内総和値として算出する分割特定領域内総和値算出手段とを有することを特徴とする特徴量算出装置。 As a cumulative information value corresponding to each element position in the processing target information of the multi-dimensional array, the sum of all element values in the region diagonally with the origin of the processing target information and each element position of the processing target information A cumulative information value holding means for holding a predetermined lower bit of the value;
Specific area total value calculation means for calculating a total value of element values in a specific area defined in the processing target information using the cumulative information value held by the cumulative information value holding means; ,
The specific area total value calculating means includes:
Specific area division determining means for determining division of the specific area based on a comparison result between the size of the specific area and a predetermined reference area size set in advance;
A feature amount calculation apparatus comprising: a divided specific area total value calculating unit that calculates a total value in the divided area as a divided specific area total value for each of the divided specific areas.
前記処理対象情報内に規定される特定領域内の要素値の総和値を、前記累積情報値を用いて算出するステップとを有し、
前記特定領域内の要素値の総和値を算出するステップは、
前記特定領域のサイズと予め設定された所定の基準領域サイズとの比較結果に基づいて、前記特定領域の分割を決定するステップと、
前記分割された特定領域ごとに分割領域内の総和値を分割特定領域内総和値として算出するステップとを有することを特徴とする特徴量算出方法。 As a cumulative information value corresponding to each element position in the processing target information of the multi-dimensional array, the sum of all element values in the region diagonally with the origin of the processing target information and each element position of the processing target information Calculating a value and extracting a predetermined lower bit of the sum value;
Calculating a total value of element values in a specific area defined in the processing target information using the cumulative information value;
The step of calculating the total value of the element values in the specific area is as follows:
Determining a division of the specific area based on a comparison result between the size of the specific area and a predetermined reference area size set in advance;
And a step of calculating a sum value in the divided area as a sum value in the divided specific area for each of the divided specific areas.
前記処理対象情報内に規定される特定領域内の要素値の総和値を、前記累積情報値を用いて算出する処理とをコンピュータに実行させ、
前記特定領域内の要素値の総和値を算出する処理では、
前記特定領域のサイズと予め設定された所定の基準領域サイズとの比較結果に基づいて、前記特定領域の分割を決定する処理と、
前記分割された特定領域ごとに分割領域内の総和値を分割特定領域内総和値として算出する処理とをコンピュータに実行させるためのプログラム。 As a cumulative information value corresponding to each element position in the processing target information of the multi-dimensional array, the sum of all element values in the region diagonally with the origin of the processing target information and each element position of the processing target information A process of calculating a value and extracting a predetermined bit lower in the sum value;
Causing a computer to execute a process of calculating a sum value of element values in a specific area defined in the processing target information using the cumulative information value;
In the process of calculating the total value of the element values in the specific area,
A process for determining division of the specific area based on a comparison result between the size of the specific area and a predetermined reference area size set in advance;
The program for making a computer perform the process which calculates the sum total value in a division area as a division specific area total value for every said division | segmentation specific area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013023536A JP6116271B2 (en) | 2013-02-08 | 2013-02-08 | Feature amount calculation apparatus, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013023536A JP6116271B2 (en) | 2013-02-08 | 2013-02-08 | Feature amount calculation apparatus, method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014153937A true JP2014153937A (en) | 2014-08-25 |
JP6116271B2 JP6116271B2 (en) | 2017-04-19 |
Family
ID=51575746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013023536A Active JP6116271B2 (en) | 2013-02-08 | 2013-02-08 | Feature amount calculation apparatus, method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6116271B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017182480A (en) * | 2016-03-30 | 2017-10-05 | キヤノン株式会社 | Image processing device and image processing method |
JP2019205015A (en) * | 2018-05-22 | 2019-11-28 | 日立オートモティブシステムズ株式会社 | Technology for preventing unauthorized message injection into in-vehicle network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008102792A (en) * | 2006-10-19 | 2008-05-01 | Toyota Motor Corp | Image identification device and image identification method |
JP2008299627A (en) * | 2007-05-31 | 2008-12-11 | Canon Inc | Information processing method and apparatus, program, storage medium |
JP2010134692A (en) * | 2008-12-04 | 2010-06-17 | Canon Inc | Information processor and information processing method |
-
2013
- 2013-02-08 JP JP2013023536A patent/JP6116271B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008102792A (en) * | 2006-10-19 | 2008-05-01 | Toyota Motor Corp | Image identification device and image identification method |
JP2008299627A (en) * | 2007-05-31 | 2008-12-11 | Canon Inc | Information processing method and apparatus, program, storage medium |
JP2010134692A (en) * | 2008-12-04 | 2010-06-17 | Canon Inc | Information processor and information processing method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017182480A (en) * | 2016-03-30 | 2017-10-05 | キヤノン株式会社 | Image processing device and image processing method |
JP2019205015A (en) * | 2018-05-22 | 2019-11-28 | 日立オートモティブシステムズ株式会社 | Technology for preventing unauthorized message injection into in-vehicle network |
Also Published As
Publication number | Publication date |
---|---|
JP6116271B2 (en) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10510148B2 (en) | Systems and methods for block based edgel detection with false edge elimination | |
US9189862B2 (en) | Outline approximation for point cloud of building | |
JP5538435B2 (en) | Image feature extraction method and system | |
JP5388835B2 (en) | Information processing apparatus and information processing method | |
JP2016514867A (en) | Method and apparatus for motion estimation | |
JP6619034B2 (en) | Homography correction | |
CN111539997B (en) | Image parallel registration method, system and device based on GPU computing platform | |
JPWO2015132817A1 (en) | Edge detection apparatus, edge detection method and program | |
KR20150114950A (en) | Increasing frame rate of an image stream | |
KR102158390B1 (en) | Method and apparatus for image processing | |
CN117671031A (en) | Binocular camera calibration method, device, equipment and storage medium | |
JP2010266964A (en) | Image retrieval device, its control method, and program | |
JP6116271B2 (en) | Feature amount calculation apparatus, method, and program | |
US8798370B2 (en) | Pattern identifying apparatus, pattern identifying method and program | |
US11210551B2 (en) | Iterative multi-directional image search supporting large template matching | |
JP2020041950A (en) | Surveying device, surveying method, and program | |
CN112784828B (en) | Image detection method and device based on direction gradient histogram and computer equipment | |
CN115731256A (en) | Vertex coordinate detection method, device, equipment and storage medium | |
CN116686000A (en) | Image processing device, program, and image processing method | |
CN111723174A (en) | Quick region statistical method and system for raster data | |
JP2010039968A (en) | Object detecting apparatus and detecting method | |
JP2016103089A (en) | Information processing device, signal processing method, and program | |
JP5739723B2 (en) | Image processing apparatus, image processing method, and program | |
CN113345051B (en) | Method, device, computing equipment and medium for typesetting graphic elements | |
CN113361545B (en) | Image feature extraction method, image feature extraction device, electronic equipment and storage medium |
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 |