WO2010137157A1 - 画像処理装置、方法、プログラム - Google Patents

画像処理装置、方法、プログラム Download PDF

Info

Publication number
WO2010137157A1
WO2010137157A1 PCT/JP2009/059805 JP2009059805W WO2010137157A1 WO 2010137157 A1 WO2010137157 A1 WO 2010137157A1 JP 2009059805 W JP2009059805 W JP 2009059805W WO 2010137157 A1 WO2010137157 A1 WO 2010137157A1
Authority
WO
WIPO (PCT)
Prior art keywords
change
image
face
angle
calculation unit
Prior art date
Application number
PCT/JP2009/059805
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 PCT/JP2009/059805 priority Critical patent/WO2010137157A1/ja
Priority to JP2011515813A priority patent/JP5159950B2/ja
Publication of WO2010137157A1 publication Critical patent/WO2010137157A1/ja
Priority to US13/232,710 priority patent/US8401253B2/en

Links

Images

Classifications

    • 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/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • 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/40Spoof detection, e.g. liveness detection

Definitions

  • the present invention relates to an image processing apparatus, method, and program.
  • an identity confirmation system for photographing a person's face by using an image pickup device and confirming the identity has been widely spread, and has begun to be used for entrance / exit management and login to a terminal.
  • an identity verification system compared to an identity verification system that performs identity verification by means of a password or a portable card, an image of an authorized user's face is obtained in an unauthorized manner, instead of having a risk of theft.
  • Patent Documents 1 and 2 and Non-Patent Documents 1 to 5 Many methods for detecting such impersonation have been proposed (see Patent Documents 1 and 2 and Non-Patent Documents 1 to 5). Among these methods, a method of investigating the three-dimensional shape of a human face using a moving image input to a passive (non-projecting) monocular imaging device and detecting impersonation by a facial photograph There is. This method has a feature that a device for detecting impersonation does not need to be large and has a wide application range. For example, in the technique of Patent Document 1, face feature points are detected from two captured face images having different face orientations, and the shape formed by the face feature points is planar or three-dimensional. Determine if there is.
  • JP 2007-304801 A Japanese Patent No. 3822483
  • the face feature point is three-dimensional, that is, the captured face image is not a face photograph but a person. There was a risk that it would be judged as a face.
  • the present invention has been made in view of the above, and an object of the present invention is to make a judgment regarding impersonation that is robust against an error in the detection position of a feature point and at high speed.
  • one embodiment of the present invention relates to an image processing device, an acquisition unit that acquires a plurality of images captured in time series, and a change between the plurality of images.
  • a first calculation unit for calculating a first change vector indicating a change in angle representing the posture of the object included in each of the plurality of images, and a second indicating a change in coordinates of the feature points of the object.
  • a second calculation unit for calculating a change vector; a third calculation unit for calculating an angle between vectors formed by the first change vector and the second change vector; and an angle between the vectors determined in advance from a predetermined first threshold.
  • a determination unit that determines that the object included in the image is three-dimensional when it is small.
  • FIG. 1 is a diagram illustrating a configuration of an image processing apparatus according to a first embodiment.
  • the figure for demonstrating the relationship between the image of the face in a different face direction angle, and the coordinate of the face feature point on a face centerline The figure which shows the structure of the image processing apparatus which concerns on 3rd Embodiment.
  • the figure which shows the flowchart showing the procedure of the impersonation detection process The figure which shows the structure of the image processing apparatus which concerns on 4th Embodiment.
  • the image processing apparatus includes a control unit such as a CPU (Central Processing Unit) that controls the entire apparatus, a ROM (Read Only Memory) that stores various data and various programs, a RAM (Random Access Memory), and the like.
  • a main storage unit an auxiliary storage unit such as an HDD (Hard Disk Drive) or a CD (Compact Disk) drive device for storing various data and various programs, and a bus for connecting these, a hardware using a computer
  • a control unit such as a CPU (Central Processing Unit) that controls the entire apparatus, a ROM (Read Only Memory) that stores various data and various programs, a RAM (Random Access Memory), and the like.
  • a main storage unit an auxiliary storage unit such as an HDD (Hard Disk Drive) or a CD (Compact Disk) drive device for storing various data and various programs, and a bus for connecting these, a hardware using a computer
  • HDD Hard Disk Drive
  • CD Compact Disk
  • the image processing apparatus includes an image input unit configured by a CCD image sensor (Charge Coupled Device Image Sensor) that captures an object and inputs the image, and a keyboard, a mouse, and the like that receive user instruction input.
  • An operation input unit and a communication I / F (interface) that controls communication of an external device are connected by wire or wirelessly.
  • the object is a face, a person, an animal, an object, or the like.
  • the position of “point” or “edge” means a specific “pixel”.
  • the “point” means a position (x, y) represented by real values x and y, and does not necessarily represent one specific pixel.
  • the pixel value (or density level) f takes an integer value from “0” to “255” in the case of an 8-bit monochrome image.
  • each RGB is represented as a three-dimensional vector that takes an integer value from “0” to “255”.
  • the feature points of an image are points used for positioning an object in the image, and usually a plurality of feature points are set and used in one image.
  • a point where the pixel value changes abruptly in space is mechanically extracted from the image as a feature point, or a specific point in a small area where a specific pixel value change (texture) is assumed in advance It is set by doing.
  • the former may use a point where the change of the pixel value is maximum, and the latter may use the center point of the pupil when the object is a human face.
  • the mechanically extracted feature points are associated with each other in a one-to-one correspondence between a plurality of images, thereby detecting obstacles, estimating object motion, estimating the number of objects, and object shape. You can make acquisitions.
  • a feature point even if a feature point is not supposed to be mechanically extracted, it can be calculated or set by template matching which feature point the feature point corresponds to in another image. This makes it possible to make effective use.
  • a point that is a specific point in a specific object and a specific pixel value change (texture) is a specific point in a small region that is assumed in advance. It is also useful to only detect feature points in an image. For example, if it is possible to detect a feature point of a person's face (an eye center, a nose vertex, a mouth end point, etc.) as an object from an unknown and newly provided image, the presence and position of that person alone can be detected. , Posture, facial expressions and other information can be obtained and useful.
  • the eyes, nose, mouth, and the like included in the area representing the face in the image may be referred to as face parts.
  • face parts For example, when considering a small area including eyes among faces represented in an image, an eye area including eyelids and pupils can be regarded as a part constituting the face and called a face part.
  • it is a point used for positioning the center point of the pupil, the eyes, the head of the eyes, the left and right nostrils, the right and left nostril midpoints, and the nose apex. It will be called a feature point.
  • a portion that is a component of the entire object is called a part, and a specific point used for positioning in the part is called a feature point.
  • FIG. 1 is a diagram illustrating a configuration of the image processing apparatus 50.
  • the image processing apparatus 50 includes an acquisition unit 51, a feature point detection unit 52, an angle calculation unit 53, a first change vector calculation unit 60, a second change vector calculation unit 61, and an inter-vector angle calculation unit 62. And a determination unit 54.
  • Each of these units can be configured on a main storage unit such as a RAM when the CPU executes an image processing program.
  • the acquisition unit 51 acquires an image in frame units captured in time series by the image input unit.
  • the acquired image is stored in a storage unit (not shown).
  • the acquisition unit 51 acquires each image together with a frame number that can be uniquely identified for the image in units of frames and the time when the image was captured.
  • the feature point detection unit 52 detects face feature points from the image acquired by the acquisition unit 51. Specifically, the feature point detection unit 52 detects a region representing a face (referred to as a face region) in the image acquired by the acquisition unit 51, detects a face feature point in the detected face region, and detects a face in the image.
  • Feature point information that is information such as the presence or absence of the image, the coordinates and size of the face region position, the coordinates of the position of the face feature point, and the certainty of these detection results is output as the detection result.
  • specifying the position on the image is expressed as “detection”.
  • a known technique may be used for detection of the facial feature points. For example, a face area is detected using the methods shown in Non-Patent Documents 1 and 2, and the facial features are detected using the methods shown in Non-Patent Documents 3 and 4 using the detected face area information. Do point detection.
  • the coordinates on the image captured by the image input unit are referred to as image coordinates.
  • the position of the face area and the position of the face feature point are represented by the image coordinates.
  • the angle calculation unit 53 uses the coordinates of the face feature points included in the feature point information output by the feature point detection unit 52 to calculate an angle (referred to as a face orientation angle) that represents the face direction (posture) of the person.
  • a face orientation angle is calculated from the coordinates of the face feature points.
  • the first change vector calculation unit 60 uses the face orientation angle calculated by the angle calculation unit 53 to calculate a change vector indicating a temporal change in the face orientation angle.
  • the second change vector calculation unit 61 uses the coordinates of the face feature points included in the feature point information output from the feature point detection unit 52 to calculate a change vector indicating temporal changes in the coordinates of the face feature points.
  • the inter-vector angle calculation unit 62 calculates an inter-vector angle formed by the change vector calculated by the first change vector calculation unit 60 and the change vector calculated by the second change vector calculation unit 61.
  • the determination unit 54 is not a photograph but a three-dimensional person captured in the image acquired by the acquisition unit 51 And the determination result is output.
  • This determination result is used, for example, in a face recognition application for recognizing which person the face represented in the image is, or a face image processing application for processing a face image.
  • the image processing apparatus 50 analyzes the three-dimensional shape of the face of the person included in the image captured by the image input unit, and the image captured in the image is not a photograph but a three-dimensional person. By determining whether it is a face, a determination regarding impersonation is performed.
  • the pseudo inverse matrix A + of the matrix A of n rows and m columns is defined by the equation (1).
  • A is a square matrix
  • the pseudo inverse matrix is equal to the inverse matrix.
  • the coordinates of n points in the three-dimensional Euclidean space are represented by a matrix X as in equation (2), and the rotation matrix R is represented by equation (3).
  • a superscript T in equation (3) indicates a transposed matrix.
  • Each row constituting R is represented by a vector Ri as shown in Equation (4).
  • the face orientation angle in the f-th frame image is represented by a rotation matrix Rf, the coordinates of the n face feature points in the f-th frame image are Xf, and the coordinate of the 0th frame feature point is X0.
  • Formula (5) There is a relationship of Formula (5).
  • the rotation matrix Rf is obtained by using the pseudo inverse matrix of Xf according to Equation (6), that is, by matrix multiplication. Can do.
  • the calculation according to the equation (6) corresponds to the solution of simultaneous linear equations by the least square method if n is “4” or more.
  • the 2 ⁇ 3 matrix rotation matrix Rf ′ is composed of a row vector R1 and a row vector R2.
  • normalization is performed by Equation (10) so that these norms are “1”, and a row vector R′1 and a row vector R′2 are obtained.
  • the vector direction is corrected by the equations (11) and (12) so that these two are perpendicular to each other, and the row vector R ′′ 1 and the row vector R ′′ 2 are obtained.
  • the obtained two vectors satisfy Expression (13). So far, the top two rows of the complete rotation matrix have been obtained.
  • Equation (14) the rotation matrix R is expressed by Equation (14). If the upper left four components (R11, R12, R21, R22) of the rotation matrix R are used, the quaternion can be calculated using the equations (15) to (22). For ⁇ 2, the ambiguity of the code remains. Finally, by adopting the case where the code of R13 and the code of 2 ( ⁇ 1 ⁇ 3 + ⁇ 0 ⁇ 2) in the first row and the third column of Equation (14) match, the indefiniteness of the code is eliminated, and the quaternion is uniquely obtained. Using the obtained quaternion and equation (14), a complete 3 ⁇ 3 rotation matrix is obtained. A complete 3 ⁇ 3 rotation matrix represents a three-dimensional rotational motion.
  • the rotation matrix can be expressed by a roll ⁇ , pitch ⁇ , and yaw ⁇ that are three-dimensional angle vectors. These relationships are expressed by equation (23), and the range that each angle can take is expressed by equation (24) without losing generality.
  • is calculated by equation (25), and ⁇ is calculated by equations (26) to (28).
  • this is calculated by equation (29) using the atan2 function. That is, in the range of ⁇ expressed by the equation (24), since it is possible to take two values when ⁇ of the equation (28) is obtained by the arctan function, a mechanism for obtaining information on the signs of cos ⁇ and sin ⁇ It is. The same applies to ⁇ , and ⁇ is obtained from the equation (30) using the atan2 function as in the equation (31).
  • FIG. 2 is a diagram showing the face orientation angle and the coordinates of the nostril midpoint as the face feature point in time series.
  • FIG. 2A shows the face orientation angle and the coordinates of the nostril midpoint when a person is imaged.
  • the horizontal axis is the frame number, and is arranged in the order of the imaged times.
  • the vertical axis represents coordinate values.
  • the face direction angle in the horizontal direction is represented by a solid line and a + mark (right direction is positive)
  • the face direction angle in the vertical direction is represented by a broken line and an x mark (upward direction is positive)
  • the x-coordinate of the position of the two nostril midpoints is a dotted line And the asterisk (*)
  • the y coordinate of the position is represented by a fine dotted line and a square.
  • FIG. 2B shows the face orientation angle of the face included in the photograph and the coordinates of the nostril midpoint.
  • the line type is the same as in the upper diagram. From this figure, it can be seen that there is no particular correlation between the four curves, the motion is discontinuous, and the face orientation angle changes almost randomly.
  • FIG. 3 is a diagram illustrating an example of a trajectory of a face orientation angle in an image obtained by capturing a person's face and an image obtained by capturing a photograph including the face.
  • 3A shows a case where a person's face is imaged
  • FIG. 3B shows a case where a photograph including the face is taken.
  • the face orientation angle of a person's face changes smoothly, and the locus of the face orientation angle is within a certain area.
  • the locus of the face orientation angle of the face shown in the photograph is similar to white noise centered around the origin.
  • step S1 the acquisition unit 51 of the image processing apparatus 50 acquires an image captured by the image input unit.
  • step S2 the feature point detection unit 52 detects face feature points from the image acquired in step S1. If no feature point is detected in step S2 (step S3: NO), the process returns to step S1.
  • step S3: NO the feature point detection unit 52 is feature point information which is information indicating coordinates and size indicating the position of the face region and coordinates indicating the position of the face feature point. Is output.
  • step S4 the angle calculation unit 53 calculates a two-dimensional face orientation angle using equations (7) to (34) using the coordinates of the face feature points included in the feature point information.
  • step S4 will be described in more detail with reference to FIG.
  • the image processing apparatus 50 presets the standard three-dimensional coordinates X0 that are the coordinates of the face feature points in the reference posture where the face orientation angle is “0”, calculates the pseudo inverse matrix X0 +, and calculates this, for example, Store it in the main memory.
  • the angle calculation unit 53 substitutes the coordinates of the facial feature points detected in step S2 for the 2 ⁇ n matrix X ′ in equation (7), and calculates the rotation matrix R′f by equation (9). To do.
  • the angle calculation unit 53 sets the two row vectors constituting the rotation matrix R′f to R ′′ 1 and R ′′ 2 using Expressions (10) to (13).
  • step S42 the angle calculation unit 53 calculates the quaternion using the equations (14) to (22). The indeterminacy of the code is resolved by determining with the code of R13.
  • step S43 the angle calculation unit 53 calculates a complete rotation matrix in camera coordinates using the quaternion calculated in step S42 and equation (14), and sets this as the rotation matrix RCf.
  • step S44 the angle calculation unit 53 converts the rotation matrix RCf of the camera coordinates into a rotation matrix RHf at the coordinates expressing the face orientation angle using Expressions (32) to (34).
  • step S45 the angle calculation unit 53 calculates a three-dimensional angle vector ( ⁇ , ⁇ , ⁇ ) using Expressions (23) to (31), and excludes ⁇ corresponding to the angle in the image plane.
  • ( ⁇ , ⁇ ) be a two-dimensional vector of face orientation angles.
  • step S4 the angle calculation unit 53 calculates the face orientation angle.
  • the first change vector calculation unit 60 calculates a change vector indicating a temporal change in the face direction angle using the face direction angle calculated in step S4.
  • the second change vector calculation unit 61 calculates a change vector indicating a temporal change in the coordinates of the face feature points using the coordinates of the face feature points detected in step S3.
  • the inter-vector angle calculator 62 calculates the inter-vector angle formed by the change vector calculated by the first change vector calculator 60 and the change vector calculated by the second change vector calculator 61.
  • the determination unit 54 determines whether the inter-vector angle calculated in step S5 is smaller than a predetermined first threshold. If the inter-vector angle is smaller than the first threshold, the determination unit 54 acquires in step S1.
  • step S7 the determination unit 54 determines whether or not to end the spoofing detection process. If it is determined to end, the process ends. If it is determined not to end, the process returns to step S1.
  • the three-dimensional shape of the person's face shown in the image captured by the image input unit is analyzed, and it is determined whether the image captured in the image is a three-dimensional person's face instead of a photograph. By doing so, a determination regarding impersonation is performed. Since the face orientation angle is calculated from a plurality of feature point coordinates, it is not easily affected by the error of one specific feature point. Among some feature points, there are feature points that are easily detected stably, such as the nostril position. Therefore, the first change vector can be calculated from the face orientation angle that is not easily affected by the error, and the second change vector can be calculated using feature points that are stably detected such as the nostril position.
  • This method is less susceptible to the noise of a certain feature point and can be said to be stable in operation.
  • the determination can be performed by using the feature point coordinates acquired for the face recognition processing, the determination can be performed at a higher speed than the method of newly processing image data for the impersonation determination. In other words, according to such a configuration, it is possible to make a determination regarding impersonation that is robust and fast against noise of feature points detected when analyzing the three-dimensional shape of a human face.
  • FIG. 6 is a diagram showing a configuration of the image processing apparatus 50A according to the present embodiment.
  • the image processing apparatus 50A includes an acquisition unit 51, a feature point detection unit 52, an angle calculation unit 53, a first change vector calculation unit 60, a second change vector calculation unit 61, a vector,
  • an angle information storage unit 55 is included.
  • the angle information storage unit 55 stores the face angle calculated by the angle calculation unit 53 for each frame in association with the frame number in time series.
  • the angle information storage unit 55 is a past processing target frame that is referred to by the determination unit 54 described below with respect to a processing target frame (processing target frame), and a frame (corresponding past frame) that meets a search condition described later. And a frame number of a frame (referred to as an intermediate frame) that is between the time-series processing target frame and the corresponding past frame and meets a specific condition described later.
  • the determination unit 54 refers to the face orientation angle stored for each frame in the angle information storage unit 55, searches for the corresponding past frame, and specifies an intermediate frame.
  • Step S4 the angle calculation unit 53 calculates the face orientation angle with respect to the processing target frame, and then stores this in the angle information storage unit 55 in association with the frame number in time series.
  • the determination unit 54 refers to the face orientation angle associated with the frame number and stored in the angle information storage unit 55, and searches for the corresponding past frame according to the following search condition.
  • the search condition is that the face direction angle calculated in the frame has an angle difference of ⁇ or more with the face direction angle of the processing target frame.
  • the process returns to step S1, and if there is a corresponding past frame, the determination unit 54 stores it in the angle information storage unit 55 in association with the frame number in step S11.
  • the intermediate frame is specified under the following specific conditions with reference to the face orientation angle.
  • the specific condition is that the face orientation angle calculated in the frame among the frames between the time-series processing target frame and the corresponding past frame is the face orientation angle of the processing target frame and the corresponding past frame (the corresponding past frame). ) Is the frame closest to the intermediate angle with the face orientation angle.
  • the determination unit 54 searches the corresponding past frame for the processing target frame, specifies the intermediate frame, and stores these frame numbers in the angle information storage unit 55.
  • FIG. 8 is a diagram conceptually showing the displacement of the face orientation angle and the displacement of the coordinates of the nostril midpoint.
  • the face feature point is the nostril midpoint
  • the face orientation angle in the processing target frame is a0
  • the coordinate of the nostril midpoint is x0
  • the face orientation angle is a2
  • the coordinate of the nostril midpoint is x2.
  • the face orientation angle of the frame in which the face orientation angle closest to the intermediate angle between the face orientation angle in the processing target frame and the face orientation angle in the corresponding past frame is calculated is a1, and the coordinate of the nostril midpoint is x1.
  • step S5 the first change vector calculation unit 60 calculates a change vector indicating a temporal change in the face direction angle using the face direction angle at the face feature point calculated in step S11.
  • the second change vector calculation unit 61 uses the face feature points calculated in step S11 to calculate a change vector indicating a temporal change in the coordinates of the face feature points.
  • the inter-vector angle calculator 62 calculates the inter-vector angle formed by the change vector calculated by the first change vector calculator 60 and the change vector calculated by the second change vector calculator 61. Step S5 and subsequent steps are the same as those in the first embodiment described above.
  • the coordinates in the image coordinates are used as the coordinates of the face feature points, but relative coordinates converted from the image coordinates to other coordinates are used.
  • the coordinates of the midpoint between the eyebrows are (0, 0) and the coordinates of the midpoint of the mouth
  • the coordinate conversion by translation, rotation, and enlargement (total of 4 degrees of freedom) so that becomes (0, 1) the respective relative coordinates after conversion between the midpoint of the eye and the nose apex are obtained.
  • FIG. 10 is a diagram for explaining the relationship between the face image at different face orientation angles and the coordinates of the face feature points on the face center line.
  • reference numeral 11 is a face feature point in an upward face image
  • 12 is a face feature point in a left face image
  • 13 is a face feature point in a right face image.
  • four feature points of eyebrow, mid-eye, nose vertex, and mid-mouth point are synchronized with changes in the face orientation angle. It is shown that the relative coordinates of also change.
  • FIG. 11 is a diagram illustrating a configuration of an image processing device 50B according to the present embodiment.
  • the configuration of the image processing device 50B according to the present embodiment differs from the configuration of the image processing device 50 according to the first embodiment described above in the following points.
  • the image processing device 50B includes an acquisition unit 51, a feature point detection unit 52, an angle calculation unit 53, a first change vector calculation unit 60, a second change vector calculation unit 61, and an intervector angle calculation unit 62.
  • the coordinate conversion unit 56 and the evaluation value calculation unit 63 are further included.
  • the configurations of the acquisition unit 51, the angle calculation unit 53, the first change vector calculation unit 60, and the inter-vector angle calculation unit 62 are the same as those in the first embodiment.
  • the feature point detection unit 52 detects face feature points from the image acquired by the acquisition unit 51 in the same manner as in the first embodiment described above. However, some feature points to be obtained may be obtained by calculation using the coordinates of a plurality of other face feature points. For example, the middle point of the eye can be obtained as the average position of the coordinates of the left and right eye heads, and the space between the eyebrows can be obtained as the middle point of the coordinates of the right and left eyebrows.
  • the coordinate conversion unit 56 uses the coordinates of the face feature points included in the feature point information output by the feature point detection unit 52, so that the coordinates of two specific face feature points are (0, 0) and (0, 1). ), Coordinate conversion is performed by translation, rotation, and enlargement (total of 4 degrees of freedom), the coordinates of the face feature points after conversion are obtained, and the obtained coordinates are output as relative coordinates. For example, as shown in FIG. 9, when using four facial feature points of the eyebrows, mid-eye midpoint, nose apex, and mid-mouth, the coordinates of the inter-brow are (0, 0), and the coordinates of the mid-mouth are (0, 1). Thus, coordinate conversion is performed by translation, rotation, and enlargement (4 degrees of freedom in total), and relative coordinates after conversion between the midpoint of the eye and the apex of the nose are obtained. The movement of the relative position is as described in FIG.
  • the second change vector calculation unit 61 uses the relative coordinates of the face feature points output from the coordinate conversion unit 56 to calculate a change vector indicating temporal changes in the coordinates of the face feature points.
  • the evaluation value calculation unit 63 calculates an evaluation value that takes a larger value as the inter-vector angle calculated by the inter-vector angle calculation unit 62 is smaller.
  • the determination unit 54 is not a photograph but a three-dimensional human face captured in the image acquired by the acquisition unit 51 Is determined, and the determination result is output.
  • the determination unit 54 is not a photograph but a three-dimensional image captured by the image input unit. It is determined that the face is a typical person.
  • Step S2 the feature point detection unit 52 outputs coordinates and size representing the position of the face area and coordinates information representing the position of the face feature point.
  • step S20 the coordinate conversion unit 56 uses the coordinates of the face feature points output in step S2 so that the coordinates of the two specific face feature points become (0, 0) and (0, 1). Then, coordinate conversion is performed by translation, rotation, and enlargement (4 degrees of freedom in total), and the converted relative coordinates of the face feature points are output.
  • step S5 the first change vector calculation unit 60 calculates a change vector indicating a temporal change in the face direction angle using the face direction angle calculated in step S4.
  • the second change vector calculation unit 61 calculates a change vector indicating a temporal change in the coordinates of the face feature points using the relative coordinates of the face feature points output in step S20.
  • the inter-vector angle calculator 62 calculates the inter-vector angle formed by the change vector calculated by the first change vector calculator 60 and the change vector calculated by the second change vector calculator 61.
  • step S21 the evaluation value calculation unit 63 calculates an evaluation value that takes a larger value as the vector angle calculated in step S5 is smaller.
  • step S6 the determination unit 54 determines whether or not the evaluation value calculated in step S21 is larger than a predetermined third threshold. If the evaluation value is larger than a predetermined third threshold, step S1 It is determined that the image captured in the step is a three-dimensional human face, not a photograph, and the determination result is output. Step S7 is the same as that in the first embodiment.
  • the face feature points are converted into relative coordinates, and the relative coordinates change for different face orientation angles. Is large, it is determined that the image captured in the image is not a photograph but a three-dimensional human face. According to such a configuration, the determination can be performed using at least three face feature points.
  • FIG. 13 is a diagram showing a configuration of an image processing device 50C according to the present embodiment.
  • the configuration of the image processing device 50C according to the present embodiment is different from the configuration of the image processing device 50B according to the above-described third embodiment in the following points.
  • the image processing device 50C includes a frame evaluation value calculation unit 57 and a frame information storage unit 58. And a time-series evaluation value calculation unit 63.
  • the configurations of the acquisition unit 51, the feature point detection unit 52, the angle calculation unit 53, and the coordinate conversion unit 56 are the same as those in the third embodiment.
  • the frame information storage unit 58 stores the history of the frame information calculated for each frame in association with the frame number in time series.
  • the frame information includes the feature point information output by the feature point detection unit 52, the face orientation angle calculated by the angle calculation unit 53, the relative coordinates of the face feature points converted by the coordinate conversion unit 56, and a frame evaluation value described later.
  • the feature point information is stored by the feature point detection unit 52, the face orientation angle is stored by the angle calculation unit 53, the relative coordinates of the face feature points are stored by the coordinate conversion unit 56, and the evaluation value is calculated by the frame evaluation value calculation unit 57.
  • the frame information storage unit 58 is a past processing target frame that is referred to when a frame evaluation value calculation unit 57 described below calculates an evaluation value for a processing target frame (processing target frame).
  • the frame number of the frame (corresponding past frame) corresponding to the search condition similar to that in the embodiment and the frame between the time-series processing target frame and the corresponding past frame, and the same specification as in the second embodiment
  • the frame number of the frame (intermediate frame) corresponding to the condition is stored.
  • the frame evaluation value calculation unit 57 calculates an evaluation value for the processing target frame, and the face orientation angle calculated by the angle calculation unit 53 and the face converted by the coordinate conversion unit 56 for the processing target frame.
  • An evaluation value is calculated using the relative coordinates of the feature points, the frame information for the corresponding past frame stored in the frame information storage unit 58, and the frame information for the intermediate frame. Details of the method of calculating the evaluation value will be described later.
  • the frame evaluation value calculation unit 57 stores the evaluation value calculated for the processing target frame in the frame information storage unit 58 in association with the frame number.
  • the time-series evaluation value calculation unit 64 uses the evaluation value calculated for the processing target frame by the frame evaluation value calculation unit 57 and the evaluation values for a plurality of past frames stored in the frame information storage unit 58.
  • a time series evaluation value that is an evaluation value for a time series composed of a plurality of frames is calculated. This is based on the assumption that a plurality of face images are acquired by continuously capturing face images of the same person for a certain period of time while making a gradual change. Whether a person or a photograph is judged.
  • the determination unit 54 is a three-dimensional human face captured in the image acquired by the acquisition unit 51. If the time series evaluation value is equal to or smaller than the fourth threshold value, it is determined that the image captured by the acquisition unit 51 is a photograph, and the determination result and the time series evaluation value are Output.
  • Step S2 the feature point detection unit 52 outputs feature point information that is information on coordinates and size indicating the position of the face region and coordinates indicating the position of the face feature point, and associates this with the frame number.
  • the information is stored in the frame information storage unit 58.
  • step S4 the angle calculation unit 53 calculates the face orientation angle with respect to the processing target frame, and then stores this in the angle information storage unit 55 in association with the frame number in time series.
  • step S30 the frame evaluation value calculation unit 57 refers to the frame information associated with the frame number and stored in the frame information storage unit 58, and searches for the corresponding past frame based on the above search conditions. If there is no such past frame, the process returns to step S1. If there is a relevant past frame, the frame evaluation value calculation unit 57 is associated with the frame number in step S31, and the frame information storage unit. 58, the frame information is referred to, and the intermediate frame is specified by the above-described specific condition. In this manner, the frame evaluation value calculation unit 57 searches the corresponding past frame for the processing target frame, specifies the intermediate frame, and stores these frame numbers in the frame information storage unit 58, respectively.
  • step S32 the coordinate conversion unit 56 outputs the relative coordinates of the face feature point with respect to the processing target frame, and associates it with the frame number in the same manner as in the third embodiment described above. 58 is stored.
  • step S33 the face evaluation angle calculated by the frame evaluation value calculation unit 57 with respect to the processing target frame by the angle calculation unit 53, and the relative coordinates of the face feature points output by the coordinate conversion unit 56 with respect to the processing target frame,
  • the face frame and the relative coordinates of the feature points stored in the frame information storage unit 58 in association with each frame number for each of the past frame and the intermediate frame corresponding to the processing target frame are used as the processing target frame. An evaluation value is calculated for this.
  • the face orientation angle vector of the processing target frame is a0
  • the facial feature points (such as the midpoint of the eyes) of the processing target frame.
  • the relative coordinate vector is x0
  • the face orientation angle vector of the intermediate frame is a1
  • the relative coordinate vector of the face feature point of the intermediate frame is x1
  • the face orientation angle vector of the relevant past frame is a2
  • the face feature of the relevant past frame is a2
  • x2 be the relative coordinate vector of the point.
  • a change vector ui of the face orientation angle is defined by Expression (37), and a change vector vi of the relative coordinates of the face feature points is defined by Expression (38). Furthermore, vectors obtained by normalizing the norms of the face orientation angle change vector ui and the face feature point relative coordinate change vector vi to “1” are u′i and v′i, respectively. (40) In the above definition, the frame evaluation value calculation unit 57 uses the inner product s1 of u′0 and u′1 as an index indicating whether or not the change vector ui of the face orientation angle is changing smoothly in accordance with Equation (41).
  • the frame evaluation value calculation unit 57 calculates the inner product s2 of v′0 and v′1 as an index indicating whether the change vector vi of the face feature points is changing smoothly or not according to Equation 42. Further, the frame evaluation value calculation unit 57 calculates the inner product of the change vector ui of the face orientation angle and the change vector vi of the relative coordinates of the face feature points as an index indicating the three-dimensionality of the object. Two are calculated by s3 and s4. Then, the frame evaluation value calculation unit 57 calculates the inner product of the weight vector w set appropriately in advance and the feature quantity vector s having the inner products s1, s2, s3, and s4 as components by the equation (45).
  • step S1 This is used as the evaluation value of the processing target frame. If the evaluation value calculated by the function represented by the expression (45) using as input a plurality of angles between vectors having different time points or facial feature points is small, the image acquired in step S1 represents a photograph. There is a high possibility.
  • the frame evaluation value calculation unit 57 calculates the evaluation value and stores it in the frame information storage unit 58.
  • the time-series evaluation value calculation unit 64 calculates the frame information storage unit 58 for the evaluation value calculated by the frame evaluation value calculation unit 57 for the processing target frame and each of a plurality of frames other than the processing target frame. Is used to calculate a time series evaluation value that is an evaluation value for the time series of the processing target frame. Then, the determination unit 54 determines whether or not the calculated time-series evaluation value is greater than a predetermined fourth threshold value.
  • Step S7 is the same as that in the first embodiment.
  • the evaluation is calculated by a function that inputs a plurality of angles between vectors having different time points or face feature points. By using the value, it is possible to more accurately determine whether the image captured in the image is a photograph or a three-dimensional human face.
  • the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage.
  • various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined. Further, various modifications as shown below are possible.
  • various programs executed by the image processing apparatuses 50, 50A, 50B, and 50C are stored on a computer connected to a network such as the Internet, and are provided by being downloaded via the network. You may comprise.
  • the program is recorded in a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, a DVD (Digital Versatile Disk) in an installable or executable format file, You may comprise so that it may provide as a computer-readable recording medium which has a program containing the several instruction
  • the determination unit 54 is captured in the image acquired by the acquisition unit 51 using the inter-vector angle. It may be determined that the object is not a photograph but a three-dimensional human face. Specifically, the determination unit 54 calculates the time of the face orientation angle calculated using the relative coordinates of the face feature points output from the coordinate conversion unit 56 and the face orientation angle calculated by the angle calculation unit 53. When the inter-vector angle formed by the change vector indicating the change and the change vector indicating the temporal change in the relative coordinates of the face feature points is smaller than a predetermined fifth threshold, the acquisition unit 51 captures the image. It is determined that the object is not a photograph but a three-dimensional human face, and the determination result is output.

