ObjectNet3D论文笔记

ObjectNet3D是一个大型数据库,用于3D物体识别(从2Dimages中识别出3D物体)

 

把图片中的二维物体用3D shape(包含3D pose和the closest 3D shape,即3d物体某一角度的投影与2d图形重合,也就是知道了3d物体的姿态和形状,同时投影也将2d图形的边界标记出来了)标记出来

从2D图片中识别出3D location、pose、shape是计算机视觉的一个核心问题。(应用:机器人、无人驾驶、增强现实)

 

对于三维物体识别的诸多方法,均受益于各种给2D图形提供3D标注的数据库。(比如:用3D点云、3D CAD 模型来align 2D图形),通过这些提供的3d信息,可以用监督学习的方法来进行3d物体属性的识别。

大型的2D数据库对于2D图片的识别等方面有很大的帮助,类比于此,3D数据库对于3D的处理应该也是十分重要的。

因此论文作者提出建立大规模3d数据库----ObjectNet3D

包含物体类别、2D images、images中的物体、3D shape

()

而且,通过3d形状刻意渲染出任意数量的人造图片,同样可以用来帮助3d物体的识别。【1】

用3D shape标记2D物体:

1.      挑选出与2D物体相似的3D shape,但是让标注器每次都全扫描3d形状库不具有可行性。

解决:用这些3d形状渲染出的人造图片,用深度度量学习方法来对3d形状进行特征提取。从而对于一个2d图像中的物体可以只检索排名靠前的几个与它相似度大的3d形状(top K)

2.      在标记时确定3d物体的姿态是很容易出错的

相关工作:

1.      带视角的数据集

通常规模较小,视角粗分,场景简单。

而本文数据库可以对于网络上的真实图片给出连续的视角标注

2.      带深度或3d点云的数据集:

本文的数据库用3d形状来标记2d图像中的对象,信息更加丰富,元数据转为2d图像

3.      带2d-3d匹配的数据集

本文的数据库更多的物体种类、每个类别中更多3d形状且2d 物体与3d匹配更加精确

上述各种类型的数据集之间的对比:

数据库建设

方法:利用现存的图片数据仓库和3d图形仓库利用一定的方法进行匹配。

1.      物体类别

本文只考虑固定类别的物体(100种),从网上获取相关的3d shapes。对于像动物这种带关节的可变形的物体类别,需要对应的带关节的可变形的3d shapes来与之匹配。

2.       2d图像的获取

根据那100种物体类型,寻找相应的图片(从图片仓库中找,没有的从谷歌图片中爬取),物体的出现有时会呈现出一定的规律(如共同出现,某些场景中会包含什么物体等)

3.       3d 形状的获取

(1)        手动的挑选每个类别下子类的代表性3d形状并对于每个3d shape手动的挑选特征点(来自Trimble3D Warehouse)          

(2)        扩充3d shapes数量(来自ShapeNet) 

4.       相机模型

世界坐标系O、相机坐标系C,二者之间的旋转变换(旋转矩阵R和转换向量T是相机的外参数,相机内参数:焦距f、视角大小、u,v),即相机的投影矩阵M,这一系列参数明确了2d物体和3D形状匹配。   

5.       标注过程

(1)        在图像中对每个物体都标出2d边框

(2)        通过这些边框与最相似的3d shapes进行匹配

(3)        用相机模型对进行2d-3d匹配,通过调整相机模型中的6个可变参数,使3d shape的投影与2d物体吻合程度最优(人为的调整,有一个可人为操作的界面)

6.       3D 形状检索

靠手工匹配是不可行的,所以提出了3D 形状检索方法,即利用人造图片来学习特征表示(只用人造图片来进行特征表示,使得同一个3d shapes生成的图片可以归为同一类)

然后对于一个给出的2d物体,对N个3d shapes与它进行距离计算D(距离计算方法:把某个3d shapes表示成该3d shape生成的人造图片的一个序列S,然后取距离的平均值)为了使人造图片更接近于真实图片,我们为它添加了背景和不同的光照【1】。

 

