本發(fā)明屬于圖像處理,特別涉及一種模擬光照的數(shù)據(jù)增強方法。
背景技術:
1、現(xiàn)有技術中,基于光照子空間模型的任意光照圖像數(shù)據(jù)生成方法,用于生成多個不同光照條件的訓練樣本。然而,可作為樣本數(shù)據(jù)庫的的圖片太少了,需要大量在不同光照下的人臉,需求量巨大,很難準確建立光照子模型。并且,耗時長,無法實用。
2、此外,常用的技術術語包括:
3、1.數(shù)據(jù)增強:用于增強模型的泛化性能,通過對訓練數(shù)據(jù)進行預處理,模擬真實場景的人臉光照、模糊、噪聲等情況,讓模型訓練的泛化性能更好。
4、2.圖像掩膜:用選定的圖像、圖形或物體,對處理的圖像(全部或局部)進行遮擋,來控制圖像處理的區(qū)域。
5、3.光照子空間模型,利用不同光照條件下的同一人臉的圖像,通過光度立體學原理來恢復人臉的紋理和三維形狀,從而建立人臉的三維模型,然后再通過三維人臉模型去合成各種光線的姿態(tài)和人臉圖像。
技術實現(xiàn)思路
1、為了解決上述問題,本申請的目的在于:
2、目前,由于光照的不同給人臉圖像帶來的變化超過了不同人臉之間圖像的變化,人臉識別效果較差,本方法生成模擬光照作為數(shù)據(jù)增強,使得人臉識別的效果達到顯著提升。
3、具體地,本發(fā)明提供一種模擬光照的數(shù)據(jù)增強方法,所述方法生成類似真實光照中心亮周圍暗的掩膜,通過圖片與掩膜相乘的方式即圖片對應位置的像素值與掩膜相應位置的像素值相乘生成模擬真實光照的情況;所述方法包括以下步驟:
4、s1.計算圖片的大小,表示為:imgsize=img.shape[0],img為輸入的圖片;
5、s2.創(chuàng)建一個小于圖片大小的掩膜mask,其大小為size;所述掩膜是用一幅二值化圖像,對另一個圖片進行局部的遮擋,掩膜的大小,取值范圍是:[30,imgsize],
6、創(chuàng)建一個大小為imgsize*imgsize大小,像素值為0的圖片,表示為:
7、mask=np.ones((imgsize,imgsize),dtype=np.float32);
8、在[30,imgsize]間隨機生成一個值,作為掩膜的大小,表示為:
9、size=np.random.randint(30,imgsize);
10、s3.隨機定義光斑的大小,光斑的數(shù)值為[0,π]的單調(diào)遞增的數(shù)列,定義為x,表示為:
11、x=np.linspace(0,np.pi,size);
12、s4.設置光斑的亮度為sin(x)*亮度值;亮度值設置為[0.8,1.2],定義為y,表示為:
13、y=np.sin(x)*np.random.choice([0.8,1.2]),
14、其中,亮度值越大,光斑的亮度越大;
15、s5.將一維的y,變?yōu)?size,size)大小的向量kernel,使用reshape,強制對向量的大小變?yōu)椴襟Es2中的s?ize;所述kernel為亮斑,表示為:kernel=y(tǒng).reshape(size,1)*y.reshape(1,size);
16、s6.在掩膜上定義亮斑的位置,兩者進行疊加,
17、在[0,imgsize-size]的范圍中,取兩個值,2的含義是取兩個值;表示為:offset_x,offset_y=np.random.randint(0,imgsize-size,(2));
18、在掩膜的寬的取值范圍[offset_y:offset_y+size],高的取值范圍[offset_x:offset_x+size]范圍內(nèi),將掩膜與亮斑的像素值進行疊加,其中這部分區(qū)域為感興趣區(qū)域,表示為:
19、mask[offset_y:offset_y+size,offset_x:offset_x+size]+=kernel;
20、s7.圖片的像素與掩膜相乘,得到一個模擬光照的圖像,
21、將掩膜的大小縮放到(imgsize,imgsize,1)圖片與掩膜相乘,相應位置的像素值進行相乘,表示為:
22、img=img*mask.reshape(imgsize,imgsize,1);
23、圖片像素值的取值范圍是(0,255),對img中的每個像素值進行截斷,防止其越界,表示為:img=np.clip(img,0,255).astype(np.uint8);
24、其中,img為輸入圖片,mask含有亮斑的掩膜,兩者的大小相同。
25、所述步驟s1中所述圖片的大小是任意值,包括:96*96,112*112,1024*10214。
26、所述圖片的大小使用的值是96*96或112*112。
27、所述步驟s7中所述圖像與掩膜相乘:mask的步驟s6感興趣區(qū)域內(nèi)的像素與img相同位置的像素值進行乘法運算操作,這樣同時會不改變非感興趣區(qū)域的像素值。
28、由此,本申請的優(yōu)勢在于:
29、本方法簡單、高效,對各種成像質量的圖片,效果是一樣的。不會對現(xiàn)有訓練集的人臉細節(jié)特征產(chǎn)生影響。經(jīng)過實驗證明,通過這個方式作為數(shù)據(jù)增強,對不同光照下的人臉識別效果是有明顯提升的。
1.一種模擬光照的數(shù)據(jù)增強方法,其特征在于,所述方法生成類似真實光照中心亮周圍暗的掩膜,通過圖片與掩膜相乘的方式即圖片對應位置的像素值與掩膜相應位置的像素值相乘生成模擬真實光照的情況;所述方法包括以下步驟:
2.根據(jù)權利要求1所述的一種模擬光照的數(shù)據(jù)增強方法,其特征在于,所述步驟s1中所述圖片的大小是任意值,包括:96*96,112*112,1024*10214。
3.根據(jù)權利要求2所述的一種模擬光照的數(shù)據(jù)增強方法,其特征在于,所述圖片的大小使用的值是96*96或112*112。
4.根據(jù)權利要求1所述的一種模擬光照的數(shù)據(jù)增強方法,其特征在于,所述步驟s7中所述圖像與掩膜相乘:mask的步驟s6感興趣區(qū)域內(nèi)的像素與img相同位置的像素值進行乘法運算操作,這樣同時會不改變非感興趣區(qū)域的像素值。