APP下载

基于单视图3D重建的快递纸箱体积测量算法①

2020-11-13冯相如

计算机系统应用 2020年10期
关键词:纸箱预处理分辨率

冯相如,朱 明

(中国科学技术大学 信息科学与技术学院,合肥 230027)

在2015年及其以前,国内的所有快递的测量几乎都是由快递员人工测量完成的[1],耗费了大量的人力和时间,频繁的手动操作对快递员是一种极大的负担,测量精度也很难得到保证,因此导致物流行业的效率非常低.为了提高物流效率,测量光幕和激光雷达等仪器设备被应用于快递物流行业中,刘士兴等人[2]利用测量光幕提出了基于线性回归分析的边缘拟合底面建模体积测量系统,毛丹辉等人[3]详细介绍了激光技术在体积测量中的应用现状.但是该方法也存在着一定的不足,测量光幕除了对物品摆放有一定的要求,还对工作环境有所限制,而激光雷达等设备也比较昂贵,增加了物流行业的成本.

第一代基于图像的3D 重建技术主要是基于几何视角来理解重建3D 到2D 的投影关系,并建立有效地数学模型来解决这一问题.王玉伟等人[4]利用训练好的RCF 网络模型得到图像中箱体的边缘二值图,并通过预处理获取目标箱体的边缘与顶点,最后通过双目立体视觉获得其体积,宓逸舟[5]同样用了双目立体视觉的算法对快递包裹进行了体积测量.但是这类方法过程比较复杂,需要进行精准的相机标定和多张不同视角的图像,这会大大限制多种环境下的应用.由于最近几年深度学习的快速发展,基于图像的深度学习构架出了第二代3D 重建技术,在大量数据的支撑下实现单视图直接重建出物体的三维信息,而不需要复杂的标定和数学过程.

本文提出的基于第二代3D 重建的快递纸箱体积测量算法,是让快递员用普通手机正对着快递纸箱拍照并上传到服务器,通过部署在服务器上体积测量算法计算出快递纸箱的体积,最终将结果在手机上显示.相对于前面几种方法,该方法仅需要拍摄一张照片便可获得其体积信息,并对工作环境没有特殊的要求,成本低,适用性强.

本文第1 节阐述基于单视图3D 重建的相关研究,并简单介绍所设计的体积测量算法;第2 节详细介绍整个体积测量算法的各个模块;第3 节是实验结果对比与分析,验证该算法对快递纸箱体积测量的有效性;第4 节对全文总结,并展望下一步工作.

1 概述

1.1 单视图的3D 重建

3D 重建问题可以归结为通过n张RGB 图像预测出单个或多个目标X,并尽可能地缩小预测形状与真实形状之间的差异.在过去的数十年中,计算机视觉和计算机图形学的专家对3D 重建进行了很多的研究.自2015年首次将卷积神经网络用于基于图像的3D 重建[6],并有着十分不错的表现后,越来越多人专注于使用深度学习技术从单张或多张RGB 图像来估计通用对象的3D 形状.本文考虑到实际操作的简单实用性,所以采用单视图的3D 重建算法来进行快递纸箱的体积测量.

3D-VAE-GAN[7]利用变分自编码器和生成对抗网络从概率空间生成三维对象,但是由于3D-VAE-GAN需要使用类别标签进行重建.MarrNet[8]将3D 重建分解为两个步骤,使用一个编码器-解码器网络架构恢复2.5D 草图(深度图和法线贴图),并借鉴3D-VAE-GAN网络结构,以一张普通图像和一张深度图作为输入来恢复3D 形状.Choy 等[9]提出了3D-R2N2 网络,采用标准的卷积神经网络结构对原始的2D 图像进行编码,再利用一个反卷积网络对其进行解码,编码器与解码器中间用长短期记忆网络(LSTM)进行连接,通过Encoder+3D LSTM+Decoder 的网络结构来建立2D 图像到3D 体素的映射,该网络不需要任何的图像注释和类别标签即可训练测试,但是3D-R2N2 由于循环神经网络的长期记忆损失,无法精确恢复物体3D 形状,并且比较耗时.

