《《《翻译》》》RGB-D Object Dataset

原文名称:A Large-Scale Hierarchical Multi-View RGB-D Object Dataset

原文地址:https://www.researchgate.net/profile/Dieter_Fox/publication/221069308_A_Large-Scale_Hierarchical_Multi-View_RGB-D_Object_Dataset/links/0c96052a6c490ce283000000.pdf

摘要-在过去的十年中,公共图像库和识别基准的可用性使得在视觉对象类别和实例检测方面取得了快速的进展。今天,我们正在见证新一代传感技术的诞生,该技术能够提供高质量的同步视频的颜色和深度,RGB-D(Kinect.)相机。凭借其先进的传感能力和大规模采用的潜力,这项技术代表了显著提高机器人对象识别、操纵、导航和交互能力的机会。在本文中,我们介绍了一个大规模的,多层次的多视图对象数据集使用RGB-D相机收集。该数据集包含300个被组织成51个类别的对象,并且已经向研究社区公开,以便基于这一有希望的技术实现快速进展。本文描述了数据集的采集过程,并介绍了基于RGB-D的对象识别和检测技术,表明结合颜色和深度信息可以显著提高结果的质量。
一、引言
公共图像库在Web上的可用性,如谷歌图像和Flickr,以及视觉识别基准,如加州理工学院101(9)、LabelMe(24)和IMANETET(7),使得视觉对象类别和实例检测在过去的十年中取得了快速的进展。类似地,机器人数据集存储库RADISH[16]极大地提高了机器人研究人员开发和比较其SLAM技术的能力。今天,我们正在见证新一代传感技术的诞生,该技术能够提供高质量的同步视频的颜色和深度,RGB-D(Kinect-.)相机[23],[19]。
凭借其先进的传感能力,以及最初由Microsoft Kinect[19]驱动的消费者大规模采用的潜力,这项技术代表了显著提高机器人对象识别、操纵、导航和交互能力的机会。在本文中,我们介绍了一个大规模的,多层次的多视图对象数据集使用RGB-D相机收集。数据集及其伴随的分割和视频注释软件已经向研究界公开提供,以使得基于这种有前途的技术的快速进展成为可能。数据集在http://www.cs.washington.edu/rgbd-dataset。

       不同于许多使用互联网照片构建的现有识别基准,其中不可能跟踪不同图像中的对象是否是物理上相同的对象,我们的数据集由一组对象的多个视图组成。这类似于由SavaReSe等人提出的3D对象类别数据集。(25)包含8个对象类别,每个类别中有10个对象,每个对象有24个不同的视图。这里给出的RGB-D对象数据集的规模要大得多,其中RGB和深度视频序列来自多个视角的300个常见日常对象,总共有250000RGB-D图像。利用WordNet Hynym/HyyNym关系将对象组织成层次的类别结构。
        除了引入一个大的对象数据集之外,我们还介绍了基于RGB-D的对象识别和检测技术,并证明结合颜色和深度信息可以显著地改善我们在数据集上获得的结果。我们评估我们的技术在两个层面上。类别级别的识别和检测包括将先前未看到的对象分类为属于与先前已看到的对象(例如,咖啡杯)相同的类别。实例级别的识别和检测是识别一个对象是否在物理上是以前见过的相同对象。如果我们想在服务机器人等任务的上下文中使用这种识别系统,那么在这两个层次上识别和检测对象的能力是很重要的。例如,根据任务的上下文,将对象标识为一般咖啡杯或Amelias咖啡杯可能具有不同的含义。在本文中,我们使用Word实例来引用单个对象。

 

二、RGB-D对象数据集的收集

