在物體檢測(cè)和分類等機(jī)器視覺(jué)任務(wù)中,高效的特征提取至關(guān)重要。Basler視覺(jué)方案利用 FPGA處理流程簡(jiǎn)化了這一過(guò)程,通過(guò)直接在FPGA上運(yùn)行Blob分析,提高了方案的實(shí)時(shí)性能,這一獨(dú)特優(yōu)勢(shì)能夠顯著優(yōu)化計(jì)算成本。
高效特征提?。簩W⒂陉P(guān)鍵信息
典型的特征提取過(guò)程:去拜耳 > 色彩空間轉(zhuǎn)換 > HSI 閾值處理 > 圖像形態(tài)學(xué)處理 > Blob 分析
特征提取可將原始圖像數(shù)據(jù)轉(zhuǎn)化為數(shù)字特征,為物體檢測(cè)和分類等任務(wù)提供更精確和專業(yè)的支持。通過(guò)專注于關(guān)鍵圖像特征并降低數(shù)據(jù)維度,特征提取不僅能提高數(shù)據(jù)處理的實(shí)時(shí)性,還能提高處理效率。
上圖展示了基于 FPGA 和 CPU 架構(gòu)的典型特征提取流程:去拜耳、色彩空間轉(zhuǎn)換、HSI 閾值處理、形態(tài)過(guò)濾和 Blob 分析。這些步驟將圖像轉(zhuǎn)換成計(jì)算機(jī)可以解讀的格式。在最后一步中,被測(cè)物被識(shí)別為 64 位格式的 Blob,左邊的數(shù)字代表其邊界框,右邊的數(shù)字顯示其面積。
FPGA處理流程:提高幀速率,降低CPU負(fù)載
基于FPGA和CPU典型特征提取步驟對(duì)比
Basler采用500萬(wàn)像素的CXP-12接口相機(jī)進(jìn)行演示,將其設(shè)置為以122fps的速率運(yùn)行。隨后,在PC端CPU與圖像采集處理卡端的FPGA上,分別采用VisualApplets以進(jìn)行典型特征提取流程的對(duì)比,并得出以下結(jié)論:
· CPU:占用100%CPU負(fù)載,幀速率降至9fps;
· FPGA:占用9%CPU負(fù)載,幀速率維持在122fps;
由此可以看出,對(duì)于復(fù)雜且對(duì)時(shí)序要求嚴(yán)格的視覺(jué)任務(wù),F(xiàn)PGA 處理流程可確保最佳性能,以最優(yōu)的 CPU 負(fù)載維持高幀率運(yùn)行。
了解 Blob 分析的作用
Blob 分析可識(shí)別并分析二進(jìn)制圖像中的連接區(qū)域(Blob),提取關(guān)鍵圖像數(shù)據(jù),如對(duì)象的大小、形狀、位置、面積和連接性。
雖然許多人認(rèn)為 FPGA 在圖像采集卡中的功能僅限于圖像預(yù)處理,但其實(shí)遠(yuǎn)遠(yuǎn)不止于此。通常情況下,圖像處理最后階段執(zhí)行的 Blob 分析由 CPU 處理。然而,考慮到 Blob 分析對(duì)資源的需求,將其轉(zhuǎn)移到 FPGA 上可顯著降低 CPU 負(fù)載,提高系統(tǒng)整體性能。
在FPGA端運(yùn)行Blob分析產(chǎn)生顯著差異的原因?
在另一組測(cè)試中,Basler采用2500萬(wàn)像素的CXP-12相機(jī),并使其以72fps的幀速率進(jìn)行51*51,共計(jì)2601點(diǎn)網(wǎng)格的檢測(cè),在CPU和FPGA端同時(shí)運(yùn)行Blob分析并進(jìn)行對(duì)比。結(jié)果如下:Blob 分析需要高強(qiáng)度、高密度的計(jì)算,如果由中央處理器處理,會(huì)大大降低實(shí)時(shí)任務(wù)的速度,導(dǎo)致裝配線缺陷檢測(cè)等關(guān)鍵應(yīng)用出現(xiàn)延遲。將 Blob 分析硬連接到 FPGA 上可大大降低 CPU 負(fù)載,使系統(tǒng)以最低延遲全速運(yùn)行。
由FPGA和CPU進(jìn)行Blob分析的對(duì)比
在難度高、對(duì)時(shí)序要求高的應(yīng)用場(chǎng)景(如高速網(wǎng)狀檢測(cè)系統(tǒng))中,通過(guò)在FPGA上執(zhí)行圖像預(yù)處理和分析,僅需處理存在缺陷的區(qū)域,從而將PC端數(shù)據(jù)負(fù)載大幅降低。借助Basler 簡(jiǎn)單易用的FPGA編程軟件VisualApplets,能夠?qū)崿F(xiàn)快速、高效的處理,且延遲極低。我們的FPGA方案采用單次通過(guò)算法,一次性處理圖像,并以最小的計(jì)算成本優(yōu)化實(shí)時(shí)應(yīng)用。
基于FPGA的Blob分析的主要優(yōu)勢(shì):
· 數(shù)據(jù)處理高效:在流程初期即進(jìn)行預(yù)處理,減輕數(shù)據(jù)負(fù)載。
· 無(wú)額外延遲:保證實(shí)時(shí)性能,不犧牲速度。
· 系統(tǒng)性能提升:最大化相機(jī)和系統(tǒng)能力。
· 應(yīng)用廣泛:適用于快速移動(dòng)和復(fù)雜應(yīng)用環(huán)境。
(來(lái)源:Basler計(jì)算機(jī)視覺(jué))