基于嵌入式影像處理平臺的實時多目標識別演算法
人工智能技術與咨詢 昨天
本文來自《科學技術與工程》,作者 王旭輝等
摘 要 提出了一種適用于空間觀測任務的實時多目標識別演算法,它基于DSP和FPGA組合的影像處理硬體平臺,運用散點聚類、軌跡跟蹤、特征提取技術快速識別目標,對演算法的功能需求、資料流向、運算流程和處理結果,進行了詳細闡述,實踐結果表明,該識別演算法具有很強的實用性,
關鍵詞 多目標 運動軌跡 實時濾波 嵌入式平臺
1 功能需求
空間觀測物件復雜多變,且真、偽兩種目標在尺寸、亮度、形態方面既有區別又十分相似,觀測的背景也起伏多變,演算法針對的工況如下:零散目標數量多(K級),但個體像素少(<100 pix);真目標形態有變化但不規則,與偽目標形態經常一致;真目標在亮度方面忽明忽暗有起伏,而偽目標單體灰度起伏小,但群體表現則灰度有高有低;但兩者速度和方向有差異,
由于影像處理需進行全幅傳輸、存盤和計算,時間消耗大,而用戶對演算法實時性要求高,因此必須充分利用影像傳輸時間,并避免耗時過多的運算,借鑒國外空間寬視場相機[1]的影像處理方案,對影像流做一次資料量降級處理,從M級降低到K級,且邊傳輸邊流水線式處理;避免了集中處理造成的時間延遲,降低了錯誤資訊匯報的風險,
2 整體架構
硬體平臺由DSP處理器+FPGA及其外圍器件組成的高速運算電路共同實作[2],它為軟體編程、各類資料流控制及復雜物件的識別演算法提供基礎保證,多目標識別演算法在物理空間運行上分成兩部分:影像預處理演算法(FPGA)和軌跡識別演算法(DSP),與嵌入式影像處理硬體構成一個完整的影像處理系統共同完成空間觀測任務,識別演算法主要負責對空間監測影像的分析和判讀,重點是濾除背景,對潛在目標進行分類、識別后、剔除偽目標,存盤、記錄真實目標并將其報告給相關系統,其識別的程序可分為五個步驟:幀內空間濾波、幀內閾值分割、幀內散點聚類、幀間軌跡編排和幀間目標判定,
軟體結構如圖1所示,

圖1 多目標識別演算法的軟體結構和分配布局示意圖
3 演算法步驟3.1 影像預處理
該演算法依托FPGA實作,對每幀原始影像進行流水線式“高通濾波”和“閾值分割”,處理后的次級影像存到外部“FIFO”中,影像預處理的依據源于“空間影像是低頻背景與高頻奇異點的綜合結果”[3],因此部分借鑒彭嘉雄先生的高通濾波器模板,對影像做類似卷積計算,記矩陣h,維數5×5,處理公式如下


式中f(i,j)為輸入影像,G(i,j)為卷積后的結果,threshold即閾值,閾值的選取有兩種方式:一種是人工干預,從DSP端通信口輸入;另一種是自適應調整,以影像均值為基礎,綜合工程經驗的“可識別信噪比”倍率,
3.2 聚類
預處理后的次級影像,由DSP處理器從FIFO中取走做進一步處理——“聚類”,即根據次級影像提供的零散點位置、灰度資訊,經過連通和聚合,初步收集單幀內的目標綜合特征,為下一步多幀多目標識別奠定基礎,該聚類演算法中“段表”的意義是記錄水平維資訊,而“鄰接表”的意義則反映豎直維資訊;經過兩次回圈遍歷,可以對V型、Ф型和λ型等主流形態目標進行穩定的形心跟蹤,且具有執行速度塊、節省存盤空間等優點,演算法流程如圖2所示,
3.3 軌跡編排
聚類后獲得的潛目標資訊存盤在SDRAM中,由于偽目標和真目標在幾何特征上的差異尚不足以判斷目標真偽,還需要根據多幀積累后的運動軌跡和速度差異,去“偽”存“真”,這一程序也由DSP實作,“軌跡編排”完成“軌跡矩陣初始化”、“軌跡新建”、“軌跡更新”和“軌跡洗掉”四項主要功能,進入目標搜索模式后的首幀先進行“軌跡矩陣初始化”:初始化的內容分兩步先完成矩陣內全部變數清零,然后根據最新單幀潛目標資訊組(及前面聚類成果)里的資料構建初始軌跡矩陣;從第二幀開始,即當“初始軌跡矩陣”成型后,逐幀根據潛目標和已分類目標的特征,或更新、或新建、或洗掉軌跡,不斷更新軌跡矩陣中的軌跡條數、軌跡長度、軌跡生命值等變數,改動軌跡管理矩陣的條件見表1,
表1 軌跡新建、更新及洗掉條件


