WO2017208875A1 - 特徴点位置推定装置、特徴点位置推定システム、特徴点位置推定方法、および特徴点位置推定プログラム - Google Patents

特徴点位置推定装置、特徴点位置推定システム、特徴点位置推定方法、および特徴点位置推定プログラム Download PDF

Info

Publication number
WO2017208875A1
WO2017208875A1 PCT/JP2017/018954 JP2017018954W WO2017208875A1 WO 2017208875 A1 WO2017208875 A1 WO 2017208875A1 JP 2017018954 W JP2017018954 W JP 2017018954W WO 2017208875 A1 WO2017208875 A1 WO 2017208875A1
Authority
WO
WIPO (PCT)
Prior art keywords
feature
feature point
matrix
unit
amount
Prior art date
Application number
PCT/JP2017/018954
Other languages
English (en)
French (fr)
Inventor
満 安倍
豊 宗岡
大見 拓寛
Original Assignee
株式会社デンソー
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 株式会社デンソー filed Critical 株式会社デンソー
Priority to US16/305,909 priority Critical patent/US11163980B2/en
Priority to DE112017002766.7T priority patent/DE112017002766T5/de
Publication of WO2017208875A1 publication Critical patent/WO2017208875A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Definitions

  • the present disclosure relates to a feature point estimation device, a feature point estimation system, a feature point estimation method, and a feature point estimation program that estimate the position of a feature point in an image.
  • SDM Supervised Descend Method
  • the position of the facial organ point is estimated as a feature point in the face image (for example, Non-Patent Document 1), or each joint point of the person is used as the feature point in the person image.
  • These positions can be estimated, or the positions can be estimated using white lines on the left and right sides of the road as feature points in the in-vehicle camera image.
  • the position of the organ point of the face in the face image it is possible to estimate the driver's sideways or abnormal state during driving and give an appropriate warning.
  • FIG. 12 to FIG. 19 are diagrams for explaining the procedure for estimating the facial organ point position by the conventional SDM.
  • SDM is an algorithm composed of two stages, “feature extraction” and “linear regression”.
  • Step 1 Face area detection
  • An arbitrary method can be used for this face area detection, for example, a method by Viola-Jones or a method by SPADE (Scalar Product Accelerator by Integer Decomposition for Object Detection, Mitsuru Ambai and Ikuro Sato, ECCV2014) can be used.
  • Step 2 Placement of mean organ points
  • the average organ point is arranged at the average organ point position as the initial position for the detected face area.
  • the average organ point position is obtained in advance by giving correct data of organ points (for example, the head of the eyes, the top of the nose, the mouth) and taking the average of many face images.
  • organ points for example, the head of the eyes, the top of the nose, the mouth
  • L average organ points are prepared.
  • Step 3 feature extraction
  • the feature amount may be anything, and for example, a HOG (Histograms Oriented Gradients) feature amount may be used.
  • HOG Hemograms Oriented Gradients
  • FIG. 14 and generates a feature vector x 1 of LD dimension which integrates features of every organ points.
  • the difference vector y 1 is obtained by transforming the feature vector x 1 with the regression matrix W 1 .
  • the regression matrix W 1 receives the feature vector x 1 as an input, outputs a difference vector y 1 indicating the deviation of the true organ point position from the average organ point, and converts the feature vector x 1 into the difference vector y 1. It can be obtained by performing machine learning using a linear regression technique for a large number of face images.
  • the difference vector y 1 has a 2L dimension obtained by multiplying the number L of organ points by the number (2) of coordinate values of each organ point, and the regression matrix W 1 is obtained as a matrix of 2L rows and LD columns.
  • Step 5 Rearrange organ points
  • the organ points are rearranged by correcting the position of the average organ point used in step 2 with the difference vector y 1 obtained in step 4.
  • step 3 is executed again to extract feature amounts, thereby obtaining a feature vector x 2 as shown in FIG. 17, and step 4 is executed to convert the feature vector x 2 into a regression matrix.
  • the difference vector y 2 is obtained by transforming with W 2 as shown in FIG. 18, and the organ points rearranged as shown in FIG. 19 are obtained by executing step 5 and rearranging the organ points. .
  • step 5 As described above, by repeating the feature amount extraction and the rearrangement by the regression (step 3 to step 5) about 4 to 5 times, it is possible to obtain the accurately arranged organ points.
  • the conventional SDM has a problem that the memory consumption is large. That is, if the number of organ points is L and the dimension number of the feature quantity is D, the regression matrix Wi is 2L rows and LD columns, and if the number of floating-point bytes of each element of the regression matrix Wi is B bytes, 2L The memory of ⁇ LD ⁇ B bytes is consumed. Then, this capacity of memory is consumed for the number of iterations of organ point estimation.
  • the conventional face recognition by SDM has a further problem that it is slow.
  • the load of the process (step 4) for performing the inner product operation of the feature vector xi and the regression matrix Wi in order to obtain the difference vector yi is large (the order of the calculation amount is 2L ⁇ LD). It will take time because it must be done.
  • one of the objects of the present disclosure is a feature point position estimation device capable of suppressing memory consumption and calculation amount in feature point position estimation processing that repeats feature amount acquisition and regression calculation. Is to provide etc.
  • a feature point position estimation apparatus includes a target detection unit that detects a target area from a target image, and a feature point arrangement that arranges a feature point at an initial feature point position prepared in advance with respect to the target area
  • a feature amount acquisition unit that acquires a feature amount of the feature point that has been arranged, and a regression calculation for the feature amount, thereby calculating a shift amount of a true feature point position with respect to the feature point position
  • a regression calculation unit and a rearrangement unit that rearranges the feature points based on the deviation amount, wherein the feature amount acquisition unit includes the feature points arranged in the feature point arrangement unit, and the rearrangement unit
  • the feature amount of the feature point rearranged in is acquired, and the regression calculation unit calculates the shift amount by converting the feature amount with a matrix decomposition regression matrix, and the rearrangement unit , Acquisition of feature quantity by the feature quantity acquisition unit, the regression Calculation of the deviation amount by the calculation unit, and repeatedly outputs the position of the relocated feature points several times relocation of
  • the regression matrix may be decomposed into a base matrix that is a real matrix and a coefficient matrix that is a real matrix. Specifically, the regression matrix is decomposed into the base matrix and the coefficient matrix by singular value decomposition. May be.
  • the regression matrix may be decomposed into a base matrix that is an integer matrix and a coefficient matrix that is a real matrix.
  • the basis matrix may be a binary matrix or a ternary matrix.
  • each column vector may be individually decomposed, or may be subjected to matrix decomposition at once.
  • the feature point position estimation device may estimate the position of a feature point for a target image of a plurality of consecutive frames, and the feature point placement unit acquires the feature amount by the feature amount acquisition unit in the previous frame, and the regression A feature point is arranged with the position of the feature point rearranged in the process of calculating the deviation amount by the calculation unit and the rearrangement of the feature point a plurality of times as the initial feature point position prepared in advance of the current frame. It's okay. With this configuration, since the number of regressions can be reduced, the amount of computation until convergence can be reduced.
  • the feature point position estimation device may further include an evaluation unit that obtains a score of the feature point by linearly converting the feature amount of the feature point rearranged by the rearrangement unit. With this configuration, it is possible to determine whether or not the estimation of the position of the feature point has failed by evaluating the score.
  • the evaluation unit may group a plurality of feature points rearranged by the rearrangement unit and obtain the score for each group. Compared with the case of assigning scores to each feature point, the reliability of the part estimated by the grouped score can be determined, so that robust reliability estimation can be performed.
  • the regression calculation unit performs the regression calculation only on some of the feature points having a high priority among the plurality of feature points, obtains the feature amount by the feature amount acquisition unit, and calculates the deviation amount by the regression calculation unit. While repeating the calculation and the rearrangement of the feature points a plurality of times, the number of feature points to be subjected to the regression calculation may be increased according to the priority, and the regression calculation may be performed for all the feature points. With this configuration, the amount and number of regression calculations can be reduced, and the calculation cost can be reduced.
  • the target detection unit may detect the target region by extracting feature amounts from a plurality of blocks of the target image and performing identification processing, and the feature amount acquisition unit is extracted by the target detection unit.
  • the obtained feature amount may be acquired as the feature amount of the feature point.
  • the feature amount acquisition unit may acquire the feature amount of the block to which the feature point belongs as the feature amount of the feature point.
  • a feature point position estimation system includes a target detection unit that detects a target area from a target image, and a feature point arrangement that arranges a feature point at an initial feature point position prepared in advance for the target area
  • a feature amount acquisition unit that acquires a feature amount of the feature point that has been arranged, and a regression calculation for the feature amount, thereby calculating a shift amount of a true feature point position with respect to the feature point position
  • a regression calculation unit and a rearrangement unit that rearranges the feature points based on the deviation amount, wherein the feature amount acquisition unit includes the feature points arranged in the feature point arrangement unit, and the rearrangement unit
  • the feature amount of the feature point rearranged in is acquired, and the regression calculation unit calculates the shift amount by converting the feature amount with a matrix decomposition regression matrix, and the rearrangement unit , Acquisition of a feature amount by the feature amount acquisition unit, Calculating the deviation amount of the return calculation unit, and outputs the position of a plurality of times repeatedly repositioned feature point
  • a feature point position estimation program is executed by a computer, so that the computer detects a target area from a target image, an initial prepared for the target area
  • a feature point placement unit that places a feature point at a feature point position
  • a feature amount acquisition unit that obtains a feature amount of the placed feature point
  • a regression calculation for the feature amount thereby obtaining a true value for the feature point position.
  • a feature point position estimation program that functions as a regression calculation unit that calculates a displacement amount of a feature point position, and a rearrangement unit that rearranges the feature points based on the displacement amount, and the feature amount acquisition unit includes: The feature points arranged by the feature point arrangement unit and the feature quantities of the feature points rearranged by the rearrangement unit are acquired, and the regression calculation unit is a regression matrix obtained by matrix decomposition, and the feature quantity The In other words, the shift amount is calculated, and the rearrangement unit repeats the feature amount acquisition by the feature amount acquisition unit, the shift amount calculation by the regression calculation unit, and the rearrangement of the feature points a plurality of times. The position of the feature point rearranged is output.
  • a feature point position estimation method includes a target detection step of detecting a target area from a target image, and a feature point arrangement that arranges a feature point at an initial feature point position prepared in advance for the target area
  • a feature amount obtaining step for obtaining a feature amount of the arranged feature point
  • a regression calculation for the feature amount to calculate a displacement amount of a true feature point position with respect to the feature point position.
  • the deviation amount is calculated by converting the feature amount using a regression matrix subjected to matrix decomposition, and the recalculation step calculates the deviation amount.
  • Location step is the acquisition of feature amount by the feature value acquiring step, and outputs the regression calculation step calculates the shift amount by, and positions of the plurality of times repeatedly repositioned feature point relocation of the feature point.
  • the feature point position estimation apparatus and the like can reduce the memory consumption and the calculation amount because the regression matrix used for the regression calculation is divided into matrixes in the feature point position estimation process in which the feature amount acquisition and the regression calculation are repeated.
  • FIG. 1 is a block diagram illustrating a configuration of a feature point position estimation apparatus according to the embodiment.
  • FIG. 2 is a diagram illustrating matrix decomposition of the regression matrix W in the embodiment.
  • FIG. 3 is a diagram illustrating a process of decomposing the regression matrix W into a base matrix M having a base number k and a coefficient matrix C according to the first embodiment.
  • FIG. 4 is a diagram illustrating a process of decomposing the regression matrix W into a base matrix M having a base number k and a coefficient matrix C in the second embodiment.
  • FIG. 1 is a block diagram illustrating a configuration of a feature point position estimation apparatus according to the embodiment.
  • FIG. 2 is a diagram illustrating matrix decomposition of the regression matrix W in the embodiment.
  • FIG. 3 is a diagram illustrating a process of decomposing the regression matrix W into a base matrix M having a base number k and a coefficient matrix C according to the first embodiment.
  • FIG. 4 is a diagram illustrating a process of
  • FIG. 5 is a flowchart of an algorithm that can be implemented in the division method according to the second embodiment.
  • FIG. 6 is a diagram for explaining the decomposition of the regression matrix W in the third embodiment.
  • FIG. 7 is a diagram for explaining feature points used for regression calculation in the sixth embodiment.
  • FIG. 8 is a diagram illustrating the first regression calculation in the sixth embodiment.
  • FIG. 9 is a diagram showing the second regression calculation in the sixth embodiment.
  • FIG. 10 is a diagram illustrating the third regression calculation in the sixth embodiment.
  • FIG. 11 is a diagram for explaining the processing (single dictionary) of the target detection unit in the seventh embodiment and the processing (multiple dictionaries) of the target detection unit in the seventh embodiment.
  • FIG. 12 is a diagram for explaining face area detection in the conventional SDM.
  • FIG. 13 is a diagram for explaining the arrangement of average organ points in a conventional SDM.
  • FIG. 14 is a diagram for explaining feature amount extraction in the conventional SDM.
  • FIG. 15 is a diagram for explaining calculation of a difference vector by regression in a conventional SDM.
  • FIG. 16 is a diagram for explaining rearrangement of organ points in a conventional DM.
  • FIG. 17 is a diagram for explaining feature amount extraction in the conventional SDM.
  • FIG. 18 is a diagram for explaining calculation of a difference vector by regression in a conventional SDM.
  • FIG. 19 is a diagram for explaining rearrangement of organ points in a conventional DM.
  • FIG. 20 is a diagram showing a plurality of organ points obtained by the conventional SDM.
  • FIG. 1 is a block diagram illustrating a configuration of a feature point position estimation apparatus 1 according to an embodiment.
  • the feature point position estimation device 1 includes an object detection unit 11, a feature point placement unit 12, a feature amount acquisition unit 13, a regression calculation unit 14, a matrix storage unit 15, and a rearrangement unit. 16.
  • the feature point position estimation apparatus 1 can be realized by a computer having a CPU, a ROM, a RAM, an auxiliary storage device, an input / output interface, and the like executing a feature point position estimation program. It should be noted that the feature point position estimation system having the same function as the feature point position estimation apparatus 1 may be configured by arranging the components of the feature point position estimation apparatus 1 in a distributed manner and communicating with each other.
  • the feature point position estimation apparatus 1 estimates the position of a feature point by SDM that repeats (repeats) feature amount acquisition and linear regression four times.
  • the number of iterations is not limited to this, and the number of iterations is four times. More or less.
  • the target detection unit 11 receives an image (target image) that is a target for estimating the position of the feature point.
  • the target detection unit 11 detects the target region from the target image in the same manner as in Step 1 of the conventional SDM.
  • An arbitrary method can be used for this target region detection. For example, when detecting a face, the above-mentioned method by Viola-Jones or the method by SPADE can be used.
  • the feature point placement unit 12 is characterized by an average feature point position prepared in advance as an initial feature point position for the target area detected by the target detection unit 11 in the same manner as in Step 2 of the conventional SDM. Points are arranged (feature points arranged in this way are also referred to as “average feature points”). The average feature point position is obtained in advance by giving correct data of feature points for a number of target images and taking the average of the data. Here, L average feature points are prepared. Note that the initial feature point position is not necessarily obtained as the position of the average feature point, and may be given by any other method.
  • the feature quantity acquisition unit 13 selects the feature points around (for example, feature points) for L feature points arranged in the target region image (target region image).
  • a D-dimensional feature value is extracted from a small area of 32 ⁇ 32 pixels at the center.
  • the feature amount may be anything, and for example, a HOG (Histograms of Oriented Gradients) feature amount may be used.
  • the feature quantity acquisition unit 13 generates an LD dimension feature vector xi by integrating the feature quantities of all feature points (i is the number of SDM iterations).
  • the feature quantity acquisition unit 13 generates a feature vector x 1 by extracting a feature quantity from the target area image in which the average feature points are arranged by the target detection unit 11, and further from the rearrangement unit 16.
  • a feature quantity is extracted and a feature vector xi is generated in the same manner as described above.
  • the regression calculation unit 14 obtains a difference vector yi by transforming the feature vector xi with a regression matrix Wi subjected to matrix decomposition.
  • the regression matrix Wi is a transformation matrix that takes the feature vector xi as an input, outputs a vector yi of the shift amount of the true feature point relative to the average feature point, and converts the feature vector xi into the vector yi. Can be obtained by performing machine learning using a linear regression technique.
  • the regression calculation unit 14 of the present embodiment uses the regression matrix Wi obtained as described above after being decomposed into a base matrix M i and a coefficient matrix C i .
  • the regression calculation unit 14 includes a base matrix multiplication unit 141 and a coefficient matrix multiplication unit 142.
  • the base matrix multiplication unit 141 performs an operation of multiplying (taking a product) the feature vector xi and the base matrix M i .
  • the coefficient matrix multiplication unit 142 performs an operation of multiplying (multiplying) the product Mxi of the feature vector xi and the base matrix M i and the coefficient matrix C i .
  • the regression calculation unit 14 calculates a product with the feature vector xi after decomposing the regression matrix Wi into two matrices as shown in FIG.
  • the positions of a plurality of feature points in the target region image are estimated, but among the plurality of feature points thus estimated, there are many feature points that are close to each other. Exists.
  • the column vectors w i of the regression matrix Wi are similar to each other.
  • the regression matrix Wi has such characteristics, when it is decomposed into a base matrix and a coefficient matrix, there is a property that a good approximation can be obtained with a smaller number of bases.
  • the matrix storage unit 15 stores a base matrix M i and a coefficient matrix C i obtained by decomposing the regression matrix Wi.
  • the rearrangement unit 16 rearranges the feature points by correcting the position of the feature point obtained at that time with the difference vector yi obtained by the regression calculation unit 14.
  • the feature points rearranged by the rearrangement unit 16 are output to the feature amount acquisition unit 13 for iterative processing.
  • the feature vector x 2 is obtained
  • the difference vector y 2 obtained by regression calculation unit 14 is the regression calculation
  • relocation by part 16 to reposition the feature point by using the difference vector y 2 relocated feature points is obtained.
  • the rearrangement unit 16 outputs information on the positions of the feature points arranged at that time (feature point coordinates).
  • Decomposition of the regression matrix is generally executed in advance by a device (hereinafter referred to as “matrix decomposition device”) different from the feature point position estimation device 1, and the generated base matrix M and coefficient matrix C are generated thereby. Is stored in the storage unit 15 of the feature point position estimation apparatus 1.
  • FIG. 3 is a diagram illustrating a process of decomposing the regression matrix W into a base matrix M having a base number k and a coefficient matrix C according to the first embodiment.
  • the matrix decomposition device decomposes the regression matrix W into two real matrices.
  • the matrix decomposition apparatus decomposes the regression matrix W into an orthogonal basis real matrix and a real coefficient matrix by singular value decomposition.
  • the regression matrix W tends to be low rank, and if the regression matrix W is low rank, decomposition into a small matrix (small basis number k) can be expected. As described above, the calculation amount and the memory consumption can be reduced by reducing the basis number k.
  • FIG. 4 is a diagram for explaining processing for decomposing the regression matrix W into a base matrix M having a base number k and a coefficient matrix C according to the second embodiment.
  • the matrix decomposition apparatus decomposes the regression matrix W into an integer basis matrix M and a real coefficient matrix C.
  • the matrix decomposition apparatus decomposes the regression matrix W into a binary or ternary basis matrix M and a real coefficient matrix C.
  • the feature quantity extracted for the feature point by the feature quantity acquisition unit 13 of the feature point position estimation apparatus 1 is also binary.
  • the feature vector x is an integer
  • no floating point operation occurs in the operation Mx of the product of the base matrix M and the feature vector x, so that the regression calculation can be performed at high speed.
  • the base matrix M is binary
  • First decomposition method As a first decomposition method, a data-independent decomposition method will be described.
  • matrix decomposition unit performs decomposition by solving the cost function g 1 of the formula representing the degradation error.
  • the base matrix M is binary and M ⁇ ⁇ 1,1 ⁇ DL ⁇ k .
  • the matrix decomposition apparatus solves the cost function g 1 according to the following procedure.
  • the base matrix M and the coefficient matrix C are initialized at random.
  • (4) Repeat (2) and (3) until convergence. For example, when the cost function g 1 satisfies a predetermined convergence condition (for example, the amount of decrease is a certain value or less), it is determined that the cost function g 1 has converged.
  • (5) The solutions obtained in steps (1) to (4) are held as candidates.
  • Steps (1) to (5) are repeated, and the candidate base matrix M and candidate coefficient matrix C that have the smallest cost function g 1 are adopted as the final results. Note that steps (1) to (5) need not be repeated, but by repeating a plurality of times, the problem of dependence on the initial value can be avoided.
  • the element of the row vector of the j-th row of the base matrix M depends only on the element of the j-th row of the regression matrix W. Therefore, the value of each row vector of the base matrix M can be optimized independently of other rows, so that the base matrix M can perform an exhaustive search (full search) for each row.
  • Row vector of the j-th row of the base matrix M in the case of binary decomposition as in the present embodiment there are only 2 k street (Note that there is only 3 k as in the case of a three-value decomposition). Therefore, all of these are checked comprehensively, and a row vector that minimizes the cost function g 1 is adopted. This is applied to all the row vectors of the base matrix M to update the elements of the base matrix M.
  • matrix decomposition unit performs decomposition by solving the cost function g 2 of the formula is an exploded error.
  • the base matrix M is binary and M ⁇ ⁇ 1,1 ⁇ DL ⁇ k .
  • 1 is the L1 norm of the element of the coefficient matrix C, and ⁇ is its coefficient.
  • Matrix decomposition unit solves the cost function g 2 of the following procedure.
  • the base matrix M and the coefficient matrix C are initialized at random.
  • the elements of the base matrix M are fixed, and the elements of the coefficient matrix C are optimized by the proximity gradient method.
  • the cost function g 2 updates the elements of the basis matrix M at full search to minimize.
  • the cost function g 2 satisfies a predetermined convergence condition (e.g., decrease amount is less than a predetermined value), it is judged to have converged.
  • a predetermined convergence condition e.g., decrease amount is less than a predetermined value
  • Step (1) to repeat steps (5) adopts the highest cost function g 2 Decrease be candidate basis matrix M and the candidate coefficient matrix C as the final result. Note that steps (1) to (5) need not be repeated, but by repeating a plurality of times, the problem of dependence on the initial value can be avoided.
  • the coefficient matrix C can be made sparse.
  • the portion related to the zero element of the coefficient matrix C can be omitted, and the inner product calculation can be performed at higher speed.
  • the decomposition error is expressed as the cost function g 1. To minimize this decomposition error.
  • the regression matrix W is expressed as the cost function g 1.
  • This approximate decomposition can be performed by sequentially obtaining basis vectors m j constituting the basis matrix M.
  • the procedure of the third decomposition method is as follows. (1) The base matrix M and the coefficient matrix C are obtained by the first or second decomposition method and set as initial values thereof. (2) The elements of the base matrix M are fixed, and the elements of the coefficient matrix C are optimized by the least square method. (3) The elements of the base matrix M are updated by fixing the elements of the coefficient matrix C and optimizing the elements of the base matrix M. The update process of the base matrix M will be described later. (4) until convergence Repeat (2) and (3), to hold the cost function g 3 as a minimized basis matrix M and the candidate coefficient matrix C have.
  • Steps (1) to (4) are repeated, and a base matrix M and a coefficient matrix C in which the cost function g 3 is minimized are adopted as final results.
  • step (1) since the base matrix M and the coefficient matrix C are optimized again by the first or second decomposition method, the initial values are changed.
  • step (5) may not be repeated, the problem of initial value dependency can be reduced by repeating a plurality of times.
  • the update process of the base matrix M in step (3) will be described.
  • the value of the row vector of the base matrix M is no longer independent of other rows and is dependent. Since the elements of the base matrix M are binary or ternary, that is, discrete values, the optimization of the base matrix M becomes a combinatorial optimization problem. Therefore, for optimization of the base matrix M, for example, an algorithm such as a greedy algorithm, a tabu search, or a simulated annealing can be used. Since a good initial value is obtained in step (1), these algorithms can satisfactorily minimize the decomposition error.
  • the base matrix M is optimized by the following procedure. (3-1) T elements of the base matrix M are selected at random. (3-2) tried combination of street 2 T (3 T as if 3 value decomposition described later), it is taken from the one cost function g 3 minimized. (3-3) Repeat steps (3-1) and (3-2) until convergence.
  • the fourth decomposition method is a combination of the second decomposition method and the third decomposition method. Specifically, disassembly by solving the cost function g 4 of the formula. According to the cost function g 4, the regression matrix W, since that would be resolved according to the distribution of actual data, as well as improved accuracy of approximation during decomposition can be sparsely coefficient matrix C. That is, both of the advantages of the second decomposition method and the third decomposition method can be obtained.
  • the specific decomposition procedure is the same as that in the third decomposition method.
  • the real matrix may be sequentially decomposed by the following algorithm.
  • FIG. 5 is a flowchart of an algorithm executed in the division method according to the present embodiment.
  • a procedure for decomposing the regression matrix W into a base matrix M having k bases and a coefficient matrix C by the decomposition method described in the first or second embodiment is as follows: I will write it.
  • the matrix decomposition apparatus acquires a regression matrix W to be decomposed (step S51).
  • the residual matrix R is the difference between the regression matrix W and the sum of the inner products of the base matrix M j and the coefficient matrix C j that have been decomposed so far by sequential decomposition.
  • the matrix decomposition apparatus decomposes the residual matrix R into a base matrix M and a coefficient matrix C by the method of the first or second embodiment (step S53).
  • the basis number is k j .
  • the matrix decomposition apparatus sets the difference between the original residual matrix R and M j C j as a new residual matrix R (step S54), and increments the index j (step S55). ), It is determined whether the index j is greater than N, that is, whether the N-stage sequential decomposition has been completed (step S56).
  • N-stage basis numbers k j k 1 , k 2 ,..., K N are prepared in advance, and they may be the same number or different numbers. Good.
  • the basis number k may be about 8, for example.
  • the accuracy can be made closer to the original accuracy.
  • FIG. 6 is a diagram for explaining the decomposition of the regression matrix in the third embodiment.
  • the vectors of the jth column of the regression matrix W are individually decomposed and collected. By decomposing for each vector in this way, the calculation cost for the decomposition can be suppressed. Individual vectors may be decomposed by the procedure described in the second embodiment.
  • a regression matrix W in which a plurality of real vectors w j are arranged is a product of a plurality of base matrices M i and a matrix in which a plurality of coefficient vectors c j are arranged obliquely as shown in FIG. It can be considered that it was decomposed into a sum.
  • 0 is entered in the hatched portion of the matrix.
  • the present embodiment is applied when a target image that is a target for estimating a feature point position is obtained as a plurality of continuous frames.
  • the feature point extraction unit 13 of the present embodiment uses the feature point position obtained by the rearrangement unit 16 in the intermediate stage of the process of repeating feature extraction and regression calculation in the previous frame as the initial feature point position of the current frame. Then, the feature amount is extracted and the regression calculation is started.
  • the present embodiment can be effectively applied particularly when the image change between the previous frame and the current frame is small. According to the present embodiment, the number of feature extraction and regression calculation iterations can be reduced. The amount of calculation up to can be reduced.
  • the feature point position estimation apparatus of the present embodiment calculates a score (probability) for determining whether or not the feature point position has been successfully estimated.
  • An evaluation unit (not shown) is further provided. Now, it is assumed that the feature point acquisition unit 13 repeats the extraction of the feature amount and the regression calculation unit 14 repeatedly to obtain the organ point position.
  • C) Feature points (organ points) may be grouped for each facial part (for example, eyes, nose, mouth), and a score may be given for each group.
  • robust reliability estimation can be performed by determining the reliability of the part estimated by the grouped score rather than scoring each point. For example, in the case of estimating the position of an organ point as a feature point from a person's face, if the person wears a mask, the feature point is placed at the part where the mouth is located as the initial feature point position, and the feature amount In this case, generally, a low evaluation is obtained in the mask portion, but even in this mask portion, the score is accidentally high due to wrinkles of the mask or the like. There may be one feature point. Even in such a case, if it is a grouped score determination, a low score can be obtained for the group of mask parts, and if the grouped score is low, all the target organ point coordinates have low reliability. Can be considered.
  • the weight w in the linear transformation for calculating the score has, for example, a linear SVM, and positive data and negative data are prepared and learned in advance.
  • a feature amount (positive data) obtained from a feature point (organ point) already applied to a face of learning data and a feature amount (negative data) obtained by randomly applying a feature point (organ point) to a non-face image are linear SVM. Learn with According to the present embodiment, it is possible to determine whether or not the estimation of the feature point position has failed by evaluating the score.
  • the regression calculation unit 14 prioritizes feature points to be subjected to regression calculation. For example, in the first regression calculation, only the feature quantity with higher priority is used, and in the second time, priority is given. Steps are divided in such a way that the middle feature amount is used and the third feature amount is used up to the lower priority feature amount.
  • the prioritization concept is a part that is not easily affected by face orientation, facial expression, wearing items, and individual differences. Lower priority in order of nose, eyes, corners of eyes, mouth edge, and so on.
  • FIG. 7 is a diagram for explaining the feature points used in the regression calculation of the present embodiment
  • FIG. 8 is a diagram showing the first regression calculation
  • FIG. 9 is the second regression calculation
  • FIG. 10 is a diagram illustrating the third regression calculation.
  • 16 feature points are arranged, but only 6 of them (feature points hatched in the left photograph in FIG. 7) are included in the first iteration.
  • the deviation amounts for all points (16 points) are calculated, and rearrangement can be performed for all points.
  • the feature amount for nine points is input to the input, the shift amount for 16 points is calculated, and the coordinates of 16 points are estimated.
  • the number of feature points involved in input and output is different, and the feature points to be estimated are increased as the iteration proceeds.
  • the processing amount can be reduced by using only the features of organ points that can be recognized with high robustness.
  • the feature amount acquisition unit 13 of the seventh embodiment uses the feature amount used when the target detection unit 11 detects the target region as it is, instead of extracting the feature amount from the target region.
  • the target detection unit 11 detects a target region from the target image by extracting a binary HOG feature value (BinaryHOG) from the target image and performing identification processing.
  • BinaryHOG binary HOG feature value
  • the target detection unit 11 generates a pyramid image obtained by reducing the target image at a plurality of scales, and divides the image at each stage of the pyramid image into blocks each having a size of 8 ⁇ 8 pixels. Then, the HOG feature value is extracted from each block, and the feature value given to each block is converted into a binary vector.
  • the target detection unit 11 detects a face area by executing linear SVM using a dictionary for each stage image, for example. Then, the target detection unit 11 cuts out the feature amount used for the detection from the image at the stage where the face area is detected, and outputs it to the feature amount acquisition unit 13.
  • the feature amount acquisition unit 13 uses the feature amount acquired from the target detection unit 11 when determining the feature amount of each feature point.
  • the feature quantity acquisition unit 13 of the above embodiment uses a block based on each feature point (or rearrangement) (for example, a small region block of 32 ⁇ 32 pixels centered on each feature point). ) And the feature amount is extracted from the feature amount.
  • the feature amount extracted by the target detection unit 11 for detecting the target region is used.
  • the feature quantity of the block to which the arranged feature point belongs is set as the feature quantity of the feature point.
  • the accuracy is reduced in terms of feature quantity extraction, but the feature point position can be estimated with sufficient accuracy by performing sufficient iterative processing in the SDM.
  • the feature quantity acquisition unit 13 since the feature quantity acquisition unit 13 does not need to calculate the feature quantity, the calculation time for extracting the feature quantity can be shortened and the position estimation of the feature point can be speeded up.
  • FIG. 11 is a diagram for explaining processing of the target detection unit 11.
  • the target detection unit 11 may perform identification processing on each stage image of the pyramid image with one dictionary as shown in the left part of FIG.
  • a pyramid dictionary composed of a plurality of dictionaries having different sizes may be prepared, and a rough pyramid image obtained by thinning out the left pyramid image in FIG.
  • the regression matrix used for the regression calculation is divided into matrixes, so that the memory consumption and the calculation amount can be reduced, and the feature points in the image This is useful as a feature point estimation device or the like for estimating the position.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)

