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