Abstract

 画像処理装置は、時系列で撮像された複数の画像を取得し、前記複数の画像間における変化であって前記複数の画像の各々に含まれる対象物の姿勢を表す角度の変化を示す第1変化ベクトルを計算し、前記対象物の特徴点の座標の変化を示す第2変化ベクトルを計算する。そして、画像処理装置は、第1変化ベクトルと第2変化ベクトルとがなすベクトル間角度を計算し、ベクトル間角度が予め定められた第1閾値より小さい場合に、画像に含まれる対象物が立体的であると判定する。

Description

画像処理装置、方法、プログラム
 本発明は、画像処理装置、方法、プログラムに関する。
 従来より、撮像装置で人物の顔を撮像して、本人確認を行うシステム(本人確認システム)の普及が進んでおり、入退室管理や端末へのログイン等に使われ始めている。このような本人確認システムでは、パスワードや携帯用カードによって本人確認を行う本人確認システムに比べて、盗難の危険性が無い代わりに、正規のユーザの顔写真を不正に入手してこれを撮像装置の前にかざすことにより写真の人物になりすます「なりすまし」の危険性が存在する。このなりすましを自動的に検出して適切に排除することにより、本人確認システム全体のセキュリティ強度を高めることができる。このようななりすましを検出する方法は数多く提案されている(特許文献1~2、非特許文献1~5参照)。それらの方法の中には、受動的(投光したりしない)な単眼の撮像装置に入力された動画像を用いて人物の顔の立体形状を調査して、顔写真によるなりすましを検出する方法がある。この方法は、なりすましを検出するための装置が大掛かりにならずに済み、適用範囲が広いという特長がある。例えば、特許文献1の技術では、撮像した顔の画像であって顔向きの異なる2つの画像に対して顔特徴点を検出し、顔特徴点が形作る形状が平面的であるか3次元的であるかを判定する。
