JP2014153937A - Feature level calculation device, method and program - Google Patents

Feature level calculation device, method and program Download PDF

Info

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
Application number
JP2013023536A
Other languages
Japanese (ja)
Other versions
JP6116271B2 (en
Inventor
Takahisa Yamamoto
貴久 山本
Yoshinori Ito
嘉則 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013023536A priority Critical patent/JP6116271B2/en
Publication of JP2014153937A publication Critical patent/JP2014153937A/en
Application granted granted Critical
Publication of JP6116271B2 publication Critical patent/JP6116271B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Input (AREA)
  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To accurately calculate a total sum value even when the calculation of a total sum value of pixel values is required in a rectangular area larger than initially assumed.SOLUTION: A feature level calculation device comprises: an accumulation information value holding unit 102 for holding a prescribed low-order bit of total sum value of all element values within an area in which an original point of processing object information and each element position are cater-cornered as an accumulation information value corresponding to each element position within the processing object information in a two-dimensional array; and a rectangular area total sum value calculation unit 103 for calculating a total sum value of element values within a rectangular area regulated within the processing object information using the accumulation information values held by the accumulation information value holding unit 102. The rectangular area total value calculation unit 103 includes: a rectangular area division determination unit 104 for determining the division of a rectangular area on the basis of a result of comparison of the rectangular area size with a prescribed reference area size; and a division rectangular area total sum value calculation unit 105 for calculating a total sum value within a division area according to each divided rectangular area as a division rectangular area total sum value.

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, element 1 in FIG. 8 has the sum of pixel values of all pixels included in region A in the original image as an element value. For this reason, for example, the sum of the pixel values of all the pixels included in the region D in the original image is calculated by subtracting the element values of element 2 and element 3 from the element value of element 4 and adding the element value of element 1 Is done. As described above, if the sum of the pixel values of the rectangular area in the original image is used, the data values at the four corners of the rectangular area can be obtained at high speed.
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).

Figure 2014153937
Figure 2014153937

