OpenCV為什麼不出自己的的深度學習框架?如果出了,還有caffe和mxnet什麼事嗎?

深度學習概念太大,這裡只局限於圖像領域的CNN模型。題主覺得,對於傳統的視覺問題,分類,檢測,分割等,現在深度學習慢慢傻瓜化工具化了,既然這樣,opencv作為視覺開發主流工具,為什麼不集成CNN演算法,基於什麼樣的考慮?如果集成了,會對現有的caffe和mxnet等其他深度學習框架造成什麼影響?


貌似老大都去magicleap了


opencv 3.1開發版已經支持load caffe torch7框架了


opencv_contrib 的DNN模塊可以載入caffe訓練的模型

opencv_contrib/modules/dnn at master · opencv/opencv_contrib · GitHub


這是MXNet在知乎上被黑得最慘的一次


你非要讓一個搬磚的做設計大樓、粉刷、裝修,水電都做了嗎

=========打臉分割線=========

Opencv 已經出cnn,lstm 了,在最新的3.2版本

=========再次打臉分割線=======

已經可以載入tf,torch,caffe,pytorch模型了


OpenCV框架及技術總結, 歡迎同行探討.

概述

OpenCV是一個開放源代碼的計算機視覺應用平台,由英特爾公司研發中心俄羅斯團隊發起該項目,開源BSD證書,OpenCV的目標是實現實時計算機視覺,,是一個跨平台的計算機視覺庫。從開發之日起就得到了迅猛發展,獲得了眾多公司和業界大牛的鼎力支持與貢獻,因為是BSD開源許可,因此可以免費應用在科研和商業應用領域。

歷史

OpenCV從立項之日起到現在不過短短的十幾年時間,已經席捲整個業界,得到眾多著名企業的大力支持,其中包括大名鼎鼎機器人公司Willow Garage與搜索引擎起家的Google。下面幾個時間節點對OpenCV發展產生過重要影響:

1999年

OpenCV正式立項,那個時候小編剛剛上大學二年級

2000年

在IEEE計算機視覺與模式識別大會上正式發布了Alpha版本

2001年~2005年

最初五個Beta測試版本發布時間

2006年

正式發布了OpenCV 1.0版本

2008年中,

OpenCV獲得了當時還如日中天的機器人公司Willow Garage支持,不幸的是作為機器人業界傳奇公司Willow Garage在2014已經倒閉。

2009年

對OpenCV產生重大影響OpenCV2.0正式發布,它的最大的一個變化是添加C++介面,把OpenCV中很多C語言的數據和API進行了優化。目標是建立一個易用、類型安全、新功能,性能更加的版本。官方每六個月發布一次新版本。

2012年

OpenCV正式被非盈利組織http://OpenCV.org接管、維護用戶與開發者社區網站。

核心功能與應用實現

OpenCV中已經包含如下核心功能:

- 二維和三維特徵工具箱

- 運動估算

- 人臉識別系統

- 姿勢識別

- 人機交互

- 移動機器人

- 運動理解

- 對象鑒別

- 分割與識別

- 立體視覺

- 運動跟蹤

- 增強現實(AR技術)

基於上述功能實現需要,OpenCV中還包括以下基於統計學機器學習庫:

- Boosting演算法

- Decision Tree(決策樹)學習

- Gradient Boosting演算法

- EM演算法(期望最大化)

- KNN演算法

- 樸素貝葉斯分類

- 人工神經網路

- 隨機森林

- 支掌向量機

編程語言:

OpenCV中多數模塊是基於C++實現,其中有少部分是基於C語言實現,當前OpenCV提供的SDK已經支持C++、Java、Python等語言應用開發。當前OpenCV本身新開發的演算法和模塊介面都是基於C++產生。

操作系統支持

OpenCV支持幾乎所有主流的OS系統上應用開發。桌面平台:

Windows、

Mac、

Linux、

FreeBSD、

OpenBSD等。

移動平台:

Android、

IOS、

BlackBerray等平台。

用戶可以從OpenCV官方獲取相關SDK下載,開發文檔和環境配置信息。

應用領域

OpenCV自從1.0版本發布以來,立刻吸引許多公司目光,被廣泛應用在許多領域的產品研發與創新上,相關應用包括衛星地圖與電子地圖拼接、醫學中圖像雜訊處理、對象檢測、安防監控領域安全與入侵檢測、自動監視報警、製造業與工業中的產品質量檢測、攝像機標定。軍事領域的無人機飛行、無人駕駛與水下機器人等眾多領域。

開發者

當前OpenCV隨著工業4.0與機器人無人機發展已經在應用領域得到了廣泛的應用,當前越來越多從事機器視覺與圖像處理的開發者選擇OpenCV作為開發工具實現應用開發。OpenCV社區的開發者人數也不斷增幾何級增加,隨著OpenCV開發包支持的語言增加,越來越多Android開發者、Python開發者加入OpenCV學習的陣營。

學習

學習OpenCV,首先是http://www.opencv.org社區上教程文檔與樣例代碼,API說明文檔,如果有能力閱讀源代碼的話源代碼是很好的學習資料。此外小編推薦閱讀《Learning OpenCV》的中文版,封面有一隻大大的蝴蝶。如果具備以下技能有助更好的學習OpenCV

1.已經有了面向對象語言的基礎比如學習過C/C++或者Java就會事半功倍。

2.對圖像處理機器學習有基礎了解。如果沒有推薦閱讀勞爾.岡薩雷斯的《數字圖像處理》綠皮書。此外有一本程序員寫的書《Java數字圖像處理-編程技巧與應用實踐》講述了圖像處理基礎知識與理論淺顯易懂。

另外網路上相關的博客文章和教程也是初學者最好的參考。

相似框架

OpenCV是優秀的專業機器視覺開發軟體包,常見還包括以下非常專業的機器視覺開發包:

- Matlab

- Halcon

- Sapera

- VisonPro

- EVision

雖然這些商業軟體對於初級開發者來說更加容易學習和掌握,但是他們都是收費的商業軟體、而且商業應用採用時價格昂貴。所以專業的開發人員和機器視覺公司更喜歡OpenCV這樣完全開源的開發工具。

社區支持

OpenCV library;

最新版本-OpenCV 3.1.0

OpenCV 3.1 - OpenCV library

乾貨分享【OpenCV學堂】公眾號: CVSCHOOL

可+OpenCV學習群: 376281510 進群暗號: OpenCV


術業有專攻 本來側重就不同。 就算做了DL的框架 那也是造輪子 何必呢


因為沒必要啊。

一個是深度學習,一個是計算機視覺,明明是兩個不同的領域。

=============================================

話說新版本已經出了。


因為openCV要淘汰了


推薦閱讀:

基於tensorflow的最簡單的強化學習入門-part0:Q-learning和神經網路
阿爾法狗走出電腦,它們現在控制著機器人,自己學會了開門!
Dimensionality Reduction——LDA線性判別分析實現篇
Facebook 能主動監測出自殺傾向的用戶,並及時提供援助
令人拍案叫絕的Wasserstein GAN

TAG:人工智慧 | OpenCV | 機器視覺 | 深度學習DeepLearning | Caffe深度學習框架 |