如今,新基建的浪潮已經(jīng)席卷了幾乎所有社會(huì)經(jīng)濟(jì)領(lǐng)域。各行各業(yè)都希望借助新基建普及的東風(fēng),搭上數(shù)字化經(jīng)濟(jì)的帆船。AI 作為推動(dòng)社會(huì)科技進(jìn)步的原動(dòng)力,一直受到社會(huì)各界的普遍關(guān)注,而機(jī)器視覺(jué)作為人工智能發(fā)展的重要分支,尤其在安防領(lǐng)域發(fā)展飛速。兩年前,華為就提出了“軟件定義”的概念,提出了機(jī)器視覺(jué)前端智能化的幾點(diǎn)優(yōu)勢(shì),如今,軟件定義攝像機(jī)的出現(xiàn)將這一切變成了現(xiàn)實(shí)。
8 月 26 日,華為機(jī)器視覺(jué)與 InfoQ 聯(lián)合舉辦的 DevRun 開(kāi)發(fā)者沙龍·華為機(jī)器視覺(jué)技術(shù)開(kāi)放日 - 杭州專(zhuān)場(chǎng),在華為杭州研究所成功舉辦。本次沙龍邀請(qǐng)到華為機(jī)器視覺(jué)多位資深技術(shù)專(zhuān)家對(duì)攝像機(jī) App 開(kāi)發(fā)、攝像機(jī) AI 模型轉(zhuǎn)換與精度分析、攝像機(jī) AI 模型部署與推理等幾個(gè)議題做了深度分享,沙龍介紹了 AI 算法實(shí)踐以及軟件定義攝像機(jī)的特點(diǎn)和功能。華為機(jī)器視覺(jué)專(zhuān)家們還通過(guò)實(shí)操環(huán)節(jié)為與會(huì)開(kāi)發(fā)者們進(jìn)行了演示。
什么是軟件定義攝像機(jī)?
華為機(jī)器視覺(jué)營(yíng)銷(xiāo)專(zhuān)家孟杭理就華為軟件定義攝像機(jī)(Software-Defined Camera,簡(jiǎn)稱 SDC)進(jìn)行了介紹。面向不同的行業(yè)和不同的算法性能要求,華為 X、M、C、D 四大系列軟件定義攝像機(jī)提供了開(kāi)放的接口和強(qiáng)勁的算力,開(kāi)放者基于軟件定義攝像機(jī)開(kāi)放接口既可直接調(diào)用攝像機(jī)算法能力進(jìn)行應(yīng)用開(kāi)發(fā),也可以開(kāi)發(fā)自己的算法和應(yīng)用并加載到攝像機(jī)中。HoloSens Store 是華為機(jī)器視覺(jué)推出的一站式智能視頻算法商城,商城集合了可運(yùn)行于華為軟件定義攝像機(jī)和智能視頻云平臺(tái)的優(yōu)秀第三方算法,滿足金融、能源、教育、園區(qū)等諸多行業(yè)智能化訴求。HoloSens Store 致力于讓開(kāi)發(fā)者從“算法”到“應(yīng)用”不再空中樓閣;讓使用者從“想法”到“算法”,不再遙不可及。
如何玩轉(zhuǎn)攝像機(jī) App 軟件開(kāi)發(fā)?
機(jī)器視覺(jué) SDC OS 首席架構(gòu)師韓霆軍談到了軟件定義攝像機(jī)的軟件架構(gòu)設(shè)計(jì)理念。雖然該平臺(tái)屬于端側(cè)產(chǎn)品,但大量引用了微服務(wù)設(shè)計(jì)理念來(lái)實(shí)現(xiàn)軟硬件之間、軟件和業(yè)務(wù)特性之間,以及應(yīng)用之間的解耦。華為軟件定義攝像機(jī)的很多特性都能通過(guò)微服務(wù)來(lái)按需加載和任意組合,從而提供多種功能。開(kāi)發(fā)者在攝像機(jī)上可以不受任何干擾地使用底層資源,也可以像手機(jī)一樣限制應(yīng)用的權(quán)限,滿足安全性等需求。
華為還提供界面的通用配置功能,幫助開(kāi)發(fā)者方便地自動(dòng)生成簡(jiǎn)單的 web 頁(yè)面。開(kāi)發(fā)者只需簡(jiǎn)單地對(duì)接通用配置的查詢接口,就可以生成自己的應(yīng)用。
華為軟件定義攝像機(jī)定義了二進(jìn)制消息頭,可以把它理解為是 HTTP 協(xié)議 2.0 版本,軟件定義攝像機(jī)對(duì)外提供的接口規(guī)則和 RESTFUL 里面定義的很多約定俗成的規(guī)則也是類(lèi)似的。這里還可定義擴(kuò)展頭,希望通過(guò)擴(kuò)展頭的機(jī)制實(shí)現(xiàn)接口的持續(xù)演進(jìn),保持前向和后向的兼容。為了提升效率,客戶端可以把請(qǐng)求批量一次性發(fā)到服務(wù)端。每一個(gè)使用者可以給自己的每一個(gè)請(qǐng)求設(shè)置 Transaction-ID,服務(wù)端會(huì)保證這個(gè)請(qǐng)求或響應(yīng)跟 Transaction-ID 是一致的,從而實(shí)現(xiàn)靈活的編程或業(yè)務(wù)處理。
韓霆軍就 App 開(kāi)發(fā)后的發(fā)布方式做了講解。華為提供的服務(wù)接口類(lèi)似于消息接口,所以并不會(huì)給開(kāi)發(fā)者提供任何動(dòng)態(tài)庫(kù)。支持文件操作的編程語(yǔ)言都可以和華為的服務(wù)交互。韓老師還展示了基礎(chǔ)的安裝操作,演示了 App Demo 在攝像機(jī)上運(yùn)行的畫(huà)面。
攝像機(jī) AI 模型轉(zhuǎn)換與精度分析華為機(jī)器視覺(jué)智能算法專(zhuān)家馬俊凱博士做了題為《攝像機(jī) AI 模型轉(zhuǎn)換與精度分析》的分享。華為軟件定義攝像機(jī)依托于華為的芯片算力,可以很容易地將算法落地在應(yīng)用場(chǎng)景中。馬俊凱詳細(xì)介紹了開(kāi)發(fā)者如何將自身開(kāi)發(fā)的深度學(xué)習(xí)算法模型跑在軟件定義攝像機(jī)上。
軟件定義攝像機(jī)有很好的算法移植能力,以 Caffe 模型為例,將 Caffe 模型通過(guò)模型轉(zhuǎn)換工具轉(zhuǎn)化為可在軟件定義攝像機(jī)上加載的 NNIE 模型,該文件模型以 wk 為后綴,開(kāi)發(fā)者可以在軟件定義攝像機(jī)上調(diào)用 NNIE 接口做模型推理。
馬俊凱還解答了開(kāi)發(fā)者關(guān)心的精度損失問(wèn)題。
RuyiStudio 模型轉(zhuǎn)換工具同時(shí)也提供了精度損失分析的功能。該工具讀入模型文件(prototxt、caffemodel 文件),選定一個(gè)測(cè)試集,利用測(cè)試集做前向推理,得到 GPU 模型每一層 Feature Map 的輸出,再用同樣一張測(cè)試圖片和 WK 模型做前向推理,得到轉(zhuǎn)化完成之后 WK 每一層的 Feature Map 輸出,用兩層 Feature Map 的輸出,就可以計(jì)算出每一層 Feature Map 的相似度水平。如果量化誤差很小,那么相似度就會(huì)很高。
馬俊凱還分析了掉點(diǎn)問(wèn)題,對(duì)于模型的優(yōu)化問(wèn)題,也提出了一些建議。
攝像機(jī) AI 模型部署與推理實(shí)踐
華為機(jī)器視覺(jué)智能算法軟件架構(gòu)設(shè)計(jì)師楊磊就攝像機(jī) AI 模型部署與推理實(shí)踐做了分析與解讀。
基于 SDC OS 架構(gòu)實(shí)現(xiàn)板端推理,首選應(yīng)初始化 SDC 服務(wù),處理好 YUV 數(shù)據(jù)幀隊(duì)列,對(duì)數(shù)據(jù)流 YUV 數(shù)據(jù)進(jìn)行通道設(shè)置,比如設(shè)置分辨率和通道號(hào)。其次進(jìn)行模型加載和初始化,需要初始化 NNIE 參數(shù),如 anchor、類(lèi)別、閾值,還要分配輸入和輸出的 blob。然后可訂閱 YUV 數(shù)據(jù),繼而做前向處理。前向處理后可做算法的后處理。最后要發(fā)送到 web 或后端服務(wù)器,把算法結(jié)果發(fā)送出去。如果要實(shí)現(xiàn)算法 App,需要關(guān)注加載模型、卸載模型,然后做前向處理和訂閱 YUV 數(shù)據(jù),用這四個(gè)服務(wù)就可以實(shí)現(xiàn) App 的主體流程。
加載模型關(guān)注兩個(gè)字段,第一個(gè)是 url,第二個(gè)是 method。url 是 SDC_URL_NNIE MODEL,而 method 就是 SDC_METHOD_CREATE。
卸載模型類(lèi)似,url 類(lèi)型就是 SDC_URL_NNIE MODEL,method 就是 SDC_METHOD_DELETE。
前向處理的 url 是 SDC_URL_NNIE_FORWARD,而它的 method 是 SDC_METHOD_GET 過(guò)程,要從內(nèi)存中 GET 到 Feature Map。
訂閱 YUV 數(shù)據(jù),url 是 SDC_URL_YUV_DATA,method 也是 SDC_METHOD_GET,因?yàn)槲覀円獜闹胺峙浜玫膬?nèi)存隊(duì)列中 GET 到 YUV 數(shù)據(jù)。加載模型可以使用輸入字符串或者輸入文件字符串的加載方式,也可以通過(guò)內(nèi)存加載。文件只需要輸入模型字符串就可以實(shí)現(xiàn)加載;而內(nèi)存加載時(shí)要先 open 模型,傳入模型地址后才可加載。訂閱 YUV 數(shù)據(jù)的擴(kuò)展頭就可以獲取當(dāng)前隊(duì)列里面的 MAX,就是我們已有的 YUV 個(gè)數(shù)。
楊磊還就 YUV 處理問(wèn)題給予了解答。因?yàn)檩斎胼敵龅?blob 是三維的,而不同的模型輸出的 blob 個(gè)數(shù)不一樣。NNIE 輸出的內(nèi)存排布格式也不一樣,它首先排布坐標(biāo)框,接著排前景概率、類(lèi)概率,然后按照不同 Anchor 來(lái)排布,直到最后回歸。可以按照這樣的編譯地址取到相應(yīng)的值,回歸出坐標(biāo)框。
機(jī)器視覺(jué)開(kāi)發(fā)者社區(qū)介紹
華為機(jī)器視覺(jué)開(kāi)發(fā)者社區(qū)運(yùn)營(yíng)經(jīng)理譚義鑫從社區(qū)論壇、生態(tài)開(kāi)放實(shí)驗(yàn)室、賦能培訓(xùn)、職業(yè)認(rèn)證、開(kāi)發(fā)者活動(dòng)五個(gè)方面對(duì)華為機(jī)器視覺(jué)開(kāi)發(fā)者社區(qū)進(jìn)行了詳細(xì)的介紹。開(kāi)發(fā)者社區(qū)既是知識(shí)分享和技術(shù)交流平臺(tái),也是開(kāi)發(fā)者求助的通道,開(kāi)發(fā)者遇到機(jī)器視覺(jué)技術(shù)問(wèn)題,都可以在社區(qū)論壇或通過(guò)工單進(jìn)行求助。
機(jī)器視覺(jué)生態(tài)開(kāi)放實(shí)驗(yàn)室在杭州、北京、成都、深圳均有布局,有低門(mén)檻、使用便捷、在線申請(qǐng)、設(shè)備多樣化等特點(diǎn),實(shí)驗(yàn)室提供包括 HoloSens IVS3800、 HoloSens IVS1800、HoloSens SDC 等多種機(jī)器視覺(jué)相關(guān)產(chǎn)品,開(kāi)發(fā)者可在線申請(qǐng)。
小結(jié)
本次 DevRun 開(kāi)發(fā)者沙龍 華為機(jī)器視覺(jué)技術(shù)開(kāi)放日 - 杭州專(zhuān)場(chǎng)內(nèi)容豐富,精彩紛呈,解構(gòu)了“軟件定義攝像機(jī)”,也為關(guān)注機(jī)器視覺(jué)的開(kāi)發(fā)者們帶來(lái)了一場(chǎng)技術(shù)盛宴。今年華為機(jī)器視覺(jué)還將在各地開(kāi)辦各類(lèi)技術(shù)沙龍活動(dòng),持續(xù)展開(kāi)技術(shù)布道,感興趣的開(kāi)發(fā)者可以持續(xù)關(guān)注。
榜單收錄、高管收錄、融資收錄、活動(dòng)收錄可發(fā)送郵件至news#citmt.cn(把#換成@)。
海報(bào)生成中...