Calculate Intrinsics for a Thermal Camera?
I"m using a Thermal camera for a project and I'm a little stumped so as to how to think about calculating intrinsics for it. The usual camera's 开发者_开发知识库would determine different points on a chessboard or something similar, but the thermal camera won't really be able to differentiate between those points. Does anyone have any insight on what the intrinsics for thermal cameras would really look like?
Cheers!
EDIT - In addition to the great suggestions I currently have, I'm also considering using aluminum foil on the whites to create a thermal difference. Let me know what you think of this idea as well.
This might or might not work, depending on the accuracy you need:
- Use a chessboard pattern and shine a really strong light at it. The black squares will likely get hotter than the white squares, so you might be able to see the pattern in the thermal image.
- Put small lightbulbs on the edges of a chessboard pattern, light them, wait until they become hot, use your thermal camera on it.
This problem is addressed in A Mask-Based Approach for the Geometric Calibration of Thermal Infrared Cameras, which basically advocates placing an opaque mask with checkerboard squares cut out of it in front of a radiating source such as a computer monitor.
Related code can be found in mm-calibrator.
If you have a camera that is also sensitive to the visible light end of the spectrum (i.e. most IR cameras - which is what most Thermography is based on after all) then simply get a IR cut-off filter and fit this to front of the cameras lens (you can get some good c-mount based ones). Calibrate as normal to the fixed optics then remove the filter. Intrinsics should be the same - since optical properties are the same (for most purposes).
Quoting from the section 5 Image fusion in GADE, Rikke; MOESLUND, Thomas B. Thermal cameras and applications: a survey. Machine Vision and Applications, 2014, 25.1: 245-262. (freely downloadable in June 2014):
The standard chessboard method for geometric calibration, correction of lens distortion, and alignment of the cameras relies on colour difference, and cannot be used for thermal cameras without some changes. Cheng et al. [30] and Prakash et al. [146] reported that when heating the board with a flood lamp, the difference in emissivity of the colours will result in an intensity difference in the thermal image. However, a more crisp chessboard pattern can be obtained by constructing a chessboard of two different materials, with large difference in thermal emissivity and/or temperature [180]. This approach is also applied in [68] using a copper plate with milled checker patterns in front of a different base material, and in [195] with a metal wire in front of a plastic board. When these special chessboards are heated by a heat gun, hairdryer or similar, a clear chessboard pattern will be visible in the thermal image, due to the different emissivity of the materials. At the same time, it is also visible in the visual image, due to colour difference. Figure 12 shows thermal and RGB pictures from a calibration test. The chessboard consists of two cardboard sheets, where the white base sheet has been heated right before assembling the board.
[30] CHENG, Shinko Y.; PARK, Sangho; TRIVEDI, Mohan M. Multiperspective thermal ir and video arrays for 3d body tracking and driver activity analysis. In: Computer Vision and Pattern Recognition-Workshops, 2005. CVPR Workshops. IEEE Computer Society Conference on. IEEE, 2005. p. 3-3.
[146] PRAKASH, Surya, et al. Robust thermal camera calibration and 3D mapping of object surface temperatures. In: Defense and Security Symposium. International Society for Optics and Photonics, 2006. p. 62050J-62050J-8.
[180] VIDAS, Stephen, et al. A mask-based approach for the geometric calibration of thermal-infrared cameras. Instrumentation and Measurement, IEEE Transactions on, 2012, 61.6: 1625-1635.
[68] HILSENSTEIN, V. Surface reconstruction of water waves using thermographic stereo imaging. In: Image and Vision Computing New Zealand. 2005. p. 102-107.
[195] NG, Harry, et al. Acquisition of 3D surface temperature distribution of a car body. In: Information Acquisition, 2005 IEEE International Conference on. IEEE, 2005. p. 5 pp.
You may want to consider running a thermal resistor wire on the lines of the pattern (you also need a power source).
You can drill holes in a metal plate and then heat the plate, hopefully the holes will be colder than the plate and will appear as circles in the image.
Then you can use OpenCV (>2.0) to find circle centers http://docs.opencv.org/doc/tutorials/calib3d/camera_calibration/camera_calibration.html#cameracalibrationopencv
See also the function findCirclesGrid
.
精彩评论