RGB-D对象数据集包含从多个视图拍摄的300个物理上不同的对象的视觉和深度图像。所选择的对象通常在家庭和办公环境中发现,其中个人机器人预期操作。对象被组织成从WordNet超名/下义关系获取的层次结构,并且是ImageNet[7]中类别的子集。图2显示了对象类别层次结构中的几个子树。水果和蔬菜都是层级中的顶级子树。设备和容器都是仪器范畴内的子树,它们覆盖了非常广泛的人造物体。数据集中的300个对象中的每一个都属于这个层次结构中的51个叶子节点中的一个,每个类别中有3-14个实例。叶节点在图2中为阴影蓝色,每个类别中的对象实例的数目用括号给出。图3显示了来自数据集的一些示例对象。每个显示的对象来自51个对象类别中的一个。虽然背景在这些图像中是可见的,但数据集也提供分段掩码(参见图4)。使用组合视觉和深度线索的分割过程在第III部分中描述。
使用由PrimeSense[23]制造的原型RGB-D相机和Point Grey Research的火焰相机组成的传感装置收集数据集。
RGB-D相机同时记录彩色图像和深度图像,分辨率为640×480分辨率。换句话说,RGB-D帧中的每个像素包含四个通道:红色、绿色、蓝色和深度。物理空间中的每个像素的3D位置可以使用已知的传感器参数计算。
RGB-D相机通过连续投影不可见的红外结构光图案和执行立体三角测量来创建深度图像。与被动多摄像机立体技术相比,这种主动投影方法导致更可靠的深度读数,特别是在无纹理区域。图1(顶部)示出由RGB图像和深度图像组成的单个RGB-D帧。与RGB-D相机一起提供的驱动软件确保RGB和深度图像对齐和时间同步。除了RGB-D相机,我们还使用安装在RGB-D相机上方的点灰研究蚱蜢相机记录数据,提供更高分辨率(1600×1200)的RGB图像。使用Matlab的摄像机校准工具箱校准这两个摄像机〔2〕。为了同步来自两个相机的图像,我们使用图像时间戳将每个草蜢图像与RGB-D帧相关联,RGB-D帧在时间上最接近。RGBD相机收集数据在20赫兹,而蚱蜢具有更低的帧率AROND 12赫兹。图1(底部)显示了碗的放大部分,显示了RGB-D相机和点灰蚱蜢的图像分辨率之间的差异。
使用这种摄像机设置,我们记录每个对象的视频序列,因为它在转盘上以恒定速度旋转。摄像机放在离转台大约1米的地方。这是RGB-D相机返回可靠深度读数所需的最小距离。用安装在相对于转台三个不同高度、地平线以上大约30、45_和60_处的相机记录数据。在每个高度记录每一个物体的一次旋转。每个视频序列以20Hz记录并且包含大约250帧,在RGB-D对象数据集中给出总共250000RGB+深度帧。通过跟踪转台上的红色标记,视频序列都以[0;2π]之间的地面真实物体姿态角进行注释。为每个类别选择参考姿态,使得姿态角在类别中的对象的视频序列中是一致的。例如,所有咖啡杯的视频都被标记为手柄右边的图像为0μm。

三、分割
在没有任何后处理的情况下,RGB-D视频帧的大部分被背景占据。我们使用视觉线索、深度线索,以及转台和摄像机之间的配置的粗略知识,从视频序列中产生完全分割的对象。
分割的第一步是根据转台和照相机之间的已知距离,通过只取3D边界框内的点来去除大部分的背景。这个修剪修剪大部分在背景中很远的像素,只留下转盘和物体。利用物体位于转台表面之上的事实,我们可以执行RANSAC平面拟合[11]来找到转台平面,并将位于转台表面之上的点作为物体。
这个过程为数据集中的许多对象提供了非常好的分割,但是对于小的、暗的、透明的和反射的对象仍然存在问题。由于深度图像中的噪声,在RANSAC平面拟合过程中,像橡皮擦和标记之类的细小物体的部分可能被合并到表中。暗色、透明和反射对象导致深度估计失败,导致像素只包含RGB但不包含深度数据。如果我们只使用深度线索,这些像素将被排除在分割之外。因此,我们也应用基于视觉的背景减法来生成另一个分割。图4的顶行示出了基于深度的分割的几个例子。几个物体被正确分割,但是缺少深度读数导致水瓶、罐子和标记盖的大部分被排除。
为了进行基于视觉的背景减除,我们采用了KaewTraKulPong等人的自适应高斯混合模型[18],并在OpenCV库中使用了该实现。场景中的每个像素用k高斯混合建模,当视频序列逐帧播放时更新。该模型是自适应的,并且只依赖于最近帧的窗口W。如果当前帧中的像素的值与混合物中的所有高斯值超过标准偏差,则将其分类为前景。对于我们的对象分割,我们使用k=2,w=200,和Sig==5。图4的中间行显示了视觉背景减法的几个例子。该方法很好地分割出物体的边缘,并且可以分割出深度没有达到的物体的部分。然而,它往往会遗漏颜色一致的物体的中心,例如图4中的桃子,并拾取转盘上的移动阴影和标记。
由于基于深度和基于视觉的分割都在不同条件下分割对象,所以我们结合这两个来生成最终的对象分割。我们以深度分割为出发点。然后,我们通过检查它们的深度值,从不在背景中的视觉分割中也在转台上添加像素。最后,在该分割掩模上运行滤波器以去除孤立像素。图4的底部行示出使用组合深度和视觉分割的分割结果。组合过程为所有对象提供高质量分割。

四、视频场景注释
除了使用转盘记录的对象的视图之外,RGB-D对象数据集还包括8个自然场景的视频序列。这些场景覆盖了常见的室内环境,包括办公室工作区、会议室和厨房区域。在每一个场景中漫步时,通过将RGB-D相机保持在近似人眼高度来记录视频序列。每个视频序列包含来自RGB-D对象数据集的多个对象。对象是从不同的视点和距离可见的,并且可以在部分帧中部分或完全闭塞。图7总结了每个视频序列中的帧数目和对象数目。在第六节中,我们演示了RGB-D对象数据集可以用作在这些自然场景中执行对象检测的训练数据。这里,我们将首先描述如何用RGB-D对象数据集中的对象的地面真值边界框来注释这些自然场景。传统上,计算机视觉社区一次一帧地注释视频序列。人类必须使用注释软件(比如LabelMe注释工具[24],以及最近的vatic[26])来冗长地分割每个图像中的对象。
跨视频帧的时间插值可以稍微缓解这种情况,但只有在相机轨迹复杂的情况下,对小帧序列的时间插值才有效。众包(例如,.calTurk)也可以缩短注释时间,但是仅仅通过将工作分发给更多的人来缩短注释时间。我们提出了另一种方法。代替标记每个视频帧,我们首先将视频序列拼接在一起,以创建整个场景的3D重建,同时跟踪每个视频帧的相机姿态。我们用手标注这个3D重建中的物体。
图5示出了一个厨房场景的重建,一个蓝色的帽子和一个用红色标记的苏打罐头。最后,在每个视频帧中,标记的3D点被投影回已知的摄像机姿态,并且这个分割可以用于计算对象边界框。图6示出了通过将图5中的标记的3D点投影到多个视频帧而获得的一些边界框。

我们的标签工具使用亨利等人提出的技术。〔15〕从RGBD视频帧中构建三维场景模型。RGB-D映射技术包括两个关键部分:1)连续视频帧的空间对齐,2)完整视频序列的全局一致对齐。通过对外观和形状匹配进行联合优化来排列连续帧。
基于外观的对准是用RANSAC在SIFT特征上用3D位置(3D SIFT)标注的。使用基于点对平面误差度量(5)的迭代最近点(ICP)来执行基于形状的对准。从3D SIFT匹配的初始对准用于初始化基于ICP的对准。Henry等人[15]表明,这允许系统处理仅凭视觉或形状无法产生良好对准的情况。通过使用3D SIFT将视频帧与先前收集的帧的子集匹配来执行环路闭包。全球一致的对齐产生与TROO,PosiGrand优化工具开发的机器人SLAM〔13〕。
整个场景是使用小彩色表面补丁称为Surfel[22 ],而不是保持所有的原始3D点。这种表示能够为环境的每个部分进行关于遮挡和颜色的有效推理,并提供结果模型的良好可视化。标记工具在这个Surfel-Posits中显示场景。
当用户选择要标记为对象的一组surfel时,使用在场景重建过程中计算的变换将它们投影回每个视频帧。Surfels允许有效的遮挡推理来确定标记对象在帧中是否可见,如果是,则生成边界框。

五、利用RGB-D对象数据集进行物体识别

此任务的目标是测试当分割良好或裁剪好的对象图像可用时,结合RGB和深度是否有帮助。据我们所知,这里给出的RGBD对象数据集是最大的对象多视图数据集,其中为每个视图提供RGB和深度图像。为了演示同时具有RGB和深度信息的实用性,在本节中,我们使用几个不同的分类器对RGB-D对象数据集呈现对象识别结果,这些分类器仅具有形状特征、仅具有视觉特征,并且具有形状和视觉特征。
在对象识别中,任务是给每个查询图像分配标签(或类)。可能被指派的可能标签是提前知道的。处理这一问题的最先进的方法通常是监督学习系统。一组图像用它们的基本真值标签进行注释,并交给分类器,分类器学习用于区分不同类的模型。我们评估对象识别性能在两个级别:类别识别和实例识别。在类别级识别中,系统被训练在一组对象上。在测试时,系统被呈现为RGB和深度图像对,其中包含训练中不存在的对象,并且任务是为图像(例如,咖啡杯或汽水罐)分配类别标签。在实例级识别中,系统对每个对象的视图子集进行训练。这里的任务是区分对象实例(例如百事可乐,山露罐,或AQUAFINA水瓶)。在测试时,系统将呈现一个RGB和深度图像对,该图像对包含一个对象的先前未看到的视图,并且必须为图像分配实例标签。
我们通过拍摄每第五个视频帧对转盘数据进行二次采样,得到大约45000个RGB-D图像。对于类别识别,我们从每个类别中随机地留下一个对象来测试,并针对剩余对象的所有视图训练分类器。例如识别,我们考虑两种情况:

