UltralyticsのYOLO11をCoreML経由でAppleデバイスに導入

アビラミ・ヴィナ

4 min read

2025年7月30日

CoreMLを使用してUltralytics YOLO11をAppleデバイスに導入し、リアルタイムのiOSアプリで高速なオフラインコンピュータビジョンタスクを実現する方法をご覧ください。

AppleがApple Intelligenceのような機能を導入したことで、オンデバイスAIが私たちの携帯電話の使い方の中心的な部分になりつつあることは明らかです。デベロッパーにとって、この変化は、よりスマートで応答性の高いエクスペリエンスを提供するためにコンピュータビジョンのような機能を使用するiOSアプリをユーザーが採用することを意味します。

コンピュータ・ビジョンは人工知能(AI)の一種で、画像や動画などの視覚情報をコンピュータが理解・分析することを可能にする。モバイル機器では、携帯電話のカメラを通して物体を検出、分類、対話するためにリアルタイムで使用することができます。Ultralytics YOLO11のようなビジョンAIモデルは、アプリのニーズに応じて、特定のオブジェクトを認識するようにカスタムトレーニングすることができます。 

しかし、YOLO11はiOS上ですぐに動作するように設定されていない。YOLO11をiPhoneやその他のアップル製デバイスで、特にオフラインで使用するために展開するには、アップルのエコシステムに最適化されたフォーマットに変換する必要がある。 

CoreMLは、まさにこのような問題を解決するために開発された。CoreMLはAppleの機械学習フレームワークで、モデルをローカルで実行し、iOSとmacOSアプリケーションにシームレスに統合するために構築されています。UltralyticsがサポートするCoreMLの統合により、iPhoneでのローカル展開のためにモデルを簡単にエクスポートすることができます。

この記事では、YOLO11モデルをCoreMLフォーマットにエクスポートする方法を詳しく見ていきます。また、iOSデバイス上でコンピュータビジョンモデルを直接実行することの利点を示すリアルタイムのユースケースを探ります。それでは始めましょう!

CoreMLとは?

CoreMLはアップルが開発した機械学習(ML)フレームワークで、iOS(iPhoneとiPad)、macOS(Mac)、watchOS(Apple Watch)、tvOS(Apple TV)を含むアップルのエコシステム全体のアプリに、開発者が学習済みのMLモデルを直接統合できるようにする。これは、インターネット接続を必要とせず、デバイス上で直接モデルを実行できるようにすることで、アップルのデバイス上で機械学習を利用しやすく、効率的にすることを目的としています。

CoreMLの中核をなすのは、画像分類、物体検出、音声認識、自然言語処理など、幅広いAIタスクをサポートする統一モデルフォーマットです。このフレームワークは、アップルのハードウェアを最大限に活用するように最適化されており、CPU(中央演算処理装置)、GPU(グラフィック処理装置)、ANE(Apple Neural Engine)を使用して、モデルを迅速かつ効率的に実行します。

CoreMLは様々なモデルタイプをサポートし、TensorFlow、PyTorch、scikit-learn、XGBoost、LibSVMなどの一般的な機械学習ライブラリと互換性があります。これにより、開発者は、Appleデバイス間でスムーズに動作することを保証しながら、日常的なアプリケーションに高度なML機能を導入することが容易になります。

図1.CoreMLは他の一般的なAIフレームワークのモデルをサポートしている(出典)。

CoreMLの主な特徴

CoreMLがアップル製アプリにAIを統合するための信頼できるツールである主な特徴をいくつかご紹介します:

  • モデル最適化: CoreMLは、モデルサイズを縮小し、実行効率を向上させるために、量子化やプルーニングのような圧縮技術をサポートしています。
  • オンデバイス・パーソナライゼーション:アップルのMLフレームワークは、オンデバイス・パーソナライゼーションをサポートしており、ユーザーとのインタラクションに基づいてローカルでモデルを学習・更新することができる。
  • 非同期予測: このフレームワークにより、アプリはバックグラウンドで予測を実行し、AIタスクを処理しながらユーザーインターフェイスのスムーズさと応答性を保つことができます。
  • マルチタスク学習:CoreMLは、同一画像内の物体の検出とテキストの認識のように、複数のタスクを同時に実行できるモデルをサポートしている。

