Apple Engine

Apple, iPhone, iOS, その周辺のことについて

iOS 11 以降で Apple が目指す世界

今回、iOS SDK で目玉の機能だと思っているのは、CoreML、Vision、ARKit で、この3つの連携がスマートフォンの世界を変えると思っている。

以下、軽く説明。

 

Core ML

機械学習向けフレームワーク。 顔認識などで画像から特定のもの検知したり、Siri などで使われている言葉の分類分けなど、使いやすくしたもの。
具体的には、学習データを TensorFlow などで作成し、mlmodel などの専用ファイルに変換、Xcode のプロジェクト放り込むと mlmodel のファイルがクラスとして扱える。
必要なパラメータを渡すとそれに沿った結果が返ってくるクラスとなり、実装がかなり簡単。

正直、学習データを作成するのが、かなりしんどいので誰でも簡単にとは言わないが、学習データが手元にあれば機械学習がかなり手軽に試すことができる。

 

Vision フレームワーク

顔認識、文字認識、バーコード・QR コード、物体認識など既存で用意されているが、このフレームワークの真髄は Core ML との連携にある。

リアルタイムで撮っているカメラから Vision に渡し CoreML で画像解析という連携ができる。

 

ARKit

これに関しては色々記事が出ているのであまり語ることはないが一応説明。

現実空間に 2D / 3D でつくられた仮想のオブジェクトを合成し、あたかも現実にその物体があるかのように見せる技術。

現状、検知できる障害物は水平の平面のみ。

 

この3つから想像できる今後。

Core ML は機械学習から推測する予知や検知、
Vision は Core ML からのデータの受け渡しや分類をし、
ARKit はその入り口と最終的な情報の可視化を行うようになるだろう。

 

現状で自分が試しに行ったのは、
ARKit で画面タップの際に、撮る現実のカメラ画像から Vision に渡し、
Vision から Core ML の学習データから写真に何が写っているかを検知してテキスト情報に変換。
検知した情報を ARKit 上で文字のオブジェクトとして配置するようなもの。
簡単な実装でこれだけのものができてしまった。

 

多分、今後は Core ML の学習データ作成部分も Apple 謹製のもの出てきそう。
もし、ARM チッブでも使用できるのであれば Apple TV が学習データ作成用のデバイスとなるかもしれない。

ARKit に関しては Microsoft HoloLens のように見えている周囲の障害物の判定を行えるようになるだろう。
その際は、セカイカメラのようにいろいろなものにタグ付けしたり情報を表示することができるかものしれない。
また、何らかの情報をサジェストする機能も実装できるだろう。

 

今後、この技術を使用したアプリやデバイスがどのような進化をするか楽しみである。