圖2 散點聚類功能的處理流程圖
其中軌跡管理器采用的是結構體和陣列的結合,單條軌跡長度限定為固定值,在充滿軌跡長度陣列極限前,軌跡點數不斷遞增;充滿軌跡長度陣列后用最新點替代最舊點,本文采用這種封閉式的資料結構,是出于可靠性的考慮,避免使用開放式指標及鏈表可能帶來的“溢位泄漏”風險,針對空間目標特性的不連續情況,將軌跡的生命值區分為“活躍態”、“休眠態”和“終結態”;這三種狀態分別對應的判定條件為:不斷更新,間歇更新和永不更新,影像中出現的噪點因其出現的偶然和隨機性,僅存在于“休眠態”,數幀之后因不再更新,最侄訓轉入“終結態”;而新出現的潛目標,在經歷連續更新“額定門限幀數”后,由“休眠態”轉入“活躍態”,由于本任務幀頻較高及視場張角較大的特點,幀與幀時間間隔內目標移動的范圍較小,可以用“相鄰原則”來更新標號,完整的“軌跡編排”流程如圖3所示,
3.4 統計分析

圖3 軌跡編排功能的處理流程圖
對“軌跡管理器”中處于“活躍態”的軌跡按“軌跡條數”進行兩次遍歷,分別統計速度和方向,進而更新置信度,然后根據置信度最值確認真實目標(這里選取速度和方向做特征量的原因是真、偽目標在灰度特征上的差異不顯著),在實際工程使用中,為降低虛警率,置信度在不滿足“軌跡長度累計總量門限”時,暫不對外告警;在置信度配置方面,由于系統安裝平臺的晃動對“方向”有貢獻,因此在置信度設定時,速度的權重高于方向,具體流程如圖4所示,
4 測驗結果

圖4 軌跡統計功能的處理流程圖
對該演算法的驗證在地面模擬時,以光學模擬為主,背景主要包含兩種光源的起伏,并隨機添加針狀噪聲,真、偽目標源在9 000幀里面累計數量按100顆仿真,單幀內最多按32顆計算,偽目標的空間分布和亮度幅值以亮星星表為依據,圖5列出的是對9 000幀中的某一幀影像做預處理后的效果,初步驗證了FPGA中影像預處理演算法對背景的剔除功能,
對軌跡識別演算法的考核是假設真目標做水平方向往復運動,偽目標做垂直方向運動,在仿真時,為模擬真實情況,對安裝平臺做正弦方式晃動,圖6列出了軌跡管理矩陣中9 000幀的全部歷史記錄,其中藍色的為真目標軌跡,結果表明軌跡演算法能對運動有差異的真偽目標做出正確判斷,保持在測驗程序中,近99.4%的時間內穩定匯報真實目標資訊,
5 結論
提供的演算法充分考慮了工程實際情況和多目標實時識別的特點,結合嵌入式硬體處理平臺已經參與并完成對地面模擬目標和空間真實目標的驗證,為空間觀測領域的影像處理和識別提供了一種具有實用價值的嵌入式開發系統,

圖5 影像預處理后的效果

圖6 多目標識別程序中的軌跡圖(尺寸5×5;目標數量100;累計9 000幀;含平臺抖動)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/341986.html
標籤:其他
上一篇:c語言實作簡單猜數字游戲(rand/do while的基本使用)
下一篇:Matlab 影像幾何變換