ここで、(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, Patent Document 1 proposes a cumulative information calculation technique that can reduce the size of an array for storing cumulative information by assuming the maximum size of a rectangular area for calculating the total value of pixels. ing.
Patent Document 2 proposes a method for calculating accumulated information that can reduce the size of an array that stores accumulated information by dividing an original image and calculating accumulated information for each divided image.

特開2008−299627号公報JP 2008-299627 A 特開2010−134692号公報JP 2010-134692 A

累積情報を格納する配列のサイズを削減できる手法として、特許文献1、2のような手法が提案されているが、それぞれ以下のような問題点がある。
特許文献1の手法では、想定している最大サイズを超えるようなサイズの矩形領域内の画素値の総和の算出手法に関しては、考慮されていない。
特許文献2の手法では、矩形領域のサイズに関わらず、画像分割を跨ぐような矩形領域であれば、画素値の総和算出を分割して行う必要がある。
As methods for reducing the size of the array for storing the accumulated information, methods such as Patent Documents 1 and 2 have been proposed, but each has the following problems.
In the method of Patent Document 1, no consideration is given to a method for calculating the sum of pixel values in a rectangular area having a size exceeding the assumed maximum size.
According to the method of Patent Document 2, it is necessary to divide and calculate the sum of pixel values if the rectangular region extends over image division regardless of the size of the rectangular region.

本発明は上記のような点に鑑みてなされたものであり、初期の想定よりも大きなサイズの矩形領域内の画素値の総和値の算出が必要になった場合でも、正確に総和値の算出ができるようにすることを目的とする。   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.

本発明の実施形態に係る特徴量算出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the feature-value calculation apparatus which concerns on embodiment of this invention. 総和値算出対象矩形領域の分割の手順を示すフローチャートである。It is a flowchart which shows the procedure of the division | segmentation of a sum total value calculation object rectangular area. 総和値算出対象矩形領域の分割手法を示す模式図である。It is a schematic diagram which shows the division | segmentation method of a sum total value calculation object rectangular area. 特徴量算出の手順を示すフローチャートである。It is a flowchart which shows the procedure of feature-value calculation. 総和値算出対象矩形領域の分割手法を示す模式図である。It is a schematic diagram which shows the division | segmentation method of a sum total value calculation object rectangular area. 総和値算出対象矩形領域の分割手法を示す模式図である。It is a schematic diagram which shows the division | segmentation method of a sum total value calculation object rectangular area. 総和値算出対象矩形領域の分割手法を示す模式図である。It is a schematic diagram which shows the division | segmentation method of a sum total value calculation object rectangular area. 累積情報を用いた矩形領域内の画素値の総和の算出処理について説明するための図である。It is a figure for demonstrating the calculation process of the sum total of the pixel value in the rectangular area using accumulation information. 解像度別に所望の特定領域内の要素の総和値を求める方法の説明図である。It is explanatory drawing of the method of calculating | requiring the total value of the element in a desired specific area according to resolution. 解像度別に特徴量算出をする場合の手順を示すフローチャートである。It is a flowchart which shows the procedure in the case of calculating feature-value according to resolution. 総和値算出対象矩形領域の分割手法を示す模式図である。It is a schematic diagram which shows the division | segmentation method of a sum total value calculation object rectangular area. 多次元累積情報の一例である三次元累積情報の説明図である。It is explanatory drawing of the three-dimensional accumulation information which is an example of multidimensional accumulation information.

以下、添付図面を参照して、本発明の好適な実施形態について説明する。
(第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 Patent Document 1, the total value of elements included in a rectangular region of an arbitrary size is calculated.
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 Patent Document 1, an arbitrary size specified region (rectangular region in the present embodiment) defined in the image is used. The case where the total value of the luminance values of the included pixels is calculated is shown. In the present embodiment, the luminance value is 8 bits (0 to 255).

ここで、特許文献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 Patent Document 1 will be briefly described (refer to Patent Document 1 for the detailed procedure).
In the cumulative information calculation disclosed in Patent Document 1, first, the maximum rectangular area size is defined. Here, the largest rectangular area in which the sum total value of pixels is assumed to be calculated is referred to as a maximum rectangular area, and the size of the maximum rectangular area is referred to as a maximum rectangular area size. In addition, when the sum value of pixel values is calculated with the maximum rectangular area size, the number of bits that do not overflow (no over flow chart) is calculated (this number of bits is referred to as “the maximum number of rectangular area total values that can be stored”). Call). Subsequently, the cumulative information calculated by the method of Patent Document 1 is obtained by extracting the maximum rectangular area total value storable number of bits as the lower-order predetermined bits of the cumulative information obtained by the normal cumulative information calculation procedure. . There is no particular limitation on the normal procedure for calculating the accumulated information. For example, there is a method described in “FC Crow,“ Summed-Area Tables For Texture Mapping ”, Computer Graphics, 1984”.
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 Patent Document 1.
As described above, cumulative information is calculated by the procedure shown in Patent Document 1.

この特許文献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 Patent Document 1, if the size of the rectangular area is equal to or smaller than the maximum rectangular area size, Expression (2) By extracting the bits that can store the lower maximum rectangular area total value from the total value obtained by the total value calculation formula shown, it is possible to calculate the accurate total value. However, if the size of the rectangular area for which the total value is to be calculated this time exceeds the maximum rectangular area size for some reason, the accurate total value cannot be calculated by calculating the total value using Equation (2). .
In the present embodiment, using the accumulated information calculated by the procedure shown in Patent Document 1, the total value of pixels included in a rectangular area of any size (including a size exceeding the maximum rectangular area size) is calculated. The procedure to do is explained.

図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 amount calculation apparatus 101 according to the present embodiment. The feature amount calculation apparatus 101 calculates the total value of the pixels in the rectangular area defined in the image as the feature amount of the two-dimensional luminance image.
Reference numeral 102 denotes a cumulative information value holding unit. The accumulated information value holding unit 102 stores accumulated information calculated by the procedure disclosed in Patent Document 1. The accumulated information value holding unit 102 includes a memory. As described above, the cumulative information calculated by the procedure shown in Patent Document 1 is equal to or less than the maximum number of rectangular area total values that can be stored. Therefore, when the cumulative information value holding unit 102 is configured by a memory, a memory having a memory width equal to or larger than the maximum number of rectangular area total values can be used. Further, the depth of the memory may be equal to or larger than the image size of the feature amount calculation target image.
When an element position (corresponding to a memory address) is input from the rectangular area total value calculation unit 103, the accumulated information value holding unit 102 outputs an accumulated information value corresponding to the element position. In the present embodiment, the cumulative information stored in the cumulative information value holding unit 102 is calculated from two-dimensional luminance image data. Therefore, when the coordinates on the image are designated as the element positions, the total value of the pixels in the rectangular area having the image origin and the coordinates as a diagonal line as the cumulative information value (the sum calculated by the procedure shown in Patent Document 1). Since the value is a value, the maximum rectangular area total value storable bit number is extracted from the lower order of the true total value).

