1. 功能描述
本設(shè)計(jì)方案致力于解決目標(biāo):建設(shè)包容、安全、有抵御災(zāi)害能力和可持續(xù)的城市和人類(lèi)住區(qū)中的交通問(wèn)題,在此提出一種基于OpenHarmony實(shí)現(xiàn)道路維護(hù)的方案,通過(guò)深度學(xué)習(xí)的方式對(duì)道路的裂縫進(jìn)行實(shí)時(shí)檢測(cè),增加道路的可持續(xù)使用性。
由于傳統(tǒng)的道路裂縫檢測(cè)精度和距離有限,大部分仍需要人工檢測(cè),而人工裂縫檢測(cè)的過(guò)程又十分的繁瑣,檢測(cè)的實(shí)時(shí)性與高效性普遍較低。本方案基于海思HI3516DV300圖像化處理方法,并部署深度學(xué)習(xí)模型,對(duì)道路裂縫進(jìn)行檢測(cè)。
話(huà)不多說(shuō),我們先上圖上視頻:檢測(cè)電路正視圖:視頻展示:2. 方案基線(xiàn)2.1 工程版本:
- 系統(tǒng)版本/API版本:OpenHarmony 3.X小型系統(tǒng)
- IDE版本:DeEco Device Tool Release 3.0.0.401
./darknet detector train hand.data cfg/resnet18.cfg
3.3YOLO v2受到faster rcnn的啟發(fā),引入了anchor。同時(shí)使用了K-Means方法,對(duì)anchor數(shù)量進(jìn)行了討論,在精度和速度之間做出折中。并且修改了網(wǎng)絡(luò)結(jié)構(gòu),去掉了全連接層,改成了全卷積結(jié)構(gòu)。在訓(xùn)練時(shí)引入了世界樹(shù)結(jié)構(gòu),將檢測(cè)和分類(lèi)問(wèn)題做成了一個(gè)統(tǒng)一的框架,并且提出了一種層次性聯(lián)合訓(xùn)練方法。3.4檢測(cè)訓(xùn)練數(shù)據(jù)本次檢測(cè)網(wǎng)選擇了2000張帶有道路裂縫的圖像進(jìn)行標(biāo)注,在搭建好的服務(wù)器進(jìn)行30200次迭代,直至模型收斂。3.5resnet18.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模型訓(xùn)練IOU值接近0.98 class值接近0.99999 Obj值在0.003以下。3.7權(quán)重推理在服務(wù)器進(jìn)行權(quán)重的推理:
4. 分類(lèi)網(wǎng)分類(lèi)網(wǎng)選擇resnet18。4.1分類(lèi)訓(xùn)練數(shù)據(jù)分類(lèi)網(wǎng)的訓(xùn)練數(shù)據(jù)集分為11000左右的道路裂縫圖片,10000左右的無(wú)裂縫圖片,在服務(wù)器上迭代300次,直至模型收斂。Creak_Image部分:
NoCreak_Image部分:
4.2訓(xùn)練模型
5. 環(huán)境搭建5.1模型轉(zhuǎn)換對(duì)pytorch訓(xùn)練得到的模型權(quán)重首先將轉(zhuǎn)換為caffe模型。5.1.1 檢測(cè)網(wǎng)得到的權(quán)重轉(zhuǎn)換檢測(cè)網(wǎng)得到的權(quán)重轉(zhuǎn)換為caffe模型需要在caffe環(huán)境下并安裝torch環(huán)境
代碼地址:https://github.com/ChenYingpeng/darknet2caffe
轉(zhuǎn)換命令:python darknet2caffe.py resnet18.cfg resnet18_new_final.weights resnet18.prototxt resnet18.caffemodel
5.1.2 分類(lèi)網(wǎng)得到的權(quán)重轉(zhuǎn)換分類(lèi)網(wǎng)得到的權(quán)重轉(zhuǎn)換為caffe模型需要在caffe環(huán)境下并需要依賴(lài)torch和torchvison
代碼地址:https://codeload.github.com/xxradon/PytorchToCaffe/zip/refs/heads/master
轉(zhuǎn)換命令:python example/resnet_pytorch_2_caffe.py
5.2 開(kāi)發(fā)環(huán)境本次采用windows+ubuntu混合開(kāi)發(fā),具體操作流程可參考HarmonyOS Device社區(qū):
https://device.harmonyos.com/cn/docs/documentation/guide/ide-install-windows-ubuntu-0000001194073744
5.3模型量化得到的caffe模型后使用Ruyistudio工具對(duì).prototxt進(jìn)行量化,并在此之前修改prototxt文件進(jìn)行適配使得NNIE(編者注:是Neural Network Inference Engine 神經(jīng)網(wǎng)絡(luò)計(jì)算引擎的英文縮寫(xiě))能夠支持網(wǎng)絡(luò)結(jié)構(gòu),最終生成WK文件。5.4板端適配將得到的WK文件在OpenHarmony中基于SDK sampled的網(wǎng)絡(luò)進(jìn)行修改,適配 ,配置依賴(lài) ,編譯(在此之前OpenHarmony小型系統(tǒng)的主干代碼已經(jīng)整體編譯通過(guò)),最終生成可執(zhí)行文件,并掛在到HI3516DV300板端。5.5加載文件檢測(cè)網(wǎng)生成的WK文件在OpenHarmony中編譯后得到可執(zhí)行文件,并掛載板端,啟動(dòng)開(kāi)發(fā)板應(yīng)用驅(qū)動(dòng),加載可執(zhí)行文件
驅(qū)動(dòng)命令 :insmod hi_mipi_tx.ko
加載文件 :./ohos_yolov2_creak_demo 1
分類(lèi)網(wǎng)生成的WK文件在OpenHarmony中編譯后得到可執(zhí)行文件,并掛載板端,啟動(dòng)開(kāi)發(fā)板應(yīng)用驅(qū)動(dòng),加載可執(zhí)行文件
驅(qū)動(dòng)命令:insmod hi_mipi_tx.ko
加載文件:./ohos_cnn_creak_demo 0
6. 實(shí)驗(yàn)效果6.1 檢測(cè)效果:
6.2 Creak分類(lèi)效果:
Creak分類(lèi)效果高達(dá)100%
6.3 NoCreak分類(lèi)效果:
NoCreak分類(lèi)效果高達(dá)97%
寫(xiě)在最后我們最近正帶著大家玩嗨OpenHarmony。如果你有好玩的東東,歡迎投稿,讓我們一起嗨起來(lái)!有點(diǎn)子,有想法,有Demo,立刻聯(lián)系我們:合作郵箱:zzliang@atomsource.org
原文標(biāo)題:玩嗨OpenHarmony:基于OpenHarmony的道路維護(hù)方案
文章出處:【微信公眾號(hào):開(kāi)源技術(shù)服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
OpenHarmony
+關(guān)注
關(guān)注
25文章
3546瀏覽量
15734
原文標(biāo)題:玩嗨OpenHarmony:基于OpenHarmony的道路維護(hù)方案
文章出處:【微信號(hào):開(kāi)源技術(shù)服務(wù)中心,微信公眾號(hào):共熵服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論