読者です 読者をやめる 読者になる 読者になる

リアルタイム物体検出アプリでよりよいフィードバックを提供する (LT) | try! Swift Tokyo 2017 #tryswiftconf Day1-15 聞き起こし

twitter.com

近年のコンピュータビジョン技術や計算資源の進歩により、リアルタイムな物体検出アプリケーションをiOS端末上で開発するのは以前よりも容易になりました。ですが、検出ロジックの実装は開発におけるほんの一部です。ユーザフレンドリーなアプリケーションとするためには、インタラクションとうまく組み合わせ、適切なフィードバックをユーザに与えることが不可欠です。このライトニングトークでは、カメラ中の名刺を即座にスキャンするWantedly PeopleというiOSアプリを開発するにあたって、より良いフィードバックを与える上で我々がどのような問題に直面したか、それをどう解決したかをお話します。

リアルタイム物体検出アプリでよりよいフィードバックを提供する

f:id:niwatako:20170302180841j:plain

画像や動画から、例えば猫の顔を検出します。

f:id:niwatako:20170302180904j:plain

名刺管理アプリを作りました。複数の名刺を検出できます。

f:id:niwatako:20170302180947j:plain

f:id:niwatako:20170302180948j:plain

f:id:niwatako:20170302180949j:plain

検出ロジックはすでにある想定です。

f:id:niwatako:20170302181008j:plain

座標が分かっている状態です。

AVFoundationで

f:id:niwatako:20170302181028j:plain

各フレームで円を再描画します

f:id:niwatako:20170302181046j:plain

しかしこれだけではジャギーです

1つのオブジェクトを検出するだけなら簡単です。

f:id:niwatako:20170302181126j:plain

f:id:niwatako:20170302181127j:plain

人間なら簡単にA, B, Cを認識できますが機会はできません。

ラッキングが必要になります。

OpenCVでは一部のiOSバイスで性能上の問題が有りました。

個々にある3つの情報を組み合わせています。

f:id:niwatako:20170302181222j:plain

f:id:niwatako:20170302181224j:plain

ラッキングできたことで円をアニメーションさせることが出来るようになりました。

f:id:niwatako:20170302181237j:plain

こうすることでユーザーはより動きがわかるようになります

このアプリに限定されたことでしょうか

何を検知したいのか、どのぐらい検知に時間がかかるのかによります

f:id:niwatako:20170302181309j:plain

f:id:niwatako:20170302181349j:plain

f:id:niwatako:20170302181350j:plain

ラッキング機能によってフィードバクを改善できることが有ります。 検知プロセスだけではなくて、最初からトラッキングについても考えるととても良いと思います。