YOLO11をCoreML形式にエクスポートする方法

CoreMLフレームワークの理解が深まったところで、UltralyticsがサポートするCoreMLインテグレーションを使って、YOLO11モデルをCoreMLフォーマットにエクスポートする方法を説明しよう。

ステップ1:環境のセットアップ

Ultralyticsが提供する統合機能を利用するには、まずUltralytics Pythonパッケージをインストールします。これは軽量で使いやすいライブラリで、Ultralytics YOLOモデルのトレーニング、評価、予測、エクスポートなどのタスクを簡素化します。

コマンドターミナルで "pip install ultralytics"を実行すれば、Ultralytics Pythonパッケージをインストールできる。Jupyter NotebookやGoogle Colabのような環境を使用している場合は、コマンドの前に感嘆符(!)「pip install ultralytics"。

インストール中やCoreMLへのエクスポート中に問題が発生した場合は、Ultralyticsの公式ドキュメントまたは「よくある問題」ガイドを参照してください。

ステップ2:YOLO11をCoreMLにエクスポートする

パッケージが正常にインストールされたら、YOLO11モデルをロードし、CoreMLフォーマットに変換する準備ができました。

どの訓練済みYOLO11モデルを使用すればよいかわからない場合は、Ultralyticsがサポートする さまざまなモデルを調べることができます。それぞれスピード、サイズ、精度のバランスが異なるので、プロジェクトに最適なものを選ぶことができます。また、独自のデータセットでトレーニングしたカスタムYOLO11モデルを使用することもできます。

以下のコード・スニペットでは、"yolo11n.pt "という名前の事前に訓練されたYOLO11モデル・ファイルを使用しています。エクスポートの過程で、"yolo11n.mlpackage "というCoreMLパッケージに変換されます。

yolo11n "モデルはnanoバージョンで、スピードと低リソース使用に最適化されています。プロジェクトのニーズに応じて、スモールサイズの「s」、ミディアムサイズの「m」、ラージサイズの「l」、エクストララージサイズの「x」など、他のモデルサイズもお選びいただけます。それぞれのバージョンで、性能と精度のバランスが異なります。

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="coreml")

ステップ3:エクスポートされたCoreMLモデルを用いた推論の実行

CoreMLフォーマットにエクスポートした後、YOLO11はiOSアプリケーションに簡単に統合でき、iPhone、iPad、Macなどのデバイス上で物体検出などのリアルタイムコンピュータビジョンタスクを可能にします。

例えば、以下のコード・スニペットは、エクスポートされたCoreMLモデルをロードして推論を実行する方法を示しています。推論とは、新しいデータに対して予測を行うために学習済みモデルを使用するプロセスです。この場合、モデルはボールで遊ぶ家族の画像を分析します。

coreml_model = YOLO("yolo11n.mlpackage")

results = coreml_model("https://images.pexels.com/photos/4933841/pexels-photo-4933841.jpeg", save=True)

コード実行後、出力画像は "runs/detect/predict "フォルダに保存される。

図2.CoreML形式でエクスポートされたYOLO11モデルを使って物体を検出する。画像は筆者による

エクスポートされたCoreMLモデルはどこで使用できますか?

YOLO11をCoreMLにエクスポートすることで、iPhone、iPad、Macで効率的に動作する多様なコンピュータ・ビジョン・アプリケーションを柔軟に構築できるようになる。次に、この統合が特に役立つ実際のシナリオを見てみましょう。

CoreMLモデルによる拡張現実とゲームアプリ

拡張現実(AR)は、ライブカメラの映像にバーチャルな要素を重ね合わせることで、デジタルコンテンツと現実世界を融合させます。よりインタラクティブで没入感のある体験を生み出し、モバイルゲームの重要な一部となりつつある。

