ofxFaceTrackerをiOSで使用する方法

openFrameworksが好きで良く触っています。
FITC2013に行った時にoF界隈の有名人の話を聞いて使い始めたフレームワークで触り始めて2年弱位経ってますが、まだまだ初心者の域を超えません。

openFrameworksの中でもofxFaceTrackerは見た目のインパクトの大きさから使ってみている方も多いのではないでしょうか。

Face Substitution on Vimeo

僕もその一人なのですが、iOSに導入しようとした時にMac版とは異なるコードが必要になります。
このアドオンを使ってアプリを作ったのは1年半ほど前ですが、地味に苦しんだので情報共有しておきます。

1. ofxFaceTracker.hをインクルードするときの注意

Mac版ではofxCv.hをインクルードしておけば問題なかったのですが、それだとビルドが通りませんでした。

f:id:l94q:20141020003745p:plain

ofxCv.hのインクルードの前にofxOpenCV.hをインクルードすると無事ビルドが通ります。

f:id:l94q:20141020004621p:plain

2. faceTracker.getImageMesh()で取得したメッシュのtexCoordsについて

iOSだとopenGL ESだからかわからないけれど、取得したメッシュがそのままではうまく動きません。
こんな感じで正規化してあげる必要があります。

        ofMesh cameraMesh = cameraFaceTracker.getImageMesh();
        /* texCoordを正規化 */
        for(int i=0; i< cameraMesh.getTexCoords().size(); i++) {
            ofVec2f & texCoord = cameraMesh.getTexCoords()[i];
            texCoord.x /= ofNextPow2(camera.getWidth());
            texCoord.y /= ofNextPow2(camera.getHeight());
        }


是非とも同じようにofxFaceTrackerをiOSで使用しようと考えている方の手助けになればと思います。

以前僕が作成したofxFaceTrackerを用いたアプリはこちら。ダウンロードしてみていただければと思います。

KineticPortrait

KineticPortrait

  • Ryota Katoh
  • エンターテインメント
  • 無料

pythonによる画像処理 〜導入編〜

サーバーサイドで画像処理をする必要があったので、pythonに手を出してみることにしました。


pythonは日本ではあまり使われていないようですが、アメリカでは教育用に一番使われていたりするとのことです。

僕はC++Objective-Cをメインで触っているので、pythonが本格的に触る初めてのLL言語です。

少し触った感想としてはすごいわかりやすい言語だということ。ちょっと画像処理をしてみたい時なんか、いちいちビルドしなくても済むので便利な面も多いです。

C++に比べるともちろん処理速度は劣るので、リアルタイム性を求められる場合は向かないかもしれません。

今回はサーバーサイドでバッチ処理的に画像処理をしたかったので、pythonを使うことに決めました。

pythonはインストールされている前提での導入手順は以下のとおり。

参考図書はこちら

実践 コンピュータビジョン

実践 コンピュータビジョン


この参考図書にpythonのモジュールは1つずつpython setup.py installしながら入れましょうみたいなことが書いてありますが、pipでインストールした方がいいとのこと。

こちらを参照ください。
10分でわかるPythonの開発環境

最低限必要そうなモジュールは以下の3つ。

1. Python Image Library (PIL)

2. NumPy

3. SciPy

あとはこんなコードであっという間に反転処理が書けてしまいます。

from PIL import Image
from numpy import *

im  = array(Image.open("./images/0.jpg"))
im2 = 255 - im

result = Image.fromarray(im2)
result.save("result.jpg")


最近のメディアアート作品は画像処理、画像認識の技術を多く使った作品が多いと感じています。まだカメラやセンサとコンピュータを使ったその空間内だけで収まる作品が多いですが、カメラを使った作品でも今後はインターネットを通じて空間を超えたインタラクティブ作品が増えてくるのではないかなと感じています。

Kyle McDonaldさんの以下の作品などはそんな作品かなと思います。

Sharing Faces on Vimeo


そんな時にサーバーサイドで簡単に画像処理できると便利なのではないかなと思います。

Ars Electronica 2014レポート

Ars Electronica2014に行ってきたのでそのレポートを描きます。

 

オーストリアリンツで開催されている、メディアアートの祭典です。

オーストリアには友人が住んでいたこともあり、過去に3回ほど行ったことがあるけれどもリンツに行くのは去年に引き続き2回目。

 

街の至る所にメディアアート作品が展示されていて、日本でいうアニメの町おこし的な感じがします。

 

興味深かった展示を5点ほど挙げてみます。

1. Inside Out

f:id:l94q:20141007230030j:plain

プラスチックでできた歯車の機械を壁に投射した作品。影がとてもかっこ良かった。


Jaehyuck Bae, Inside Out - YouTube

 

2. Balance From Within

f:id:l94q:20141007230809j:plain

ソファを片足だけで立たせてる作品。最初何だこれって思ったけれど、片足だけで立つよう制御されていてとても驚いた。よく見るとバランスをとるように揺れていることがわかる。


Balance From Within - YouTube

 

3. PARA-SONIC 3.0

今年のArsのこの展示かっこよかった。

 

地元の中学か高校のような場所も展示会場の一部になっていたけれど、その屋上で展示されていた作品。重低音とプロジェクションがとてもかっこ良かった。大分奥の方に展示されていたため、見に来る人は少なめ?な気がした。

4. 5 robots named Paul

f:id:l94q:20141007232156j:plain

この作品はコンピュータが絵描きになってポートレートを描く作品だった。人間のようにカメラで対象人物を見た後、自分のキャンバスを見るようにカメラが動き絵を描くという動きがとても面白かった。僕が学生の時に所属していた研究室では、コンピュータ画家に関する研究もされていたけど、その延長線だと感じた。

f:id:l94q:20141007233020j:plain

この人の顔はこんな感じ。

この展示がされている場所は実は教会。そこも会場にしちゃう辺りも面白かった。

 

5. BOX / Bot & Dolly


Box - YouTube

 

Ars行く前にTwitter上で話題に上がっていたので、凄いなぁと思っていたけどやっぱり凄かった。

 

 

適当に5つほど紹介しましたが、もっと紹介したい作品がたくさんありました。日本人もたくさん来ていて日本のメディアアート業界も人気絶頂だなぁと感じました。

 

街中ではこんな感じでショッピングモール内に展示もされていて注意深くしていないと見逃してしまう作品も…

f:id:l94q:20141007234320j:plain

 

夜は広場っぽいところでDJしていたりとなかなか面白いフェスです。是非来年も行きたいところ。

f:id:l94q:20141007234533p:plain

このブログについて

今更ブログなんてと思うけども、個人で調査したノウハウとかをまとめられたら後々便利かと思って始めてみました。

 

人工知能メディアアートに関する制作物などを書いていこうかなと思います。