【翻譯】OpenVINO Pre-Trained 預訓練模型介紹


OpenVINO 系列軟件包預訓練模型介紹

本文翻譯自 Intel OpenVINO 

翻譯:coneypo,working in Intel for IoT,有問題或者建議歡迎留言交流

 

Q&A

問:用 Pre-trained model 可以干什么?

答:我們可以用 Pre-trained 的模型直接輸入數據進行 model inference / 推理,而不需要收集數據集自己 Train 一個 model,這些訓練好的模型拿來即用,適合新手學習;

 

問:如何使用 OpenVINO 預訓練模型進行推算?

答:

1. 先下載安裝 OpenVINO 環境: https://docs.openvinotoolkit.org/cn/index.html

2. OpenVINO 提供的 model zoo 的示例代碼在這個 repo :

$ git clone https://github.com/opencv/open_model_zoo

$ cd /open_model_zoo/demos/python_demos/

3. 比如有一個 face_recognition_demo/ 文件夾,里面有個 README.md 告訴怎么配置參數:

python ./face_recognition_demo.py ^
-m_fd <path_to_model>/face-detection-retail-0004.xml ^
-m_lm <path_to_model>/landmarks-regression-retail-0009.xml ^
-m_reid <path_to_model>/face-reidentification-retail-0095.xml ^
--verbose ^
-fg "C:/face_gallery"

4. 下載模型

$ cd /<OPENVINO_INSTALL_DIR>/deployment_tools/open_model_zoo/tools/downloader/

$ sudo ./downloader.py --name face-detection-retail-0004

$ sudo ./downloader.py --name landmarks-regression-retail-0009.xml

$ sudo ./downloader.py --name face-reidentification-retail-0095.xml

5. 運行 face_recognition_demo.py

 

這篇文章中會介紹如下模型:

 

OpenVINO 軟件包提供一系列預訓練模型,你可以用來進行學習,或者進行參考設計;

OpenVINO 的版本會在 Github_open_model zoo 上面進行維護;

這些模型也可以通過模型下載器 (<OPENVINO_INSTALL_DIR>/deployment_tools/open_model_zoo/tools/downloader) 下載,或者在 01.org 進行手動下載;

 

 

*(補充)Classification / 分類Detection / 檢測Semantic Segmentation / 語義分割Instance Segmentation / 實例分割 區別

 

Object Detection Models / 目標檢測模型

OpenVINO 提供一系列熱門目標,如人臉/人/汽車等等的檢測模型;大多數網絡都是基於 SSD (Single Shot MultiBox Detector),而且准確度和性能都不錯;

針對於檢測相同類型目標的網絡(比如 face-detection-adas-0001 和 face-detection-retail-0004),能夠以較小的性能代價,讓我們達到更高的精度和更廣的適用范圍;

因此你可以期待一個更大的神經網絡,來更好的檢測相同類型的對象;

模型名稱 復雜度 (GFLOPS) 大小(MP) 人臉 汽車 自行車 車牌 產品
faster-rcnn-resnet101-coco-sparse-60-0001 364.21 52.79   X X X    
face-detection-adas-0001 2.835 1.053 X          
face-detection-adas-binary-0001 0.819 1.053 X          
face-detection-retail-0004 1.067 0.588 X          
face-detection-retail-0005 0.982 1.021 X          
face-detection-0100 0.785 1.828 X          
face-detection-0102 1.767 1.842 X          
face-detection-0104 2.405 1.851 X          
face-detection-0105 2.853 2.392 X          
face-detection-0106 339.597 69.920 X          
person-detection-retail-0002 12.427 3.244   X        
person-detection-retail-0013 2.300 0.723   X        
person-detection-action-recognition-0005 7.140 1.951   X        
person-detection-action-recognition-0006 8.225 2.001   X        
person-detection-action-recognition-teacher-0002 7.140 1.951   X        
person-detection-raisinghand-recognition-0001 7.138 1.951   X        
pedestrian-detection-adas-0002 2.836 1.165   X        
pedestrian-detection-adas-binary-0001 0.945 1.165   X        
pedestrian-and-vehicle-detector-adas-0001 3.974 1.650   X X      
vehicle-detection-adas-0002 2.798 1.079     X      
vehicle-detection-adas-binary-0001 0.942 1.079     X      
person-vehicle-bike-detection-crossroad-0078 3.964 1.178   X X X    
person-vehicle-bike-detection-crossroad-1016 3.560 2.887   X X X    
vehicle-license-plate-detection-barrier-0106 0.349 0.634     X   X  
product-detection-0001 3.598 3.212           X
person-detection-asl-0001 0.986 1.338   X        
yolo-v2-ava-0001 29.38 48.29   X X X    
yolo-v2-ava-sparse-35-0001 29.38 48.29   X X X    
yolo-v2-ava-sparse-70-0001 29.38 48.29   X X X    
yolo-v2-tiny-ava-0001 6.975 15.12   X X X    
yolo-v2-tiny-ava-sparse-30-0001 6.975 15.12   X X X    
yolo-v2-tiny-ava-sparse-60-0001 6.975 15.12   X X    

 

