天天看點

談談自動瘦臉和自動眼睛放大算法

        目前,手機上各種圖檔特效的軟體應用App盛行,典型的如camare360,美圖秀秀,powercalm等。上述圖像特效軟體最初釋出的版本的特效實作基本上是基于調色的技術,在後續釋出的版本中有少量的比較好的算法。

       不過,最具技術含量的還是虹軟的perfect365,perfect365在其發行的第一個版本中就實作人臉五官的定位,并在此基礎上實作了自動眼睛放大,自動瘦臉等一些列涉及人臉美化的操作。不過,由于參數選擇的不好,其第一個版本實作的這些操作的效果很不自然,尤其是眼睛放大。半年之後,推出的新的版本優化了參數選擇,其效果比之前的好了很多。

      其他的軟體也不甘示弱,都在其後續發行的版本中紛紛加入了這些功能。但也都經曆了與perfect365同樣的過程。本來,我以為要實作自動瘦臉,需要準确定位人臉輪廓的,曾經去搞ASM模型。但當我把ASM模型跑起來之後發現相當的耗時,于是放棄了!後來我的實驗表明,實作自動瘦臉是沒有必要精确定位人臉輪廓的。

       首先,當然需要人臉檢測和人眼精确定位。在定位之後,需要做的就是圖像的局部放大和局部扭曲算法,這類算法統稱為morphing,其最早的參考文獻,可以追溯到1993年的一篇博士論文:Interactive Image Warping. 這篇論文當中還提供了僞代碼,我的實作就是參考了這篇論文。

      具體實作細節及其參數優化方案,感興趣的可以和我進一步交流。

      測試圖檔demo:

     原始圖檔和經過人臉檢測和人眼定位之後:

談談自動瘦臉和自動眼睛放大算法
談談自動瘦臉和自動眼睛放大算法

   眼睛放大:

談談自動瘦臉和自動眼睛放大算法

眼睛放大+瘦臉

談談自動瘦臉和自動眼睛放大算法

  另外一張測試圖檔:

談談自動瘦臉和自動眼睛放大算法
談談自動瘦臉和自動眼睛放大算法

 測試圖檔來源于網絡,如涉及版權問題,請告知!

繼續閱讀