Thermal Texture Distorted
I am trying to apply a thermal camera image as a texture on a 3D scan of a hand.
I have aligned the camera using control points and am quite happy with the alignment.
For some reason it only applies part of the image as the texture. I have tried fiddling with the texel size and unwrap algorithms, to no avail. What would be the reason for the software to only use part of this image?
Kind regards,
Bart
-
It is the only image, but I plan to use a two thermal images in total. The thing is that I have already sucessfully applied this thermal texture to the hand, see the image below. However, I wanted to improve alignment (the texture does not cover the entire fingers etc). Now it seems that I have improved alignment, but in the process lost a bit of the texture.
Below my old result (combining texture maps of the skin and thermal)
-
Ok. Is this a multiple camera rig? Or what do you mean by calibration target? That is not a common workflow with RC and not neccessary if you don't have a rig and want to reuse alignments.
If you did it the normal way, then check how many tie points the thermal images contribute - it could be that they have hardly any. To be honest, I am surprised they aligned at all with the normal ones. You can do that either by activating tie points in 2D view or clicking on a thermal image and click Show Points in the alignment ribbon.
You might also want to use exif grouping, which could help to get a better grip on the thermal camera.
-
Yes it is a multiple camera rig, with synchronized cameras that take a picture at the same time. The hand is placed inside this structure, so part of the rig is also visible in all the photos. I want to reuse this alignment over and over to take different scans. I cannot show you images of this scanner due to confidentiality, but just assume that the array is of cylindrical shape and the hand is placed within. The image below gives some suggestion of the kind of environment the hand is in.
The reason I use a calibration target (see image) is because it is hard for RC to distinguish features between thermal and normal images, since they do not contain the same information and the thermal images have a very very low resolution compared to normal photos. Thus I load the images and determine the centre of the circles in the calibration board (which I heated to provide thermal contrast) I then use these points for the alignment of the thermal cameras.
I cannot use only thermal cameras for generating a mesh since they are relatively expensive, so all I can do for my current iteration is use two cameras to capture the palm of the hand.
-
Huh, that is quite interesting! :-)
I thinkt then you need to look into XML and how to set RC up for a rig.
If it is not too much work, you could make a calibration target that has an individual pattern so you don't need to use CPs. I would add much smaller holes as well. Then take A LOT of images of this target with each thermal camera (outside the rig, the hole pattern should cover the ENTIRE field of view)), use this to generate your precise distortion values and integrate them via XML. Need to dash of now for a bit...
-
Thank you for the reply. I have implemented lens distortion removal techniques using OpenCV. Apart from the accuracy of the distortion removal its self there should be no distortion left in the thermal images. Maybe there are still some distortion parameters assigned by RC which I need to remove. I'll try to dig a little bit deeper.
Here you can see I've tried to remove the bulging lens distortion to end up with straight lines in the images. It is not perfect, but should be good enough for now. -
I have found the problem. For some reason RC had registered my thermal images in such a way that they still included some lens distortion parameters. I tracked them down, set all lens distortion parameters to 0 and cleared my cache.
This did the trick, giving the end result below (still have to process alignment for the other half of the hand)
Thank you so much for all the suggestions which lead me to the right solution!
Please sign in to leave a comment.
Comments
12 comments