Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

find defects in a 3D image

Hello klemen,

 

yes the data set i've posted was prior of ICP, and yes the 3D view (in red) is correct.

 

Also the defect in the difference range image is in the circle.

 

I'e modified the range image example as you said (1D array) and now seems to work, which pararmeters are you using in the range image example to obtain your image?

 

Thanks

Alessandro Ricco
0 Kudos
Message 11 of 17
(2,478 Views)

Hello,

 

I used all translation parameters initialized to 0 (you can experiment with the quaternions also, but you would need to change the source code and recompile. Frankly, I don't understand quaternions very well). The only thing you would need to modify is the angular resolution to suit your needs. The angular resolution is connected to the points density and also makes computation more demanding (using smaller step will take more time to extract the range image). So a tradeoff is neccessary.

 

I suggest, when you are performing the measurements that the measuring system is facing toward the object (frontal view), with the smallest angle as possible between the both. But this example that you provided is in my opinion OK! You can see the defect and you can calculate the relative difference between both. This is your goal is it not?

 

Best regards,

K

 

 

 


https://decibel.ni.com/content/blogs/kl3m3n



"Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."
0 Kudos
Message 12 of 17
(2,470 Views)

Hello,

Ok is clear now, i'm using 0 for X and Y sensor position and about 55 for Z considering my data ranges from  70 to 74, i'm observing thai if i use Z with values greater of 65 i get a range image with an effect similar to perspective distortion, i don't know if this is normal, anyway i guess i found the tradeoff with the parameter, now i need 50ms to get the range image with a good resolution.

 

The defect in the difference image are "simple" to extract because the difference image now is less noisy compared with the previous one calculated with my old method.

 

So thanks for the pecious help. If you ever come to Italy, i will offer you a pizza and unlimited beers.

Alessandro Ricco
0 Kudos
Message 13 of 17
(2,461 Views)

Hello,

 

no, problem. Glad i could help!

Pizza and beer - one of my best combinations Smiley Happy

 

If you translate your point cloud 65 mm in the pure Z-direction and create a range image with all translation parameters set to zero it should be equal as in your case (when you set sTz = 65 mm)! Did you try this?

 

You can alternatively transform your point cloud manually prior to range image creation, so that the Z-axis of the coordinate system is normal to the surface of your 3D object. You would need to perform this only after setting up the system (or after moving it).

 

Anyway, if the method works, it's all good. But I would suggest that you validate the depth of the defects using a reference method if possible.

 

Best regards,

K


https://decibel.ni.com/content/blogs/kl3m3n



"Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."
0 Kudos
Message 14 of 17
(2,457 Views)

Hello

 

below is my result using X,Y,Z = 0,0,69 as you can see there is a distortion in the image. Is it normal?

 

range.png

 

If you translate your point cloud 65 mm in the pure Z-direction and create a range image with all translation parameters set to zero it should be equal as in your case (when you set sTz = 65 mm)! Did you try this?

 

Yes i tried it obtaining the same result as 65mm data

 

You can alternatively transform your point cloud manually prior to range image creation, so that the Z-axis of the coordinate system is normal to the surface of your 3D object. You would need to perform this only after setting up the system (or after moving it).

 

Can you explain me how to do this? 

Alessandro Ricco
0 Kudos
Message 15 of 17
(2,453 Views)

Hello,

 

I was thinking only about manually tweaking the translation and rotation parameters (transforming your point cloud) until visual satisfaction is achieved. Looking at your cloud, you would just need to translate it to the origin by T, rotate it until satisfied and translate it back by T. You would keep these parameters constant throughout the measurements, transforming the point cloud only before obtaining the range image.

 

But as I've said, I am fairly confident that the current procedure is also accurate.

 

Best regards,

K


https://decibel.ni.com/content/blogs/kl3m3n



"Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."
0 Kudos
Message 16 of 17
(2,446 Views)

Hello, ok clear i made the transformation and now the data are visually ok.

 

The defects detection now is ok, the method works very good.

 

So thanks again.

 

Alessandro

Alessandro Ricco
0 Kudos
Message 17 of 17
(2,437 Views)