Object Recognition Models / 目標識別模型

目標識別模型用來進行 Classification / 分類Regression / 回歸Charcter recognition / 特征識別

針對某種特征進行檢測之后,再使用這些神經網絡進行檢測/識別(比如在人臉識別之后,再進行年齡/性別的識別);

模型名稱 復雜度 (GFLOPS) 大小 (MP)
age-gender-recognition-retail-0013 0.094 2.138
head-pose-estimation-adas-0001 0.105 1.911
license-plate-recognition-barrier-0001 0.328 1.218
vehicle-attributes-recognition-barrier-0039 0.126 0.626
emotions-recognition-retail-0003 0.126 2.483
landmarks-regression-retail-0009 0.021 0.191
facial-landmarks-35-adas-0002 0.042 4.595
person-attributes-recognition-crossroad-0230 0.174 0.735
gaze-estimation-adas-0002 0.139 1.882

 

Reidentification Models / 再識別模型

在視頻中,進行精准的目標追蹤是計算機視覺的典型應用場景;

它通常會因為一系列的事情而變得相對比較復雜,這些事情可以描述為 "Relatively long absence of an object" / 一個對象相對較長的缺失;

比如,可能由於 occlusion / 遮擋 或者 out-of-frame movement / 框外移動 導致的;

針對這種情況,最好將目標視為 "seen before" / 先前見過的,而不管其在圖像中的當前位置,或者距離上次識別出位置經過多長時間;

下面的網絡用在以上這種情況,這些網絡獲取一個人的圖像,然后將這個人的特征在高維空間中進行評估;這些特征向量會進行進一步評估:通過比較歐式距離來確定是否是同一個人;

這里提供了幾種模型,在性能和精確度之間進行權衡(模型更大,性能更好):

模型名稱 復雜度 (GFLOPS) 大小 (MP) RANK-1 ON MARKET-1501 數據集
person-reidentification-retail-0031 0.028 0.280 92.11%
person-reidentification-retail-0248 0.174 0.183 84.3%
person-reidentification-retail-0249 0.564 0.597 92.9%
person-reidentification-retail-0300 3.521 5.289 96.3%

 

模型名稱 復雜度 (GFLOPS) 大小 (MP) RANK-1 ON MARKET-1501 數據集
face-reidentification-retail-0095 0.588 1.107 99.33%

 

Semantic Segmentation Models / 語義分割模型

語義分割可以歸為目標檢測的拓展問題;

返回的不是特征框,語義分割模型返回輸入圖像(圖像中每個像素的顏色代表着特定的類別)的 Painted version / 塗色塊

這些網絡比目標檢測網絡要復雜的多,但是提供了一個像素級別的分類,屬於同一類的像素會被歸為一類(塗上相同顏色),而且可以檢測到復雜圖形中的空間(比如道路中的可用區域);

模型名稱 復雜度(GFLOPS) 大小 (MP)
road-segmentation-adas-0001 4.770 0.184
semantic-segmentation-adas-0001 58.572 6.686
unet-camvid-onnx-0001 260.1 31.03
icnet-camvid-ava-0001 151.82 25.45
icnet-camvid-ava-sparse-30-0001 151.82 25.45
icnet-camvid-ava-sparse-60-0001 151.82 25.45

 

Instance Segmentation Models / 實例分割模型