•交替相邻帧:将每个视频分割成等长的3个连续序列。每个对象有3个高度(视频),所以这为每个实例提供了9个视频序列。我们随机选择其中的7个用于训练和测试剩下的2个。
•离开序列:对安装在地平线以上30_和60_的每个物体的视频序列进行训练,并对45_视频序列进行评价

我们的平均精度跨越10个试验类别识别和实例识别与交替相邻帧。在数据拆分中没有随机性,所以我们报告单个试验的数字。
每个图像都是一个对象的视图,我们提取一组捕获视图形状的特征和另一组捕获视觉外观的特征。我们使用最先进的特征,包括来自形状检索社区的自旋图像[17]和来自计算机视觉社区的SIFT描述符[21]。从物理空间中每个深度像素的3D位置提取形状特征,用摄像机坐标系表示。我们首先计算随机采样的3D点集的自旋图像。每个自旋图像以3D点为中心,捕捉其邻域内点的空间分布。在二维16×16直方图中捕获的分布对于点法线的旋转是不变的。我们使用这些自旋图像来计算有效匹配核(EMK)特征,使用随机傅立叶集,如在[1 ]中提出的。EMK特征与词袋特征(BOW)类似,因为它们都取一组局部特征(这里是旋转图像)并生成描述包的固定长度特征向量。EMK近似于局部特征之间的高斯核,并给出相似性的连续度量。为了结合空间信息,我们将每个视图周围的轴对齐包围立方体划分为3×3×3网格。我们分别在27个细胞中计算一个1000维EMK特征。我们对每个单元中的EMK特征进行主成分分析(PCA),并采用前100个分量。最后,我们将三维特征包围盒的宽度、深度和高度作为形状特征。这给了我们一个2703维形状描述符。

为了捕获视图的视觉外观,我们在8×8个单元的密集网格上提取SIFT。为了生成图像特征和捕获空间信息,我们在两个图像尺度上计算EMK特征。首先,我们使用来自整个图像的SIFT描述符计算1000维EMK特征。然后将图像分割成2×2网格,分别从单元内的SIFT特征计算单元内的EMK特征。我们在每个单元上执行PCA,并取前300个分量,给出1500维EMK SIFT特征向量。此外,我们提取纹理直方图[20]特征,这些特征使用定向高斯滤波器响应捕获纹理信息。TeXTon词汇是由LabelMe上的一组独立的图像构建的。最后,我们包括颜色直方图,并且还使用每个颜色通道的平均值和标准偏差作为视觉特征。
我们评估了三种最先进的分类器:线性支持向量机(LinSVM)、高斯核支持向量机(kSVM)[8]、[4]、随机森林(RF)[3]、[12]。图8显示了这些分类器只使用形状特征、只使用视觉特征以及同时使用形状和视觉特征的分类性能。总体视觉特征对于形状级别和实例级识别都比形状特征更有用。然而,形状特征在类别识别中相对更有用,而视觉特征在实例识别中相对更有效。
这正是我们所期望的,因为特定对象实例在视图之间具有相当恒定的视觉外观,而相同类别中的对象可以具有不同的纹理和颜色。另一方面,形状往往是稳定的横跨一个类别在许多情况下。最有趣和最有意义的结论是,不管分类技术如何,组合形状和视觉特征都能够提供更高的总体分类级别的性能。这些特性相互补充,显示了可以提供形状和视觉信息的大规模数据集的价值。对于交替的连续帧实例识别,单独使用视觉特征已经给出非常高的精度,因此包括形状特征不会提高性能。遗漏序列外评估更具挑战性,在这里组合形状和视觉特征显著提高了准确性。
我们还在相同的实验设置下使用相同的特征集运行最近邻分类器,发现它的性能比基于学习的方法差得多。例如,当使用所有特征时,它在休假序列外实例识别上的性能是43:2%,比图8中报告的准确性差得多。

