†いばる電磁波†を乗り越える

文章力に下降補正入ってますが、努力値を振り続けてます

逆SNOW part01

おひさしぶりです。最近やってることの自分用メモを書くところを探していたら放置されたここを見つけたので適当に書いていくことにしましたまる

環境:

macOS Sierra バージョン10.12.4

Python2.7

opencv2

まず、何がやりたいかというと一昔前に話題になった(最近知った)、逆SNOWというやつです。

SNOWは若者に人気な所謂カメラ写真加工アプリで「顔面の修正および動物スタンプによる部分顔面の隠蔽」を行なうものです。これのなにがいいかって言うと、目がでかくなったりお肉が隠れたりでかわいい顔が「より」かわいく見えちゃうわけです。

その逆・・・つまり「より」かわいい状態の写真を読み込んで加工(SNOWの逆の工程)をすることで、「かわいい状態」に戻してしまおう、というものです。

これをPythonopenCVを使って画像処理しちゃい、うまいこと実現しようと試みています。とりあえずversion1.00として完成したのでメモ

 

とりあえず結果

before

f:id:protocol_95:20170510235243p:plain

after

f:id:protocol_95:20170510235255p:plain

 

・・・・・・

 

やってることは簡単で、目の位置を検出し、そこを切り抜き、それを縮小(今回は縦方向のみ半分に)することでおめめぱっちり加工を元に戻す。そして縮小した画像を元画像の上に貼り付ける。これだけです。

 

※Lennaさんがおめめぱっちり加工してるとは思っていません。

 

ネットに上がっているSNOW写真にも適用してみたところまぁまぁうまくいっていますが、もちろん検出器に依存していますので目以外の誤検出はあります。

その他まだまた問題点・改善点があるので以下に挙げておきます。今後に期待です。

  • 目以外の誤検出の処理をどうするか
  • 加工後の目の上書き場所の改善
  • 目以外の処理を追加する
  • スタンプへの処理をどうするか
  • その他の検出器の検討

アップデートしていけばまたメモっておきたいと思います。

それではありがとうございました。