本發(fā)明屬于多媒體信息技術(shù)領(lǐng)域,尤其涉及一種圖片殘缺自動補繪方法。
背景技術(shù):
很多因素都會導致圖片出現(xiàn)殘缺,如,圖片中某一logo(標識)遮擋住了圖片的部分內(nèi)容;又如,圖片在拍攝過程中某些物體誤入畫面等,圖片中殘缺的存在大大降低了圖片的觀賞舒適度。
當前圖片的補繪技術(shù)多為應(yīng)用于視頻中的補繪技術(shù)。如,利用視頻中的冗余信息對其中的殘缺進行補繪,具體,我們知道當前幀中缺損的部分可能在前面若干幀或后面若干幀中出現(xiàn),因此可以利用視頻的冗余信息實現(xiàn)目的,通過視頻中的其它幀來對當前幀中的缺失部分進行補充。
但是上述利用視頻冗余信息會圖片進行補繪方法依賴于視頻的冗余信息,當只有單幅圖片時此種方法就無法對其進行補繪了。
技術(shù)實現(xiàn)要素:
針對上述問題,本發(fā)明旨在提供一種圖片殘缺自動補繪方法,有效解決了單幅圖片中對圖片殘缺的補繪問題。
本發(fā)明提供的技術(shù)方案如下:
一種圖片殘缺自動補繪方法,包括如下步驟:
S1創(chuàng)建約束玻爾茲曼機并對其進行訓練;
S2利用訓練后的約束波爾茲曼機,基于待補繪圖片中非殘缺區(qū)域的已知像素對殘缺區(qū)域的未知像素進行補繪,得到完整圖片。
進一步優(yōu)選地,在步驟S1中具體包括:
S11選用與待補繪圖片中像素數(shù)量相同的圖片作為訓練圖片;
S12將待訓練圖片的像素作為約束玻爾茲曼機中顯層神經(jīng)元的值,并將此時顯層神經(jīng)元的狀態(tài)記為第一訓練狀態(tài)
S13基于第一訓練狀態(tài)中各顯層神經(jīng)元的值得到隱層神經(jīng)元中各神經(jīng)元的第一訓練激活概率
S14抽樣得到隱層神經(jīng)元的激活狀態(tài),并將其記為第一訓練激活狀態(tài)
S15基于第一訓練激活狀態(tài)中各隱層神經(jīng)元的值得到顯層神經(jīng)元中各神經(jīng)元的第二訓練激活概率
S16抽樣得到顯層神經(jīng)元的激活狀態(tài),并記為第二訓練激活狀態(tài)
S17基于第二訓練激活狀態(tài)中各顯層神經(jīng)元的值得到隱層神經(jīng)元中各神經(jīng)元的第三訓練激活概率
S18基于第一訓練狀態(tài)第一訓練激活概率第二訓練激活狀態(tài)以及第三訓練激活概率更新約束玻爾茲曼機的網(wǎng)絡(luò)權(quán)值和偏置值;
S19循環(huán)步驟S11~S18,直到滿足訓練要求,完成約束玻爾茲曼機的訓練。
進一步優(yōu)選地,在步驟S12中具體包括:
S121基于訓練圖片的兩維矩陣得到N*1維的向量,其中,N為訓練圖片的像素數(shù)量;
S122對所述N*1維向量進行歸一化處理,并將歸一化的值作為約束玻爾茲曼機中顯層神經(jīng)元的值。
進一步優(yōu)選地,在步驟S18中具體包括:
S181約束玻爾茲曼機的更新網(wǎng)絡(luò)權(quán)值具體為:
S182隱層神經(jīng)元的更新偏置值為:
S183顯層神經(jīng)元的更新偏置值為:
進一步優(yōu)選地,在步驟S2中具體包括:
S21獲取待補繪圖片中非殘缺區(qū)域的已知像素,并將其進行歸一化作為約束波爾茲曼機顯層神經(jīng)元第一部分狀態(tài)值;
S22將待補繪圖片中殘缺區(qū)域的未知像素取預設(shè)值,作為約束波爾茲曼機顯層神經(jīng)元第二部分狀態(tài)值,將顯層神經(jīng)元第一部分狀態(tài)值和顯層神經(jīng)元第二部分狀態(tài)值記為顯層神經(jīng)元的第一補繪狀態(tài)
S23基于第一補繪狀態(tài)中各顯層神經(jīng)元的值得到隱層神經(jīng)元中各神經(jīng)元的第一補繪激活概率
S24抽樣得到隱層神經(jīng)元的激活狀態(tài),并將其記為第一補繪激活狀態(tài)
S25在所述顯層神經(jīng)元第二部分中根據(jù)預設(shè)規(guī)則選擇一神經(jīng)元,作為優(yōu)先補繪的殘缺像素點k;
S26基于第一補繪激活狀態(tài)中各隱層神經(jīng)元的值以及網(wǎng)絡(luò)權(quán)值W計算得到前述顯層神經(jīng)元第二部分中優(yōu)先補繪的殘缺像素點的激活概率Pk(1),于是得到各顯層神經(jīng)元的第二補繪激活概率
S27令第二補繪激活狀態(tài)
S28基于得到的第二補繪激活狀態(tài)重復步驟S23~S27,以此循環(huán)直到顯層神經(jīng)元第二部分中各殘缺像素點補入完整;
S29基于顯層神經(jīng)元第二部分中補入的各殘缺像素點的激活概率得到相應(yīng)的灰度值,以此得到完整圖片。
6.如權(quán)利要求5所述的圖片殘缺自動補繪方法,其特征在于,在步驟S22中,具體包括:將待補繪圖片中殘缺區(qū)域的未知像素點取值0.5,作為約束波爾茲曼機顯層神經(jīng)元第二部分狀態(tài)值。
進一步優(yōu)選地,在步驟S25中具體包括:
在所述第一補繪激活狀態(tài)中顯層神經(jīng)元第二部分中,選擇相鄰神經(jīng)元中已知像素神經(jīng)元最多的點,作為優(yōu)先補繪的殘缺像素點k。
本發(fā)明提供的圖片殘缺自動補繪方法,其有益效果在于:
在本發(fā)明提供的圖片殘缺自動補繪方法中,使用約束玻爾茲曼機作為補繪裝置,輸入待補繪圖片中非殘缺區(qū)域的像素,利用約束玻爾茲曼機的聯(lián)想功能,自動將待補繪圖片中殘缺區(qū)域的像素點進行補入,以此實現(xiàn)待補繪圖片中任意殘缺位置中像素點的補繪,簡單方便,且補繪出來的圖片效果很好。
另外,在本發(fā)明中,在使用約束玻爾茲曼機對待補繪圖片進行補繪之前,使用與該待補繪圖片像素點相同的圖片作為訓練樣本對其進行訓練,以得到約束玻爾茲曼機中最佳的網(wǎng)絡(luò)權(quán)值矩陣,使得誤差最小,使用該訓練后的玻爾茲曼機對待補繪圖片進行補繪精度更高。
再有,在本發(fā)明中,在補入殘缺區(qū)域中的像素點的過程中,優(yōu)先選用相鄰已知像素點最多的點作為像素點補入殘缺圖片中,且一個一個地對缺失圖片中的像素進行補繪直至補繪完畢,大大提高了殘缺圖片補繪的精確度,使補繪出來的圖片效果更好。
附圖說明
圖1為本發(fā)明中圖片殘缺自動補繪方法流程示意圖;
圖2為本發(fā)明中對約束玻爾茲曼機進行訓練的過程流程示意圖;
圖3為本發(fā)明中基于待補繪圖片中非殘缺區(qū)域的已知像素對殘缺區(qū)域的未知像素進行補繪的流程示意圖;
圖4為本發(fā)明中第一補繪激活狀態(tài)中一個具體實施例中各神經(jīng)元分布示意圖。
具體實施方式
下面結(jié)合附圖和具體實施方式,對本發(fā)明作進一步詳細說明。需要說明的是,下面描述的本發(fā)明的特定細節(jié)僅為說明本發(fā)明用,并不構(gòu)成對本發(fā)明的限制。根據(jù)所描述的本發(fā)明的教導做出的任何修改和變型也在本發(fā)明的范圍內(nèi)。
如圖1所示為本發(fā)明提供的圖片殘缺自動補繪方法流程示意圖,從圖中可以看出,在該圖片殘缺自動補繪方法中包括:S1創(chuàng)建約束玻爾茲曼機并對其進行訓練;S2利用訓練后的約束波爾茲曼機,基于待補繪圖片中非殘缺區(qū)域的已知像素對殘缺區(qū)域的未知像素進行補繪,得到完整圖片。
具體來說,如圖2所示,在步驟S1,即對約束玻爾茲曼機進行訓練的過程中具體包括:
S11選用與待補繪圖片中像素數(shù)量相同的圖片作為訓練圖片。具體來說,這里的訓練圖像的像素個數(shù)與顯層神經(jīng)元中神經(jīng)元的個數(shù)相同。
S12將待訓練圖片的像素作為約束玻爾茲曼機中顯層神經(jīng)元的值,并將此時顯層神經(jīng)元的狀態(tài)記為第一訓練狀態(tài)更具體來說,我們知道約束波爾茲曼機由兩層二值神經(jīng)元組成,一層為顯層一層為隱層,因而,在步驟S12中具體包括:S121基于訓練圖片的兩維矩陣得到N*1維的向量,其中,N為訓練圖片的像素數(shù)量;S122對N*1維向量進行歸一化處理,并將歸一化的值作為約束玻爾茲曼機中顯層神經(jīng)元的值。在一個具體實施例中,假定所有的訓練圖片均為灰度圖片,且共有256個灰度級,則將訓練圖片的兩維矩陣得到N*1維的向量之后除以255將向量中每個元素的值歸一化至[0~1]之間。
S13基于第一訓練狀態(tài)中各顯層神經(jīng)元的值得到隱層神經(jīng)元中各神經(jīng)元的第一訓練激活概率具體,激活概率根據(jù)公式進行計算,其中,bk表示神經(jīng)元的偏置;(x1,x2,...,xm)為該神經(jīng)元的輸入信號;(wk1,wk2,...,wkm)為每一個輸入信號對應(yīng)的網(wǎng)絡(luò)權(quán)值;yk為神經(jīng)元的輸出。
S14抽樣得到隱層神經(jīng)元的激活狀態(tài),并將其記為第一訓練激活狀態(tài)
S15基于第一訓練激活狀態(tài)中各隱層神經(jīng)元的值得到顯層神經(jīng)元中各神經(jīng)元的第二訓練激活概率該第二訓練激活概率的計算方法與步驟S13相同。
S16抽樣得到顯層神經(jīng)元的激活狀態(tài),并記為第二訓練激活狀態(tài)
S17基于第二訓練激活狀態(tài)中各顯層神經(jīng)元的值得到隱層神經(jīng)元中各神經(jīng)元的第三訓練激活概率該第三訓練激活概率的計算方法與步驟S13相同。
S18基于第一訓練狀態(tài)第一訓練激活概率第二訓練激活狀態(tài)以及第三訓練激活概率更新約束玻爾茲曼機的網(wǎng)絡(luò)權(quán)值和偏置值;更具體來說,在本步驟中,約束玻爾茲曼機的更新網(wǎng)絡(luò)權(quán)值具體為:S192隱層神經(jīng)元的更新偏置值為:S193顯層神經(jīng)元的更新偏置值為:
S19循環(huán)步驟S11~S18,直到滿足訓練要求,完成約束玻爾茲曼機的訓練。這里說的訓練要求具體為訓練圖片在經(jīng)過約束玻爾茲曼機進行訓練之后,得到的隱層神經(jīng)元與輸入的顯層神經(jīng)元之間的誤差盡可能的小,在預設(shè)誤差范圍之內(nèi),而該誤差由網(wǎng)絡(luò)權(quán)值W決定,故循環(huán)上述步驟S11~S18對網(wǎng)絡(luò)權(quán)值W進行更新直到約束玻爾茲曼機達到訓練要求停止訓練,或者網(wǎng)絡(luò)訓練中迭代次數(shù)達到最大值停止訓練。另外,要說明的是,對約束玻爾茲曼機進行往復訓練的過程中,可以選取與待補繪圖片中像素數(shù)量相同的另外一幅圖片作為訓練圖片,也可以使用與前一次訓練相同的訓練圖片,不做限定。
在步驟S2中,如圖3所示,利用訓練后的約束波爾茲曼機,基于待補繪圖片中非殘缺區(qū)域的已知像素對殘缺區(qū)域的未知像素進行補繪具體包括:
S21獲取待補繪圖片中非殘缺區(qū)域的已知像素,并將其進行歸一化作為約束波爾茲曼機顯層神經(jīng)元第一部分狀態(tài)值。在一個具體實施例中,假定待補繪圖片為灰度圖片,且共有256個灰度級,則將待補繪圖片中非殘缺區(qū)域的兩維矩陣得到X*1維的向量之后除以255將向量中每個元素的值歸一化至[0~1]之間,其中,X為該待補繪圖片中已知像素的個數(shù)。
S22將待補繪圖片中殘缺區(qū)域的未知像素取預設(shè)值,作為約束波爾茲曼機顯層神經(jīng)元第二部分狀態(tài)值,將顯層神經(jīng)元第一部分狀態(tài)值和顯層神經(jīng)元第二部分狀態(tài)值記為顯層神經(jīng)元的第一補繪狀態(tài)在一個具體實施例中,將待補繪圖片中殘缺區(qū)域的未知像素點取值0.5,作為約束波爾茲曼機的顯層神經(jīng)元第二部分狀態(tài)值。
S23基于第一補繪狀態(tài)中各顯層神經(jīng)元的值得到隱層神經(jīng)元中各神經(jīng)元的第一補繪激活概率
S24抽樣得到隱層神經(jīng)元的激活狀態(tài),并將其記為第一補繪激活狀態(tài)
S25在所述顯層神經(jīng)元第二部分中根據(jù)預設(shè)規(guī)則選擇一神經(jīng)元,作為優(yōu)先補繪的殘缺像素點k。具體包括:在第一補繪激活狀態(tài)顯層神經(jīng)元第二部分中,選擇相鄰神經(jīng)元中已知像素神經(jīng)元最多的點,作為優(yōu)先補繪的殘缺像素點k。在一個具體實施例中,如圖4所示,假若實心圓表示已知像素點,空心圓表示未知像素點(待補入的殘缺像素點)。當前要從這4個空心圓中選擇一個作為首先填充的未知像素點。從圖中可以看出,與4各空心圓最左下角的空心圓相鄰的8個像素點中有5個是已知像素的,其它未知像素點只有2個或0個相鄰的已知像素點,所以優(yōu)先選擇4各空心圓最左下角的空心圓的位置作為優(yōu)先填充的殘缺像素點k。
S26基于第一補繪激活狀態(tài)中各隱層神經(jīng)元的值以及網(wǎng)絡(luò)權(quán)值W計算得到前述顯層神經(jīng)元第二部分中優(yōu)先補繪的殘缺像素點的激活概率于是得到各顯層神經(jīng)元的第二補繪激活概率
S27令第二補繪激活狀態(tài)
S28基于得到的第二補繪激活狀態(tài)重復步驟S23~S27,以此循環(huán)直到顯層神經(jīng)元第二部分中各殘缺像素點補入完整。
S29基于顯層神經(jīng)元第二部分中補入的各殘缺像素點的激活概率得到相應(yīng)的灰度值,以此得到完整圖片。在一個具體實施例中,假定所有的待補繪圖像均共有256個灰度級,則將顯層神經(jīng)元第二部分中補入的各殘缺像素點的激活概率乘以255得到未知像素的灰度值,以此完成待補繪圖片的補繪。
以上通過分別描述每個過程的實施場景案例,詳細描述了本發(fā)明,本領(lǐng)域的技術(shù)人員應(yīng)能理解。在不脫離本發(fā)明實質(zhì)的范圍內(nèi),可以作修改和變形。