嵌入式視覺設(shè)計要創(chuàng)新,選擇FPGA成關(guān)鍵
因此,BDTI 開發(fā)的針對特定應(yīng)用定制的算法可用于進一步處理賽靈思提供的元數(shù)據(jù)。例如,BDTI 的算法知道什么樣的標志看上去應(yīng)該是怎么樣的(大小、形狀、顏色、圖案、在幀中的位置等),故而能夠?qū)⑾嚓P(guān)的像素集群組合成更大的群組。類似的,這些算法也能判斷什么時候應(yīng)該去除看似顏色相近但并非標志的像素集群,比如前面提及的車輛剎車燈。
本文引用地址:http://butianyuan.cn/article/221572.htm第二階段:行人檢測與跟蹤
在項目的第一階段中,攝像頭處于運動狀態(tài)而待識別的對象(即道路標志)處于靜止狀態(tài)。第二階段主要針對安全應(yīng)用,攝像頭處于靜止狀態(tài)而對象(本例中為行人)則未必。對這種情況,視頻分析算法就不能依靠預(yù)設(shè)的顏色、圖案或其它對象特征,因為行人可以穿著各種衣物,可以高矮胖瘦各異,可以膚色、頭發(fā)顏色和發(fā)型不同(另外還可能戴著遮擋頭發(fā)的帽子、墨鏡等裝飾物)。軟件還需要解決另一個難題,不僅需要識別和跟蹤行人,還需要在行人穿越一道數(shù)字“絆網(wǎng)”,進入視頻幀的特定區(qū)域時發(fā)出警報(見圖 3)。
圖3:在行人檢測和跟蹤功能中包括一項“絆網(wǎng)”警報功能,當行人進入視頻幀的
有界部分的時候就會發(fā)出警報
項目第二階段與第一階段采用的硬件配置完全相同,只是軟件有所變化。視頻流饋送到視頻分析 IP 核的仿真模型中,所生成的元數(shù)據(jù)傳輸?shù)蕉壦惴ㄆ骷┻M一步處理。此時面臨的難題包括:
• 解決不必要的噪聲和適當?shù)膶ο蠓指钪g根本性的權(quán)衡取舍問題
• 對象不斷變化的形態(tài)(外形和結(jié)構(gòu))
• 對象不斷變化的運動狀態(tài),包括行人間的運動狀態(tài)變化以及特定行人隨時間的運動狀態(tài)變化
• 元數(shù)據(jù)消失。比如當行人停止行走,被中間的障礙物遮擋或者是與背景圖案混為一體
• 有其他對象出現(xiàn)在場景中,包括靜態(tài)和動態(tài)的
• 行人與攝像頭之間的距離不斷發(fā)生變化
• 人群中個別行人與群體的運動矢量對比,主體運動矢量和反向運動矢量的對比
就“絆網(wǎng)”的實現(xiàn),四種不同的視頻流對視頻分析算法的調(diào)試和優(yōu)化尤其有效:
• 以相反方向行走的“近處”行人
• 以不同方向行走的“近處”行人
• 一個“遠處”行人和一輛行駛的卡車,從某種角度看,兩者大小相仿
•“遠處”的多名行人與一輛駛近的卡車,卡車看上去比人群大
第三階段:硬件轉(zhuǎn)換及未來發(fā)展
項目的最后階段采用賽靈思真正的視頻分析 IP 模塊(代替之前使用的仿真模塊),運行在 Spartan ®-3A 3400 視頻入門套件上。MicroBlaze™軟核處理器嵌入在 Spartan-3A FPGA內(nèi),采用額外的專用功能模塊予以強化,并實現(xiàn)了網(wǎng)絡(luò)協(xié)議棧。該網(wǎng)絡(luò)協(xié)議棧主要負責(zé)處理高數(shù)位率和以太網(wǎng)分組的元數(shù)據(jù)并將其傳輸?shù)?BDTI 開發(fā)的第二級處理算法,同時實現(xiàn)道路標志檢測和行人檢測與跟蹤功能。雖然這些算法之前在基于 X86 的 PC 上運行,BDTI 已成功地將它們移植到基于ARM® Cor tex TM-A8 的硬件平臺(BeagleBoard) 上(見圖 4)。
對已經(jīng)熟悉賽靈思產(chǎn)品計劃的用戶來說,可能立即就會想到將 FPGA 和Cortex-A8 CPU 集成在單個芯片上的ZynqTM 可擴展處理平臺。能不能在單個 Zynq 器件上運行整個視頻分析參考設(shè)計呢? 答復(fù)顯然是肯定的, 因為Zynq 產(chǎn)品系列的各器件包含有足夠的可編程邏輯資源,同時 BDTI 算法對ARM CPU 核來說負載適中。
嵌入式視覺正在為系統(tǒng)開發(fā)商及其半導(dǎo)體和軟件供應(yīng)商書寫新一篇重大的技術(shù)成功篇章。正如本文中介紹的案例研究所示,FPGA 以及 FPGA 與 CPU組合的 SoC 能夠成為實現(xiàn)嵌入式視覺算法極富吸引力的芯片平臺。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論