103は特定領域内総和値算出手段としての矩形領域内総和値算出部である。矩形領域内総和値算出部103には、総和値を算出したい矩形領域を規定する矩形領域情報が入力され、その矩形領域情報に基づいて算出された総和値が出力される。
矩形領域内総和値算出部103は、特定領域分割決定手段としての矩形領域分割決定部104、分割特定領域内総和値算出手段としての分割矩形領域内総和値算出部105、分割矩形領域内総和値加算部106から構成される。それぞれの詳細な説明は後述するが、簡単に総和値算出の手順をここで述べておく。まず、総和値を算出したい矩形領域(この領域を「総和値算出対象矩形領域」と呼ぶ)を規定する矩形領域情報が入力されると、矩形領域分割決定部104において、予め設定されている基準領域サイズと、総和値算出対象矩形領域とのサイズ比較が行われ、総和値算出対象矩形領域を分割するか否か、及び分割する場合にはどのように分割するかが決定される。ここで、基準領域サイズとは、特許文献1で示された累積情報算出の手順において用いられた最大矩形領域サイズのことを指す。分割矩形領域内総和値算出部105では、分割された矩形領域ごとに総和値を算出する。分割矩形領域内総和値加算部106では、分割された矩形領域ごとに算出された総和値をさらに加算して、総和値として出力する。
このように、総和値算出対象矩形領域を基準領域サイズ以下の矩形領域に分割すれば、分割した矩形領域それぞれに対しては、総和値が正確に算出できる。さらに、その正確に算出された総和値を、全ての分割された矩形領域に亘って加算すれば、全体としても正確な総和値が算出される。矩形領域内総和値算出部103は全体として以上のように動作する。
Reference numeral 103 denotes a rectangular area total value calculation unit as a specific area total value calculation means. The rectangular area total value calculation unit 103 receives rectangular area information that defines a rectangular area for which a total value is to be calculated, and outputs a total value calculated based on the rectangular area information.
The rectangular area total value calculating unit 103 includes a rectangular area division determining unit 104 as a specific area division determining unit, a divided rectangular area total value calculating unit 105 as a divided specific region total value calculating unit, and a divided rectangular region total value. The adder 106 is configured. Although the detailed description of each will be described later, the procedure for calculating the total value will be briefly described here. First, when rectangular area information defining a rectangular area for which a total value is to be calculated (this area is referred to as a “total value calculation target rectangular area”) is input, the rectangular area division determination unit 104 sets a predetermined standard. A size comparison between the region size and the total value calculation target rectangular region is performed to determine whether or not to divide the total value calculation target rectangular region and how to divide it. Here, the reference region size refers to the maximum rectangular region size used in the cumulative information calculation procedure disclosed in Patent Document 1. The divided rectangular area total value calculation unit 105 calculates a total value for each divided rectangular area. In the divided rectangular area total value adding unit 106, the total value calculated for each divided rectangular area is further added and output as a total value.
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 value calculation unit 103 in the rectangular area operates as described above as a whole.

