有在玩電腦(機器)視覺的朋友對開源電腦視覺函式庫「OpenCV」一定不陌生,從2000年發展至今已超過十八個年頭,中間歷經多次重大變革及分支,從2.2版開始支援C++,2.4版開始支援CUDA, OpenCL等加速工具,2.4.9版後本來進到3.0版停止支援C語言只支援C++,但許多仍在使用C語言的伙伴仍不離不棄,繼續將部份新增功能加入,於是劇情就展開成兩條支線,目前已來到2.4.13.6版,後續是否能繼續發展,實在令人擔憂。而3.0.0版於2015年正式推出,加入許多深度學習的工具,3.3版後更加入更多深度學習框架及算法如Caffe、Yolo等。最近(2018/11/20)正式推出4.0版更是讓人眼睛一亮,在深度學習部份有了重大改革,實在值得好好花點時間研究。
OpenCV演進歷史。OmniXRI Jack整理製作 (點擊圖片放大) |
以下就簡單把此次4.0版更新重點做一點整理。
- 更完整支援C++11,去除大量OpenCV 1.x版留下的C API,要配合CMake 3.5.1之後版本編譯。
- 除原有CUDA,OpenCL支援平行演算外,另新增大量以GPU繪圖加速計算的處理函式庫G-API。
- 在深度神經網路(DNN)模組中增加FP16支援,同時加入ONNX框架,使得各種模型能順利加入執行,如AlexNet, Inception v2, Resnet, VGG, Yolo, Tiny Yolo v2等。
- 對DNN的改進,如Mask RCNN, Faster R-CNN
- 在快速QR Code檢測、3D場場建構的Kinect Fusion、高質量密集光流算法也都有重大改進。
另外Intel OpenVINO對OpenCV也是大力支援,同步推出更新版本,可支援更多的模型及算法,包括:
- 支援低解析度(Int8)推論,以利Intel CPU及未來低階推論用AI晶片。
- 加強支援Tensor Flow, MXNet, ONNX等框架,及R-FCN, Yolo v3, OpenPose等模型算法。
- 增加三種預訓練模型以利人臉特徵點、人體姿態建立及將影像超解析度等應用。
- 可下載ResNet-50, ResNet-101, ResNet-152, GoogleNet v3等模型參數。
- 更多預訓練模型可參考 https://github.com/opencv/open_model_zoo
OpenCV 4.0及OpenVINO更完整的釋出說明可參考官網:
https://opencv.org/opencv-4-0-0.html
https://docs.opencv.org/4.0.0/index.html
沒有留言:
張貼留言