[ros-users] small text for report which includes object detection
Matei Ciocarlie
matei at willowgarage.com
Fri Jul 16 16:29:07 UTC 2010
Hi Rene,
> 1. are the objects in
> /opt/ros/cturtle/stacks/simulator_gazebo/gazebo_worlds/meshes
> compatible with the matching algortihm in tabletop_object_detector?
Unfortunately not - right now the object detector can load .ply files.
You might be able to convert them using Meshlab, which is free to
install and use.
> 2. for testing the recognition algorithm, how easy is it to transform the meshes
> back to pointclouds and deliberately alter them a bit?
I am not sure what you mean. Which meshes do you want to transform
back to point clouds, and how do you want to use the point clouds? If
you want to resample a mesh into a point cloud, you will find code
that does that in tabletop_object_detector/src/model_fitter.cpp,
ModelToCloudFitter::sampleMesh(...)
Matei
>
> Regards,
> Rene
>
> 2010/7/14 Matei Ciocarlie <matei at willowgarage.com>:
>> Hi Renee,
>>
>> For now you will have to add models to the database by hand - we will
>> have some tutorials coming out probably next week on how to do that.
>>
>> Matei
>>
>> On Wed, Jul 14, 2010 at 3:14 AM, René Ladan <r.c.ladan at gmail.com> wrote:
>>> Hi,
>>>
>>> is there currently any node available to input custom models?
>>> The model_assembler node seems to have vanished in thin air.
>>>
>>> Regards,
>>> Rene
>>>
>>> 2010/7/13 Matei Ciocarlie <matei at willowgarage.com>:
>>>> That's hard to quantify precisely... I would say that you should not
>>>> worry about precision too much, any reasonably lifelike mesh will do.
>>>>
>>>> It also depends what else is in the database of models: if you only
>>>> have your own models, then only those will be fitted against. You will
>>>> be able to recognize fewer objects, but at least other models will not
>>>> get in the way. You can also play with the thresholds in
>>>> tabletop_object_detector/src/tabletop_node.cpp to make the recognition
>>>> more forgiving.
>>>>
>>>> Matei
>>>>
>>>> On Tue, Jul 13, 2010 at 9:24 AM, René Ladan <r.c.ladan at gmail.com> wrote:
>>>>> Hi Matei,
>>>>>
>>>>> I get it now ;)
>>>>>
>>>>> If I want to model my own objects (for any reason), how precise and
>>>>> complete must the triangle meshes be for the object detection to work?
>>>>>
>>>>> Regards.
>>>>> Rene
>>>>>
>>>>> 2010/7/13 Matei Ciocarlie <matei at willowgarage.com>:
>>>>>> Hi Rene,
>>>>>>
>>>>>> The models are stored in the database as triangle meshes. For display,
>>>>>> we found it more clear to render them as wireframe rather than
>>>>>> triangle meshes, as the wireframe still allows the original point
>>>>>> cloud to show trough a little bit.
>>>>>>
>>>>>> The detection is done by comparing the perceived point cloud against
>>>>>> the triangle mesh stored in the database.
>>>>>>
>>>>>> Best,
>>>>>> Matei
>>>>>>
>>>>>> On Tue, Jul 13, 2010 at 9:03 AM, René Ladan <r.c.ladan at gmail.com> wrote:
>>>>>>> Hi Matei,
>>>>>>>
>>>>>>> so the wireframe is only used for display reasons and to store the models
>>>>>>> more efficiently in the database. Is the detection then realized by comparing
>>>>>>> perceived pointcloud with the pointcloud version of the database models?
>>>>>>>
>>>>>>> Regards,
>>>>>>> Rene
>>>>>>>
>>>>>>> 2010/7/13 Matei Ciocarlie <matei at willowgarage.com>:
>>>>>>>> Hi Rene,
>>>>>>>>
>>>>>>>> That's generally correct, except for the transformation of the point
>>>>>>>> cloud into wireframe. The tabletop_object_detector uses sensor data
>>>>>>>> directly as point clouds. You might see a wireframe displayed on the
>>>>>>>> screen but that's only after a database model has been recognized. The
>>>>>>>> wireframe is that of the model, superimposed on the point cloud that
>>>>>>>> has been recognized.
>>>>>>>>
>>>>>>>> Matei
>>>>>>>>
>>>>>>>> On Tue, Jul 13, 2010 at 4:59 AM, René Ladan <r.c.ladan at gmail.com> wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> below is a text I intend to include in a report. Do I get the basic ideas right?
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Rene
>>>>>>>>>
>>>>>>>>> Object handling consists of several steps, which are performed by the
>>>>>>>>> tabletop_object_detector (and other) nodes.
>>>>>>>>> • Get an image of the object (e.g. a pool ball) from e.g. a stereo
>>>>>>>>> camera with texturing or e.g. a laser range finder.
>>>>>>>>> • Transform the image (either a stereo-photo or a “sphere” of
>>>>>>>>> distances) into a point cloud. A point cloud is a collection of
>>>>>>>>> points, where all points have a number of pre-defined attributes, like
>>>>>>>>> spatial coordinates, color, or neighborhood density. Point clouds are
>>>>>>>>> the universal data structures for performing 3-dimensional algorithms
>>>>>>>>> within ROS. TODO: figure out the algorithm
>>>>>>>>> • Transform the point cloud into a wireframe. TODO: figure out which
>>>>>>>>> algorithm is used for this.
>>>>>>>>> • Now that an approximate wireframe model of the object is available,
>>>>>>>>> (because the camera images are probably imperfect), this model can be
>>>>>>>>> compared to a database of existing, perfect wireframe models. Because
>>>>>>>>> the models are stored as blobs in the database, the approximation is
>>>>>>>>> done in the ROS node. The database is thus only used a storage
>>>>>>>>> backend.
>>>>>>>>> • The comparison algorithm, given the actual model at one side and the
>>>>>>>>> database models at the other side, is able to calculate the likelihood
>>>>>>>>> that the presented object matches a or multiple objects in the
>>>>>>>>> database (e.g. for a ping-pong ball, it could say “90% pool ball, 8%
>>>>>>>>> bottle cap, and 2% unknown”).
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> http://www.rene-ladan.nl/
>>>>>>>>>
>>>>>>>>> GPG fingerprint = E738 5471 D185 7013 0EE0 4FC8 3C1D 6F83 12E1 84F6
>>>>>>>>> (subkeys.pgp.net)
>>>>>>>>> _______________________________________________
>>>>>>>>> ros-users mailing list
>>>>>>>>> ros-users at code.ros.org
>>>>>>>>> https://code.ros.org/mailman/listinfo/ros-users
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Matei Ciocarlie
>>>>>>>> Research Scientist
>>>>>>>> Willow Garage Inc.
>>>>>>>> 650-475-9780
>>>>>>>> _______________________________________________
>>>>>>>> ros-users mailing list
>>>>>>>> ros-users at code.ros.org
>>>>>>>> https://code.ros.org/mailman/listinfo/ros-users
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> ros-users mailing list
>>>>>>> ros-users at code.ros.org
>>>>>>> https://code.ros.org/mailman/listinfo/ros-users
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Matei Ciocarlie
>>>>>> Research Scientist
>>>>>> Willow Garage Inc.
>>>>>> 650-475-9780
>>>>>> _______________________________________________
>>>>>> ros-users mailing list
>>>>>> ros-users at code.ros.org
>>>>>> https://code.ros.org/mailman/listinfo/ros-users
>>>>>>
>>>>> _______________________________________________
>>>>> ros-users mailing list
>>>>> ros-users at code.ros.org
>>>>> https://code.ros.org/mailman/listinfo/ros-users
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Matei Ciocarlie
>>>> Research Scientist
>>>> Willow Garage Inc.
>>>> 650-475-9780
>>>> _______________________________________________
>>>> ros-users mailing list
>>>> ros-users at code.ros.org
>>>> https://code.ros.org/mailman/listinfo/ros-users
>>>>
>>> _______________________________________________
>>> ros-users mailing list
>>> ros-users at code.ros.org
>>> https://code.ros.org/mailman/listinfo/ros-users
>>>
>>
>>
>>
>> --
>> Matei Ciocarlie
>> Research Scientist
>> Willow Garage Inc.
>> 650-475-9780
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
>>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
--
Matei Ciocarlie
Research Scientist
Willow Garage Inc.
650-475-9780
More information about the ros-users
mailing list