2016年6月17日 星期五

3D scan






 Encoding in Temporal Domain

A projector P with resolution Presx , Presy , will result in Ncols = log2 (Presx )e encoded patterns representing the columns, and in Nrows = log2 (Presy )e encoded patterns representing the rows. For example a projector with resolution 1024x768 will result in Ncols = 10 and Nrows = 10 i.e. a total of 20 patterns.

Gray-code Encoding

 however it ensures that there is only one bit different between consecutive patterns

When using Gray codes the value of the least significant bit changes after two consecutive stripes, in contrast to the Binary codes where the value changes at every pattern

Firstly, the choice of the colors to be used in the patterns. The patterns can have any two colors, although traditionally black and white has been used. In any case, each pixel must have an intensity value which will be used as a threshold to determine the value of the pixel i.e. 1 or 0. Therefore, it is imperative to take this into account when choosing the two colors and choose colors which will result in large intensity differences. A poor choice on colors, can otherwise jeopardize the entire process by failing to distinguish a pixel’s value later on in the process. For this reason and to overcome this limitation, it is preferable to project a pattern followed by a projection of its color-inverted pattern. Inverted pattern images are images with the same structure as the original but with inverted colors. This provides an effective method for easily determining the intensity value of each pixel when it is lit (highest value) and when it is not lit (lowest value). The threshold for the intensity value of a pixel p with a highest value ph and a lowest value pl can then be computed as the average τp = (ph − pl)/2.

Secondly, identifying shadow regions. The cameras observe the object from different angles than the projector, hence quite often there will be a viewing areas which lies in shadow regions. Thus, it is preferable that pixels falling under a shadow region are removed at the early stages of the process. This can be achieved by projecting a white and then black image on the object and capturing the images. By evaluating the intensity value of the pixels in the images, one can determine which pixels fall under a shadow region by identifying cases where the intensity values in the two captured images are very similar. A "shadow mask" can then be created which leaves only the pixels which do not fall under shadow regions. This can considerably reduce computational processing time. Section 0.7.1 explains how to compute the shadow mask.

Thus, the final projection sequence contains the column and row pattern sequences encoded using Gray-code, their inverted patterns, as well as two images of solid colors, one for each used color. The patterns are projected in sequence as follows: first the two solid color images, then interchangeably the column and its inverted sequence, followed by interchangeably the row and its inverted sequence



Decoding of Captured Images

1.Computing the shadow mask

The goal of this process is to determine which pixels in a camera’s image fall under shadow regions


2.Decoding the patterns
     The cameras capture images of the encoded projected patterns. The next step is to decode each pixel in the captured images into their corresponding decimal number representing the column and the row. This provides a mapping between the pixels in the cameras i.e. pixels in the captured images which correspond to the same projector pixel as shown in Figure 11

More specifically, the decoding is performed as follows:
• Determine whether a pixel p is lit or not (1 or 0) in the images capturing the projected sequence of patterns encoding the columns.
• Calculate its binary form Bp.
• Convert the binary form Bp into the equivalent decimal number x.

Ref : http://arxiv.org/pdf/1406.6595v1.pdf

沒有留言:

張貼留言