<?xml version="1.0" encoding="ISO-8859-1" ?><rss version="2.0">
<channel>
    <title>RoboRealm Forum</title>
    <link>http://www.RoboRealm.com/</link>
    <description>The newest forum threads.</description>
    <lastBuildDate>Tue, 30 Nov 1999 00:11:00 EST</lastBuildDate>
    <language>en-us</language>
    <copyright>Copyright: (C) RoboRealm, http://www.RoboRealm.com/</copyright>
    <docs>http://www.RoboRealm.com/</docs>

    <item>
        <title>2.5D Analysis</title>
        <description>
        Hello,&lt;br&gt;I was wondering if you had any recommendations for how to detect objects in this scene:&lt;br&gt;&lt;br&gt;I have a time-of-flight camera (basically generates a gray scale image where &quot;brightness&quot; represents depth). It will be mounted on a slow-moving machine on uneven terrain. (outside on rocky ground) The camera will be pointed at the ground (45 degree angle) and will look for objects that are at least x ft tall. I can convert this all to 3D points and try to solve it in 3D space, but from a computational requirements perspective, we&apos;d like to try and solve it in 2D space.&lt;br&gt;&lt;br&gt;I&apos;ve attached three images. &quot;Input.png&quot; shows the raw sensor data. Obviously there&apos;s a lot of noise in the image, so the first thing I did was clean it up. I cropped the image, used a bilateral filter, and then a max filter and then a min filter. As can be seen in &quot;Filtered.png,&quot; this seemed to clean up the image nicely. Now the question is, where do I go from there?&lt;br&gt;&lt;br&gt;I tried two approaches that can be seen in &quot;COG-Thresh.png.&quot;&lt;br&gt;&lt;br&gt;Approach 1: (COG-Thresh.png, left image) Sobel Edge -&amp;gt; Threshold -&amp;gt; ConnectPoints -&amp;gt; CenterOfGravity. This seems to work pretty well, but each module has to be carefully tuned. I haven&apos;t tried it, but it seems that it won&apos;t handle scene variation very well.&lt;br&gt;&lt;br&gt;Approach 2: (COG-Thresh.png, right image) I don&apos;t have this fully scripted, but here&apos;s the idea: When you ramp the &quot;Threshold minimum&quot; parameter from 0-255, the tops of objects will &quot;pop-out&quot; of the scene. At first, the ground is the only visible object. As you ramp the parameter, the top of an object will appear as a blob. As you continue to ramp the parameter, the blob will grow and eventually meet the ground. If you track objects that &quot;pops out&quot; in the scene and when the blob meets the ground, you can determine the size of each object. This approach seems to be fairly immune to scene variation, but computationally, it&apos;s rather intensive.&lt;br&gt;&lt;br&gt;Do you have any suggestions for how I might proceed? There are several characteristics I&apos;ve identified:&lt;br&gt;-We&apos;re only looking for relatively tall objects. Consequently, the top and side edges of the object will be clearly defined. However, the bottom will always &quot;fade&quot; into the ground plane. (assuming the object is sitting on the ground)&lt;br&gt;-The ground plane can only be so steep. Consequently, the &quot;average&quot; ground plane will always fall within a maximum/minimum gradient.&lt;p&gt;&lt;a target=_blank href=&quot;http://www.roborealm.com/uploads/30123_1.png&quot;&gt;&lt;img border=1 src=&quot;http://www.roborealm.com/uploads/30123_thumb_1.jpg&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;a target=_blank href=&quot;http://www.roborealm.com/uploads/30123_2.png&quot;&gt;&lt;img border=1 src=&quot;http://www.roborealm.com/uploads/30123_thumb_2.jpg&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;a target=_blank href=&quot;http://www.roborealm.com/uploads/30123_3.png&quot;&gt;&lt;img border=1 src=&quot;http://www.roborealm.com/uploads/30123_thumb_3.jpg&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;br&gt;        </description>
        <link>http://www.roborealm.com/forum/index.php?thread_id=6058</link>
        <guid>http://www.roborealm.com/forum/index.php?thread_id=6058</guid>
        <pubDate>Tue, 30 Nov 1999 00:11:00 EST</pubDate>
    </item>
</channel>
</rss>
