淺談mobilenet網(wǎng)絡在工業(yè)數(shù)據(jù)分類中的應用
來源:投稿 作者:某一個名字
編輯:學姐
關聯(lián)文章:介紹一下yolov7的工業(yè)應用步驟
導語
Mobilenet作為輕量化模型的代表,目前大量用于分類與語義分割中的特征提取,由于其很小的參數(shù)量,工業(yè)部署時在計算效率方面有著較大的優(yōu)勢。Mobilenet系列有v1、v2、v3三個版本,使用較多的是v2、v3,現(xiàn)在就以mobilenetv2分類模型為例介紹下工業(yè)應用時的流程以及涉及到的工具鏈。
1、代碼的獲取
1.1 這里推薦使用的代碼庫為
https://github.com/WZMIAOMIAO/deep-learning-for-image-processing/tree/master/pytorch_classification/Test6_mobilenet
1.2 版本選擇

2、環(huán)境安裝
環(huán)境安裝教程以及注意事項可參考本人的另一篇分享文章《基于deeplabv3+的工業(yè)應用流程分析》。(之后會更新)
3、模型訓練
3.1訓練數(shù)據(jù)處理
1)首先根據(jù)自己的數(shù)據(jù)集更改class_indices.json中類別名稱,例如貓狗分類:
2)數(shù)據(jù)分類存放,每一種類的數(shù)據(jù)圖片放在同一個文件夾下即可。

3.2 模型訓練
該代碼庫對于模型訓練參數(shù)的更改設置均在train.py文件中,通常給出自己數(shù)據(jù)集的路徑即可。
4、模型導出
目前模型部署的工具有很多例如openvino、libtorch、tensorrt、onnxruntime、opencvdnn等,上一篇分享是基于libtorch進行部署的,現(xiàn)在就以openvino為例來說明下分類模型部署的流程。
4.1 pth轉(zhuǎn)onnx

5、模型部署
5.1 基于Windows的openvino安裝以及vs2019配置
openvino安裝教程
1.下載與安裝
下載地址
https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit-download.html?operatingsystem=window&distributions=webdownload
2.選擇版本安裝
選擇新的版本,本文已openvino_2021.2.185為例,下載得到w_openvino_toolkit_p_.exe文件,點擊extract,然后一路默認下一步安裝,直至安裝完成。
3.系統(tǒng)環(huán)境變量配置
環(huán)境變量中加入如下四項,版本不同的話只需修改版本名即可:
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\external\tbb\bin
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\bin\intel64\Release
C:\Program Files (x86)\Intel\openvino_2021.2.185\deployment_tools\ngraph\lib
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\bin
4.vs2019配置openvino
配置如下說明所示,版本不同的話只需修改版本名即可:
首先修改VS編譯為release版本下的x64
VC++-目錄
包含目錄:
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\include
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\include
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\include\openCV2
庫目錄
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib
鏈接器-輸入
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine.lib
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_c_api.lib
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_ir_reader.lib
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_legacy.lib
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_lp_transformations.lib
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_onnx_reader.lib
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_preproc.lib
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_transformations.lib
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_calib3d451.lib
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_core451.lib
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_dnn451.lib
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_features2d451.lib
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_flann451.lib
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_gapi451.lib
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_highgui451.lib
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_imgcodecs451.lib
C:\ProgramFiles (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_imgproc451.lib
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_ml451.lib
C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_objdetect451.lib
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_photo451.lib
C:\ProgramFiles (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_stitching451.lib
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_video451.lib
C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_videoio451.lib
至此基于Windows的openvino安裝以及vs2019配置已完成,接下來就可以開始計算機視覺模型的部署工作了。
5.2 基于openvino的部署代碼如下
首先創(chuàng)建一個image_classes.txt文件,里面寫好類別,例如:





基于openvino的分類模型CPU部署的代碼屬于通用代碼,任何模型均可使用。
結(jié)語
mobilenet網(wǎng)絡在工業(yè)數(shù)據(jù)分類中的應用就這樣實現(xiàn)了,這是本人對于分類網(wǎng)絡的探索應用,后續(xù)再介紹最后一種目標檢測網(wǎng)絡,還有很多需要指正的地方,希望大家一起加油,謝謝!
mobilenet論文+代碼數(shù)據(jù)集學姐已經(jīng)整理好了
關注【學姐帶你玩AI】公眾號
后臺回復“輕量化”免費獲??!