ISP圖像質量自動化測試方法


 

背景介紹

ISP(Image Signal Processor),即圖像處理,主要作用是對前端圖像傳感器輸出的信號做后期處理,主要功能有線性糾正、噪聲去除、壞點去除、內插、白平衡、自動曝光控制等,依賴於ISP才能在不同的光學條件下都能較好的還原現場細節,ISP技術在很大程度上決定了攝像機的成像質量。
 
ISP這個主要用在視頻監控設備、相機等。測試方法和場景適用於:IPC設備,手機相機等。

關鍵詞

 

ISP(Image Signal Processor) IPC圖像質量 圖像質量算法測試 自動化測試

 

  

本文主要介紹一種測試IPC圖像質量的測試方法,測試方法的思路基於用戶的使用場景,以及算法的適應,自動化測試圖像質量的方法;按照自然的方法進行測試,記錄下ISP算法的參數變化以及對應的圖像質量,根據這些數據來改善圖像質量。

 

 

1       當前測試方法不足

IPC圖像質量測試現狀已經有了一套非常規范的測試方法,在不同的燈光下測試色彩還原能力,測試寬動態等,有專業的測試軟件,例如Imatest等,可以基於這些方法和工具進行設備之間的對比測試,給出全面的圖像質量的評價。

但是這樣的測試有幾個地方沒有考慮到:

  • 不能進行自動化測試,需要人工搭建測試環境,進行人工采集測試結果並分析,測試效率較低。
  • 脫離了設備實際應用場景,只是模擬了典型場景,離真實環境還有一段距離。
  • 只是單點的測試ISP的算法,沒有測試到算法的適應性以及算法中間的過渡。
  • 沒有記錄算法中間的變化過程。不能縱向記錄ISP算法的參數變化,即按照時間的順序記錄算法調整的變化。

 

2       測試方法介紹

基於上述測試方法的不足之處,我們能否有一個測試方法,放置設備在一個固定的地點,記錄下IPC設備全天圖像變化的情況,觀察設備隨着時間變化圖像質量的變化,可以以24小時為周期測試,記錄24小時的圖像變化,然后判斷IPC圖像質量的效果。根據這個思路,方法有兩個:

  • 按照時間間隔定期抓取圖片
  • 根據ISP參數的變化抓取圖片

因為我們需要測試ISP圖像質量,所以根據ISP參數的變化來抓取圖片比較合理。

結合產品的特性,可以按照下面的測試方法進行測試:

實時獲取影響ISP算法參數的值(例如:YUV數值,快門,增益,iris),作為基准數據;一秒鍾后,獲取值,並與基准數據做比較,如果有變化,則調用ISP算法接口,截取一幀的數據轉換為JEPG格式保存,並記錄下當前的YUV數據值;保存當前的YUV數據位基准參數。重新獲取YUV值,與基准參數比較,如果有變化,抓取圖片,保存基准參數。

如此循環,可以記錄ISP算法的變化和圖像質量情況,可以根據算法的變化曲線進行優化算法等。

 

測試流程圖如下:

 

 

3       測試方法的優缺點分析

  • 優點:
    • 實現圖像質量測試自動化,做到全天候測試,數據收集更加豐富
    • 可以實現多台設備同時測試,測試效率更高
    • 測試場景與客戶真實使用場景一致,更加真實
    • 可以記錄ISP參數全天以及更長時間的變化,為優化算法提供基本數據
    • 測試成本低,不增加新的設備和儀器,利用現有資源測試
    • 測試方法簡單,結果觀察方便
    • 不涉及到圖形界面操作,測試可靠性較好

 

  • 缺點
    • 因測試原理為視頻數據抽幀轉為圖片格式,中間有轉換損失(如果直接調用前端抓拍接口,則不存在此問題)
    • 無法直接判斷測試結果,需要人工判斷(如果有圖片質量評比工具就可以自動判斷了)
    • 必須由開發人員對代碼做一些修改或者調整
    • 測試依賴環境的自然變化,測試驗證場景單一
    • 在實際測試中發現,每天測試生成的圖片非常多,查閱測試結果需要一定的時間。(這個可以根據參數的閾值來調節,但是閾值設置需要驗證)

 

4       開發支持准備

需要在軟件添加兩個接口,並注冊到OSP模塊,用來測試使用

一是:獲取YUV值參數信息

          獲取ISP算法的參數,3A等參數信息。

二是:從數據流中保存一幀數據,轉換為圖片並保存

         測試接口的功能類似於相機的拍照功能,根據參數觸發圖像數據抓拍

 

5       測試方法實現

根據測試方法描述,測試實現較為快速高效的實現是使用腳本來進行控制。需要使用FTP,Telnet功能。

腳本功能分析,根據上述測試思路,實現自動化測試,選取 Python腳本來實現。

需要實現的模塊有:

編號

模塊名稱

模塊功能

1

YUV數據獲取模塊

telnet到設備,執行名稱,獲取YUV數據

2

YUV數據提取模塊

從返回的數據中提取出YUV數據數值

3

抓取圖片模塊

執行抓取圖片命令,獲得當前參數下的圖片

4

FTP下載圖片模塊

ftp方法把圖片從設備保存到本地目錄

5

輸出測試報告模塊

根據YUV數據,圖片,以及時間輸出html格式測試報告

 

 

6       測試方法應用

前面章節介紹了傳統測試方法的缺點,也介紹了此測試方法的優勢。但是此測試方法不能替代原有的專業的ISP圖像質量測試方法,但是可以作為快速驗證、回歸測試以及對比測試的方法。

快速驗證:現在每天都有版本出來,靠傳統方法難以快速驗證,利用此方法可以做到驗證每天版本的ISP圖像質量。

回歸測試:在ISP算法調整后,回歸測試算法調整效果。ISP算法調整后,用此測試方法驗證算法的基本情況以及適應性。

對比測試:同時測試兩台設備的效果對比,快捷方便。

7  自動化圖片質量打分

測試腳本選用python實現,可以利用opencv庫,對於抓取的圖片生成圖片的直方圖,然后對於這些直方圖數據進行對比,比較這些圖片的相似度。同時也可以設置一些基准圖片,抓取的圖片與這些基准圖片進行對比,給出一個打分。
直方圖數據比較腳本。
 
#sudo pip install PIL 
def pil_image_similarity(filepath1, filepath2): 
from PIL import Image import math 
import operator 
image1 = Image.open(filepath1) 
image2 = Image.open(filepath2) 
# image1 = get_thumbnail(img1) 
# image2 = get_thumbnail(img2) 
h1 = image1.histogram() 
h2 = image2.histogram() 
rms = math.sqrt(reduce(operator.add, list(map(lambda a,b: (a-b)**2, h1, h2)))/len(h1) ) 
return rms

此段代碼使用了:monkey  https://testerhome.com/topics/202

 

8  圖像質量人工測試

 
自動化測試腳本每天可以抓取大量的圖片,這些圖片可以直接瀏覽,主觀評價這些圖片的質量,並且可以看到每天不同時段的圖片質量的變化,以及isp算法的適應性,調整是否合理等。
特別是日夜模式切換時圖片質量的變化;光線情況快速變化時,ISP算法的適應性等。


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM