ISP(Image Signal Processor)我介紹了很多了。
ISP從圖像傳感器獲取 RAW 像素,并將其轉換為與人類對所捕獲場景的感知相匹配的圖像。ISP 是每個攝像頭和視覺系統(tǒng)中必不可少的基本硬件處理器。
然而,大多數(shù)廠家的 ISP 實現(xiàn)細節(jié)并不公開,都是給一堆函數(shù)自己調(diào)用調(diào)試。因為廠商將 ISP 算法視為保持市場競爭力的獨特秘訣。雖然之前介紹了很多開源ISP項目(優(yōu)秀的 Verilog/FPGA開源項目介紹(二十六)- ISP (圖像信號處理)),這些開源ISP僅僅是實驗和探索,與商用的ISP相比,它們在性能、圖像質(zhì)量和實用性方面還有所欠缺。
圖:ISP 中的相機成像算法
上圖來源:Karaimer and Brown,ECCV2016//karaimer.github.io/camera-pipeline/
圖:SoC 中ISP成像原理的頂層框圖
上圖來源:Lluis Gomez:https://hdl.handle.net/2134/19580
Infinite-ISP 是成像和視覺社區(qū)的變革者。Infinite-ISP 的所有組件都開源,并記錄整個開發(fā)過程,將浮點 ISP 管道引入其硬件實現(xiàn)。揭示 ISP 的內(nèi)部工作原理,加速開發(fā)并鼓勵專業(yè)人士、研究人員和開源硬件愛好者為整個成像和視覺社區(qū)做出貢獻。
Infinite-ISP 介紹
Infinite-ISP 是一款開源硬件圖像信號處理器開發(fā)套件,配有算法開發(fā)浮點模型、定點參考模型(Golden Model)、RTL ISP、FPGA / ASIC 實現(xiàn)和 ISP 調(diào)優(yōu)工具等應用程序。開源 ISP 設計包提供具有競爭力的圖像質(zhì)量和性能,堪比現(xiàn)代SoC中ISP。
圖:Infinite-ISP硬件ISP開發(fā)套件
驗證 Infinite-ISP 硬件圖像信號處理器 (RTL ISP)。RTL ISP 經(jīng)過 FPGA 驗證,具有以下規(guī)格:
適用于拜耳圖像傳感器的 10 位 4 百萬像素Sensor
最大幀尺寸:2592 x 1536
最大幀率:30 fps
像素吞吐量:高達 125 Mpix/s(可以增加幀大小,但會降低 fps)
可選符合 ITU-R 標準的 YCbCr 輸出:BT.601或BT.709
可選 RGB、YCbCr444、YCbCr422 輸出
2A 統(tǒng)計引擎 (AWB、AE)
多級降噪(Bayer、亮度)
可配置處理管道,支持 ISP 調(diào)優(yōu)工具
演示
為了演示Infinite-ISP使用流程,我們直接使用開源的二進制文件,目前支持的傳感器包括:
Onsemi AR1335
Omnivision OV5647
Sony IMX219
本次選用 Onsemi AR1335 圖像傳感器進行演示。
按照下圖搭建演示環(huán)境:
1、燒寫鏡像
首先,去下面鏈接下載鏡像:
https://github.com/10x-Engineers/Infinite-ISP_FPGABinaries/tree/main/binaries
本次演示使用的FPGA開發(fā)板為:KV260
a. 將電腦的 IP 地址更改為靜態(tài) IP 192.168.0.X,其中 X 可以是 2 到 254 之間的任意數(shù)字(111 除外)。網(wǎng)絡掩碼和網(wǎng)關應分別為 255.255.255.0 和 192.168.0.1。
b. 將以太網(wǎng)電纜與 Kria KV260 套件和電腦連接起來。
c. 將電源線插入 Kria KV260 套件的電源插孔。
d. 電路板通電后,一只手按住 FWUEN 按鈕,另一只手按住 FWUEN 按鈕的同時按下并釋放 RESET 按鈕,然后在釋放 RESET 按鈕 5-10 秒后釋放 FWUEN 按鈕。
e. 在電腦上打開瀏覽器,在地址欄中輸入 192.168.0.111,如下所示:
將打開套件的鏡像恢復工具(如下所示),如果沒有出現(xiàn),請重復步驟 d。
f.然后選擇相應的鏡像進行燒寫。
2、運行 Infinite-ISP
將相關二進制文件刷入 FPGA 后,將與二進制文件對應的傳感器連接到開發(fā)板上。
按照下圖連接好線纜:
上電后,Infinite-ISP 的輸出將通過 HDMI 顯示到顯示器上。
為了與 Infinite-ISP 實時交互, Infinite-ISP 還提供了一個串口的配置菜單,用戶可以通過該菜單調(diào)整 Infinite-ISP、實時更改圖像傳感器的配置(例如曝光和增益設置),還可以在 SD 卡中捕獲 RAW 和處理后的幀圖像。
瀏覽 Infinite-ISP 交互菜單
通過串口連接到串口工具上(推薦PUTTY),波特率設置為115200。
連接到串口后,F(xiàn)PGA將打印ISP中模塊的中斷數(shù)、接收圖像的高度、寬度和類型 (di) ,如下所示:
按任意鍵將出現(xiàn) Infinite-ISP 配置菜單,如下所示:
Infinite-ISP 配置菜單包含三個選項??梢愿膫鞲衅髋渲茫ɡ缙毓鈺r間和模擬/數(shù)字增益)、啟動連續(xù)幀的突發(fā)捕獲、更改 ISP 參數(shù),甚至調(diào)整傳感器模塊的焦點。接下倆重點講解 ISP 參數(shù)。其他相關測試自行操作。
配置ISP參數(shù):
通過“Configure ISP Parameters(配置 ISP 參數(shù))”菜單選項可以配置多個 ISP 模塊。ISP 配置菜單如下所示:
輸入要配置的模塊編號。輸入有效編號后將進入模塊特定的配置菜單,其中將顯示當前參數(shù)值,并提示選擇要更改/配置的參數(shù)。
選擇要配置的參數(shù)后,將被引導至參數(shù)特定的菜單,其中將顯示該參數(shù)的當前值并提示輸入新值。
輸入新值后將被引導回模塊特定的配置菜單,您這時候?qū)⒖吹礁牡膮?shù)已經(jīng)生效。
按“E”返回 ISP 配置菜單。
視頻演示
參考鏈接
https://karaimer.github.io/camera-pipeline/
https://www.hackster.io/muhammad-abdullah3/kria-kv260-fpga-isp-getting-started-ffc985
https://hdl.handle.net/2134/19580Karaimer and Brown,ECCV2016:
總結
Infinite-ISP總體實現(xiàn)的ISP非常完善,下面是其模塊分類:
整個項目不是干巴巴的代碼,而是整體偏向商業(yè)SoC應用,包括上位機(本文未展示),適合學習算法和了解ISP,在此基礎上甚至可以商用,開源協(xié)議Apache 2.0(參考Android系統(tǒng))。
如果大家比較感興趣,后面再出一個如何使用 Vivado 從源代碼構建 Infinite-ISP FPGA 項目的教程。
項目很完整,大家可以從GitHub上對項目提出自己的意見和建議~
-
圖像傳感器
+關注
關注
68文章
1902瀏覽量
129549 -
ISP
+關注
關注
6文章
477瀏覽量
51826 -
信號處理器
+關注
關注
1文章
254瀏覽量
25275
原文標題:開源ISP(Infinite-ISP)介紹
文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論