华为计算微信公众号

昇腾AI开发者公众号

华为计算微博

华为计算今日头条

昇腾社区首页
中文
注册
昇腾社区
昇腾AI市场
主页
解决方案
原生大模型
软件服务
ModelZoo
应用案例
Powered by Ascend
文档HOT
支持
应用案例
VSLAM 智能小车平台
VSLAM 智能小车平台
机器人C++AscendCL

187次浏览

暂无评分
我要评分
该系统通过捕捉摄像头传回的实时视频帧,将实时图像作为网络的输入,推理出小车周围环境是否存在危险,从而进行运动控制对存在的危险进行规避,主要完成如下场景的应用。
获取样例

简介

本项目属于机器视觉识别应用,旨在借助Atlas 200 DK开发板及其相机模块进行小车的视觉识别与控制。该系统能够使小车感知周围环境,它使用相机捕获实时视频数据,分析图像并返回控制数据给小车进行控制。本项目需要调用相机模块对周围环境的危险情况进行快速的识别并进行控制反馈,快速准确的识别对于车辆的安全至关重要,如何研究一个高响应高准确度的方案变得机具挑战性。

概述

该系统通过捕捉摄像头传回的实时视频帧,将实时图像作为网络的输入,推理出小车周围环境是否存在危险,从而进行运动控制对存在的危险进行规避,主要完成如下场景的应用:

1.桌面防跌落:检测并识别桌面桌面边缘,使得小车可以自主规避跌落。

2.目标障碍物避障:检测并识别障碍物,使小车可以自主规避障碍物。

原理

VSLAM 智能小车平台将由Camera Engine, Inference Engine, Post Processing Engine三部分组成。系统流程图如下所示:


首先,Camera Engine调用连接至Atlas 200 DK Hi3559C上的相机模块,实时获取环境视频帧信息。本项目中,相机分辨率设置为1280*720,视频格式设置为YUV420SP,视频帧率设置为5fps。

Inference Engine通过Graph接收来自Camera Engine的视频帧信息,首先使用DVPP模块对图片数据进行图像大小调整,从1280*720调整至模型需要的输入大小。接着将图片传递给离线模型处理,得到推理结果,最后通过Graph的SendData接口传输到下一个模块。这里共有两个离线模型,第一个模型使用ResNet18进行防跌落检测,第二个模型使用MobileNet进行目标障碍物检测,他们接收同一个Camera Engine发送的图片数据,但各自为独立的Inference Engine,且将数据传输给各自的Post Process Engine。

在Post Processing Engine中,模块接收神经网络推理结果,在原图像帧上画出边界框或显示分类结果,通过Presenter Agent向用户的Host端传输推理结果图片数据。首先,对于ResNet18后置的Process Engine,它根据结果判断是否为blocked状态。如果是,则发送转向指令来规避边缘区域,否则继续前进。对于MobileNet后置的Process Engine,它根据障碍物在图片中的位置,选择发送向左转或者向右转的控制信号。控制信号将通过ttyAMA0串口发往下位机Arduino。Arduino接收到来自Atlas 200 DK的控制信号,对控制信号通过一次PID处理,处理完毕后通过电机控制版进行电机的控制,从而达到了小车的运动与识别。

技术

- 基于Caffe的MobileNet-SSD框架。

- 基于Caffe的Resnet18框架。

硬件

- Atlas 200 DK 开发者套件(型号:3000)

- 树莓派相机模块

- 三轮小车底盘,包括电机控制板,Arduino DUE等

效果展示





关于昇腾

昇腾计算产业概述

新闻与活动

新闻资讯昇腾活动

交流与资讯

昇腾论坛技术干货

支持与服务

文档技术工单

开源社区

昇思社区昇腾开放资源
关注我们
友情链接
华为官网华为计算鲲鹏社区华为云启智社区
版权所有 © 2021-2025华为技术有限公司 保留一切权利 粤A2-20044005号
粤公网安备 44030702005057号
法律声明隐私政策Cookie协议用户协议联系我们