![2743e0ca-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxCARa8UAABhw3o4DJ4503.png)
1.1
什么是 HALCON
MVTec HALCON 是一款在全球范圍內(nèi)使用,綜合性的機器視覺標準軟件。它有一個專門的集成開發(fā)環(huán)境(HDevelop),專門用于開發(fā)圖像處理解決方案。使用 MVTec HALCON,您可以:
-
受益于靈活的軟件架構
-
加快所有可行的機器視覺應用發(fā)展
-
保證快速進入市場
-
持續(xù)地降低成本
作為一個綜合工具箱,HALCON 涵蓋了機器視覺應用的整個工作流程。其核心是靈活而強大的圖像處理庫,其中有 2100 多個算子。HALCON 適用于所有行業(yè),并為圖像處理提供卓越性能。
官網(wǎng)鏈接:
https://www.mvtec.com/
![2750be3a-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxCAbC21AAIpP-ak4hI056.png)
圖片引用自:
https://www.mvtec.com/cn/products/HALCON/why-HALCON/compatibility
1.2
什么是OpenVINO
OpenVINO 是一個用于優(yōu)化和部署人工智能(AI)推理的開源工具平臺。
-
使用經(jīng)過 TensorFlow、PyTorch 等流行框架訓練的模型
-
減少資源需求,并在從邊緣到云的一系列英特爾平臺上高效部署
![2776880e-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxCAOUEqAANiXFHC8ME377.png)
1.3
安裝 HALCON 和 OpenVINO
從 21.05 版本開始,HALCON 通過全新 HALCON AI 加速器接口 (AI2),支持 OpenVINO 工具套件,從而支持 AI 模型在英特爾的硬件設備上實現(xiàn)推理計算加速。
當前 HALCON 的 AI 模型對英特爾的硬件設備支持,如下表所示
![27d9a196-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxGAAVK5AAhBx7NwJFo199.png)
要實現(xiàn)使用 HALCON AI 加速器接口在英特爾硬件設備上加速 AI 推理計算,只需要一次安裝 HALCON 和 OpenVINO,然后編寫 HALCON AI 推理程序即可。
1.3.1
安裝 HALCON
官網(wǎng)注冊
登錄 MVTec 官網(wǎng) HALCON 軟件下載頁面(目前 HALCON 的最新版本是 23.05 Progress)
https://www.mvtec.com/downloads/halcon, 如果沒有注冊過 MVTec 用戶賬號,需要先進行注冊個人或企業(yè)賬號。(請注意此處需要使用公司郵箱注冊,qq 郵箱、163 郵箱等私人郵箱會注冊失敗)
下載并解壓
在官網(wǎng)下載完整版的安裝包(需要登陸賬號), 下載 HALCON: MVTec Software[1]。可以選擇產(chǎn)品的版本和操作系統(tǒng),此處以 Windows 平臺的 23.05 progress 版本為例。點擊圖中鏈接會自動開始下載,可自行使用工具加速。
![28772146-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxGAcy7SAALWV-WVJSQ647.png)
下載完成后,解壓縮完成,打開對應的文件夾,點擊 som.exe 文件,啟動 SOM(Software Manager)。
安裝設置
SOM 會使用默認瀏覽器打開安裝界面,如果打開界面后未出現(xiàn)可選安裝項目,建議重啟電腦再次打開 som.exe。
可以點擊“語言” 按鈕切換界面語言,點擊“環(huán)境”按鈕修改一些設置,如程序和數(shù)據(jù)安裝路徑,倉庫地址等等,一般使用默認值最好。
![28a939c4-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxGAaDY8AAFUleOmtB0286.png)
然后選擇“可獲得的”頁面,找到安裝包,點擊“安裝”按鈕, 上方按鈕是為當前用戶安裝,下方是為所有用戶安裝(需要系統(tǒng)管理員權限),一般點選上方按鈕。
設備空間足夠的話(15G 以上),建議右側全選,全部安裝;點擊后等待安裝結束即可。
![28d7ceba-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxKASv3RAAK1eOjv4T8720.png)
加載 license 文件
![291d1b14-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxKAWpcwAAEnmq2stlE174.png)
HALCON 軟件的運行還需要對應的 license 加密文件,可以向 MVTec 官方購買正式版或者申請評估。
然后,可以直接在 SOM 界面中加載 license 文件,點擊上圖中的紅色按鈕,可以打開下方界面進行 license 文件的安裝和管理,將 license 文件直接拖入即可。
最后,在 Windows 桌面上找到 HALCON 集成開發(fā)環(huán)境 HDevelop 軟件圖標,即可正常使用 HALCON。
1.3.2
安裝 OpenVINO 2021.4 LTS
請到 OpenVINO 官網(wǎng)[2] 下載并安裝OpenVINO 2021.4.2,如下圖所示。
![292c5912-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxKAWMfyAAHBivUDGOA883.png)
安裝完畢后,請將 OpenVINO 運行時庫的路徑添加到環(huán)境變量 path 中。
第一步,運行:
C:Program Files (x86)Intelopenvino_2021.4.752insetupvars.bat
path
獲取 OpenVINO 運行時庫的路徑,如下圖所示:
![295ceae6-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxKAG2AUAAX3Z6qAc70253.png)
第二步,將 OpenVINO 運行時庫的路徑添加到環(huán)境變量 path 中,如下圖所示:
![298a9ad6-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxKAU-jhAAc5XZ_ef4o021.png)
到此,下載并安裝 OpenVINO,然后 OpenVINO 運行時庫的路徑添加到環(huán)境變量 path 中的工作全部完成。
1.4
編寫 HALCON AI 推理程序
1.4.1
HALCON AI 推理程序工作流程
關于 HALCON AI 推理程序工作流程,以 HALCON 的深度學習圖像分類為例,程序代碼為 HALCON 集成開發(fā)環(huán)境 HDevelop 的開發(fā)語言。
1. 讀取已訓練完成的深度學習模型:
* Read in the retrained model.
read_dl_model (RetrainedModelFileName, DLModelHandle)
2. 設置深度學習模型參數(shù):
* Set the batch size.
set_dl_model_param (DLModelHandle, 'batch_size', BatchSizeInference)
* Initialize the model for inference.
set_dl_model_param (DLModelHandle, 'device', DLDevice)
3. 導入數(shù)據(jù)集預處理的參數(shù):
* Get the parameters used for preprocessing.
read_dict (PreprocessParamFileName, [], [], DLPreprocessParam)
4. 導入推理圖像并生成深度學習樣本:
* Read the images of the batch.
read_image (ImageBatch, Batch)
* Generate the DLSampleBatch.
gen_dl_samples_from_images (ImageBatch, DLSampleBatch)
5. 對深度學習樣本進行預處理以匹配模型:
* Preprocess the DLSampleBatch.
preprocess_dl_samples (DLSampleBatch, DLPreprocessParam)
6. 執(zhí)行深度學習推理:
* Apply the DL model on the DLSampleBatch.
apply_dl_model (DLModelHandle, DLSampleBatch, [], DLResultBatch)
1.4.2
HALCON AI 加速器接口 (AI2)
MVTec 的OpenVINO工具套件插件基于全新 HALCON AI 加速器接口 (AI2)。通過這一通用接口,客戶可以快速方便地將支持的 AI 加速器硬件用于深度學習應用的推理環(huán)節(jié)。
這些特殊設備不僅在嵌入式環(huán)境中得到廣泛應用,也越來越多地出現(xiàn)在 PC 環(huán)境中。AI 加速器接口從特定硬件中抽象出深度學習模型,因而特別能夠適應未來發(fā)展。
MVTec 作為機器視覺軟件的技術領導者,其軟件可以在工業(yè)物聯(lián)網(wǎng)環(huán)境中,通過使用 3D 視覺、深度學習和嵌入式視覺等現(xiàn)代技術,實現(xiàn)新的自動化解決方案。
除 MVTec 提供的插件外,還可以集成客戶特定的 AI 加速器硬件。此外,不僅典型深度學習應用可以通過 AI2 加速,所有集成深度學習功能的“經(jīng)典”機器視覺方法,例如 HALCON 的 Deep OCR,也能從中受益。
1.4.3
HALCON 基于 OpenVINO 的 AI 推理范例程序
本文中,我們使用的是基于 HALCON 的深度學習圖像分類的官方范例程序。
本文中所使用的基于 OpenVINO 的 HALCON 范例代碼已分享到 MVTec 官網(wǎng),網(wǎng)址為:
https://www.mvtec.com/cn/technologies/deep-learning/ai-accelerator-interface
下載后將該程序保存至 HALCON 范例程序指定的文件路徑中:
%HALCONEXAMPLES%/hdevelop/Deep-Learning/Classification/。
默認情況下,由于推理需要加載已經(jīng)過訓練的深度學習模型,所以需要使用 HALCON 的開發(fā)環(huán)境 Hdevelop 依次先運行該路徑下的范例程序,從而可以完成訓練并保存模型:
-
classify_pill_defects_deep_learning_1_preprocess.hdev
-
classify_pill_defects_deep_learning_2_train.hdev
接著打開下載的范例并運行(或按 F5),首先需要查詢 HALCON 所支持的 OpenVINO 設備:
* This example needs the HALCON AI2-interface for the Intel Distribution of the OpenVINO Toolkit * and a installed version of the Intel Distribution of the OpenVINO Toolkit.
query_available_dl_devices ('ai_accelerator_interface', 'openvino', DLDeviceHandlesOpenVINO)
之后,繼續(xù)執(zhí)行程序,在可視化界面會依次顯示所有查詢到的 OpenVINO 設備信息,包括本文所需使用的英特爾 Arc A770 獨立顯卡,這里我們看到支持的推理精度有 FP32 和 FP16,如下所示。
![29df16ce-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxOAfuyXAALRu7OjS3o992.png)
然后,需要選擇 OpenVINO 設備,目前 HALCON AI2 接口所支持的 OpenVINO 設備包括英特爾的 CPU,GPU,HDDL 以及 MYRIAD。在安裝 HALCON 時,只內(nèi)置安裝了 CPU 插件,需要額外安裝 OpenVINO 工具套件來支持 GPU 等其他設備,具體安裝參考章節(jié) 1.3.2。這里我們指定 OpenVINO 運行設備為“GPU”,即英特爾的獨立顯卡。
* The device parameter 'type' can be used for further selection.
* It states the OpenVINO plugin responsible for handling the
* device. Depending on your OpenVINO installation, possible values
* are e.g. 'CPU', 'GPU', 'HDDL', and 'MYRIAD'. If you did not install
* OpenVINO, HALCON will install the 'CPU' plugin.
OpenVINODeviceType := 'GPU'
繼續(xù)運行程序,會針對 GPU 的不同浮點精度做推理優(yōu)化,得到經(jīng)過 OpenVINO 加速優(yōu)化的推理模型。
* To convert the model to 'float16'/'float32' precision, no samples have to be provided to
* optimize_dl_model_for_inference.
* No additional conversion parameters are required, so use the default parameters.
get_dl_device_param (DLDeviceHandleOpenVINO, 'optimize_for_inference_params', OptimizeForInferenceParams)
optimize_dl_model_for_inference (DLModelHandle, DLDeviceHandleOpenVINO, 'float32', [], OptimizeForInferenceParams, DLModelHandleOpenVINO, ConversionReport)
在可視化窗口會展示 CPU 和 GPU 分別在 FP32 和 FP16 下的性能比對,包括推理時間和 Top-1 錯誤率。
![2a22f786-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxOAYSf7AAPVpmy8SDU566.png)
至此,OpenVINO 的配置測試已基本完成,接著就是執(zhí)行深度學習的推理,在可視化窗口里可以看到對于推理步驟的圖示和文字解釋,其中會再次展示所使用的推理設備,即英特爾的獨立顯卡信息。
![2a84ec8e-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxOAYWhJAATytUPTD84968.png)
推理的工作流程可以參考 1.4.1 章節(jié),在執(zhí)行推理的同時,可以打開任務管理器,觀察英特爾獨立顯卡的運行狀態(tài)。范例中,默認使用 FP16 精度加速推理,也可以根據(jù)具體需要切換成 FP32 精度進行對比測試。
![2ac5b69c-4d5c-11ee-a25d-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/A2/09/wKgZomT5kxOAZKosAAYcFnSzs9A551.png)
1.5
總結
MVTec HALCON AI 加速器接口(AI2)可幫助 MVTec 軟件產(chǎn)品用戶充分利用與 OpenVINO 工具套件兼容的 AI 加速器硬件。如此一來,對于關鍵工作負載,可以在英特爾計算設備(包括 CPU、GPU 和 VPU)上明顯縮短深度學習推理時間。
由于支持硬件范圍得到擴展,用戶現(xiàn)在可以充分利用各種英特爾設備的性能來加速深度學習應用,不再局限于少數(shù)特定設備。同時,這種集成可以無縫進行,不受特定硬件細節(jié)約束。現(xiàn)在只需更改參數(shù),即可在 OpenVINO工具套件支持的設備上執(zhí)行現(xiàn)有深度學習應用的推理過程。
-
英特爾
+關注
關注
61文章
10010瀏覽量
172354 -
加速器
+關注
關注
2文章
807瀏覽量
38094 -
深度學習
+關注
關注
73文章
5516瀏覽量
121562
原文標題:使用 MVTec HALCON AI 加速器接口在英特爾獨立顯卡上加速 AI 推理|開發(fā)者實戰(zhàn)
文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
英特爾發(fā)布全新企業(yè)AI一體化方案
英特爾聚焦AI座艙
英特爾攜手百度智能云加速AI落地
Inflection AI轉(zhuǎn)向英特爾Gaudi 3,放棄英偉達GPU
Inflection AI攜手英特爾推出企業(yè)級AI系統(tǒng)
英特爾發(fā)布Gaudi3 AI加速器,押注低成本優(yōu)勢挑戰(zhàn)市場
英特爾? 酷睿? Ultra 處理器面向多行業(yè)加速AI產(chǎn)業(yè)升級
![<b class='flag-5'>英特爾</b>? 酷睿? Ultra 處理<b class='flag-5'>器</b>面向多行業(yè)<b class='flag-5'>加速</b><b class='flag-5'>AI</b>產(chǎn)業(yè)升級](https://file1.elecfans.com/web2/M00/07/71/wKgaomblg-6AZ7CbAAHfaZ-vvkg688.png)
支持140億參數(shù)AI模型,229TOPS!英特爾重磅發(fā)布第一代車載獨立顯卡
![支持140億參數(shù)<b class='flag-5'>AI</b>模型,229TOPS!<b class='flag-5'>英特爾</b>重磅發(fā)布第一代車載<b class='flag-5'>獨立</b><b class='flag-5'>顯卡</b>](https://file1.elecfans.com/web2/M00/02/77/wKgaoma15SGAa8DKAA7dPTHZvh8710.png)
英特爾發(fā)布AI創(chuàng)作應用AI Playground,將于今夏正式上線!
![<b class='flag-5'>英特爾</b>發(fā)布<b class='flag-5'>AI</b>創(chuàng)作應用<b class='flag-5'>AI</b> Playground,將于今夏正式上線!](https://file1.elecfans.com//web2/M00/EE/76/wKgaomZroIqAWiOAAAEJucb6ueg817.png)
評論