VisionとCoreGraphicsで顔をデカくする | try! Swift Tokyo 2018 Day2-16

タイムテーブルにありませんが1件ライトニングトークがあります。

VisionとCoreGraphicsで顔をデカくする

f:id:niwatako:20180302173202j:plain

Timersのアプリには顔を大きくする機能がついています。

f:id:niwatako:20180302173221j:plain

突然、1週間で顔を大きくする機能を作って欲しいと言われました。

顔の領域がわかれば大きくすることができますね

f:id:niwatako:20180302173238j:plain

CoreImageでは頭部を含まない

f:id:niwatako:20180302173254j:plain

CoreMLを使うには、顔だけを認識するのは見つからないし新たにやるにはコストが高い

f:id:niwatako:20180302173309j:plain

f:id:niwatako:20180302173330j:plain

そこでVision

f:id:niwatako:20180302173338j:plain

これらを使います。輪郭、鼻の位置などを得られる。

例えばこのような11のポイントの配列で表されます。

f:id:niwatako:20180302173400j:plain

f:id:niwatako:20180302173419j:plain

f:id:niwatako:20180302173429j:plain

f:id:niwatako:20180302173435j:plain

輪郭を上に反転させればどうか

f:id:niwatako:20180302173454j:plain

f:id:niwatako:20180302173457j:plain

f:id:niwatako:20180302173507j:plain

CGPointは自身にアフィン変換を適用した結果を得る事ができる

f:id:niwatako:20180302173553j:plain

f:id:niwatako:20180302173559j:plainf:id:niwatako:20180302173602j:plain

f:id:niwatako:20180302173606j:plain

f:id:niwatako:20180302173609j:plain

f:id:niwatako:20180302173645j:plain

f:id:niwatako:20180302173648j:plain

f:id:niwatako:20180302173654j:plain

f:id:niwatako:20180302173657j:plain

f:id:niwatako:20180302173706j:plain

3次元上にも適用できそうだと思います。昔あらある技術を生かせないか考えることも重要だと思いました。

f:id:niwatako:20180302173724j:plain

[広告]面白かったら、ためになったら

  • はてなブックマークSwift タグをつけてブックマーク!
  • 「インターネットで生活を楽しく豊かにしたい」仲間を募集しています
  • Bitcoin: 3KGqXtR1ZaGVdkvcw8CCNrkDxDhdbZBYHL