六.使用RGB-D对象数据集进行对象检测

现在,我们演示了如何使用RGB-D对象数据集来执行真实世界场景中的对象检测。给定图像,对象检测任务是识别和定位所有感兴趣的对象。与对象识别一样,对象属于固定的类标签集合。对象检测任务也可以在类别和实例级别上执行。我们的目标检测系统基于标准滑动窗口方法[6]、[10]、[14],其中系统评估图像中所有位置和尺度的得分函数,并对得分进行阈值化以获得目标边界框。每个检测器窗口是固定大小的,我们在图像金字塔上搜索20个尺度。为了提高效率,我们考虑线性评分函数(因此卷积可用于图像金字塔的快速评价)。我们执行非最大抑制,以消除多个重叠检测。
设H为特征金字塔,P为子窗口的位置。p是三维向量:前两个维度是子窗口的左上角,第三个维度是图像的尺度。我们的得分函数是

其中w是滤波器(权重),b是偏置项,φ(H;p)是位置p处的特征向量。我们使用线性支持向量机(SVM)训练滤波器w:

其中N是训练集大小,Yi 2 F=1;1G标签,XI特征向量在裁剪图像上,C是权衡参数。
分类器的性能很大程度上取决于用于训练它的数据。对于物体检测,有许多潜在的负面例子。单个图像可用于生成滑动窗口分类器的105个负值示例。因此,我们遵循Bootstrap硬负挖掘过程。正例是我们感兴趣的对象窗口。从背景图像和其他类别/实例的对象图像中随机选择初始阴性实例。训练的分类器用于搜索图像并选择具有最高分数(硬底片)的假阳性。然后将这些硬底片添加到负值集,并重新分类分类器。此过程重复5次以获得最终分类器。

作为特征,我们使用定向梯度直方图(HOG)[10]的变体,这已经被发现比原始HOG稍微好一些。该版本考虑了对比度敏感和不敏感特性,其中每个单元(8×8像素网格)中的梯度方向分别使用两个不同的量化级别编码为18(0_360)和9个方向箱(0_180)。这产生了4×(18+9)=108维特征向量。使用完整的108维特征向量的31-D解析投影。前27个维度对应于不同的取向通道(18对比敏感度和9对比度不敏感)。最后4个维度捕获了2×2个细胞的四个区块中的总梯度能量。
除了HOG over RGB图像,我们还计算HOG over深度图像,其中每个像素值都是实际的物体到摄像机的距离。在提取HOG特征之前,我们需要在深度图像中填充缺失值。
由于缺少的值往往被分组在一起,我们在这里开发一个递归中值滤波器。我们没有考虑所有相邻像素值,而是取以当前像素为中心的5×5网格中非缺失值的中值。我们递归地应用这个中值滤波器,直到所有丢失的值都被填充。在图9中示出了示例原始深度图像和滤波深度图像。
最后,我们还计算捕获对象的尺度(真尺寸)的特征。我们观察到物体到摄像机的距离d与其标度o成反比。对于特定标度s的图像,我们有c=o *s/d,其中c是常数。在滑动窗口方法中,检测器窗口是固定的,这意味着O是固定的。因此,我们称之为归一化深度的D/S是常数。由于深度是嘈杂的,我们使用8×8网格的归一化深度直方图来获取尺度信息。对于给定图像中的每个像素,d是固定的,因此归一化深度直方图可以从图像金字塔中选择正确的图像尺度。
我们使用了20个桶的直方图,每个桶的范围为0.15m。〔14〕使用深度信息来定义得分函数。然而,利用深度信息的方法与我们的方法非常不同:HelMet等人。使用深度信息作为先验,而我们构建一个尺度直方图特征从归一化深度值。

