OpenCV 例項解讀:深度學習的計算與加速

格伯納發表於2018-10-23

OpenCV是一個基於BSD許可(開源)發行的跨平臺計算機視覺庫,有進行物體識別、影像分割、人臉識別、動作識別等多種功能,可以在Linux、Windows、Android、Mac OS等作業系統上執行,以輕量級、高效著稱,且提供多種語言介面。今年加入了深度學習DNN模組,那麼如何理解,它的加入又帶來了什麼樣的價值?

OpenCV 例項解讀:深度學習的計算與加速


嘉賓簡介

 

趙娟,Intel亞太研發有限公司資深軟體工程師、專案經理,她來自Intel 開源技術中心(Opensource Technology Center OTC)。Intel OTC幫助Intel打造開源社群促進企業數字化轉型,並利用開源新技術激發全產業創新活力。在OTC, 她主要帶領Media Processing和Media Framework團隊,主要關注開源專案中視訊處理和編解碼的演算法與加速。

今年2018年10月17日~19日,由IT168旗下ITPUB企業社群平臺主辦的第十屆中國系統架構師大會(SACC2018)上趙娟老師將會針對如何便利的使用OpenCV深度學習模組更快的搭建出使用者的程式、深度學習的瓶頸和應用、OpenCV 的架構、深度學習庫的介紹和應用、如何理解OpenCV的深度學習模組等問題展開深度討論,今天小編先帶大家一塊兒探探路。以下為採訪實錄。


AI在各業務範圍內開枝散葉

OpenCV 例項解讀:深度學習的計算與加速


ITPUB:您認為人工智慧現在處在一個什麼樣的階段? 

趙娟:我認為人工智慧已經經歷這麼多年的發展,在framework領域已經逐漸成熟。而在各業務範圍的開枝散葉,是目前大的趨勢。舉一個例子,人工智慧和AR,VR都有結合。在車載360度環視環境中,可以進行行人和障礙物檢測。


ITPUB: 未來的發展方向如何?

趙娟:目前我們看到的人工智慧的應用,相對而言還比較窄,在未來,針對同一場景,做各種不同的智慧檢測,反饋會是一個趨勢。目前在車載的智慧應用,在機器人的系統開發中已經有了一些前沿的討論和研發。比如今年CVPR的最佳論文,taskonomy研究遷移學習,提供含室內環境20幾個的任務的bank。雖然文章討論的亮點是在於節約樣本,但是這也是為同時做多工處理提供了非常好的樣例。


還是以車載為例,在同一時間,它需要分析周邊環境,需要同時進行多方面的分析,包括路線、行人、障礙物。目前,我們大部分是使用高分率雷達和鐳射雷達結合深度完成,現在已經有一些純粹基於視訊的方案了。


至於如何在各業務領域落地,一時間也不會有一個統一的方法,看各巨頭和新興企業之間的對客戶的博弈。比如在邊緣計算領域會提供一些低成本低功耗快速精減服務,而云計算也會在提高準確性、處理速度和低延時方面向邊緣計算提供補充。最終的目的,是改善各層次消費者的生活,降低社會成本。


ITPUB:您認為視訊行業會在哪些關鍵部分和階段與AI技術產生“火花”?

趙娟:如果說火花,其實現在就已經非常火了。我認為目前最大的火花,還在於車載和機器人兩個領域,結合邊緣和雲端計算,會更多的深度應用。同時對視訊處理的效率、效能、延時提出了高要求。


ITPUB: 當初AI技術是如何與現有的系統進行融合的?

趙娟:我們接觸AI源於四年前Michael Fu (Intel,我們base在JF的老闆,帶Audio/Videol團隊 )的OpenCL的策略的一部分,到今年的Vulkan為DNN加速一切很自然。和Pisarevsky Vadim的合作非常順暢。


ITPUB :這之間遇到什麼挑戰您能談談麼?

趙娟:說起挑戰,是Google平臺(特別是Android)的加速引發,隨著Google也在推進Vulkan,所以我們迎接這個趨勢,也開始了一些path finding,目前也有1萬6千多行程式碼和Vadim的團隊review。