特開2007-304801号公報 特登第3822483号公報
T. Mita, T. Kaneko, and O. Hori. Joint haar-like features for face detection. In Proc. Tenth IEEE International Conference on Computer Vision (ICCV 2005), pp.1619-1626, Beijing, China, October 2005. 三田雄志, 金子敏充, 堀修. 顔検出に適した共起に基づくjoint haar-like 特徴. 電子情報通信学会論文誌, Vol. J89-D-II, No. 8, pp. 1791.1801, August 2006. M. Yuasa, T. Kozakaya, and O. Yamaguchi. An efficient 3d geometrical consistencycriterion for detection of a set of facial feature points. In Proc. IAPR Conf. onMachine Vision Applications (MVA2007), pp. 25.28, Tokyo, Japan, May 2007. 湯浅 真由美、武口 智行、小坂谷 達夫、 山口 修、 「静止画顔認証のための自動顔特徴点検出」 電子情報通信学会技術研究報告, PRMU2006-222, pp.5-10, Feb. 2007. 山田 貢己,中島 朗子,福井 和広、 「因子分解法と部分空間法による顔向き推定」 電子情報通信学会技術研究報告, PRMU2001-194, pp.1-8, Jan. 2002.
 しかしながら、特許文献1の技術では、顔特徴点の検出位置に大きな誤差が含まれてしまった場合にも顔特徴点が立体的である、即ち、撮像された顔の画像が顔写真ではなく人物の顔であると判定してしまう恐れがあった。
 本発明は、上記に鑑みてなされたものであって、特徴点の検出位置の誤差に対して頑健で且つ高速に、なりすましに関する判定を行うことを目的とする。
 上述した課題を解決し、目的を達成するために、本発明の一態様は、画像処理装置に係る、時系列で撮像された複数の画像を取得する取得部と、前記複数の画像間における変化であって前記複数の画像の各々に含まれる対象物の姿勢を表す角度の変化を示す第1変化ベクトルを計算する第1計算部と、前記対象物の特徴点の座標の変化を示す第2変化ベクトルを計算する第2計算部と、前記第1変化ベクトルと前記第2変化ベクトルとがなすベクトル間角度を計算する第3計算部と、前記ベクトル間角度が予め定められた第1閾値より小さい場合に、前記画像に含まれる対象物が立体的であると判定する判定部とを備える。
 本発明によれば、特徴点の検出位置の誤差に対して頑健で且つ高速に、なりすましに関する判定を行うことができる。