党的十九大胜利召开以来,西南政法大学始终把学习宣传贯彻习近平新时代中国特色社会主义思想和党的十九大精神作为首要的政治任务,按照中央、市委、市委教育工委的统一部署,遵循马克思主义大众化和大学生思想政治工作规律,结合学校思想政治工作实际,依托学校马克思主义传播人才培养专业群,探索建立了一支以学生骨干为核心主讲团队的习近平新时代中国特色社会主义思想大学生讲习所(以下简称“讲习所”)。

本文采用基于体素的Pix2Vox3D 重建网络[10],Pix2Vox 对3D-R2N2 网络存在的不足进行了改进,在速度和性能上都获得了一定的提升.它同样采用编码器-解码器的架构,输入图像经过VGG16[11]的编码器生成特征图,解码器中将特征图作为输入,经过多次反卷积操作生成一个粗糙的3D 模型,通过上下文感知模块来为物体的每个部分自适应的选择高质量重建结果,最终经过具有跳跃结构的精炼化模块生成最终的重建结果.但是对于体积测量来说精确度仍不满足实际的需求,所以本文通过注意力机制进行信息的融合,并将网络输出分辨率提高,提升快递纸箱重建的精度.

1.2 本文工作

本文提出的快递纸箱的体积测量算法主要包含3 部分,如图1所示:图像预处理,3D 重建和后处理.图像预处理是通过YOLOv3[12]级联GrabCut[13]去除图像中的背景,提取纸箱与快递单标签图像,并获得纸箱的实际长度,用于后续的计算.3D 重建部分是如何在不增加网络参数的同时提高重建的精度,从而达到体积测量的需求,本文将网络的输出分辨率提高至643,并通过结合注意力机制PSA 模块[14]降低网络参数.后处理是为了将网络重建后模型中的一些重建错误的点进行剔除,精细化的重建结果,并集成在3D 重建网络中.

图1 算法流程图

2 算法设计与实现

2.1 图像预处理模块

考虑到快递员的工作环境,手机摄像头获取的图像往往不能直接使用,如图2(a).需要通过对图像进行预处理,将纸箱和快递单与背景图像分割,该处理有助于提高三维重建算法的性能.

GrabCut 算法可以将图像中的纸箱和快递单标签与背景分割,该算法利用了图像的纹理颜色信息和边界反差信息,通过输入包含目标物体的矩形框,便可以得到良好的分割结果.由于快递单标签较小,考虑检测的速度与小目标检测的精确度,本文采用了YOLOv3目标检测网络获取包含纸箱和快递单标签的矩形框.YOLOv3 采用了类似FPN 的上采样和融合做法,相对于YOLOv2/v1 提升了小目标检测的精确度,同时采用了DarkNet-53 网络结构,相对于ResNet101/VGG16,速度更快.通过级联YOLOv3 与GrabCut 可以快速精准的分割出快递纸箱与快递单标签,快递纸箱分割结果如图2(b)所示.

将拍摄图简化如图2(c),将纸箱和快递单标签与背景分割后,接着使用图像处理可以在分割图像中找到P3、P4、P7、P8 四点的像素坐标.假定P7 与P8 点的像素长度为l1,P3 与P4 点像素长度为l2,因为快递单标签的实际尺寸是不变并且是可知的,我们设为P7 与P8 的实际长度为l,那么P3 与P4 点的实际长度L便为:

经过预处理操作后,从原始图像可以得到快递纸箱P3、P4 点之间的实际长度以及去除背景干净的快递纸箱的图像.

图2 图像处理样例

2.2 三维重建算法模块

Pix2Vox 网络虽然针对3D R2N2 网络存在的问题做了改进,但是网络最终输出的空间分辨率是323,对于精确地恢复快递纸箱的长宽高的尺寸是不够的.本文在Pix2Vox 的基础上,做了如下两点改进,网络结构图见图3.

(1)重新设计解码器,提高重建的分辨率.

