iOS 18, visionOS 2のVisionフレームワークの新機能
WWDC24のセッション "Discover Swift enhancements in the Vision framework" を見たメモ。
(なお当初本記事のタイトルを「VisionのiOS 18での新機能」と書いていて自分でも空目しそうになったので変更したのだが、"visionOS" ではなく "Vision" フレームワークの話です)
セッションのアジェンダ
New Vision API
Optimize with Swift Concurrency
Update an existing Vision app
What’s new in Vision?
これまでの機能をSwift 6 / Swift Concurrencyサポートした新しいAPIで書けますよーってところは本記事では割愛し(書くときに当然参照はするが)、本記事では新機能について紹介されている "What’s new in Vision?" のパートにフォーカスして見ていく。
ちなみに本記事では触れないのだが、このVision API一覧のスライドが気に入ったので貼っておく:
画像品質の評価 - Image aesthetic
`CalculateImageAestheticScoresRequest` という新しいリクエストAPIが追加された。"aesthetics"は「美学」「審美学」みたいな意味らしい。
概要
画像の品質を評価し、思い出に残る写真を見つけるために使用できる
ブレや露出など、画質を決定するために分析される複数の要素があり、総合スコアでその画像の画質が表される
ユーティリティ画像の識別
こういうことが書かれていた:
個人的には「写真として美しいものがわかる」というのはあまり興味ないなと思ったのだが、「ユーティリティ(実用的な)画像を識別する」というユースケースにはかなりグッときた。
自分のPhotosライブラリは500GB以上あるのだが、そういう画像が多く混じっていて、Photos管理外に追い出したいと思っていたので。
具体例
新しいAPIを使うには、を使えばいい。このリクエストは画像美的スコア観測を生成し、画像がどの程度よく撮れているかを示すマイナス1から1までの総合スコアを持ちます。
API
`CalculateImageAestheticScoresRequest` を使う。
結果は `ImageAestheticsScoresObservation` 型で得られる。この型は総合スコアを示す `overallScore` 以外に、`isUtility` というプロパティも持っており、「よく撮れているが、記憶に残らないコンテンツを持っている」写真に対して true になる。
新しい姿勢検出API - Holistic body pose
概要
これまでのVisionでは、身体と手のポーズ検出は別々にリクエストされていた
ホリスティック・ボディ・ポーズは、手と体を一緒に検出することができる
"Holistic" は「全体的な」という意味らしい。
実装
リクエストには `DetectHumanBodyPoseRequest` を使用する
手の検出も行うには、リクエストの `detectsHands` を `true` に設定する
結果は `HumanBodyPoseObservation` 型で得られる
leftHand, rightHand プロパティ経由で右手と左手のポーズを得られる
ここから先は
#WWDC24 の勉強メモ
WWDC 2024やiOS 18, visionOS 2についてセッションやサンプルを見つつ勉強したことを記事にしていくマガジンです。 …
最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/