什么使对象表示和识别变得困难?

时间:2011-02-22 19:18:31

标签: computer-vision graphics 3d-reconstruction object-recognition

直观地说,似乎从几乎任何物体的不同角度给出十几个二维图像,应该很容易构造该对象的三维表示。随后,以这种方式获得的3d表示库可用于识别新的2d图像。

这些方面有哪些文献,为什么还没有产生强烈的物体识别?

3 个答案:

答案 0 :(得分:6)

这是你的“直觉”这个词,它会给你带来麻烦。你的大脑并不是设计得非常擅长某些任务,比如瞬间成倍增加数千个数字。然而,对于原始的计算能力,你的大脑使得最快的计算机看起来像仅仅是眨眼(神经响应时间只有大约10毫秒,但所有那些10 ^ 14左右的神经元都并行工作完全胜过任何现代机器)。只是你的大脑被设计用来解决计算复杂程度更高的问题,例如识别图片中的对象,解析声音数据以及在背景噪声中挑选出单个扬声器。学习分类和处理成千上万种类型的对象。

你的大脑设计得非常好的计算强度非常高的东西,对于一个人来说,似乎是“直观的”。它没有被设计成真正做的事情似乎“不直观”或困难。但强对象识别所需的原始计算(因为有很多种类的对象,其中许多实际上有子对象,多种分类,以及非刚性形式,例如“裤子”,“水”,“狗”)比计算机所能完成的事情要多得多。像使用“常识”解决日常问题这样的事情对于一个人来说同样微不足道,但计算上非常复杂。

答案 1 :(得分:4)

你想要做的确实可能,但(有很多但是)

用于3D重建:

  • 除了最简单的形状之外,您需要的不仅仅是几十张图像。
  • 您正在重建的形状需要具有许多可识别的特征,这些特征在不同角度看起来相似,以便您可以匹配它们。
  • 照明需要在整个图像集上保持相当稳定,否则阴影会让你失望(或者你需要更多图像)
  • 即使是功能丰富的物体(即颜色和形状有很多变化)如果您对参数(位置,视线方向和开口)没有完全了解,任何匹配的特征对的3D重建精度都会很糟糕角度)用于拍摄每张照片的相机。

这些都是可以解决的问题,所以假设你这样做了,现在你有了一个想要与你的3D形状相匹配的物体的新图片。

您当然可以尝试找到适合新图片的2D投影,但搜索空间非常大。使用为初始3D重建而构建的特征查找和匹配系统可以更容易,更快速地将新图片直接匹配到现有集合,并找到它在该对象上适合的位置。

因此,一旦您解决了创建初始3D重建的问题,您的第二步基本上也已完成。

Photosynth是这两个步骤的一个很好的例子。浏览网站,尝试找到他们在那里的一些参考资料。

至于你的最后一步,强大的物体识别,想象一下搜索空间!除了对要识别的对象的良好表示外,强对象识别所需的是搜索已知对象空间的好方法,也是表示新对象的好方法(对象的图像)在这个空间里。这是我几乎一无所知的事情。

为了在不同的2D图像中匹配相同的对象,有SIFT features。但我认为这并不能很好地转化为3D。

答案 2 :(得分:2)

请注意,您所描述的是实例识别。如今,计算机确实可以很好地识别实例。例如,Google Goggles非常擅长识别金门大桥和艾菲尔铁塔等地标。

但是,计算机不太擅长类别识别和分类。在所有类型的照明条件等下为所有可能的对象创建数十个2D快照变得非常棘手。某些物体(如狗)可以四处移动的事实使得可能性空间更大。计算机在这方面变得更糟。

此外,从生物学的角度来看,我们的视野大约是1亿像素。显卡现在才开始能够实时渲染那么多数据。理解那么多数据更加计算密集。

人们常常谈到让机器达到5岁处理信息的能力。但是让我们考虑一下有多少数据。具有3个颜色通道的1亿像素和每像素1个字节= 300MB / s。现在将其乘以每秒30帧,每年31,556,926秒,以及5年,最终得出大约1.4艾字节(1.4x10 ^ 18)。