WWDC23:DockKitでiPhoneと連動するドックアクセサリー開発が容易に(プロトタイプも披露)
※本サイトは、アフィリエイト広告および広告による収益を得て運営しています。購入により売上の一部が本サイトに還元されることがあります。
WWDC23において、DockKitに対応した電動スタンドと統合することで、カメラアプリで素晴らしい写真やビデオ体験を実現する方法を紹介するセッション「Integrate with motorized iPhone stands using DockKit」が公開されています。
DockKitとは、iPhoneを電動カメラスタンドの中央演算装置として機能させるためのフレームワークです。
DockKitのスタンドは、ピッチとヨーのモーションモデルと自動システムトラッカーをサポートすることで、iPhoneのカメラの視野を360度パン、90度チルトに拡張します。
これにより、ユーザーはカメラアプリでフレームに収まることを気にすることなく、コンテンツに集中することができます。
これらのスタンドには、電源やトラッキングを無効にするためのシンプルなボタンや、トラッキングが有効でフレーム内にいるかどうかを知らせるLEDインジケータが含まれている場合があります。
iPhoneをスタンドとペアリングすれば、すぐに使用でき、すべての魔法は、iPhone本体のアプリケーションとシステムサービスで行われます。
モーター制御と被写体のトラッキングはシステムレベルで処理されるため、iOSのカメラAPIを使用するすべてのアプリがDockKitを活用できます。
内蔵のカメラアプリを起動し、このボタンを押すと、トラッキングが開始されます。被写体がテーブルの上を移動すると、ドックは私を追跡します。
緑色のLEDが点滅しているのは、私がフレーム内にいることを表しています。では、バックカメラに切り替えてみましょう。
ドックが180度回転して、私が視野に入るように反応していることに注目してください。
しかし、これは内蔵のカメラアプリだけで使えるわけではありません。カメラAPIを使用するアプリであれば、どんなアプリでもドックと一緒に使うことができます。
例えば、FILMICPROを試してみましょう。これは、現在App StoreからダウンロードできるFILMICPROと同じものです。アプリを起動すると、デフォルトで背面カメラになっています。
そして、これらはすべて箱から出しても動作します。DockKitスタンドを使えば、自分の周りの空間やモノとインタラクションできます。
DockKitのシステムトラッカーは、カメラ処理パイプラインの内部で動作し、内蔵の推論によってカメラフレームを分析し、追跡する被写体を決定し、被写体の軌道を推定し、モーターを駆動して被写体を適切にフレーミングします。
映画監督が現実世界の出来事を観察してカメラの視点を調整するのと同じように、DockKitはカメラフレームから被写体を推測し、ドックへの作動コマンドを通じてモーターを調整します。
モーターの制御は、DockKitスタンドの管理・通信を行うDockKitデーモンによって実現されます。
作動コマンドはDockKitプロトコルを介してスタンドに送信され、センサーのフィードバックはモーター制御のループを閉じるために使用されます。
トラッキングを処理するために、カメラフレームはISP推論によって分析され、毎秒30フレームでDockKitに渡されます。
複数人のシナリオを支援するために、フードの下にVisual Understanding Frameworkがあります。
顔と体のバウンディングボックスが生成され、マルチモデル・システムレベル・トラッカーに渡されます。
トラッカーは、追跡された各人やオブジェクトのトラックを生成し、統計的なEKFフィルターを実行して、ギャップや推論による誤差を滑らかにします。結局のところ、現実世界の信号は常に完璧とは限りません。
トラッカーの推定値は、モータの位置と速度のフィードバック、および電話IMUと組み合わされ、最終的な軌道とアクチュエータコマンドに到達することができます。
多くの場合、1つのフレームに複数の被写体が存在することがあります。デフォルトでは、DockKitは中央のフレームを持つ主要な被写体を追跡します。
DockKit APIを通じてモーターを直接制御できるため、アニメーションでデバイスに命を吹き込むことができます!ドックの動きは、確認のためのアフォーダンスとして、あるいは感情を伝えるための方法として使うことができます。
直接モーターを制御して、押したり引いたりといった物理的なインタラクションをエミュレートする独自のカスタムアニメーションを作成することもできますし、ビルトインアニメーションの一つを活用することもできます。
内蔵されているアニメーションは、Yes、No、Wakeup、Kapowです。デバイスが起動するたびに、Wakeupアニメーションが動作しているのを見ることができます。
先ほどのカスタムハンドトラッキングアプリに戻ると、特定のハンドジェスチャーが発生したときに、内蔵アニメーションをトリガーすることができます。