技術(shù)宅
平時(shí)我們拍攝的圖片,前景的人或物往往是和作為背景的風(fēng)景緊密結(jié)合在一起的,要想實(shí)現(xiàn)精準(zhǔn)摳圖并不容易,需要經(jīng)過一系列精細(xì)的操作(圖1)。
我們以通道摳頭發(fā)絲操作為例。首先需要找出對(duì)象最清晰的通道,接著復(fù)制通道,再對(duì)通道的色階進(jìn)行調(diào)整,然后使用畫筆工具涂抹人物以及需要的頭發(fā)部分,最后進(jìn)行反向選擇、圖層復(fù)制等才能完成一次摳圖操作(圖2)。在此過程中,因?yàn)轭^發(fā)絲比較細(xì)小而且混亂,光是涂抹選取就需要花費(fèi)大量的時(shí)間。
除了上面的介紹外,如果摳取復(fù)雜背景的圖片,還可能需要多種工具結(jié)合在一起使用,這就必須了解蒙版、通道、快速選擇、圖層模式等用法。正是因?yàn)閾笀D的專業(yè)性很強(qiáng),因此對(duì)于普通人來說,要想熟練掌握摳圖技巧,就得反復(fù)不斷地練習(xí),這絕對(duì)是件技術(shù)活。
大部分人并沒有時(shí)間花費(fèi)在摳圖的學(xué)習(xí)上,所以各種摳圖工具應(yīng)運(yùn)而生,其中比較引人注目的是新近出現(xiàn)的Remove. bg網(wǎng)站,他們聲稱可以將這個(gè)復(fù)雜的技術(shù)活零門檻化。在網(wǎng)站的演示中可以看到,即使是類似頭發(fā)絲的高難度摳圖操作,通過網(wǎng)站的處理也可以輕松完成(圖3)。
Remove.bg的極速摳圖,其實(shí)是借助具有深度學(xué)習(xí)功能的Pythonl具來實(shí)現(xiàn)的。Python是一種程序開發(fā)語言,經(jīng)常被設(shè)計(jì)用于編寫自動(dòng)化腳本(Shell),通過一系列的腳本代碼實(shí)現(xiàn)很多自動(dòng)操作,摳圖便是它在圖像領(lǐng)域中的一個(gè)典型應(yīng)用(圖4)。
在Pytho門摳圖處理的腳本中,腳本代碼首先選定要抽取對(duì)象的區(qū)域,通過一定的算法將圖像識(shí)別為區(qū)域內(nèi)(前景)和區(qū)域外(背景)兩部分。接著基于選定的區(qū)域,其中的Grabcut算法會(huì)對(duì)圖像的背景和前景進(jìn)行分割,同時(shí)循環(huán)處理前景內(nèi)容,將其中的前景提取出來并將背景內(nèi)容刪除,從而實(shí)現(xiàn)摳圖(圖5)。
當(dāng)然僅僅依靠腳本無法完全實(shí)現(xiàn)對(duì)任意圖像的背景和前景進(jìn)行分割,為了能夠讓腳本有更高效和精準(zhǔn)的處理功能,Remove.bg將Pytho門自動(dòng)處理腳本和深度機(jī)器學(xué)習(xí)結(jié)合起來。為了讓腳本可以精準(zhǔn)識(shí)別出前景物件,開發(fā)者預(yù)先借助一些機(jī)器學(xué)習(xí)庫和Python框架來制定一些算法,如Scikit和Tensorflow機(jī)器學(xué)習(xí)算法。這些算法可以自動(dòng)檢測(cè)輸入中的模式,這樣開發(fā)者先將一些圖片給算法學(xué)習(xí),輸入很多前后景混合的人物照片讓機(jī)器學(xué)習(xí)。以輸入斑馬在草原上的照片為例,算法可以將照片中的斑馬和草原環(huán)境識(shí)別出來(圖6)。
為了讓算法擁有更高的識(shí)別能力,開發(fā)者還準(zhǔn)備了很多類似的斑馬圖片,比如斑馬在動(dòng)物園中、籠子里、樹叢中的各種圖片供機(jī)器學(xué)習(xí)。利用深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò),通過海量圖片的學(xué)習(xí)和自我糾錯(cuò),使得機(jī)器算法最終對(duì)各種照片中的前景和后景能精準(zhǔn)識(shí)別出來。
最后開發(fā)者將這套算法生成的模型部署在Remove.bg服務(wù)器端,用戶只要通過網(wǎng)站上傳圖片,網(wǎng)站后臺(tái)的算法就可以實(shí)現(xiàn)對(duì)照片前景后景的準(zhǔn)確識(shí)別并實(shí)現(xiàn)摳圖,用戶只需稍等片刻,然后下載處理好的摳圖就可以了(圖7)。
如上所述,借助Remove. bg網(wǎng)站,普通人通過部署在網(wǎng)站的算法服務(wù)就可以實(shí)現(xiàn)快速摳圖,這樣大大降低了摳圖的技術(shù)難度。比如想在朋友圈滿足一下自己在全球各地的旅游美圖,那么只要自拍一張人物照,然后上傳摳圖,并將摳圖貼在國(guó)外旅游景點(diǎn)上就OK了(圖8)。當(dāng)然也可以進(jìn)行各種惡搞特效制作。
其實(shí)不僅僅是摳圖,Python的自動(dòng)處理腳本還可以應(yīng)用到更多的領(lǐng)域。比如可以借助腳本對(duì)照片中人物臉部的識(shí)別,結(jié)合人臉識(shí)別技術(shù)快速在眾多的監(jiān)控照片中提取犯罪嫌疑人照片。再比如將其應(yīng)用到網(wǎng)站購物上,通過自動(dòng)識(shí)別將各大購物網(wǎng)站的同類商品全部提取出來供我們選擇、參考,我們的生活將因此而越來越便利。