(2)用PSA 模块替换网络中的两个全连接层,降低网络的参数.

每一次的3D 反卷积可以将网络的输出分辨率提升8 倍,本文通过设计一个具有6 层3D 反卷积的解码器来将网络的输出分辨率从323提升到643,如表1解码器列所示,输出分辨率的提升可以更好的恢复重建物体的细节,提升重建性能.由于网络中存在全连接层,提升分辨率会导致网络中参数增加了8 倍,在实际应用中是不可行的.根据分析可以知道网络中的全连接层主要作用是融合全局信息,以纠正3D 模型中错误恢复的部分,本文使用PSA 模块替换全连接层,PSA 模块具有局部和全局信息融合的效果,并且参数量会大大降低,参数量对比见后文分析.

图3 3D 重建网络结构图

表1 编码器-解码器网络结构

PSA 包括上下并行的两个分支,如图3中虚线部分,在实现上两个分支是完全一样的.在每个分支中,首先应用具有1×1 的卷积层减少输入特征图X的通道数以降低计算开销,得到H×W×C的特征图Xr.然后再应用一个1×1 的卷积层得到H×W×[(2H–1)×(2W–1)]的Xc,最后经过收集和分散操作获得两个具有全局融合信息的特征图.收集或分散操作如图4所示,图4对应图3中的CollectAttention 和DistributeAttention 具体操作.特征图Xr上每个位置i,对应特征图Xc的i位置1×1×[(2H–1)×(2W–1)] 的特征图,将其转换成(2H–1)×(2W–1)×1 的特征图Xi,最后以i作为特征图Xi中心点,如图4中以虚线突出显示的区域是用于特征的收集和分散,将该区域与Hr进行矩阵相乘得到具有全局融合信息的特征图.上下两层各得到这样的一个分支特征图,我们将该两个分支特征图进行通道数叠加并进行1×1 的卷积操作得到具有融合全局信息的特征图,最后与具有局部信息的特征图X 进行通道数叠加,完成全局信息的融合.

图4 Collect / Distribute Attention

网络采用的损失函数是体素交叉熵的平均值,公式如下:

其中,N为标签的数量,yi为真实概率,pi为预测概率,pi越接近yi,L值越小.

2.3 后处理模块

3D 重建网络输出的3D 模型是一个三维矩阵,每个位置的值代表了是该点的置信度.Trimesh 是一个专门用来加载和使用三角网格的Python 库,可以直接得到包围该重建模型的最小外接立方体的归一化的长宽高,但是因为在重建结果中会在边界生成一些错误的点,如图5中红色圈标注所示,如果用Trimesh 库来计算会有较大的误差,所以本文设计了算法1 来剔除这些噪点.

?

4)假定符合x=0,z=0 所有点的集合为S2,假定S2 中点的个数为N2,在x=0 的yz 这个面上,统计z 从max 到0 每列点的个数,若某列中点的个数大于 时,则此时z 值为快递纸箱归一化后的w.?N2(1−T1+T2)

图5 三维重建结果图

通过噪点剔除算法可以得到快递纸箱精确地归一化后的长宽高值,由2.1 节图像预处理操作可以得到快递纸箱实际的长度L,假定快递纸箱实际的宽度为W,实际的高度为H,存在如下的比例关系:

通过式(3)我们可以求出快递纸箱实际的长宽高,即能算出快递纸箱的实际体积.

3 实验分析

3.1 数据集

按照文献[9] 实验的数据集设置,我们也使用了ShapeNet[15]的子集,包含13 个类别,共43 783 个3D模型组成.由于目前的相关的3D 重建的开源数据集中没有快递纸箱的模型,所以为了验证本文算法的有效性,我们使用Cinema 4D 软件制作了与ShapeNet 相同格式的快递纸箱数据集,总共150 个快递纸箱的3D 模型,3600 张2 维图片,这里简称该数据集为box-150.

3.2 评价指标

首先为了评估改进后的3D 重建网络的性能,使用3D 体素重建与真实体素标签之间的体素IoU作为相似性度量,其公式如下:

