![](https://paddlepaddle-static.cdn.bcebos.com/paddle-wechat-image/mmbiz.qpic.cn/mmbiz_gif/sKia1FKFiafgiadRmQGLX4mBEc9ByA8RYMiczhyhE3QLILL0qmWgNibMX8A3bAf7dAtgmXhP1gDTyDLAXmQUJzja5Jg/image)
![](https://paddlepaddle-static.cdn.bcebos.com/paddle-wechat-image/mmbiz.qpic.cn/mmbiz_png/sKia1FKFiafgj7tbRHlkfIWE41ibnkMgWkFYFzmNLm1w999uWZlUbyLHWO0slciaTdnDtugZ3Fd0Ga95n4nfQaRfjw/image)
随着深度学习技术的快速发展,3D检测技术作为关键发展方向之一,在机器人视觉、城市视觉、增强现实等领域发挥重要作用。传统依靠激光雷达的3D检测方法存在传感器昂贵,难以大规模广泛部署、点云缺失纹理信息、分辨率低等问题。建立单目3D检测模型,有效地利用了图像相对于点云的各个优势,以更低的成本部署到实际应用场景。
为了让大家能够更快速的应用前沿的技术,百度视觉技术部基于飞桨提供了一套完整的3D视觉检测产业实践范例,提供了从数据准备、模型训练及优化的全流程可复用方案,降低产业落地门槛。
![](https://paddlepaddle-static.cdn.bcebos.com/paddle-wechat-image/mmbiz.qpic.cn/mmbiz_png/sKia1FKFiafgj7tbRHlkfIWE41ibnkMgWkFRlowvg7ytw910GsFPX3831FvwQms5bns2s9NgalKtkj5FNicprqm5Kw/image)
https://aistudio.baidu.com/aistudio/projectdetail/4038086
单目3D检测提供两种方案选择:基于anchor的方案和anchor-free的方案。
anchor方案:从图像中估计出3D检测框,也无需预测中间的3D场景表示,可以直接利用一个区域提案网络,生成给定图像的3D锚点。不同于以往与类别无关的2D锚点,3D锚点的形状通常与其语义标签有很强的相关性。
anchor-free方案:将2D检测方法CenterNet扩展到基于图像的3D检测器,该框架将对象编码为单个点(对象的中心点)并使用关键点估计来找到它。此外,几个平行的头被用来估计物体的其他属性,包括深度、尺寸、位置和方向。
我们采用基于anchor的方法,使用了3D障碍物的平均信息作为先验知识,效果实际落地更好。在骨干网络部分,我们选择的是DenseNet,这种网络建立的是前面所有层与后面层的密集连接,实现特征重用,有着省参数、扛过拟合等优点。我们提供了以下版本的方案尝试:
![](https://paddlepaddle-static.cdn.bcebos.com/paddle-wechat-image/mmbiz.qpic.cn/mmbiz_png/sKia1FKFiafgj7tbRHlkfIWE41ibnkMgWkFfoYqQCW0l6jKDNA94ic9c06DWWv1NOIBL8msWOZkCvbn43DtGUIcHFg/image)
根据单目3D检测实时性的要求,这里我们选择了DenseNet121作为我们的骨干网络。
![](https://paddlepaddle-static.cdn.bcebos.com/paddle-wechat-image/mmbiz.qpic.cn/mmbiz_jpg/sKia1FKFiafgj7tbRHlkfIWE41ibnkMgWkF1DotEmAqyVeDeoEqhaGAqsTlAzAsjeStwo5ZBOx0h9ZiauXkNN7pYnQ/image)
-
后处理优化
:根据将3D相关信息组成3D框,投影到图像上得到投影的八点框,取八点最小外接包围框与2D预测结果算IOU,通过不断的调整旋转角ry或深度z,来使得IOU最小。此算法利用了2D检测的结果要比3D检测的结果准确的先验知识,用2D框来纠正预测的3D属性,来达到优化3D定位精度的目的。整体框架如下图所示:
![](https://paddlepaddle-static.cdn.bcebos.com/paddle-wechat-image/mmbiz.qpic.cn/mmbiz_jpg/sKia1FKFiafgj7tbRHlkfIWE41ibnkMgWkFQuGJTFjWNsPzpOHP6JWkWLgghtNJ3kC7UaAc6c1EDeOED41dqsc1YQ/image)
![](https://paddlepaddle-static.cdn.bcebos.com/paddle-wechat-image/mmbiz.qpic.cn/mmbiz_png/sKia1FKFiafgj7tbRHlkfIWE41ibnkMgWkFgrdicqbHbgb9U8hiaGicKhwtF1wmEBYog0W5jiaJ4unho1Zia23uwJyAf0Q/image)
使用飞桨原生推理库Paddle Inference,用于服务端模型部署,总体上分为三步:
-
创建PaddlePredictor,设置所导出的模型路径;
-
创建输入用的 PaddleTensor,传入到 PaddlePredictor中;
-
获取输出的 PaddleTensor,将结果取出。
![](https://paddlepaddle-static.cdn.bcebos.com/paddle-wechat-image/mmbiz.qpic.cn/mmbiz_png/sKia1FKFiafgj7tbRHlkfIWE41ibnkMgWkFYvfVIia0ibTDQf9qcicq2uOHUB7yMPPdGV9m9AxgGtjgx863XHoJncUkg/image)
如果想了解更详细方案细节,
欢迎关注我们的直播课程
,手把手全流程教学等着你哦。
飞桨产业实践范例,致力于加速AI在产业落地的前进路径,减少理论技术与产业应用的差距。范例来源于产业真实业务场景,通过完整的代码实现,提供从数据准备到模型部署的方案过程解析,堪称产业落地的“自动导航”。
-
真实产业场景
:与实际具有AI应用的企业合作共建,选取企业高频需求的AI应用场景如智慧城市-安全帽检测、智能制造-表计读数等;
-
完整代码实现
:提供可一键运行的代码,在“AI Studio一站式开发平台”上使用免费算力一键Notebook运行;
-
详细过程解析
:深度解析从数据准备和处理、模型选择、模型优化和部署的AI落地全流程,共享可复用的模型调参和优化经验;
-
直达项目落地
:百度高工手把手教用户进行全流程代码实践,轻松直达项目POC阶段。
为了让小伙伴们更便捷地应用3D检测范例教程,百度高级研发工程师于
6月1日(周三)20:00
为大家深度解析从数据准备、方案设计到模型优化部署的开发全流程,手把手教大家进行代码实践。
![](https://paddlepaddle-static.cdn.bcebos.com/paddle-wechat-image/mmbiz.qpic.cn/mmbiz_jpg/sKia1FKFiafgj7tbRHlkfIWE41ibnkMgWkFRNkAUO7dJzxwdh68AVKicjib3iaiclicYwRqC386AsX9CuiaiavqTCXSAaTTw/image)
关注【飞桨PaddlePaddle】公众号
获取更多技术内容~