的雙鏈路系統(tǒng)設(shè)計(jì):獨(dú)角鯨PCB 技術(shù)解析)
在 PCB 生產(chǎn)線上缺陷檢測(cè)并不只是模型推理問(wèn)題。現(xiàn)場(chǎng)系統(tǒng)需要同時(shí)處理兩類工作一類是對(duì)歷史圖像或待檢圖片進(jìn)行集中質(zhì)檢、留存標(biāo)注結(jié)果另一類是持續(xù)接入產(chǎn)線視頻流在節(jié)拍約束下把檢測(cè)結(jié)果送回給管理端。兩類工作對(duì)吞吐、延遲、存儲(chǔ)和運(yùn)維的要求不同。若把它們壓在同一條處理鏈路中批處理容易擠占實(shí)時(shí)資源實(shí)時(shí)流又難以提供完整的追溯與管理能力。一、方案概覽把檢測(cè)、流媒體和管理端放到同一運(yùn)行邊界獨(dú)角鯨PCB將 PCB 缺陷檢測(cè)組織為一個(gè)可由 Web 端統(tǒng)一管理的系統(tǒng)批量圖片檢測(cè)由 YOLOv5 鏈路承擔(dān)實(shí)時(shí) RTSP 視頻流檢測(cè)由 YOLOv8 鏈路承擔(dān)Flask 提供管理界面和 RESTful APIMediaMTX 負(fù)責(zé) RTSP 流服務(wù)SQLite 承擔(dān)本地檢測(cè)歷史與統(tǒng)計(jì)數(shù)據(jù)的輕量化存儲(chǔ)。系統(tǒng)面向劃痕、缺損、污漬和氣泡等常見(jiàn) PCB 缺陷的識(shí)別與分類。項(xiàng)目采用 MIT 開(kāi)源許可證發(fā)布支持商業(yè)化使用并允許在遵守許可證條款的前提下進(jìn)行修改、分發(fā)與二次開(kāi)發(fā)。這種組合的重點(diǎn)不在于把多個(gè)組件放進(jìn)同一項(xiàng)目而在于劃清職責(zé)邊界。管理端負(fù)責(zé)配置、任務(wù)控制、歷史查詢和資源觀察檢測(cè)執(zhí)行端負(fù)責(zé)解析輸入并調(diào)用對(duì)應(yīng)模型流媒體服務(wù)保持 RTSP 接入與多端觀看能力本地?cái)?shù)據(jù)層保存需要回看的檢測(cè)結(jié)果。對(duì)需要先從單臺(tái)產(chǎn)線或邊緣設(shè)備落地的場(chǎng)景這種邊界比一開(kāi)始引入復(fù)雜分布式架構(gòu)更直接。二、雙檢測(cè)鏈路把離線質(zhì)檢與在線響應(yīng)分開(kāi)批量圖像檢測(cè)和實(shí)時(shí)流檢測(cè)看似都在調(diào)用目標(biāo)檢測(cè)模型實(shí)際上面對(duì)的是不同的輸入節(jié)奏。批量任務(wù)可以以文件集為單位上傳和執(zhí)行更關(guān)注結(jié)果標(biāo)注、報(bào)告生成與歷史回溯RTSP 檢測(cè)則要面對(duì)持續(xù)到達(dá)的幀需要控制排隊(duì)、解碼、推理和回傳的累計(jì)延遲。獨(dú)角鯨PCB 以 YOLOv5 處理批量檢測(cè)、以 YOLOv8 處理實(shí)時(shí)流避免讓單一路徑同時(shí)兼顧兩類調(diào)度模型。管理端可在檢測(cè)頁(yè)面配置 RTSP 地址、檢測(cè)參數(shù)和模型選擇并通過(guò)儀表板查看運(yùn)行狀態(tài)與缺陷統(tǒng)計(jì)。這樣操作人員不必直接進(jìn)入推理腳本修改參數(shù)任務(wù)配置與日常檢查被放到瀏覽器界面中適合由產(chǎn)線質(zhì)檢、設(shè)備運(yùn)維和算法人員分別承擔(dān)各自的操作環(huán)節(jié)。歷史記錄支持按時(shí)間、缺陷類型檢索并導(dǎo)出報(bào)告使在線檢測(cè)不止停留在當(dāng)前畫(huà)面。三、實(shí)時(shí)路徑的取舍硬件加速、低延遲與跳幀控制系統(tǒng)以 22 FPS 實(shí)時(shí)檢測(cè)、約 30 ms 端到端延遲和 95% 以上準(zhǔn)確率作為設(shè)計(jì)指標(biāo)這些指標(biāo)不應(yīng)視為脫離硬件、樣本分布和測(cè)量方法的通用結(jié)論。跳幀和低延遲模式是實(shí)時(shí)鏈路中值得關(guān)注的工程決策。輸入幀持續(xù)積壓時(shí)逐幀推理會(huì)讓展示結(jié)果越來(lái)越滯后選擇跳過(guò)部分幀可控制計(jì)算負(fù)載把有限推理資源優(yōu)先用于較新的畫(huà)面。其代價(jià)是可能遺漏短暫出現(xiàn)的缺陷因此跳幀比例應(yīng)與產(chǎn)線速度、相機(jī)幀率、PCB 運(yùn)動(dòng)距離和可接受漏檢窗口一起確定而不是作為固定開(kāi)關(guān)。四、控制面與數(shù)據(jù)面讓結(jié)果能被查看、篩選和追溯Flask 服務(wù)承擔(dān)系統(tǒng)控制面Web 儀表板、檢測(cè)控制、歷史記錄、系統(tǒng)監(jiān)控和設(shè)置頁(yè)面均通過(guò)該服務(wù)對(duì)外呈現(xiàn)。RESTful API 讓外部系統(tǒng)或前端頁(yè)面能夠以統(tǒng)一方式訪問(wèn)功能但實(shí)際可調(diào)用的接口路徑、字段與鑒權(quán)策略仍應(yīng)以代碼和接口文檔為準(zhǔn)。將控制面與模型執(zhí)行路徑拆開(kāi)后算法升級(jí)不必等同于管理頁(yè)面重構(gòu)檢測(cè)參數(shù)調(diào)整也不必直接改動(dòng)模型邏輯。項(xiàng)目采用 SQLite 作為本地輕量級(jí)存儲(chǔ)適合保存單機(jī)或邊緣設(shè)備上的檢測(cè)記錄、統(tǒng)計(jì)信息和配置數(shù)據(jù)。它的優(yōu)勢(shì)是部署簡(jiǎn)單、無(wú)需額外數(shù)據(jù)庫(kù)服務(wù)相應(yīng)地在多工位并發(fā)寫(xiě)入、跨設(shè)備匯總或長(zhǎng)期存放大量圖片時(shí)需要評(píng)估文件體積、備份策略、鎖競(jìng)爭(zhēng)和數(shù)據(jù)遷移路徑。若后續(xù)需要集中管理多條產(chǎn)線可在不改變檢測(cè)鏈路職責(zé)的前提下把數(shù)據(jù)匯聚層替換為更適合并發(fā)和中心化運(yùn)維的存儲(chǔ)服務(wù)。五、部署與安全生產(chǎn)上線前先收緊默認(rèn)邊界系統(tǒng)運(yùn)行需要 Python 3.8 及以上版本、Linux 環(huán)境推薦 Ubuntu 18.04 及以上、Sophon BM1684X 開(kāi)發(fā)板或兼容設(shè)備、至少 4 GB 內(nèi)存和 20 GB 存儲(chǔ)。服務(wù)啟動(dòng)后Web 管理端默認(rèn)使用 5000 端口MediaMTX 的 RTSP 示例地址使用 8554 端口。部署時(shí)應(yīng)把數(shù)據(jù)庫(kù)路徑、監(jiān)聽(tīng)地址、端口與 RTSP 流地址放在可管理的配置中并為設(shè)備 SDK、模型文件和流媒體進(jìn)程建立明確的啟動(dòng)順序與故障檢查項(xiàng)。系統(tǒng)默認(rèn)賬號(hào)為 admin、默認(rèn)密碼為 admin123生產(chǎn)環(huán)境應(yīng)立即替換默認(rèn)憑據(jù)。實(shí)際投產(chǎn)時(shí)這一步應(yīng)視為最低要求應(yīng)關(guān)閉或替換默認(rèn)憑據(jù)使用強(qiáng)密碼和最小權(quán)限角色限制管理端與 RTSP 端口的網(wǎng)絡(luò)暴露范圍并對(duì)檢測(cè)歷史、導(dǎo)出文件和配置備份設(shè)置訪問(wèn)控制。系統(tǒng)監(jiān)控頁(yè)面可用于觀察 CPU、內(nèi)存和磁盤(pán)資源但還應(yīng)將推理進(jìn)程存活、RTSP 連接狀態(tài)、磁盤(pán)余量和異常重啟納入日常巡檢。六、驗(yàn)收應(yīng)圍繞生產(chǎn)鏈路而不是只看單項(xiàng)模型指標(biāo)對(duì) 獨(dú)角鯨PCB 這類系統(tǒng)建議把驗(yàn)收拆為四組首先驗(yàn)證批量圖片的上傳、推理、標(biāo)注結(jié)果和報(bào)告導(dǎo)出是否能形成閉環(huán)其次驗(yàn)證 RTSP 斷連、重連、持續(xù)輸入和多路接入時(shí)的延遲與穩(wěn)定性再驗(yàn)證用戶角色、默認(rèn)憑據(jù)替換、歷史數(shù)據(jù)檢索和備份恢復(fù)最后在目標(biāo) BM1684X 設(shè)備、實(shí)際相機(jī)分辨率和代表性缺陷樣本上記錄 FPS、端到端延遲、漏檢和誤檢情況。只有測(cè)量口徑與生產(chǎn)輸入一致性能數(shù)字才具備工程決策價(jià)值。結(jié)語(yǔ)獨(dú)角鯨PCB 的設(shè)計(jì)價(jià)值在于把批量圖片檢測(cè)、RTSP 在線檢測(cè)、流媒體接入和 Web 運(yùn)維放在清晰的職責(zé)邊界內(nèi)。YOLOv5 與 YOLOv8 的雙鏈路分工回應(yīng)了離線回溯和在線響應(yīng)的不同需求BM1684X 加速與跳幀策略則面向邊緣側(cè)的資源和時(shí)延約束。對(duì)于準(zhǔn)備從單線試點(diǎn)開(kāi)始的 PCB 缺陷檢測(cè)項(xiàng)目這套架構(gòu)提供了可繼續(xù)驗(yàn)證和擴(kuò)展的起點(diǎn)后續(xù)重點(diǎn)應(yīng)放在真實(shí)產(chǎn)線數(shù)據(jù)、設(shè)備環(huán)境和安全配置上的驗(yàn)收而非脫離上下文地比較單一指標(biāo)。