第1の実施の形態に係る画像処理装置の構成を示す図。 顔向き角度と鼻孔中点の座標とを時系列で表す図。 顔向き角度の軌跡の一例を表す図。 なりすまし検出処理の手順を表すフローチャートを示す図。 顔向き角度を計算する手順の手順を表すフローチャートを示す図。 第2の実施の形態に係る画像処理装置の構成を示す図。 なりすまし検出処理の手順を表すフローチャートを示す図。 顔向き角度の変位と鼻孔中点の座標の変位とを概念的に示す図。 4つの顔特徴点を示す図。 異なる顔向き角度における顔の画像と顔中心線上の顔特徴点の座標との関係を説明するための図。 第3の実施の形態に係る画像処理装置の構成を示す図。 なりすまし検出処理の手順を表すフローチャートを示す図。 第4の実施の形態に係る画像処理装置の構成を示す図。 なりすまし検出処理の手順を表すフローチャートを示す図。
[第1の実施の形態]
 以下に添付図面を参照して、この発明に係る画像処理装置及び方法の第1の実施の形態を詳細に説明する。まず、画像処理装置のハードウェア構成について説明する。本実施の形態の画像処理装置は、装置全体を制御するCPU(Central Processing Unit)等の制御部と、各種データや各種プログラムを記憶するROM(Read Only Memory)やRAM(Random Access Memory)等の主記憶部と、各種データや各種プログラムを記憶するHDD(Hard Disk Drive)やCD(Compact Disk)ドライブ装置等の補助記憶部と、これらを接続するバスとを備えており、コンピュータを利用したハードウェア構成となっている。また、画像処理装置には、対象物を撮像してその画像を入力するCCDイメージセンサ(Charge Coupled Device Image Sensor)などにより構成される画像入力部と、ユーザの指示入力を受け付けるキーボードやマウス等の操作入力部と、外部装置の通信を制御する通信I/F(interface)とが有線又は無線により各々接続される。
 対象物は、顔,人物,動物,物体などである。また、画像入力部を介して入力される画像は、コンピュータで処理することが可能なデジタル画像である。平面座標を(x,y)、画素値をfとすれば、画像をf(x,y)と表すことができる。デジタル画像では、x,y,fは離散的な値で表される。(x,y)は画像上に配置された標本点であり画素と呼ばれる。例えば,VGAと呼ばれる「640×480」画素の画面解像度に対応した画像の場合は、「x=0,…,639,y=0,…,479」という値をとり得る。画像処理を行わせて、画像の特徴点の位置を求めたり、対応点を求めたり、エッジ抽出を行わせたりする場合に求めたい情報は、どの画素かということである場合がある。このときは「点」や「エッジ」の位置とは特定の「画素」を意味する。しかしながら、更に精密に特徴点、対応点、エッジを求めたいときには、サブピクセル推定と呼ばれる方法により画素間の位置を実数値のx,yで求める場合がある。このときは「点」とは実数値のx,yで表された位置(x,y)のことであり、特定の1つの画素を表すとは限らない。また、画素値(または濃淡レベル)fは、8ビットのモノクロ画像の場合は、「0」から「255」までの整数値をとる。fが24ビットのカラー画像の場合は、RGBそれぞれが「0」から「255」までの整数値をとるような3次元のベクトルとして表される。
 また、画像の特徴点とは、画像中の対象物の位置決めを行うために用いる点のことであり、通常は1つの画像中に複数の特徴点が設定されて利用される。画素値が空間的に急激に変化する点を画像中から機械的に抽出して特徴点としたり、予め特定の画素値の変化(テクスチャ)が想定される小領域中の特定の点を特徴点としたりすることで設定される。例えば、前者では画素値の変化が極大になる点を用いる場合があり、後者では対象物が人物の顔である場合瞳の中心点を用いる場合がある。機械的に抽出された特徴点は、複数の画像間において特徴点の1対1の対応付けがなされることにより、障害物の検出、物体の運動の推定、物体の個数の推定、物体の形状獲得などを行わせたりすることができる。即ち、機械的に抽出された想定されていない特徴点であっても、その特徴点が別の画像においてどの特徴点に対応しているかということをテンプレートマッチングによって計算したり、設定したりすることにより、有効活用することができるようになる。特定の対象物の中の特定の点であり、特定の画素値の変化(テクスチャ)が予め想定される小領域中の特定の点であるような点を特徴点とする場合は、単一の画像中において特徴点を検出することだけでも有用である。例えば,未知で新規に与えられた画像中から、対象物として人物の顔の特徴点(目の中心,鼻の頂点,口の端点など)を検出することができれば、それだけで人物の存在,位置,姿勢,表情などの情報を得ることができて、有用である。
 尚、対象物が人物の顔である場合、画像中の顔を表す領域に含まれる目,鼻,口などを顔部品と呼ぶことがある。例えば、画像に表される顔のうち目を含む小領域を考えたとき、まぶたや瞳などを含む目の領域は顔を構成する部品と捉えて顔部品と呼ぶことができる。これに対して、瞳の中心点,目じり,目頭、左右いずれかの鼻孔、左右の鼻孔中点及び鼻頂点などの位置決めのために利用する点であり顔領域内部又はその近傍の特徴点を顔特徴点と呼ぶことにする。尚、顔以外の対象物の場合も、対象物全体の構成要素である部分を部品と呼び、部品の中の位置決めに用いる特定の点を特徴点と呼ぶことにする。
 次に、上述したハードウェア構成において、画像処理装置のCPUが記憶装置や補助記憶部に記憶された画像処理プログラムを実行することにより実現される各種機能について説明する。図1は、画像処理装置50の構成を示す図である。画像処理装置50は、取得部51と、特徴点検出部52と、角度計算部53と、第1変化ベクトル計算部60と、第2変化ベクトル計算部61と、べクトル間角度計算部62と、判定部54とを有する。これら各部は、CPUが画像処理プログラムを実行したときにRAMなどの主記憶部上で構成されうる。
 取得部51は、画像入力部で時系列で撮像されたフレーム単位の画像を取得する。取得した画像は、不図示の記憶部に格納される。ここでは例えば、取得部51は、フレーム単位の画像に対して一意に識別可能なフレーム番号と撮像された時刻と共に各画像を取得する。特徴点検出部52は、取得部51が取得した画像中から顔特徴点を検出する。具体的には、特徴点検出部52は、取得部51が取得した画像で顔を表す領域(顔領域という)を検出し、検出した顔領域において顔特徴点を検出して、画像中の顔の有無や、顔領域の位置を表す座標及びその大きさや、顔特徴点の位置を表す座標や、これらの検出結果の確信度などの情報である特徴点情報を検出結果として出力する。尚、画像上の位置を特定することを「検出する」と表す。顔特徴点の検出には公知の技術を用いれば良い。例えば、非特許文献1,2に示される方法を用いて、顔領域の検出を行い、検出した顔領域の情報を利用して、非特許文献3,4に示される方法を用いて、顔特徴点の検出を行うようにする。尚、画像入力部で撮像された画像上の座標を画像座標という。この画像座標により顔領域の位置や顔特徴点の位置が表される。
 角度計算部53は、特徴点検出部52が出力した特徴点情報に含まれる顔特徴点の座標を用いて、人物の顔の向き(姿勢)を表す角度(顔向き角度という)を計算する。顔向き角度の計算には公知の技術を用いれば良い。例えば、非特許文献1,5に示される方法を用いて、顔特徴点の座標から顔向き角度を計算する。
 第1変化ベクトル計算部60は、角度計算部53が計算した顔向き角度を用いて、顔向き角度の時間的な変化を示す変化ベクトルを計算する。第2変化ベクトル計算部61は特徴点検出部52が出力した特徴点情報に含まれる顔特徴点の座標を用いて、顔特徴点の座標の時間的な変化を示す変化ベクトルを計算する。ベクトル間角度計算部62は、第1変化ベクトル計算部60が計算した変化ベクトルと第2変化ベクトル計算部61が計算した変化ベクトルとがなすベクトル間角度を計算する。判定部54は、ベクトル間角度計算部62が計算したベクトル間角度が予め定められた第1閾値より小さい場合に、取得部51が取得した画像に撮像されたものが写真ではなく立体的な人物の顔であると判定して、その判定結果を出力する。この判定結果は、例えば、画像に表される顔がいずれの人物の顔であるかを認識する顔認識アプリケーションや、その他、顔の画像を処理する顔画像処理アプリケーションで利用される。
 以上のようにして、画像処理装置50は、画像入力部で撮像された画像に含まれる人物の顔の立体形状を解析して、当該画像に撮像されたものが写真ではなく立体的な人物の顔であるかを判定することにより、なりすましに関する判定を行なう。
 ここで、角度計算部53が顔向き角度を計算する方法の概要について説明する。n行m列の行列Aの擬似逆行列A+は式(1)で定義される。「n≦m」のときは上段の式で計算され,「n≧m」のときは下段の式で計算される。Aが正方行列のときは、擬似逆行列は逆行列に等しい。