Abstract

特徴点位置推定装置を提供する。特徴点位置推定装置は、対象画像から対象領域を検出する対象検出部(11)と、対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部(12)と、配置された特徴点の特徴量を取得する特徴量取得部(13)と、特徴量について回帰計算をすることで、特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部(14)と、ずれ量に基づいて特徴点を再配置する再配置部(16)と、を備える。回帰計算部は、行列分解された回帰行列で、特徴量を変換することで、ずれ量を算出する。

Description

特徴点位置推定装置、特徴点位置推定システム、特徴点位置推定方法、および特徴点位置推定プログラム 関連出願の相互参照
 本出願は、2016年6月2日に出願された日本特許出願番号2016-110736号に基づくもので、その開示をここに参照により援用する。
 本開示は、画像における特徴点の位置を推定する特徴点推定装置、特徴点推定システム、特徴点推定方法、および特徴点推定プログラムに関する。
 従来より、画像における特徴点の位置を推定する特徴点位置推定技術として、SDM(Supervised Descent Method)と呼ばれる手法が知られている。
 SDMによる特徴点位置の推定を行うことで、顔画像において顔の器官点を特徴点としてそれらの位置を推定したり(例えば非特許文献1)、人物画像において人物の各関節点を特徴点としてそれらの位置を推定したり、車載カメラ画像において道路左右の白線を特徴点としてそれらの位置を推定したりすることができる。そして、例えば、顔画像において顔の器官点位置を推定することで、運転中のドライバーの脇見や異常状態を推定し、適切な警告を与えることができる。
 図12~図19は、従来のSDMによって顔の器官点位置の推定の手順を説明する図である。SDMは、「特徴抽出」と「線形回帰」の2段階からなるアルゴリズムである。
 (ステップ1:顔領域検出)
 まず、図12に示すように、任意の顔検出手法により顔画像から矩形の顔領域を検出する。この顔領域検出には任意の手法を用いることができ、例えばViola-Jonesによる手法やSPADEによる方法(Scalar Product Accelerator by Integer Decomposition for Object Detection, Mitsuru Ambai and Ikuro Sato, ECCV2014)を用いることができる。
 (ステップ2:平均器官点の配置)
 次に、検出された顔領域に対して、図13に示すように、初期位置として平均器官点位置に平均器官点を配置する。平均器官点位置は、多数の顔画像について、人が器官点(例えば、目頭、鼻の頂部、口元等)の正解データを与え、それらの平均をとることによってあらかじめ求められている。ここで、平均器官点はL個用意されているものとする。
 (ステップ3:特徴量抽出)
 次に、図14に示すように、配置したL個の顔器官点の周辺から、それぞれD次元の特徴量を抽出する。ここで、特徴量は何でもよく、たとえばHOG(Histogramsof Oriented Gradients)特徴量を用いることができる。そして、図14に示すように、すべての器官点の特徴量を統合したLD次元の特徴ベクトルxを生成する。
 (ステップ4:回帰による差分ベクトルの算出)
 次に、図15に示すように、特徴ベクトルxを回帰行列Wで変換することにより、差分ベクトルyを求める。回帰行列Wは、特徴ベクトルxを入力とし、平均器官点に対する真の器官点位置のずれ量を示す差分ベクトルyを出力とし、特徴ベクトルxを差分ベクトルyに変換する変換行列であり、多数の顔画像について、線形回帰の技術を用いた機械学習を行うことによって求めることができる。なお、差分ベクトルyは器官点の数Lに各器官点の座標値の数(2)を掛けた2L次元となり、回帰行列Wは、2L行LD列の行列として求められる。
 (ステップ5:器官点の再配置)
 次に、図16に示すように、ステップ2で用いた平均器官点の位置をステップ4で求められた差分ベクトルyで補正することにより、器官点を再配置する。
 この再配置された器官点について、再度ステップ3を実行して特徴量を抽出することで図17に示すように特徴ベクトルxが得られ、ステップ4を実行して特徴ベクトルxを回帰行列Wで変換することで図18に示すように差分ベクトルyが得られ、ステップ5を実行して器官点を再配置することで図19に示すように再々配置された器官点が得られる。このように、特徴量の抽出と回帰による再配置(ステップ3~ステップ5)を4~5回ほど繰り返すことにより、正確に配置された器官点を得ることができる。
 以上のように、顔画像に対してSDMの手法を用いることにより、図20に示すように、顔画像から顔の特徴点である複数の器官点の位置の情報(座標)を得ることができる。
