專注FPGA圖像方案定制
FPGA模擬MIPI相機,成功接入NVIDIA AGX開發(fā)者
視覺相機是機器智能/自動化的關(guān)鍵,NVIDIA Jetson支持多個合作伙伴的Camera,這些相機包括USB、以太網(wǎng)、MIPI等接口的相機。Jetson為這些相機提供了完整的Jetpack SDK,支持用戶可以快速接入這些相機,來實現(xiàn)相應的設(shè)計。
Jetson支持的相機列表,可以從官網(wǎng)中找到,如下所示:
選擇CSI/MIPI接口,以及Orin套件,網(wǎng)頁會出現(xiàn)Jetson Partner支持的相機列表,主要是:Sony的IMX290、IMX334、IMX179、IMX335、IMX415 ,以及Aptina的AR0234、AR0144、AR0822等。因此,比如用戶使用NVIDIA的Jetson AGX Orin開發(fā)者套件,套件的SDK中就原生的支持如上列表的傳感器CSI接入,用戶可以快速進行自己的解決方案開發(fā)。
如果選用上述列表中的相機并搭配配套的CSI轉(zhuǎn)接板,由于Camera Partner已經(jīng)提前和NVIDIA Jetson各種型號做了對接,原廠鏡像中驅(qū)動默認已經(jīng)支持,可以做到即插即用。
但是如果我們選用了列表外的sensor型號,即非Camera Partner的產(chǎn)品,就無法直接使用,比如我想用Sony的IMX472、 IMX252,思特威的SC2210、SC235HGS等,則需要進行配套的硬件開和驅(qū)動軟件的升級。為此,奧唯思為您提供了完整的解決方案,可搭載任意相機,也可以選FPGA集成ISP。
如下圖所示:方案采用易靈思鈦金16nm的FPGA Ti60F225,通過MIPI CSI RX采集圖像傳感器的數(shù)據(jù),在FPGA內(nèi)部經(jīng)過一系列復雜的ISP運算后,再通過MIPI CSI TX將圖像數(shù)據(jù)發(fā)送給后端。
其中VC-MIPI-AGX為奧唯思自研的配套NVIDIA Jetson AGX Orin開發(fā)者套件的 MIPI接入子卡。如下圖所示,為AGX的MIPI卡槽,以及我們設(shè)計的接入子卡。我們使用高速穩(wěn)定的TypeC 3.0數(shù)據(jù)線,來傳輸MIPI信號。當前方案可支持2個MIPI CSI通道,單通道高支持6Gbps帶寬。目前方案已經(jīng)成功接入AGX,穩(wěn)定可靠,烤機測試通過。
易靈思16nm鈦金系列FPGA的低功耗、高帶寬、小體積特點,充分賦能終端產(chǎn)品使其具有創(chuàng)新性和競爭力。鈦金系列Ti60可支持MIPI/LVDS等接口的多攝像頭輸入、多類型屏幕驅(qū)動、高性能RISC-V軟核等功能,適用于各種相機和傳感器系統(tǒng)等場景應用。
因此我們選用了易靈思的FPGA作為主控,充分利用其高速低功耗的特性,完成了MIPI CSI的采集、ISP圖像處理,以及MIPI CSI的發(fā)送。易靈思Ti60 FPGA的MIPI PHY為1.5Gbps單通道,4 lane支持6Gbps,在85%有效帶寬下,評估有效的傳輸分辨/幀率,如下:
RGB888傳輸 |
有效帶寬 |
實際帶寬 (85%) |
結(jié)果 |
RGB888 24bit傳輸 |
|||
1920*1080@60 |
有效帶寬= 1920*1080*8bit*60*3 = 2.986Gbps |
3.513Gbps |
√ |
1920*1080@100 |
有效帶寬= 1920*1080*8bit*100*3 = 5.286Gbps |
6.219Gbps |
× |
1920*1080@120 |
有效帶寬= 1920*1080*8bit*120*3 = 5.972Gbps |
7.026Gbps |
× |
Bayer 8bit傳輸 |
|||
1920*1080@60 |
有效帶寬= 1920*1080*8bit*60 = 0.9953Gbps |
1.171Gbps |
√ |
1920*1080@100 |
有效帶寬= 1920*1080*8bit*100= 1.659Gbps |
1.952Gbps |
√ |
1920*1080@120 |
有效帶寬= 1920*1080*8bit*120 = 1.991Gbps |
2.342Gbps |
√ |
4096*2304@60 |
有效帶寬= 1920*1080*8bit*60 = 4.530Gbps |
5.330Gbps |
√ |
采用RGB888或者Bayer 8bit傳輸,各有優(yōu)缺點:
1)RGB888 8bit傳輸,AGX可以直接獲取圖像數(shù)據(jù),好處是沒有額外的源數(shù)據(jù)處理開銷;壞處是由于Bayer的3倍帶寬,當前FPGA方案只能支持到1080P60方案。
2)Bayer 8bit傳輸,帶寬是RGB888的1/3,可以支持更高的分辨率(4K60),同時在同等分辨率下,比RGB888可以支持更長的傳輸距離;不足的是需要AGX的CPU(Neon)來處理Bayer2RGB算法,目前測試1080P120消耗了1個CPU 43%的資源(共12個CPU,單核資源消耗如下圖所示)。
綜合評估下,由于當前只用了AGX 1個CPU,并且用戶的算法主要在GPU上跑CUDA,因此采用Bayer傳輸?shù)膬?yōu)勢更明顯。
NVIDIA同樣可以做完整的ISP圖像處理,甚至ASIC實現(xiàn)的ISP功能與性能相比FPGA更強大,但在此方案中,我們不得不采用FPGA進行完整的ISP處理,主要原因如下:
1)針對選定的Sensor,NVIDIA仍需要大量的Tuning工作;
2)NVIDIA的ISP不支持8bit RAW輸入模式;
3)部分應用工程師,并不熟悉ISP領(lǐng)域;
4)部分ISP算法,NVIDIA并沒有包含;
5)低延時的需求,需要流水線完成ISP。
鑒于此,我們采用FPGA完成了一套完整的ISP處理流程,MIPI CSI直接輸出經(jīng)過FPGA圖像處理完后的數(shù)據(jù),NVIDIA AGX拿到RGB數(shù)據(jù)后,用戶可以直接進行后續(xù)的應用算法。基于易靈思FPGA的ISP圖像處理Pipeline,如下所示:
奧唯思自研的流水線ISP,相關(guān)的Feature,如下表所示:
參數(shù) |
描述 |
參數(shù)開關(guān) |
Black Leveling |
黑電平矯正 |
|
Dead Pixel Correction |
壞點矯正模塊(DPC) |
|
Auto Exposure |
自動曝光算法模塊 |
u 可調(diào)開關(guān) u AE亮度目標值 u AE靈敏度 |
Auto White Balance |
自動白平衡算法模塊 |
|
Bayer2RGB |
Bayer轉(zhuǎn)RGB域 |
|
RGB2YUV |
RGB轉(zhuǎn)YUV域 |
|
Gamma Correction |
YUV域Gamma矯正 |
u 可調(diào)參數(shù) |
Color Correction |
RGB色彩矯正 |
|
2DNR |
2D降噪算法模塊 |
u 可調(diào)開關(guān) u 可調(diào)強度 |
Sharping |
邊緣銳化模塊 |
u 可調(diào)開關(guān) u 可調(diào)強度 |
Saturation |
飽和度調(diào)節(jié) |
u 可調(diào)強度 |
Contrast |
對比度增強模塊 |
u 可調(diào)強度 |
Brightness |
亮度調(diào)節(jié)模塊 |
u 可調(diào)強度 |
Scaler&Crop |
縮放/截屏模塊 |
u 可調(diào)參數(shù) |
YUV2RGB |
YUV轉(zhuǎn)RGB模塊 |
硬件方面,采用奧唯思設(shè)計的VC-MIPI-AGX子卡,實現(xiàn)了用戶MIPICSI轉(zhuǎn)AGX Samtec的輸入。軟件方面,則需要根據(jù)硬件板卡和模組設(shè)計,開發(fā)特定的Sensor驅(qū)動適配。如果有特殊定制的控制需求,比如ISP參數(shù)的控制,則需要修改Camera框架,進行深度定制開發(fā)。
出于對系統(tǒng)安全性的保護,Jetson出廠時的,內(nèi)核編譯打開了驅(qū)動簽名選項,如果新開發(fā)的驅(qū)動簽名證書不匹配,則驅(qū)動ko文件無法加載。但是一般用戶無法拿到NVIDIA編譯出廠鏡像時的簽名證書,無法解決ko簽名問題。如果需要使用新的sensor模組,則需要重新編譯內(nèi)核、生成全系統(tǒng)鏡像、燒錄系統(tǒng),工作量相當巨大。
奧唯思為客戶解決上述軟硬件難題,并創(chuàng)造性地使用typeC 3.0線纜作為數(shù)據(jù)傳輸介質(zhì),連接可靠,通信穩(wěn)定?;贜VIDIA Jetson AGX Orin開發(fā)者平臺,接入的自研的FPGA MIPI ISP相機連接環(huán)境,如下所示:
廣東省深圳市南山區(qū)朗山路11號同方科興科學園E棟501
19926595670
cb@szovs.com
公眾號
企微聯(lián)系
官方公眾號