矩形領域分割決定部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 division determination unit 104 as rectangular area information. Here, as described above, the rectangular area for which the current total value is to be calculated is referred to as a total value calculation target rectangular area. It is assumed that the rectangular area information includes position information (for example, the coordinates of the upper left vertex and the coordinates of the lower right vertex of the total value calculation target rectangular area) of the total value calculation target rectangular area. In addition, the maximum rectangular area size used when calculating the accumulated information is input to the rectangular area division determination unit 104 as the reference area size.
As described above, the rectangular area division determination unit 104 performs size comparison between the reference area size (the maximum rectangular area size used when calculating the accumulated information) and the total area calculation target rectangular area. Then, based on the comparison result, whether or not to divide the total value calculation target rectangular area and how to divide it are determined.
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 value holding unit 102 is determined from the reference area size (maximum rectangular area size) and the number of bits of the pixel value (luminance value). In the third embodiment to be described later, conversely, the bit width of the memory used in the accumulated information value holding unit 102 is determined first, and the reference area size is determined so as to match the bit width. As described above, there are a plurality of methods for determining the reference area size.

図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 division determining unit 104.
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 division determination unit 104 can divide the rectangular area to be calculated. In this procedure, the size of one divided rectangular area that is divided becomes (about) half each time it is divided.
Furthermore, the rectangular area division determination unit 104 calculates position information of each divided rectangular area obtained in this way. Since the rectangular area information is input as the rectangular area information, the position information of the rectangular area to be calculated (for example, the coordinates of the upper left vertex and the coordinates of the lower right vertex of the rectangular area to be calculated). The position information for each divided rectangular area can be easily calculated from this information. The position information for each divided rectangular area is output to the divided rectangular area total value calculation unit 105 as divided rectangular area information.

分割矩形領域内総和値算出部105では、入力される分割矩形領域ごとの位置情報(例えば、各分割矩形領域の左上頂点の座標と、右下頂点の座標)から、各分割矩形領域内の画素の総和値を算出する。算出には、累積情報値保持部102に保持されている累積情報を用いる。つまり、各分割矩形領域ごとに、式(2)を用いて、画素の総和値を算出する。このとき式(2)の演算結果の下位から最大矩形領域総和値格納可能ビットの部分を取出したものが、各分割矩形領域内の画素の総和値となる。   The total value calculation unit 105 in the divided rectangular area calculates the pixels in each divided rectangular area from the input position information for each divided rectangular area (for example, the coordinates of the upper left vertex and the coordinates of the lower right vertex of each divided rectangular area). The total value of is calculated. For the calculation, the accumulated information held in the accumulated information value holding unit 102 is used. That is, for each divided rectangular area, the total value of the pixels is calculated using Equation (2). At this time, the portion of the maximum rectangular area total value storable bit extracted from the lower order of the calculation result of Expression (2) is the total value of the pixels in each divided rectangular area.

分割矩形領域内総和値加算部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 value calculating unit 105 are added, and the total value of the pixels in the original rectangular value calculation target rectangular area is added. Output as.

以上のようにして、総和値算出対象矩形領域の画素の総和値を算出する。また、矩形領域分割決定部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 division determination unit 104, the total number of the total value calculation target rectangular areas is determined by the above procedure as if the total division number is 1. Calculation is possible.

次に、図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 amount calculation apparatus 101.
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 division determination unit 104.
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 division determination unit 104 according to the procedure shown in FIG.
In step S403, vertex coordinates are calculated for each divided rectangular area. This process is also performed by the rectangular area division determination unit 104.
In step S404, for each divided rectangular area, the total value of the pixels in that area is calculated. In this process, the total value calculation unit 105 in the divided rectangular area accesses the accumulated information value holding unit 102 to read out the accumulated information value corresponding to each vertex of the divided rectangular area, executes Expression (2), This is realized by extracting the maximum number of rectangular area total value storable bits from the lower order of the calculation result.
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 processing window 902 having a specific size is moved within an image (face detection target image) 901 to be processed, and each destination processing window is moved. Processing for determining whether or not a person's face is included in 902 is performed. The determination of whether or not a face is included is realized by a series of processes including a process of setting predetermined rectangular areas 903 and 904 in the processing window 902 and calculating the sum of pixel values in the rectangular areas. (Refer to the above-mentioned document for details of the processing. Since the present invention is an invention only for the processing for calculating the sum of the pixel values in the rectangular area, description of other processing is omitted).
In FIG. 9, only two rectangles 903 and 904 are shown in the processing window 902 for calculating the total sum of pixel values in the processing window 902. However, the number, position, and size of these rectangular areas are determined by machine learning. In reality, a larger amount of rectangular areas exist, and the sum of these pixel values is calculated.
In general, the size of the face existing in the face detection target image 901 is unknown. Therefore, the above-mentioned “processing for determining whether or not a person's face is included in each processing window 902 while moving the processing window 902 in the face detection target image 901” is the resolution of the image 901. It will be done while changing.

