人像分割技術目前已經逐漸成熟,在抖音、快手、美圖等等APP中已經都有應用,而且是Camera實時處理,然而,追究細節,各家效果卻大同小異,都存在一個問題:無法處理好邊緣細節的分割,尤其是頭髮絲的處理,這裏以人工智能大佬“商湯科技”的頭髮分割SDK爲例,分割結果如下圖所示:
我們可以看到,頭髮邊緣的處理屬於純粹的硬分割,對於頭髮絲無能爲力。
針對這個問題,一般的做法是使用圖像Matting的方法,但是這種方法太耗時,實時起來比較困難,目前最新的論文,也是效果最好的論文是來自曠世的:Disentangled Image Matting
該論文的效果達到了髮絲級別,如下圖所示:
網絡結構如下:
效果上看,確實達到了髮絲級別,實例圖髮絲清晰可見,然而,本文卻並未對時間消耗做出評估,可見,也是隻適用於圖片處理,距離實時還有一段距離。
爲了在實時情況下分割出較好的邊緣,本人將分割網絡(這裏使用的是Unet的小模型改進版)內嵌,在分割網絡的基礎上進行了幾次卷積,模擬Matting的類似操作,但並沒有使用Trimap,通過bgremove網站導出500張樣本,訓練1000次,僅對邊緣細節處理做了可行性分析,得到了如下結果:
樣本數量過少,背景單一,但是可以看到頭髮邊緣問題有所改善,網絡模型大小587K,可以手機端實時處理。
後面本人將會使用大批量的複雜背景樣本進行測試,最後給出完整的結果。