Supervised Descent Method and its Applications to Face Alignment, Xuehan Xiong, Fernando De la Torre (CVPR2013)
 しかしながら、上記の従来のSDMでは、メモリの消費量が大きいという問題があった。すなわち、器官点の数をLとし、特徴量の次元数をDとすると、回帰行列Wiは、2L行LD列となり、回帰行列Wiの各要素の浮動小数点のバイト数をBバイトとすると、2L×LD×Bバイトのメモリを消費することになる。そして、この容量のメモリを器官点推定の反復処理回数分だけ消費することになる。
 例えば、器官点の数が194、特徴量が288次元、回帰行列の要素が倍精度実数(8バイト)の場合は、1つの回帰行列について消費するメモリは、194×2×194×288×8=約173Mバイトとなり、反復処理回数を4回とすると、約694Mバイトのメモリを消費することになる。
 従来のSDMによる顔認識では、さらに、速度が遅いという問題があった。特に、差分ベクトルyiを求めるために特徴ベクトルxiと回帰行列Wiとの内積演算を行う処理(ステップ4)の負荷が大きく(演算量のオーダーは、2L×LD)、この処理を反復回数分だけ行わなければならないので時間がかかることになる。
 本開示の目的の一つは、上記の問題点に鑑みて、特徴量取得と回帰計算とを繰り返す特徴点位置推定処理において、メモリ消費量及び演算量を抑えることが可能な特徴点位置推定装置等を提供することにある。
 本開示の一側面の特徴点位置推定装置は、対象画像から対象領域を検出する対象検出部と、前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部と、配置された前記特徴点の特徴量を取得する特徴量取得部と、前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部と、前記ずれ量に基づいて前記特徴点を再配置する再配置部とを備え、前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する。
 前記回帰行列は、実数行列である基底行列と、実数行列である係数行列とに分解されていてよく、具体的には、前記回帰行列は、特異値分解により前記基底行列及び前記係数行列に分解されてよい。
 前記回帰行列は、整数行列である基底行列と、実数行列である係数行列とに分解されていてよい。ここで、前記基底行列は、二値行列又は三値行列であってよい。また、前記回帰行列は、各列ベクトルが個別に分解されていてよく、あるいは、まとめて一括で行列分解されていてよい。
 前記特徴点位置推定装置は、連続する複数のフレームの対象画像について、特徴点の位置推定してよく、前記特徴点配置部は、前フレームで前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返す過程で再配置された特徴点の位置を、現フレームのあらかじめ用意された前記初期特徴点位置として、特徴点を配置してよい。この構成により、回帰の回数を減らせるため、収束までの演算量を削減できる。
 前記特徴点位置推定装置は、前記再配置部にて再配置された特徴点の特徴量を線形変換することで、当該特徴点のスコアを求める評価部をさらに備えていてよい。この構成により、スコアを評価することで、特徴点の位置の推定が失敗したか否かを判定できる。
 前記評価部は、前記再配置部にて再配置された複数の特徴点をグループ化して、各グループについて前記スコアを求めてよい。各特徴点にスコアをつける場合と比較して、グループ化したスコアで推定した部位の信頼性を判定できるので、ロバストな信頼度推定ができる。
 前記回帰計算部は、複数の前記特徴点のうちの優先度の高い一部の特徴点のみについて前記回帰計算を行い、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返しながら、前記優先度に従って前記回帰計算を行う特徴点の数を増加させていき、すべての前記特徴点について前記回帰計算を行ってよい。この構成により、回帰計算の量、回数を削減でき、計算コストを低減できる。
 前記対象検出部は、前記対象画像の複数のブロックからそれぞれ特徴量を抽出して識別処理をすることで前記対象領域を検出してよく、前記特徴量取得部は、前記対象検出部で抽出された特徴量を前記特徴点の特徴量として取得してよい。このとき、前記特徴量取得部は、前記特徴点が属する前記ブロックの特徴量を当該特徴点の特徴量として取得してよい。
 本開示の一側面の特徴点位置推定システムは、対象画像から対象領域を検出する対象検出部と、前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部と、配置された前記特徴点の特徴量を取得する特徴量取得部と、前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部と、前記ずれ量に基づいて前記特徴点を再配置する再配置部とを備え、前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する。
 本開示の一側面の特徴点位置推定プログラムは、コンピュータにて実行されることで、前記コンピュータを、対象画像から対象領域を検出する対象検出部、前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部、配置された前記特徴点の特徴量を取得する特徴量取得部、前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部、及び前記ずれ量に基づいて前記特徴点を再配置する再配置部として機能させる特徴点位置推定プログラムであって、前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する。
 本開示の一側面の特徴点位置推定方法は、対象画像から対象領域を検出する対象検出ステップと、前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置ステップと、配置された前記特徴点の特徴量を取得する特徴量取得ステップと、前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算ステップと、前記ずれ量に基づいて前記特徴点を再配置する再配置ステップとを備え、前記特徴量取得ステップは、前記特徴点配置ステップにて配置された特徴点、及び前記再配置ステップにて再配置された特徴点の特徴量を取得し、前記回帰計算ステップは、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、前記再配置ステップは、前記特徴量取得ステップによる特徴量の取得、前記回帰計算ステップによるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する。
 上記特徴点位置推定装置等は、特徴量取得と回帰計算とを繰り返す特徴点位置推定処理において、回帰計算に用いる回帰行列が行列分割されているので、メモリ消費量及び演算量を低減できる。
 本開示についての上記および他の目的、特徴や利点は、添付図面を参照した下記の詳細な説明から、より明確になる。図面において、