Figure JPOXMLDOC01-appb-M000001
 3次元ユークリッド空間中のn個の点の座標を式(2)のように行列Xで表し、回転行列Rを式(3)で表す。式(3)中の上付きのTは転置行列を示す。Rを構成する各行を式(4)のようにベクトルRiで表す。第fフレームの画像における顔向き角度を回転行列Rfで表し、第fフレームの画像におけるn個の顔特徴点の座標をXfとし、基準となる第0フレームの特徴点の座標をX0とすると、式(5)の関係がある。更に、第fフレームの画像における特徴点の座標Xfが得られたときに、回転行列Rfを求めるには、Xfの擬似逆行列を用いて式(6)によって、即ち、行列の掛け算で求めることができる。式(6)による計算は、nが「4」以上ならば最小2乗法による連立線型方程式の解に相当する。
 画像から直接得られる特徴点の座標は2次元の画像における座標であるので、その場合に適用できる式を式(2)~式(6)と同様に記述することができる。2次元上のn個の点の座標を式(7)のように行列X’で表し、回転行列の上2段の部分を式(8)で定義されるR’で表すと、第fフレームの画像における回転行列R’fは、第fフレームのn個の特徴点の2次元の座標X’fと、基準となる第0フレームの特徴点の2次元の座標X0とを用いて、式(9)で表すことができる。
Figure JPOXMLDOC01-appb-M000002
 誤差の含んだ特徴点の座標から計算された2×3行列の回転行列Rf’から顔向き角度を求めるには、「3×3」の完全な形の回転行列を導出し、それから3次元の角度ベクトルを導出し、画像平面内の成分を除外して、2次元の顔向き角度を求める必要がある。
 2×3行列の回転行列Rf’は行ベクトルR1と行ベクトルR2とで構成される。まずこれらのノルムが「1」になるように式(10)によって正規化して、行ベクトルR’1と行ベクトルR’2とを各々求める。次に、これら2つが互いに垂直になるように式(11),(12)によってベクトルの方向を修正して行ベクトルR’’1と行ベクトルR’’2とを各々求める。求まった2つのベクトルは、式(13)を満たす。ここまでで、完全な形の回転行列の上2行が得られた。
Figure JPOXMLDOC01-appb-M000003
 残りの最下行を求めるために、4元数λ0,λ1,λ2,λ3を媒介にした計算を行う。4元数を用いると回転行列Rは式(14)で表される。回転行列Rの成分のうちの左上の4つ(R11,R12,R21,R22)を用いると、式(15)~式(22)を用いて4元数を計算することができるが、λ1,λ2については符号の不定性が残る。最後にR13の符号と式(14)の第1行第3列の2(λ1λ3+λ0λ2)の符号が一致する場合を採用することにより符号の不定性は解消し、一意的に4元数が求まる。求まった4元数と式(14)を用いて完全な形の3×3の回転行列が求まる。完全な形の3×3の回転行列は、3次元回転運動を表す。
Figure JPOXMLDOC01-appb-M000004
 回転行列は3次元の角度ベクトルであるロールφ,ピッチθ,ヨーψで表すことができる。これらの関係は式(23)で表され、各角度の取りえる範囲は一般性を失わずに式(24)で表される。θは式(25)で計算され、φは式(26)~式(28)で計算される。これは、プログラミング言語のCの場合は、atan2関数を用いて式(29)で計算される。即ち、式(24)で表されるφの範囲においては、式(28)のφをarctan関数で求めようとすると2つの値をとり得るため、cosφとsinφの符号の情報を得るための仕組みである。ψに関しても同様であり、式(30)に対して、式(31)のようにatan2関数を用いてψを求める。
Figure JPOXMLDOC01-appb-M000005
 カメラ座標における回転行列RCfを、顔向き角度を表す座標における回転行列RHfに変換するために、式(32)~式(34)を利用する。カメラ座標について、徐剛、辻三郎著「3次元ビジョン」(共立出版、1998)の第2章に基づいて簡単に説明する。「カメラ座標」とは、カメラの光軸をZ軸にとり、Z軸と垂直に残り2つのX軸とY軸を設定した3次元座標である。最も単純なカメラモデルである平行射影を用いた場合は、カメラ座標[X,Y,Z]T とその画像平面上の2次元像の画像座標[x,y]T の間には、[X,Y]T =[x,y]T の関係が成り立つ。ここで,T は転置行列を表す。
Figure JPOXMLDOC01-appb-M000006
 次に、本実施の形態においてなりすましに関する判定の原理の概要を説明する。図2は、顔向き角度と顔特徴点としての鼻孔中点の座標とを時系列で表す図である。図2(a)は、人物を撮像した場合の顔向き角度と鼻孔中点の座標とを表している。横軸はフレーム番号であり、撮像された時刻の順に並んでいる。縦軸は座標の値である。横方向の顔向き角度を実線と+印(右向きが正)で表し、縦方向の顔向き角度を破線と×印(上向きが正)で表し、2つの鼻孔中点の位置のx座標を点線と*印で表し、その位置のy座標を細かい点線と□印とで表している。横方向の顔向き角度(実線)と鼻孔中点の位置のx座標(点線)との動きには相関があり、縦方向の顔向き角度(破線)と鼻孔位置の中点のy座標(細かい点線)の動きには相関があることが分かる。また、4つの曲線はほぼ滑らかに連続的に変化している。一方、図2(b)は、写真に含まれる顔の顔向き角度と鼻孔中点の座標とを表している。線種は上側の図と同様である。この図から、4つの曲線の間には特に相関は無く、動きは不連続的で顔向き角度はほぼランダムに変化していることが分かる。
 図3は、人物の顔を撮像した画像と顔が含まれる写真を撮像した画像とにおける顔向き角度の軌跡の一例を表す図である。図3(a)は人物の顔を撮像した場合のものであり、図3(b)は顔が含まれる写真を撮像した場合のものである。図3(a)に示されるように、人物の顔の顔向き角度は滑らかに変化し、その顔向き角度の軌跡はある領域内に収まる。一方、図3(b)に示されるように、写真に映った顔の顔向き角度の軌跡は、原点付近を中心とする白色ノイズに似たものとなる。
 次に、本実施の形態に係る画像処理装置50が行うなりすまし検出処理の手順について図4を用いて説明する。ステップS1では、画像処理装置50の取得部51が、画像入力部が撮像した画像を取得する。ステップS2では、特徴点検出部52が、ステップS1で取得された画像から顔特徴点を検出する。ステップS2で特徴点が検出されなかった場合(ステップS3:NO)、ステップS1に戻る。ステップS2で顔特徴点が検出された場合(ステップS3:YES)、特徴点検出部52は、顔領域の位置を表す座標及び大きさと顔特徴点の位置を表す座標の情報である特徴点情報を出力する。ステップS4では、角度計算部53が、特徴点情報に含まれる顔特徴点の座標を用いて、式(7)~式(34)を用いて、2次元の顔向き角度を計算する。
 ここで、ステップS4について図5を用いて更に詳しく説明する。尚、画像処理装置50は、顔向き角度が「0」となる基準姿勢における顔特徴点の座標である標準的3次元座標X0を予め設定してその擬似逆行列X0+を計算し、これを例えば主記憶部に記憶しておく。ステップS40では、角度計算部53は、ステップS2で検出された顔特徴点の座標を式(7)の2×n行列X’に代入して、式(9)により回転行列R’fを計算する。ステップS41では、角度計算部53は、式(10)~式(13)を用いて、回転行列R’fを構成する2つの行ベクトルをR’’1とR’’2とにする。ステップS42では、角度計算部53は、式(14)~式(22)を用いて4元数を計算する。符号の不定性はR13の符号で判定して解消する。ステップS43では、角度計算部53は、ステップS42で計算した4元数と式(14)とを用いて、カメラ座標における完全な形の回転行列を計算し、これを回転行列RCfとする。ステップS44では、角度計算部53は、式(32)~式(34)を用いてカメラ座標の回転行列RCfを、顔向き角度を表現する座標における回転行列RHfに変換する。ステップS45では、角度計算部53は、式(23)~式(31)を用いて、3次元の角度ベクトル(φ,θ,ψ)を計算し、画像平面内の角度に相当するφを除外した(θ,ψ)を2次元の顔向き角度のベクトルとする。以上のようにして、ステップS4では角度計算部53は顔向き角度を計算する。
 図4の説明に戻る。ステップS5では、第1変化ベクトル計算部60が、ステップS4で計算された顔向き角度を用いて、顔向き角度の時間的変化を示す変化ベクトルを計算する。第2変化ベクトル計算部61が、ステップS3で検出された顔特徴点の座標を用いて、顔特徴点の座標の時間的変化を示す変化ベクトルを計算する。ベクトル間角度計算部62が、第1変化ベクトル計算部60が計算した変化ベクトルと第2変化ベクトル計算部61が計算した変化ベクトルとがなすベクトル間角度を計算する。ステップS6では、判定部54が、ステップS5で計算されたベクトル間角度が予め定められた第1閾値より小さいか否かを判定し、ベクトル間角度が第1閾値より小さい場合、ステップS1で取得された画像に撮像されたものが写真ではなく立体的な人物の顔であると判定して、その判定結果を出力する。ステップS7では、判定部54が、なりすまし検出処理を終了するか否かを判定し、終了すると判定した場合には処理を終了し、終了しないと判定した場合には、ステップS1に戻る。
 以上のようにして、画像入力部で撮像された画像に映った人物の顔の立体形状を解析して、当該画像に撮像されたものが写真ではなく立体的な人物の顔であるかを判定することにより、なりすましに関する判定を行う。顔向き角度は複数の特徴点座標によって計算するため特定の一つの特徴点の誤差の影響を受けにくい。また、いくつかある特徴点のうち、鼻孔位置のような安定して検出されやすい特徴点が存在する。従って、誤差の影響を受けにくい顔向き角度から第1変化ベクトルを計算し、鼻孔位置などの安定して検出される特徴点を用いて第2変化ベクトルを計算することができるため、本実施形態の手法は、ある1個の特徴点のノイズの影響を受けにくく、動作が安定していると言える。また、顔認識処理のために取得した特徴点座標を活用して判定を行うことができるので、なりすまし判定のために新たに画像データを処理する方法に比べれば高速に判定することができる。即ち、このような構成によれば、人物の顔の立体形状を解析する際に検出する特徴点のノイズに対して頑健で且つ高速に、なりすましに関する判定を行なうことができる。