我们针对第四节描述的8个自然场景视频序列评估了上述目标检测方法。由于连续帧非常相似,因此我们对视频数据进行子采样,并在每5帧运行我们的检测算法。我们构建了4个类别级别检测器(碗、帽、咖啡杯、汽水罐)和20个来自同一类别的实例级别检测器。我们遵循PASCAL视觉对象挑战(VOC)评价指标。如果预测边界框和地面真值边界框的交叉点的大小超过它们联合的大小的一半,则认为候选检测是正确的。对于相同的基本事实,多次成功检测中只有一次被认为是正确的,其余的被认为是假阳性。我们报告了精确召回曲线和平均精度,它是由精确召回曲线计算的,并且是曲线下面积的近似值。对于多个类别/实例检测,我们将跨类别/实例和图像的所有候选检测汇总,以生成单个精度-召回曲线。
在图10中,我们显示了将检测性能与只使用图像特征(红色)、只使用深度特征(绿色)和两者(蓝色)训练的分类器进行比较的精确召回曲线。我们发现深度特征(HOG在深度图像和归一化深度直方图)比RGB图像上的HOG要好得多。其主要原因是在深度图像中,强梯度主要来自真实物体边界(参见图9),与RGB图像上的HOG相比,这导致更少的假阳性,其中颜色变化也可能导致强梯度。通过结合图像和深度特征来获得最佳性能。如果没有可比性,该组合在所有召回级别上比仅图像和深度给出更高的精度。特别是,当需要高召回时,结合图像和深度特征提供了更高的精度。
图11示出了三个场景中的多目标检测结果。最左边的场景包含从与训练数据中明显不同的视点观察到的三个对象。多类别检测器能够正确地检测所有三个物体,包括部分被谷物盒遮挡的碗。中间场景显示了一个杂乱的场景中有许多分散对象的分类级别检测。该系统能够正确地检测除了远离相机的部分被遮挡的白色碗之外的所有物体。请注意,检测器能够识别同一类别的多个实例(瓶盖和汽水罐)。
最右边的场景显示杂乱场景中的实例级检测。在这里,该系统能够正确地检测到碗和帽,即使帽部分闭塞的碗。我们当前的单线程实现大约需要10秒来运行四个对象检测器来标记每个场景。在规则网格上进行特征提取和评估滑动窗口检测器都很容易并行化。我们相信,基于GPU的实现所描述的方法可以执行多目标实时检测。

七。讨论
在本文中,我们提出了一个大规模的,多层次的多视图对象数据集使用RGB-D相机收集。通过三维重建、目标识别和目标检测,证明了深度信息对背景减除、视频地面真值标注等都有很大的帮助。RGB-D对象数据集和一组完全集成到机器人操作系统(ROS)中的用于访问和处理数据集的工具,可以在http://www.cs.washington.edu/rgbd-dataset.
REFERENCES
[1] L. Bo and C. Sminchisescu. Efficient Match Kernel between Sets of Features for Visual Recognition. In Advances in Neural Information Processing Systems (NIPS), December 2009.
[2] Jean-Yves Bouguet. Camera calibration toolbox for matlab. http: //www.vision.caltech.edu/bouguetj/calib_doc/.
[3] Leo Breiman. Random forests. Machine Learning, 45(1):5–32, 2001.
[4] Chih-Chung Chang and Chih-Jen Lin. LIBSVM: a library for support vector machines, 2001.
[5] Y. Chen and M. Gerard. Object modelling by registration of multiple  range images. Image Vision Comput., 10(3):145–155, 1992.
[6] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2005.
[7] J. Deng, W. Dong, R. Socher, L. Li, K. Li, and L. Fei-fei. ImageNet:A Large-Scale Hierarchical Image Database. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2009.
[8] R. Fan, K. Chang, C. Hsieh, X. Wang, and C. Lin. Liblinear: A library for large linear classification. Journal of Machine Learning Research (JMLR), 9:1871–1874, 2008.
[9] L. Fei-Fei, R. Fergus, and P. Perona. One-shot learning of object categories. IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 28(4):594–611, 2006.
[10] P. Felzenszwalb, D. McAllester, and D. Ramanan. A discriminatively trained, multiscale, deformable part model. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2008.
[11] Martin A. Fischler and Robert C. Bolles. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Commun. ACM, 24(6):381–395, 1981.
[12] Yoav Freund and Robert E. Schapire. Experiments with a new boosting algorithm. In International Conference on Machine Learning (ICML), pages 148–156, 1996.
[13] G. Grisetti, S. Grzonka, C. Stachniss, P. Pfaff, and W. Burgard. Estimation of accurate maximum likelihood maps in 3d. In IEEE International Conference on Intelligent Robots and Systems (IROS), 2007.
[14] Scott Helmer and David G. Lowe. Using stereo for object recognition. In IEEE International Conference on Robotics & Automation (ICRA), pages 3121–3127, 2010.
[15] P. Henry, M. Krainin, E. Herbst, X. Ren, and D. Fox. RGB-D Mapping: Using depth cameras for dense 3D modeling of indoor environments. In the 12th International Symposium on Experimental Robotics (ISER), December 2010.
[16] A. Howard and N. Roy. The robotics data set repository (radish), 2003.
[17] A. Johnson and M. Hebert. Using spin images for efficient object recognition in cluttered 3D scenes. IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 21(5), 1999.
[18] P. Kaewtrakulpong and R. Bowden. An improved adaptive background mixture model for realtime tracking with shadow detection. In European Workshop on Advanced Video Based Surveillance Systems, 2001.
[19] Microsoft Kinect. http://www.xbox.com/en-us/kinect.
[20] T. Leung and J. Malik. Representing and recognizing the visual appearance of materials using three-dimensional textons. Int. J. Comput. Vision, 43(1):29–44, June 2001.
[21] David G. Lowe. Object recognition from local scale-invariant features. In IEEE International Conference on Computer Vision (ICCV), 1999.
[22] H. Pfister, M. Zwicker, J. van Baar, and M. Gross. Surfels: Surface elements as rendering primitives. In ACM Transactions on Graphics (Proc. of SIGGRAPH), 2000.
[23] PrimeSense. http://www.primesense.com/.
[24] B. Russell, K. Torralba, A. Murphy, and W. Freeman. Labelme: a database and web-based tool for image annotation. International Journal of Computer Vision, 77(1-3), 2008.
[25] S. Savarese and Li Fei-Fei. 3d generic object categorization, localization and pose estimation. In IEEE International Conference on Computer Vision (ICCV), pages 1–8, 2007.
[26] C. Vondrick, D. Ramanan, and D. Patterson. Efficiently scaling up video annotation with crowdsourced marketplaces. In European Conference on Computer Vision (ECCV), 2010.