ここで、画像の解像度を変化させた時に、累積情報(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 detection target image 901 having a basic resolution. FIG. 9C shows cumulative information created from the face detection target image 901 having the basic resolution. Reference numeral 921 denotes cumulative information created from the face detection target image 901. Reference numeral 922 denotes the position of the processing window on the accumulated information corresponding to the processing window 902. Reference numerals 923 and 924 indicate the positions of the rectangular areas on the accumulated information corresponding to the rectangular areas 903 and 904, respectively. Therefore, for example, when calculating the total value of the pixel values in the rectangular area 903, the cumulative information value corresponding to the four vertex coordinates of the rectangular area 923 on the cumulative information is accessed and calculated according to the procedure of equation (2). Can be calculated.
FIG. 9B shows a diagram in which the face detection target image 901 having the basic resolution is reduced to a quarter size (reduced to a half size in both the horizontal direction and the vertical direction). The reduction process uses a linear interpolation method. In the case of FIG. 9, since the reduction process is exactly ¼ size, the average of four neighboring pixels is calculated and the value is set as the pixel value of the reduced image. Reference numeral 911 denotes a reduced face detection target image, 912 denotes a processing window, and 913 and 914 denote rectangular areas.
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 detection target image 901 having the basic resolution. Reference numeral 931 denotes cumulative information created from the basic detection face detection target image 901, which is the same as 921. Reference numeral 932 denotes the position of the processing window on the accumulated information corresponding to the processing window 912. Reference numerals 933 and 934 indicate the positions of the rectangular areas on the accumulated information corresponding to the rectangular areas 913 and 914, respectively. Since the resolution of the image 911 is halved in both the vertical and horizontal directions compared to the cumulative information 931, the coordinates in the cumulative information are obtained by doubling the coordinates in the image 911. Therefore, for example, when calculating the total value of the pixel values in the rectangular area 913, the cumulative information value corresponding to the four vertex coordinates of the rectangular area 933 on the cumulative information is accessed and calculated according to the procedure of Expression (2). The result can be calculated by dividing by the resolution ratio (in the case of FIG. 9, dividing by 4).

図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 amount calculation apparatus 101 shown in FIG. 1 of the first embodiment is used.
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 Patent Document 1. At this time, the assumed maximum rectangular area (the largest one among the rectangular areas assumed to calculate the total sum of pixels) required in the cumulative information calculation procedure is assumed to be calculated at the basic resolution. The maximum size of the rectangular area. That is, the cumulative information 922 is calculated assuming that the rectangular area 903 and 904 in FIG. 9 has the maximum size as the maximum rectangular area size (reference area size). As described above, in FIG. 9, only two rectangles 903 and 904 are shown as rectangular regions for calculating the sum of pixel values for the sake of simplicity. Since the rectangular area 903 is larger than the rectangular area 904, the maximum rectangular area size is the size of the rectangular area 903 in such a case. Of course, in reality, since it is necessary to calculate the sum of the pixel values of a larger amount of rectangular areas for face detection, the largest rectangular area size is set as the maximum rectangular area size. The accumulated information calculated here is stored in the accumulated information value holding unit 102 in FIG.

ステップ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 processing window 902 to be processed is placed on the face detection target image 901. Basically, as shown in FIG. 9A, this processing window is selected by moving comprehensively in order by scanning in the vertical and horizontal directions at regular intervals from the edge of the face detection target image 901. . For example, the processing window is selected by raster scanning the face detection target image 901.

ステップ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 amount calculation device 101 is used.
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 (rectangular areas 903 and 904 in FIG. 9) for which a total value is to be calculated is input to the feature amount calculation apparatus 101, and the size of the rectangular area is calculated. Here, the size of the rectangular area refers to the size at the resolution at which the accumulated information is calculated. For the initial resolution (basic resolution), the resolution for which accumulated information is calculated (corresponding to FIG. 9C) and the resolution of the image currently undergoing face detection processing (corresponding to FIG. 9A) are: Since they are equal, the size of the rectangular area in the image is the size at the resolution at which the accumulated information is calculated. At this resolution, the size of all the rectangular areas is equal to or smaller than the maximum rectangular area size, so that the process of dividing the rectangular area to calculate the sum value of the pixel values in the rectangular area does not occur (No in step S202). To be elected). Thereafter, the total value is calculated by following the procedure of FIG.

