(映維網(wǎng)Nweon 2022年06月24日)攝像頭捕獲的圖像可能會受到各種噪點源的影響,包括攝像頭電路產(chǎn)生的噪點。例如,用于驅(qū)動像素的信號可以受到由溫度波動和/或其他因素引起的電壓和/或電流漂移的影響,并導(dǎo)致圖像傳感器的輸出發(fā)生變化。這在生成的圖像中表現(xiàn)為噪點。讀出電路可能會遇到類似的問題。在弱光條件下,這類噪點會對攝像頭的信噪比(SNR)產(chǎn)生不利影響。
圖像傳感器中的不同圖像傳感像素組可能會受到圖像傳感器電路中操作差異的不同影響。作為一個示例,圖像傳感器可以包括以行(例如,行和列)排列的多個像素,其中每行像素由相應(yīng)的放大器驅(qū)動。放大器輸出中的變化可致使像素記錄的像素值增加偏移偏置。
如本文所用,“偏差”是指對圖像傳感器的像素記錄的像素值的加性偏移,“讀出值”是指從像素讀取的值,包括其像素值和修改讀取的像素值的潛在偏差?!熬€偏置”是指應(yīng)用于圖像傳感元件的線的公共偏置,其中“線”是指受公共偏置影響的多個圖像傳感器像素,例如由公共放大器驅(qū)動的像素的行或列。
用于驅(qū)動圖像傳感器不同像素線的放大器之間的操作差異不同。例如,配置為驅(qū)動第一行像素的第一放大器可提供1.1 mV的輸出,而配置為提供與第一放大器相同的輸出,并驅(qū)動第二行像素的第二放大器可提供1.2 mV的輸出。結(jié)果,由第一放大器驅(qū)動的第一行像素可在第一行中記錄的像素值中經(jīng)歷第一偏置,而由第二放大器驅(qū)動的第二行像素可在第二行中記錄的像素值中經(jīng)歷不同于第一偏置的第二偏置。
這可能導(dǎo)致圖像傳感器捕獲的圖像以不同強度或?qū)Ρ榷鹊膸Щ驐l紋的形式顯示噪點,從而降低圖像質(zhì)量,從而影響圖像傳感器的信噪比。
另外,由于產(chǎn)生偏差的漂移的性質(zhì),所述偏差可能在圖像之間發(fā)生變化。用于讀取由圖像傳感器收集的圖像數(shù)據(jù)的讀出電路中的操作變化同時可以導(dǎo)致像素值中的偏差。這種噪點對低信號圖像尤其有害,例如低光圖像和熱圖像。
解決圖像中線條偏差的一種方法是使用圖像濾波。然而,濾波方法可以迭代以圖像的每個單獨像素為中心的窗口內(nèi)的所有像素,這在計算方面十分昂貴,并且可以導(dǎo)致輸出圖像中相對于輸入圖像的信息內(nèi)容的模糊和相關(guān)損失。
處理圖像中的線偏差的另一種方法是通過實驗確定每行像素中的偏差,并將偏差存儲為校準,從而應(yīng)用于圖像。然而,這種校準程序假設(shè)不同圖像之間的線偏差保持不變,而線偏差的來源可能會隨時間波動。
針對所述問題,微軟在名為“Correcting line bias in an image”的專利申請中介紹了與校正圖像中的線偏差和時間線噪點有關(guān)的示例。
概括來說,可以為每個圖像幀中的每一行像素確定并應(yīng)用行偏移校正,以逐個圖像地產(chǎn)生偏移校正圖像。線偏差校正的確定被表述為一個優(yōu)化問題,其中通過改變表示像素線中潛在偏差的偏差項來最小化代價函數(shù)的值。
在一個示例中,成本函數(shù)定義為尋求線偏差校正的線中的像素與相鄰線中的像素之間的梯度之和。這種優(yōu)化方法可以通過動態(tài)規(guī)劃技術(shù)有效地執(zhí)行,從而減少計算成本。微軟指出,發(fā)明示例可促進關(guān)于線偏差和時間線噪點校正的圖像生成和實時顯示。
圖1示意性地示出了用于校正圖像中的線偏差和時間線噪點的示例計算管道100。在管道100中,成像設(shè)備102利用圖像傳感器104來捕獲包括圖像106的多個圖像。圖像106可以是視頻流中的圖像,例如微光或熱圖像視頻流。
如圖1所示,圖像106以不同灰度對比度的高頻帶或條紋的形式顯示噪點。噪點源于線之間不同的線偏差,其可由例如圖像傳感器104中的驅(qū)動和/或讀出電路中的操作變化引起。另外,由成像設(shè)備102捕獲的圖像中的噪點隨時間波動,并且因此表現(xiàn)出時間線噪點。
為了校正圖像106中的線偏差和產(chǎn)生的噪點,將圖像106輸出到計算設(shè)備108。計算設(shè)備108逐幀確定對接收圖像中的線偏差的校正。圖1描繪了由計算設(shè)備108通過對圖像106應(yīng)用線偏差校正而產(chǎn)生的偏差校正圖像110。
與圖像106相反,經(jīng)偏置校正的圖像110不顯示圖像106中存在的噪聲。然后,輸出經(jīng)偏置校正的圖像110以供顯示設(shè)備112顯示。可以實時生成和顯示經(jīng)偏移校正的圖像,從而保持視頻圖像流的幀速率。
盡管圖1描繪了來自成像設(shè)備102的灰度圖像輸出,但在其他示例中,成像設(shè)備102可以產(chǎn)生多通道彩色圖像。
另外,成像設(shè)備102可以采用任何合適的形式,例如熱攝像頭或配置為在微光條件下捕獲圖像的攝像頭。這種配置為在低信號條件下操作的圖像傳感器可以受到時間線噪點的限制。所以,管道100可用于校正此類圖像中的線偏差和時間線噪點,從而減輕所述限制。
在各種示例中,可以在設(shè)備中實現(xiàn)成像設(shè)備102、計算設(shè)備108和顯示設(shè)備112,或者可以將一個或多個實現(xiàn)為單獨的設(shè)備。作為一個示例,頭戴式顯示器設(shè)備可以包括成像設(shè)備102、計算設(shè)備108和顯示設(shè)備112中的每一個。例如,能夠在成像設(shè)備102捕獲的視頻流中實時顯示偏移校正的圖像。
圖2示出了校正圖像中的線偏差和時間線噪點的示例方法200流程圖。例如,圖1的管道100可以表示方法200的示例實現(xiàn)。在202,從成像設(shè)備接收包括多行像素的圖像。在各種示例中,線可以是水平線和/或垂直像素線。
在204,至少基于第n行中的像素值,使用代價函數(shù)確定圖像中第n行像素的行偏移校正。在一個示例中,代價函數(shù)可以包括梯度之和,如208所示,每個梯度在第n行像素中的各個像素和與第n行相鄰的像素行中的對應(yīng)像素之間計算。
作為更具體的示例,可以在第n和n+1行的第一像素之間計算第n行的第一像素的梯度,并且可以在第n和n+1行的第二像素之間計算第n行的第二像素的梯度。
圖3描繪了三行像素302A、302B和302C,每行包括四個像素。為了確定線302A的線偏移校正,計算為線302A的所有像素確定的梯度之和,并且在線302A中的各個像素的讀出值和相鄰線302B中的對應(yīng)像素的讀出值之間計算每個梯度。
具體地,求和以確定代價函數(shù)的值的梯度包括(i)第302A行的像素304A和第302B行的像素306A之間的梯度,(ii)第302A行的像素304B和第302B行的像素306B之間的梯度,(iii)第302A行的像素304C和第302B行的像素306C之間的梯度,以及(iv)行302A中的像素304D和行302B中的像素306D之間的梯度??梢砸匀魏魏线m的方式計算梯度。作為一個示例,可以將每個梯度計算為被比較像素的讀出值之間的差值的絕對值。
每個像素的讀出值是像素對光的曝光(“像素值”)以及驅(qū)動電路、讀出電路和/或其他源產(chǎn)生的任何線偏置的函數(shù)。因此如圖2所示,如210所示,每個梯度表示第n行中的像素值和第n行的線偏置之和,與相鄰行中的對應(yīng)像素值和相鄰行的線偏置之和之間的絕對差。如上所述,線偏移的存在將相加偏移應(yīng)用于像素值。
因此,可以將偏置項添加到像素行中的像素的讀出值,然后進行調(diào)整以減輕行偏置對代價函數(shù)值的影響。再次參考圖3,可以將在像素304A和像素306A之間計算的梯度計算為(i)像素304A的讀出值和表示影響線302A的線偏置的偏置項之和,以及(ii)像素306A的讀出值和表示影響線302B的線偏置的偏置項之和之間的差(例如絕對差)。
通過將像素304A的線偏差應(yīng)用于像素304B-D,并將像素306A的線偏差應(yīng)用于像素306B-D,可以類似地計算像素304B和306B、304C和306C以及304D和306D之間的梯度。如上所述,在一個示例中,可以為兩個相鄰的像素線(例如,上面的一行和下面的一行)計算梯度。計算一行像素的梯度后,該行的所有梯度相加。雖然在本示例中使用絕對差作為梯度,但在其他示例中可以使用任何其他合適的梯度計算。
返回圖2,在212,計算第n條線的兩個或多個潛在線偏差校正中的每一個的成本函數(shù),并選擇產(chǎn)生較低成本函數(shù)值的潛在線偏差校正?!熬€路偏差修正”是指為減少成本函數(shù)而調(diào)整的偏差項。再次參考圖3,可以使用一條線或兩條線的不同偏移值來計算線302A和302B中相鄰像素之間的梯度,以確定哪個偏移值更能降低成本函數(shù)。
例如,對于1和2的兩個不同偏移值,可以為(i)偏移量為1的線302A和偏移量為1的線302B、(ii)偏移量為1的線302A和偏移量為2的線302B計算相鄰像素之間的梯度,(iii)偏移量為2的線302A和偏移量為1的線302B,以及(iv)偏移量為2的線302A和偏移量為2的線302B。在一個示例中,可能的偏差值的每個組合可用于評估成本函數(shù)。
可針對不同的潛在線路偏差修正計算成本函數(shù),直到滿足任何合適的條件。例如,對于預(yù)定的迭代次數(shù),可以計算成本函數(shù),直到成本函數(shù)的值等于或小于閾值,或者直到達到確定的最小值(局部或全局)。
通過遞歸迭代所有可能的線偏差分配,可以找到全局最優(yōu)解。動態(tài)編程技術(shù)在圖2的214處示出。因此,動態(tài)規(guī)劃可以使得能夠發(fā)現(xiàn)產(chǎn)生代價函數(shù)的全局最小值的解決方案,同時降低評估代價函數(shù)的計算成本,從而在被校正的視頻數(shù)據(jù)的幀率內(nèi)確定線偏差校正。
在一個示例中,動態(tài)規(guī)劃的使用可能包括使用記憶215或表格216來存儲來自早期計算的值,以便在以后的計算中重用。在一個示例中,使用成本函數(shù)可能包括使用記憶或制表來減少、最小化或優(yōu)化成本函數(shù)。
在218處確定代價函數(shù)的適當(dāng)?shù)椭抵?,方?00包括將在204處確定的線偏差校正應(yīng)用于第n行中的每個像素。如上所述,應(yīng)用行偏移校正可以包括對對應(yīng)行中的多個像素值應(yīng)用偏移。在一個示例中,這可能包括將正偏移或負偏移與像素的讀出值求和。
在222,確定在尚未執(zhí)行線偏移校正處理的圖像中是否保留額外的線。如果確定其他行確實保留(是),則方法200前進到223,其中行偏移確定過程前進到圖像中第N行之后的下一行(“N++”)。
在223之后,方法200返回到204,其中可以為下一行確定行偏移校正。在一個示例中,方法200可以迭代圖像中的每一行,確定并應(yīng)用每一行的線偏差校正。對于圖像末端的最后一行,可以在最后一行和第一行之間執(zhí)行梯度計算,或者可以使用單個相鄰行。
在一個示例中,可以確定線偏差校正,并將其應(yīng)用于除在218處接收到線偏差校正的線之外的線。例如,可以為圖像中的像素行確定線偏移校正并將其應(yīng)用于圖像中的像素行,從而產(chǎn)生具有偏移校正的像素行的圖像。然后,可以為結(jié)果圖像中的像素列確定線偏移校正并將其應(yīng)用于該列,從而生成具有偏移校正的像素行和像素列的最終圖像。行和列偏移校正可以按照任何合適的順序執(zhí)行。
繼續(xù)圖2,如果在222處確定附加線不保留(否),方法200前進到224,其中通過顯示器輸出偏置校正圖像。在一個示例中,輸出經(jīng)偏置校正的圖像可包括實時輸出226經(jīng)偏置校正的圖像。例如,成像設(shè)備可以生成形成視頻的多個圖像幀,并且方法200可以用于為多個圖像中的每一個生成偏移校正圖像,并實時顯示偏移校正圖像。
微軟指出,發(fā)明所述有助于實現(xiàn)圖像中的線偏差和時間線噪點的有效校正,以及經(jīng)偏差校正的圖像的實時顯示。
相關(guān)專利:Microsoft Patent | Correcting line bias in an image
名為“Correcting line bias in an image”的微軟專利申請最初在2020年12月提交,并在日前由美國專利商標局公布。需要注意的是,這只是一份專利申請,不確定微軟是否會或?qū)⒂诤螘r進行商業(yè)化。
好了,這篇文章的內(nèi)容發(fā)貨聯(lián)盟就和大家分享到這里,如果大家網(wǎng)絡(luò)推廣引流創(chuàng)業(yè)感興趣,可以添加微信:80709525 備注:發(fā)貨聯(lián)盟引流學(xué)習(xí); 我拉你進直播課程學(xué)習(xí)群,每周135晚上都是有實戰(zhàn)干貨的推廣引流技術(shù)課程免費分享!