LabVIEW+OpenVINO在CPU上部署新冠肺炎檢測模型實戰
- 2022 年 11 月 7 日
- 筆記
- LabVIEW, Labview_Deep Learn, 機器視覺, 深度學習
之前部落格:
一、LabVIEW視覺工具包下載與配置
可在如下鏈接中下載工具包://www.cnblogs.com/virobotics/p/16527821.html
2、OpenVINO toolkit下載安裝
下載地址:
2)選擇版本,選擇如下版本,並DownLoad:
3)下載後,運行安裝即可!(建議安裝到默認路徑)
4)可以選擇安裝路徑,具體安裝可以參考官方文檔:
5)安裝完成後,請記得配置環境變數,即在電腦的環境變數–>系統變數–>path種添加如下變數
二、模型獲取
openvino工作流程,和其他的部署工具都差不多,訓練好模型,解析成openvino專用的.xml和.bin,隨後傳入Inference Engine中進行推理。本實戰中的模型來自://blog.csdn.net/weixin_47567401/article/details/122809410,你可以在這裡下載到模型:
三、語義分割之Unet
1、語義分割在醫療影像上的應用
隨著人工智慧的崛起,將神經網路與醫療診斷結合也成為研究熱點,智慧醫療研究逐漸成熟。在智慧醫療領域,語義分割主要應用於腫瘤影像分割,齲齒診斷等。(下圖分別是齲齒診斷,頭部CT掃描緊急護理診斷輔助和肺癌診斷輔助)
2、Unet簡介
U-Net 起源於醫療影像分割,整個網路是標準的encoder-decoder網路,特點是參數少,計算快,應用性強,對於一般場景適應度很高。原始U-Net的結構如右圖所示,由於網路整體結構類似於大寫的英文字母U,故得名U-net。左側可視為一個編碼器,右側可視為一個解碼器。編碼器有四個子模組,每個子模組包含兩個卷積層,每個子模組之後通過max pool進行下取樣。由於卷積使用的是valid模式,故實際輸出比輸入影像小一些。具體來說,後一個子模組的解析度=(前一個子模組的解析度-4)/2。U-Net使用了Overlap-tile 策略用於補全輸入影像的上下資訊,使得任意大小的輸入影像都可獲得無縫分割。同樣解碼器也包含四個子模組,解析度通過上取樣操作依次上升,直到與輸入影像的解析度基本一致。該網路還使用了跳躍連接,以拼接的方式將解碼器和編碼器中相同解析度的feature map進行特徵融合,幫助解碼器更好地恢複目標的細節。
四、LabVIEW+OpenVINO在CPU上部署新冠肺炎檢測模型(covid_main.vi )
運行本項目,請務必安裝新版工具包及OpenVINO toolkit,否則會報錯無法運行
1、實現過程
-
dnn模組調用IR模型(模型優化器)
-
設置計算後台與計算目標設備(推理引擎加速)
-
讀取待檢測的影像圖片
-
影像預處理(blobFromImage)
-
推理
-
後處理
-
繪製分割出的感染區域
-
添加logo和標題,並將其保存為MP4
-
後處理中
-
先將mat reshape 成512*512
-
進行二值化閾值處理
-
尋找輪廓
-
繪製輪廓
-
在指定地方繪製logo
-
將其在前面板顯示並保存為MP4,保存為MP4之前記得進行顏色空間轉換。
2、程式源碼
3、推理運行
請將下載的項目放在不包含中文的路徑下,打開covid_main.vi,修改檢測影像路徑為實際路徑,運行檢測 有如下四個文件夾可選
注意:readNetFromModelOptimizer.vi中IR模型路徑不可以包含中文
4、運行效果
五、項目源碼及模型下載
大家可關注微信公眾號: VIRobotics,回復關鍵字:新冠肺炎檢測實戰 獲取本次分享內容的完整項目源碼及模型。
附加說明
-
作業系統:Windows10
-
python:3.6及以上
-
LabVIEW:2018及以上 64位版本
-
視覺工具包:techforce_lib_opencv_cpu-1.0.0.73.vip
-
OpenVINO:2021.4.2
總結
以上就是今天要給大家分享的內容。 如您想要探討更多關於LabVIEW與人工智慧技術,歡迎加入我們的技術交流群:705637299,進群請備註暗號:LabVIEW機器學習
如果文章對你有幫助,歡迎✌關注、👍點贊、✌收藏、👍訂閱專欄