Spinnaker SDK:專為機(jī)器視覺(jué)構(gòu)建的 API 庫(kù)
借助廣泛的 Teledyne GigE 和 USB3 面陣掃描相機(jī)支持,工程師可以使用 Spinnaker 快速開(kāi)發(fā)用于視覺(jué)應(yīng)用的軟件解決方案。通過(guò)提供完全控制相機(jī)的選項(xiàng),Spinnaker 允許用戶管理圖像處理管道的每一個(gè)環(huán)節(jié)。此外,Spinnaker 還支持通過(guò)相機(jī)功能來(lái)保證系統(tǒng)面向未來(lái)的方法,這些功能可以通過(guò)動(dòng)態(tài)加載到計(jì)算機(jī)中來(lái)添加,而無(wú)需重新編譯代碼。
本文引用地址:http://cafeforensic.com/article/202401/454903.htmGigE Multiplicity
Teledyne IIS GigE Vision 框架旨在提供卓越的性能并與要求苛刻的應(yīng)用程序無(wú)縫集成。Spinnaker 借鑒了 Teledyne IIS 數(shù)十年在全球提供一流機(jī)器視覺(jué) GigE 相機(jī)的經(jīng)驗(yàn)。它使系統(tǒng)能夠保持零錯(cuò)誤和從多個(gè) GigE 相機(jī)到主機(jī) PC 的可靠圖像傳輸速度,CPU 使用率提高高達(dá) 20%。
主要功能之一是多核 GigE 優(yōu)化器。該功能可以將 GigE 網(wǎng)絡(luò)流量分布到多個(gè)處理器內(nèi)核上,從而使系統(tǒng)能夠更高效地處理數(shù)據(jù)流。當(dāng)通過(guò)網(wǎng)絡(luò)發(fā)送大量數(shù)據(jù)時(shí),多核 GigE 優(yōu)化器可以幫助防止系統(tǒng)過(guò)載。
跨多個(gè) CPU 核心管理流量,能夠更好地利用主機(jī)設(shè)備的資源。每個(gè)核心可以處理流量數(shù)據(jù)流的不同部分。作為 T2IR 的一部分,記錄網(wǎng)絡(luò)流量何時(shí)減慢的文本和視覺(jué)指示有助于排查不可預(yù)測(cè)的行為,并防止出現(xiàn)更多瓶頸。
可擴(kuò)展性是許多機(jī)器視覺(jué)系統(tǒng)的重要因素。通過(guò)允許系統(tǒng)按需擴(kuò)展,多核 GigE 優(yōu)化器能夠保持流量負(fù)載,即使流量增加也不會(huì)變得不堪重負(fù)。這在向系統(tǒng)添加新相機(jī)以及保留未使用的核心來(lái)管理額外網(wǎng)絡(luò)流量等操作中發(fā)揮著重要作用。
T2IR 支持
從觸發(fā)到圖像的可靠性 (T2IR) 是一個(gè)結(jié)合軟件和硬件功能來(lái)構(gòu)建可靠檢測(cè)系統(tǒng)的框架。借助 T2IR,Teledyne 相機(jī)的用戶可以相信他們的系統(tǒng)在使用 Spinnaker 時(shí)能夠按預(yù)期運(yùn)行。通過(guò)優(yōu)化相機(jī)與計(jì)算機(jī)系統(tǒng)之間的連接,可以預(yù)防圖像采集過(guò)程中可能發(fā)生的許多典型錯(cuò)誤。
隨著視覺(jué)系統(tǒng)變得越來(lái)越復(fù)雜,能夠監(jiān)控系統(tǒng)性能就變得非常重要。使用 T2IR 允許系統(tǒng)以受控方式管理異常。當(dāng)出現(xiàn)問(wèn)題時(shí),Teledyne 提供調(diào)試和跟蹤工具,以確??焖倥懦收稀J褂迷O(shè)備和流診斷來(lái)識(shí)別數(shù)據(jù)包丟失的位置是一種快速調(diào)試方法。Spinnaker 默認(rèn)包含易于配置的文件,可用于將調(diào)試消息直接記錄到指定目錄,從而安全存儲(chǔ)重要數(shù)據(jù)。
使用事件處理功能優(yōu)化代碼,該功能可向用戶發(fā)送事件通知并刪除占用大量資源的輪詢代碼。使用緩沖區(qū)管理功能避免主機(jī)設(shè)備過(guò)載。通過(guò)對(duì)相機(jī)和主機(jī)緩沖區(qū)的精確控制,可以妥善保存和發(fā)送圖像。還通過(guò)幀觸發(fā)等待功能優(yōu)化了圖像捕獲,每當(dāng)相機(jī)有機(jī)會(huì)捕獲新幀時(shí),該功能都會(huì)通過(guò)與主機(jī)進(jìn)行通信來(lái)防止幀丟失。 通過(guò)這些強(qiáng)大的工具,T2IR 有助于減少停機(jī)時(shí)間,同時(shí)提高整體應(yīng)用程序的響應(yīng)性。
多種相機(jī)選項(xiàng)
隨著視覺(jué)系統(tǒng)的發(fā)展或新相機(jī)的推出,Spinnaker 還將繼續(xù)支持各種成像解決方案,這一點(diǎn)請(qǐng)放心。受支持的相機(jī)接口包括 USB3、1GigE、5GigE 和 10GigE。其中包括 Blackfly S、Firefly S、Genie Nano、Lt Series、Forge 和 Oryx 等系列產(chǎn)品,未來(lái)還會(huì)支持更多型號(hào)。
這種對(duì)我們機(jī)器視覺(jué)相機(jī)產(chǎn)品組合的持續(xù)支持,使開(kāi)發(fā)人員能夠創(chuàng)建一個(gè)應(yīng)用程序并在未來(lái)的升級(jí)中繼續(xù)重用其應(yīng)用程序。該系統(tǒng)還可靈活擴(kuò)展不同的相機(jī),允許開(kāi)發(fā)人員在隨時(shí)間推移升級(jí)或更換視覺(jué)系統(tǒng)中的相機(jī)時(shí)創(chuàng)建涉及多個(gè)相機(jī)型號(hào)的復(fù)雜項(xiàng)目。這確保了應(yīng)用程序在未來(lái)幾年內(nèi)能夠與新硬件兼容。因此,當(dāng)工程師開(kāi)發(fā)視覺(jué)解決方案時(shí),他們可以進(jìn)行一次性投資來(lái)確保自己的項(xiàng)目開(kāi)發(fā)投入可以被重復(fù)利用,而無(wú)需擔(dān)心浪費(fèi)開(kāi)發(fā)資源。
在現(xiàn)有項(xiàng)目基礎(chǔ)上構(gòu)建
通過(guò) Spinnaker,Teledyne 提供了簡(jiǎn)單直觀的 API,旨在讓開(kāi)發(fā)變得更加輕松,并提供對(duì) C++、C#、C、VB.NET、Python 2.7、Python 3.10、ActiveX 和 DirectShow 的支持,開(kāi)發(fā)人員可以使用他們最熟悉或最適合其應(yīng)用的編程語(yǔ)言來(lái)構(gòu)建應(yīng)用程序。
剛接觸 SDK 的開(kāi)發(fā)人員可利用示例代碼獲得有關(guān)如何使用其各種功能的指導(dǎo)。這些示例通過(guò)演示在不同場(chǎng)景下如何使用 SDK,幫助開(kāi)發(fā)人員了解如何將 SDK 應(yīng)用到其自己的項(xiàng)目中。
應(yīng)用工具
借助 Spinnaker 廣泛的可視化和調(diào)試工具,開(kāi)發(fā)人員可以針對(duì)各種視覺(jué)應(yīng)用對(duì)其系統(tǒng)進(jìn)行故障排除和優(yōu)化。通過(guò)最新版本的 AdapterConfig 工具,Teledyne 支持跨 Teledyne 各種產(chǎn)品線輕松設(shè)置 GigE 相機(jī),包括 5GigE 和 10GigE 相機(jī)。這個(gè)過(guò)程自動(dòng)為每臺(tái) GigE 相機(jī)提供即插即用體驗(yàn),并且可以優(yōu)化每臺(tái)相機(jī)以降低出現(xiàn)不可預(yù)測(cè)計(jì)算機(jī)行為的可能性。
DriverInstaller 工具允許用戶切換 Teledyne 驅(qū)動(dòng)程序和第三方驅(qū)動(dòng)程序,從而提供簡(jiǎn)單的靈活性。這樣可以輕松訪問(wèn) Teledyne 軟件,同時(shí)還允許系統(tǒng)集成商使用許多第三方支持的軟件解決方案。借助此工具,依賴于特定軟件的系統(tǒng)可以更新其系統(tǒng)以與 Spinnaker 配合使用,同時(shí)仍保持現(xiàn)有工具的協(xié)同工作。
其他工具包括用于糾正缺陷像素的 SpinPixelCorrection、幫助節(jié)省調(diào)試時(shí)間的日志記錄工具,以及用于優(yōu)化 Linux 系統(tǒng)的套接字參數(shù)的 GigE Network Tweaking 工具。
操作系統(tǒng)支持
Teledyne 非常重視對(duì)各種操作系統(tǒng)的支持,以確保輕松集成 Spinnaker。支持的操作系統(tǒng)包括 Ubuntu 22.04、Windows 10、MacOS 和 Linux ARM。由于 Teledyne 視覺(jué)系統(tǒng)的許多用戶擁有多種多樣的應(yīng)用程序,跨多個(gè)平臺(tái)的支持使開(kāi)發(fā)人員能夠靈活地構(gòu)建其應(yīng)用程序并廣泛兼容各種行業(yè)標(biāo)準(zhǔn)。
由于用戶可能使用不同的操作系統(tǒng),Teledyne 開(kāi)發(fā) Spinnaker 時(shí)將其設(shè)計(jì)為可在最適合應(yīng)用程序需求的操作系統(tǒng)上運(yùn)行。這也讓用戶相信,Spinnaker 專為跨網(wǎng)絡(luò)協(xié)作而設(shè)計(jì),并支持在多臺(tái)機(jī)器上應(yīng)用其 Teledyne 視覺(jué)解決方案。
幾分鐘內(nèi)開(kāi)始編碼
視覺(jué)系統(tǒng)有很多部分。某些系統(tǒng)增加的復(fù)雜性可能會(huì)導(dǎo)致需要額外的集成時(shí)間。Spinnaker 的一個(gè)主要目標(biāo)是創(chuàng)建高效的工作環(huán)境,以減少開(kāi)發(fā)過(guò)程中花費(fèi)的時(shí)間。
為了確保 Spinnaker 的無(wú)縫集成,Teledyne 使其能夠輕松接入熟悉的 Visual Studio 環(huán)境。無(wú)需記住相機(jī)設(shè)置或節(jié)點(diǎn)圖名稱即可開(kāi)始 Visual Basic 開(kāi)發(fā)。在編碼時(shí)利用智能功能來(lái)預(yù)測(cè)特征名稱。
SpinView GUI
Spinnakers SpinView GUI 具有直觀的界面,允許用戶訪問(wèn)所有相機(jī)控件。通過(guò) SpinView 演示應(yīng)用程序,用戶無(wú)需編寫任何代碼即可探索和評(píng)估所有相機(jī)功能。 這使得開(kāi)發(fā)人員無(wú)需花費(fèi)時(shí)間就可以快速了解視覺(jué)系統(tǒng)的功能。
SpinView 提供的各種功能使 Teledyne 相機(jī)上的圖像采集成為一項(xiàng)簡(jiǎn)單的任務(wù)。通過(guò)利用 Spinnaker 的簡(jiǎn)單框架,用戶能夠在當(dāng)天內(nèi)編寫概念驗(yàn)證演示。為了確保無(wú)縫操作,用戶在渲染顯示時(shí)可以利用計(jì)算機(jī)處理器 (CPU) 或顯卡 (GPU)。這樣,Spinnaker 將適應(yīng)現(xiàn)有的硬件,并確保無(wú)論使用何種系統(tǒng)都能無(wú)縫運(yùn)行。
附加功能
● 保存圖像到磁盤
● 錄制視頻到磁盤
● 顯示直方圖和十字標(biāo)線
● 可定制的布局
● 功能搜索
● 可定制的日志
評(píng)論