図1は、実施形態における特徴点位置推定装置の構成を示すブロック図である。 図2は、実施形態における回帰行列Wの行列分解を説明する図である。 図3は、第1の実施の形態における回帰行列Wを基底数kの基底行列Mと係数行列Cに分解する処理を説明する図である。 図4は、第2の実施の形態における回帰行列Wを基底数kの基底行列Mと係数行列Cに分解する処理を説明する図である。 図5は、第2の実施の形態における分割手法において実施され得るアルゴリズムのフロー図である。 図6は、第3の実施の形態における回帰行列Wの分解を説明する図である。 図7は、第6の実施の形態における回帰計算に利用する特徴点を説明する図である。 図8は、第6の実施の形態における反復1回目の回帰計算を示す図である。 図9は、第6の実施の形態における反復2回目の回帰計算を示す図である。 図10は、第6の実施の形態における反復3回目の回帰計算を示す図である。 図11は、第7の実施の形態における対象検出部の処理(単独辞書)を説明するとともに、第7の実施の形態における対象検出部の処理(複数辞書)を説明する図である。 図12は、従来のSDMにおける顔領域検出を説明する図である。 図13は、従来のSDMにおける平均器官点の配置を説明する図である。 図14は、従来のSDMにおける特徴量抽出を説明する図である。 図15は、従来のSDMにおける回帰による差分ベクトルの算出を説明する図である。 図16は、従来のDMにおける器官点の再配置を説明する図である。 図17は、従来のSDMにおける特徴量抽出を説明する図である。 図18は、従来のSDMにおける回帰による差分ベクトルの算出を説明する図である。 図19は、従来のDMにおける器官点の再配置を説明する図である。 図20は、従来のSDMによって得られる複数の器官点を示す図である。
 以下、図面を参照して実施の形態を説明する。なお、以下に説明する実施の形態は、一例を示すものであって、実施形態を以下に説明する具体的構成に限定するものではない。本開示の技術的思想を具現化するにあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
 図1は、実施の形態の特徴点位置推定装置1の構成を示すブロック図である。図1に示すように、特徴点位置推定装置1は、対象検出部11と、特徴点配置部12と、特徴量取得部13と、回帰計算部14と、行列記憶部15と、再配置部16とを備えている。特徴点位置推定装置1は、CPU、ROM、RAM、補助記憶装置、入出力インタフェース等を備えたコンピュータが特徴点位置推定プログラムを実行することで実現できる。なお、特徴点位置推定装置1の構成要素が分散して配置され、互いに通信をすることで、特徴点位置推定装置1と同様の機能を有する特徴点位置推定システムが構成されてもよい。
 本実施の形態の特徴点位置推定装置1は、特徴量取得と線形回帰を4回反復する(繰り返す)SDMによって特徴点の位置を推定するが、反復処理回数はこれに限られず、4回より多くても少なくてもよい。
 対象検出部11には、特徴点の位置を推定する対象となる画像(対象画像)が入力される。対象検出部11は、上記の従来のSDMのステップ1と同様にして、対象画像から対象領域を検出する。この対象領域検出には任意の手法を用いることができ、例えば顔を検出する場合には、上記のViola-Jonesによる手法やSPADEによる方法を用いることができる。
 特徴点配置部12は、上記の従来のSDMのステップ2と同様にして、対象検出部11にて検出された対象領域に対して、初期特徴点位置としてあらかじめ用意された平均特徴点位置に特徴点を配置する(このように配置された特徴点を「平均特徴点」ともいう。)。平均特徴点位置は、多数の対象画像について、人が特徴点の正解データを与え、それらの平均をとることによってあらかじめ求められている。ここで、平均特徴点はL個用意されているものとする。なお、初期特徴点位置は、必ずしも平均特徴点の位置として求める必要はなく、他の任意の手法によって与えられたものであってもよい。
 特徴量取得部13は、上記の従来のSDMのステップ3と同様にして、対象領域の画像(対象領域画像)に配置されたL個の特徴点について、特徴点の周辺(例えば、特徴点を中心とする32×32のピクセルの小領域)からD次元の特徴量を抽出する。ここで、特徴量は何でもよく、たとえばHOG(Histograms of Oriented Gradients)特徴量を用いることができる。そして、特徴量取得部13は、すべての特徴点の特徴量を統合したLD次元の特徴ベクトルxiを生成する(iはSDMの反復処理回数)。
 具体的には、特徴量取得部13には、対象検出部11で平均特徴点が配置された対象領域画像から特徴量を抽出して特徴ベクトルxを生成し、さらに、再配置部16から特徴点が再配置された対象領域画像が入力された場合には、その都度、上記と同様にして、特徴量を抽出して、特徴ベクトルxiを生成する。
 回帰計算部14は、特徴ベクトルxiを行列分解された回帰行列Wiで変換することにより、差分ベクトルyiを求める。回帰行列Wiは、特徴ベクトルxiを入力とし、平均特徴点に対する真の特徴点の位置のずれ量のベクトルyiを出力とし、特徴ベクトルxiをベクトルyiに変換する変換行列であり、多数の対象画像について、線形回帰の技術を用いた機械学習を行うことによって求めることができる。
 本実施の形態の回帰計算部14は、上記のようにして求めた回帰行列Wiを基底行列Mと係数行列Cに分解して用いる。このために、図1に示すように、回帰計算部14は、基底行列掛算部141と係数行列掛算部142とを備える。基底行列掛算部141は特徴ベクトルxiと基底行列Mとの掛算を行う(積をとる)演算を行う。係数行列掛算部142は、特徴ベクトルxiと基底行列Mとの積Mxiと係数行列Cとの掛算を行う(積をとる)演算を行う。
 このように、本実施の形態の回帰計算部14は、図2に示すように、回帰行列Wiを2つの行列に分解した上で特徴ベクトルxiとの積を計算する。上述のように、SDMでは、対象領域画像における複数の特徴点の位置を推定するものであるが、このように推定される複数の特徴点の中には、互いに近い位置にある特徴点も多く存在する。特徴点の位置が互いに近いと、回帰行列Wiの各列ベクトルwが互いに似ることになる。回帰行列Wiがこのような特性を持っている場合には、それを基底行列と係数行列に分解した場合に、より少ない基底数でよい近似が得られるという性質がある。
 回帰行列が2つの小さな行列に分解されることで、メモリ消費量が減り、また演算量も減る。すなわち、従来、回帰行列(2L行LD列)と特徴ベクトル(LD次元)との積の演算には、(2L×LD)回の演算が必要であったのに対して、図2に示すように回帰行列Wを基底数kの基底行列Mと係数行列Cに分解した場合には、(k×LD+2L×k)回の演算をすればよくなる。例えば、L=194、D=288、倍精度実数(8バイト)の場合は、1つの回帰行列Wにつき約165Mバイトのメモリを消費していたところ、図2のように分解した場合は、約(0.05×k)Mバイトのメモリ消費量で済むことになる。
 行列記憶部15は、回帰行列Wiを分解して得られた基底行列Mと係数行列Cを記憶している。iは反復処理回数であって、本実施の形態では、i=1~4である。なお、回帰行列Wiの分解手法については後述する。
 再配置部16は、i=1の場合は、平均特徴点配置部12で配置された平均特徴点の位置を回帰計算部14で求められた差分ベクトルyで補正することにより、特徴点を再配置する。i≧2の場合には、再配置部16はその時点で求められている特徴点の位置を回帰計算部14で求められた差分ベクトルyiで補正することにより、特徴点を再配置する。
 再配置部16で再配置された特徴点は、反復処理のために特徴量取得部13に出力される。特徴量取得部13が再配置された特徴点から特徴量を抽出することで、特徴ベクトルxが得られ、回帰計算部14が回帰計算をすることで差分ベクトルyが得られ、再配置部16が差分ベクトルyを用いて特徴点を再配置することで、再配置された特徴点が得られる。このように、特徴量の抽出と回帰による再配置(特徴量取得部13、回帰計算部14、及び再配置部16の処理)を繰り返しつつiをインクリメントし、i=4となって予定された反復回数分の処理を終了すると、再配置部16は、そのとき配置されている各特徴点の位置の情報(特徴点座標)を出力する。
 以下、回帰行列Wの分解と回帰計算部14における回帰計算について、いくつかの実施の形態を説明する。回帰行列の分解は、一般的には特徴点位置推定装置1とは別の装置(以下、「行列分解装置」という。)によってあらかじめ実行されて、それによって生成された基底行列M及び係数行列Cが特徴点位置推定装置1の記憶部15に記憶されている。
 (第1の実施の形態)
 図3は、第1の実施の形態によって回帰行列Wを基底数kの基底行列Mと係数行列Cに分解する処理を説明する図である。この例では、行列分解装置は、回帰行列Wを2つの実数行列に分解する。具体的には、行列分解装置は、回帰行列Wを特異値分解によって直行基底の実数の基底行列と実数の係数行列に分解する。
 特徴点の位置が互いに近い場合には、回帰行列Wは低ランクになりやすく、回帰行列Wが低ランクであれば、小さな行列(小さな基底数k)への分解が期待できる。基底数kを小さくすることで、演算量及びメモリ消費量を低減できることは上述したとおりである。
 (第2の実施の形態)
 図4は、第2の実施の形態によって回帰行列Wを基底数kの基底行列Mと係数行列Cに分解する処理を説明する図である。この例では、行列分解装置は、回帰行列Wを整数の基底行列Mと実数の係数行列Cに分解する。具体的には、行列分解装置は、回帰行列Wを二値又は三値の基底行列Mと実数の係数行列Cに分解する。そして、この基底行列Mと係数行列Cを用いる場合には、特徴点位置推定装置1の特徴量取得部13にて特徴点につき抽出する特徴量についても二値とする。
 特徴ベクトルxを整数とすることで、基底行列Mと特徴ベクトルxとの積の演算Mxにおいて浮動小数点演算が発生しないので、回帰計算を高速に行うことができる。特に、基底行列Mが二値の場合は、排他的論理和(XOR)をとって、ビット数をカウントするだけでよく、基底行列Mが三値の場合は、排他的論理和(XOR)と論理積(AND)をとってビット数をカウントするのみでよい。よって、回帰計算を非常に高速に行うことができる。
 以下、本実施の形態の行列分解装置によって二値の基底行列及び実数の係数行列に分解する手法をさらに具体的に説明する。
 (第1の分解手法)
 第1の分解手法として、データ非依存型の分解手法を説明する。第1の分解手法では、行列分解装置は、分解誤差を表す下式のコスト関数gを解くことで分解を行う。
