專利名稱:視頻序列的分割中的邊緣比較的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及數(shù)字圖像處理領(lǐng)域,具體地涉及數(shù)字視頻的處 理,并且明確地涉及數(shù)字視頻幀的分割,尤其用于背景替換。
背景技術(shù):
在數(shù)字視頻處理中,將視頻流分割成不同的分量對(duì)象是公知的和 有用的技術(shù)。
例如,可以將輸入視頻流分成兩種不同的流, 一種包括前景目標(biāo)
(subject)/對(duì)象(為了本發(fā)明,從現(xiàn)在起"前景目標(biāo)"意指"前景目標(biāo)"和 "前景對(duì)象,,),另一種包括視頻幀的背景。在兩個(gè)人之間的視頻通信 (例如,視頻電話)序列中,前景例如由通話人一通常限于軀干、頭 和臂(所謂的"通話頭(talking head )")—代表。
例如,將視頻序列分割成前景流和背景流的可能性對(duì)于改變視頻 序列背景,去除原始背景和插入用戶選擇的替代背景以便例如為了隱 私而隱藏通話頭周圍環(huán)境或在與其他人通信的同時(shí)共享視頻剪裁、電 影、照片、TV序列以及類似應(yīng)用是有用的。
許多分割算法的目的是分析數(shù)字視頻序列并生成二進(jìn)制掩碼,所
謂的"前景掩碼",其中視頻序列的每個(gè)視頻幀的每個(gè)像素被標(biāo)記為背 景像素或者被標(biāo)記為前景像素。在象視頻通信這樣的應(yīng)用中,必須以 在充分流暢的視頻通信序列中大約為每秒25幀至30幀(fps )的幀速 率、實(shí)時(shí)地進(jìn)行上述操作。
現(xiàn)有技術(shù)中已經(jīng)提出了幾種用于圖像分割的技術(shù)方案。 在L丄ucchese和S.K.Mitra的"Color Image Segmentation: A State-of-the畫Art Survey" , Proc. of the Indian National Science Academy (INSA-A), New Delhi, India, Vol. 67, A, No. 2, March 2001,
pp.207-221中,提供了一種彩色圖像分割算法的回顧。
在 A.R.J. Francois 和 G.G, Medioni, "Adaptive Color Background Modeling for Real-time Segmentation of Video Streams," Proceedings of the International Conference on Imaging Science, Systems, and Technology, pp, 227-232, Las Vegas, NA, June 1999中,提出了一種在視頻監(jiān)視和多媒體應(yīng)用的情況下在個(gè)人計(jì)算機(jī) (PC )上進(jìn)行視頻流的實(shí)時(shí)背景建模和分割的系統(tǒng)。用固定攝像機(jī)捕 獲的圖像被建模為固定或緩慢變化的背景,這可能被移動(dòng)代理遮蔽。 該系統(tǒng)學(xué)習(xí)背景的統(tǒng)計(jì)顏色模型,其用于檢測(cè)遮蔽元件所產(chǎn)生的變 化。提出在色度-飽和度-純度(HSV)彩色空間中,而不是在傳統(tǒng) 的RGB(紅、綠、藍(lán))空間中進(jìn)行操作,因?yàn)樗峁└玫乩妙伾?信息,并且自然地結(jié)合了僅僅灰度級(jí)處理。在每個(gè)時(shí)刻,該系統(tǒng)維護(hù) 更新的背景模型,以及隨后能夠追蹤的遮蔽區(qū)域的列表。
在D. Butler, S. Sridharan和V. M. Bove, Jr" "Real-time adaptive background segmentation," in Proceedings of the International Conference on Acoustics, Speech and Signal Processing (ICAS SP- 2003), pp. 349-352, April 2003中,提出了 一種通過一組聚類 (cluster)表示幀中每個(gè)像素的算法。聚類按照它們模擬背景的似然率 進(jìn)行排序并適于處理背景和照明變化。到來的像素與對(duì)應(yīng)的聚類組進(jìn)
行匹配并按照匹配聚類被判斷為是否是背景的一部分進(jìn)行分類。該算 法已經(jīng)聲稱展示了與其它技術(shù)相同或更好的分割,并證明除后處理之 外,能夠處理每秒28幀(28fps )的320x240 #見頻。
US 6,625,310公開了一種將視頻數(shù)據(jù)分割成前景部分和背景部 分的方法,該方法利用了像素的統(tǒng)計(jì)建模;為每個(gè)像素建立背景的統(tǒng) 計(jì)模型,并且將在到來的視頻幀中的每個(gè)像素與那個(gè)像素的背景統(tǒng)計(jì) 模型進(jìn)行比較?;谶@些比較確定像素是前景或背景。具體而言,如 果像素值匹配該像素的模式,則確定像素匹配背景統(tǒng)計(jì)模型;取像素 值和該像素的背景統(tǒng)計(jì)模型的值(即,模式)之間的絕對(duì)差,以及將 其與閾值比較。如果絕對(duì)差小于或等于閾值,則認(rèn)為像素值匹配背景
統(tǒng)計(jì)模型,并且將該像素標(biāo)記為背景;否則,將該像素標(biāo)記為前景。
US 2004/0032卯6公開了 一種分割數(shù)字視頻中的前景對(duì)象的方法 和系統(tǒng),其在存在陰影和攝像機(jī)噪聲的情況下便于進(jìn)行分割。背景注 冊(cè)元件從數(shù)字視頻幀的序列生成背景參考圖像。梯度分割元件和變化 分割元件處理數(shù)字視頻的強(qiáng)度和色度分量以確定前景對(duì)象和生成前 景對(duì)象掩碼。通過閾值組合元件可以處理分割分量數(shù)據(jù)以形成組合的 前景對(duì)象掩碼。識(shí)別數(shù)字視頻中的每個(gè)視頻信號(hào)的背景參考圖像,從 數(shù)字視頻中的每個(gè)視頻信號(hào)分量中減去背景參考圖像以形成結(jié)果幀; 利用梯度濾波器使結(jié)果幀與強(qiáng)度視頻信號(hào)分量相關(guān)聯(lián)來分割前景對(duì) 象并生成前景對(duì)象掩碼。
發(fā)明內(nèi)容
申請(qǐng)人已經(jīng)觀察到現(xiàn)有技術(shù)中提出的用于分割數(shù)字視頻序列的 技術(shù)方案并不完全令人滿意,并且在重構(gòu)的、所顯示的視頻序列中產(chǎn) 生可見的且?guī)缀醪豢山邮艿膫蜗瘛?br>
更具體地,申請(qǐng)人已經(jīng)觀察到可能產(chǎn)生偽像的區(qū)域是在前景目 標(biāo)的輪廓處的區(qū)域。特別是,這些偽像可被觀看分割后的視頻序列的 人所感知,這個(gè)人的注意力特別是被前景目標(biāo)的輪廓所吸引。
然而,申請(qǐng)人已經(jīng)發(fā)現(xiàn)這些偽像是由通過當(dāng)前視頻幀中的像素值
與背景參考圖像的對(duì)應(yīng)像素的值進(jìn)行簡(jiǎn)單的比較而生成的前景掩碼 是對(duì)真實(shí)前景目標(biāo)太粗略的近似這一事實(shí)所引起的。具體而言,如上
所述產(chǎn)生的前景掩碼在以下前景目標(biāo)的實(shí)際輪廓中可能失敗,這是由 于如下事實(shí)在前景輪廓處所產(chǎn)生的圖像中前景和背景具有"混合在
一起"的趨勢(shì)。
申請(qǐng)人已經(jīng)解決了設(shè)計(jì)用于數(shù)字圖像處理的新方法的問題,該新 方法尤其適于前景目標(biāo)與視頻序列中的背景的分割,該方法減少了在 重構(gòu)的、所顯示的視頻序列中,特別是在前景目標(biāo)的輪廓處的偽像。
申請(qǐng)人已經(jīng)發(fā)現(xiàn)通過至少部分地確定視頻幀中前景目標(biāo)的邊緣, 然后基于所確定的邊緣來修改前景掩碼來解決這個(gè)問題。已知算法可
以被用來確定視頻幀中的邊緣。
根據(jù)本發(fā)明的第一方面,提供了如所附的權(quán)利要求1所述的方法。
該方法包括
-接收視頻序列中的至少 一個(gè)視頻幀,至少 一個(gè)視頻幀包括至少 一個(gè)前景目標(biāo)和背景;以及
-處理所述至少一個(gè)視頻幀,以便將所迷至少一個(gè)前景目標(biāo)與所 述背景分離;
其中所述處理包括
-獲得包括所述背景的參考圖像;
-比較至少一個(gè)視頻幀和參考圖像;以及
-作為所述比較的結(jié)果生成像素掩碼,所述像素掩碼指示至少一 個(gè)視頻幀的像素是否屬于前景目標(biāo)或背景。
所述方法還包括至少部分地確定在所述至少一個(gè)視頻幀中的所 述至少一個(gè)前景目標(biāo)的邊緣;以及基于所確定的前景目標(biāo)邊緣修改像 素掩碼。
本發(fā)明的第二方面涉及如權(quán)利要求18中所述的數(shù)據(jù)處理設(shè)備, 包括至少一個(gè)適于執(zhí)行第一方面的圖像處理方法的模塊。 在所附的從屬權(quán)利要求中闡述了本發(fā)明的其它方面。
本發(fā)明的特性和優(yōu)點(diǎn)將通過以下結(jié)合附圖對(duì)本發(fā)明某些實(shí)施例 的詳細(xì)描述變得明顯,僅僅作為非限制性的例子提供實(shí)施例,在附圖
中
圖1示意性地示出了示例性場(chǎng)景,其中有利地使用了根據(jù)本發(fā)明 實(shí)施例的方法;
圖2通過功能塊示意性地示出了被適當(dāng)?shù)鼐幊痰?、適于實(shí)現(xiàn)根據(jù)
本發(fā)明實(shí)施例的方法的普通數(shù)據(jù)處理設(shè)備的示例性實(shí)施例;
圖3通過功能塊描述了適于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的方法的示
例性組件;
圖4是說明根據(jù)本發(fā)明實(shí)施例的方法的主要步驟的簡(jiǎn)化流程圖5是根據(jù)本發(fā)明實(shí)施例的、用于計(jì)算角彩色空間坐標(biāo),具體地 說是HSV彩色空間中的H坐標(biāo),的均值和方差的方法的示例性圖示;
圖6A和圖6B示出了一組相鄰像素和用于計(jì)算像素巻積以便例 如執(zhí)行高通濾波的相應(yīng)系數(shù)掩碼;
圖7A和圖7B示出了兩個(gè)用于沿水平方向和垂直方向?qū)ο袼亓?度值執(zhí)行Sobel高通濾波以確定亮度梯度的示例性系數(shù)掩碼;
圖8A至圖8D示意性地示出了根據(jù)本發(fā)明的實(shí)施例的、描述目 標(biāo)輪廓的新方法;
圖9A、 9B和9C示意性地示出了將屬于目標(biāo)輪廓的像素與有關(guān) 輪廓除像素本身之外的進(jìn)一步延續(xù)的信息相關(guān)聯(lián)的方法;以及
圖IOA至圖IOH是示出了根據(jù)本發(fā)明的實(shí)施例的視頻分割過程 的中間步驟的屏幕捕獲。
具體實(shí)施例方式
參照附圖,圖1中示意性描述了示例性場(chǎng)景,其中可以有利地應(yīng) 用根據(jù)本發(fā)明的實(shí)施例的數(shù)字視頻分割方法。
兩個(gè)用戶105a和105b具有各自配備有碎見頻捕獲i殳備115a和 115b (象視頻攝像機(jī))和聲音捕獲設(shè)備(象麥克風(fēng)125a和U5b )的 數(shù)據(jù)處理設(shè)備110a和110b (象例如PC機(jī)、筆記本、膝上電腦、袖 珍PC機(jī)、PDA、移動(dòng)或固定的視頻電話機(jī)、和電視機(jī)屏幕相關(guān)聯(lián)的 機(jī)頂盒、視頻會(huì)議設(shè)備或等同設(shè)備),并參加視頻通信會(huì)話。假定這 兩個(gè)用戶彼此相距很遠(yuǎn),其中"遠(yuǎn)程"的意思一般是指物理上分離的, 例如,位于建筑物的不同房間里,甚至位于世界的不同大陸上。兩個(gè) 數(shù)據(jù)處理設(shè)備110a和110b通過數(shù)據(jù)通信網(wǎng)絡(luò)120,象LAN、 MAN、 WAN、因特網(wǎng)、PSTN/PLMN (例如移動(dòng))電話網(wǎng)建立通信聯(lián)系。數(shù) 據(jù)處理設(shè)備110a和110b通過適當(dāng)?shù)木W(wǎng)絡(luò)接入點(diǎn)(附圖中沒有示出) 與網(wǎng)絡(luò)120的連接可以是有線的連接、無(wú)線的連接、或它們的混合。 特別是,無(wú)線連接的意思是指WiFi連接、藍(lán)牙連接、GSM連接、UMTS 連接或任何其它非有線的連接。
應(yīng)當(dāng)指出的是圖1中描述的場(chǎng)景僅僅是作為例子,并不是限制性 的本發(fā)明可以應(yīng)用于許多替換場(chǎng)景。
如上所提到的那樣,假定兩個(gè)用戶105a和105b參與視頻通信會(huì) 話,在此期間他們交換音頻和視頻內(nèi)容。特別是,在發(fā)射機(jī)前提(在 雙向通信中,兩個(gè)用戶都扮演發(fā)射機(jī)和接收機(jī)的角色)下,通過麥克 風(fēng)125a和/或125b捕獲音頻(例如,聲音),而通過視頻攝《象機(jī)115a 和/或115b捕獲視頻序列;在接收機(jī)前提下,捕獲的視頻序列被再現(xiàn) 并在數(shù)據(jù)處理系統(tǒng)的顯示設(shè)備上顯示,而通過揚(yáng)聲器/耳機(jī)130a和/ 或130b再現(xiàn)音頻內(nèi)容。
假定在用戶的數(shù)據(jù)處理設(shè)備110a和110b之一 (或二者)處實(shí)現(xiàn) 實(shí)時(shí)視頻分割工具。普通視頻分割工具適于分析攝像機(jī)115a和/或 115b所捕荻的視頻通信序列,以確定捕獲的視頻序列的普通視頻幀中 哪些像素屬于圖像前景目標(biāo),象例如用戶105a或105b(所謂的"通話 頭,,),相反哪些像素屬于圖像的其余部分以形成所謂的圖像背景。 幸虧有視頻分割工具,用戶可以例如決定用不同的背景代替真實(shí)的背 景例如,如附圖中圖示的那樣,用戶105a實(shí)際上在視頻通信序列 期間在家中,用戶105a對(duì)于用戶105b出現(xiàn)在完全不同的背景上。
圖2示意性地示出了普通示例性的數(shù)據(jù)處理設(shè)備200的主要功能 塊,象圖1中的數(shù)據(jù)處理設(shè)備110a和110b中的一個(gè)。幾個(gè)功能單元 并行連接到數(shù)據(jù)通信(例如PCI)總線205。特別是,通常包括微處 理器(在高性能數(shù)據(jù)處理設(shè)備中,可能有多個(gè)協(xié)作的微處理器)中央 處理單元(CPU ) 210控制數(shù)據(jù)處理設(shè)備200的操作。工作存儲(chǔ)器215 通常為RAM (隨機(jī)訪問存儲(chǔ)器),直接由CPU 210用于執(zhí)行程序和 在程序執(zhí)行期間進(jìn)行數(shù)據(jù)的臨時(shí)存儲(chǔ);只讀存儲(chǔ)器(ROM) 220用于 數(shù)據(jù)的非易失性存儲(chǔ),并存儲(chǔ)例如用于計(jì)算機(jī)引導(dǎo)程序的基本程序, 以及其它數(shù)據(jù),象數(shù)據(jù)處理設(shè)備200的低級(jí)配置數(shù)據(jù)。特別是,RAM 可以被構(gòu)造為主RAM (通常是DRAM)和高速緩存RAM,通常是
SRAM,并且微處理器可以嵌入一級(jí)高速緩存RAM中。ROM可以 包括電可擦寫的非易失性存儲(chǔ)器,象閃存和/或EEPROM。
數(shù)據(jù)處理設(shè)備200包括幾個(gè)外圍單元,其借助于各自的接口連接 到總線205上。具體地說,提供允許與人類用戶交互的外圍單元,例 如象顯示設(shè)備225 (例如,CRT、 LCD或等離子監(jiān)視器)、鍵盤230、 點(diǎn)擊設(shè)備235 (例如鼠標(biāo))、麥克風(fēng)270,揚(yáng)聲器和/或耳機(jī)275、視 頻攝像機(jī)280。特別是,視頻子系統(tǒng)(也被稱為圖形加速器)285管 理顯示設(shè)備225,通常PCB (印刷電路板)與攜帶CPU 210的數(shù)據(jù)處 理設(shè)備母板不同但與其相關(guān)聯(lián)(通常,電子和機(jī)械連接到母板)。類 似地通過音頻板271管理麥克風(fēng)270和揚(yáng)聲器/耳機(jī)275。視頻才聶像機(jī) 280例如與具有一個(gè)或多個(gè)USB端口的通用串行總線(USB)適配器 277的端口連接?;蛘?,視頻子系統(tǒng)285可以包括視頻捕獲硬件,并 適于直接管理視頻攝像機(jī)280,具體地說,直接接收所捕獲的視頻幀。 應(yīng)當(dāng)指出的是提供與CPU母板不同的視頻和/或音頻板是常用的技術(shù) 方案,但并不意欲限制本發(fā)明,當(dāng)例如沒有提供^L頻和/音頻板和安裝 在CPU母板上的各個(gè)元件時(shí),也可以應(yīng)用視頻和/或音頻板。還要指 出的是視頻子系統(tǒng)的存在并非意欲限制本發(fā)明在本發(fā)明的替換實(shí) 施例中,視頻子系統(tǒng)可以不存在,而由CPU直接管理顯示設(shè)備。
數(shù)據(jù)處理設(shè)備200也包括用于程序(操作系統(tǒng)、應(yīng)用程序)和數(shù) 據(jù)(文件)的本地海量存儲(chǔ)的外圍單元,例如象始終用240指示的一 個(gè)或多個(gè)磁硬盤驅(qū)動(dòng)器(HDD),用于驅(qū)動(dòng)磁硬盤,CD-ROM/DVD 驅(qū)動(dòng)器245 、 或CD-ROM/DVD 自動(dòng)點(diǎn)唱才幾,用于讀/寫 CD-ROM/DVD。其它外圍單元可以以例如象用于讀/寫軟盤的軟盤驅(qū) 動(dòng)器、用于讀/寫存儲(chǔ)器卡的存儲(chǔ)器讀卡器、打印機(jī)等等形式存在。為 了連接到數(shù)據(jù)通信網(wǎng)絡(luò)120,該數(shù)據(jù)處理設(shè)備200進(jìn)一步配備有網(wǎng)絡(luò) 接口適配器(NIA)卡250,例如以太網(wǎng)卡、WiFi卡、藍(lán)牙卡,或作 為選擇(或此外),數(shù)處理設(shè)備200可以通過調(diào)制解調(diào)器(MODEM ) 一例如,撥號(hào)式調(diào)制解調(diào)器、或x-DSL調(diào)制解調(diào)器,或衛(wèi)星調(diào)制解調(diào) 器一連接到數(shù)據(jù)通信網(wǎng)絡(luò)120。在智能移動(dòng)電話的情形下,提供無(wú)線
通信接口 ,它意欲包括使移動(dòng)電話能夠接入例如GSM/GPRS或UMTS 網(wǎng)絡(luò)的移動(dòng)電話網(wǎng)所必需的所有HW和SW元件。
以現(xiàn)有技術(shù)中實(shí)質(zhì)上已知的方式,視頻子系統(tǒng)285包括GPU(圖 形處理單元,有時(shí)也被稱為視頻處理單元VPU) 287,即自治地執(zhí)行 涉及要在顯示設(shè)備225上顯示的圖像和視頻的數(shù)據(jù)處理的可編程(協(xié)) 處理器。GPU 287以使運(yùn)行它們比主CPU直接在顯示設(shè)備上畫圖快 得多的方式實(shí)施多種圖形原始操作。視頻子系統(tǒng)285也可以包括本地 工作的存儲(chǔ)器資源289,供GPU使用;然而應(yīng)當(dāng)注意的是在以高速數(shù) 據(jù)總線為特征的最新一代PC機(jī)中,視頻子系統(tǒng)使用數(shù)據(jù)處理設(shè)備的 工作存儲(chǔ)器215。
正如在現(xiàn)有技術(shù)中所知道的那樣,現(xiàn)代GPU祐 沒計(jì)成對(duì)于例如 在最新一代動(dòng)畫電影和視頻游戲中所采用的(3D)繪制過程,起到計(jì) 算機(jī)三維(3D)圖形生成器的作用。GPU不是象CPU那樣的通用處 理器,甚至現(xiàn)代GPU具有相當(dāng)有限的可編程能力;特別是,只有繪 制流水線(rendering pipeline )的兩點(diǎn)(粗略地i兌,流水線意指應(yīng)用 于輸入數(shù)據(jù)以產(chǎn)生輸出數(shù)據(jù)的處理步驟序列)是可編程的視頻板能 夠執(zhí)行所謂的"頂點(diǎn)著色器"程序和"像素著色器(shader)"程序。 一般 地說,在不討論過多的本領(lǐng)域技術(shù)人員公知的細(xì)節(jié)的情況下,頂點(diǎn)著 色器程序是對(duì)于用于繪制所述3D對(duì)象的多角形柵格的每個(gè)頂點(diǎn)被調(diào) 用的程序;相反像素著色器程序是對(duì)于已存在的圖像一通常由頂點(diǎn)著 色器所繪制的圖像一的每個(gè)像素被調(diào)用的程序。
圖2示意性地描繪了GPU 287的內(nèi)部結(jié)構(gòu);應(yīng)當(dāng)指出的是作為 現(xiàn)有技術(shù)中實(shí)質(zhì)上已知的方面,GPU的描述將不探究深入的細(xì)節(jié)。 GPU 287擁有控制GPU訪問本地存儲(chǔ)器289的存儲(chǔ)控制器單元2卯, 并包括紋理和幾何高速緩存存儲(chǔ)器和高速緩存控制器。GPU 287包括 可編程用于執(zhí)行頂點(diǎn)著色器程序的多個(gè)頂點(diǎn)處理器291、可編程用于 執(zhí)行像素著色器程序的多個(gè)像素處理器292、向像素處理器提供從存 儲(chǔ)器289 (和/或可能從存儲(chǔ)器215)中讀取的過濾和解壓縮紋理的多 個(gè)紋理獲取、過濾和解壓縮單元293、多個(gè)紋理和彩色內(nèi)插器294、
瓦片(Tile)HSR (隱面消除)邏輯295、彩色和Z -坐標(biāo)(即像素深 度)壓縮/解壓縮單元296。幀緩沖器邏輯297包括抗鋸齒單元(沒有 明確地示出),以及彩色和Z瓦片高速緩存298。視頻輸入/輸出接口 299包括例如用于連接顯示設(shè)備255和/或附加的接口 (像TV接口 ) 的VGA接口。
根據(jù)本發(fā)明的實(shí)施例,視頻子系統(tǒng)285的處理能力,特別是GPU 287的處理能力有利地用于執(zhí)行視頻分割算法的至少部分步驟,其中 視頻分割算法的所述部分的步驟具體地包括用于生成要用于從視頻 序列中分割出前景目標(biāo)的前景掩碼。這使得CPU 210從大量計(jì)算負(fù)擔(dān) 中釋放出來。特別是,使用像素處理器292是有利的。更具體地說, 根據(jù)本發(fā)明的實(shí)施例,GPU 287的像素處理器292被適當(dāng)?shù)鼐幊桃赃\(yùn) 行適于執(zhí)行視頻分割算法的至少部分步驟的像素著色器程序,如本文 檔下面將詳細(xì)描述的那樣。然而,要指出的是將視頻子系統(tǒng)用于, 具體而言,將GPU處理能力用于,執(zhí)行視頻分割算法的至少部分步 驟并非意欲限制本發(fā)明即使在CPU上,而不是GPU上,執(zhí)行視頻 分割算法,至少只要涉及到前景掩碼的生成,本發(fā)明就有效。
編寫像素處理器292執(zhí)行的像素著色器程序所應(yīng)遵循的規(guī)則是 非常嚴(yán)格的。像素著色器程序是生成作為結(jié)果分配給圖像的每一個(gè)像
素的顏色、陰影的程序。從像素著色器程序的觀點(diǎn)來看,根據(jù)所謂的 "紋理,,(即,單一或通常,N-維陣列)表示圖像,其存儲(chǔ)于存儲(chǔ)器289 的區(qū)域中;普通圖像像素與紋理元素相對(duì)應(yīng),其中關(guān)于那個(gè)像素的特 性(即顏色)信息被存儲(chǔ)起來。例如,像素著色器程序可以接收輸入 中的、例如與待處理的輸入數(shù)字圖像相對(duì)應(yīng)的輸入紋理,并作為處理 的結(jié)果生成與處理后的數(shù)字圖像相對(duì)應(yīng)的輸出紋理。如果對(duì)于圖像的 某一像素調(diào)用像素著色器程序,假定輸出紋理存儲(chǔ)在存儲(chǔ)器289的區(qū) 域中,能夠?qū)懭氲拇鎯?chǔ)器289的唯一位置是與輸出紋理元素相對(duì)應(yīng)的 位置,該輸出紋理元素與所考慮的像素相對(duì)應(yīng)。GPU的像素處理器可 以管理多于一個(gè)的輸出紋理,但是在這樣的情形中所有輸出紋理將要 被同時(shí)寫入。同樣,不可能同時(shí)在其中存儲(chǔ)了同一紋理的存儲(chǔ)器位置
上進(jìn)行讀出和寫入。這些限制源自于如下事實(shí)通過GPU硬件同時(shí) 運(yùn)行并行、獨(dú)立的處理流水線(在現(xiàn)代GPU中支持多達(dá)32個(gè)獨(dú)立流 水線),GPU像素處理器處理很多像素,使得處理某一像素的結(jié)果不 會(huì)(且不能)影響其它像素(或鄰近像素)的處理,它們可能在相同 或不同的流水線中同時(shí)(或在不同的時(shí)間)被處理。為此,GPU不能 執(zhí)行實(shí)施順續(xù)算法的程序,但只能執(zhí)行其中每個(gè)像素的處理與圖像其 它像素的處理無(wú)關(guān)的算法。申請(qǐng)人在決定哪些視頻分割活動(dòng)委派給 GPU以及如何編寫GPU執(zhí)行的程序時(shí)已經(jīng)適當(dāng)考慮了這些限制。
根據(jù)本發(fā)明的實(shí)施例,在接連幾個(gè)階段中構(gòu)造視頻分割方法的算 法,每個(gè)階段涉及處理,其中對(duì)每個(gè)像素處理的結(jié)果不影響(和/或依 賴于)其余圖像像素,所述階段由GPU實(shí)施,加上最終階段,涉及 CPU實(shí)施的順續(xù)處理(在數(shù)據(jù)從GPU轉(zhuǎn)移到CPU之后)。然而應(yīng)當(dāng) 指出的是在本發(fā)明的替換實(shí)施例中,由GPU實(shí)施的視頻分割算法的 階段的數(shù)量和類型可以改變??赡艿?,GPU不執(zhí)行任何處理階段。
圖3是根據(jù)本發(fā)明的實(shí)施例的、視頻分割算法的主要組成的功能 塊的示意性表示;應(yīng)當(dāng)指出的是一般功能元件可以是軟件元件、硬件 元件或軟件和》更件的混合元件。
假定在數(shù)據(jù)處理設(shè)備110a和110b中的一個(gè)或兩個(gè)上實(shí)現(xiàn)視頻分
割算法。
特別是,在虛線390所圍的功能塊與GPU 287的像素處理器292 執(zhí)行的像素著色器程序所執(zhí)行的操作相對(duì)應(yīng),而用虛線395圍起的功 能塊與CPU210執(zhí)行的一個(gè)或多個(gè)程序所執(zhí)行的操作相對(duì)應(yīng)。
輸入幀305,例如由視頻攝像機(jī)115a或115b捕獲的視頻流的幀, 被饋送到RGB至HSV轉(zhuǎn)換模塊310,用于圖像描從RGB(紅、綠、 藍(lán))彩色空間轉(zhuǎn)換到HSV (色度、飽和度、純度)彩色空間的轉(zhuǎn)換。
正如現(xiàn)有技術(shù)中所知道的那樣,RGB是許多商用^見頻攝4象機(jī)所 使用的格式。
優(yōu)選轉(zhuǎn)換成HSV格式是因?yàn)镽GB彩色空間在感覺上是不一致 的在RGB彩色空間中,當(dāng)顯示不同的顏色時(shí),不同顏色中數(shù)值相
等的色差并不被人眼感知為相同的差異;例如,如果改變綠色分量, 所感知的顏色變化比藍(lán)色分量變化同等數(shù)量更加明顯;不同的是, HSV彩色空間中的度量基本上與人眼所采用的度量相同,因此在HSV 彩色空間中的工作產(chǎn)生更好的視頻分割結(jié)果。
現(xiàn)有技術(shù)中從RGB到HSV的轉(zhuǎn)換公式是眾所周知的,如下
max 二 max(7 ,G,5); min = min(i ,G,5);
F = max
S = (max— min)/max
如果s - o
則H是無(wú)意義的 否則
<ie/to = max— min
3口果i = max則// = (G —
:ft口果G = max貝'J // = 2 + (5 — i )/t/eto
如果5 = max貝'J // = 4 + (/ —
= 60 如果// < 0則=+ 360
可以理解的是HSV空間中的S和V坐標(biāo)是線性坐標(biāo),被歸一化
為1,它們?nèi)≈捣秶鷱?到1; H坐標(biāo)是角坐標(biāo),其取值范圍從0。到 360。。 HSV空間傳統(tǒng)的圖形表示是倒置的錐形,頂點(diǎn)在底部,底座在 頂部;錐形軸是V坐標(biāo)的軸;S坐標(biāo)軸與V軸垂直;H坐標(biāo)表示通過 位于包括S軸且與V軸正交的平面中的且起始于v和s軸的原點(diǎn)的 段與s軸形成的角度。在這樣的圖形表示中,較黑的顏色具有低的亮 度,并靠近錐形底部(靠近頂點(diǎn),與黑色對(duì)應(yīng));原始色(和, 一般 地,飽和色)與位于錐形表面的點(diǎn)對(duì)應(yīng),并沿v軸從頂點(diǎn)向底座移動(dòng) 而越來越亮;低飽和度的顏色、趨向于灰色,位于靠近v軸的錐形之 內(nèi),而v軸的點(diǎn)與灰色調(diào)相對(duì)應(yīng),白色在v軸的頂端。從這個(gè)圖形
表示來看,可以理解的是HSV空間更好地描述了人眼的作用人眼 辨別不同的顏色,即發(fā)光度不足的地方,是較困難的,HSV空間的點(diǎn)
彼此靠得較近(即,難以通過與閾值的比較進(jìn)行辨別);相反,較亮 的顏色,尤其是飽和色,可以更清楚地辨別出來,事實(shí)上HSV空間 中的相應(yīng)點(diǎn)彼此相距很遠(yuǎn)(即,它們?nèi)菀淄ㄟ^與閾值的比較進(jìn)行辨 別)。
RGB到HSV的轉(zhuǎn)換是適合由像素著色器程序執(zhí)行的運(yùn)算,因?yàn)?它可以與圖像的其它像素值無(wú)關(guān)地對(duì)每個(gè)像素執(zhí)行。于是,RGB到 HSV轉(zhuǎn)換模塊310可以作為GPU 287 (的像素處理器292 )所執(zhí)行的 像素著色器程序(部分)實(shí)施,從而從輸入紋理中取RGB值并在輸 出紋理中寫入相應(yīng)的HSV值。然而,沒有什么能阻止,在本發(fā)明的 替換實(shí)施例中,由CPU 210執(zhí)行RGB到HSV轉(zhuǎn)換。
應(yīng)當(dāng)指出的是即使視頻攝像機(jī)沒有提供所捕獲的RGB格式的 視頻流,但是以不同的格式,可以通過轉(zhuǎn)換的方式獲得RGB格式 例如,在視頻攝像機(jī)下抽樣的情形中,例如以公共YUV4: 2: 0格式 提供視頻幀數(shù)據(jù)的情形中,RGB格式可以通過適當(dāng)?shù)臑V波進(jìn)行重構(gòu), 大部分商用的視頻板能夠用硬件直接執(zhí)行這個(gè)運(yùn)算。
經(jīng)過HSV轉(zhuǎn)換的視頻幀被饋送到背景學(xué)習(xí)模塊315,其適于構(gòu) 建背景的參考圖像,該圖像用于視頻分割處理的后續(xù)階段,以決定像 素是屬于圖像的背景還是前景。
具體地說,在本發(fā)明的實(shí)施例中,假定在視頻序列期間背景保持 基本不變;這在象例如涉及視頻通信的那些應(yīng)用的許多應(yīng)用中是一個(gè) 合理的假定,在視頻通信中通話頭位于房間里的。然而,沒有什么防 止在本發(fā)明的替換實(shí)施例中,背景可以改變,使得可以使用自適應(yīng)背 景學(xué)習(xí)算法。
背景學(xué)習(xí)模塊315適于學(xué)習(xí)背景是怎樣的。為此,背景學(xué)習(xí)模塊 315適于構(gòu)建背景的統(tǒng)計(jì)模型,然后用作為參考背景圖像。為了構(gòu)建 所希望的統(tǒng)計(jì)模型,視頻攝像機(jī)捕獲和處理單獨(dú)背景環(huán)境(沒有前景 中的目標(biāo))中預(yù)定數(shù)量的視頻幀。背景學(xué)習(xí)模塊315為每個(gè)像素計(jì)算 捕獲樣本的均值。此外,背景學(xué)習(xí)模塊315為每個(gè)像素計(jì)算捕獲的樣 本的方差(或,等價(jià)地,標(biāo)準(zhǔn)離差,它是方差的平方根)。應(yīng)當(dāng)觀察到的是原則上,即使一個(gè)視頻幀也許足以定義背景參考圖像,然而, 由于視頻攝像機(jī)傳感器的固有噪聲,且場(chǎng)景照明可能不穩(wěn)定,優(yōu)選考
慮多于一個(gè)視頻幀;例如100個(gè)視頻幀可以被認(rèn)為充分可靠的統(tǒng)計(jì)樣 本。
同樣觀察到的是通過對(duì)指定數(shù)量的視頻幀計(jì)算像素值的平均值 (和方差)構(gòu)建背景統(tǒng)計(jì)模型意味著作出每個(gè)像素可以由單峰的統(tǒng)計(jì) 分布進(jìn)行描述的假定,即不同的樣本聚集在單一 (平均)值的周圍的 分布;這樣的模型在幾種實(shí)際的情形中是適合的,但例如在視頻^t聶像 機(jī)不是充分穩(wěn)定的情形中,或當(dāng)在背景中閃光可見的情形中是不適合 的在后一情形中,應(yīng)當(dāng)對(duì)像素值計(jì)算兩個(gè)不同的均值,兩個(gè)不同的 方差, 一個(gè)用于燈光打開的情形,另一個(gè)用于燈光關(guān)閉的情形。
根據(jù)本發(fā)明的實(shí)施例,背景學(xué)習(xí)模塊315具體地包括彩色空間的 H、 S和V坐標(biāo)的均值和方差計(jì)算模塊315a、 315b和315c。
因?yàn)槿缟纤?,HSV空間中的S和V坐標(biāo)是線性坐標(biāo),正如由 統(tǒng)計(jì)所知的那樣,利用下列公式,可以計(jì)算普通^f象素的S和V值的均 值(average)和方差(variance)
均值
方差<formula>formula see original document page 17</formula>其中x,表示第i個(gè)樣本的所考慮像素的S或V值,N是樣本的總 數(shù)(在目前的情形中,單獨(dú)背景中的視頻幀的預(yù)定數(shù)量)。
對(duì)于H角坐標(biāo)的均值和方差的計(jì)算不能用于線性坐標(biāo)S和V的 相同方式進(jìn)行。僅作為例子,假定兩個(gè)不同視頻幀樣本的兩個(gè)像素分 別具有等于1。和359。的H坐標(biāo),即在HSV空間中的圖形表示中,兩 個(gè)點(diǎn)非??拷黃的正半軸(由于角度的周期性,具有11 = 359。的點(diǎn)與 具有H--1。的點(diǎn)對(duì)應(yīng),因此與H-l。的點(diǎn)一樣靠近H-0。的點(diǎn))算 術(shù)平均將是180。,然而這完全是不正確的,因?yàn)檫@與位于S負(fù)半軸的 點(diǎn)相對(duì)應(yīng)。
根據(jù)本發(fā)明的實(shí)施例,提供的計(jì)算H坐標(biāo)的均值(和方差)的 方法不受上述問題的影響。
在細(xì)節(jié)上,如圖5所示,假定普通像素的坐標(biāo)H表示復(fù)數(shù)Z的 相位(或角度)Arg (Z);復(fù)數(shù)Z的??梢岳绫辉O(shè)置成等于該像 素的S坐標(biāo)值,或另外被置為1 (這第二種選擇可能被認(rèn)為是優(yōu)選的, 因?yàn)橐源朔绞?,在?jì)算的S坐標(biāo)的均值和方差中已經(jīng)被考慮的、包括 在S坐標(biāo)值中的顏色信息與H坐標(biāo)值中包括的顏色信息保持分離)。
給定相位H的值,復(fù)數(shù)Z的實(shí)部Re ( Z )和虛部Im ( Z )的計(jì) 算實(shí)際上與計(jì)算H坐標(biāo)值的正弦(sine)和余弦(cosine)相對(duì)應(yīng)
We(Z) =cos(//), 3m(Z)= sin(W)
復(fù)數(shù)Z的實(shí)部Re (Z)和虛部Im (Z)是線性量,因此兩個(gè)或 多個(gè)不同復(fù)數(shù)Z的均值,其與兩個(gè)或多個(gè)像素的H坐標(biāo)對(duì)應(yīng),或?qū)?br>
應(yīng)于屬于不同的視頻幀的、同一個(gè)像素,可以計(jì)算為通常的算術(shù)平均, 如以上結(jié)合S和V坐標(biāo)所述的那樣。用^和4表示與單獨(dú)背景的各種
樣本中的像素的H坐標(biāo)相對(duì)應(yīng)的多個(gè)復(fù)數(shù)Z的實(shí)部Re (Z)和虛部
Im (Z)的均值,復(fù)數(shù)的均值的模是
而它們均值的相位,其是H坐標(biāo)的均值,為
<formula>formula see original document page 18</formula>(其中,為了本發(fā)明的目的,用于從0。到360。的范圍內(nèi)的H值, arctan是4-象限的反正切。)
至于方差,在數(shù)學(xué)上表明對(duì)于復(fù)數(shù),公式是<formula>formula see original document page 18</formula>
其中,z,表示與第i個(gè)樣本的H坐標(biāo)值相對(duì)應(yīng)的復(fù)數(shù);如果復(fù)數(shù) z,全都具有單位模,公式為
<formula>formula see original document page 18</formula>
直觀地,如果對(duì)幾個(gè)具有單位模和類似相位的復(fù)數(shù)進(jìn)行平均,結(jié)
果是平均復(fù)數(shù)應(yīng)當(dāng)具有與平均后的復(fù)數(shù)的相位相似的相位以及實(shí)際
上具有單位模(unitary modulus);如果相反,對(duì)幾個(gè)具有不同相位的 復(fù)數(shù),其相位可能在0。和360。之間均勻分布,進(jìn)行平均,作為結(jié)果的 平均復(fù)數(shù)是具有不確定相位的復(fù)數(shù)(H的大方差,傾向于1)且實(shí)際 上模等于0。
應(yīng)當(dāng)指出的是在不同背景樣本中的像素的H、S和V坐標(biāo)的均值 和方差的計(jì)算是可以對(duì)于每個(gè)像素獨(dú)立執(zhí)行的運(yùn)算,因此背景學(xué)習(xí)模 塊315適于作為由GPU(的像素處理器)執(zhí)行的像素著色器程序?qū)嵤?br>
特別是,觀察到的是最新式的GPU具有像素處理器的原語(yǔ)中的 sine和cosine函數(shù)在這種情形,能夠直接從H坐標(biāo)值開始進(jìn)行復(fù)數(shù) Z的實(shí)部和虛部的計(jì)算,如果GPU不具有sine和cosine原語(yǔ),sine 和cosine函數(shù)值可以列成表并作為數(shù)組存儲(chǔ)在存儲(chǔ)器中,由GPU解釋 為例如每一度的ID紋理,可以利用H坐標(biāo)的值作為輸入通過讀取ID 紋理來獲得復(fù)數(shù)Z的實(shí)部和虛部的希望值。
在商用的GPU中,反正切卻不是像素處理器的原語(yǔ);因此,為 了計(jì)算H坐標(biāo)的均值,反正切值可以被列成表格,且例如,以矩陣的 形式存儲(chǔ)起來,其可以由GPU解釋為2D紋理,然后利用實(shí)部和虛部 的均值&和&作為橫坐標(biāo)和縱坐標(biāo)分別進(jìn)行讀取。
然而應(yīng)當(dāng)指出的是在本發(fā)明的替換實(shí)施例中,像素H、 S和V坐 標(biāo)的均值和方差的計(jì)算可以是由CPU 210執(zhí)行的運(yùn)算。
可以理解的是為了構(gòu)建所希望的背景統(tǒng)計(jì)模型,不需要GPU存 儲(chǔ)全部背景樣本的所有值(這可能引起視頻板存儲(chǔ)器的飽和)為了 計(jì)算上述公式中的和,GPU,在具有背景樣本的視頻幀到達(dá)時(shí),保持 S、 V坐標(biāo)值和與像素的H坐標(biāo)相對(duì)應(yīng)的復(fù)數(shù)的實(shí)部和虛部的值的累 積總計(jì)(nmning total)是足夠的;為了計(jì)算方差,保持S和V坐標(biāo)值 的平方的累積總計(jì)(而H坐標(biāo)的方差完全取決于與H坐標(biāo)值相對(duì)應(yīng) 的復(fù)數(shù)Z的均值的模)是足夠的。有利地,因?yàn)镚PU所使用的紋理 通常適于為每個(gè)像素存儲(chǔ)4個(gè)值,該值與通道R、 G、 B和A(alpha, 即像素不透明性的指示符)對(duì)應(yīng),計(jì)算均值和方差所需要的累積總計(jì)與單一紋理匹配(例如,可以存儲(chǔ)復(fù)數(shù)Z的實(shí)部Re (Z)和虛部Im (Z)的累積總計(jì)在通常用于R和G通道的地方,S和V坐標(biāo)的累積 總計(jì)可以存儲(chǔ)在通常用于B和A通道的地方)。
如前所述,因?yàn)镚PU不能同時(shí)對(duì)同一紋理進(jìn)行讀取和寫入,可 以利用兩個(gè)紋理,其在"乒乓,,模式交替使用,計(jì)算S和V值的累積總 計(jì)以及它們的平方的累積總計(jì);如果,例如,對(duì)于普通的、當(dāng)前的第 M視頻幀,以前計(jì)算的總量存儲(chǔ)在兩個(gè)紋理中的第一個(gè)中,為進(jìn)行當(dāng) 前迭代形成輸入紋理,將第M個(gè)視頻幀的像素坐標(biāo)值加到(逐個(gè)像 素地)第一紋理中存入和讀出的那些值中,相加的結(jié)果^C存到第二紋 理中;其次,第(M+l)個(gè)視頻幀,第二紋理表示輸入紋理,讀取其 中存儲(chǔ)的值并(逐個(gè)像素地)加到第(M+l)個(gè)視頻幀的坐標(biāo)值中, 且結(jié)果存入第一紋理。重復(fù)在第一和第二紋理之間的這種乒乓模式直 至背景學(xué)習(xí)完成為止。優(yōu)選地是,為了改善精度并避免溢出,所使用 的紋理是浮點(diǎn)形式。
特別是,當(dāng)接收和處理視頻幀時(shí),為了允許GPU"動(dòng)態(tài)"計(jì)算均 值和方差,每次視頻幀被傳到GPU 287時(shí),CPU也將更新計(jì)數(shù)器值 傳到GPU 287,以提供所接收的視頻幀的更新計(jì)數(shù)N,以及值N/ (N-l)。
回到圖3,背景減去模塊320適于通過將當(dāng)前視頻幀與參考圖像 的比較,生成第一個(gè)、近似前景二進(jìn)制掩碼380,具體地說(但并不 限于)由背景學(xué)習(xí)單元315所構(gòu)建的背景統(tǒng)計(jì)模型。特別是,背景 減去模塊320通過從當(dāng)前視頻幀(轉(zhuǎn)換成HSV格式)減去背景統(tǒng)計(jì) 模型而生成近似前景二進(jìn)制掩碼380。為了當(dāng)前描述的目的,"掩碼" 意指元素矩陣,其中矩陣的普通元素與圖像像素對(duì)應(yīng);具體而言,前 景掩碼是這樣的掩碼,其中普通矩陣元素的值提供了對(duì)應(yīng)像素屬于圖 像背景或前景的事實(shí)的指示。例如,屬于圖像背景的像素可能被賦予 邏輯"O",而屬于前景的像素可能被賦予邏輯"l"。特別是,背景減去 模塊320接收通過背景學(xué)習(xí)模塊315的均值和方差計(jì)算模塊315a、 315b和315c計(jì)算的H、 S和V坐標(biāo)的均值。對(duì)于當(dāng)前視頻頻幀的每個(gè)
像素(包括屬于前景目標(biāo)的像素,例如從背景中分割出的通話頭),
背景減去模塊320適于將H、 S和V坐標(biāo)的當(dāng)前值與通過背景學(xué)習(xí)模 塊315為那個(gè)像素計(jì)算(并存儲(chǔ))的對(duì)應(yīng)的均值存、S和7進(jìn)行比較。 為了進(jìn)行比較,可以為H、 S和V分量執(zhí)行當(dāng)前值和均值之間的差。 如果計(jì)算出的差是相關(guān)的(例如,如果它超過預(yù)定的閾值),則該像 素被認(rèn)為是屬于前景的,且第一前景二進(jìn)制掩碼380中的相應(yīng)值通常 被設(shè)置為"l,,;不同地,則該像素被認(rèn)為是屬于背景的,且第一二進(jìn) 制掩碼380中的相應(yīng)值通常被設(shè)置為"O"(可以采用相反的約定)。
觀察到的是釆用HSV描述的優(yōu)點(diǎn)在于它允許將像素顏色信息 (由H和S分量給出)與涉及像素的亮度(V分量)的信息分離;這 允許為三個(gè)H、 S和V坐標(biāo)中的每個(gè)設(shè)置不同的閾值用于識(shí)別圖4象的 前景目標(biāo)。以這種方式,例如有可能對(duì)這一事實(shí)進(jìn)行補(bǔ)償對(duì)在缺乏 周圍光,或存在具有強(qiáng)顏色優(yōu)勢(shì)(color dominance )的光的條件下捕 獲的視頻,視頻攝像機(jī)通常不能正確地估計(jì)色調(diào)通過使用HSV描 述,可以增加H坐標(biāo)方面的容差;相反如果光強(qiáng)且純并能夠清楚地辨 別出不同的顏色,有可能增加色調(diào)檢測(cè)的精度(H坐標(biāo)),同時(shí)減少 亮度(V坐標(biāo))的精度,使得減少投射陰影的影響(這將引起該像素 的發(fā)光度的變化而不改變它們的顏色)。
優(yōu)選地,為了確定三個(gè)H、 S、 V坐標(biāo)中的一個(gè)的值和各自均值 之間的差是否顯著,比較閾值應(yīng)當(dāng)不太低、否則不可避免的視頻攝像 機(jī)噪聲將引起幾乎所有的像素被錯(cuò)誤地認(rèn)為是屬于圖像前景(有理由 地,在當(dāng)前視頻幀中沒有任何像素與它的背景統(tǒng)計(jì)模型中的對(duì)等部分 相同,即當(dāng)前H、 S、 V值與背景學(xué)習(xí)階段中計(jì)算出的均值不同)。 同樣,優(yōu)選地是針對(duì)所有視頻幀的像素不使用固定的比較閾值,因?yàn)?受噪聲影響的圖像區(qū)域程度不同,例如,由于場(chǎng)景發(fā)光度的差異,將 以不同方式進(jìn)行處理。而且,應(yīng)當(dāng)根據(jù)每次光條件(和因此視頻攝像 機(jī)熱噪聲)的變化優(yōu)選地調(diào)整比較閾值。比較閾值的調(diào)整可以是自動(dòng) 的。
根據(jù)本發(fā)明的實(shí)施例,背景減去模塊320適于逐個(gè)像素計(jì)算H、
S、 V坐標(biāo)中的每一個(gè)的值與背景學(xué)習(xí)模塊315計(jì)算的相應(yīng)均值之差 的絕對(duì)值,并將計(jì)算的絕對(duì)值差與所考慮坐標(biāo)的標(biāo)準(zhǔn)偏差進(jìn)行比較; 如果計(jì)算的(絕對(duì)值)差超過相關(guān)的值,例如與對(duì)應(yīng)的標(biāo)準(zhǔn)偏差成比 例的值,則該差被認(rèn)為是不能忽視的且預(yù)示所考慮的像素屬于圖像前 景這一事實(shí);例如,考慮H坐標(biāo),如果下列條件滿足,則差被認(rèn)為是 不能忽視的
其中 是比例、乘法因子,取決于它的值,使得背景減去運(yùn)算 或多或少易受影響(原則上,乘法因子^可以是任何實(shí)數(shù)。通過增加 乘法因子 的值,需要認(rèn)為像素屬于前景的差異增加,且因此結(jié)果對(duì) 噪聲較不敏感;然而,如果前景目標(biāo)的顏色與周圍背景類似,乘法因 子 的值很高可能導(dǎo)致產(chǎn)生在幾個(gè)前景目標(biāo)區(qū)域里有幾個(gè)"洞"的二 進(jìn)制掩碼。乘法因子對(duì)于三個(gè)坐標(biāo)H、 S和V可能相等或不同;優(yōu)選 地,乘法因子的值可以由用戶(獨(dú)立地)調(diào)整,使得在前景檢測(cè)的穩(wěn) 健性和精度之間找到最佳折衷點(diǎn)。取差的絕對(duì)值確保對(duì)正和負(fù)的差的 相同處理。
背景減去模塊320特別適于將三個(gè)測(cè)試結(jié)果組合(在下列不等 式中示意性地用"?"表示)
對(duì)H、 S和V坐標(biāo)的每個(gè)像素執(zhí)行該公式,以便確定普通像素是 否是前景或背景像素。例如,三個(gè)測(cè)試結(jié)果可以用邏輯AND (與)或 用邏輯OR (或)的形式進(jìn)行邏輯組合在前者情形,為了所考慮的 像素被認(rèn)為屬于前景,普通像素的所有三個(gè)分量(H、 S和V)明顯 不同于分別計(jì)算出的均值;在后者情形中,三個(gè)分量中恰好有一個(gè)具 有很大的偏差,可以充分認(rèn)為該像素屬于前景。申請(qǐng)人觀察到利用 OR邏輯組合獲得更好的性能,因?yàn)閷?duì)于人眼來說,對(duì)于感知兩種顏 色不同,色調(diào)不同就足夠了 (即使飽和度和發(fā)光度是相同的)。有可
能進(jìn)行三個(gè)測(cè)試結(jié)果的其它組合;例如,在適于抑制前景目標(biāo)投射在
背景上的陰影的方法中,決定像素是否屬于背景,但是由于前景目標(biāo) 的存在而在陰影中,可以基于坐標(biāo)H和S的值幾乎與相應(yīng)的均值相等 這一事實(shí),但坐標(biāo)V的值以類似在鄰近像素所經(jīng)歷的坐標(biāo)V減少的 方式減少(與計(jì)算出的均值相比)。
應(yīng)當(dāng)指出的是背景減去運(yùn)算是能夠獨(dú)立地對(duì)每個(gè)像素進(jìn)行的運(yùn) 算,于是,背景減去模塊320適于作為GPU (的像素處理器)執(zhí)行 的像素著色器程序(的部分)實(shí)現(xiàn)。然而,在本發(fā)明的替換實(shí)施例中, 沒有什么能夠阻止背景減去運(yùn)算由CPU210執(zhí)行。
邏輯AND和OR運(yùn)算可以由GPU執(zhí)行,借助于二進(jìn)制數(shù)的乘 法和/或加法再現(xiàn)它們。
原則上,近似的前景掩碼已經(jīng)能夠用于在視頻序列中從背景中分 割出前景。然而,如前所述,申請(qǐng)人已經(jīng)觀察到在這種情形中將會(huì)在 重構(gòu)和顯示的視頻序列中的前景目標(biāo)的輪廓處生成偽像,特別是,這
將被觀察分割后的視頻序列的人所感知。
為了克服這個(gè)問題,申請(qǐng)人已經(jīng)找到一種用于改善通過當(dāng)前視頻 幀與參考圖像的比較所生成的近似前景掩碼的方法。
根據(jù)本發(fā)明的實(shí)施例,為了實(shí)施所述前景掩碼改進(jìn),邊緣檢測(cè)模 塊325適于檢測(cè)視頻幀中的邊緣。特別是,在本發(fā)明的實(shí)施例中,邊 緣檢測(cè)模塊325適于檢測(cè)當(dāng)前視頻幀和背景統(tǒng)計(jì)模型中的邊緣,并對(duì) 它們進(jìn)行比較。
現(xiàn)有技術(shù)中已知幾種適于檢測(cè)數(shù)字圖像中目標(biāo)的邊緣的算子。通 常,使用基于梯度的高通濾波算子。這樣算子中的一個(gè)是所謂的Sobel 算子,該算子即使在存在相對(duì)多噪聲的數(shù)字圖像時(shí)也提供良好性能的 高通濾波算子,并因此提供基本連續(xù)的邊緣線,不會(huì)分成幾個(gè)分離的 段。
Sobel算子在所考慮的數(shù)字圖像(在目前情形中,當(dāng)前視頻幀, 或背景統(tǒng)計(jì)模型)和具有預(yù)定系數(shù)的高通濾波掩碼之間執(zhí)行巻積(實(shí) 際上,加權(quán)和)。高通濾波掩碼例如是nxn掩碼,例如3x3掩碼,其 中中心系數(shù)在待濾波的數(shù)字圖像內(nèi)與當(dāng)前處理中的像素相對(duì)應(yīng),并其 余系數(shù)應(yīng)用到鄰近像素,如圖6A和圖6B所示意性示出的那樣;特別
是,圖6A示出了處理(z5)之中的像素和3x3圖像部分中它的鄰近 像素,圖6B示出了高通濾波掩碼。通過使濾波掩碼以當(dāng)前處理過的 像素為中心,計(jì)算出巻積R,并將像素值與各自的系數(shù)的乘積相加
/ = + W2Z2 +…+ VV仰=5^一,'.Zi
特別是,選擇適當(dāng)?shù)母咄V波掩碼,有可能在預(yù)定方向上計(jì)算出
表示這些像素屬性(象坐標(biāo)H、 S、 V中的一個(gè))的某一量的梯度。 圖7A和圖7B示出了兩個(gè)示例性的、與Sobel算子對(duì)應(yīng)的3x3掩碼, 用于沿兩個(gè)正交方向(分別沿水平和垂直方向)計(jì)算某一量的梯度。 利用圖7A中的掩碼,某一量的梯度的水平分量c^由下式給出
Gx = (Z3 + 2^5+ Z9) - (21 +2^4+27)
而利用圖7B的掩碼,梯度的垂直分量^計(jì)算為
Gy = (Z7 + 23+ Z9) - (Zl + 2Z2 + 23)
應(yīng)當(dāng)指出的是在本發(fā)明的替換實(shí)施例中可以使用不同的算子檢
測(cè)這些邊緣。
應(yīng)當(dāng)指出的是巻積運(yùn)算是這樣的運(yùn)算,其中對(duì)于普通像素計(jì)算出 的結(jié)果僅取決于鄰近像素的先前值,而不取決于對(duì)于鄰近像素計(jì)算出
的巻積結(jié)果;于是,它可以通過由GPU(的像素處理器)所執(zhí)行的(部
分)像素著色器程序來執(zhí)行。特別是,在第一輸入紋理中存儲(chǔ)了例如
當(dāng)前視頻幀的像素值,而在第二輸入紋理中,存儲(chǔ)Sobel算子掩碼的 系數(shù);GPU基于Sobel算子掩碼的系數(shù)為每個(gè)像素計(jì)算鄰近《象素值與 所考慮的像素值的巻積,該結(jié)果被存儲(chǔ)到輸出紋理中。然而,在本發(fā) 明的替換實(shí)施例中,用于確定邊緣的巻積運(yùn)算可由CPU執(zhí)行。
原則上,可以為三個(gè)H、 S和V像素坐標(biāo)單獨(dú)地計(jì)算邊緣,因此 獲得三個(gè)不同的邊緣圖。然而對(duì)于H和S分量計(jì)算出的邊緣圖在確定 圖像前景目標(biāo)時(shí)不特別有用,部分是因?yàn)樘嘣肼暎糠质且驗(yàn)樗鼈?給根據(jù)圖像發(fā)光度計(jì)算出的邊緣添加了很少的信息。
同樣,優(yōu)選的是不直接使用V坐標(biāo)的值;因?yàn)閂分量?jī)羝び?jì)算為 三個(gè)R、 G、 B分量的最大值,即使在三個(gè)R、 G、 B分量中的單一分 量上的噪聲峰值也完全反映在V的值上,于是,如果在邊緣檢測(cè)中將
Sobel算子應(yīng)用于V分量,可能噪聲峰值將會(huì)具有很強(qiáng)的影響。
根據(jù)本發(fā)明的實(shí)施例,通過將Sobel算子應(yīng)用到像素亮度值進(jìn)行 邊緣檢測(cè),其被計(jì)算為R、 G、 B分量的加權(quán)平均
y - 0'29狄+ 0'587G + 0,114B 。
為此,RGB到Y(jié)轉(zhuǎn)換單元330將當(dāng)前視頻幀從RGB格式轉(zhuǎn)換 成Y格式。
應(yīng)當(dāng)指出的是亮度值Y的計(jì)算是逐個(gè)像素單獨(dú)進(jìn)行的運(yùn)算;于 是,可以通過由GPU (的像素處理器)執(zhí)行的(部分)像素著色器程 序運(yùn)行。然而,沒有什么能夠阻止由CPU執(zhí)行Y值的計(jì)算。
如以上所述,邊緣檢測(cè)模塊325也適于在參考圖像中,特別是在 背景學(xué)習(xí)期間計(jì)算出的統(tǒng)計(jì)背景模型中,的計(jì)算出的邊緣。為此,HSV 到Y(jié)轉(zhuǎn)換模塊335為每個(gè)像素將背景學(xué)習(xí)模塊315計(jì)算出的H、 S和 V分量的均值轉(zhuǎn)換成相應(yīng)的Y值。特別是,可以在一個(gè)步驟或在兩個(gè) 步驟(具有轉(zhuǎn)換到RGB空間的中間轉(zhuǎn)換)中執(zhí)行從HSV空間到Y(jié) 值的轉(zhuǎn)換。同樣,為統(tǒng)計(jì)背景模型中的像素計(jì)算Y值可以通過由GPU (的像素處理器)執(zhí)行的(部分)像素著色器程序?qū)嵤?。然而,沒有 什么阻止由CPU為背景模型的像素進(jìn)行Y值的計(jì)算。
邊緣檢測(cè)模塊325計(jì)算亮度Y的梯度的水平和垂直分量&和 G"亮度梯度的模計(jì)算為C^^7^7。梯度模的值提供了所考慮的像 素是否屬于圖像目標(biāo)的邊緣的指示位于基本均勻圖像區(qū)域的像素表 征了靠近0的G值,而位于圖像目標(biāo)邊緣上的像素表征了很高的G
值。如果希望的話,可以計(jì)算亮度梯度的四-象限反正切arctan(養(yǎng)),以
Gy
便獲得邊緣與水平軸形成的角度的附加指示。
邊緣檢測(cè)模塊325生成兩個(gè)邊緣圖381和383:第一邊緣圖381 是在背景統(tǒng)計(jì)模型中的邊緣圖(在背景統(tǒng)計(jì)模型已經(jīng)被創(chuàng)建之后,當(dāng) 然可以計(jì)算邊緣圖),第二邊緣圖383是當(dāng)前視頻幀中的邊緣圖。邊 緣圖381和383包括分別在背景統(tǒng)計(jì)模型中和當(dāng)前視頻幀中的每個(gè)像 素的亮度梯度的各個(gè)值。
邊緣減去模塊340接收兩個(gè)邊緣圖381和383,并適于比較,例
如,從為當(dāng)前視頻幀計(jì)算出的邊緣中減去為統(tǒng)計(jì)背景模型計(jì)算出的邊 緣。對(duì)于每個(gè)像素,減去邊緣可能與從為當(dāng)前視頻幀計(jì)算出的亮度梯 度值中減去為背景統(tǒng)計(jì)模型計(jì)算的亮度梯度值相對(duì)應(yīng)。
特別是,如果邊緣(亮度梯度)減去對(duì)給定像素給出正值,則考
慮的該像素被認(rèn)為屬于不在背景統(tǒng)計(jì)模型之內(nèi)的當(dāng)前圖像的邊緣這 樣的像素因此有理由屬于前景目標(biāo)。相反則負(fù)值表明所考慮的像素屬 于存在背景之中的邊緣,但不在當(dāng)前圖像之內(nèi)這一事實(shí)這可能有理 由意味著背景中的邊緣被前景目標(biāo),例如通話頭,所掩蓋(或隱藏), 因此所考慮的像素屬于前景有很大的可能性??拷?的亮度梯度差值 是表明像素屬于相對(duì)均勻的區(qū)域,或它屬于存在背景之內(nèi)且在當(dāng)前視 頻幀內(nèi)保持不變的邊緣;在這種情形,不提供任何有用的信息。
邊緣減去模塊340生成邊緣差的逐個(gè)像素圖385。邊緣差值圖 385和由背景減去模塊320生成的近似的前景二進(jìn)制掩碼380可以 被送到前景掩碼完成模塊345,其適于逐個(gè)像素地將包括在第一近似 前景二進(jìn)制掩碼380中的信息與包括在邊緣差值圖385之中的信息 進(jìn)行組合。
特別是,在本發(fā)明的實(shí)施例中,近似前景二進(jìn)制掩碼380存儲(chǔ) 在第一GPU輸入紋理中,邊緣差值圖385存儲(chǔ)在第二 GPU輸入紋 理中,前景掩碼完成模塊345適于加載第一和第二輸入紋理;然后前 景掩碼完成模塊345適于通過絕對(duì)差值與預(yù)定的閾值進(jìn)行比較,將包 括在邊緣差值圖385中的邊緣差值變換成Boolean (布爾)值,因此 獲得中間的邊緣差值二進(jìn)制掩碼。例如,適當(dāng)?shù)拈撝悼梢允?.5:如 果當(dāng)前視頻幀中的邊緣和背景統(tǒng)計(jì)模型中的那些邊緣之間的差值超 過值0.5,則像素可能屬于前景,在邊緣差值二進(jìn)制掩碼中的那個(gè)像 素被置為"l"。因此,在近似前景二進(jìn)制掩碼380中的二進(jìn)制值用邏 輯OR與邊緣差值二進(jìn)制掩碼中的Boolean值進(jìn)行組合。要指出的是, 類似或等同的操作可以由CPU而不是GPU執(zhí)行。
通過將近似的前景二進(jìn)制掩碼與邊緣差值圖(轉(zhuǎn)換成二進(jìn)制形 式)進(jìn)行組合,前景掩碼完成模塊345適于通過添加在邊緣差值二進(jìn)
制掩碼中被表征為"l"的像素,完成(或至少加入信息到)近似的前
景二進(jìn)制掩碼380,如上所述,其是前景掩碼的初步的、粗略的近似; 添加的像素通常位于前景區(qū)域的邊界,且具體地說是非常重要的,因 為它們位于背景和前景顏色混合的圖像區(qū)域中,使得背景減去可能提 供錯(cuò)誤的結(jié)果。而且,應(yīng)當(dāng)觀察到的是在通常吸引觀察者的注意力的 前景目標(biāo)的邊界處,由此即使小的調(diào)整和校正對(duì)于分割算法的所感知 結(jié)果的質(zhì)量都是非常重要的。
應(yīng)當(dāng)指出的是在賦給邊緣差值的Boolean值的處理過程中所使 用的比較閾值是可以調(diào)整的例如,用戶也許優(yōu)選具有銳利的輪廓而 非光滑的輪廓的分割前景目標(biāo)在第一種情形中,屬于前景目標(biāo)輪廓 的較多的像素被加入到近似的前景二進(jìn)制掩碼中,而在第二種情形 中,加入較少的像素。這種調(diào)整可以是基于對(duì)視頻攝像機(jī)執(zhí)行的度量 自動(dòng)地進(jìn)行如果檢測(cè)到即使視頻攝像機(jī)輕微的運(yùn)動(dòng)(移位即使1或 2個(gè)像素),大部分輪廓的位置將發(fā)生變化,因此應(yīng)當(dāng)增加比較閾值; 如果相反,視頻攝像機(jī)是穩(wěn)定的且場(chǎng)景的亮度也很好,所感知的輪廓 不會(huì)變化,可以減少比較閾值。
高通濾波、邊緣差值圖385的計(jì)算和掩碼完成是可由GPU執(zhí)行 的運(yùn)算;然而,在本發(fā)明的替換實(shí)施例中,沒有什么阻止可由CPU 執(zhí)行這些運(yùn)算的一個(gè)或多個(gè)運(yùn)算。
應(yīng)當(dāng)指出的是,在本發(fā)明的替換實(shí)施例中,前景掩碼完成模塊 345可以為完成近似前景二進(jìn)制掩碼380而使用邊緣圖383,而不是 使用邊緣圖383和邊緣圖381之間的差。
完成的前景二進(jìn)制掩碼387可以用于在當(dāng)前視頻幀中從背景中 分割出前景。然而,在本發(fā)明的優(yōu)選的但非限制性的實(shí)施例中,完成 的前景二進(jìn)制掩碼387被進(jìn)一步處理以進(jìn)一步改進(jìn)分割結(jié)果。
具體而言,優(yōu)選地是將完成的前景二進(jìn)制掩碼387送到適于執(zhí) 行低通濾波的低通濾波模塊350,具體地但是不限于是高斯 (Gaussian)濾波,以減少(甚至消除)異常,即與所有周圍像素不 同的值("O,,或"l,,)的像素,和因此改善了前景掩碼的空間相關(guān)性。
以這種方式,可以去除在完成的前景二進(jìn)制掩碼387中可能引起的背 景區(qū)域中的孤立噪聲峰值,在完成的前景二進(jìn)制掩碼387中分類為前 景(即,通常用"l"表征)的孤立像素或小的像素聚類,因?yàn)樗鼈兪?錯(cuò)誤的(在最終分割的圖像中,這些像素將作為添加在圖像上的"雪 花"是可視的);類似地,可以去除前景區(qū)域中的小的"洞",即分類 為背景(即用"0"表征)的像素和被分類為背景的大量像素所圍繞著 的像素,其通常由前景顏色和背景顏色之間的隨機(jī)相似性引起(例如 由于光反射、表面的色度細(xì)節(jié)(chromatic particular)或噪聲)。
低通濾波,具體地說是高斯濾波,以類似針對(duì)Sobel運(yùn)算所描述 的方式實(shí)施低通濾波掩碼接著應(yīng)用于完成的前景二進(jìn)制掩碼387中 的像素值。低通濾波掩碼中的系數(shù)的個(gè)數(shù)和值取決于濾波動(dòng)作所需要 的力度,即取決于像素之間的空間相關(guān)性空間相關(guān)性越高,濾波掩 碼越寬。
例如,假定視頻攝像機(jī)以CIF格式(352x288像素)提供源視頻 幀,9x9的低通高斯濾波掩碼是合適的。
高斯濾波器的已知數(shù)學(xué)性質(zhì)是它的可分離性幸虧這個(gè)特性,而 不是在一個(gè)步驟中執(zhí)行巻積,這對(duì)于9x9濾波掩碼,意味著為每個(gè)像 素處理81個(gè)像素值(使得GPU應(yīng)當(dāng)針對(duì)完成的前景二進(jìn)制掩碼387 中的每個(gè)像素執(zhí)行81個(gè)乘法和加法、和81個(gè)紋理取值),可以通過 在兩個(gè)步驟中執(zhí)行巻積獲得相同的結(jié)果,該步驟包括水平和垂直像素 掃描;在每次掃描中對(duì)每個(gè)像素,要處理9xl和lx9個(gè)像素值,總共 對(duì)每個(gè)像素進(jìn)行18次運(yùn)算。在本發(fā)明的實(shí)施例中,在水平和垂直掃 描中使用的低通濾波掩碼的系數(shù)如下值區(qū)間的兩個(gè) 端點(diǎn)中的一端,使得在某種意義上偏離決定,或相反。例如,對(duì)于最 終的結(jié)果,如果將背景像素判斷為屬于前景的錯(cuò)誤比相反判斷所導(dǎo)致 的錯(cuò)誤風(fēng)險(xiǎn)要'J、一些,可以減少比較閾值。
應(yīng)當(dāng)指出的是低通濾波的類型、濾波掩碼的大小、上面公開的濾 波掩碼系數(shù)值實(shí)質(zhì)上不是對(duì)本發(fā)明的限制。可由本領(lǐng)域的技術(shù)人員進(jìn) 行其它的選擇。同樣,當(dāng)?shù)屯V波的操作可以方便地由GPU執(zhí)行時(shí), 在本發(fā)明的替換實(shí)施例中,沒有什么阻止由CPU執(zhí)行該操作的所有 或部分操作。
(濾波的、完成的)前景二進(jìn)制掩碼388優(yōu)選地被饋送給形態(tài) 學(xué)閉(morphological closing)模塊355,它適于執(zhí)行由二進(jìn)制掩碼所 定義的前景圖像的形態(tài)學(xué)閉運(yùn)算。
正如現(xiàn)有技術(shù)中已知的那樣,形態(tài)學(xué)閉運(yùn)算是適于校正前景二進(jìn) 制掩碼中存在的至少某些偽像的運(yùn)算,具體地說,例如由前景目標(biāo)的 顏色與其下的背景像素的顏色之間的相似性所引起的在前景目標(biāo)中 以洞的形式出現(xiàn)的偽#>。
特別是,三種類型的偽像"洞,,可能存在于前景二進(jìn)制掩碼中
-非常小的洞(具有幾個(gè)像素的直徑)由與背景沒有顯著差別的 前景目標(biāo)的色度細(xì)節(jié)引起的(象頭發(fā)的顏色,或前景目標(biāo)衣服的圖案, 或象手表、眼鏡等等的飾品;例如,具有與背景相同顏色的點(diǎn)的領(lǐng)帶 可能在前景二進(jìn)制掩碼中導(dǎo)致幾個(gè)小的、孤立的、不希望的洞);
-大洞,當(dāng)存在大面積顏色與背景沒有顯著差別的前景目標(biāo)時(shí) (例如,通話頭穿著紅襯衫而背景是紅顏色的墻壁時(shí));
-真實(shí)的洞(沒有被抑制),例如由前景目標(biāo)的特殊形狀,或由 前景目標(biāo)的特殊位置(例如,當(dāng)通話頭將他/她的手放置在他/她的邊 上,在手臂和軀千之間可見的背景區(qū)域不被認(rèn)為是前景目標(biāo)的一部 分)。
具體地說形態(tài)學(xué)閉運(yùn)算適于消除第 一種類型的偽像。
特別是,形態(tài)學(xué)閉運(yùn)算分兩個(gè)步驟進(jìn)行。在第一步驟中(也被稱
為"掩碼膨脹"),在濾波后的、完成的前景二進(jìn)制掩碼388中的前景 目標(biāo)區(qū)域被擴(kuò)張,或"膨脹,,;然后,在第二步驟中,(也被稱為"掩 碼腐蝕"),在掩碼中的前景目標(biāo)區(qū)域被恢復(fù)到它們?cè)瓉淼某叽?。?虧在掩碼膨脹之后,可能存在于前景目標(biāo)區(qū)域中的小洞被前景吸收, 且在腐蝕運(yùn)算之后,它們消失這一事實(shí),實(shí)現(xiàn)了偽像的消除。
更加詳細(xì)地,處理濾波過的、完成的前景二進(jìn)制掩碼388中的 所有像素;針對(duì)每個(gè)像素,考慮一定量的鄰近像素,例如,所有包括 在預(yù)定大小的矩形("膨脹窗口,,或"膨脹掩碼")中的那些像素,所述 預(yù)定大小象3x3像素或9x9像素(優(yōu)選地,膨脹掩碼的大小取決于, 特別是它等于低通濾波模塊350中所使用的低通濾波掩碼的大小)。 在膨脹步驟中,表征在前景二進(jìn)制掩碼中的正在處理的像素的值("l"
或"0")被所考慮的像素值和鄰近像素值之中的最大值所代替;于是, 如果即使鄰近像素(例如,8或80)中的一個(gè)像素是"l",最初等于"0" (即,背景像素)的普通像素值是從"0,,到"1"變化的(觀察到如果 對(duì)表示前景像素采取相反的約定,則取最小值,而不是最大值)。
正如高斯濾波的情形中那樣,膨脹和腐蝕運(yùn)算可分成兩種沿水平 和垂直方向進(jìn)行的基本運(yùn)算。
在膨脹之后,就"l"的分布而言,所獲得的膨脹的前景二進(jìn)制掩 碼是相當(dāng)緊湊和規(guī)則的,即使最初它是不規(guī)則的且在前景目標(biāo)區(qū)域中 具有幾個(gè)洞。然而,膨脹運(yùn)算引起前景目標(biāo)的輪廓擴(kuò)張,且孤立的像 素或少量的像素聚集,在低通濾波運(yùn)算之后在背景區(qū)域上的剩余部分 被膨脹運(yùn)算放大了。
在后續(xù)的掩碼腐蝕階段,普通像素的值被它自己的值和鄰近像素 值中的最小值(最大值,如果對(duì)表示前景像素采取相反的約定)代替。 在腐蝕運(yùn)算之后,前景二進(jìn)制掩碼中前景目標(biāo)的大小返回到最初的大 小,在膨脹階段之后仍然保留所得到的緊湊和規(guī)則的屬性。背景區(qū)域 中的孤立點(diǎn)(單一像素或少量像素聚集)回到它們最初的大小;然而, 如果這樣的點(diǎn)位于前景目標(biāo)之內(nèi)或靠近前景目標(biāo),則它們有被吸收到
前景目標(biāo)之內(nèi)的趨勢(shì)。
考慮普通像素s。;假定膨脹運(yùn)算沿水平和垂直方向分兩個(gè)階段進(jìn) 行,現(xiàn)考慮水平掃描;對(duì)于像素",鄰近像素(使用9x9掩碼)是
^"D—2卜-W小2kl
正如上面所討論的那樣,在假定前景二進(jìn)制掩碼中的前景像素用 "i"表示,膨脹階段提供了用像素^的值和8個(gè)鄰近像素的值之間的最
大值代替像素^值(在濾波后的、完成的前景二進(jìn)制掩碼388中)。 在后續(xù)的腐蝕階段,像素&的值用像素&和8個(gè)鄰近像素的值之間的 最大值代替。
申請(qǐng)人已經(jīng)觀察到進(jìn)行形態(tài)學(xué)閉運(yùn)算的傳統(tǒng)方式并不總是提供 好的結(jié)果。特別是,在濾波后的、完成的前景二進(jìn)制掩碼388中已經(jīng) 很好地定義了前景目標(biāo)邊緣可能在形態(tài)學(xué)閉運(yùn)算之后被改變,使得在 前景目標(biāo)中產(chǎn)生偽像。
例如,在通話頭的手指之間相對(duì)小的空間、或頭發(fā)和頸周圍的區(qū) 域、或腋窩,其是為了正確分割不得不被看作為屬于圖像背景的,不 能被形態(tài)學(xué)閉運(yùn)算保留。特別是,在前景目標(biāo)中、尺寸相對(duì)小并靠近 前景目標(biāo)輪廓的真實(shí)的洞可能會(huì)消失。
為了解決這個(gè)問題,申請(qǐng)人已經(jīng)設(shè)計(jì)出用于執(zhí)行膨脹和腐蝕運(yùn)算 的新的、改進(jìn)的方法。
根據(jù)本發(fā)明的實(shí)施例,從處理之中的像素(位于膨脹/腐蝕掩碼 的中間)開始計(jì)算最大值并繼續(xù)朝膨脹/腐蝕掩碼的外圍前進(jìn)只要遇 到屬于前景目標(biāo)的邊緣的像素,停止朝外圍前進(jìn),使用比那些在膨脹 掩碼中的像素要少的像素計(jì)算最大值。
為此,形態(tài)學(xué)閉模塊355除濾波后的、完成的前景二進(jìn)制掩碼
388之外,還接收通過由邊緣減去模塊340提供的邊緣減去而產(chǎn)生的
圖385。為了估計(jì)像素是否屬于前景目標(biāo)的邊緣,形態(tài)學(xué)閉模塊355
可能適于在邊緣差值圖385中識(shí)別出超過預(yù)定閾值的正的邊緣差(以
便具有對(duì)噪聲的容差)。
例如,假定像素,.2和,3屬于前景目標(biāo)邊緣;根據(jù)本發(fā)明的實(shí)施例,
在膨脹階段像素 的值由值max(s.,。AA)代替,而不用考慮包括在膨脹 /腐蝕掩碼中的其余像素,這與處理之中的像素相比,它在前景目標(biāo)邊 緣"之外"。在最大值的計(jì)算中可能考慮或可能不考慮屬于邊緣的像 素,象在所考慮的例子中的5.2和53;申請(qǐng)人已經(jīng)觀察到通過在計(jì)算最
大值中不包括邊緣像素可能獲得更好的結(jié)果。在這種情形中,假定例 如像素^和s,都屬于前景目標(biāo)的邊緣,像素&值不變。如果包括在膨脹
掩碼中的鄰近像素中沒有一個(gè)屬于前景目標(biāo)的邊緣,膨脹運(yùn)算與用所 考慮的像素和所選擇的膨脹掩碼定義的所有鄰近像素的那些值之間 的最大值代替處理之中的像素值一致。
在膨脹和腐蝕階段,且特別是在膨脹和腐蝕運(yùn)算的水平和垂直掃 描中,執(zhí)行類似的運(yùn)算。值得注意的是,在腐蝕階段,應(yīng)當(dāng)注意與跟 在膨脹階段后的順序相反的順序(即,例如,在膨脹階段中首先水平 掃描,跟著垂直掃描,然后在腐蝕方階段中首先垂直掃描,跟著水平 掃描),以便避免"繞開(bypass),,邊緣。
換句話說,根據(jù)本發(fā)明的實(shí)施例,形態(tài)學(xué)閉運(yùn)算被"引導(dǎo)",即由 前景目標(biāo)的邊緣控制。
邊緣引導(dǎo)的形態(tài)學(xué)閉的結(jié)果是閉合的前景二進(jìn)制掩碼389 ,其 中先前存在于濾波后的、完成的前景二進(jìn)制掩碼中的小洞和不規(guī)則性 已經(jīng)被填充。
與不受前景目標(biāo)邊緣引導(dǎo)的形態(tài)學(xué)閉運(yùn)算一即對(duì)于處理之中的 普通像素,通過取由膨脹/腐蝕掩碼指定的所有鄰近像素值中的最大值 和最小值而執(zhí)行的形態(tài)學(xué)閉運(yùn)算一相比,根據(jù)本發(fā)明的實(shí)施例的邊緣 引導(dǎo)的形態(tài)學(xué)閉運(yùn)算避免改變已經(jīng)在濾波后的、完成的前景二進(jìn)制掩 碼388中很好地定義的前景目標(biāo)輪廓,保留象例如通話頭的手指之間 的相對(duì)小的空間、或頭發(fā)和頸周圍的區(qū)域,或袖孔,為了正確分割不 得不將其認(rèn)為是屬于圖像背景的。換句話說,邊緣引導(dǎo)的形態(tài)學(xué)閉運(yùn) 算可以消除或顯著減少上述提到的第一種類型的偽像,保留靠近前景 目標(biāo)的輪廓的真實(shí)的洞,即使是尺寸相對(duì)小。
在本發(fā)明的替換實(shí)施例中,不是利用邊緣差值圖385,邊緣引導(dǎo)
的形態(tài)學(xué)閉模塊可以使用邊緣圖381和383中的一個(gè)或二者。
可以理解的是膨脹和腐蝕運(yùn)算適于GPU的像素處理器執(zhí)行,因 為在膨脹和腐蝕階段,作為輸入所取的值是原始值,不是那些由正在 執(zhí)行的膨脹和各個(gè)腐蝕運(yùn)算所修改的值。于是,膨脹和腐蝕運(yùn)算可以 作為由GPU (的像素處理器)執(zhí)行的(部分)像素著色器程序?qū)嵤?特別是,如果對(duì)于高斯濾波,膨脹和腐蝕運(yùn)算可以被分成沿水平和垂 直方向執(zhí)行的兩種基本的運(yùn)算,使得可以減少普通像素所需要的紋理 取的數(shù)量,例如從2x81 = 162到2x2x9 = 36 (在9x9膨脹/腐蝕掩碼的 示例性情形下),減少大約78%的計(jì)算復(fù)雜度。
然而,應(yīng)當(dāng)指出的是,在本發(fā)明的替換實(shí)施例中,沒有什么阻止 膨脹和腐蝕運(yùn)算(邊緣引導(dǎo)的或不是邊緣引導(dǎo)的)由CPU執(zhí)行。
在邊緣引導(dǎo)的形態(tài)學(xué)閉運(yùn)算(可選)之后,前景二進(jìn)制掩碼389 被饋送到圖像輪廓提取模塊360。同樣可以向圖像輪廓提取模塊360 提供由邊緣減去模塊340所產(chǎn)生的邊緣差值圖385。圖像輪廓提取模 塊360適于估計(jì)當(dāng)前視頻幀的普通像素是否屬于前景目標(biāo)輪廓。 通常,在數(shù)字圖像處理中,認(rèn)為目標(biāo)輪廓是由像素形成的。 特別地,僅僅作為例子,圖8A示出部分視頻幀,其中具有三角 形形狀的前景目標(biāo)是存在的;前景三角形的像素被標(biāo)記為"X",而背 景像素被標(biāo)記為點(diǎn)"."。在所考慮的例子中,傳統(tǒng)上認(rèn)為圖8B中標(biāo)記 為"C"的像素形成三角形的輪廓。
申請(qǐng)人已經(jīng)觀察到使用該技術(shù),通過跟隨被識(shí)別為輪廓像素的像 素識(shí)別圖像目標(biāo)的輪廓可能變得非常困難可能會(huì)遇到不容易解決的 極大數(shù)量的不明確的情況。例如,考慮圖8A或圖8B中屬于三角形的 輪廓的、標(biāo)記為805的像素。所考慮的像素805與識(shí)別為輪廓像素的 另外四個(gè)像素鄰近。假定希望順時(shí)針方向跟著三角形輪廓前進(jìn) 一旦 到達(dá)像素805,不可能(除非基于整個(gè)三角形的高級(jí)觀察)確定哪一 個(gè)將是輪廓掃描中的下一個(gè)像素只要對(duì)每個(gè)像素周圍僅僅進(jìn)行局部 的分析,或者像素807a、或者像素807b、或者像素807c可能是下 一個(gè)輪廓像素;可以解決這種^=莫糊性,如果不是進(jìn)行局部像素分析,而是考慮整個(gè)目標(biāo)形狀這將允許確定下一個(gè)輪廓像素是807a。換句 話說,為了跟隨圖像目標(biāo)的輪廓, 一般來說對(duì)普通像素周圍的局部分 析是不夠的,相反需要具有對(duì)目標(biāo)的全局了解,在實(shí)際的情形中,這 是計(jì)算強(qiáng)度非常大的且有時(shí)甚至是不實(shí)際的。
根據(jù)本發(fā)明的實(shí)施例,為了克服上述所顯示的問題,申請(qǐng)人已經(jīng) 引入了在兩個(gè)普通鄰近像素之間的邊界的概念,使得不考慮像素形成 的圖像輪廓,而是考慮鄰近像素之間的邊界形成的圖像輪廓。
例如,參照?qǐng)D8C,與考慮由象圖8B中標(biāo)記為"C,,的像素形成三 角形輪廓相反,認(rèn)為由標(biāo)記為"X"的像素周圍的(20)水平和垂直線 段形成三角形輪廓。再一次考慮像素805,通過這個(gè)描述應(yīng)當(dāng)理解的 是即使借助于局部分析,關(guān)于如何循著三角形輪廓前進(jìn)不存在模糊 性;例如,如果希望循著三角形輪廓順時(shí)針方向前進(jìn),可以運(yùn)用背景 (即,標(biāo)記為".,,的像素)必須保持在左邊的傳統(tǒng)準(zhǔn)則,循著像素邊界 前進(jìn)上邊的水平邊界810從左到右前進(jìn),然后右邊垂直的邊界815 從頂向下前進(jìn),于是到達(dá)下一個(gè)像素820的上水平邊界等等,直到到 達(dá)開始像素邊界。
每個(gè)像素的周圍具有四個(gè)邊界。在本發(fā)明的實(shí)施例中,給每個(gè)像 素賦予在所考慮的像素和其鄰近像素之間的四個(gè)邊界中的兩個(gè)的所 有權(quán),例如,上邊界和左邊界。正如圖8D示意性描迷的那樣,像素 a擁有邊界",和" (與鄰近像素d和e共享),而像素a和像素c之間 的邊界是像素c擁有的上邊界^ ,在像素a和像素b之間的右邊界是 像素b擁有的左邊界6,。
對(duì)每個(gè)像素,可以使用GPU紋理存儲(chǔ)下列數(shù)據(jù) -該像素?fù)碛械倪吔?在本例子中,為左邊界和上邊界)中的一 個(gè)或兩個(gè)是否是前景目標(biāo)輪廓的 一部分。這可以通過像素周圍的局部 分析,即通過檢驗(yàn)位于所考慮像素左邊和上面的鄰近像素來確定如 果所考慮的像素和鄰近像素是同 一類型(都是背景像素或前景像素), 相關(guān)的像素邊界不是前景目標(biāo)輪廓的一部分;相反,如果上面的鄰近 像素和/或左邊的鄰近像素與所考慮的像素相比是不同的類型(即,一個(gè)屬于背景,另一個(gè)屬于前景),則相關(guān)的像素邊界是前景目標(biāo)輪廓
的一部分。例如,考慮圖8C中的標(biāo)記為825的像素,像素825擁有 的兩個(gè)邊界是三角形輪廓的一部分,這是因?yàn)橄袼?30和835屬于 背景,而像素825屬于前景;相反,考慮像素840,只有左邊的邊界 是三角形輪廓的一部分,因?yàn)樽筮叺泥徑袼?50是背景的一部分, 而上面的鄰近像素845如像素840 —樣是前景的一部分;
一如果所考慮的像素?fù)碛械倪吔缰械囊粋€(gè)或二者是前景目標(biāo)輪 廓的一部分,沿像素邊界行進(jìn)時(shí)要遵循的方向;例如假定按照慣例圖 像輪廓必須沿順時(shí)針方向行進(jìn),如果該像素屬于前景,左邊界向上行 進(jìn),而上邊界要從左向右行進(jìn),對(duì)于屬于背景的像素,反之亦然。
作為存儲(chǔ)該方向的替換(或可能,除此之外),如果像素的邊界 屬于前景目標(biāo)輪廓,有可能確定適于描述輪廓繼續(xù)之處(即在哪個(gè)像 素邊界處)的信息并將其與那個(gè)像素相關(guān)聯(lián)地存儲(chǔ)在紋理中。例如, 考慮圖9A的情況,其中A、 B、 C、 D、 F、 G、 H和I是普通像素E 的鄰近像素;假定像素E的上邊界屬于前景目標(biāo)的輪廓(如圖9A中 像素E上面的"-,,所示)。從此處,輪廓可能繼續(xù)到圖9A中用1、 2、 3、 4、 5或6表示的位置中的一個(gè)。類似地,參照?qǐng)D9B,假定像素E 的左邊界屬于輪廓(如圖9B中像素E左邊上的"-"所示)從此處, 輪廓可以繼續(xù)到圖9B中的1、 2、 3、 4、 5或6表示的位置中的一個(gè)。 可以理解的是在圖中標(biāo)記為I的像素屬于前景或背景(即,前景二進(jìn) 制掩碼389中的像素值是"1"或"0")不影響像素E之后輪廓在哪兒繼 續(xù)的確定。于是,對(duì)每個(gè)普通像素,確定輪廓可能在哪里繼續(xù)只需用 考慮8個(gè)像素;因?yàn)?個(gè)像素中的每個(gè)像素可能取等于"1"或"0"的值, 總共存在256種可能的組合。于是,根據(jù)本發(fā)明的實(shí)施例,可以設(shè)計(jì) 像素著色器程序,使得用具有256個(gè)位置的查找1D紋理,在圖9C 中示意性地用910表示,對(duì)每個(gè)像素,像素著色器程序生成兩個(gè)值, 每一值的范圍從O到6,適于為那個(gè)像素所擁有的兩個(gè)邊界中的每一 個(gè),確定邊界是否屬于前景目標(biāo)輪廓,且在肯定的情形下,確定輪廓 在哪里繼續(xù)。特別是,可以保留O值用于識(shí)別不屬于輪廓的邊界。例
如,再次考慮圖9C中的像素825,與背景和前景像素的具體布局相 對(duì)應(yīng)的各個(gè)值是{0000101}(必須提醒的是不考慮圖9C中正方形的 較低的右端的前景像素),它意義明確地與1D紋理910中的位置915 相對(duì)應(yīng),其中值對(duì)(3, 3)被存儲(chǔ)笫一值與左邊的像素邊界相關(guān), 而第二值與上邊界相關(guān)(見圖9A和9B)。換句話說,與二進(jìn)制編碼 數(shù)對(duì)應(yīng)的值表示在位置E的普通當(dāng)前像素周圍的普通圖像區(qū)域中的 位置A、 B、 C、 D、 E、 F、 G、 H中前景/背景像素的布局,該值被用 作為訪問1D查找紋理910的訪問密鑰。對(duì)普通像素,值對(duì)定義了左 邊和上面的邊界是否是前景目標(biāo)輪廓的一部分,且在肯定的情形中, 在輸出紋理393中存儲(chǔ)輪廓在哪里繼續(xù)。
對(duì)于位于視頻幀邊緣的像素,鄰近像素的圖案中丟失的像素缺省 地被認(rèn)為是背景像素。為了能夠考慮屬于最右邊視頻幀列的像素的右 邊界以及屬于底部視頻幀行的像素的底邊界,可以生成輸出紋理393 以便與放大的視頻幀相對(duì)應(yīng),其包括右邊的視頻幀邊緣的附加的像素
回到圖3,在本發(fā)明的優(yōu)選實(shí)施例中,輪廓提取模塊360適于利 用包括在邊緣差值圖385中的信息以驗(yàn)證當(dāng)前像素(或其鄰近像素) 是否屬于前景邊緣,例如,導(dǎo)出有關(guān)是否朝向前景目標(biāo)內(nèi)部部分(即 遠(yuǎn)離背景移動(dòng))、遠(yuǎn)離所考慮的像素(相對(duì)少的像素)移動(dòng)中遇到邊 緣差值圖385中的高值(高的絕對(duì)差值,或高的正差值)的信息。對(duì) 于每個(gè)像素,在輸出紋理393中優(yōu)選地存儲(chǔ)這樣的表示以便用于場(chǎng)景 分析模塊365所執(zhí)行的場(chǎng)景分析階段。
然后,輪廓提取模塊360中的輸出紋理393從GPU中被轉(zhuǎn)移 到CPU用于最終的運(yùn)算,它以順序形式實(shí)現(xiàn)并因此不適于由GPU的 像素處理器執(zhí)行。應(yīng)當(dāng)指出的是雖然讓GPU執(zhí)行輪廓提取運(yùn)算是有 利的,但是在本發(fā)明的替換實(shí)施例中,沒有什么阻止由CPU執(zhí)行這 個(gè)運(yùn)算。
特別是,場(chǎng)景分析模塊365適于使用輪廓提取模塊360的結(jié)果
以沿前景目標(biāo)的輪廓行進(jìn),因此確定和存儲(chǔ)屬于前景目標(biāo)輪廓的像素
的有序列表。場(chǎng)景分析模塊365也可以在所確定的輪廓之間,即在前 視頻幀的不同區(qū)域之間,建立分層關(guān)系。
特別是, 一旦前景目標(biāo)的輪廓的像素已經(jīng)被識(shí)別出來并放在有序 列表中,則完全確定被輪廓圍繞的圖像區(qū)域。對(duì)這個(gè)區(qū)域,有可能執(zhí) 行例如象計(jì)算表面積、或其"包圍盒(bounding box)",即圍起的正方 形或矩形這樣的高級(jí)處理,以便評(píng)估圖像帶(zone)是否寬到要被考慮 或是否可能忽視它。可替換地,或與之結(jié)合,能夠填補(bǔ)其內(nèi)包括其它 前景目標(biāo)區(qū)域的、所確定的前景目標(biāo)區(qū)域中的洞??商鎿Q地,或與之 結(jié)合,可以丟棄沒有觸及視頻幀邊緣的孤立的前景區(qū)域(通話頭通常 沒有分離的部分,且至少觸及視頻幀的底部邊緣)。
根據(jù)本發(fā)明的實(shí)施例,源于邊緣引導(dǎo)的形態(tài)學(xué)閉運(yùn)算的閉合前景 二進(jìn)制掩碼389和形成前景目標(biāo)輪廓的像素有序列表,與當(dāng)前視頻幀 305 —起例如遵照MPEG標(biāo)準(zhǔn),被饋送到編碼器模塊370。根據(jù)本 發(fā)明的實(shí)施例,編碼器模塊370實(shí)現(xiàn)前景掩碼校正,其適于考慮由像 素的有序列表傳遞的前景目標(biāo)輪廓,校正閉合的前景二進(jìn)制掩碼 389,其中所述像素形成由場(chǎng)景分析模塊365提供的前景目標(biāo)的輪廓。 編碼器模塊370生成與當(dāng)前視頻幀305的分割前景相對(duì)應(yīng)的MPEG 傳輸流397,并將其饋送給發(fā)射機(jī)模塊375,以通過NIA/MODEM 250向遠(yuǎn)端接收才幾傳輸。
借助于圖4中的簡(jiǎn)化流程圖,現(xiàn)在將描述根據(jù)本發(fā)明實(shí)施例的視 頻分割方法。
由視頻攝像機(jī)捕獲的構(gòu)成視頻流的視頻幀被饋送到GPU (方框 405)中。
初步地,從視頻序列開始,提供了背景學(xué)習(xí)階段,如前所詳細(xì)描 述的那樣,其中構(gòu)建背景的統(tǒng)計(jì)模型。請(qǐng)求通話頭離開場(chǎng)景一會(huì)兒, 并捕獲足夠多數(shù)量的視頻幀(例如,100);例如最初以RGB格式的 每個(gè)視頻幀被轉(zhuǎn)換成HSV格式(方框415),然后計(jì)算三個(gè)坐標(biāo)H、 S和V的每一個(gè)的均值和方差(方框420);特別是,如前所討論的
那樣,為了計(jì)算H (角)坐標(biāo)的均值和方差,采用前述的平均方法。 重復(fù)這些運(yùn)算,即背景學(xué)習(xí)階段一直持續(xù)到已經(jīng)獲得規(guī)定數(shù)量的背景 樣本(判定方框425)為止。
圖10A是示出在背景學(xué)習(xí)階段之后獲得的背景統(tǒng)計(jì)模型的例子 的屏幕捕獲(所呈現(xiàn)的屏幕捕獲是黑白的,主要是為了服從專利文件 的規(guī)定,盡管最初它們也許是彩色的)
通話頭現(xiàn)在可以進(jìn)入場(chǎng)景中。
構(gòu)成由視頻攝像機(jī)捕獲的視頻流的視頻幀被重復(fù)地饋送到GPU 中(方框405),并從RGB空間轉(zhuǎn)換到HSV空間(方框430 )。圖 10B是示例性當(dāng)前視頻幀的屏幕捕獲。
借助于前述的背景減去過程,建立近似的前景二進(jìn)制掩碼380, 它涉及針對(duì)每個(gè)像素,將當(dāng)前視頻幀的坐標(biāo)H、 S、 V的值與背景學(xué) 習(xí)階段中計(jì)算出的均值進(jìn)行比較,并基于所述比較賦予普通像素值 "1"或"0"(方框435)。特別是,如前所述,計(jì)算當(dāng)前視頻幀中的坐 標(biāo)H、 S、和V與所對(duì)應(yīng)的均值之差的絕對(duì)值,并與各個(gè)坐標(biāo)的標(biāo)準(zhǔn) 偏差(或與其成比例的值)進(jìn)行比較,并對(duì)三個(gè)坐標(biāo)上的測(cè)試的結(jié)果 進(jìn)行組合,例如,OR組合或AND組合在一起,以l更確定賦予像素的 值是"l"(可假定為屬于前景的像素)還是"O"(可假定為屬于背景的 像素)。圖10C是通過利用近似前景二進(jìn)制掩碼380所得出的分割 的屏幕捕獲在通話頭區(qū)域中的幾個(gè)"洞"是可見的。
然后,完成近似前景二進(jìn)制掩碼。
為此,計(jì)算當(dāng)前視頻幀的每個(gè)像素和背景統(tǒng)計(jì)模型的每個(gè)像素的 亮度值(方框440 )。
如前所述,將高通濾波,例如,Sobel算子,應(yīng)用于像素亮度上, 然后檢測(cè)當(dāng)前視頻幀和背景統(tǒng)計(jì)模型中的邊緣(方框445)。圖10D 是示出當(dāng)前視頻幀的邊緣圖的屏幕捕獲。
然后從當(dāng)前視頻幀的邊緣減去背景統(tǒng)計(jì)模型中的邊緣(450), 并建立邊緣差值圖385,如前所述;利用包括在邊緣差值圖中的信息, 完成先前建立的近似前景二進(jìn)制掩碼(方框455)以獲得完成的前景
二進(jìn)制掩碼387。圖IOE是完成的前景二進(jìn)制掩碼的屏幕捕獲應(yīng)當(dāng) 理解的是更好地定義了前景目標(biāo)輪廓,并且其將使得在重構(gòu)的、所 顯示的視頻序列中的偽像更少。
然后將完成的前景二進(jìn)制掩碼387傳遞給低通(例如,高斯) 濾波(方框460),以獲得濾波后的完成的前景二進(jìn)制掩碼388 (圖 IOF是圖IOE的掩碼在濾波后的屏幕捕獲),然后利用包括在邊緣差 值圖中的用于確定哪些像素屬于前景目標(biāo)的邊緣的信息,來執(zhí)行掩碼 的邊緣引導(dǎo)的形態(tài)學(xué)閉運(yùn)算(方框465)。圖IOG示出在邊緣引導(dǎo)的 形態(tài)學(xué)閉運(yùn)算之后的圖IOF的掩碼。
接著進(jìn)行輪廓提取運(yùn)算(方框470 ),適于針對(duì)每個(gè)像素確定和 存儲(chǔ)關(guān)于像素所擁有的兩個(gè)邊界中的一個(gè)或兩個(gè)屬于輪廓,且在肯定 的情形中,輪廓在哪里繼續(xù)的事實(shí)的信息。該運(yùn)算完成由GPU的像 素處理器所執(zhí)行的系列運(yùn)算。
然后將數(shù)據(jù)傳到CPU,為了確定和存儲(chǔ)屬于前景目標(biāo)輪廓的像 素的有序列表,基于從GPU接收的信息,CPU進(jìn)行場(chǎng)景分析。
對(duì)下一個(gè)之后的視頻序列幀重復(fù)進(jìn)行這個(gè)過程(判定方框480 )。 在本發(fā)明的實(shí)施例中,場(chǎng)景分析模塊365 (見圖3)中用于不同 圖像帶的識(shí)別和各個(gè)輪廓的存儲(chǔ)的過程包括只對(duì)當(dāng)前視頻幀以光柵 順序進(jìn)行一次掃描,并因此相對(duì)快和友好地高速緩存。在下文中將 描述算法的可能實(shí)施例。
考慮普通的當(dāng)前視頻幀,輸出紋理393被逐線地光柵掃描,例 如從最上面的線的最左邊的像素開始。
對(duì)于當(dāng)前視頻幀的每條線,和對(duì)于所考慮線的每個(gè)像素,確知
考慮之中的像素的左邊界是否屬于先前沒有遇到的輪廓。
如果遇到過,沿輪廓而行直到它形成閉環(huán)為止,即直到它返回 到輪廓中第 一個(gè)遇到的像素為止,且適當(dāng)?shù)貥?biāo)記所有屬于輪廓的像 素。
特別是,對(duì)于每個(gè)像素,為像素的左邊界所屬的輪廓和像素的 上邊界所屬的輪廓分別定義了兩個(gè)輪廓標(biāo)識(shí)符/"/e;和
在視頻幀光柵掃描的開始,對(duì)所有的像素將兩個(gè)輪廓識(shí)別符
和/Z) p置為0; 0表明還沒有探測(cè)輪廓(或像素的邊界不屬于 任何輪廓)。
同樣,使用變量/"w-"頭/w(最終輪廓),其值用來定義輪廓標(biāo) 識(shí)符;這樣的變量最初被置為O,每次遇到新的輪廓就增加1。
進(jìn)一步使用了 ^n/^-0T^ (邊界類型)變量,其值用于定義屬 于輪廓的像素邊界是左邊界還是上邊界。
也可以使用另 一個(gè)變量coMMwr- /e"g^ (輪廓長(zhǎng)度),其值定義 了輪廓的長(zhǎng)度(即,像素邊界的個(gè)數(shù))。
在光柵掃描期間,對(duì)考慮之中的普通像素,確定其左邊界是否 屬于前景目標(biāo)輪廓,這意味著在輸出紋理393中具有不同于0的值
作為與該像素相關(guān)的一對(duì)值中的第一值。
當(dāng)遇到這樣的像素時(shí),對(duì)該像素確定它是否滿足/D/e/if-0:在 肯定的情形下,已經(jīng)遇到了新的輪廓變量/flW-cwm"r的值增加1, 變量的值i殳置為左,且變量的值i殳置為0。 然后重復(fù)下面的運(yùn)算,直到整個(gè)輪廓已經(jīng)服從
-對(duì)于所考慮的像素,與變量幻/Y/er-印/7e的值相對(duì)應(yīng)的在標(biāo)識(shí) 符/Z)/e"和/Dm/ 之間的一個(gè)標(biāo)識(shí)符i殳置為等于變量/"s"w"w&r的
值;
-利用包括在輸出紋理393中的信息,確定輪廓是否以左邊的
像素邊界繼續(xù)還是以上面的像素邊界繼續(xù);例如,參照?qǐng)D9C,當(dāng)遇
到像素825時(shí),從關(guān)于其的存儲(chǔ)的值(3; 3)中,有可能確定像素
左邊界屬于的輪廓以同一像素的上邊界繼續(xù);
-將存儲(chǔ)在輸出紋理393中的關(guān)于該像素的值用于確定移動(dòng)到 輪廓繼續(xù)的下 一個(gè)像素要應(yīng)用的圖像行和/或列增量;
一變量增加1。
例如,再一次考慮圖9C中的像素825,在其左邊界遇到輪廓之 后,下一重復(fù)再次涉及像素825 (在這種情形中行和列增量都為0), 并且具體地說,其上邊界;像素825的標(biāo)識(shí)符設(shè)置為與變量 /W-"""&r的值相同,因此斷言像素825的上邊界屬于與其左邊界 相同的輪廓,確定下一個(gè)像素的位置(即,圖8A中的像素805),
變量增加1等等。
重復(fù)進(jìn)行這些運(yùn)算,直到像素坐標(biāo)(行和列)與那個(gè)輪廓的所 遇到的第 一像素的所保存坐標(biāo)重合為止。
相反,當(dāng)在光柵掃描期間,遇到其左邊界屬于前景目標(biāo)輪廓但
標(biāo)識(shí)符JZ)/e/jf的值不為0的像素,與由像素的標(biāo)識(shí)符/D/e/if的值標(biāo)識(shí) 的輪廓相關(guān)且當(dāng)輪廓第 一次被標(biāo)識(shí)時(shí)最初設(shè)置為"假,,的變量,Vw/rfe (內(nèi))的值,被設(shè)置為它先前值的否,以便表示處理之中的該像素 在處理之中的像素的標(biāo)識(shí)符/Z)/^/3f的值所標(biāo)識(shí)的輪廓之內(nèi)。
圖IOH示出分割過程的結(jié)果原始的背景已經(jīng)用不同的背景代 替了,在這種情形中,是用單色背景代替原始的背景。結(jié)果相對(duì)整 潔且沒有明顯的偽像。
例如借助于適當(dāng)?shù)能浖梢韵喈?dāng)容易地實(shí)現(xiàn)本發(fā)明。然而,用 軟件實(shí)現(xiàn)并不意味著對(duì)本發(fā)明的限制,本發(fā)明也能夠完全用硬件實(shí) 現(xiàn),或用軟件和硬件混合實(shí)現(xiàn)。
盡管已經(jīng)通過某些實(shí)施例公開和描述了本發(fā)明,對(duì)于本領(lǐng)域的 技術(shù)人員而言顯而易見的是在不違背所附權(quán)利要求所限定的范圍 的情況下,對(duì)本發(fā)明的所述實(shí)施例以及其它實(shí)施例進(jìn)行幾種修改是 可能的。
例如,代替生成二進(jìn)制掩碼或除生成二進(jìn)制掩碼之外,即二進(jìn)
制掩碼是其中當(dāng)視頻幀的像素屬于前景時(shí)每個(gè)像素用'T,表征,或者 當(dāng)像素屬于背景時(shí)用"O,,表征的掩碼,能夠生成"alpha"掩碼,其中每 個(gè)像素用范圍連續(xù)的值表征,或取在兩個(gè)端點(diǎn),例如0和1,之內(nèi)的 離散值的集合中的一個(gè);等于兩個(gè)端點(diǎn)中的一個(gè)的值意味著,如在 二進(jìn)制掩碼的情形中一樣,像素或者屬于背景或者屬于前景;兩個(gè) 端點(diǎn)之間的中間值表示像素被識(shí)別為屬于前景和背景之間的邊界 (例如,頭發(fā),其使得通話頭的輪廓不尖銳),其中優(yōu)選的是過渡 是平滑的而不是突然的。
同樣,正如前面已指出的那樣,盡管在可能發(fā)明的實(shí)施例中,
GPU有利地用于執(zhí)行分割算法中涉及的大部分運(yùn)算,在替換實(shí)施例 中,沒有什么阻止已經(jīng)描述為由GPU執(zhí)行的一個(gè)或多個(gè)運(yùn)算由CPU 代替執(zhí)行。
此外,不是利用HSV轉(zhuǎn)換,可以使用不同的彩色空間(例如象 HIS、 YUV等等)。
而且,盡管前面已經(jīng)始終參考了由視頻攝像機(jī)實(shí)時(shí)捕獲的視頻 幀序列,但這并不認(rèn)為是對(duì)本發(fā)明的限制。事實(shí)上,待被分割的視 頻序列可以是已經(jīng)存在的視頻序列,例如,存儲(chǔ)于數(shù)據(jù)處理i殳備存 儲(chǔ)器中的視頻序列。
權(quán)利要求
1.一種圖像處理方法,包括-接收視頻序列中的至少一個(gè)視頻幀,至少一個(gè)視頻幀包括至少一個(gè)前景目標(biāo)和背景;以及-處理所述至少一個(gè)視頻幀,以便將所述至少一個(gè)前景目標(biāo)與所述背景分離;其中所述處理包括-獲得包括所述背景的參考圖像;-比較至少一個(gè)視頻幀和參考圖像;以及-作為所述比較的結(jié)果生成像素掩碼,所述像素掩碼指示至少一個(gè)視頻幀的像素是屬于前景目標(biāo)還是背景,特征在于,還包括-至少部分地確定在所述至少一個(gè)視頻幀中的所述至少一個(gè)前景目標(biāo)的邊緣;-基于所確定的前景目標(biāo)邊緣修改像素掩碼。
2. 如權(quán)利要求1的方法,其中所述至少部分地確定在所述至少 一個(gè)^L頻幀中的所述至少一個(gè)前景目標(biāo)的邊緣包括-確定至少 一個(gè)視頻幀中的邊緣; -確定參考圖像中的邊緣;一比較所確定的至少一個(gè)視頻幀的邊緣和所確定的參考圖像的邊緣。
3. 如權(quán)利要求2的方法,其中所述至少部分地確定在所述至少 一個(gè)視頻幀中的所述至少 一個(gè)前景目標(biāo)的邊緣包括識(shí)別如下^L頻幀的像素-屬于所確定的至少一個(gè)視頻幀中的邊緣且不屬于所確定的參 考圖像中的邊緣。
4. 如權(quán)利要求2或3的方法,其中所述至少部分地確定在所述 至少 一個(gè)視頻幀中的所述至少 一個(gè)前景目標(biāo)的邊緣包括識(shí)別如下視頻幀的像素-屬于所確定的參考圖像中的邊緣且不屬于所確定的至少一個(gè) 視頻幀中的邊緣。
5.如權(quán)利要求3或4的方法,其中所述修改像素掩碼包括向 前景掩碼添加識(shí)別出的像素。
6. 如權(quán)利要求2至5中任一個(gè)的方法,其中所述確定至少一個(gè) 視頻幀中的邊緣或者,分別地,所述參考圖像中的邊緣包括-高通濾波所述至少一個(gè)視頻幀或者,分別地,所述參考圖像。
7. 如權(quán)利要求6的方法,其中所述高通濾波所迷至少一個(gè)視頻幀 或者,分別地,所述參考圖像包括-計(jì)算關(guān)于至少一個(gè)視頻幀的像素的亮度值或者,分別地,關(guān)于 參考圖像的像素的亮度值;以及-將至少一個(gè)梯度算子應(yīng)用于至少一個(gè)視頻幀中的像素的所計(jì) 算的亮度值或者,分別地,參考圖像中的像素的所計(jì)算的亮度值,以 便獲得像素的亮度梯度值。
8. 如權(quán)利要求7的方法,其中所迷將至少一個(gè)梯度算子應(yīng)用于所計(jì)算的像素的亮度值包括-應(yīng)用用于獲得亮度梯度沿笫一預(yù)定方向的第一分量的值的第一梯度算子;-應(yīng)用用于獲得亮度梯度沿第二預(yù)定方向的第二分量的值的第 二梯度算子;-通過將亮度梯度的第一分量和第二分量的值進(jìn)行組合來獲得 亮度梯度值。
9. 如權(quán)利要求7或8的方法,還包括一通過從至少 一個(gè)視頻幀中的像素的亮度梯度值中減去參考圖 像中對(duì)應(yīng)像素的亮度梯度值,獲得亮度梯度差值。
10. 如權(quán)利要求9的方法,其中所述修改像素掩碼包括一如果亮度梯度差的絕對(duì)值超過預(yù)定閾值,則將像素分配給像素 掩碼中的前景目標(biāo)。
11. 如權(quán)利要求7至10中任一個(gè)的方法,其中所迷至少一個(gè)梯度 算子包括Sobel算子。
12. 如權(quán)利要求1至11中任一個(gè)的方法,其中所述獲得參考圖像 包括基于不包括前景目標(biāo)的多個(gè)視頻幀,獲得背景統(tǒng)計(jì)模型。
13. 如權(quán)利要求12的方法,其中所述獲得背景統(tǒng)計(jì)模型包括 -提供不包括前景對(duì)象的視頻幀的HSV彩色空間描述; -計(jì)算所述多個(gè)視頻幀中的所捕獲的視頻幀的每個(gè)像素的HSV坐標(biāo)的均值。
14. 如權(quán)利要求1至13中任一個(gè)的方法,還包括低通濾波修改 后的像素掩碼。
15. 如權(quán)利要求14的方法,其中所述低通濾波修改后的像素掩碼 包括將高斯濾波器應(yīng)用到修改后的掩碼。
16. 如權(quán)利要求1至15中任一個(gè)的方法,還包括將形態(tài)學(xué)閉運(yùn) 算應(yīng)用到修改后的像素掩碼。
17. 如權(quán)利要求16和14的方法,其中,在所述低通濾波之后應(yīng) 用所述形態(tài)學(xué)閉運(yùn)算。
18. —種數(shù)據(jù)處理設(shè)備,包括至少一個(gè)適于執(zhí)行根據(jù)權(quán)利要求1 至17中任一個(gè)的圖像處理方法的模塊。
19. 如權(quán)利要求18的數(shù)據(jù)處理設(shè)備,其中,數(shù)據(jù)處理設(shè)備包括視 頻電話。
20. 如權(quán)利要求18的數(shù)據(jù)處理設(shè)備,其中數(shù)據(jù)處理設(shè)備包括視頻 會(huì)議設(shè)備。
全文摘要
一種圖像處理方法,包括接收視頻序列中的至少一個(gè)視頻幀,至少一個(gè)視頻幀包括至少一個(gè)前景目標(biāo)和背景;以及處理至少一個(gè)視頻幀,以便將至少一個(gè)前景目標(biāo)與所述背景分離。所述處理包括獲得包括背景的參考圖像;比較至少一個(gè)視頻幀和參考圖像;以及作為所述比較的結(jié)果生成像素掩碼,所述像素掩碼指示至少一個(gè)視頻幀的像素是否屬于前景目標(biāo)或背景。該方法還包括至少部分地確定在所述至少一個(gè)視頻幀中的所述至少一個(gè)前景目標(biāo)的邊緣;以及基于所確定的前景目標(biāo)邊緣修改像素掩碼。
文檔編號(hào)G06T5/00GK101371274SQ200580052555
公開日2009年2月18日 申請(qǐng)日期2005年12月30日 優(yōu)先權(quán)日2005年12月30日
發(fā)明者A·瓦雷斯歐, L·羅塞托 申請(qǐng)人:意大利電信股份公司