人機(jī)一體化平臺(tái):從端邊云架構(gòu)到行業(yè)落地實(shí)踐)
做AI無(wú)人機(jī)一體化平臺(tái)這件事說(shuō)起來(lái)多少有點(diǎn)“被項(xiàng)目推著走”的味道。我們團(tuán)隊(duì)最開(kāi)始只負(fù)責(zé)某巡檢項(xiàng)目的圖像識(shí)別算法做著做著就發(fā)現(xiàn)客戶真正需要的從來(lái)不是單一的算法模型也不是某一套飛控配置而是一條從“無(wú)人機(jī)起飛”到“數(shù)據(jù)回傳”再到“AI分析結(jié)果落到業(yè)務(wù)工單里”的完整鏈路。于是這個(gè)AI無(wú)人機(jī)一體化平臺(tái)就從一個(gè)算法外包項(xiàng)目慢慢長(zhǎng)成了覆蓋端、邊、云的整套系統(tǒng)。這個(gè)平臺(tái)的核心能力我習(xí)慣用三句話概括讓無(wú)人機(jī)帶著AI飛讓地面人員看得懂讓行業(yè)客戶用得上。它解決的典型問(wèn)題是傳統(tǒng)無(wú)人機(jī)作業(yè)里“飛行歸飛行、識(shí)別歸識(shí)別、數(shù)據(jù)歸數(shù)據(jù)”的碎片化現(xiàn)狀——飛手只管飛算法組只管識(shí)別客戶拿到的卻是幾十個(gè)G的零散素材最后還得人工翻找、標(biāo)注、寫(xiě)報(bào)告。這套平臺(tái)把所有環(huán)節(jié)收攏成一個(gè)閉環(huán)適合電力巡檢、農(nóng)業(yè)植保、應(yīng)急搜救、工程測(cè)繪這幾個(gè)方向的團(tuán)隊(duì)直接參考也適合準(zhǔn)備從單體無(wú)人機(jī)應(yīng)用轉(zhuǎn)型做平臺(tái)化的開(kāi)發(fā)者做架構(gòu)藍(lán)圖。下面我把整個(gè)項(xiàng)目的架構(gòu)設(shè)計(jì)思路、關(guān)鍵模塊落地細(xì)節(jié)、行業(yè)實(shí)踐結(jié)果和踩坑記錄都梳理一遍盡量把當(dāng)時(shí)做技術(shù)選型和方案取舍的“為什么”也講清楚希望能幫想入這行的朋友少走幾段彎路。1. 項(xiàng)目定位一體化平臺(tái)到底解決什么問(wèn)題1.1 碎片化作業(yè)的現(xiàn)狀與痛點(diǎn)先說(shuō)說(shuō)我們最初接觸到的真實(shí)場(chǎng)景。某電力巡檢團(tuán)隊(duì)原有作業(yè)流程是這樣的飛手帶著無(wú)人機(jī)到桿塔附近手動(dòng)起飛拍幾百?gòu)堈掌貋?lái)存到移動(dòng)硬盤(pán)里然后交給內(nèi)業(yè)人員一張張翻看尋找絕緣子破損、銷(xiāo)釘缺失、異物懸掛等問(wèn)題。一次大規(guī)模巡檢下來(lái)光照片整理就要兩三天漏檢率還特別高因?yàn)槿搜墼谶B續(xù)看幾百?gòu)埾嗨茍D片時(shí)注意力下降是必然的。農(nóng)業(yè)植保那邊更典型。無(wú)人機(jī)打完藥客戶想知道的是“哪塊地沒(méi)打到”“漏噴率多少”但傳統(tǒng)方案只給一份飛行軌跡記錄根本沒(méi)有作物分布、障礙物避讓、噴灑覆蓋率的量化分析。說(shuō)白了行業(yè)里缺的不是無(wú)人機(jī)而是圍繞無(wú)人機(jī)的“數(shù)據(jù)到?jīng)Q策”能力。這些碎片化拆開(kāi)看是四個(gè)層面的斷裂。第一是硬件斷裂無(wú)人機(jī)、載荷相機(jī)、RTK模塊是不同廠商的東西接口協(xié)議各講各的集成起來(lái)全靠飛手現(xiàn)場(chǎng)臨時(shí)拼。第二是算法斷裂AI識(shí)別模型往往在實(shí)驗(yàn)室里跑得很好一到野外復(fù)雜光照和遮擋環(huán)境下就掉鏈子因?yàn)槟P陀?xùn)練數(shù)據(jù)和生產(chǎn)環(huán)境差異太大。第三是數(shù)據(jù)斷裂圖像、定位、飛行姿態(tài)、氣象信息各存各的沒(méi)有統(tǒng)一時(shí)空基準(zhǔn)想做分析得先花大量時(shí)間做數(shù)據(jù)對(duì)齊。第四是流程斷裂識(shí)別結(jié)果停留在“發(fā)現(xiàn)”層面沒(méi)有直接轉(zhuǎn)化為工單、報(bào)告或調(diào)度指令業(yè)務(wù)閉環(huán)還得靠人工搬運(yùn)。1.2 平臺(tái)邊界與核心能力定義既然要解決碎片化第一步是界定平臺(tái)的邊界。我們定下一條原則平臺(tái)不重新發(fā)明無(wú)人機(jī)也不重新發(fā)明算法而是把成熟的飛控技術(shù)、感知載荷、AI推理能力通過(guò)一套標(biāo)準(zhǔn)架構(gòu)串起來(lái)做“整合”和“貫通”的生意。這個(gè)邊界很重要如果什么都自己做項(xiàng)目周期和成本會(huì)失控。平臺(tái)最終被定義為四個(gè)核心能力模塊機(jī)載AI感知能力、實(shí)時(shí)通信與控制能力、云端訓(xùn)練與數(shù)據(jù)管理能力、行業(yè)業(yè)務(wù)應(yīng)用能力。機(jī)載AI感知負(fù)責(zé)在飛機(jī)上直接完成目標(biāo)檢測(cè)和避障決策解決“數(shù)據(jù)回傳依賴大帶寬”的瓶頸實(shí)時(shí)通信負(fù)責(zé)把飛機(jī)狀態(tài)和控制指令穩(wěn)定送達(dá)云端負(fù)責(zé)模型迭代和多架次數(shù)據(jù)匯總業(yè)務(wù)應(yīng)用則把結(jié)果翻譯成巡檢工單、噴灑處方圖、搜救熱力圖這類客戶看得懂的產(chǎn)品。這個(gè)能力定義本質(zhì)上把一體化平臺(tái)和傳統(tǒng)“地面站軟件”區(qū)別開(kāi)了。傳統(tǒng)地面站是“飛機(jī)儀表盤(pán)的遠(yuǎn)程投影”一體化平臺(tái)則是“一個(gè)能干活的任務(wù)系統(tǒng)”——它關(guān)心的不是飛機(jī)本身而是飛機(jī)替客戶完成什么任務(wù)。這個(gè)定位直接決定了后續(xù)架構(gòu)設(shè)計(jì)的重心。2. 架構(gòu)設(shè)計(jì)從端到云的分層思路2.1 總體架構(gòu)的三層劃分整體架構(gòu)我們采用了經(jīng)典的“端-邊-云”三層劃分沒(méi)有搞花活。原因倒不是三層最先進(jìn)而是它最符合無(wú)人機(jī)作業(yè)的真實(shí)物理鏈路飛機(jī)在天上地面站和控制人員在現(xiàn)場(chǎng)算力和數(shù)據(jù)匯聚在遠(yuǎn)端天然就不能用一個(gè)單機(jī)系統(tǒng)把所有事情做完。端側(cè)指的是無(wú)人機(jī)本體包括飛控、動(dòng)力、RTK定位模塊、可見(jiàn)光/多光譜相機(jī)、機(jī)載邊緣計(jì)算板。這一層的核心要求是在極端功耗和體積約束下完成感知與決策。邊側(cè)是地面指揮節(jié)點(diǎn)包括遙測(cè)遙控鏈路終端、便攜地面站、邊緣計(jì)算服務(wù)器負(fù)責(zé)飛行監(jiān)控、任務(wù)下發(fā)和現(xiàn)場(chǎng)級(jí)的數(shù)據(jù)預(yù)處理。云側(cè)是中心平臺(tái)負(fù)責(zé)多架次數(shù)據(jù)的長(zhǎng)期存儲(chǔ)、AI模型訓(xùn)練迭代、業(yè)務(wù)應(yīng)用服務(wù)和設(shè)備全生命周期管理。三層之間不是簡(jiǎn)單的數(shù)據(jù)上傳關(guān)系而是任務(wù)協(xié)同關(guān)系。端側(cè)做實(shí)時(shí)性要求高的感知和控制邊側(cè)做現(xiàn)場(chǎng)決策和人在環(huán)確認(rèn)云側(cè)做全局優(yōu)化和知識(shí)沉淀。比如在電力巡檢里機(jī)載AI發(fā)現(xiàn)疑似絕緣子缺陷后會(huì)立即把裁剪后的目標(biāo)切片回傳地面站地面站人員確認(rèn)后再?zèng)Q定是否補(bǔ)拍云平臺(tái)只接收確認(rèn)過(guò)的有效數(shù)據(jù)和全量原始影像做終檢和統(tǒng)計(jì)報(bào)表。這樣既保證了實(shí)時(shí)響應(yīng)又控制了帶寬和存儲(chǔ)成本。2.2 關(guān)鍵技術(shù)選型與取舍理由技術(shù)選型是整個(gè)項(xiàng)目里爭(zhēng)論最多的地方。我把幾個(gè)關(guān)鍵決策和取舍邏輯列出來(lái)這些決定直接影響后續(xù)開(kāi)發(fā)效率。第一個(gè)決策是機(jī)載AI推理平臺(tái)選什么方案。當(dāng)時(shí)比較了高算力GPU板卡、手機(jī)級(jí)SoC和NPU加速芯片三條路線。GPU方案開(kāi)發(fā)最順、生態(tài)最全但功耗和體積對(duì)無(wú)人機(jī)不友好懸停時(shí)間會(huì)縮水手機(jī)級(jí)SoC功耗低但散熱和穩(wěn)定性在大溫差環(huán)境下讓人不放心最終選擇的是帶NPU的異構(gòu)SoC方案推理能效比高價(jià)格適中而且社區(qū)生態(tài)這兩年已經(jīng)比較成熟了。實(shí)測(cè)下來(lái)一個(gè)輕量目標(biāo)檢測(cè)模型在端側(cè)跑YOLO級(jí)別的框架單幀推理能控制在毫秒級(jí)到幾十毫秒級(jí)完全夠用。第二個(gè)決策是通信鏈路怎么組。無(wú)人機(jī)控制要求低延遲高可靠圖像回傳要求大帶寬這兩者天生矛盾。我們沒(méi)有追求用一條鏈路解決所有問(wèn)題而是采用雙鏈路方案飛控和遙測(cè)數(shù)據(jù)走窄帶寬的專用數(shù)傳鏈路保證安全性圖像和高價(jià)值數(shù)據(jù)走寬帶鏈路通常是4G/5G網(wǎng)絡(luò)或者現(xiàn)場(chǎng)自組網(wǎng)基站。為什么會(huì)這樣選因?yàn)閷S脭?shù)傳鏈路協(xié)議簡(jiǎn)單、抗干擾強(qiáng)而寬帶鏈路一旦擁堵至少不會(huì)影響飛機(jī)安全這種“關(guān)鍵控制優(yōu)先”的思路在工程上是底線。第三個(gè)決策是云端采用微服務(wù)還是單體應(yīng)用。考慮到平臺(tái)要同時(shí)支撐多種行業(yè)應(yīng)用我們最后選了微服務(wù)架構(gòu)但加了克制服務(wù)拆分粒度以業(yè)務(wù)域?yàn)閱挝徊粸椴鸱侄鸱?。比如設(shè)備管理、任務(wù)調(diào)度、模型服務(wù)、數(shù)據(jù)存儲(chǔ)各自獨(dú)立但登錄鑒權(quán)、權(quán)限管理等橫切能力統(tǒng)一在一個(gè)基礎(chǔ)服務(wù)里。這樣既照顧了多業(yè)務(wù)擴(kuò)展又沒(méi)被微服務(wù)治理拖垮運(yùn)維效率。表格整理一下主要選型傾向?qū)哟侮P(guān)鍵選型點(diǎn)首選方案?jìng)溥x方案取舍理由端側(cè)AI推理芯片帶NPU的異構(gòu)SoCGPU板卡能耗比與算力平衡端側(cè)系統(tǒng)機(jī)載中間件輕量級(jí)機(jī)器人中間件框架裸機(jī)C程序模塊間通信解耦鏈路控制與圖像雙鏈路分離單寬帶鏈路控制優(yōu)先級(jí)保證安全地面站界面框架Web化桌面應(yīng)用原生客戶端跨平臺(tái)和迭代速度云端服務(wù)架構(gòu)微服務(wù)按業(yè)務(wù)域切分單體應(yīng)用多行業(yè)擴(kuò)展與運(yùn)維平衡模型訓(xùn)練推理部署端側(cè)量化云側(cè)全精度云端統(tǒng)一推理實(shí)時(shí)性與精度兼顧2.3 數(shù)據(jù)流與通信鏈路的完整閉環(huán)架構(gòu)里的數(shù)據(jù)流是理解整個(gè)平臺(tái)的一把鑰匙。一回完整的作業(yè)任務(wù)數(shù)據(jù)是這樣流動(dòng)的云平臺(tái)下發(fā)任務(wù)包包括航線規(guī)劃、作業(yè)區(qū)域邊界、目標(biāo)識(shí)別類型列表打包后同步到地面站地面站通過(guò)數(shù)傳鏈路把航線注入飛控?zé)o人機(jī)起飛后按照航點(diǎn)飛行。飛行過(guò)程中機(jī)載AI感知模塊實(shí)時(shí)處理相機(jī)畫(huà)面識(shí)別結(jié)果連同時(shí)間戳、經(jīng)緯度、姿態(tài)角打包成結(jié)構(gòu)化消息通過(guò)寬帶鏈路回傳。這里有一個(gè)關(guān)鍵設(shè)計(jì)端側(cè)不會(huì)回傳全部視頻流只回傳“有意義”的數(shù)據(jù)切片和對(duì)應(yīng)的位置姿態(tài)上下文。比如輸電線路巡檢時(shí)機(jī)器識(shí)別到疑似銷(xiāo)釘缺失會(huì)裁出包含目標(biāo)區(qū)域的一個(gè)局部圖像塊連同當(dāng)時(shí)的GPS坐標(biāo)和飛機(jī)姿態(tài)一起傳回。這樣做是因?yàn)楝F(xiàn)場(chǎng)4G/5G上行帶寬有限全量高清視頻回傳在多數(shù)野外場(chǎng)景根本不可行而結(jié)構(gòu)化切片已經(jīng)能支撐業(yè)務(wù)決策。數(shù)據(jù)到達(dá)地面站后經(jīng)過(guò)一個(gè)數(shù)據(jù)融合組件把同一時(shí)空下的圖像、位置、姿態(tài)整理成標(biāo)準(zhǔn)化事件對(duì)象推送給現(xiàn)場(chǎng)操作員做確認(rèn)。確認(rèn)結(jié)果和人工標(biāo)記會(huì)同步回云端一方面用于生成業(yè)務(wù)報(bào)告另一方面作為新樣本進(jìn)入數(shù)據(jù)集為后續(xù)模型迭代做準(zhǔn)備。云端把這些事件對(duì)象和歷史數(shù)據(jù)一起存儲(chǔ)、統(tǒng)計(jì)、回溯形成從“采集”到“學(xué)習(xí)”到“再采集”的閉環(huán)。這個(gè)閉環(huán)設(shè)計(jì)有一個(gè)容易被忽視的好處數(shù)據(jù)一致性。因?yàn)樗惺录紟в薪y(tǒng)一時(shí)空基準(zhǔn)后續(xù)做復(fù)飛對(duì)比、歷史變化分析時(shí)不需要再做數(shù)據(jù)對(duì)齊工作直接查事件表就能把同一桿塔在不同年份的狀態(tài)變化拉出來(lái)。我們?cè)诳蛻衄F(xiàn)場(chǎng)做過(guò)演示把某變電站三年的紅外和可見(jiàn)光巡檢數(shù)據(jù)在一張地圖上按時(shí)間軸回放客戶的直觀感受就是“終于能講故事了”。3. 核心模塊實(shí)現(xiàn)從機(jī)載AI到云平臺(tái)3.1 機(jī)載AI節(jié)點(diǎn)一架會(huì)思考的無(wú)人機(jī)機(jī)載AI節(jié)點(diǎn)是這套平臺(tái)和普通無(wú)人機(jī)最大的差異點(diǎn)。它不是一個(gè)算力板卡那么簡(jiǎn)單而是一個(gè)需要和飛控深度配合的子系統(tǒng)。首先是硬件集成。我們?cè)跓o(wú)人機(jī)機(jī)身內(nèi)部增加了一個(gè)隔離艙放置計(jì)算板同時(shí)考慮了三件事散熱、減震、供電。散熱方面裸板和機(jī)身壁之間加了導(dǎo)熱硅墊和散熱片機(jī)身上對(duì)應(yīng)位置開(kāi)進(jìn)風(fēng)口利用飛行時(shí)的迎面氣流降溫實(shí)測(cè)芯片溫度在高負(fù)載下能穩(wěn)定在七十度左右比靜態(tài)測(cè)試低不少。減震方面整個(gè)板卡裝在阻尼減震架上因?yàn)闊o(wú)人機(jī)電機(jī)的高頻振動(dòng)會(huì)讓圖像傳感器產(chǎn)生果凍效應(yīng)也會(huì)讓算力板上的存儲(chǔ)卡壽命大幅縮短。供電則單獨(dú)從電池經(jīng)過(guò)DC-DC模塊引出避免和舵機(jī)、圖傳搶電導(dǎo)致電壓跌落、AI推理偶發(fā)失敗。軟件上機(jī)載節(jié)點(diǎn)跑的是一個(gè)精簡(jiǎn)的Linux系統(tǒng)核心程序分成四個(gè)進(jìn)程協(xié)作圖像采集進(jìn)程負(fù)責(zé)驅(qū)動(dòng)相機(jī)按固定幀率抓取圖像推理進(jìn)程加載量化后的模型對(duì)圖像做目標(biāo)檢測(cè)融合進(jìn)程把檢測(cè)結(jié)果和飛控傳來(lái)的位置姿態(tài)數(shù)據(jù)做時(shí)間同步上報(bào)進(jìn)程負(fù)責(zé)把結(jié)構(gòu)化結(jié)果通過(guò)通信模塊發(fā)出。這四個(gè)進(jìn)程之間用輕量中間件做消息通信好處是某個(gè)進(jìn)程崩潰了可以單獨(dú)重啟不會(huì)拉垮整機(jī)。為什么用進(jìn)程拆分而不是單線程大循環(huán)這是從維護(hù)性角度考慮的?,F(xiàn)場(chǎng)迭代時(shí)經(jīng)常只需要升級(jí)檢測(cè)模型如果耦合在一起每次調(diào)整都要重新編譯整套程序風(fēng)險(xiǎn)大效率低拆開(kāi)后模型熱替換只需要重啟推理進(jìn)程幾秒鐘就完成。我們后來(lái)還加了一個(gè)模型熱加載機(jī)制地面站可以遠(yuǎn)程下發(fā)新模型包飛機(jī)降落后自動(dòng)校驗(yàn)并切換整個(gè)流程不需要拆機(jī)這對(duì)現(xiàn)場(chǎng)工程人員非常友好。機(jī)載端的模型優(yōu)化是另一個(gè)要點(diǎn)。訓(xùn)練好的模型不能直接搬上飛機(jī)需要做量化、剪枝和算子適配。我們采用的量化方案是訓(xùn)練后INT8量化精度損失控制在百分之二以內(nèi)推理速度卻提升了三倍多。針對(duì)機(jī)載NPU不支持的算子手寫(xiě)替換成等價(jià)實(shí)現(xiàn)這部分工作最耗時(shí)建議有條件的團(tuán)隊(duì)提前用模擬器做算子兼容性檢查。3.2 地面指揮端從控飛機(jī)到管任務(wù)地面站軟件我把它定位成“任務(wù)指揮官”而不是“遙控器”。早期我們把大量精力放在還原飛行儀表上高度表、姿態(tài)球、地圖軌跡做得越像傳統(tǒng)地面站越覺(jué)得順手。但客戶反饋很直接“我們不是來(lái)學(xué)開(kāi)飛機(jī)的我們是來(lái)完成巡檢的?!边@句話改變了我對(duì)地面站體驗(yàn)的理解。后來(lái)整個(gè)地面站界面重構(gòu)為任務(wù)視角。左邊是任務(wù)面板顯示當(dāng)前作業(yè)的進(jìn)度、已發(fā)現(xiàn)目標(biāo)數(shù)量、待確認(rèn)事件隊(duì)列中間是實(shí)時(shí)地圖和視頻畫(huà)中畫(huà)地圖上飛機(jī)位置和已識(shí)別目標(biāo)以標(biāo)記點(diǎn)疊加右邊是事件列表每條事件包含縮略圖、坐標(biāo)、識(shí)別類型和置信度。操作員的日常工作流就變成了“看事件、做確認(rèn)、發(fā)指令”而不是“盯著姿態(tài)儀防止炸機(jī)”。這個(gè)轉(zhuǎn)變背后還有一層邏輯無(wú)人機(jī)自主飛行能力成熟后人在環(huán)的主要價(jià)值不是控制飛機(jī)而是對(duì)AI判斷做最后把關(guān)。比如搜救場(chǎng)景里機(jī)載AI把某個(gè)水面異常物標(biāo)記為“疑似落水者”置信度中等地面操作員可以調(diào)取大圖判斷是否派飛機(jī)下降抵近查看。這種“人在關(guān)鍵決策點(diǎn)介入”的設(shè)計(jì)比讓人從頭到尾盯著飛機(jī)科學(xué)得多。地面站的通信管理也做了不少工程優(yōu)化。弱網(wǎng)環(huán)境下視頻碼率需要自適應(yīng)調(diào)整我們用了一個(gè)簡(jiǎn)單有效的策略以端側(cè)識(shí)別事件為優(yōu)先級(jí)無(wú)論帶寬多緊張事件切片優(yōu)先傳輸視頻流自動(dòng)降碼率甚至?xí)和?。這樣做雖然犧牲了實(shí)時(shí)觀看體驗(yàn)但保證了關(guān)鍵決策數(shù)據(jù)不丟失?,F(xiàn)場(chǎng)測(cè)試時(shí)在山區(qū)4G信號(hào)只有一格的條件下事件上報(bào)成功率依然能維持在較高水平。3.3 云平臺(tái)數(shù)據(jù)集、模型與服務(wù)云端平臺(tái)承擔(dān)三塊工作數(shù)據(jù)資產(chǎn)沉淀、模型持續(xù)迭代、業(yè)務(wù)應(yīng)用服務(wù)。數(shù)據(jù)資產(chǎn)沉淀是最樸素也最容易被低估的模塊。我們把每一次飛行的原始影像、識(shí)別事件、人工確認(rèn)結(jié)果、航線信息全部入庫(kù)建立以時(shí)間、空間、任務(wù)類型為維度的檢索能力。這個(gè)庫(kù)不會(huì)立刻產(chǎn)生價(jià)值但積累到半年以上客戶做設(shè)備缺陷趨勢(shì)分析、作業(yè)質(zhì)量評(píng)估時(shí)數(shù)據(jù)就是最硬的依據(jù)。模型迭代采用“半自動(dòng)飛輪”的方式。云平臺(tái)定期把新確認(rèn)的樣本篩選出來(lái)經(jīng)過(guò)清洗和增強(qiáng)混合歷史數(shù)據(jù)重新訓(xùn)練生成新版本模型通過(guò)A/B評(píng)測(cè)對(duì)比精度和誤報(bào)率通過(guò)則推送到機(jī)載端更新。這個(gè)過(guò)程在項(xiàng)目早期是月度節(jié)奏后來(lái)隨著數(shù)據(jù)量增加壓縮到雙周一次。跑通這個(gè)飛輪后模型的場(chǎng)景適應(yīng)性會(huì)越來(lái)越強(qiáng)這是純算法項(xiàng)目比不了的優(yōu)勢(shì)。業(yè)務(wù)應(yīng)用方面我們沒(méi)有做通用大而全的系統(tǒng)而是針對(duì)每個(gè)行業(yè)提供可配置的應(yīng)用模板。電力巡檢模板包含缺陷分類、桿塔臺(tái)賬關(guān)聯(lián)、復(fù)檢任務(wù)生成農(nóng)業(yè)模板包含變量噴灑處方圖、作業(yè)面積統(tǒng)計(jì)、漏噴區(qū)域標(biāo)記。這樣做的考量是行業(yè)應(yīng)用的需求差異很大強(qiáng)行統(tǒng)一只會(huì)做出一個(gè)誰(shuí)都不滿意的系統(tǒng)但底層數(shù)據(jù)和能力是統(tǒng)一的做新行業(yè)應(yīng)用時(shí)只需要開(kāi)發(fā)業(yè)務(wù)層的適配邏輯平臺(tái)側(cè)改動(dòng)很小。4. 行業(yè)應(yīng)用實(shí)踐四個(gè)場(chǎng)景的效果復(fù)盤(pán)4.1 電力巡檢從人工翻圖到缺陷自動(dòng)分級(jí)電力巡檢是我們落地最深的場(chǎng)景。和某省級(jí)電力運(yùn)維團(tuán)隊(duì)合作時(shí)整個(gè)流程是無(wú)人機(jī)按規(guī)劃航線對(duì)指定線路通道進(jìn)行自主巡檢機(jī)載AI實(shí)時(shí)識(shí)別絕緣子、銷(xiāo)釘、防震錘、異物等目標(biāo)并判斷缺陷等級(jí)事件切片秒級(jí)回傳地面站現(xiàn)場(chǎng)人員確認(rèn)后當(dāng)天就能生成缺陷清單直接對(duì)接運(yùn)維工單系統(tǒng)。效果最明顯的是效率提升。以前一個(gè)班組一天巡檢五基桿塔回來(lái)還要花兩天整理照片。現(xiàn)在同樣班組一天可以覆蓋四十基桿塔當(dāng)天出具缺陷報(bào)告。更重要的是漏檢率顯著下降機(jī)載AI不會(huì)疲勞同一類型的目標(biāo)只要在訓(xùn)練集里見(jiàn)過(guò)都會(huì)給出穩(wěn)定檢測(cè)結(jié)果。過(guò)程中也發(fā)現(xiàn)了一個(gè)有意思的問(wèn)題客戶對(duì)“誤報(bào)”的容忍度和我們預(yù)想的不一樣。他們更擔(dān)心漏報(bào)因?yàn)檎`報(bào)可以靠人工二次確認(rèn)過(guò)濾漏報(bào)意味著缺陷可能長(zhǎng)期無(wú)人處理風(fēng)險(xiǎn)更大。所以我們?cè)谀P陀?xùn)練時(shí)有意調(diào)整了置信度閾值偏向召回率犧牲一些精確率再靠人環(huán)確認(rèn)兜底。這個(gè)經(jīng)驗(yàn)后來(lái)寫(xiě)進(jìn)了我們給所有行業(yè)客戶的默認(rèn)配置里。4.2 農(nóng)業(yè)植保處方圖與變量噴灑農(nóng)業(yè)場(chǎng)景的特點(diǎn)是地塊大、環(huán)境變化快、作業(yè)窗口期短。某植保服務(wù)公司用平臺(tái)管理幾十架植保無(wú)人機(jī)最核心的需求是“知道自己到底噴得怎么樣”。我們的方案是多光譜相機(jī)采集作物長(zhǎng)勢(shì)數(shù)據(jù)云平臺(tái)反演生成植被指數(shù)分布圖再結(jié)合地塊邊界生成變量噴灑處方圖也就是把地塊劃分成不同網(wǎng)格每個(gè)網(wǎng)格對(duì)應(yīng)不同的施藥量。植保機(jī)按處方圖飛行作業(yè)噴頭流量實(shí)時(shí)調(diào)節(jié)。作業(yè)結(jié)束后平臺(tái)再根據(jù)飛行軌跡和流量記錄生成覆蓋質(zhì)量報(bào)告哪些區(qū)域重復(fù)噴、哪些區(qū)域漏噴一目了然。這套流程讓植保公司的管理方式發(fā)生了實(shí)質(zhì)變化。過(guò)去他們和農(nóng)戶結(jié)算靠“飛了多少畝”來(lái)算賬現(xiàn)在可以拿覆蓋質(zhì)量、變量施藥帶來(lái)的藥量節(jié)省數(shù)據(jù)說(shuō)話。一個(gè)試點(diǎn)季度的統(tǒng)計(jì)里在產(chǎn)量不降的前提下部分地塊用藥量節(jié)省了將近兩成這就是數(shù)據(jù)化的說(shuō)服力。4.3 應(yīng)急搜救與時(shí)間賽跑的感知網(wǎng)應(yīng)急搜救是平臺(tái)架構(gòu)中“實(shí)時(shí)性”要求最極端的場(chǎng)景。某救援隊(duì)配備了兩架多旋翼無(wú)人機(jī)和一架固定翼巡檢無(wú)人機(jī)在山區(qū)水域執(zhí)行失蹤人員搜索任務(wù)。機(jī)載AI加載了人員檢測(cè)和異常物檢測(cè)模型固定翼飛機(jī)做大范圍快速掃描發(fā)現(xiàn)疑似目標(biāo)后把事件上報(bào)地面站多旋翼無(wú)人機(jī)隨即前往疑點(diǎn)位置低空抵近偵察可見(jiàn)光和紅外相機(jī)同時(shí)確認(rèn)。整個(gè)“發(fā)現(xiàn)-確認(rèn)-抵近”的接力流程把過(guò)去搜救隊(duì)靠經(jīng)驗(yàn)判斷搜索重點(diǎn)的做法變成了有數(shù)據(jù)支撐的網(wǎng)格化搜索。這里平臺(tái)的通信鏈路設(shè)計(jì)發(fā)揮了作用。山區(qū)公網(wǎng)覆蓋差我們部署了移動(dòng)自組網(wǎng)基站飛機(jī)圖像和事件通過(guò)自組網(wǎng)回傳現(xiàn)場(chǎng)指揮車(chē)再通過(guò)衛(wèi)星鏈路同步后方指揮中心。雖然視頻幀率受限但事件切片和關(guān)鍵目標(biāo)圖像始終優(yōu)先保障后方專家可以實(shí)時(shí)看到搜索進(jìn)展給出更專業(yè)的判斷。4.4 工程測(cè)繪從點(diǎn)云到結(jié)構(gòu)化成果工程測(cè)繪場(chǎng)景更看重?cái)?shù)據(jù)的精度和后處理能力。某公路勘察項(xiàng)目需要用無(wú)人機(jī)生產(chǎn)高精度地形圖傳統(tǒng)流程是無(wú)人機(jī)采集影像帶回辦公室用專業(yè)軟件處理生成正射影像和數(shù)字表面模型整個(gè)過(guò)程要一兩天。平臺(tái)介入后機(jī)載AI在采集過(guò)程中同步完成初步的地物分類把植被、裸土、道路、建筑等像素級(jí)標(biāo)簽實(shí)時(shí)疊加并標(biāo)記出需要重點(diǎn)采集的區(qū)域。影像落地的同時(shí)現(xiàn)場(chǎng)工程師就能預(yù)覽初步分類結(jié)果決定是否需要飛第二遍補(bǔ)拍。云端再結(jié)合高精度RTK數(shù)據(jù)和算法推理生成帶分類信息的測(cè)繪成果整體交付周期從兩天縮短到半天。測(cè)繪行業(yè)比較特殊它對(duì)軟件生態(tài)的兼容性要求高客戶已經(jīng)有成熟的后處理軟件平臺(tái)不能替代只能做好配合。所以我們把平臺(tái)輸出的格式做了標(biāo)準(zhǔn)數(shù)據(jù)格式兼容確保客戶能直接導(dǎo)入既有軟件繼續(xù)處理這比讓客戶換工具鏈更容易被接受。5. 落地部署中的高頻問(wèn)題與排查實(shí)錄5.1 現(xiàn)場(chǎng)問(wèn)題速查表平臺(tái)從實(shí)驗(yàn)室走到客戶現(xiàn)場(chǎng)會(huì)遇到很多在開(kāi)發(fā)環(huán)境里做夢(mèng)都想不到的問(wèn)題。我挑幾個(gè)高頻的整理成速查表這些都是實(shí)際踩過(guò)的坑。現(xiàn)象可能原因排查思路處理辦法機(jī)載AI偶發(fā)推理超時(shí)電壓跌落導(dǎo)致算力降頻檢查DC-DC輸出和電池電量獨(dú)立供電并加穩(wěn)壓電容事件切片上傳失敗率高弱網(wǎng)下TCP重傳風(fēng)暴查看通信模塊信號(hào)強(qiáng)度和隊(duì)列積壓切換UDP協(xié)議并加應(yīng)用層確認(rèn)模型新版本切換后誤報(bào)驟增新模型過(guò)擬合測(cè)試集對(duì)比新舊模型評(píng)測(cè)指標(biāo)回滾并補(bǔ)充困難樣本重訓(xùn)地面站地圖與機(jī)載定位偏差大RTK未固定解查看定位狀態(tài)字等待固定解后再執(zhí)行任務(wù)紅外相機(jī)與可見(jiàn)光畫(huà)面不同步兩路時(shí)間戳未對(duì)齊檢查時(shí)鐘同步配置統(tǒng)一以GPS時(shí)間戳對(duì)齊多云環(huán)境下拍照模糊相機(jī)參數(shù)未隨光照自適應(yīng)查看曝光參數(shù)日志開(kāi)啟自動(dòng)曝光并加HDR模式5.2 避坑經(jīng)驗(yàn)與工程心得第一個(gè)經(jīng)驗(yàn)是“永遠(yuǎn)不要把演示環(huán)境的配置當(dāng)成生產(chǎn)配置”。我們第一次去客戶現(xiàn)場(chǎng)部署時(shí)帶的是開(kāi)發(fā)板上調(diào)好的參數(shù)結(jié)果在強(qiáng)日照和高溫環(huán)境里機(jī)載AI節(jié)點(diǎn)過(guò)熱保護(hù)觸發(fā)推理速度掉到原來(lái)的四分之一。后來(lái)專門(mén)做了一輪環(huán)境適應(yīng)性測(cè)試在高溫箱、低溫箱、振動(dòng)臺(tái)上跑滿循環(huán)重新標(biāo)定了熱管理和供電參數(shù)這個(gè)問(wèn)題才根治。第二個(gè)經(jīng)驗(yàn)是“數(shù)據(jù)鏈路要能降級(jí)不能硬扛”。一體化平臺(tái)最容易垮的環(huán)節(jié)就是通信。早期我們把所有數(shù)據(jù)都塞進(jìn)一條鏈路結(jié)果一遇到信號(hào)波動(dòng)控制指令和視頻互相搶占飛機(jī)倒是沒(méi)丟但操作員完全失明了。后來(lái)改成控制優(yōu)先、事件優(yōu)先的多優(yōu)先級(jí)調(diào)度策略問(wèn)題迎刃而解。這個(gè)教訓(xùn)讓我明白工程上的穩(wěn)定不是靠把單點(diǎn)做堅(jiān)固而是靠把失敗影響控制在局部。第三個(gè)體會(huì)是關(guān)于團(tuán)隊(duì)協(xié)作的。做這種跨端、邊、云的平臺(tái)項(xiàng)目最怕的是各模塊負(fù)責(zé)人各做各的到最后聯(lián)調(diào)時(shí)發(fā)現(xiàn)接口對(duì)不上。我們從一開(kāi)始就定義了統(tǒng)一的數(shù)據(jù)交換標(biāo)準(zhǔn)包括事件結(jié)構(gòu)、時(shí)間戳格式、坐標(biāo)系約定每個(gè)模塊的單元測(cè)試?yán)锒及瑢?duì)這些標(biāo)準(zhǔn)的校驗(yàn)。寧可前期多花兩周定義標(biāo)準(zhǔn)也不要后期花兩個(gè)月聯(lián)調(diào)返工。最后再補(bǔ)充一點(diǎn)個(gè)人感受如果你也想啟動(dòng)類似的一體化平臺(tái)項(xiàng)目別急著買(mǎi)設(shè)備、跑模型先花時(shí)間把“平臺(tái)要替客戶完成什么任務(wù)”這個(gè)問(wèn)題想透。技術(shù)選型、架構(gòu)分層、模塊設(shè)計(jì)都是圍繞這個(gè)問(wèn)題展開(kāi)的方向?qū)α撕竺婷恳徊蕉紩?huì)走得穩(wěn)方向偏了再炫的技術(shù)也只是在錯(cuò)誤的大道上加速。這套平臺(tái)做到現(xiàn)在我們最自豪的不是算法精度有多高、系統(tǒng)多復(fù)雜而是現(xiàn)場(chǎng)同事們真的愿意天天用它這比什么指標(biāo)都說(shuō)明問(wèn)題。