實例分割模型是目標檢測和語義分割的拓展;

實例分割模型不是對每個目標實例進行特征框預測分析,而是為每個實例生成像素級別的遮罩;

模型名稱 復雜度 (GFLOPS) 大小 (MP)
instance-segmentation-security-1025 30.146 26.69
instance-segmentation-security-0050 46.602 30.448
instance-segmentation-security-0083 365.626 143.444
instance-segmentation-security-0010 899.568 174.568

 

Human Pose Estimation Models / 人類姿勢估計模型

人體姿勢估計任務用來預測姿勢:對於輸入的圖像或者視頻,推斷出帶有特征點和特征點之間連接的身體骨骼;特征點是身體器官:比如耳朵,眼睛,鼻子,胳膊,膝蓋等等;

有兩種主要的分類:top-down / 從上往下bottom-up / 從下往上

第一種方法在給定的幀中,檢測出人,然后裁剪和調整,運行姿勢估計網絡為每個檢測出來的人,這種方法很精確;

第二種找到給定的幀中,所有的特征點,然后根據人的實例進行分類,因此比第一種更快,因為網絡只運行了一次;

模型名稱 復雜度 (GFLOPS) 大小 (MP)
human-pose-estimation-0001 15.435 4.099

 

Image Processing / 圖像處理

深度學習模型在圖像處理中應用來提高輸出質量:

模型名稱 復雜度 (GFLOPS) 大小 (MP)
single-image-super-resolution-1032 11.654 0.030
single-image-super-resolution-1033 16.062 0.030
text-image-super-resolution-0001 1.379 0.003

 

Text Detection / 文本檢測

深度學習模型在文本檢測中進行應用:

模型名稱 復雜度 (GFLOPS) 大小 (MP)
text-detection-0003 51.256 6.747
text-detection-0004 23.305 4.328

 

Text Recognition / 文本識別

深度學習模型在文本識別中應用;

模型名稱 復雜度 (GFLOPS) 大小 (MP)
text-recognition-0012 1.485 5.568
handwritten-score-recognition-0003 0.792 5.555
handwritten-japanese-recognition-0001 117.136 15.31

 

Text Spotting / 文本定位識別

深度學習模型用於文本檢測識別;

模型名稱 復雜度 (GFLOPS) 大小 (MP)
text-spotting-0002-detector 185.169 26.497
text-spotting-0002-recognizer-encoder 2.082 1.328
text-spotting-0002-recognizer-decoder 0.002 0.273

 

Action Recognition Models / 動作識別模型

動作識別模型對一個視頻短片(通過堆疊來自輸入視頻的采樣幀得到的張量)預測動作;

一些模型從不同的視頻片段中提取(比如 driver-action-recognition-adas-0002 可能會使用預計算的高維度)特征(嵌入) 然后整合到一個臨時模型中,用分類分數來預測一個向量;

計算嵌入的模型稱為 encoder / 編碼器,用來預測真實標簽的模型稱為 decoder / 解碼器;

模型名稱 復雜度 (GFLOPS) 大小 (MP)
driver-action-recognition-adas-0002-encoder 0.676 2.863
driver-action-recognition-adas-0002-decoder 0.147 4.205
action-recognition-0001-encoder 7.340 21.276
action-recognition-0001-decoder 0.147 4.405
asl-recognition-0004 6.660 4.133

 

Image Retrieval / 圖像檢索

深度學習模型用來進行圖像檢索(根據相似度對圖像進行排序);

模型名稱 復雜度 (GFLOPS) 大小 (MP)
image-retrieval-0001 0.613 2.535

 

Compressed Models / 壓縮模型

深度學習壓縮模型;

模型名稱 復雜度 (GFLOPS) 大小 (MP)
resnet50-binary-0001 1.002 7.446
resnet18-xnor-binary-onnx-0001 - -

 

歡迎使用 Intel OpenVINO Toolkit 進行 AI 開發,OpenVINO(SW)+ MyriadX VPU(HW) 主要側重於 Inference 推算時的加速,借助 Intel VPU 可以對邊緣端設備推演時進行加速;

我會在之后的 blog 里面更新詳細的 sample code 的用法;

開發過程中若有問題歡迎留言;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM