dicengine / dice

Digital Image Correlation Engine (DICe): a stereo DIC application that runs on Mac, Windows, and Linux
Other
343 stars 125 forks source link

Problem with contrast, calibration and results in lef and right camera #187

Open TuroAero opened 3 years ago

TuroAero commented 3 years ago

Hi everyone. I'm doing my PhD thesis in the analysis of the impact in composite sandwich panels. I'm using DICe to obtain the strain field in the front face during the impact of a steel ball. I'm using a 3D stereo configuration recording at 70000fps using two PHOTRON FASTCAM SA-Z with Tokina MACRO 100 F2.8D lenses. Both cameras are located at 1.2m from the test specimen with an angle of 60 deg.

For calibration, I'm using a 8mm dot pattern (see picture). I'm having difficulties during the calibration since DICe doesn't identify the three key reference points and sometimes also struggle to identify many of the grid dots. I have changed the thresholding constant and some of the camera calibration options without any success. It always shows me the same message *** warning: unable to identify three keypoints, other points will not be extracted. And after displays "failed dot extraction with error code: 1 ... DICe cal execution failed"

I have the hypothesis that this error is caused due to the difference in the contrast in both cameras (it seems I didn't adjust both cameras with the same aperture or for any reason one camera is receiving more light than the other).

image

In order to verify this hypothesis I artificially adjusted the grey level for the background and dots in the left image in order to match the right image. At the end, I managed to "successfully" complete the calibration with an rms error of 0.226 and avg epipolar error 0.2518 (I'm not sure if this error is good enough but at least it went through ;).

image

After the calibration, I imported the speckle images and run the analysis with the normal procedure.

image

When I reviewed the results I could see the central part of the specimen shows a very good correlation however the sigma value in the surroundings are very poor. On the good side it seems the modification I did to the calibration images worked since the specimen is represented as a flat surface and the model coordinates are capture with accuracy.

image

Is there any way of fixing this contrast problem that I have between the left and right images. I am thinking about equalizing the images but I'm not sure it may work. If you have any other advice it is welcome since I have to perform the same experiment again!!!

If you want me to share the images or files that I'm using please let me know

Regards

dicengine commented 3 years ago

Regarding the variation in thresholding between the left and right camera, it seems like we should enable the user to select a separate threshold for the left and right camera. Feel free to suggest this as a new feature issue.

Regarding the regions at the extremes that do not correlate (or have a high sigma value) this could be for a variety of reasons. The first of which would be that the feature matching initializer isn't doing well in these regions. You can check this by looking in the .dice folder at the initialization image. It would show where the features were matched in the image. If there aren't a lot of circles in this region, that's likely the culprit. Have you tried other initialization schemes?

If you're willing to attach the cal.xml file to this issue and a few representative images I can take a look and see what's going on.

TuroAero commented 3 years ago

Thank you for your answer. I agree I think that a separate threshold would solve the problem with the pattern. I ran again the analysis but now with image registration as an initialization method and now I get a much better correlation.

image

I'm trying to attach the cal file and the images here in the forum but it shows "we don't support that file type". I'm doing anything wrong? If you agree I can send them by email.

dicengine commented 3 years ago

I guess if changing the initialization routine helped, you don't need to upload the cal file. Glad that helped. Feel free to add the separate thresholding option as a feature request issue in gituhub.