基于嵌入式的室内静态场景实时重建系统
发布日期:2021-06-23 02:02:54 浏览次数:31 分类:技术文章

本文共 3575 字,大约阅读时间需要 11 分钟。

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

引导语:本文为“3D视觉创新应用(三维重建)竞赛”作品集系列之一,该作品由来自杭州电子科技大学团队完成,团队成员:路荣丰、许成浩、吕坤、徐浙峰、朱尊杰  。全文约2688个字,阅读时长约5分钟,旨在为更多开发者提供学习参考。

一、背景介绍(产品化及未来市场潜力描述)

随着AI技术的蓬勃发展以及新型设备的不断涌现,三维重建成为计算机图形学领域的热点研究课题。主要任务是基于各种传感器釆集的数据,采用多视图几何、概率统计学和优化理论等数学工具,对现实物理世界进行三维建模,建立起现实世界和虚拟世界的桥梁。因此,三维重建在制造、医疗、影视制作、文物保护、增强现实、虚拟现实、定位导航等众多不用的领域有着广泛的应用。

其中,基于实时三维场景重建技术在增强现实中的应用和发展尤为迅速,包括室内的增强现实游戏、机器人导航、AR家具看房等等。而我们的技术成功将一套成熟的基于Intel Realsense ZR300 的快速实时室内静态场景重建(室内重建)技术从PC端移植到移动端。我们通过使用奥比中光所提供的的Zora P1嵌入式开发板和Astra Pro RGBD摄像头组成了实时重建系统的数据实时采集端,并通过自主设计的WiFi数据传输模块将采集的数据实时传递至上位机,通过上位机处理完成实时重建的任务,最终取得理想的效果。

在我们的系统中,我们可以任意地重建我们想要重建的任何室内静态场景。在保证准确度和实时性的情况下,我们可以实现全局一致的重建。相比于此前多数基于PC端的工作,我们在开发板上实现了这一功能,实为首创性工作。我们以用户为出发点,做到了简单、便捷、高还原度,并且可以做到远程实时交互的场景三维重建,应用场景广泛。我们的这一技术可以快速应用移植到开发端实现产品化,不需要进行额外的操作,并且用户熟悉使用过程极为便捷简单。

目前基于实时三维场景重建技术在增强现实中的应用和发展尤为迅速,尤其是有关室内重建领域的技术更迭更是快速,但多数研究还停留于PC端,移动端的发展还处于一片蓝海,尤其是在开发板上实现这一功能并达到较为理想的效果更是少之又少。通过在开发板上的技术移植和开发,可以更大程度的在实现相同效果的同时降低技术成本,并且本产品还可以作为教学产品供初始学习探索有关室内重建领域的同学们使用和开发,未来市场潜力巨大。

二、设计方案:

方案一:

该方案我们通过使用奥比中光的Zora P1嵌入式开发板和Astra Pro RGBD摄像头来组成室内静态场景和静止人的重建系统。在硬件上完全使用主办方所提供的产品和附件,开发套件使用度极高,但此时的受嵌入式板子算力和运行内存的限制,重建的速度不够理想。

设备使用情况:使用Astra Pro RGBD来进行深度信息的采集,完全由Zora P1嵌入式开发板负责系统的重建工作。

系统架构:由Astra Pro RGBD进行数据采集,在Zora P1上进行实时重建工作。

方案二:

该方案我们通过使用奥比中光的Zora P1嵌入式开发板和Astra Pro RGBD摄像头组成了实时重建系统的数据实时采集端,并通过设计WiFi数据传输模块,将采集的数据实时传递至上位机,通过上位机处理完成实时重建的任务,可以取得很理想的效果。最大程度上利用开发了主办方所提供的产品及其配件,开发套件使用程度极高。

设备使用情况:利用奥比中光的Zora P1嵌入式开发板和Astra Pro RGBD摄像头共同组成了实时重建系统的数据实时采集端,同时使用了Zora P1嵌入式开发板上的WIFI模块。

系统架构:(1)由奥比中光的Zora P1嵌入式开发板和Astra Pro RGBD摄像头组成了实时重建系统的数据实时采集端;(2)利用开发板上的WIFI模块和连由互联网的上位机进行网络通信;(3)利用上位机中的算力等资源进行完成实时重建任务。

三、项目创新点描述及技术优势

1.利用主办方所提供统一设备完成了有关于室内静态场景的实时三维重建,并取得了理想效果。