Figure JPOXMLDOC01-appb-M000001
 ただし、基底行列Mは二値であり、M∈{-1,1}DL×kである。
 具体的に、行列分解装置は、以下の手順で上記のコスト関数gを解く。
(1)基底行列M及び係数行列Cをランダムに初期化する。
(2)基底行列Mの要素を固定して、係数行列Cの要素を最小二乗法により最適化することで、コスト関数gが最小になるように係数行列Cの要素を更新する。
(3)係数行列Cの要素を固定して、コスト関数gが最小になるように全探索で基底行列Mの要素を更新する。
(4)収束するまで(2)及び(3)を繰り返す。例えば、コスト関数gが所定の収束条件(例えば、減少量が一定値以下となる)を満たしたときに、収束したと判定する。
(5)ステップ(1)~ステップ(4)により得た解を候補として保持する。
(6)ステップ(1)~ステップ(5)を繰り返し、最もコスト関数gを小さくできた候補基底行列M及び候補係数行列Cを最終結果として採用する。なお、このステップ(1)~ステップ(5)の繰り返しはなくてもよいが、複数回繰り返すことで、初期値依存の問題を回避できる。
 次に、ステップ(3)における基底行列Mの更新処理を説明する。基底行列Mのj行目の行ベクトルの要素は、回帰行列Wのj行目の要素のみに依存する。よって、基底行列Mの各行ベクトルの値は、他の行とは独立して最適化することができるので、基底行列Mは、行ごとに網羅探索(全探索)を行うことができる。基底行列Mのj行目の行ベクトルは、本実施の形態のように二値分解の場合は2通りしか存在しない(なお、三値分解の場合にも3通りしか存在しない)。よって、これらをすべて網羅的にチェックし、コスト関数gを最小化する行ベクトルを採用する。これを基底行列Mのすべての行ベクトルに対して適用して、基底行列Mの要素を更新する。
 (第2の分解手法)
 第2の分解手法として、係数行列Cを疎にするデータ非依存型の分解手法を説明する。第2の分解手法では、行列分解装置は、分解誤差である下式のコスト関数gを解くことで分解を行う。
