开发者

Fixing an incorrectly taken 3D head scan

The problem I am facing is following. I have a number of 3D head scans, some of them are taken correctly (like attached example) but in many it is easy to see that the scanned person had his head not exactly aligned with the machine's front and thus one side of the texture (and depth map) seems to be "wider" (the exact reason is that one side was taken more from behind, it can be easily seen if you look at the ears).

Fortunately when I go from the cylindrical coordinates to carthesian ones and render the face with XNA, the face is symmetrical.

Now the thing is that I would like the texture and depth maps of all my heads by as nice and symmetrical as the correct one (because later i want to align them and perform PCA).

The idea I have at the moment is that I could interpolate the surfaces开发者_C百科 between all of the vertices and from those interpolations take new vertices that are equally distanced from each other. This solutions seems a lot of work and maybe its an overkill. Maybe there is some other way (like geting that interpolation data from DirectX/XNA that has to calculate it at some point anyway).

I will be most thankful for helpful answers.

The correct example: http://i55.tinypic.com/332mio2.jpg Incorrect example: http://i54.tinypic.com/309ujvt.jpg


It's probably possible to salvage (some of) the bad scans to some degree using some coordinate transformations, but you would have to guess the "incorrectness" of the alignment and it's probably impossible to do automatically.

But, unless the original subject is dead (or otherwise unavailable); it's probably a lot easier to redo the scans.

Making another scan is very likely to be quicker, and you won't loose quality as transforming the bad scans probably will. The nose on the incorrect sample seems to be shadowing the side of the nose, and no fancy algorithm can ever fix the missing data.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