Object detection using PCL or OpenCV

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Object detection using PCL or OpenCV

pedro_nf
This post has NOT been accepted by the mailing list yet.
Hello all,
I need to detect a rectangular object that is on a flat surface.
The 3D data is coming from a 3D scanner as a sequence of x, y, z values.
So what I'm doing is convert the z values into gray levels and write this data as an image file, then using OpenCV I clean up the noise on this image and detect the object. This works fine.
My question is: can I use PCL to do this directly (noise cleanup and object detection) with better results then just image processing?
Thanks in advance,
Pedro

Reply | Threaded
Open this post in threaded view
|

Re: Object detection using PCL or OpenCV

kwaegel
Administrator
This post has NOT been accepted by the mailing list yet.
pedro_nf wrote
Hello all,
I need to detect a rectangular object that is on a flat surface.
The 3D data is coming from a 3D scanner as a sequence of x, y, z values.
So what I'm doing is convert the z values into gray levels and write this data as an image file, then using OpenCV I clean up the noise on this image and detect the object. This works fine.
My question is: can I use PCL to do this directly (noise cleanup and object detection) with better results then just image processing?
This is probably a better question for PCL-users. The dev board is for working on the PCL code itself.

As to your question, it really depends. If you're looking straight down on the object, you can just do a threshold test on the depth data to segment the object. If looking from an angle, you could fit a plane to the outer points and the outliers will be your object. However, current depth sensors tend to have trouble with edges, likely resulting in a rather noisy segmentation result.
Reply | Threaded
Open this post in threaded view
|

Re: Object detection using PCL or OpenCV

pedro_nf
This post has NOT been accepted by the mailing list yet.
kwaegel wrote
pedro_nf wrote
Hello all,
I need to detect a rectangular object that is on a flat surface.
The 3D data is coming from a 3D scanner as a sequence of x, y, z values.
So what I'm doing is convert the z values into gray levels and write this data as an image file, then using OpenCV I clean up the noise on this image and detect the object. This works fine.
My question is: can I use PCL to do this directly (noise cleanup and object detection) with better results then just image processing?
This is probably a better question for PCL-users. The dev board is for working on the PCL code itself.

As to your question, it really depends. If you're looking straight down on the object, you can just do a threshold test on the depth data to segment the object. If looking from an angle, you could fit a plane to the outer points and the outliers will be your object. However, current depth sensors tend to have trouble with edges, likely resulting in a rather noisy segmentation result.
Ok, thanks for your reply, I'll post this on the PCL-users board.
I want to know the exact position in x, y, its width, height and rotation so as you say, its like I was looking down on the object. The main problem is the noise and the fact that the base surface can be slightly tilted.
Reply | Threaded
Open this post in threaded view
|

Re: Object detection using PCL or OpenCV

pedro_nf
This post has NOT been accepted by the mailing list yet.
pedro_nf wrote
kwaegel wrote
pedro_nf wrote
Hello all,
I need to detect a rectangular object that is on a flat surface.
The 3D data is coming from a 3D scanner as a sequence of x, y, z values.
So what I'm doing is convert the z values into gray levels and write this data as an image file, then using OpenCV I clean up the noise on this image and detect the object. This works fine.
My question is: can I use PCL to do this directly (noise cleanup and object detection) with better results then just image processing?
This is probably a better question for PCL-users. The dev board is for working on the PCL code itself.

As to your question, it really depends. If you're looking straight down on the object, you can just do a threshold test on the depth data to segment the object. If looking from an angle, you could fit a plane to the outer points and the outliers will be your object. However, current depth sensors tend to have trouble with edges, likely resulting in a rather noisy segmentation result.
Ok, thanks for your reply, I'll post this on the PCL-users board.
I want to know the exact position in x, y, its width, height and rotation so as you say, its like I was looking down on the object. The main problem is the noise and the fact that the base surface can be slightly tilted.
I just reposted it here:
http://www.pcl-users.org/Object-detection-using-PCL-or-OpenCV-tp4037226.html