Figure JPOXMLDOC01-appb-M000002
 ただし、基底行列Mは二値であり、M∈{-1,1}DL×kである。また、|C|は、係数行列Cの要素のL1ノルムであり、λはその係数である。
 行列分解装置は、以下の手順で上記のコスト関数gを解く。
(1)基底行列M及び係数行列Cをランダムに初期化する。
(2)基底行列Mの要素を固定して、係数行列Cの要素を近接勾配法で最適化する。
(3)係数行列Cの要素を固定して、コスト関数gが最小になるように全探索で基底行列Mの要素を更新する。
(4)収束するまで(2)及び(3)を繰り返す。例えば、コスト関数gが所定の収束条件(例えば、減少量が一定値以下となる)を満たしたときに、収束したと判定する。
(5)ステップ(1)~ステップ(4)により得た解を候補として保持する。
(6)ステップ(1)~ステップ(5)を繰り返し、最もコスト関数gを小さくできた候補基底行列M及び候補係数行列Cを最終結果として採用する。なお、このステップ(1)~ステップ(5)の繰り返しはなくてもよいが、複数回繰り返すことで、初期値依存の問題を回避できる。
 第2の分解手法によれば、係数行列Cを疎にすることができる。係数行列Cを疎にすることで、積CMの計算において、係数行列Cのゼロ要素にかかわる部分を省略することができ、さらに高速に内積計算を行うことができる。
 (第3の分解手法)
 次に、第3の分解手法を説明する。第1の分解手法では、コスト関数gとして、分解誤差
Figure JPOXMLDOC01-appb-M000003
を定義し、この分解誤差を最小化することを考えた。 
しかしながら、回帰行列Wを基底行列Mと係数行列Cとの積に近似した後に実際に近似をしたいのは、特徴ベクトルxと回帰行列Wの積Wxである。
 そこで、第3の分解手法では、サンプル特徴ベクトルxをあらかじめS個集め、これをまとめたものをP∈RDL×Sとする。そして、分解誤差を
Figure JPOXMLDOC01-appb-M000004
と定義して、これを最小化する。即ち、第3の分解手法では、行列分解装置は、下式のコスト関数gを解くことで分解を行う。
Figure JPOXMLDOC01-appb-M000005
 このコスト関数gによれば、回帰病列Wは、実際のデータの分布に従って分解されることになるため、分解の際の近似精度が向上する。
 この近似分解は、基底行列Mを構成する基底ベクトルmを逐次的に求めることで行うことができる。第3の分解手法の手順は以下のとおりである。(1)第1又は第2の分解手法によって、基底行列M及び係数行列Cを求めて、これをそれらの初期値とする。(2)基底行列Mの要素を固定して、係数行列Cの要素を最小二乗法で最適化する。(3)係数行列Cの要素を固定して、基底行列Mの要素を最適化することで、基底行列Mの要素を更新する。この基底行列Mの更新処理については後述する。(4)収束するまで(2)及び(3)を繰り返し、コスト関数gを最小化した基底行列M及び係数行列Cを候補として保持する。(5)ステップ(1)~(4)を繰り返し、コスト関数gを最小化した基底行列M及び係数行列Cを最終結果として採用する。なお、ステップ(1)では再度第1又は第2の分解手法による基底行列M及び係数行列Cの最適化が行われるので、初期値が変更される。また、ステップ(5)の繰り返しはなくてもよいが、複数回繰り返すことで、初期値依存の問題を軽減できる。
 次に、ステップ(3)における基底行列Mの更新処理を説明する。データ依存分解の場合、基底行列Mの行ベクトルの値は、もはや他の行と独立せず、依存してしまう。基底行列Mの要素は、二値又は三値、即ち離散値であるため、基底行列Mの最適化は、組合最適化問題となる。よって、基底行列Mの最適化には、例えば、グリーディアルゴリズム(Greedy algorithm)、タブーサーチ(Tabu search)、シミュレイテッドアニーリング(Simulated annealing)等のアルゴリズムを用いることができる。ステップ(1)でよい初期値が得られているので、これらのアルゴリズムでも良好に分解誤差を最小化できる。
 例えばグリーディアルゴリズムを用いる場合は、以下の手順で基底行列Mを最適化する。(3-1)基底行列Mの要素のうち、ランダムにT個を選択する。(3-2)2通りの組み合わせ(後述の三値分解の場合は3通り)を試し、最もコスト関数gを最小化したものを採用する。(3-3)ステップ(3-1)及びステップ(3-2)を収束するまで繰り返す。
 (第4の分解手法)
 第4の分解手法は、第2の分解手法と第3の分解手法とを組み合わせたものである。具体的には、下式のコスト関数gを解くことで分解を行う。
Figure JPOXMLDOC01-appb-M000006
 このコスト関数gによれば、回帰行列Wは、実際のデータの分布に従って分解されることになるため、分解の際の近似精度が向上するとともに、係数行列Cを疎にすることができる。即ち、第2の分解手法のメリットと第3の分解手法のメリットをいずれも得ることができる。具体的な分解の手順は、第3の分解手法と同様である。
 第2の実施の形態の分解では、回帰行列Wをまとめて一括して分解していたので、基底数kが大きくなると分解が困難になる。そこで、本実施の形態では、以下のアルゴリズムで実数行列を逐次的に分解してもよい。
 図5は、本実施の形態の分割手法において実施されるアルゴリズムのフロー図である。なお、以下の説明において、第1又は第2の実施の形態で説明した分解手法で回帰行列Wをk個の基底を持つ基底行列Mと係数行列Cとに分解する手順を下式のように表記することとする。