[第2の実施の形態]
 次に、画像処理装置及び方法の第2の実施の形態について説明する。なお、上述の第1の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
 図6は、本実施の形態に係る画像処理装置50Aの構成を示す図である。本実施の形態では、画像処理装置50Aは、取得部51と、特徴点検出部52と、角度計算部53と、第1変化ベクトル計算部60と、第2変化ベクトル計算部61と、べクトル間角度計算部62と、判定部54とに加え、角度情報記憶部55を有する。
 角度情報記憶部55は、各フレームに対して角度計算部53が計算した顔向き角度を時系列でフレーム番号と対応付けて記憶する。また、角度情報記憶部55は、処理対象のフレーム(処理対象フレーム)に対して以下に説明する判定部54が参照する過去の処理対象フレームであり後述の検索条件に該当するフレーム(該当過去フレームという)のフレーム番号と、時系列上処理対象フレームと該当過去フレームとの間のフレームであり後述の特定条件に該当するフレーム(中間フレームという)のフレーム番号とを記憶する。判定部54は、角度情報記憶部55にフレーム毎に記憶された顔向き角度を参照して、該当過去フレームを検索し、中間フレームを特定する。
 次に、本実施の形態に係る画像処理装置50Aの行うなりすまし検出処理の手順について図7を用いて説明する。ステップS1~S4は上述の第1の実施の形態と同様である。尚、ステップS4では、角度計算部53は、処理対象フレームに対して顔向き角度を計算した後、これを時系列でフレーム番号と対応付けて角度情報記憶部55に記憶させる。ステップS10では、判定部54が、フレーム番号と対応付けられて角度情報記憶部55に記憶された顔向き角度を参照して、以下の検索条件により該当過去フレームを検索する。検索条件とは、フレームにおいて計算された顔向き角度が、処理対象フレームの顔向き角度との角度差がΔθ以上となることである。このような該当過去フレームがなかった場合にはステップS1に戻り、該当過去フレームがあった場合には、ステップS11で、判定部54が、フレーム番号と対応付けられて角度情報記憶部55に記憶された顔向き角度を参照して、以下の特定条件により中間フレームを特定する。特定条件とは、時系列上処理対象フレームと該当過去フレームとの間のフレームのうち、フレームにおいて計算された顔向き角度が、処理対象フレームの顔向き角度と該当の過去のフレーム(該当過去フレーム)の顔向き角度との中間の角度に最も近いフレームである。このようにして、判定部54は、当該処理対象フレームに対する該当過去フレームを検索すると共に中間フレームを特定してこれらのフレーム番号を各々角度情報記憶部55に記憶させる。
 図8は、顔向き角度の変位と鼻孔中点の座標の変位とを概念的に示す図である。顔特徴点を鼻孔中点とし、処理対象フレームにおける顔向き角度をa0、鼻孔中点の座標をx0とすると、当該処理対象フレームから遡って顔向き角度の角度差がΔθ以上になる該当過去フレームの顔向き角度はa2、鼻孔中点の座標はx2となる。処理対象フレームにおける顔向き角度と該当過去フレームにおける顔向き角度との中間の角度に最も近い顔向き角度が計算されたフレームの顔向き角度はa1、鼻孔中点の座標はx1となる。
 図7の説明に戻る。ステップS5では第1変化ベクトル計算部60が、ステップS11で計算された顔特徴点における顔向き角度を用いて、顔向き角度の時間的変化を示す変化ベクトルを計算する。第2変化ベクトル計算部61が、ステップS11で計算された顔特徴点を用いて、顔特徴点の座標の時間的変化を示す変化ベクトルを計算する。ベクトル間角度計算部62が、第1変化ベクトル計算部60が計算した変化ベクトルと第2変化ベクトル計算部61が計算した変化ベクトルとがなすベクトル間角度を計算する。ステップS5以降は上述の第1の実施の形態と同様である。
 以上のような構成によれば、人物の顔の立体形状を解析する際に検出する特徴点のノイズに対してより頑健で且つ高速に、なりすましに関する判定を行なうことができる。
 尚、上述した第1の実施の形態及び第2の実施の形態においては、顔特徴点の座標として、画像座標における座標を用いたが、画像座標から他の座標に変換した相対座標を用いるようにしても良い。例えば、図9に示すように、顔の中心線上にある眉間,目頭中点,鼻頂点,口中点の4つの顔特徴点を用いる場合、眉間の座標が(0,0),口中点の座標が(0,1)となるように、平行移動と回転と拡大(計4自由度)による座標変換を行い、目頭中点と鼻頂点との変換後の相対座標を各々求めることにより、これら4つの特徴点の相対的な位置の動きを効率的に取得することができる。図10は、異なる顔向き角度における顔の画像と顔中心線上の顔特徴点の座標との関係を説明するための図である。図中の参照番号11は上向きの顔画像における顔特徴点、12は左向きの顔画像における顔特徴点、13は右向きの顔画像における顔特徴点を示す。同図では、写真ではなく実際の人物の顔を撮像装置で撮像した画像の場合には、顔向き角度の変化と同期して、眉間、目頭中点,鼻頂点,口中点の4つの特徴点の相対座標も変化することが示されている。即ち、このような性質を利用して、異なる顔向き角度の複数の画像に対して顔特徴点の相対座標の変化が大きい場合、画像入力部で画像に撮像されたものが写真ではなく立体的な人物の顔であるかを判定することができる。
[第3の実施の形態]
 次に、画像処理装置及び方法の第3の実施の形態について説明する。なお、上述の第1の実施の形態又は第2の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
 本実施の形態においては、顔の中心線上にある少なくとも3つの顔特徴点を用い、更に、この顔特徴点の座標として、画像座標から他の座標に変換した相対座標を用いる。図11は、本実施の形態に係る画像処理装置50Bの構成を示す図である。本実施の形態に係る画像処理装置50Bの構成は、上述の第1の実施の形態に係る画像処理装置50の構成とは以下の点で異なる。画像処理装置50Bは、取得部51と、特徴点検出部52と、角度計算部53と、第1変化ベクトル計算部60と、第2変化ベクトル計算部61と、べクトル間角度計算部62と、判定部54とに加え、座標変換部56と、評価値計算部63とを更に有する。取得部51、角度計算部53、第1変化ベクトル計算部60及びべクトル間角度計算部62の構成は第1の実施の形態と同様である。特徴点検出部52は、上述の第1の実施の形態と同様にして、取得部51が取得した画像中から顔特徴点を検出する。但し、求めたい特徴点によっては、他の複数の顔特徴点の座標を用いて計算によって求めることもある。例えば、目頭の中点は、左右の目頭の座標の平均位置として求めたり、眉間は左右の眉内端の座標の中点として求めたりすることができる。
 座標変換部56は、特徴点検出部52が出力した特徴点情報に含まれる顔特徴点の座標を用いて、特定の2個の顔特徴点の座標が(0,0)と(0,1)になるように、平行移動と回転と拡大(計4自由度)による座標変換を行って、変換後の顔特徴点の座標を求め、求めた座標を相対座標として出力する。例えば、図9に示すように、眉間,目頭中点,鼻頂点,口中点の4つの顔特徴点を用いる場合、眉間の座標が(0,0),口中点の座標が(0,1)となるように,平行移動と回転と拡大(計4自由度)による座標変換を行い、目頭中点と鼻頂点との変換後の相対座標を各々求める。相対的な位置の動きについては図10で説明した通りである。
 第2変化ベクトル計算部61は、座標変換部56が出力した顔特徴点の相対座標を用いて、顔特徴点の座標の時間的変化を示す変化ベクトルを計算する。評価値計算部63は、べクトル間角度計算部62が計算したベクトル間角度が小さいほど大きい値をとるような評価値を計算する。判定部54は、評価値計算部63が計算した評価値が予め定められた第3閾値より大きい場合に、取得部51が取得した画像に撮像されたものが写真ではなく立体的な人物の顔であると判定して、その判定結果を出力する。即ち、判定部54は、異なる顔向き角度に対して顔特徴点の相対座標の変化が予め定められた第3閾値より大きい場合に、画像入力部で画像に撮像されたものが写真ではなく立体的な人物の顔であると判定する。
 次に、本実施の形態に係る画像処理装置50Bの行うなりすまし検出処理の手順について図12を用いて説明する。ステップS1,S2,S4は上述の第1の実施の形態と同様である。尚、ステップS2では、特徴点検出部52は、顔領域の位置を表す座標及び大きさと顔特徴点の位置を表す座標の情報を出力する。ステップS20では、座標変換部56が、ステップS2で出力された顔特徴点の座標を用いて、特定の2個の顔特徴点の座標が(0,0)と(0,1)になるように、平行移動と回転と拡大(計4自由度)による座標変換を行い、変換後の顔特徴点の相対座標を出力する。ステップS5では、第1変化ベクトル計算部60が、ステップS4で計算された顔向き角度を用いて、顔向き角度の時間的変化を示す変化ベクトルを計算する。第2変化ベクトル計算部61が、ステップS20で出力された顔特徴点の相対座標を用いて、顔特徴点の座標の時間的変化を示す変化ベクトルを計算する。ベクトル間角度計算部62が、第1変化ベクトル計算部60が計算した変化ベクトルと第2変化ベクトル計算部61が計算した変化ベクトルとがなすベクトル間角度を計算する。ステップS21では、評価値計算部63が、ステップS5で計算されたベクトル間角度が小さいほど大きい値をとるような評価値を計算する。ステップS6では、判定部54が、ステップS21で計算した評価値が予め定められた第3閾値より大きいか否かを判定し、評価値が予め定められた第3閾値より大きい場合に、ステップS1で取得された画像に撮像されたものが写真ではなく立体的な人物の顔であると判定して、その判定結果を出力する。ステップS7は上述の第1の実施の形態と同様である。
 以上のようにして、画像入力部で撮像された画像に映った人物の顔の立体形状を解析する際に、顔特徴点を相対座標に変換し、異なる顔向き角度に対して相対座標の変化が大きい場合に、当該画像に撮像されたものが写真ではなく立体的な人物の顔であると判定する。このような構成によれば、少なくとも3つの顔特徴点を用いてその判別を行うことができる。
