iOS 13の新API発掘シリーズその2です。
以前の公式配布CoreMLモデルと言えば、imagenetベースの物体検出がほとんどで、あまり新鮮味のあるモデルは配布されていませんでした。
なので、自作するか、サードパーティ製のを探して使うことがほとんどでした。
・・・が、今日見てみると、楽しそうなモデルがたくさん追加されているではありませんか!
ひょっとして・・・と見てみたら、CoreMLの公式配布モデルも増えてる!
— Shuichi Tsutsumi (@shu223) June 3, 2019
・デプス推定(単眼カメラでも、既存写真からでもデプスが取得可能に)
・セグメンテーション
・YOLO(「画像内のどこにあるか」までわかる物体検出)#WWDC19#iOS13pic.twitter.com/UfZvOIfckv
というわけで前回のVision編に続き、本記事では(APIではありませんが)CoreMLの公式配布モデルについて見ていきます。
デプス推定
- FCRN-DepthPrediction
- Depth Estimation
redict the depth from a single image.
画像からデプスを「推定」します。つまり、単眼カメラでも、デプスデータを持っていない既存写真からも、デプスが取得できるようになる、ということです。ここからAVDepthData
を生成することもできるはずです。
・・・ということはデプスを利用する機能が実質的にデバイスを限定する機能ではなくなるといえるのではないでしょうか。今まではデプスを使う機能を提供しようにもiPhone X系とか7 Plus, 8 Plus系のハイエンドデバイスのユーザーしか使えなかったので、興味やアイデアはあってもなかなか採用しづらかったのではないかと思います。
これでついにデプス利用機能が多少は普及しそうですね。参考書籍を貼っておきます。
(もちろん今回の発表をふまえてアップデート予定です)
セグメンテーション(領域分割)
- DeeplabV3
- Image Segmentation
Segment the pixels of a camera frame or image into a predefined set of classes.
サムネイル画像によると人間のセグメンテーションのように見えますが、解説を読むと"predefined set of classes"とあり、複数のクラスに対応しているようです。
試しに.mlmodel
ファイルをダウンロードして埋め込まれているdescriptionを読んでみると、
person, dog, cat and so on
とあります。人の他に犬や猫もセグメンテーションできるようです。
関連: iOS 12のPortrait Matteがすごい/ #iOSDC 2018で登壇します - その後のその後
物体検出(YOLO)
YOLOv3
- Object Detection
YOLOv3-Tiny
- (Real-time) Object Detection
Locate and classify 80 different types of objects present in a camera frame or image.
物体を「画像内のどこにあるか」の情報を含め検出してくれるモデル。リアルタイム検出用の"Tiny"版もあります。
質問への回答を生成
- BERT-SQuAD
- Question Answering
Generate answers to questions about paragraphs of text.
公式配布モデルでは唯一の自然言語処理用。
指定したパラグラフ内のテキストに関して、質問を与えると回答を生成してくれるようです。