Figure JPOXMLDOC01-appb-M000007
 まず、行列分解装置は、分解すべき回帰行列Wを取得する(ステップS51)。次に、行列分解装置は、インデクスj(j=1~N)を1とし、残差行列Rに回帰行列Wを代入する(ステップS52)。残差行列Rは、逐次的な分解によってそれまでに分解された基底行列Mと係数行列Cとの内積の和と回帰行列Wとの差である。
 次に、行列分解装置は、残差行列Rを第1又は第2の実施の形態の手法によって、基底行列Mと係数行列Cに分解する(ステップS53)。このとき、基底数はkとする。なお、基底数k=k、k、・・・、kは、あらかじめ行列分解装置に記憶されている。Mが得られると、行列分解装置は、もとの残差行列RとMとの差分を新たな残差行列Rとし(ステップS54)、インデクスjをインクリメントし(ステップS55)、インデクスjがNより大きいか、即ち、N段階の逐次的な分解が終了したかを判断する(ステップS56)。
 インデクスjがN以下である場合には(ステップS56にてNO)、行列分解装置は、ステップS53に戻って、ステップS54で得られた新たな残差行列Rに対して、ステップS55でインクリメントされた新たなjで再度分解を行う。以上の処理を繰り返して、インデクスjがNより大きくなったら(ステップS56でYES)、処理を終了する。なお、上記のように、N段の基底数k=k、k、・・・、kは、あらかじめ用意されており、それらは同じ数であっても互いに異なる数であってもよい。また、基底数kは例えば8程度であればよい。
 本実施の形態によれば、分解の基底数kを増やせば増やすほど、もとの精度に近づけることができる。
 (第3の実施の形態)
 図6は、第3の実施の形態における回帰行列の分解を説明する図である。本実施の形態では、図6に示すように、回帰行列Wのj列目のベクトルを個別に分解して、それらをまとめる。このようにベクトルごとに分解することで、分解にかかる計算コストを抑えることができる。個々のベクトルは、第2の実施の形態で述べた手続きよって分解すればよい。
 以下の説明では、回帰行列Wのj列目の列ベクトルをwと表記し、係数行列Cのj列目の列ベクトルをcと表記する。本実施の形態では、複数の実数ベクトルwを並べてなる回帰行列Wを、複数の基底行列Mと、複数の係数ベクトルcを図6に示すように斜めに並べてなる行列との積の和に分解したものとみなせる。なお、図6において行列のハッチング部分には0が入る。
 (第4の実施の形態)
 本実施の形態は、特徴点位置を推定する対象である対象画像が連続する複数のフレームとして得られる場合に適用される。本実施の形態の特徴点抽出部13は、前フレームで特徴量抽出と回帰計算を反復する過程の中間ステージにおいて再配置部16で得られた特徴点位置を、現フレームの初期特徴点位置として、特徴量を抽出して回帰計算を開始する。
 本実施の形態は、特に、前フレームと現フレームとで画像の変化が小さい場合に有効に適用でき、本実施の形態によれば、特徴量抽出及び回帰計算の反復回数を減らせるため、収束までの演算量を削減できる。
 (第5の実施の形態)
 本実施の形態の特徴点位置推定装置は、上記の実施の形態の特徴点推定装置の構成に加えて、特徴点位置の推定が成功したか否かを判定するスコア(確からしさ)を算出する評価部(図示は省略)をさらに備えている。いま、特徴量取得部13による特徴量の抽出と回帰計算部14による回帰計算の反復を繰り返し、器官点位置が得られたとする。
 評価部は、得られた特徴点位置から選出したL´個の特徴点から特徴量を抽出し、L´D次元のベクトルx´を得て、これに対し、s=wx´の線形変換を適用してスコアを求める。このとき、(A)特徴点ごとにスコアをつけてもよく(L´=1)、(B)全ての特徴点を1つのグループとみなし、全体に1つのスコアをつけてもよく(L´=L´)、あるいは、(C)顔のパーツ(例えば、目、鼻、口)ごとに特徴点(器官点)をグループ化し、グループごとにスコアをつけてもよい。
 特に、(B)及び(C)の場合には、一点一点にスコアをつけるよりも、グループ化したスコアで推定した部位の信頼性を判定することにより、ロバストな信頼度推定ができる。例えば、人の顔から特徴点としての器官点の位置を推定する場合において、人がマスクを装着している場合には、初期特徴点位置として口がある部分に特徴点が配置されて特徴量の抽出及び回帰計算の反復が行われ、その場合には、一般的にはマスク部分において低い評価が得られることにあなるが、このマスク部分においても、マスクのしわ等で偶然にスコアの高い特徴点が1つ存在してしまうような場合がある。このような場合でも、グループ化したスコア判定であれば、マスク部分のグループについては低いスコアを得ることができ、グループ化したスコアが低ければ、対象となる器官点座標はすべて信頼度が低いとみなすことができる。
 スコア計算ための線形変換における重みwは、例えば線形SVMなどを持ち、ポジティブデータとネガティブデータを用意して、事前に学習しておけばよい。たとえば、学習データの顔にあてはめ済みの特徴点(器官点)から得た特徴量(ポジティブデータ)及び顔でない画像に特徴点(器官点)をランダムにあてはめた特徴量(ネガティブデータ)を線形SVMで学習すればよい。本実施の形態によれば、スコアを評価することで、特徴点位置の推定が失敗したか否かを判定できる。
 (第6の実施の形態)
 本実施の形態では、回帰計算部14は、回帰計算の対象とする特徴点の優先度付けを行い、例えば、最初の回帰計算では優先度上位の特徴量のみを利用し、2回目では優先度中位の特徴量まで利用し、3回目は優先度下位の特徴量まで利用する、といった具合に段階分けする。優先度付けの考え方は、例えば、人の顔から特徴点としての器官点の位置を推定する場合は、顔向き、顔表情、着用物、個人差の影響を受けにくい部位とする。鼻、目頭、目尻、口端、・・・の順に優先度を低くする。
 図7は、本実施の形態の回帰計算に利用する特徴点を説明する図であり、図8は、反復1回目の回帰計算を示す図であり、図9は、反復2回目の回帰計算を示す図であり、図10は、反復3回目の回帰計算を示す図である。図7に示すように、この例では、16点の特徴点が配置されているが、反復1回目には、そのうちの6点(図7の左の写真にてハッチングをした特徴点)のみを利用する。すなわち、回帰計算部14は、反復1回目は、優先度の高い鼻、目頭の特徴点(6点)のみを用いて図8に示すy=W の回帰計算を行う。これによって、すべての点(16点)についてのずれ量が算出され、すべての点について再配置を行うことができる。
 反復2回目は、回帰計算部14は、図9に示すように、更に3点を加えて9点の特徴点についてy=W の回帰計算を行う。このように、入力に9点分の特徴量を入力して、16点分のずれ量を算出し、16点の座標を推定することになる。換言すれば、入力と出力で関わる特徴点数が異なっており、反復が進むにつれ、推定する特徴点を増やしていく。そして、反復3回目には、回帰計算部14は、図10に示すように、すべての16点の特徴点についてy=W の回帰計算を行う。
 このように、本実施の形態によれば、回帰計算の反復において、後半に行くほど推定する特徴点を増やしていくことで、回帰計算の量及び回数を削減でき、計算コストを低減できる。また、反復の初期においては、ロバスト性高く認識できる器官点の特徴のみを用いることで、処理量を削減できる。
 (第7の実施の形態)
 第7の実施の形態の特徴量取得部13は、対象領域から特徴量を抽出する代わりに、対象検出部11で対象領域を検出する際に利用した特徴量をそのまま流用する。この場合に、対象検出部11は、対象画像から二値のHOG特徴量(BinaryHOG)を抽出して識別処理を行うことで、対象画像から対象領域を検出する。
 具体的には、対象検出部11は、対象画像を複数段階の倍率でそれぞれ縮小してなるピラミッド画像を生成し、このピラミッド画像の各段における画像を、8×8ピクセルのサイズのブロックに分割し、各ブロックからHOG特徴量を抽出して、各ブロックに与えられた特徴量を二値ベクトルに変換する。
 識別処理では、対象検出部11は、例えば、各段の画像に、辞書を用いた線形SVMを実行することで、顔領域の検出を行う。そして、対象検出部11は、顔領域が検出された段の画像から、その検出に用いた特徴量を切り出して、特徴量取得部13に出力する。特徴量取得部13は、各特徴点の特徴量を求める際に、対象検出部11から取得した特徴量を利用する。
 なお、上記の実施の形態の特徴量取得部13は、配置(ないし再配置)された各特徴点を基準とするブロック(例えば、各特徴点を中心とする32×32のピクセルの小領域ブロック)を設定してそこから特徴量を抽出するものであったのに対して、本変形例では、対象検出部11が対象領域の検出のために抽出した特徴量を利用するので、この特徴量は、必ずしも配置された特徴点を基準とするブロックから抽出されたものとはならない。
 しかしながら、本実施の形態では、対象検出部11が抽出した各ブロックの特徴量のうち、配置された特徴点が属するブロックの特徴量を、当該特徴点の特徴量とする。このように、本実施の形態では、特徴量の抽出という点では精度が落ちるが、SDMにて十分な反復処理を行うことで十分な精度で特徴点の位置を推定できる。一方で、本実施の形態では、特徴量取得部13が特徴量を計算する必要がないので、特徴量抽出の計算時間を短縮でき、特徴点の位置推定を高速化できる。
 図11は、対象検出部11の処理を説明する図である。対象検出部11は、ピラミッド画像から対象領域を検出するにあたって、図11の左部に示すように、1つの辞書をもってピラミッド画像の各段の画像について識別処理を行ってもよいが、図11の右部に示すように、大きさの異なる複数の辞書からなるピラミッド辞書を用意して、図11の左部のピラミッド画像を間引きした粗いピラミッド画像を生成して識別処理を行ってもよい。
 本開示の技術は、特徴量取得と回帰計算とを繰り返す特徴点位置推定処理において、回帰計算に用いる回帰行列が行列分割されているので、メモリ消費量及び演算量を低減でき、画像における特徴点の位置を推定する特徴点推定装置等として有用である。

