Read this in other languages: English, 中国.
Watson Visual Recognition と Core ML による画像の分類。 画像は Visual Recognition によって訓練済みの深層ニューラルネットワークを用いてオフラインで分類されます。
このプロジェクトには、2つのプロジェクトを含む QuickstartWorkspace.xcworkspace
ワークスペースが含まれています:
- Core ML Vision シンプル: Visual Recognition を用いてローカルに画像を分類する。
- Core ML Vision カスタム: 特別な Visual Recognition モデルを訓練(トレーニング)し、より専門家された分類をおこなう。
Xcode 9 以降と iOS 11.0 以降がインストールされていることを確認してください。これらのバージョンは Core ML をサポートするために必要です。
リポジトリをローカルに複製するには、GitHub を使用するか、リポジトリの .zip ファイルをダウンロードしてファイルを展開します。
組み込まれた Visual Recognition モデルが、一般的なオブジェクトを識別します。画像は Core ML フレームワークで分類されます。
- Xcodeで
QuickstartWorkspace.xcworkspace
を開きます。 Core ML Vision Simple
スキームを選択します。- シミュレータまたはデバイス上でアプリケーションを実行します。
- カメラアイコンをクリックし、写真ライブラリから写真を選択して、画像を分類します。シミュレータにカスタム画像を追加するには、Finder からシミュレータ ウィンドウに画像をドラッグします。
Tip: このプロジェクトには、樹木や菌類を分類する Core ML モデルも含まれています。含まれている2つの Core ML モデルを切り替えるには、ImageClassificationViewController で使用したいモデルのコメントを外します。
ImageClassificationViewController
の ソースコード 。
このプロジェクトの第2部は、第1部のモデルを引き継いでおり、一般的な種類のケーブル (HDMI、USBなど) を識別するための Visual Recognition モデル (Classifier とも呼ばれます) を訓練します。 訓練済みのモデルをダウンロード、管理、実行するには、Watson Swift SDK を使用してください。 Watson Swift SDK を使用することで、基礎となる Core ML フレームワークについて学ぶ必要はありません。
-
Watson Studio にログインします。このリンクから、IBM Cloud アカウントを作成したり、Watson Studio にサインアップしたり、ログインすることができます。
-
サインアップまたはログイン後、Watson Studio の Visual Recognition インスタンスの概要ページに移動します。
Tip: 以降の手順で迷った場合は、ページの左上にある
IBM Watson
ロゴをクリックして、Watson Studio のホームページに移動します。 そこから "Watson services" の下で、サービスの横にある Launch tool ボタンをクリックすることで、Visual Recognition インスタンスにアクセスできます。
-
Watson Studio の Visual Recognition 概要ページで、カスタムボックスの Create Model をクリックします。
-
作成した Visual Recognition インスタンスにプロジェクトがまだ関連付けられていない場合は、プロジェクトが作成されます。 プロジェクトに
Custom Core ML
と名前を付けて Create をクリックします。Tip: もしストレージが定義されていなければ、refresh をクリックします。
-
Training Images
ディレクトリにあるサンプル画像の各 .zip ファイルを、ページの右側のデータペインにアップロードします。データペインの Browse ボタンをクリックして、モデルにhdmi_male.zip
ファイルを追加します。また同様にusb_male.zip
、thunderbolt_male.zip
、vga_male.zip
ファイルをモデルに追加してください。 -
ファイルがアップロードされたら、各ファイルの隣にあるメニューから Add to model を選択し、それから Train Model をクリックします。
-
Watson Studio のカスタム モデル概要ページで、(関連付けられているサービスの横にある) Visual Recognition のインスタンス名をクリックします。
-
下にスクロールして、作成した Custom Core ML Classifier (Visual Recognition モデル) を見つけます。
-
Classifier の Model ID をコピーします。
-
Watson Studio の Visual Recognition インスタンス概要ページで、Credentials タブをクリックし、次に View credentials をクリックします。サービスの
api_key
かapikey
をコピーしてください。重要:
api_key
によるインスタンス化は、2018年5月23日以前に作成された Visual Recognition サービスインスタンスでのみ機能します。5月22日以降に作成された Visual Recognition インスタンスは IAM (Identity and Access Management) を使用します。
- プロジェクトを XCode で開く。
- Model ID をコピーし、ImageClassificationViewController ファイルの classifierID プロパティにペーストする。
- api_key もしくは apikey キーもコピーし、ImageClassificationViewController ファイルの api_key もしくは apikey プロパティにペーストする。
Cocoapods 依存管理マネージャーを使用して、Watson Swift SDK をダウンロードしてビルドします。
-
Cocoapods をインストール。
-
ターミナルを開いて、
Core ML Vision Custom
ディレクトリに移動。 -
以下のコマンドを実行して、Watson Swift SDK をダウンロードし、ビルドする:
pod install
Tip: SDK のアップデートを定期的にダウンロードして、このプロジェクトのアップデートと同期してください。
-
QuickstartWorkspace.xcworkspace
を Xcode で開く。 -
Core ML Vision Custom
スキーマを選択。 -
シミュレータまたはデバイス上でアプリケーションを実行します。
-
カメラアイコンをクリックし、写真ライブラリから写真を選択して、画像を分類します。シミュレータにカスタム画像を追加するには、Finder からシミュレータ ウィンドウに画像をドラッグします。
-
新しいバージョンの Visual Recognition モデルを、右下の更新ボタンで反映します。
Tip: アプリを使用するには、Classifier (Visual Recognition モデル) のステータスが
Ready
である必要があります。Watson Studio の Visual Recognition インスタンス概要ページで、Classifier のステータスを確認します。
ImageClassificationViewController
の ソースコード 。
Core ML Visual Recognition with Discovery プロジェクトを使用して、別の Watson サービスをカスタム プロジェクトに追加する。