# Camera recommendation used for depth measurement

Hi all,

First, thank you for your time to read this post. I'm a graduate student in mechanical engineering, and currently being assigned too many tasks related to computer science :( The thing we are trying to do is to get the normal vectors of the selected points located on one object. Then reconstruct the object from its visual information captured either by cameras or laser sensors. Really appreciate your help on the following questions.

1. We are looking for a good camera for depth measurement. I'm wondering if anyone knows what's the brand or model of cameras being used in this video? This project comes from Googles AI robotics project. Also, I'd really appreciate it if you could make other camera recommendations under the same setup. Several people recommended intel cameras. But our project manager requires us to use the best camera available. Is there any other better cameras that you would recommend?
2. This camera (the link is same as above) seems to be a monocular camera. Is there any reasons why monocular camera is being used here?
3. I assume laser scanner could provide better performance in terms of depth measurements of the whole object under the same setup (fixed camera placed on top of the robot manipulator). The question is could we identify the selected point on the object? We could mark those selected points with different colors.
4. From my limited understanding, laser scanners provide point cloud information (please correct me if I'm wrong). If we want to get a better understanding of how to use point cloud, such as reconstruct point cloud to form the shape (?) of the object. What classes would you recommend? I know there is a PCL library but it looks kind of confusing to me.

Thank you again for your help.

edit retag close merge delete

The "best camera" depends on your requirements for things like measurement accuracy, size of objects that must be recognisable, etc. You need to quantify these and then find a camera that meets your requirements at an acceptable price point.

( 2018-08-08 21:54:10 -0600 )edit

Thank you so much for your guidance. I will gather all the info and then talk to the sales guy to see if I can get a good sensor.

( 2018-08-08 22:09:21 -0600 )edit

currently being assigned too many tasks related to computer science

Pedantic maybe, but this is computer vision, perhaps even robotics, but definitely not computer science :)

( 2018-08-09 01:34:47 -0600 )edit

lol. I personally feel sometimes I need to be "pedantic". Thank you for the clarification.

( 2018-08-09 10:00:30 -0600 )edit

Sort by » oldest newest most voted

I don't know what camera Google used in that video, but from the look of it, I think it is an RGBD camera - essentially a much better Kinect. Based on the possible number of lenses, it could be RGBD and stereo combined, but I've never seen a sensor like that (the caveat there is that I don't work in industry so I don't get to play with the really really expensive cameras).

1. There is a large range of depth cameras available now. The ASUS Xtion 2 is one recent example. The Orbbec Astra is another often used with ROS. The Intel RealSense is in my opinion one of the best non-industrial ones. For a fuller list, see the sensors page on the wiki

2. If the camera is indeed an RGBD camera then it only needs one camera and one other port for the IR pattern projector. Depending on the application, RGBD can be better than stereo cameras. It's usually also cheaper.

3. A laser scanner could provide much much more accurate depth measurements, but you would need to do calibration with the camera to ensure that you know the exact geometric relationship between the laser and the camera. If you did that, then yes, you could identify selected points on the target through ray projection from the camera and intersection of that ray with the laser data. How accurate this is would depend on how good your laser-camera calibration is and on how high resolution the camera is. Each pixel is effectively a cone of space and the higher the resolution the thinner this cone gets. A larger cone will intersect more rays from the laser.

4. Laser scanners usually provide a LaserScan message. This can be easily converted into a PointCloud2 message.

Point cloud processing is not my thing, but to the best of my knowledge, PCL provides the best algorithms for processing a point cloud to find a shape. If you want to know if the class you mention will help, you should talk to the lecturer and find out of they plan to teach object matching, object recognition, or similar topics (the wording might vary).

more

Thank you for your answers. Perhaps I didn't make myself clear. I have made corresponding changes in my pose. 1. I know Intel has several good products on the market. I wonder if you may make one recommendation for depth measurements? Money won't be a problem. Thank you.

( 2018-08-08 21:36:06 -0600 )edit

Also, I'm wondering if you have some good laser scanners in minds? There are just so many good products on the market...

( 2018-08-08 21:39:35 -0600 )edit

Also, thank you for your useful suggestions on this topics.

( 2018-08-08 21:40:07 -0600 )edit

I used a TOF-camera of this Type in the past for a similiar task. In this task I calculated the surface-angle of the ground in front of a mobile robot, so I also had to calculate a specific normalvector.

You can grab the data via usb 3.0 (or 2.0 if you want to) and publish them in to the ROS network. The camera serves around 40k points per snapshot and can grab the frames with up to 50 fps.

One of my favorite features is the robustness against outside light (e.g. sunlight), which makes it well suited for outdoor use. I'm not sure if the operating distance from 0.1 to 4 m is enough for your task.

Regarding to the laser scanner: In my opinion a laser scanner is difficult to handle for your task. I understand, that you want to get the normalvector with respect to a special point. So, you need points around this selected point. With laser scanners, that are affordable, you can get 1 to 4 line scans with one measurement. But, I guess you need to get more points. So, maybe you need to stitch the frames. This is extra work and sometimes not that easy.

I hope, I could help you a bit finding a good sensor.

Edit to first question:

Yes, sure. Considering a coordinate frame with the x-axis point in normal moving direction and z-axis upwards, I was able to determine the angle around the x-axis with a mean precision about 0.5°. This was pretty reliable with a standarddeviation around 0.05° (Yes, data was nearly perfectly normal distributed and I took ca. 1000 frames for each set).

The rotation around the y-axis is a bit worse. There I got a precision around 0.5°, with a standard deviation of 0.07°.

The reference system with which I could find the "exact" angles was an IMU of xsense. However, I think you can do better if you do not need "real-time" performance, as in my case.

This was a very short summary of my project work. But, if you need further information, do not hesitate to ask.

more

Thank you for your camera recommendation. I guess I will go with this one before I can come back with more meaningful questions. I'm wondering if you still remember the accuracy of the calculated-angle by any chance?

( 2018-08-09 10:06:52 -0600 )edit