Claims (16)

  1.  対象画像から対象領域を検出する対象検出部(11)と、
     前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部(12)と、
     配置された前記特徴点の特徴量を取得する特徴量取得部(13)と、
     前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部(14)と、
     前記ずれ量に基づいて前記特徴点を再配置する再配置部(16)と、
     を備え、
     前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、
     前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、
     前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する、特徴点位置推定装置。
  2.  前記回帰行列は、実数行列である基底行列と、実数行列である係数行列とに分解されている、請求項1に記載の特徴点位置推定装置。
  3.  前記回帰行列は、特異値分解により前記基底行列及び前記係数行列に分解される、請求項2に記載の特徴点位置推定装置。
  4.  前記回帰行列は、整数行列である基底行列と、実数行列である係数行列とに分解されている、請求項1に記載の特徴点位置推定装置。
  5.  前記基底行列は、二値行列又は三値行列である、請求項4に記載の特徴点位置推定装置。
  6.  前記回帰行列は、各列ベクトルが個別に分解されている、請求項4に記載の特徴点位置推定装置。
  7.  前記回帰行列は、まとめて一括で行列分解されている、請求項4に記載の特徴点位置推定装置。
  8.  前記特徴点位置推定装置は、連続する複数のフレームの対象画像について、特徴点の位置推定し、
     前記特徴点配置部は、前フレームで前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返す過程で再配置された特徴点の位置を、現フレームのあらかじめ用意された前記初期特徴点位置として、特徴点を配置する、請求項1ないし7のいずれかに記載の特徴点位置推定装置。
  9.  前記再配置部にて再配置された特徴点の特徴量を線形変換することで、当該特徴点のスコアを求める評価部をさらに備えた、請求項1ないし8のいずれかに記載の特徴点位置推定装置。
  10.  前記評価部は、前記再配置部にて再配置された複数の特徴点をグループ化して、各グループについて前記スコアを求める、請求項9に記載の特徴点位置推定装置。
  11.  前記回帰計算部は、複数の前記特徴点のうちの優先度の高い一部の特徴点のみについて前記回帰計算を行い、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返しながら、前記優先度に従って前記回帰計算を行う特徴点の数を増加させていき、すべての前記特徴点について前記回帰計算を行う、請求項1ないし10のいずれかに記載の特徴点位置推定装置。
  12.  前記対象検出部は、前記対象画像の複数のブロックからそれぞれ特徴量を抽出して識別処理をすることで前記対象領域を検出し、
     前記特徴量取得部は、前記対象検出部で抽出された特徴量を前記特徴点の特徴量として取得する、請求項1ないし11のいずれかに記載の特徴点位置推定装置。
  13.  前記特徴量取得部は、前記特徴点が属する前記ブロックの特徴量を当該特徴点の特徴量として取得する、請求項12に記載の特徴点位置推定装置。
  14.  対象画像から対象領域を検出する対象検出部(11)と、
     前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部(12)と、
     配置された前記特徴点の特徴量を取得する特徴量取得部(13)と、
     前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部(14)と、
     前記ずれ量に基づいて前記特徴点を再配置する再配置部(16)と、
     を備え、
     前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、
     前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、
     前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する、特徴点位置推定システム。
  15.  コンピュータにて実行されることで、前記コンピュータを
     対象画像から対象領域を検出する対象検出部(11)、
     前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置部(12)、
     配置された前記特徴点の特徴量を取得する特徴量取得部(13)、
     前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算部(14)、及び
     前記ずれ量に基づいて前記特徴点を再配置する再配置部(16)、
     として機能させる特徴点位置推定プログラムであって、
     前記特徴量取得部は、前記特徴点配置部にて配置された特徴点、及び前記再配置部にて再配置された特徴点の特徴量を取得し、
     前記回帰計算部は、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、
     前記再配置部は、前記特徴量取得部による特徴量の取得、前記回帰計算部によるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する、特徴点位置推定プログラム。
  16.  対象画像から対象領域を検出する対象検出ステップと、
     前記対象領域に対して、あらかじめ用意された初期特徴点位置に特徴点を配置する特徴点配置ステップと、
     配置された前記特徴点の特徴量を取得する特徴量取得ステップと、
     前記特徴量について回帰計算をすることで、前記特徴点の位置に対する真の特徴点の位置のずれ量を算出する回帰計算ステップと、
     前記ずれ量に基づいて前記特徴点を再配置する再配置ステップと、
     を備え、
     前記特徴量取得ステップは、前記特徴点配置ステップにて配置された特徴点、及び前記再配置ステップにて再配置された特徴点の特徴量を取得し、
     前記回帰計算ステップは、行列分解された回帰行列で、前記特徴量を変換することで、前記ずれ量を算出し、
     前記再配置ステップは、前記特徴量取得ステップによる特徴量の取得、前記回帰計算ステップによるずれ量の算出、および前記特徴点の再配置を複数回繰り返して再配置された特徴点の位置を出力する、特徴点位置推定方法。
PCT/JP2017/018954 2016-06-02 2017-05-22 特徴点位置推定装置、特徴点位置推定システム、特徴点位置推定方法、および特徴点位置推定プログラム WO2017208875A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/305,909 US11163980B2 (en) 2016-06-02 2017-05-22 Feature point estimation device, feature point position estimation method, and computer-readable medium
DE112017002766.7T DE112017002766T5 (de) 2016-06-02 2017-05-22 Merkmalspunktschätzvorrichtung, merkmalspunktpositionsschätzssystem, merkmalspunktpositionsschätzverfahren und merkmalspunktpositionsschätzprogramm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-110736 2016-06-02
JP2016110736A JP6563858B2 (ja) 2016-06-02 2016-06-02 特徴点位置推定装置、特徴点位置推定システム、特徴点位置推定方法、および特徴点位置推定プログラム

Publications (1)

Publication Number Publication Date
WO2017208875A1 true WO2017208875A1 (ja) 2017-12-07

Family

ID=60477447

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/018954 WO2017208875A1 (ja) 2016-06-02 2017-05-22 特徴点位置推定装置、特徴点位置推定システム、特徴点位置推定方法、および特徴点位置推定プログラム

Country Status (4)

Country Link
US (1) US11163980B2 (ja)
JP (1) JP6563858B2 (ja)
DE (1) DE112017002766T5 (ja)
WO (1) WO2017208875A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107924452B (zh) * 2015-06-26 2022-07-19 英特尔公司 用于图像中的脸部对准的组合形状回归
JP7290930B2 (ja) * 2018-09-27 2023-06-14 株式会社アイシン 乗員モデリング装置、乗員モデリング方法および乗員モデリングプログラム
JP2020126573A (ja) * 2019-02-06 2020-08-20 株式会社デンソー 画像処理装置、目検出方法、及び注視方向検出方法
JP2021111097A (ja) * 2020-01-09 2021-08-02 富士通株式会社 ノイズ推定方法、ノイズ推定プログラム及びノイズ推定装置
JP7384081B2 (ja) * 2020-03-18 2023-11-21 株式会社デンソー 情報処理装置、データ分解方法、及びデータ分解プログラム
CN113676999A (zh) * 2021-08-19 2021-11-19 重庆邮电大学 一种基于偏最小二乘回归的位置坐标估计方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016042359A (ja) * 2014-08-18 2016-03-31 株式会社デンソーアイティーラボラトリ 認識装置、実数行列分解方法、認識方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080187213A1 (en) * 2007-02-06 2008-08-07 Microsoft Corporation Fast Landmark Detection Using Regression Methods
JP5756556B1 (ja) 2014-12-03 2015-07-29 株式会社日立パワーソリューションズ ロールプレス設備
US9633250B2 (en) * 2015-09-21 2017-04-25 Mitsubishi Electric Research Laboratories, Inc. Method for estimating locations of facial landmarks in an image of a face using globally aligned regression
US10096132B2 (en) * 2016-01-27 2018-10-09 Samsung Electronics Co., Ltd. Method and apparatus for positioning feature point

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016042359A (ja) * 2014-08-18 2016-03-31 株式会社デンソーアイティーラボラトリ 認識装置、実数行列分解方法、認識方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XUEHAN XIONG ET AL.: "Supervised Descent Method and its Applications to Face Alignment", 2013 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, 2013, pages 532 - 539, XP032492802 *

Also Published As

Publication number Publication date
JP2017215897A (ja) 2017-12-07
DE112017002766T5 (de) 2019-02-21
US20200327368A1 (en) 2020-10-15
US11163980B2 (en) 2021-11-02
JP6563858B2 (ja) 2019-08-21

Similar Documents

Publication Publication Date Title
JP6563858B2 (ja) 特徴点位置推定装置、特徴点位置推定システム、特徴点位置推定方法、および特徴点位置推定プログラム
US11334744B2 (en) Three-dimensional point cloud label learning device, three-dimensional point cloud label estimating device, three-dimensional point cloud label learning method, three-dimensional point cloud label estimating method, and program
CN109716362B (zh) 神经网络装置、车辆控制系统、分解处理装置以及程序
JP7020312B2 (ja) 画像特徴学習装置、画像特徴学習方法、画像特徴抽出装置、画像特徴抽出方法、及びプログラム
JP6393058B2 (ja) 情報処理装置、情報処理方法
US20150293884A1 (en) Method to compute the barycenter of a set of histograms
US9842279B2 (en) Data processing method for learning discriminator, and data processing apparatus therefor
CN112633309A (zh) 基于贝叶斯优化的查询高效的黑盒对抗攻击
JP2020027370A (ja) 最適化装置、シミュレーションシステム及び最適化方法
US20220083843A1 (en) System and method for balancing sparsity in weights for accelerating deep neural networks
CN111223128A (zh) 目标跟踪方法、装置、设备及存储介质
US20200293895A1 (en) Information processing method and apparatus
CN111553296B (zh) 一种基于fpga实现的二值神经网络立体视觉匹配方法
CN116363423A (zh) 面向小样本学习的知识蒸馏方法、装置及存储介质
JP6927410B2 (ja) 画像分類システム、画像分類方法および画像分類プログラム
US20210248293A1 (en) Optimization device and optimization method
US20180218487A1 (en) Model generation apparatus, evaluation apparatus, model generation method, evaluation method, and storage medium
CN112232477A (zh) 图像数据处理方法、装置、设备及介质
CN108205805B (zh) 锥束ct图像间体素稠密对应的自动建立方法
CN114925813A (zh) 目标检测系统的训练方法及装置
US10304181B2 (en) Method, apparatus for attitude estimating, and non-transitory computer-readable storage medium
CN111461130A (zh) 一种高精度图像语义分割算法模型及分割方法
CN113591593B (zh) 基于因果干预的异常天气下目标检测方法、设备及介质
US20230394312A1 (en) Pruning activations and weights of neural networks with programmable thresholds
US20230059976A1 (en) Deep neural network (dnn) accelerator facilitating quantized inference

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17806432

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17806432

Country of ref document: EP

Kind code of ref document: A1