計算機視覺和機器學習軟件:OpenCV有多酷?
然而,有許多優(yōu)化可以執(zhí)行,使推理速度更快。例如,一個高效的推理機可以刪除神經網絡中未激活的部分,或者將多個層合并到一個單獨的計算步驟中。如果硬件支持16位浮點運算,其速度通常是32位版本的兩倍,則推理機可以利用這一點來加快處理速度,而幾乎不會損失精度。
現在在物聯網和邊緣設備的世界里,世界上大多數推理都是在CPU上完成的。你不會在你的監(jiān)控攝像頭里放一個幾百美元的GPU,這就是OpensCV的深度學習模塊非常適合的原因。你只需運行一個自主選擇的深度學習模型作為推理機。
英特爾為此投入了大量資金,并發(fā)布了OpenVINO工具包。OpenVINO或openvisualinferencing and Neural network Optimization,簡稱OpenVINO,旨在加速神經網絡在圖像分類和目標檢測等任務中的速度。
那么背后發(fā)生了什么呢?
加載模型后,它們將轉換為OpenCV中的內部表示形式,這與Caffe非常相似。
如果我們轉到OpenCV網站,我們可以看到它支持幾個基本的神經網絡層。它還包含了池化層、激活函數,比如Tanh、ReLU、Sigmoid和Softmax,還有Reshape, Flatten, Slice, 和Split等函數。
在opencv的Deep Learning wiki中,你可以看到對經典神經網絡架構的支持,比如AlexNet、GoogleNet、VGG和ResNet等。DNN模塊具有可用的圖像分類、目標檢測和語義分割等模型。
現在,如果每個模型都被翻譯成一個內部表示,我們如何確保在翻譯過程中沒有丟失一些東西呢?OpenCV已經發(fā)布了一些測試結果,表明在準確性上,使用DNN模塊的ResNet 50和原始的ResNet 50之間沒有任何區(qū)別,這意味著無論使用OpenCV的DNN模塊還是原始的體系結構,都將得到相同的結果。

請輸入評論內容...
請輸入評論/評論長度6~500個字