しかしながら、本実施形態のように、顔検出対象画像に対して、解像度を変更(低解像度化)しながら顔検出する場合には、初回以降の解像度では、顔検出対象画像は基本解像度から縮小されていく(例えば図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 rectangular region 913 and the rectangular region 933 in FIG. 9 or the relationship between the rectangular region 914 and the rectangular region 934 is obtained. In the case of FIG. 9B, the size of the rectangular area 933 at the resolution at which the accumulated information is calculated is four times the size of the designated rectangular area 913 in the reduced image.
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 rectangular areas 913 and 914 at the resolution at which the accumulated information is calculated are the sizes of the rectangular areas 933 and 934, respectively. Therefore, when the total value of the pixel values in the rectangular area 913 is calculated using the accumulated information 931, it is divided. In addition, the size of the rectangular area 914 at the resolution at which the accumulated information is calculated is the size of the rectangular area 934. Since this size is equal to the basic area size, there is no need to divide when the total value of the pixel values in the rectangular area 914 is calculated using the accumulated information 931.
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, Reference numerals 1105 and 1106 denote rectangular areas to be calculated. That is, a state in which the processing window 1101 is advanced by one is the processing window 1102, and a further processing window 1101 is the processing window 1103.
Here, it is assumed that the total value calculation target rectangular area 1104 has a size that needs to be divided and is divided as indicated by a dotted line in the figure. Subsequently, when dividing the total value calculation target rectangular area 1105 advanced by one scan, the division position (the position in the image, not the position in the rectangle) is set to the same position as the division of 1104. Further, when dividing the total value calculation target rectangular area 1106 advanced by one scan, the division position (the position in the image, not the position in the rectangle) is set to the same position as the division of 1104. That is, the total value calculation target rectangular area 1104, the vertices indicated by hatched circles among the vertices of the divided rectangular area of the total value calculation target rectangular area in FIG. 1105 and 1106 are divided. That is, division is performed so that the vertices U, U ′, U ″ in FIG. 11 are at the same position in the image, and the vertices V, V ′, V ″ are at the same position in the image.
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 rectangular area 1104 is stored by dividing in this way, the total value calculation target rectangular area 1105 Can be used for calculating the total value of the divided rectangular areas and the total value of the divided rectangular areas in the total value calculation target rectangular area 1106. That is, if the accumulated information value of each vertex of U, V, W, X, Y, Z obtained by referring to the accumulated information when calculating the total value of the total value calculation target rectangular area 1104 is stored, It is not necessary to refer to the accumulated information when calculating the total value of the total value calculation target rectangular area 1105 or the total value calculation target rectangular area 1106. As a result, the number of accesses to the accumulated information can be reduced, which is advantageous in terms of processing time. How many adjacent processing windows can share the vertices of the divided rectangular area depends on the number of steps of the processing window and the division method.
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 value holding unit 102 is configured using hardware resources such as a memory and a register will be described.
As described in the first embodiment, in the case where the accumulated information calculated by the procedure shown in Patent Document 1 is stored in the memory, the memory width is equal to or larger than the maximum rectangular area total value storable bit number, A memory having a memory depth equal to or larger than the image size of the feature amount calculation target image may be used. Similarly, in the case of storing in a register, it is sufficient to use a register having a bit width equal to or larger than the maximum number of rectangular area total values that can be stored, the image size of the feature amount calculation target image.
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 rectangular parallelepiped 1201 shown in FIG. 12B can be obtained. Here, the coordinates of two points indicating the diagonal of the rectangular parallelepiped 1201 are (x 0 , y 0 , t 0 ) and (x 1 , y 1 , t 1 ). Assuming that A, B, C, D, E, F, G, and H are accumulated information values at positions represented by the following equation (3), the total value S 3d of the elements in the rectangular parallelepiped 1201 of the input information is 4) can be calculated.

Figure 2014153937
Figure 2014153937

この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.
前記所定ビットのビット数は、前記所定の基準領域サイズ内の全ての要素が最大値をとるときの総和値をオーバーフローせずに格納するのに必要なビット数以上であることを特徴とする請求項1に記載の特徴量算出装置。   The number of bits of the predetermined bits is equal to or greater than the number of bits necessary to store the total value when all the elements within the predetermined reference area size take a maximum value without overflowing. Item 2. The feature amount calculation apparatus according to Item 1. 前記特定領域分割決定手段では、前記特定領域を分割して得られる全ての分割特定領域が、前記所定の基準領域のサイズ以下になるように、前記特定領域を分割することを特徴とする請求項1又は2に記載の特徴量算出装置。   The specific area division determining unit divides the specific area so that all divided specific areas obtained by dividing the specific area are equal to or smaller than a size of the predetermined reference area. The feature amount calculation apparatus according to 1 or 2. 前記分割特定領域内総和値算出手段では、前記累積情報値保持手段で保持されている複数の前記累積情報値の間で加減算を行い、前記加減算の結果の下位の所定ビットの部分を前記分割特定領域内総和値として算出することを特徴とする請求項1乃至3のいずれか1項に記載の特徴量算出装置。   In the division specific area total value calculation means, addition / subtraction is performed between the plurality of cumulative information values held by the cumulative information value holding means, and a lower-order predetermined bit portion of the addition / subtraction result is specified as the division specification. The feature amount calculation apparatus according to claim 1, wherein the feature amount calculation device calculates the total value within the region. 前記特定領域内総和値算出手段では、前記分割特定領域内総和値をさらに総和したものを前記特定領域内の総和値とすることを特徴とする請求項1乃至4のいずれか1項に記載の特徴量算出装置。   5. The specific area total value calculating means further sets a sum of the divided specific area total values as a total value in the specific area. 6. Feature quantity calculation device. 前記複数次元配列は2次元配列であって、前記累積情報値を算出する領域は矩形領域であることを特徴とする請求項1乃至5のいずれか1項に記載の特徴量算出装置。   6. The feature amount calculation apparatus according to claim 1, wherein the multi-dimensional array is a two-dimensional array, and the area where the accumulated information value is calculated is a rectangular area. 前記特定領域とは矩形領域であることを特徴とする請求項1乃至6のいずれか1項に記載の特徴量算出装置。   The feature amount calculation apparatus according to claim 1, wherein the specific region is a rectangular region. 前記複数次元配列は3次元以上の多次元配列であって、前記累積情報値を算出する領域は超直方体の領域であることを特徴とする請求項1乃至5のいずれか1項に記載の特徴量算出装置。   6. The feature according to claim 1, wherein the multi-dimensional array is a multi-dimensional array of three or more dimensions, and the region where the accumulated information value is calculated is a region of a hypercube. Quantity calculation device. 前記特定領域とは超直方体の領域であることを特徴とする請求項1乃至6のいずれか1項に記載の特徴量算出装置。   The feature amount calculation apparatus according to claim 1, wherein the specific region is a hypercubic region. 請求項1乃至9のいずれか1項に記載の特徴量算出装置を備えたことを特徴とするパターン認識システム。   A pattern recognition system comprising the feature quantity calculation device according to claim 1. 複数次元配列の処理対象情報内の各要素位置に対応する累積情報値として、前記処理対象情報の原点と前記処理対象情報の各要素位置とを対角とする領域内の全ての要素値の総和値を算出し、前記総和値の下位の所定ビットを抽出するステップと、
前記処理対象情報内に規定される特定領域内の要素値の総和値を、前記累積情報値を用いて算出するステップとを有し、
前記特定領域内の要素値の総和値を算出するステップは、
前記特定領域のサイズと予め設定された所定の基準領域サイズとの比較結果に基づいて、前記特定領域の分割を決定するステップと、
前記分割された特定領域ごとに分割領域内の総和値を分割特定領域内総和値として算出するステップとを有することを特徴とする特徴量算出方法。
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.
JP2013023536A 2013-02-08 2013-02-08 Feature amount calculation apparatus, method, and program Active JP6116271B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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