山东大学控制学院“智慧启航”调研团致力于深化成员在计算机视觉、机器学习、控制系统等多学科领域的专业知识,熟练掌握ROS机器人开发平台,并提升编程、系统集成与问题解决的能力。在此次项目活动中,团队面临的一项核心挑战是如何将人工智能模型有效部署至嵌入式开发板,以实现实时推理功能。
针对目标检测任务,团队成员经过深入讨论发现,利用PC本地环境训练的模型(文件后缀为“.pt”或“.onnx”)无法直接移植至RDK x3开发板执行实时推理。这是因为开发板的环境和资源与PC本地环境存在差异,需要进行特定的适配和优化。
为此,团队成员在地平线技术交流社区广泛搜集资料,深刻认识到人工智能模型部署前需进行量化和校准处理,将模型格式转换为“.bin”后缀,以适应开发板的运行环境。此外,在上板运行前还需进行模型校验,以确保模型中不包含开发板不支持的算子。对于实时性要求较高的模型,还可以采用模型蒸馏、剪枝等技术进行优化,以提高推理速度并减少资源消耗。团队成员深入学习开发板厂商地平线公司发布的官方视频教程,并尝试构建Docker容器环境,配置好模型转换需要的工具链。他们选取了数据集中的约100张图片进行校准,以减少量化过程中的模型精度损失,并输入特定命令进行模型格式转换。
然而,在配置过程中,团队遇到了文件目录错误、环境版本过于老旧、模型文件传输损坏、模型参数非法等一系列问题。但经过团队成员的积极研讨与多次尝试,耗时将近一个星期,最终成功编译出可在开发板上执行目标检测任务的Yolo模型,推理帧率稳定在约15帧,达到了实时推理的要求。
此次问题的解决,不仅让团队成员深刻体会到人工智能嵌入式应用开发的复杂性与挑战性,也使他们掌握了其中的关键技术与门道,为未来的研究和开发工作奠定了坚实的基础。