CoreMLフォーマットにエクスポートされたYOLO11を使えば、iOSデベロッパーは、携帯電話のカメラを使って、ベンチ、木、標識などの現実世界のオブジェクトを認識するARゲームを作ることができる。ゲームは、これらのオブジェクトの上にコイン、手がかり、生き物などの仮想アイテムをオーバーレイして、プレイヤーの周囲の環境を強化することができます。

舞台裏では、オブジェクト検出とオブジェクト・トラッキングを使用しています。YOLO11はリアルタイムでオブジェクトを検出・識別し、トラッキングはカメラが移動してもオブジェクトを視界に収め続け、バーチャル要素が現実世界と一直線になるようにします。

プレイヤーは携帯電話を向け、環境を探索し、目にしたものとインタラクトしてアイテムを集めたり、クイックチャレンジをクリアしたりできる。これらはすべて、インターネット接続を必要とせずにデバイス上で直接実行できるため、スムーズで魅力的な体験となる。

リアルタイムAMPRのためのCoreMLモデルと統合されたiOSアプリ

自動ナンバープレート認識(ANPR)は、自動車のナンバープレートを検出し、読み取るために使用されるコンピュータビジョンアプリケーションです。セキュリティ、交通監視、入退室管理システムなどでよく使われています。CoreMLとYOLO11のようなモデルにより、ANPRはiOSデバイス上で効率的に実行できるようになりました。 

iPhoneにANPRアプリがあれば、セキュリティ重視の環境で特に役立ちます。例えば、制限区域に進入する車両が許可されているかどうかを素早く判断するのに役立ちます。

このようなアプリは、CoreMLを通じて統合されたYOLO11のようなビジョンAIモデルを使用して、デバイスのカメラを使ってリアルタイムで車両を検出し、ナンバープレートを見つけることができる。ナンバープレートが検出されると、光学式文字認識(OCR)技術によってナンバーが読み取られる。アプリはこのナンバーをローカルまたはクラウドベースのデータベースと比較し、アクセスを確認したり、未承認車両にフラグを立てたりすることができる。

図3.ビジョンAIはナンバープレートの検出と読み取りに利用できる。(出典)。

アクセシビリティを重視したアプリはCoreMLモデルを活用できる

AIはアクセシビリティに大きな影響を与え、視覚障害者の障壁を取り除くのに役立っている。CoreMLのようなツールやYOLO11のようなコンピュータビジョンモデルを使えば、開発者はユーザーを取り巻く世界をリアルタイムで描写するiOSアプリを作ることができ、日常の作業をより簡単に、より自立したものにすることができます。

例えば、視覚障害者はiPhoneのカメラを周囲に向けることができる。このアプリは、物体検出を使って、車、人、道路標識などの重要な要素を認識し、見たものをナレーションする。これは、混雑した道路をナビゲートしたり、緊急事態を理解したりするような状況で使用できる。

図4.YOLO11を使った人物検出の例。

要点

YOLO11をCoreMLフォーマットにエクスポートすることで、iOSデバイス上でのオフライン物体検出など、リアルタイムアプリケーションの新たな可能性が生まれます。農業やセキュリティからアクセシビリティに至るまで、この組み合わせにより、開発者はスマートで効率的、かつプライバシーに重点を置いた、デバイス上で完全に動作するアプリケーションを構築することができます。

わずか数ステップで、YOLO11モデルを変換し、iPhoneに信頼性の高いコンピュータ・ビジョン機能を追加することができます。何よりも、インターネット接続がなくても動作します。全体として、CoreMLの統合は、高度なAIのパワーを日常的なモバイルアプリにもたらし、より高速で応答性が高く、どこでも実行できるようにします。

AIについてもっと知りたいですか?GitHubリポジトリを探索し、私たちのコミュニティとつながり、あなたのコンピュータビジョンプロジェクトを開始するためのライセンスオプションをチェックしてください。小売業におけるAIや 物流におけるコンピュータビジョンのようなイノベーションがどのように未来を形成しているか、ソリューションのページでご覧ください。

AIの未来
を一緒に作りましょう!

機械学習の未来への旅を始めよう

無料で始める
クリップボードにコピーされたリンク