如何改造在我們周邊司空見(jiàn)慣的硬件?Qualcomm?月度開(kāi)發(fā)者Nikos Fragoulis給我們帶來(lái)了一些有趣的答案。
我們可以連接更多的設(shè)備。也許物聯(lián)網(wǎng)繁榮的動(dòng)力就來(lái)自于物聯(lián)網(wǎng)設(shè)備的新“智能”。嵌入式和云機(jī)器學(xué)習(xí)技術(shù)為我們的移動(dòng)設(shè)備帶來(lái)了新的可能性。
Nikos Fragoulis深知這一點(diǎn)。目前正在其公司IRIDA Labs使用異構(gòu)計(jì)算、計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)。其目的是賦予聯(lián)網(wǎng)相機(jī)新的成像方法。
我們和Nikos見(jiàn)面聊了聊計(jì)算攝影這方面的技術(shù)。
Nikos Fragoulis
能否先請(qǐng)您介紹一下您的公司?
IRIDA Labs希望通過(guò)為設(shè)備搭建相機(jī)并提供視覺(jué)感知技術(shù)來(lái)縮短與人眼之間的差距。我們通過(guò)采用異構(gòu)編程技術(shù)的CPU、GPU或者DSP/ASP平臺(tái)以及其組合結(jié)構(gòu)平臺(tái)的圖像處理、機(jī)器學(xué)習(xí)技術(shù)來(lái)開(kāi)發(fā)計(jì)算機(jī)視覺(jué)軟件。
我們的產(chǎn)品和技術(shù)包括計(jì)算攝影和視覺(jué)感知/分析應(yīng)用,服務(wù)于各種市場(chǎng),如移動(dòng)設(shè)備、運(yùn)動(dòng)相機(jī)、無(wú)人機(jī)、監(jiān)控、汽車、工業(yè)和機(jī)器人視覺(jué)。
您的公司是如何創(chuàng)立的?
我們?nèi)齻€(gè)人一起在本地一所大學(xué)做博士后研究。我們決定試試運(yùn)氣,看看能不能將我們的想法換成鈔票,而不僅僅是論文!
2009年,我們成立了公司,到目前為止已經(jīng)推出了一系列產(chǎn)品,解決了創(chuàng)新計(jì)算機(jī)視覺(jué)的解決方案所面臨的挑戰(zhàn),同時(shí)保持最優(yōu)系統(tǒng)要求,平衡功耗、內(nèi)存和處理速度。
您對(duì)其他開(kāi)發(fā)者有什么建議嗎?
企業(yè)家,即使極其成功,也只是和你我一樣,沒(méi)有三頭六臂。所以,放開(kāi)手腳去干吧,說(shuō)不定就成功了呢!沿途的風(fēng)景和終點(diǎn)同樣具有不凡的意義。
您能和我們分享公司的一件趣事嗎?
我們很多人玩樂(lè)器。所以,在招聘新員工時(shí),如果他也碰巧玩樂(lè)器的話,我們會(huì)說(shuō):“我正在重組樂(lè)隊(duì)...”,借用《藍(lán)調(diào)兄弟》電影中的一句臺(tái)詞。
面部檢測(cè)
您喜歡嵌入式和物聯(lián)網(wǎng)開(kāi)發(fā)的哪些方面呢?
我認(rèn)為它具備一種潛力,即利用價(jià)格實(shí)惠的硬件系統(tǒng),創(chuàng)建可能影響數(shù)百萬(wàn)人生活的軟件。
您和團(tuán)隊(duì)的工作靈感來(lái)自何處?
我們的團(tuán)隊(duì)大多數(shù)人(14人中有8人)都擁有博士學(xué)位。我們很多人在學(xué)生時(shí)代只把計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)當(dāng)作科研領(lǐng)域,而不是一個(gè)具有商業(yè)機(jī)會(huì)的技術(shù)領(lǐng)域。實(shí)現(xiàn)這種技術(shù)并使其為大眾所用,正是這一點(diǎn)激勵(lì)著我們。
您在技術(shù)方面的偶像是誰(shuí)?
Mike Lazaridis,生產(chǎn)黑莓手機(jī)的RIM公司聯(lián)合創(chuàng)始人之一。他從零資本開(kāi)始創(chuàng)業(yè),最后成為一個(gè)成功的商人。
面對(duì)漫長(zhǎng)的一天,您和團(tuán)隊(duì)是如何保持充沛精力的?(比如能量飲料、巧克力餅干、小睡片刻等)
靈感和愉快的工作環(huán)境是永恒的能量源泉!不過(guò),我們的休息室從不缺少咖啡和零食...
您對(duì)未來(lái)10年物聯(lián)網(wǎng)產(chǎn)業(yè)的發(fā)展有何看法?
這是一個(gè)非常活躍的市場(chǎng),橫向影響許多其他終端市場(chǎng)。可能不會(huì)達(dá)到預(yù)計(jì)的500億臺(tái)設(shè)備,但未來(lái)十年,家庭、工廠、汽車等等將會(huì)安裝數(shù)十億臺(tái)這樣的設(shè)備。
您正在使用Qualcomm技術(shù)開(kāi)展哪些項(xiàng)目?
IRIDA Labs的商業(yè)模式是以B2B的方式提供計(jì)算機(jī)視覺(jué)應(yīng)用,而不是通過(guò)應(yīng)用商店直接提供給消費(fèi)者。下面是我們已經(jīng)開(kāi)發(fā)出的應(yīng)用:
1. 很酷的計(jì)算攝影應(yīng)用,可以使智能手機(jī)的相機(jī)媲美數(shù)碼單反相機(jī),其中部分功能包括:視頻穩(wěn)定(IRIS-ViSTA)、低光增強(qiáng)(IRIS-EnLight)和超分辨率(IRIS- HyperView)。如何以最佳的方式處理圖像和視頻,而不是像人類一樣去感知、理解它們?
我們制作的軟件有一項(xiàng)必備特性就是通過(guò)機(jī)器學(xué)習(xí)的視覺(jué)感知。在每個(gè)應(yīng)用中,計(jì)算效率和低功耗至關(guān)重要。為此,我們依靠Snapdragon?LLVM Compiler的代碼優(yōu)化功能生成最優(yōu)代碼。此外,我們偶爾還使用FastCV?和Snapdragon SDK for Android以及快速原型設(shè)計(jì)的關(guān)鍵CV功能并進(jìn)行性能比較。我們?cè)趹?yīng)用中采用了異構(gòu)計(jì)算技術(shù)。包括將系統(tǒng)的計(jì)算密集部分卸載到Adreno?GPU和Hexagon?DSP。我們使用Adreno SDK和Hexagon SDK為這些單元開(kāi)發(fā)代碼,并管理代碼的整體劃分。
另一個(gè)處理任務(wù)的寶貴工具就是Symphony?SDK,我們利用它輕松集成異構(gòu)系統(tǒng)成分,縮短開(kāi)發(fā)時(shí)間。用電量是移動(dòng)和IoT應(yīng)用的關(guān)鍵表現(xiàn),我們使用Symphony電源管理API優(yōu)化代碼以降低功耗。
我們使用Trepn?Profiler分析各關(guān)鍵單元(CPU核心、GPU)的計(jì)算負(fù)載和用電量,并優(yōu)化整體性能。實(shí)時(shí)執(zhí)行和連續(xù)測(cè)試是我們開(kāi)發(fā)程序的另一項(xiàng)關(guān)鍵因素。我們發(fā)現(xiàn)Snapdragon MDP和DragonBoard?410c是完成這些任務(wù)的寶貴工具。
2. 除了計(jì)算攝影應(yīng)用,另一個(gè)主要產(chǎn)品線就是自主視覺(jué)感知應(yīng)用。這些應(yīng)用的特點(diǎn)是具備機(jī)器深度學(xué)習(xí)技術(shù)。包括視頻臉部識(shí)別(IRIS-FaceTag)、自動(dòng)像片調(diào)繪和對(duì)象檢測(cè)。我們暫時(shí)還沒(méi)有在Google Play發(fā)布相關(guān)應(yīng)用,但如果您有興趣,請(qǐng)給我們發(fā)送電子郵件,我們很樂(lè)意為您發(fā)送演示版!
低光校正
?
您在項(xiàng)目中使用了哪些Qualcomm技術(shù)?
1. Adreno Profiler
2. Adreno SDK
3. Dragonboard
4. FastCV
5. Hexagon SDK
6. Trepn Profiler
7. Snapdragon LLVM編譯器
8. Snapdragon移動(dòng)開(kāi)發(fā)平臺(tái)(MDP)
9. Snapdragon SDK for Android
10. Symphony SDK
有時(shí)候我們會(huì)使用上面全部技術(shù)來(lái)開(kāi)發(fā)項(xiàng)目。我們所采用的技術(shù)因產(chǎn)品而異。但是,主要目的是構(gòu)建異構(gòu)處理代碼,我們發(fā)現(xiàn)Symphony是執(zhí)行此項(xiàng)任務(wù)的強(qiáng)大工具。通過(guò)適當(dāng)設(shè)計(jì)的接口,利用Symphony可以方便地將關(guān)鍵代碼裝載到各種計(jì)算單元。
Qualcomm產(chǎn)品如何在您的項(xiàng)目開(kāi)發(fā)中派上用場(chǎng)的?
我們技術(shù)的一個(gè)關(guān)鍵方面是代碼經(jīng)過(guò)超級(jí)優(yōu)化。這樣,我們才可以提供現(xiàn)實(shí)世界實(shí)用的計(jì)算機(jī)視覺(jué)軟件,而不會(huì)很快耗盡電池,或使設(shè)備發(fā)燙而超出限值。為此,有助于代碼優(yōu)化和分析計(jì)算代碼的軟件對(duì)我們來(lái)說(shuō)非常重要。此外,諸如Dragonboard或Snapdragon MDP之類的開(kāi)發(fā)板可以幫助我們更有效地進(jìn)行軟件原型設(shè)計(jì),因?yàn)樗鼈兡軌蛟L問(wèn)各種計(jì)算資源(例如Hexagon),而且還預(yù)裝了分析軟件。
那么,使用這種Qualcomm技術(shù)能幫助您克服團(tuán)隊(duì)在開(kāi)發(fā)過(guò)程中遇到的具體問(wèn)題嗎?
在我們最初進(jìn)行開(kāi)發(fā)的時(shí)候——在我們精通Qualcomm Snapdragon之前,我們非常喜歡使用MARE(即現(xiàn)在的Symphony)分割代碼,在Snapdragon處理器各CPU上并行運(yùn)行。然后我們?cè)O(shè)法使用這個(gè)軟件來(lái)管理功耗,使其維持在范圍之內(nèi)。我們發(fā)現(xiàn)Hexagon GPU在處理低功耗的攻堅(jiān)戰(zhàn)中是一個(gè)很有價(jià)值的盟友!利用Hexagon SDK,我們?cè)O(shè)法開(kāi)發(fā)出超高效軟件。
使用Qualcomm技術(shù)能加速開(kāi)發(fā)流程嗎?
雖然我們基本上都是Qualcomm開(kāi)發(fā)者網(wǎng)絡(luò)軟件工具的高級(jí)用戶,但是到目前為止,我們一直都很喜歡使用Symphony SDK。使用這個(gè)軟件,可以有效地分割代碼,針對(duì)Snapdragon處理器進(jìn)行優(yōu)化,并通過(guò)電源管理API提高電源效率。?
更多Qualcomm開(kāi)發(fā)內(nèi)容請(qǐng)?jiān)斠?jiàn):?Qualcomm開(kāi)發(fā)者社區(qū)?。
評(píng)論
查看更多