讓 10GigE 機(jī)器視覺(jué)變得可靠且經(jīng)濟(jì)實(shí)惠 - 包括多攝像頭設(shè)置
掃描二維碼
隨時(shí)隨地手機(jī)看文章
概述
快速檢測(cè)線、半導(dǎo)體工廠、智能交通系統(tǒng)、運(yùn)動(dòng)分析和容積捕捉等多種視覺(jué)系統(tǒng)應(yīng)用場(chǎng)景都需要高分辨率、高 FPS 和高數(shù)據(jù)傳輸率來(lái)達(dá)到更好的結(jié)果。對(duì)于希望利用幀率更快和分辨率更高的機(jī)器視覺(jué)攝像頭來(lái)改進(jìn)輸出的視覺(jué)系統(tǒng)工程師來(lái)說(shuō),從 1GigE 升級(jí)到 10GigE 是顯而易見(jiàn)的選擇。然而,根據(jù) AIA(自動(dòng)成像協(xié)會(huì))的研究,其采用相當(dāng)緩慢。考慮到這種升級(jí)帶來(lái)的三個(gè)技術(shù)挑戰(zhàn):可靠性(丟包)、高 CPU 使用率和高延遲,這一點(diǎn)可以理解。本文介紹了 Teledyne FLIR Oryx + Myricom 捆綁解決方案如何解決這些挑戰(zhàn)。
更新 1:完美的性能
雖然 10GigE Vision 的帶寬比 GigE Vision 協(xié)議高 10 倍,但 10GigE 主機(jī)適配器性能卻并未相應(yīng)提高。從攝像頭向主機(jī)的數(shù)據(jù)傳輸通常會(huì)導(dǎo)致 CPU 過(guò)載,造成應(yīng)用程序緩沖區(qū)溢出,以及對(duì)于要求苛刻的應(yīng)用程序而言不可接受的丟包水平。
通過(guò)利用主機(jī)適配器直接在卡上處理數(shù)據(jù)包接收和圖像重建,CPU 就不再需要管理這些任務(wù)。Teledyne FLIR Oryx + Myricom 捆綁解決方案專為應(yīng)對(duì)此類情況而設(shè)計(jì)。如我們下方的測(cè)試結(jié)果所示,系統(tǒng)可靠性可大幅提高,從而顯著減少丟包,進(jìn)而減少丟幀。
該捆綁解決方案可與我們?nèi)碌亩ㄖ?SDK 驅(qū)動(dòng)程序無(wú)縫結(jié)合,專門(mén)用于處理 Myricom 卡提供的數(shù)據(jù)。通過(guò)這種組合,可以完美、可靠地將圖像數(shù)據(jù)從攝像頭傳輸?shù)街鳈C(jī) PC 上。檢測(cè)結(jié)果見(jiàn)下方附錄:可靠性和 CPU 使用率測(cè)試。
Teledyne FLIR Oryx + Myricom 捆綁解決方案的高性價(jià)比使其成為顯而易見(jiàn)的選擇;與分別購(gòu)買(mǎi)硬件再集成相比,這是一種經(jīng)濟(jì)實(shí)惠且高度可靠的設(shè)置。
更新 2:CPU 使用率可管理
理論上,CPU 最高可以用一個(gè)內(nèi)核的 100% 來(lái)處理從 10GigE 接入的輸入數(shù)據(jù),并且在運(yùn)行多個(gè)應(yīng)用程序/攝像頭時(shí)可以使用多個(gè)內(nèi)核。通過(guò)使用 Myricom 卡來(lái)管理數(shù)據(jù)包接收和圖像重建,每個(gè)應(yīng)用程序的 CPU 使用率可以低至 1%,從而可以將更多的 CPU 周期用于圖像處理。檢測(cè)結(jié)果見(jiàn)下方附錄:可靠性和 CPU 使用率測(cè)試
更新 3:延遲縮短
10GigE Vision 的幀延遲不是確定的;這意味著幀的到達(dá)可能伴隨顯著的時(shí)基抖動(dòng)。在某些情況下,特別是對(duì)于交換機(jī),不僅存在丟包,有時(shí)幀的接收會(huì)出現(xiàn)逆序現(xiàn)象。Teledyne FLIR Oryx + Myricom 捆綁解決方案通過(guò)及時(shí)通知幀完成以縮短延遲,以及減少時(shí)基抖動(dòng)來(lái)解決這個(gè)問(wèn)題。
附錄:可靠性和 CPU 使用率測(cè)試
測(cè)試 1:高帶寬 7 天串流
使用通過(guò) Teledyne FLIR Spinnaker API 創(chuàng)建的定制控制臺(tái)應(yīng)用程序,設(shè)置由 890 萬(wàn)像素 Teledyne FLIR Oryx 攝像頭來(lái)連續(xù)捕捉圖像,并跟蹤任何不完整的圖像,無(wú)額外的處理或第三方資源密集型程序同時(shí)運(yùn)行。
測(cè)試結(jié)果:采集約 4000 萬(wàn)幀圖像;檢測(cè)到 0 幀不完整/丟失的圖像。
注:在整個(gè) 7 天的測(cè)試期間檢查了 CPU 使用率,發(fā)現(xiàn)始終保持在 1%。在停用新的 Myricom 驅(qū)動(dòng)程序,僅依靠 FLIR 標(biāo)準(zhǔn)濾波器驅(qū)動(dòng)器的情況下,專門(mén)用于應(yīng)用程序的 CPU 核心的 CPU 使用率保持在大約 100% 的水平。
測(cè)試 2:雙攝像頭串流
該測(cè)試包括在同一定制控制臺(tái)應(yīng)用程序中運(yùn)行的兩臺(tái) Oryx 攝像頭(ORX-10G-123S6M 和 ORX-10G-89S6C),每臺(tái)攝像頭的帶寬為 6.7 Gb/s,連續(xù)運(yùn)行 24 小時(shí)。
測(cè)試結(jié)果:每個(gè)攝像頭采集約 600 萬(wàn)幀圖像;檢測(cè)到 0 幀不完整/丟失的圖像
測(cè)試 3:24 小時(shí) CPU 壓力測(cè)試
該測(cè)試包括一臺(tái) Oryx 攝像頭(ORX-10G-123S6M),其設(shè)置與測(cè)試 1 相同。
使用了與測(cè)試 1 相同的控制臺(tái)應(yīng)用程序,但這次同時(shí)使用了另一個(gè)應(yīng)用程序;該定制應(yīng)用程序旨在模擬高工作負(fù)荷,CPU 的總使用率約為 90%(所有八個(gè)內(nèi)核)。
測(cè)試結(jié)果:采集約 600 萬(wàn)幀圖像;檢測(cè)到 0 幀不完整/丟失的圖像
測(cè)試系統(tǒng)硬件和軟件規(guī)格:
i7-9700k @ 3.6GHz | 16GB | Windows 10 1809
Teledyne FLIR Spinnaker 2.1.0.82 和 PGRLwf 2.7.3.397 與帶 Myricom 支持的定制 2.3.0.x 版本
Oryx ORX-10G-123S6M
Oryx ORX-10G-89S6C