OpenCV 的深度學習魅力

OpenCV 例項解讀:深度學習的計算與加速

ITPUB:今年OpenCV增加了深度學習模組,您能否簡單介紹下最新的進展情況和應用實踐?

趙娟:OpenCV是一個非常有歷史的開源專案,受益群眾特別廣。它在3.3時開始將深度學習模組從opencv_contrib移到OpenCV repo。它主要關注於inference。在framework層面,有caffe, caffe2, tensorflow,那為什麼還會有OpenCV DNN呢?設計初衷是在inference時,方便不同框架通過同一個interface來做inference。同時OpenCV在影像預處理和後處理中已經提供了非常豐富的方法。

目前它的DNN的模組加入了Intel的OpenVino的加速,來滿足Intel不同平臺的需要。 OpenVINO的全稱是Open Visual Inference & Neural Network Optimization。除此之外,OpenCV DNN也包含其他的backend, 比如Halide backend,經過優化的CPU和OpenCL backend以及目前正在進行中的Vulkan backend。OpenCV DNN中有提供非常多的sample,比如人臉檢測、影像風格轉換,等等。 這裡面有很多的工作來自於俄羅斯團隊。我們團隊前赴後繼的在OpenCV DNN 的Framework以及Backend方面提供優化和加速演算法。


ITPUB: 在具體的應用過程中,您比較關注哪些效能方面的優化?

趙娟:談到應用,以前,我們團隊和Pisarevsky Vadim(OpenCV Maintainer,來自Intel俄羅斯)一起,幫助OpenCV DNN提供了OCL的硬體加速。目前我們更關注於使用新的技術對NN進行加速。比如Vulkan。


ITPUB:處於當前的階段下,您認為深度學習DNN模組的匯入將帶來怎樣的價值?比如開發人員的准入門檻、視訊處理的效能優化等方面。

趙娟:在我今年和應屆生、學校的老師以及一些論壇中的人有過討論後,驚喜的發現已經有人在使用OpenCV DNN。OpenCV DNN使用起來非常簡單,也有和Java, python結合。這降低了研發人員的准入門檻。結合OpenCV的本身的影像預處理、後處理,讓整個pipeline更簡潔。

ITPUB:您目前帶開源技術中心media framework和media processing,專注於Intel的開源生態,服務於Intel各產品部門的需求,據您經驗,在視訊處理方面有哪些坑?

趙娟:談起視訊處理裡的坑,有一個訴求是經久不變的,0-Copy。這個需要深入理解整個pipeline中對buffer的管理和傳遞。另一個坑是忘記開啟硬體加速。使用者有時並不是直接使用FFmpeg/gstreamer,OpenCV,而是通過上層如HandBrake,JavaCV。這時需要檢查所依賴的FFmpeg/gstreamer,OpenCV是否已經開啟了硬體加速。


有關SACC

OpenCV 例項解讀:深度學習的計算與加速

ITPUB:今年是SACC大會的第十年,作為《機器學習與深度學習》專場的演講專家,在您看來,本次專場,能幫助聽眾解決企業哪些方面的問題?能為聽會者帶來哪些收益?

趙娟:其實,這是我第一年參加SACC。令我特別高興的是,我在來參會嘉賓中看到了很多熟人。如果大家有對各種視訊處理,360影像拼接,與深度學習相結合方面,或者硬體加速的問題,我樂意答疑解惑。


ITPUB:對於本屆大會,您有什麼想對參會者說的嗎?

趙娟:我還是套用習大大的話吧,擼起袖子加油幹。目前我們團隊打算寫一本OpenCV深度學習有關的書,來幫助大家。


舊時王謝堂前燕,飛入尋常百姓家。深度學習在近兩年的發展中,走出學術圈,逐步應用在各行各業,更多關於深度學習的技術乾貨快來參加IT168 旗下 ITPUB 企業社群平臺主辦的第十屆中國系統架構師大會(SACC2018)。2018 年 10 月 18 日上午,機器學習與深度學習專場,盡享技術饕餮大餐。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31509949/viewspace-2217177/,如需轉載,請註明出處,否則將追究法律責任。

相關文章