【CreateML入門①】画像認識モデルを作ってみる
CreateMLとは
Create MLを使用すれば、SwiftやmacOSのplaygroundsといったお馴染みのツールでカスタムの機械学習モデルを作成し訓練することができます。モデルを訓練して、画像の認識、テキスト認識、数値間の関係の検索など、様々なタスクを実行できます。
CreateMLでは、代表的なサンプルを表示してパターンを認識するようにモデルを訓練します。
たとえば、犬を認識するようにモデルを訓練するには、さまざまな犬の画像をたくさん表示させます。モデルを訓練した後は、新しく用意した犬のデータをテストし、タスクをどれ程遂行したかを評価します。モデルのパフォーマンスが十分であれば、Core MLを使ってアプリに組み込むことが出来ます。
画像認識モデルを作る① - データを用意する
まず、分類のために「訓練」と「評価」に使用するデータを準備します。各ラベルの画像の約80%をトレーニングデータセットにします。残りの画像からテストデータセットを作成します。特定の画像がこれらの2つのセットのいずれかにのみ表示されることを確認してください。
次に、MLImageClassifier.DataSourceタイプのいずれかと互換性があるように、データをディスクに整理します。Training DataというフォルダとTesting Dataというフォルダを作成します。各フォルダで、ラベルを名前として使用してサブフォルダを作成します。次に、各データセットの適切なサブフォルダに画像を並べ替えます。
【※注意点】
画像認識モデルを作る② - Playgroundsで学習する
Xcodeを起動して新規Playgroundsプロジェクト(macOSのsingle view)を作成し下記コードを記入してください。
// Import CreateMLUI to train the image classifier in the UI. // For other Create ML tasks, import CreateML instead. import CreateMLUI let builder = MLImageClassifierBuilder() builder.showInLiveView()
「Drag Images and Begin Training」に画像をドラッグドロップして訓練を開始。訓練が終了するまでインディケーターが出るので待機します。
訓練が終了したらテスト用の画像をドラッグしてテストします。認識結果がconfidenceというパーセンテージのパラメーターで表示されます。
問題なければmlmodelを出力して完了です。
まとめ
画像認識のモデル作成は以上です。mlmodelを組み込むことで様々なアプリに応用できそうですね。playgroundsを使って遊ぶように機械学習が学べるので入門としてもおすすめです。