1. 功能描述
本设计方案致力于解决目标:建设包容、安全、有抵御灾害能力和可持续的城市和人类住区中的交通问题,在此提出一种基于OpenHarmony实现道路维护的方案,通过深度学习的方式对道路的裂缝进行实时检测,增加道路的可持续使用性。
由于传统的道路裂缝检测精度和距离有限,大部分仍需要人工检测,而人工裂缝检测的过程又十分的繁琐,检测的实时性与高效性普遍较低。本方案基于海思HI3516DV300图像化处理方法,并部署深度学习模型,对道路裂缝进行检测。
话不多说,我们先上图上视频:检测电路正视图:视频展示:2. 方案基线2.1 工程版本:
./darknet detector train hand.data cfg/resnet18.cfg
3.3 YOLO v2受到faster rcnn的启发,引入了anchor。同时使用了K-Means方法,对anchor数量进行了讨论,在精度和速度之间做出折中。并且修改了网络结构,去掉了全连接层,改成了全卷积结构。在训练时引入了世界树结构,将检测和分类问题做成了一个统一的框架,并且提出了一种层次性联合训练方法。3.4 检测训练数据本次检测网选择了2000张带有道路裂缝的图像进行标注,在搭建好的服务器进行30200次迭代,直至模型收敛。3.5 resnet18.cfg配置framework > darkness-master > cfg > resnet18.cfg部分配置如下:
# subdivisions=1
# Testing
batch=48
subdivisions=8
height-384
width=640
channels=3
momentum=0.9
decay=0.0005
angle=0
saturation = 1.5
exposure = 1.5
hue=0.1
learning rate=0.01
burn in=10000
max batches = 300200
policy=steps
steps=100000, 200000, 250001
scales=.1,.1,.1
3.6 模型训练IOU值接近0.98 class值接近0.99999 Obj值在0.003以下。3.7 权重推理在服务器进行权重的推理:
4. 分类网分类网选择resnet18。4.1 分类训练数据分类网的训练数据集分为11000左右的道路裂缝图片,10000左右的无裂缝图片,在服务器上迭代300次,直至模型收敛。Creak_Image部分:
NoCreak_Image部分:
4.2 训练模型
5. 环境搭建5.1 模型转换对pytorch训练得到的模型权重首先将转换为caffe模型。5.1.1 检测网得到的权重转换检测网得到的权重转换为caffe模型需要在caffe环境下并安装torch环境
代码地址:https://github.com/ChenYingpeng/darknet2caffe
转换命令:python darknet2caffe.py resnet18.cfg resnet18_new_final.weights resnet18.prototxt resnet18.caffemodel
5.1.2 分类网得到的权重转换分类网得到的权重转换为caffe模型需要在caffe环境下并需要依赖torch和torchvison
代码地址:https://codeload.github.com/xxradon/PytorchToCaffe/zip/refs/heads/master
转换命令:python example/resnet_pytorch_2_caffe.py
5.2 开发环境本次采用windows+ubuntu混合开发,具体操作流程可参考HarmonyOS Device社区:
https://device.harmonyos.com/cn/docs/documentation/guide/ide-install-windows-ubuntu-0000001194073744
5.3 模型量化得到的caffe模型后使用Ruyistudio工具对.prototxt进行量化,并在此之前修改prototxt文件进行适配使得NNIE(编者注:是Neural Network Inference Engine 神经网络计算引擎的英文缩写)能够支持网络结构,最终生成WK文件。5.4 板端适配将得到的WK文件在OpenHarmony中基于SDK sampled的网络进行修改,适配 ,配置依赖 ,编译(在此之前OpenHarmony小型系统的主干代码已经整体编译通过),最终生成可执行文件,并挂在到HI3516DV300板端。5.5 加载文件检测网生成的WK文件在OpenHarmony中编译后得到可执行文件,并挂载板端,启动开发板应用驱动,加载可执行文件
驱动命令 :insmod hi_mipi_tx.ko
加载文件 :./ohos_yolov2_creak_demo 1
分类网生成的WK文件在OpenHarmony中编译后得到可执行文件,并挂载板端,启动开发板应用驱动,加载可执行文件
驱动命令:insmod hi_mipi_tx.ko
加载文件:./ohos_cnn_creak_demo 0
6. 实验效果6.1 检测效果:
6.2 Creak分类效果:
Creak分类效果高达100%
6.3 NoCreak分类效果:
NoCreak分类效果高达97%
写在最后我们最近正带着大家玩嗨OpenHarmony。如果你有好玩的东东,欢迎投稿,让我们一起嗨起来!有点子,有想法,有Demo,立刻联系我们:合作邮箱:zzliang@atomsource.org
原文标题:玩嗨OpenHarmony:基于OpenHarmony的道路维护方案
文章出处:【微信公众号:开源技术服务中心】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !