2月24日解决计算机视觉问题的一种非常方便的方法是做逆图形
3D 计算机图形模型由对象的层次结构组成。每个对象都有一个变换矩阵,它定义了与其父对象相比的平移、旋转和缩放。每个层次结构中顶部对象的变换矩阵定义了其相对于世界原点的坐标和方向。
例如,考虑汽车的 3D 模型。基础对象有一个 4×4 变换矩阵,表示汽车的中心位于坐标 (X=10, Y=10, Z=0),旋转 (X=0, Y=0, Z=90) . 汽车本身由许多对象组成,例如车轮、底盘、方向盘、挡风玻璃、变速箱、发动机等。这些对象中的每一个都有自己的变换矩阵,这些变换矩阵定义了它们相对于父矩阵的位置和方向(中心车)。例如,左前轮的中心位于(X=-1.5,Y=2,Z=-0.3)。左前轮的世界坐标可以通过其变换矩阵乘以其父级的变换矩阵来获得。
其中一些对象可能有自己的一组子对象。例如,车轮由轮胎、轮辋、轮毂、螺母等组成。每个孩子都有自己的变换矩阵。
使用这种坐标系层次结构可以很容易地定位和可视化对象,而不管它们的姿势和方向或视点如何。当您想要渲染一个对象时,3D 对象中的每个三角形都会乘以它的变换矩阵和它的父元素的变换矩阵。然后用视点定向(另一个矩阵乘法),然后在被光栅化为像素之前转换为屏幕坐标。
“如果你[对从事计算机图形学工作的人]说,‘你能从另一个角度告诉我吗?’他们不会说,‘哦,好吧,我愿意,但我们没有从那个角度训练所以我们不能从那个角度向你展示。他们只是从另一个角度向您展示它,因为他们有一个 3D 模型,并且他们将空间结构建模为部分和整体之间的关系,而这些关系根本不依赖于视点,”Hinton 说。“我认为在处理 3D 对象的图像时不使用这种美丽的结构是很疯狂的。”
胶囊网络,Hinton 雄心勃勃的新项目,尝试做逆向计算机图形学。虽然胶囊应该有自己的独立文章集,但它们背后的基本思想是拍摄图像,提取其对象及其部分,定义它们的坐标系,并创建图像的模块化结构。
胶囊网络仍在开发中,自 2017 年推出以来,已经经历了多次迭代。但如果 Hinton 和他的同事们成功地让它们发挥作用,我们将更接近于复制人类的视觉。