[第4の実施の形態]
 次に、画像処理装置及び方法の第4の実施の形態について説明する。なお、上述の第1の実施の形態乃至第3の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
 本実施の形態においては、時刻又は顔特徴点の異なる複数のベクトル間角度を入力とする関数により計算される評価値を用いて、画像入力部で撮像された画像が写真を表すものか立体的な人物の顔を表すものであるかを判定する。図13は、本実施の形態に係る画像処理装置50Cの構成を示す図である。本実施の形態に係る画像処理装置50Cの構成は、上述の第3の実施の形態に係る画像処理装置50Bの構成とは以下の点で異なる。画像処理装置50Cは、取得部51と、特徴点検出部52と、角度計算部53と、判定部54と、座標変換部56とに加え、フレーム評価値計算部57と、フレーム情報記憶部58と、時系列評価値計算部63とを更に有する。取得部51、特徴点検出部52、角度計算部53及び座標変換部56の構成は第3の実施の形態と同様である。
 フレーム情報記憶部58は、各フレームに対して計算されたフレーム情報の履歴を時系列でフレーム番号と対応付けて記憶する。フレーム情報とは、特徴点検出部52が出力した特徴点情報と、角度計算部53が計算した顔向き角度と、座標変換部56が変換した顔特徴点の相対座標と、後述のフレーム評価値計算部57が計算した評価値とである。特徴点情報は特徴点検出部52によって記憶され、顔向き角度は角度計算部53によって記憶され、顔特徴点の相対座標は座標変換部56によって記憶され、評価値はフレーム評価値計算部57によって記憶される。また、フレーム情報記憶部58は、処理対象のフレーム(処理対象フレーム)に対して以下に説明するフレーム評価値計算部57が評価値を計算する際に参照する過去の処理対象フレームであり第2の実施の形態と同様の検索条件に該当するフレーム(該当過去フレーム)のフレーム番号と、時系列上処理対象フレームと該当過去フレームとの間のフレームであり第2の実施の形態と同様の特定条件に該当するフレーム(中間フレーム)のフレーム番号とを記憶する。
 フレーム評価値計算部57は、処理対象フレームに対して評価値を計算するものであり、処理対象フレームに対して、角度計算部53が計算した顔向き角度と、座標変換部56が変換した顔特徴点の相対座標と、フレーム情報記憶部58に記憶された該当過去フレームに対するフレーム情報及び中間フレームに対するフレーム情報とを用いて、評価値を計算する。評価値を計算する方法の詳細については後述する。また、フレーム評価値計算部57は、処理対象フレームに対して計算した評価値をフレーム番号と対応付けてフレーム情報記憶部58に記憶させる。
 時系列評価値計算部64は、フレーム評価値計算部57が処理対象フレームに対して計算した評価値と、フレーム情報記憶部58に記憶された、複数の過去のフレームに対する評価値とを用いて、複数フレームからなる時系列に対する評価値である時系列評価値を計算する。これは同一人物の顔画像がせいぜい緩やかな変化をしながらある一定時間連続して撮影されることで複数の顔画像が取得されていると想定し、これら複数の顔画像からなる一つの時系列に対して人物か写真かを判定するものである。判定部54は、時系列評価値計算部64が計算した時系列評価値が予め定められた第4閾値より大きい場合、取得部51が取得した画像に撮像されたものが立体的な人物の顔であると判定し、時系列評価値が第4閾値以下である場合、取得部51が取得した画像に撮像されたものが写真であると判定して、その判定結果と時系列評価値とを出力する。
 次に、本実施の形態に係る画像処理装置50Cの行うなりすまし検出処理の手順について図14を用いて説明する。ステップS1,S2,S4は上述の第1の実施の形態と同様である。尚、ステップS2では、特徴点検出部52は、顔領域の位置を表す座標及び大きさと顔特徴点の位置を表す座標の情報である特徴点情報を出力してこれをフレーム番号と対応付けてフレーム情報記憶部58に記憶させる。また、ステップS4では、角度計算部53は、処理対象フレームに対して顔向き角度を計算した後、これを時系列でフレーム番号と対応付けて角度情報記憶部55に記憶させる。ステップS30では、フレーム評価値計算部57が、フレーム番号と対応付けられてフレーム情報記憶部58に記憶されたフレーム情報を参照して、上述の検索条件により該当過去フレームを検索する。このような該当過去フレームがなかった場合にはステップS1に戻り、該当過去フレームがあった場合には、ステップS31で、フレーム評価値計算部57が、フレーム番号と対応付けられてフレーム情報記憶部58にフレーム情報を参照して、上述の特定条件により中間フレームを特定する。このようにして、フレーム評価値計算部57は、当該処理対象フレームに対する該当過去フレームを検索すると共に中間フレームを特定してこれらのフレーム番号を各々フレーム情報記憶部58に記憶させる。
 ステップS32では、座標変換部56は、上述の第3の実施の形態と同様にして、処理対象フレームに対する顔特徴点の相対座標を出力し、更にこれをフレーム番号と対応付けてフレーム情報記憶部58に記憶させる。ステップS33では、フレーム評価値計算部57が、角度計算部53が処理対象フレームに対して計算した顔向き角度と、座標変換部56が処理対象フレームに対して出力した顔特徴点の相対座標と、当該処理対象フレームに対する該当過去フレーム及び中間フレームのそれぞれについて各フレーム番号に対応付けられてフレーム情報記憶部58に記憶された顔向き角度及び特徴点の相対座標とを用いて、処理対象フレームに対して評価値を計算する。
 ここでフレーム評価値計算部57が評価値を計算する方法について詳細に説明する。本実施の形態では、図8に関し、式(35),式(36)に示されるように、処理対象フレームの顔向き角度ベクトルをa0,処理対象フレームの顔特徴点(目頭中点など)の相対座標のベクトルをx0,中間フレームの顔向き角度のベクトルをa1,中間フレームの顔特徴点の相対座標のベクトルをx1,該当過去フレームの顔向き角度のベクトルをa2,該当過去フレームの顔特徴点の相対座標のベクトルをx2とする。顔向き角度の変化ベクトルuiを式(37)で定義し、顔特徴点の相対座標の変化ベクトルviを式(38)で定義する。更に、顔向き角度の変化ベクトルuiと顔特徴点の相対座標の変化ベクトルviのノルムを各々「1」に正規化したベクトルをそれぞれu’i,v’iとし、それぞれ式(39),式(40)で定義する。以上のような定義において、フレーム評価値計算部57は、顔向き角度の変化ベクトルuiが滑らかに変化しているかどうかを示す指標としてu’0とu’1との内積s1を式(41)により計算する。また、フレーム評価値計算部57は、顔特徴点の変化ベクトルviが滑らかに変化しているかどうかを示す指標としてv’0とv’1との内積s2を式42により計算する。更に、フレーム評価値計算部57は、対象物の立体性を示す指標として顔向き角度の変化ベクトルuiと顔特徴点の相対座標の変化ベクトルviとの内積を式(43),式(44)により2つ計算しs3,s4とする。そして、フレーム評価値計算部57は、予め適切に設定しておいた重みベクトルwと、内積s1,s2,s3,s4を成分とする特徴量ベクトルsとの内積を式(45)により計算して、これを処理対象フレームの評価値とする。この式(45)に表される、時刻又は顔特徴点の異なる複数のベクトル間角度を入力とする関数により計算される評価値が小さければ、ステップS1で取得された画像は写真を表すものである可能性が高い。
Figure JPOXMLDOC01-appb-M000007
 図14の説明に戻る。以上のようにしてステップS33ではフレーム評価値計算部57は評価値を計算しこれをフレーム情報記憶部58に記憶させる。ステップS34では、時系列評価値計算部64が、フレーム評価値計算部57が処理対象フレームに対して計算した評価値と、処理対象フレーム以外の複数のフレームのそれぞれに対してフレーム情報記憶部58に記憶されている評価値とを用いて、処理対象フレームの時系列に対する評価値である時系列評価値を計算する。そして、判定部54が、計算された時系列評価値が予め定められた第4閾値より大きいか否かを判定し、時系列評価値が第4閾値より大きい場合、ステップS1で取得された画像に撮像されたものが立体的な人物の顔であると判定し、時系列評価値が第4閾値以下である場合、ステップS1で取得された画像に撮像されたものが写真であると判定して、その判定結果と時系列評価値とを出力する。ステップS7は上述の第1の実施の形態と同様である。
 以上のように、画像入力部で撮像された画像に映った人物の顔の立体形状を解析する際に、時刻又は顔特徴点の異なる複数のベクトル間角度を入力とする関数により計算される評価値を用いることにより、画像に撮像されたものが写真であるか立体的な人物の顔であるかをより正確に判定することができる。
 なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に示すような種々の変形が可能である。
 上述した各実施の形態において、画像処理装置50,50A,50B,50Cで実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録し、コンピュータで実行可能な複数の命令を含むプログラムを有するコンピュータ読取り可能な記録媒体として提供するように構成しても良い。
 上述した第3実施の形態又は第4の実施の形態においても、第1の実施の形態と同様に、判定部54は、ベクトル間角度を用いて、取得部51が取得した画像に撮像されたものが写真ではなく立体的な人物の顔であることを判定するようにしても良い。具体的には、判定部54は、座標変換部56が出力した顔特徴点の相対座標と、角度計算部53が計算した顔向き角度とを用いて計算された、顔向き角度の時間的な変化を示す変化ベクトルと、顔特徴点の相対座標の時間的な変化を示す変化ベクトルとがなすベクトル間角度が予め定められた第5閾値より小さい場合、取得部51が取得した画像に撮像されたものが写真ではなく立体的な人物の顔であると判定して、その判定結果を出力する。
 このような構成によっても、最低3個の顔特徴点を用いてなりすましに関する判定を行うことができる。
50,50A,50B,50C 画像処理装置
51 取得部
52 特徴点検出部
53 角度計算部
54 なりすまし判定部
55 角度情報記憶部
56 座標変換部
57 フレーム評価値計算部
58 フレーム情報記憶部

