大家好!我借這篇文章,分享給大家今年計算機視覺領域里的一些令人興奮不已的最新進展。特別是最新OpenCV(當前最流行的計算機視覺庫)的發布,您的計算機視覺應用程序可以在現代異構計算平台上充分利用CPU和GPU的全部計算力。
從OpenCV 2.4.3開始,到作了重大改進后的OpenCV 2.4.4,至將來發布的各種新版本中,OpenCV都會得到了OpenCL的有力支持。 OpenCV-CL正逐漸地成為功能優異而性能高效的計算機視覺庫,且在AMD的APU處理器和GPU顯卡上表現出優異性能。
下面列舉出了一些目前已經移植到OpenCL的OpenCV功能,包括即將發布的OpenCV2.4.6的一些功能:
• OpenCV-CL 二進制下載
• 初始化和信息
• 單個元操作
• 圖像變換
• 還原
• 色彩轉換
• 豐富的濾波引擎,包括有各種類型的圖像濾波器,如高質量圖像增強
• 圖像的幾何轉換
• 基於均值漂移的變換,K-means,聚類
• 角特征檢測器
• 模板匹配
• 描述符匹配
• 特征檢測,Haar, 特征跟
• 特征描述符
• 加速的魯棒特征(speeded-up robust features, SURF)
• 梯度方向直方圖(HOG)
• 人臉識別 (Viola Jones)
• 光流,如LK, TV L1, Farneback
• 立體聲對應:BM, BP, CSBP
• 基於TV L1光流的超分辨率
為有助於開發人員,最新發布的AMD APP SDK(2.8.1版)帶有兩個OpenCV- CL例子。例子程序“Hello World”驗證OpenCV- CL可否在您的系統中工作;互操作示例程序演示在不需要OpenCL管道的情況下,如何利用程序開發人員用自己編寫的OpenCL內核擴展OpenCV- CL!
下面簡要地介紹這個實現過程:
OpenCV-CL是非常靈活的,可依照程序員的需要,盡可能多地或盡可能少地展現出OpenCL。即使具有很少或者根本沒有OpenCL開發經驗的程序員,也能簡單地調用支持OpenCL功能的cv:: OCL模塊,而無需了解或者編寫一行OpenCL API或OpenCL內核代碼。無論他使用的是APU中集成的GPU,還是獨立顯卡上的GPU,他的程序都能受益於GPU提供的優異的計算能力。事實上,你可以研究cv:: OCL模塊中的OpenCL例子程序,去學習如何在計算機視覺應用問題中使用OpenCL。對於熟悉OpenCV並且具有豐富的開發經驗的程序員,我們也給他們一個驚喜:他們可以利用OpenCV- CL的基礎架構,獲得免費的OpenCL支持輕松的使用OpenCL功能(僅僅只需要他們添加使用一行代碼而已)。然后,程序員可將自己的內核程序插入OpenCV-CL框架,就可以擴展該框架,而無需重新做編譯工作。 AMD特意在APP SDK2.8.1中引入這個互操作功能例子,就是為了說明這個過程是多么容易!
在AMD開發者網站內,您能找到自己所需的資源,包括利用網站內的社區論壇,幫助自己創建異構計算解決方案。在這個論壇上,您也能分享對OpenCV或AMD APP SDK的建議或意見。我們會傾聽您的想法,讓我們能夠不斷地改進異構計算的軟件開發工具!
再者,請積極加入OpenCV論壇,為改進OpenCV做出貢獻,或從github獲取最新、最棒的源代碼。請留意更新!我們的目標是借由異構計算使得計算機視覺更快、更方便集成!
請盡情享受異構計算帶來的全新體驗!
請在這里下載AMD APP SDK2.8.1。為了更好地使用APP SDK2.8.1,建議您升級驅動程序到AMD Catalyst 13.6 Beta2以上。
Harris Gasparakis博士是OpenCV-CL的項目經理,技術負責人和布道者。他的文章表達了他的個人意見,並不完全代表AMD的立場,策略或觀點。第三方網站的鏈接和第三方商標引用僅供方便和說明之用。除非明確說明,AMD不負責這些鏈接內的內容,並且沒有認可或暗示任何其產品。