实验

四个不同的任务:生成物体辨别、2d物体探测、joint 2D detection and 3D pose estimation、基于图片的3d形状检索

 

1.       物体识别

DNNs对物体的识别的发展起到了很大的作用(预处理,减少图片的搜索空间),评价region proposal的标准是,看groud truth被打上标记的百分比,当一个区域与GT box重合的范围超过一定的值就认为是有效的。

2.       2d物体探测
用Fast R-CNN framework(最先进的物体检测方法)来对在本数据库上进行2d物体检测进行评价。

讲了用两个CNN网络进行物体检测的过程,如图:

用平均精度(AP)来评价2d物体检测的性能,AP就是精度回归曲线下的面积

Overall所有类得出他们的平均AP(mAP)表中给出了不同数据集不同区域推荐算法的mAP

在本数据集上用VGGNet with SelectiveSearch proposals得到的100个类别的AP

可以发现有些类别的容易识别,有些较难(内部种类繁杂或者可区分的特征较少)

group all 100 categories into 6 super-categories:container,electronics, furniture, personal items, tools and vehicles,分别看这6大类检测的误报率(误报主要是由于定位错误/类别或者背景混淆)

3.       joint 2Ddetection and 3D pose estimation(连带检测2D和3D pose)

本数据集中用2D物体匹配了3d 物体,所以可以为本数据集中的物体提供连续的3d 姿态标记。作者在Fast R-CNN network的基础上做了改变,加入了一个viewpoint regression FC branch,对于每个类别,提供三个视角----azimuth, elevation andin-plane rotation.之前的方法只考虑了azimuth这个视角的估计错误,我们对这三个视角都进行了评估。我们推广了AVP和AOS

4.       基于图片的3d形状检索

(1)        对于每个3d形状,从不同的视角(视角的取样根据视点标记中三个视角的密度分布)渲染出100张人造图片。为了使人造图片更加仿真,随机添加背景。

(2)        同一个3d形状渲染出来的图片视为同一类(使能够应用深度度量学习方法对渲染出来的图片进行特征表示)

(3)        训练之后的网络可以将每张图片表示成一个特征向量(经过FC层的计算),3d形状就用特征向量的平均值来表示。

实验:

用渲染出来的图片作为输入,来检索生成该图片的3d 形状(性能评价:在top-k的检索结果中,正确图片所占的百分比)

Lifted structured embedding方法能够利用批当中测试用例的关系,因此有更好的表现,所以本数据集采用这种方法来进行真实图片的检索。

为了减少检索的数据量,我们对于我们数据中的每一个物体都从ShapeNetCore中选择了一个相近的3d图形

运用真实图片的测试过程:

(1)        从每个类别中随机抽取100个物体。然后对于每个物体让3个标注器判断在前二十的结果中是否有相似的3d形状

(2)        基于标注器的判断,对每个类别计算Recall@20

这种方法对于那种有足够数量的3d形状来涵盖形状不一的物体的类别时比较有效,但是对于3d形状很少的类别尤其是内部分类繁多的类别,效果有待增强。

总结:

1.建立了一个包含100个种类物体的大型数据库,用3d shape与2d物体进行匹配的方式给

数据库中的物体提供3d标注。

2.该数据库可以被用来作为基础,进行物体识别任务(包括:2d物体检测(用3d形状进行标记就自然的找出了2d物体的边界线)、3d物体姿态估计(通过调整相机模型中的6个可变参数,使3d shape的投影与2d物体吻合程度最优)、输入图片进行3d形状检索)

【1】Su, H., Qi,C.R., Li, Y., Guibas, L.J.: Render for cnn: Viewpoint estimation in imagesusing cnns trained with rendered 3d model views. In: ICCV. pp. 2686{2694(2015)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值