要制作COCO数据集,包含RGB-D图像的JSON标注文件,您可以按照以下步骤进行操作: 1. 收集RGB-D图像数据:使用RGB-D相机(例如Microsoft Kinect、Intel RealSense等)或者其他深度传感器采集RGB-D图像数据。 2. 安装并配置COCO API:COCO API是一个用于处理COCO数据集的Python库。您可以在GitHub上找到它并按照说明进行安装和配置。 3. 创建COCO数据集的目录结构:在您选择的目录下创建如下结构的目录: ``` dataset/ - images/ - annotations/ ``` 4. 将RGB图像和深度图像保存到images目录中:将RGB图像和对应的深度图像保存到images目录中,并确保它们具有相同的文件名。 5. 创建JSON标注文件:使用COCO API创建JSON标注文件。您可以使用Python脚本读取RGB图像和深度图像的信息,并将其转换为COCO数据集的格式。以下是一个示例脚本,您可以根据自己的数据格式进行修改: ```python import os from pycocotools import coco # 初始化COCO标注对象 coco_dataset = coco.COCO() # 创建COCO数据集信息 coco_dataset.dataset['info'] = { 'description': 'RGB-D Dataset', 'url': '', 'version': '1.0', 'year': 2022, 'contributor': 'Your Name', 'date_created': '2022-01-01' } # 创建COCO类别信息 coco_dataset.dataset['categories'] = [ {'id': 1, 'name': 'object1', 'supercategory': 'object'}, {'id': 2, 'name': 'object2', 'supercategory': 'object'}, # 添加更多类别 ] # 读取RGB图像和深度图像,生成COCO标注信息 image_files = os.listdir('dataset/images') for image_file in image_files: image_id = int(image_file.split('.')[0]) # 图像文件名作为image_id image_info = { 'id': image_id, 'file_name': image_file, 'height': 480, # 图像高度 'width': 640, # 图像宽度 } # 创建COCO标注信息 annotations = [] # 根据深度图像进行目标检测或语义分割等任务,生成对应的标注信息,添加到annotations列表中 # 格式参考COCO标注格式 image_info['annotations'] = annotations coco_dataset.dataset['images'].append(image_info) # 保存JSON标注文件 coco_dataset.createIndex() with open('dataset/annotations/instances_train.json', 'w') as f: f.write(coco_dataset.dataset) ``` 请注意,在上述示例中,您需要根据您的数据格式和任务类型进行相应的修改。 希望这些步骤可以帮助您制作包含RGB-D图像的COCO数据集!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值