はじめに
CreateMLを使って誰でもAIを作って使えるようになりましょう!
自作AIをアプリに搭載する、と言えたらめっちゃかっこいいです。
CreateMLとは
CreateMLとは、macで簡単にAIモデルを作成できるソフトです。
どんなことができるかというと、以下のようなメニューがあります。
- 画像分類(Image Classification)
- マルチラベル画像分類(Multi-Label Image Classification)
- 物体検出(Object Detection)
- スタイル転送(Style Transfer)
- 手のポーズ分類(Hand Pose Classification)
- アクション分類(Action Classification)
- 手のアクション分類(Hand Action Classification)
- 活動分類(Activity Classification)
- 音分類(Sound Classification)
- テキスト分類(Text Classification)
- 単語タグ付け(Word Tagging)
- 表データ分類(Tabular Classification)
- 表データ回帰(Tabular Regression)
- 推薦(Recommendation)
- 物体追跡(Object Tracking)
今回はこの中で特に扱いやすいものを取り上げます。
画像分類
この画像に写っているのはゾウかキリンか? みたいな分類をすることができます。
必要なデータセット
以下のようにラベル付けされた画像データセットが必要です。
dataset/
├── label1/
│ ├── image1.jpg
│ ├── image2.jpg
│ ├── ...
├── label2/
│ ├── image1.jpg
│ ├── image2.jpg
│ ├── ...
├── label3/
│ ├── image1.jpg
│ ├── image2.jpg
│ ├── ...
...
ここでlabel
が分類したいもの(ゾウ、キリンなど)、image
が実際の画像です。
このようにデータを取り込んだら、Train
ボタンを押すだけでトレーニングが完了します。
必要なら同じ形式のテストデータ、バリデーションデータも追加できます。
画像認識
この画像に含まれる複数のオブジェクトを認識し、それぞれの位置を特定することができます。
必要なデータセット
以下のようにラベル付けされた画像データセットが必要です。各画像には、認識したいオブジェクトの位置情報(バウンディングボックス)が含まれている必要があります。
dataset/
├── label1/
│ ├── image1.jpg
│ ├── image1.json
│ ├── image2.jpg
│ ├── image2.json
│ ├── ...
├── label2/
│ ├── image1.jpg
│ ├── image1.json
│ ├── image2.jpg
│ ├── image2.json
│ ├── ...
├── label3/
│ ├── image1.jpg
│ ├── image1.json
│ ├── image2.jpg
│ ├── image2.json
│ ├── ...
...
ここでlabelが認識したいオブジェクトの種類(例:車、人、動物など)、imageが実際の画像、jsonが各オブジェクトの位置情報を含むアノテーションファイルです。
データセットの入手方法
Roboflow Universeというサイトがおすすめです。
ここではCreateMLで使える形式でデータセットをダウンロードできます!
画像真ん中のCreateML JSONからダウンロードすることで、そのまま使えるデータセットが入手できます。神。
このようにデータを取り込んだら、Trainボタンを押すだけでトレーニングが完了します。
必要なら同じ形式のテストデータ、バリデーションデータも追加できます。
ジェスチャー認識
手や体の動きなど、ジェスチャーを認識して分類することができます。
必要なデータセット
以下のようにラベル付けされたジェスチャー画像データセットが必要です。
dataset/
├── gesture1/
│ ├── image1.jpg
│ ├── image2.jpg
│ ├── ...
├── gesture2/
│ ├── image1.jpg
│ ├── image2.jpg
│ ├── ...
├── gesture3/
│ ├── image1.jpg
│ ├── image2.jpg
│ ├── ...
...
ここでgestureが認識したいジェスチャーの種類(例:サムズアップ、ピースサインなど)、imageが実際のジェスチャー画像です。
このようにデータを取り込んだら、Trainボタンを押すだけでトレーニングが完了します。
必要なら同じ形式のテストデータ、バリデーションデータも追加できます。
音声分類
音声データを分類して、例えば異なる音声コマンドや環境音を識別することができます。
必要なデータセット
以下のようにラベル付けされた音声データセットが必要です。
dataset/
├── label1/
│ ├── audio1.wav
│ ├── audio2.wav
│ ├── ...
├── label2/
│ ├── audio1.wav
│ ├── audio2.wav
│ ├── ...
├── label3/
│ ├── audio1.wav
│ ├── audio2.wav
│ ├── ...
...
ここでlabelが分類したい音声の種類(例:犬の鳴き声、車の音声、音声コマンドなど)、audioが実際の音声ファイルです。
このようにデータを取り込んだら、Trainボタンを押すだけでトレーニングが完了します。
必要なら同じ形式のテストデータ、バリデーションデータも追加できます。
まとめ
CreateMLを使うと簡単にAIが作れる上、それをSwiftで使うこともとても簡単です!ぜひみなさん使いましょう!