2.关于实时重建部分的算法我们参考了InfiniTAM,并在其原有基础上做了更为完善的修改与创新,最终能够使我们的算法可以在所提供的嵌入式开发板中完美运行。

3.由于受开发板算力和运行内存的影响(且无GPU),我们对系统进行一定程度的工程优化,使得在完全依赖于嵌入式开发板的情况下重建速度达到2帧/s。

4.考虑到重建系统的实时性,我们通过开发板完成深度数据的采集任务,并利用WiFi模块将数据实时传递至算力和内存更高的上位机中,从而完成实时重建,并取得了很好的效果。

5.我们通过端云协同作业,最终达到了在有移动互联网的环境下的远程效果实现,即通过使用该设备进行实时重建任务的同时可以使得远程处于办公室的人在PC端实时同步观测到三维重建的效果。

四、测试结果:

我们所取得的室内场景重建效果如下图所示,显然,在基于这一开发板的环境下,我们实现了很好的重建效果。

 图1:重建结果预览图和实时重建效果图   

 

图2:真实环境照片

图一右上窗口显示了实时重建的效果图,左侧主窗口显示的是切换了一个更广的视角点,来对整个重建的结果进行预览。图二为重建的真实环境的照片。

但由于官方提供的OpenNI的SDK中为提供RGB信息的读取,所以暂未进行颜色的渲染。

图三、实时重建演示图

五、部署环境

代码运行所需环境配置:

服务器端:Ubuntu18.04

嵌入式端:armbin

·cmake(3.2或以上)

·OpenNI(奥比中光提供版本)

·OpenGL(3.0或以上)

·libpng(1.6或以上)

·librealsense

六、研发过程记录

1. 熟悉主办方所提供的Zora P1嵌入式开发板和Astra Pro RGBD摄像头的使用方法,并在系统中配置相应所需环境。

2. 通过利用张正友标定法来完成Astra Pro RGBD相机的标定任务。

3. 参考InfiniTAM-V2进行算法上的精修和创新,最终将其直接运用于Zora P1嵌入式开发板和armbin系统。

4. 系统测试阶段:进行有关实时重建速度和重建精度的分析。

5. 在受开发板的运行内存的影响下,最大程度上提升速度,秉持最简单最适用的原则最终达到了2帧/s。

6. 为更好的完成实时重建系统,我们设计了一个wifi传输模块,将嵌入式开发板所采集到的深度图,实时的传输到上位机中,最终在上位机中完成实时重建任务,并达到了很好的效果。

七、演示Demo

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

转载地址:https://yongqi.blog.csdn.net/article/details/113812766 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java学习day01-初识java
下一篇:BUUCTF解题十一道(04)

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月08日 04时45分33秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

spring boot 与 Ant Design of Vue 鉴权体系获取用户信息的实现(三十二) 2021-06-30
Druid连接池实现自定义场景的多数据库的连接 2021-06-30
CentOs7命令行(静默)的方式安装oracle数据库 2021-06-30
基于VMware安装CentOs7的镜像 2021-06-30
PL/SQL数据库管理工具的使用 2021-06-30
史上最简单的spring-boot集成websocket的实现方式 2021-06-30
带你玩转属于自己的spring-boot-starter系列(一) 2021-06-30
带你玩转属于自己自己的spring-boot-starter系列(二) 2021-06-30
带你玩转属于自己的spring-boot-starter系列(三) 2021-06-30
基于SnowFlake算法如何让分库分表中不同的ID落在同一个库的算法的实现 2021-06-30
基于springboot的ShardingSphere5.X的分库分表的解决方案之分库解决方案(二) 2021-06-30
基于springboot的ShardingSphere5.X的分库分表的解决方案之分表解决方案(一) 2021-06-30
基于springboot的ShardingSphere5.X的分库分表的解决方案之关联查询解决方案(三) 2021-06-30
基于springboot的ShardingSphere5.X的分库分表的解决方案之基于seata的分布式事务的解决方案(十五) 2021-06-30
Linux文件管理参考 2021-06-30
FTP文件管理项目(本地云)项目日报(一) 2021-06-30
FTP文件管理项目(本地云)项目日报(二) 2021-06-30
FTP文件管理项目(本地云)项目日报(三) 2021-06-30
FTP文件管理项目(本地云)项目日报(四) 2021-06-30
【C++】勉强能看的线程池详解 2021-06-30