OpenCV 3.0之后三年半,,OpenCV 4.0出爐機(jī)器之心編輯,參與:機(jī)器之心編輯部,。
OpenCV 是英特爾開(kāi)源的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),。也就是說(shuō),它是一套包含從圖像預(yù)處理到預(yù)訓(xùn)練模型調(diào)用等大量視覺(jué) API 的庫(kù),,并可以處理圖像識(shí)別,、目標(biāo)檢測(cè)、圖像分割和行人再識(shí)別等主流視覺(jué)任務(wù),。OpenCV 最顯著的特點(diǎn)是它提供了整套流程的工具,,因此我們根本不需要了解各個(gè)模型的原理就能一個(gè)個(gè) API 構(gòu)建視覺(jué)任務(wù)。 OpenCV 使用 BSD 許可證,,因此對(duì)研究和商業(yè)用途均免費(fèi),。它具備 C++、Python 和 Java 接口,支持 Windows,、Linux,、Mac OS、iOS 和 Android 系統(tǒng),。OpenCV 旨在提高計(jì)算效率,,專注于實(shí)時(shí)應(yīng)用,。它使用優(yōu)化的 C/C++寫(xiě)成,,能夠利用多核處理。 此外,,在 OpenCL 的加持下,,OpenCV 可以利用底層異構(gòu)計(jì)算平臺(tái)的硬件加速。它的 GitHub 頁(yè)面中有一個(gè)「open_model_zoo」資源庫(kù),,包含了大量的計(jì)算機(jī)視覺(jué)預(yù)訓(xùn)練模型,,并提供下載方法,有助于加速開(kāi)發(fā)和產(chǎn)品部署過(guò)程,。OpenCV 應(yīng)用廣泛,,目前在用戶社區(qū)有 4.7 萬(wàn)用戶,下載量約為 1400 萬(wàn),。 可以說(shuō) OpenCV 是 CV 領(lǐng)域開(kāi)發(fā)者與研究者的必備工具包,Mask-RCNN 等很多開(kāi)源項(xiàng)目都依賴于這個(gè)工具包?,F(xiàn)在距離 3.0 版本的發(fā)布已經(jīng)過(guò)去三年多,,近日 OpenCV 4.0 final 版發(fā)布,它進(jìn)一步完善了核心接口,,并添加了二維碼檢測(cè)器,、ONNX 轉(zhuǎn)換格式等新特點(diǎn)。 重要更新:
此外,,OpenCV 4.0 支持 Mask-RCNN 模型,,性能也有所提升,圖像處理操作可實(shí)現(xiàn) 15%-30% 的速度提升,。 OpenCV 與深度學(xué)習(xí) 在 OpenCV 4.0 的更新中,,它強(qiáng)化了 DNN 模塊并添加支持 ONNX 交換格式的神經(jīng)網(wǎng)絡(luò),這一切都表明 OpenCV 非常注重其與深度學(xué)習(xí)之間的關(guān)系,。其實(shí)自從 OpenCV 3.1 以來(lái),,它就包含了能實(shí)現(xiàn)深度網(wǎng)絡(luò)前向傳播的 DNN 模塊,這些深度網(wǎng)絡(luò)一般都由 Caffe 等深度學(xué)習(xí)框架預(yù)訓(xùn)練而成,。在 OpenCV 3.3 中,,DNN 模塊從 opencv_contrib 移到了核心代碼庫(kù),并取得了顯著的加速,。 更重要的是除了 libprotobuf 以外,,OpenCV 中的 DNN 模塊不包含額外的依賴項(xiàng),而且現(xiàn)在 libprotobuf 已經(jīng)包含到了 OpenCV 中,。以下是目前 OpenCV 支持的一些框架:
目前 OpenCV 所支持的深度學(xué)習(xí)層級(jí)函數(shù):
對(duì)于對(duì)性能要求很高的神經(jīng)網(wǎng)絡(luò)層,,這個(gè) DNN 模塊包括 SSE、AVX,、AVX2 和 NEON 等底層加速庫(kù),,且還有持續(xù)優(yōu)化中的 Halide 后端。 你可以在這里找到最新的基準(zhǔn)結(jié)果:github.com/opencv/open… 單張圖像前向傳播的中位最佳時(shí)間(以毫秒為單位,,基于 CPU 在 float32 上計(jì)算)。 以下網(wǎng)絡(luò)已經(jīng)經(jīng)過(guò)測(cè)試并證實(shí)可行:
OpenCV 4.0 發(fā)布地址:opencv.org/opencv-4-0-… |
|