com技术内幕 代码_CFan科学院:零门槛极速抠图技术探秘
將照片中的人或物從背景中分離出來,俗稱摳圖。要實現完美的摳圖,沒有一定的PS(Photoshop)基礎是根本無法實現的,不過現在有個名為Remove.bg的網站,號稱5秒鐘就可以完成復雜的摳圖,徹底將摳圖難度降到了零門檻!這個工具到底是怎么實現極速摳圖的呢?讓我們一探其背后的技術內幕。
摳圖曾經是技術活
平時我們拍攝的圖片,前景的人或物往往是和作為背景的風景緊密結合在一起的,要想實現精準摳圖并不容易,需要經過一系列精細的操作(圖1)。
圖1 摳圖步驟圖解
我們以通道摳頭發絲操作為例。首先需要找出對象最清晰的通道,接著復制通道,再對通道的色階進行調整,然后使用畫筆工具涂抹人物以及需要的頭發部分,最后進行反向選擇、圖層復制等操作才能完成一次摳圖操作(圖2)。過程中,因為頭發絲比較細小而且混亂,光是涂抹選取就需要花費大量的時間。
圖2 通道摳圖操作
除了上面的介紹外,如果摳取復雜背景的圖片,還可能需要多種工具結合在一起使用,這就必須了解蒙版、通道、快速選擇、圖層模式等等知識。正是因為摳圖的專業性很強,因此對于普通人來說要想熟練掌握摳圖技巧,就得反復不斷的練習,這絕對是件技術活。
極速摳圖讓普通人變身PS大神
大部分人并沒有時間花費在摳圖學習上,所以各種摳圖工具應運而生,其中比較引人注目的是新近出現的Remove.bg網站,他們聲稱可以將這個復雜的技術活零門檻化。在網站的演示中可以看到,即使是類似頭發絲的高難度摳圖操作,通過網站的處理也可以輕松完成(圖3)。
圖3 網站摳圖演示
Remove.bg的極速摳圖,其實是借助具有深度學習功能的Python工具來實現的。Python是一種程序開發語言,經常被設計用于編寫自動化腳本(Shell),通過一系列的腳本代碼實現很多自動操作,摳圖便是它在圖像領域中的一個典型應用(圖4)。
圖4 Python語言
在Python摳圖處理的腳本中,腳本代碼首先選定要抽取對象的區域,通過一定的算法將圖像識別為區域內(前景)和區域外(背景)兩部分。接著基于選定區域,其中的Grabcut算法會對圖像背景和前景進行分割,同時循環處理前景內容,將其中的前景提取出來并將背景內容刪除,從而實現摳圖(圖5)。
當然僅僅依靠腳本無法完全實現對任意圖像背景和前景進行分割,為了能夠讓腳本有著更高效和精準的處理功能。Remove.bg將Python自動處理腳本和深度機器學習結合起來,為了讓腳本可以精準識別出前景物件,開發者預先借助一些機器學習庫和Python框架來制定一些算法,如Scikit和Tensorflow機器學習算法。這些算法可以自動檢測輸入中的模式,這樣開發者先將一些圖片給算法學習,輸入很多前后景混合的人物照片讓機器學習。以輸入斑馬在草原上的照片為例,算法可以將照片中的老虎和草原環境識別出來(圖6)。
圖6 機器算法
為了讓算法擁有更高的識別能力,開發者還準備了很多類似的斑馬圖片,比如斑馬在動物園中、籠子里、樹叢中的各種圖片供機器學習。利用深度學習和神經網絡,通過海量圖片的學習和自我糾錯,使得機器算法最終對各種照片中的前景后景能精準識別出來。
最后開發者將這套算法生成的模型部署在Remove.bg服務器端,用戶只要通過網站上傳圖片,網站后臺的算法就可以實現對照片前景后景的準確識別并實現摳圖,用戶只需稍等片刻,然后下載處理好的摳圖就可以了(圖7)。
圖7 Remove.bg摳圖流程圖解
Python不僅僅會摳圖
如上所述,借助Remove.bg網站,普通人通過部署在網站的算法服務就可以實現快速摳圖,這樣大大降低摳圖的技術難度。比如想在朋友圈滿足下自己在全球各地的旅游美圖,那么只要自拍一張人物照,然后上傳摳圖,并將摳圖貼在國外旅游景點上就OK了。當然也可以進行各種惡搞特效制作。
其實不僅僅是摳圖,Python的自動處理腳本還可以應用到更多的領域。比如可以借助腳本對照片中人物臉部的識別,結合人臉識別技術快速在眾多的監控照片中提取犯罪嫌疑人照片。再比如將其應用到網站購物上,通過自動識別將各大購物網站同類商品全部提取出來供我們選擇、參考,我們的生活將因此而越來越便利。
總結
以上是生活随笔為你收集整理的com技术内幕 代码_CFan科学院:零门槛极速抠图技术探秘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 透明怎么弄_最新版微信如何设置透明背景?
- 下一篇: b500k带开关电位器内部构造_R138