第十八届智能车百度创意组线下赛方案-巡线

        我们是参加的23年第十八届的智能车百度创意组的比赛。最终是拿了国二(有点遗憾),赛场上车本身结构出现了问题,有一个轮子有问题。随便吐槽一下,轮子是真不好用,老掉。但是我们的方案可以给大家提供一些借鉴。

        由于我负责的是上位机部分,因此只提供上位机的方案,没有控制的部分。

第一部分-巡线方案:

1.1 车道线提取

1.1.1 模型训练

        在aistudio 平台上对模型进行训练。 使用语义分割模型提取绿色车道线,使用Paddleseg 套件进行训练模型,模型为轻量级的bisnet和mobileseg,mobileseg 比bisenet 的速度更快,但是精度略有下降,但是不影响。为了保证速度,图片尺寸为160*160,模型帧率大约为 20 帧。

开发板为:EdgeBoard赛事专用卡。

图1.1 常规道路真值-分割图

真值是采用大模型SAM打标获取的。

        对于斑马线区域,不做特殊处理,仅在数据集中不标水平方向的斑马线即可。这 样提取出的车道线既不会受到斑马线的影响。同时几乎不受任何光照的影响,模型训练时采用随机光照、饱和度的数据增强,模型具有较强的鲁棒性。

图1.2 斑马线真值-分割图

1.1.2 模型导出

        由于部署到edgeboard上使用paddlelite框架,因此使paddlelite 对模型 进行导出,需要将训练好的动态图模型,转化为静态图,然后再使用 paddle_lite_opt 导出.nb 模型,paddlelite 可以直接加载.nb 模型,paddlelite 的版本和在edgeboard上安装的版本要一致。(下面是导出yolo模型的示例, 导出分割模型同理)在aistudio中进行导出。

!pip install paddlelite==2.9.0 --index-url https://mirrors.aliyun. com/pypi/simple/

!paddle_lite_opt \
--model_dir=/home/aistudio/work/ppyolo_tiny_car_box \
--valid_targets=arm \
--optimize_out=/home/aistudio/work/ppyolo_tiny_car_box_224_v2

paddle_lite_opt \
--model_file=/home/aistudio/work/ppyolo_tiny/ppyolo_tiny_helmet/model.pdmodel \
--param_file=/home/aistudio/work/ppyolo_tiny/ppyolo_tiny_helmet/model.pdiparams \
-valid_targets=arm \
--optimize_out=/home/aistudio/work/ppyolo_tiny

1.2 车道线速度模型

1.2.1 采集数据集

数据集格式:图片+4个电机的速度,图片名称和对应速度保存到txt文件当中, 速度由下位机通过编码器计算得出,再通过usart通信传到上位机

1.2.2速度模型训练

        将采集到的图片,通过训练好的分割模型进行图像分割,提取出车道线,得到二 值图,将二值图作为输入,速度作为目标值输出。 搭建网络:由于二值图比较简单,因此使用多层小卷积层和全连接层搭建一个回 归网络,4个回归输出直即为4个电机的速度。网络结构如下,简单的四回归网络

模型效果:右转(左轮速度>右轮速度)

图1.3 速度模型

模型训练好后,将动态图转为静态图

导出.nb模型

paddle_lite_opt \
--model_dir=/home/aistudio/model/best \
--valid_targets=arm \
--optimize_out=/home/aistudio/speed_model/模型名称

 模型部署见下一篇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值