Claims (9)

  1.  時系列で撮像された複数の画像を取得する取得部と、
     前記複数の画像間における変化であって前記複数の画像の各々に含まれる対象物の姿勢を表す角度の変化を示す第1変化ベクトルを計算する第1計算部と、
     前記対象物の特徴点の座標の変化を示す第2変化ベクトルを計算する第2計算部と、
     前記第1変化ベクトルと前記第2変化ベクトルとがなすベクトル間角度を計算する第3計算部と、
     前記ベクトル間角度が予め定められた第1閾値より小さい場合に、前記対象物が立体的であると判定する判定部とを備える
    ことを特徴とする画像処理装置。
  2.  前記対象物は、人物の顔であり、
     前記姿勢を表す角度は、予め設定された、前記特徴点の3次元座標で構成された行列の擬似逆行列と、前記画像上の前記特徴点の座標で構成された行列との乗算により求められる回転行列に基づいて求められる顔向き角度であり、
     前記第1計算部は、前記回転行列の時間的変化である3次元回転運動から、画像平面内の1つの成分を除いた残りの2次元ベクトルである前記第1変化ベクトルを計算し、
     前記第2計算部は、左右いずれかの鼻孔、左右の鼻孔中点及び鼻頂点のうち少なくとも1つである前記特徴点の変化を示す前記第2変化ベクトルを計算する
    ことを特徴とする請求項1に記載の画像処理装置。
  3.  前記顔向き角度と前記特徴点とを記憶するフレーム情報記憶部と、
    前記画像の評価値を計算するフレーム評価値計算部と、
    を更に備え、
     前記フレーム評価値計算部は、処理対象の前記画像に対して計算された前記顔向き角度の変化を示す前記第1変化ベクトルの大きさが予め定められた大きさよりも大きくなる前記顔向き角度を、前記フレーム情報記憶部に記憶された複数の前記顔向き角度から特定するとともに、特定された前記顔向き角度に対応する画像を前記複数の画像から特定し、
     前記第1計算部は、前記処理対象の画像の前記顔向き角度と、前記特定された画像の前記顔向き角度との時間的変化である3次元回転運動から、画像平面内の1つの成分を除いた残りの2次元ベクトルである前記第1変化ベクトルを計算する
    ことを特徴とする請求項2に記載の画像処理装置。
  4.  前記対象物の特徴点の座標を少なくとも3つ検出する検出部と、
     3つの前記特徴点の座標のうち2つの前記特徴点の座標を基準とした残りの1つの前記特徴点の座標の相対座標を計算する第4計算部とを更に備え、
     前記対象物は、人物の顔であり、
     前記姿勢を表す角度は、予め設定された、前記特徴点の3次元座標で構成された行列の擬似逆行列と、前記画像上の前記特徴点の座標で構成された行列との乗算により求められる回転行列に基づいて求められる顔向き角度であり、
     前記判定部は、前記顔向き角度の異なる複数の前記画像における前記特徴点の相対座標の変化が予め定められた第2閾値より大きい場合に、前記画像に含まれる対象物が立体的であると判定する
    ことを特徴とする請求項1に記載の画像処理装置。
  5.  前記検出部は、前記対象物である人物の顔の中心線上にある前記特徴点の座標を少なくとも3つ検出する
    ことを特徴とする請求項4に記載の画像処理装置。
  6.  前記第2計算部は、複数の前記画像間における変化であって前記対象物の特徴点の相対座標の変化を示す第2変化ベクトルを計算する
    ことを特徴とする請求項4又は5に記載の画像処理装置。
  7.  時刻又は前記特徴点の異なる複数の前記ベクトル間角度を入力とする関数を用いて評価値を計算する評価値計算部を更に備え、
     前記判定部は、前記評価値を用いて、前記画像に含まれる対象物が立体的であるか否かを判定する
    ことを特徴とする請求項4乃至6のいずれか一項に記載の画像処理装置。
  8.  取得部と、第1計算部と、第2計算部と、第3計算部と、判定部とを備える画像処理装置で実行される画像処理方法であって、
     前記取得部が、時系列で撮像された複数の画像を取得する取得ステップと、
     前記第1計算部が、前記複数の画像間における変化であって前記複数の画像の各々に含まれる対象物の姿勢を表す角度の変化を示す第1変化ベクトルを計算する第1計算ステップと、
     前記第2計算部が、前記対象物の特徴点の座標の変化を示す第2変化ベクトルを計算する第2計算ステップと、
     前記第3計算部が、前記第1変化ベクトルと前記第2変化ベクトルとがなすベクトル間角度を計算する第3計算ステップと、
     前記判定部が、前記ベクトル間角度が予め定められた第1閾値より小さい場合に、前記画像に含まれる対象物が立体的であると判定する判定ステップとを含む
    ことを特徴とする画像処理方法。
  9. コンピュータを、
    時系列で撮像された複数の画像を取得する取得部と、
     前記複数の画像間における変化であって前記複数の画像の各々に含まれる対象物の姿勢を表す角度の変化を示す第1変化ベクトルを計算する第1計算部と、
     前記対象物の特徴点の座標の変化を示す第2変化ベクトルを計算する第2計算部と、
     前記第1変化ベクトルと前記第2変化ベクトルとがなすベクトル間角度を計算する第3計算部と、
     前記ベクトル間角度が予め定められた第1閾値より小さい場合に、前記画像に含まれる対象物が立体的であると判定する判定部として機能させるための画像処理プログラム。
PCT/JP2009/059805 2009-05-28 2009-05-28 画像処理装置、方法、プログラム WO2010137157A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2009/059805 WO2010137157A1 (ja) 2009-05-28 2009-05-28 画像処理装置、方法、プログラム
JP2011515813A JP5159950B2 (ja) 2009-05-28 2009-05-28 画像処理装置、方法、プログラム
US13/232,710 US8401253B2 (en) 2009-05-28 2011-09-14 Distinguishing true 3-d faces from 2-d face pictures in face recognition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/059805 WO2010137157A1 (ja) 2009-05-28 2009-05-28 画像処理装置、方法、プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/232,710 Continuation US8401253B2 (en) 2009-05-28 2011-09-14 Distinguishing true 3-d faces from 2-d face pictures in face recognition

Publications (1)

Publication Number Publication Date
WO2010137157A1 true WO2010137157A1 (ja) 2010-12-02

Family

ID=43222298

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/059805 WO2010137157A1 (ja) 2009-05-28 2009-05-28 画像処理装置、方法、プログラム

Country Status (3)

Country Link
US (1) US8401253B2 (ja)
JP (1) JP5159950B2 (ja)
WO (1) WO2010137157A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102197412B (zh) * 2008-10-28 2014-01-08 日本电气株式会社 伪装检测系统和伪装检测方法
US8675926B2 (en) * 2010-06-08 2014-03-18 Microsoft Corporation Distinguishing live faces from flat surfaces
CN103365063B (zh) * 2012-03-31 2018-05-22 北京三星通信技术研究有限公司 三维图像拍摄方法和设备
US9396382B2 (en) * 2012-08-17 2016-07-19 Flashscan3D, Llc System and method for a biometric image sensor with spoofing detection
FR2997211B1 (fr) 2012-10-18 2021-01-01 Morpho Procede d'authentification d'une capture d'image d'une entite tridimensionnelle
US9202119B2 (en) * 2013-10-18 2015-12-01 Daon Holdings Limited Methods and systems for determining user liveness
IL231789A0 (en) * 2014-03-27 2014-08-31 Fst21 Ltd System and method for detecting fraud attempts of an access control system
DE102014209437B3 (de) * 2014-05-19 2015-10-22 Sirona Dental Systems Gmbh Verfahren zur Erzeugung magnetresonanztomographischer Aufnahmen von zyklischer Bewegung
WO2016013090A1 (ja) * 2014-07-24 2016-01-28 富士通株式会社 顔認証装置、顔認証方法および顔認証プログラム
US9934443B2 (en) * 2015-03-31 2018-04-03 Daon Holdings Limited Methods and systems for detecting head motion during an authentication transaction
JP6507046B2 (ja) 2015-06-26 2019-04-24 株式会社東芝 立体物検知装置及び立体物認証装置
US9996732B2 (en) * 2015-07-20 2018-06-12 International Business Machines Corporation Liveness detector for face verification
CN107924463A (zh) * 2015-08-24 2018-04-17 夫斯特21有限公司 用于运动识别的系统和方法
US9898674B2 (en) 2015-12-10 2018-02-20 International Business Machines Corporation Spoof detection for facial recognition
JP6773493B2 (ja) 2016-09-14 2020-10-21 株式会社東芝 検出装置、検出方法、および検出プログラム
CN107463875A (zh) * 2017-07-03 2017-12-12 金讯系统管理有限公司 一种判断人员身份的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003099763A (ja) * 2001-05-25 2003-04-04 Toshiba Corp 顔画像記録装置、情報管理システム、顔画像記録方法、及び情報管理方法
JP2007304801A (ja) * 2006-05-10 2007-11-22 Nec Corp 立体性認証方法、立体性認証装置および立体性認証プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3279913B2 (ja) 1996-03-18 2002-04-30 株式会社東芝 人物認証装置、特徴点抽出装置及び特徴点抽出方法
DE19810792A1 (de) * 1998-03-12 1999-09-16 Zentrum Fuer Neuroinformatik G Verfahren zum Verifizieren der Authentizität eines im Rahmen einer Personenerkennung aufgenommenen Bildes
DE19847261A1 (de) * 1998-10-05 2000-04-06 Dcs Dialog Communication Syste Verfahren und System zur Personenerkennung mit modellbasierter Gesichtsfindung
DE19901881A1 (de) * 1999-01-19 2000-07-27 Dcs Dialog Communication Syste Verfahren und System zur Fälschungssicherung bei biometrischer Personenerkennung
JP3822483B2 (ja) 2001-10-31 2006-09-20 株式会社東芝 物体向き計算装置及びその方法
JP3888676B2 (ja) 2002-02-25 2007-03-07 株式会社東芝 3次元物体認識装置及びその方法
JP4172793B2 (ja) * 2004-06-08 2008-10-29 株式会社東芝 ジェスチャ検出方法、ジェスチャ検出プログラムおよびジェスチャ検出装置
JP2007094906A (ja) 2005-09-29 2007-04-12 Toshiba Corp 特徴点検出装置および方法
WO2007099834A1 (ja) * 2006-03-01 2007-09-07 Nec Corporation 顔認証装置、顔認証方法およびプログラム
JP4585471B2 (ja) 2006-03-07 2010-11-24 株式会社東芝 特徴点検出装置及びその方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003099763A (ja) * 2001-05-25 2003-04-04 Toshiba Corp 顔画像記録装置、情報管理システム、顔画像記録方法、及び情報管理方法
JP2007304801A (ja) * 2006-05-10 2007-11-22 Nec Corp 立体性認証方法、立体性認証装置および立体性認証プログラム

Also Published As

Publication number Publication date
JP5159950B2 (ja) 2013-03-13
US8401253B2 (en) 2013-03-19
US20120063671A1 (en) 2012-03-15
JPWO2010137157A1 (ja) 2012-11-12

Similar Documents

Publication Publication Date Title
JP5159950B2 (ja) 画像処理装置、方法、プログラム
JP5812599B2 (ja) 情報処理方法及びその装置
JP4093273B2 (ja) 特徴点検出装置、特徴点検出方法および特徴点検出プログラム
US8374422B2 (en) Face expressions identification
JP4653606B2 (ja) 画像認識装置、方法およびプログラム
JP5629803B2 (ja) 画像処理装置、撮像装置、画像処理方法
JP4829141B2 (ja) 視線検出装置及びその方法
TWI394093B (zh) 一種影像合成方法
KR101612605B1 (ko) 얼굴 특징점 추출 방법 및 이를 수행하는 장치
JP6071002B2 (ja) 信頼度取得装置、信頼度取得方法および信頼度取得プログラム
JP5170094B2 (ja) なりすまし検知システム、なりすまし検知方法およびなりすまし検知用プログラム
JP6822482B2 (ja) 視線推定装置、視線推定方法及びプログラム記録媒体
WO2019003973A1 (ja) 顔認証装置、顔認証方法およびプログラム記録媒体
KR20160033553A (ko) 3차원 얼굴모델 투영을 통한 얼굴 인식 방법 및 시스템
Bresan et al. Facespoof buster: a presentation attack detector based on intrinsic image properties and deep learning
JP7268725B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2010231350A (ja) 人物識別装置、そのプログラム、及び、その方法
WO2015181729A1 (en) Method of determining liveness for eye biometric authentication
JP7107380B2 (ja) 推定装置、推定方法、およびプログラム
CN112990047B (zh) 一种结合面部角度信息的多姿态人脸验证方法
JP5791361B2 (ja) パターン識別装置、パターン識別方法およびプログラム
JP6606340B2 (ja) 画像検出装置、画像検出方法およびプログラム
Ashraf et al. View-invariant action recognition using rank constraint
JP5688514B2 (ja) 視線計測システム、方法およびプログラム
WO2019155570A1 (ja) 視線推定装置、視線推定方法、および記録媒体

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: 09845224

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2011515813

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09845224

Country of ref document: EP

Kind code of ref document: A1