先說一句:OpenCV 5 已經在路上了!
前言
OpenCV 4.4.0 於2020年7月18日正式釋出,不得不說OpenCV 作為最大開源的影像處理工具,提供的內容太全面了,對小白友好度很高。不僅演算法眾多,而且文件、原始碼、各平臺下的SDK都極易獲取/訪問。
https://opencv.org/releases/
OpenCV 4.4.0 亮點精選:
SIFT 遷移至主庫(因為SIFT專利過期)
支援YOLO v4
支援EfficientDet
OpenCV 4.4.0
一、SIFT
SIFT(尺度不變特徵變換)演算法已移至主庫(因為SIFT的專利已過期)。
SIFT 演算法在谷歌學術上引用量已高達 19339 + 57536
很多剛入門CV的同學,應該對傳統演算法不太熟悉。像SIFT(1999年出現,2004年完善)在傳統影像處理中的地位應該就像深度學習中的ResNet一樣(比喻可能不太恰當),主要用來做特徵點檢測與描述,可以擴充套件應用於影像匹配、三維重建、影像拼接等任務。
SIFT 中的金字塔思想,現在也被很多CNN網路參考和借鑑,主要用於解決 scale(尺度)問題。
多說一句,SIFT是否過期其實對學生來說,意義不大,因為本身就是可以用於學術研究,而且之前在non-free模組中也可以快速使用;但對於企業級商業應用來說,意義還是很大的。
二、DNN模組
改進 layers/啟用/支援更多模型。
注:OpenCV中的DNN模組大多數是用於inference,因為其並不是擔任深度學習框架的角色,所以大多數模型並非首發,而是支援。
2.1 支援最新的YOLO v4
因為原版YOLOv4就是基於C語言開發的,所以遷移到OpenCV中相比較並不是特別難的事情,所以時隔3個月,OpenCV就快速支援了YOLOv4。
2.2 支援EfficientDet
谷歌家的EfficientDet 沒話說,效能強悍,mAP和FPS的表現都很贊。
EfficientDet
2.3 支援FlowNet2
FlowNet2 是基於深度學習的光流估計網路,早期開源的版本就是基於Caffe框架的,現在終於遷移過來了。
FlowNet2
除了上述更新之外,DNN模型還有如下更新:
ONNX:新增對Resnet_backbone(Torchvision)的支援
新增文字識別新示例
增加了對OpenVINO 2020.3 LTS / 2020.4版本的支援
CUDA後端中的許多修復和最佳化
三、G-API模組
在 OpenCV後端引入了用於狀態核心的新API:GAPI_OCV_KERNEL_ST。有狀態核心在各個圖執行或流的影片幀之間(以流模式)保留其狀態。
在G-API中引入了更多面向影片的操作:goodFeaturesToTrack,buildOpticalFlowPyramid,calcOpicalFlowPyrLK。
新增了更多的影像處理核心:Laplacian和雙邊 filters。
修復了 G-API的 OpenCL後端中的潛在崩潰。
四、社群貢獻
OpenCV社群的許多其他偉大貢獻,包括但不限於:
Obj-C / Swift繫結
(opencv_contrib)Julia繫結是正在進行的GSoC專案的一部分
(opencv_contrib)BIMEF:生物啟發的多重曝光融合框架,用於弱光影像增強
Otsu 閾值化支援 CV_16UC1影像
為文字檢測新增筆畫寬度變換(Stroke Width Transform,SWT)
貢獻者:
opencv:105位
opencv_contrib:27位