其中,p(i,j,k)和y(i,j,k)分别表示预测概率和真实标签.I(·)是指示函数,t表示体素化阈值.IoU越高,重建越好.

我们用体积的相对误差衡量一个快递纸箱体积测量结果的好坏,具体公式如下:

其中,Vp和Vy分别代表预测体积和真实体积,δ越小表示体积测量的越准确.

3.3 实验结果

在实际训练中,由于快递纸箱数据集的限制,本文采用迁移学习的思想,网络先用ShapeNet 子集进行预训练150 个周期,接着在box-150 数据集上训练150个周期.网络采用224×224 RGB 图像作为输入,使用Adam 优化器,β1为0.9,β2为0.999,预训练时,批处理大小为64,初始学习率都设置为0.001,在box-150 训练时,批处理大小为10,初始学习率都设置为0.0005.

本文选择3 种3D 重建算法作为对比,第1 种是原始的Pix2Vox,第2 种是Pix2Vox 去除网络中的全连接层,简称为Pix2Vox-NF32,第3 种是Pix2Vox 去除网络中全连接层并将网络输出分辨率提高至643,这里简称为Pix2Vox-NF64.表2为4 个网络在不同阈值下重建性能的对比,以IoU作为评价标准,实验数据表明,直接去除全连接层会降低网络的性能,但去除全连接层后提高网络的输出分辨率能够提升网络的模型,当同时采用提高分辨率与PSA,模型更优.图6为4 种模型的参数量比较,通过比较可以发现我们的网络比Pix2Vox 参数量更低.

表2 不同阈值下模型性能对比

体积测量的误差主要来自两个部分,第1 个是在图像预处理阶段,获取快递纸箱的长度时会存在误差;第2 个误差是3D 重建得到的归一化长宽高的值,这一误差可以归结为后处理阶段.我们对box-150 中25 组数据进行了第一个误差的统计分析,具体如图7所示,根据预处理获取快递纸箱的长度的误差平均仅为0.6%,80%的数据的相对误差都小于1%,证明了图像预处理模块对于计算快递纸箱长度的有效性.第2 个误差可以通过统计快递纸箱的体积相对误差来分析,并与用trimesh 库来计算体积进行对比,通过图8可以看出由后处理得出的平均体积相对误差比用trimesh 库的低了很多,证明了后处理模块的有效性.

图6 不同模型的参数量对比

图7 25 组快递纸箱长度相对误差分析

图8 基于trimesh 库与后处理程序的体积误差对比图

考虑算法的实用性,本文还测试了6 组真实数据,具体的误差分析见表3,可以看出相对误差基本在5%以内,满足实际的需求.但相较于box-150 数据集效果差了一点,这是因为真实数据与模型训练使用的数据还是存在着一些差异.

表3 手机拍照快递纸箱体积测量误差分析

4 总结展望

本文基于3D 重建网络,设计了一个通过手机对快递纸箱拍照就能获得其体积的算法,通过实验证明了图像预处理模块计算快递纸箱长度的有效性以及提高网络的重建分辨率并结合PSA 模块有助于提高快递纸箱的重建性能,此外后处理模块能更精确的计算快递纸箱的体积.最后考虑算法的实用性,本文还对真实数据做了测试.

下一步的研究工作在于如何让该算法对拍摄快递纸箱的角度更加鲁棒性,保证在实际操作中更方便快捷地得到快递纸箱的体积数据.

猜你喜欢

纸箱预处理分辨率
KR预处理工艺参数对脱硫剂分散行为的影响
预处理对医用外科口罩用熔喷布颗粒过滤性能的影响
手术器械预处理在手术室的应用
纸箱打包机的设计
污泥预处理及其在硅酸盐制品中的运用
好画质不局限于分辨率 探究爱普生4K PRO-UHD的真面目
小赛的纸箱
用吸管与纸箱打造密室逃脱
废纸箱变愤怒的小鸟
ARM发布显示控制器新品重点强化对分辨率的支持