• Nenhum resultado encontrado

Acquisition Process

No documento Neslihan Kose (páginas 125-128)

9.3 The Kinect Face Database

9.3.3 Acquisition Process

Microsoft Kinect was primarily designed for multimedia entertainment purposes, where it requires an integration of different sensing/display/processing functionali- ties (for the data source ranging from video/audio to depth) for the targeted ambient intelligence. Since our goal focuses on the building of a face database consisting of RGB-D and 3D face data, in this section, we summarize the imaging procedure of the Kinect, how we can obtain the 3D data, as well as the alignment of RGB and depth images so as to obtain the final output (still RGB-D image, 3D point cloud and video face data) in our database.

9.3.3.1 RGB and Depth Imaging from the Kinect

The Kinect sensor includes 3 main components for RGB-D data capturing: an in- frared (IR) laser emitter, a RGB camera and an IR camera. The RGB camera captures RGB images IRGB directly, whereas the laser emitter and IR camera act together as an active depth sensor to retrieve the distance information from the scene.

Freedman et al. introduced the triangulation process of the Kinect for the depth measurement based on the IR laser emitter and the IR camera in [10]. In the system, a pattern of spots (created by transillumination through a raster) are projected to the world scene by the IR laser emitter and the reflection of such pattern is captured by the IR camera. The captured pattern is then compared with a reference pattern (a pre-captured plane at a known distance) so as to produce a disparity map IDisparity of the spots displacementd. From the obtained disparity mapIDisparity, it is straightforward to deduce a depth map via simple triangulation process. A simplified model to describe such triangulation is suggested in [65]:

zworld1 = ( m

f ×b)×d+ (Z01+ n

f×b) (9.1)

wherezworld is the distance between the Kinect and the real-world location (namely the depth, in the unit of mm); d is the normalized disparity value by normalizing the raw disparity value d between 0 and 2047, thus d=m∗d+nwhere m and n are the de-normalization parameters; b and f are the base length and focal length, respectively; and Z0 is the distance between the Kinect and the pre-defined refer- ence pattern. The calibration parameters including b, f and Z0 are estimated and provided by the device vendor (Microsoft).

With above procedures, the Kinect outputs a RGB image (where IRGB(x, y) = {vR, vG, vB}, andvR,vG,vBrefer to the values of R, G, B channels at image location (x, y)) and a depth map (whereIDepth(x, y) =zworld and zworld indicates the depth value at image location (x, y)) simultaneously, with the resolution of 640×480. On top of the obtained RGB and depth images, the 3D face data and aligned RGB-D face data can be generated with later processes.

9.3.3.2 Converting to 3D Face Data

For the use of 3D face recognition, world 3D coordinates (according to a reference origin) of a given face are required. Thanks to the embodiment of the Kinect, the calculation of 3D points representing the surface of a face is straightforward.

Knowing the depth map IDepth(x, y) = zworld, the 3D coordinates of each point (xworld, yworld, zworld)(in the unit of{mm, mm, mm}) can be calculated from its image coordinates (x, y) as below:

xworld=−zworld

f (x−x0+δx) (9.2)

and

yworld =−zworld

f (y−y0+δy) (9.3)

where x0 and y0 are the principal point of the image coordinates, and δx and δy represent the corrections for lens distortions. Those parameters are easily accessible

from the device outputs.

Based on above projections, the 3D coordinates (a 3D point cloud) of each pre- cropped face depth image are computed and stored as ‘.obj’ files in our database.

Those files can be used for general 3D face recognition purposes and also be used to evaluate the 3D data quality of the Kinect in the context of biometrics in later experiments.

9.3.3.3 Alignment of RGB and Depth for Face Data

For face recognition based on both the RGB and depth images, establishing the correspondences between the RGB values and the depth/3D values at the same location on a face is an essential step. For example, designing a RGB-D descriptor which can summarize features from both the RGB and depth values jointly for each pixel might potentially reveal important facial characteristics. However, due to the intrinsic architecture of the Kinect sensor (where the RGB and depth images are sampled separately from two different cameras with a displacement between them), the RGB image and the depth map captured by the Kinect are not well aligned.

Therefore, we further project the depth value from the IR camera plane to the RGB camera plane. From the depth map, we have already estimated the corresponding 3D coordinate (xworld, yworld, zworld) of each pixel using the method presented in Section 9.3.3.2, then the projection from the 3D coordinates to the 2D RGB camera plane can be achieved by using the traditional Tsai’s camera model [135]. First, the 3D coordinates based on the IR camera is transformed to the 3D coordinate system defined by the RGB camera using affine transformation:

 xworld′ yworld′ zworld

1

=

R T 0 0 0 1

 xworld yworld zworld

1

(9.4)

where R ∈ R3×3 is the rotation matrix and T ∈ R3×1 is the translation vector.

Then the 3D coordinates based on the RGB camera can be mapped to the ideally undistorted RGB camera plane as:

 xRGB

yRGB

1

=fRGB/zworld

 xworld′ yworld′ zworld

 (9.5)

based on the focal length fRGB of the RGB camera. Finally, the true location (xRGB′, yRGB′) of a 3D point in the RGB camera plane is recovered by correcting the distortions and mapping to the RGB image origin:

 xRGB′ yRGB

1

=V D

 xRGB

yRGB

1

 (9.6)

where D ∈ R3×3 and V ∈ R3×3 are estimated to correct the uncertainties due to imperfections in hardware timing and digitisation, as well as the lens distortions.

Some previous works made additional efforts to calibrate the intrinsic and extrinsic parameters of the RGB camera based on an extra RGB camera [21] or the embed- ded IR camera [20]. In our method, we directly adopt the Kinect factory calibration parameters which can also produce satisfactory alignment results. Illustration of the RGB-D alignment is shown in Figure 9.4. In the figure, one can observe the geometrical distortions (in addition to the translation at the image boundary) when re-mapping the depth map to the RGB image.

Figure 9.4: Illustration of the RGB-D alignment: the depth map (left) is aligned with the RGB image (right) captured by the Kinect at the same time.

Because we apply a pre-cropping scheme (as described in Section 9.3.2) to the mapped depth image, the large information loss and distortions at the image bound- ary are not included in our final output. We then store the RGB image and the aligned depth map (using the original scale in mm), respectively. Once we found the correspondences between the RGB image and the depth image, it is straightforward to map the RGB color to the 3D points. The 3D point cloud with corresponding color mappings are then recorded. Visualization of a 3D face after color mapping is displayed in Figure 9.5 (with background removal using a threshold τ). Finally, we store the video sequences of the aligned RGB and depth frames from both the RGB camera and the IR camera using the protocol described in Section 9.3.1. The video based face data can then be used for multiple purposes ranging from the video based face recognition using either 2D [79] or 3D [95] to the dense face model reconstruction [56] from 3D frames.

No documento Neslihan Kose (páginas 125-128)