Slide 1

Slide 1 text

AIアプリ5分クッキング Satoshi SAKAO (@ottijp) ゆるゆるIT勉強会 Vol.5 2018/12/15 (Sat) J1

Slide 2

Slide 2 text

話すひと J2 インフォコム株式会社 オープンイノベーションセンター " アプリケーションエンジニア JS(ES6) / Node.js / GCP / IoT / iOS (Swift) シュタゲ / Newton Satoshi SAKAO @ottijp

Slide 3

Slide 3 text

• 無料のXcodeで超絶簡単にAIアプリを作れます • このLT中に1から作ってみます • iOS/Swift知らない人でも簡単! • 急いでやるので,あとで資料みてください J3

Slide 4

Slide 4 text

J4 5分クッキングスタート!!

Slide 5

Slide 5 text

ゆく年くる年 画像分類アプリ J5 材料 1人分 Mac(Mojave) 1台 Xcode(10+) 1式 ソースコード 4行 学習用画像 各10枚以上 盛り付け例 クリスマスツリー サンタ 門松 獅子舞 クリスマスツリー!

Slide 6

Slide 6 text

J6 美味しそうですね!

Slide 7

Slide 7 text

J7 さっそく作ってみましょう

Slide 8

Slide 8 text

J8 作り方

Slide 9

Slide 9 text

1. モデルの作成 • macOS用Playgroundを新規作成 • 3行をコピペして実行 J9 import CreateMLUI let builder = MLImageClassifierBuilder() builder.showInLiveView()

Slide 10

Slide 10 text

1. モデルの作成 • アシスタントエディタのUIに学習用画像をドロップ • 学習が終わったらテスト用画像をドロップ • モデルに名前を付けてファイル保存 J10

Slide 11

Slide 11 text

2. モデルのアプリへの組み込み • AppleのサンプルプロジェクトをDLして開く J11 https://developer.apple.com/documentation/vision/classifying_images_with_vision_and_core_ml

Slide 12

Slide 12 text

2. モデルのアプリへの組み込み • 作成したモデルをプロジェクトに追加する • ロードするモデル名を変更する • ImageClassificationViewController.swift L30 J12

Slide 13

Slide 13 text

2. モデルのアプリへの組み込み • ビルド(⌘R)して実行! • 左下のアイコンから画像を
 読み込むとゆく年くる年画像が分類
 された結果が表示される J13

Slide 14

Slide 14 text

$ exit J14

Slide 15

Slide 15 text

J15 Appendix

Slide 16

Slide 16 text

CreateMLとは • CoreMLフレームワークの一部 • macOS上で機械学習(CoreML)モデルを作るためのもの • iOSでの学習には対応していない • macOS 10.14(Mojave)+ / Xcode 10.0+ • 作れるモデル • 画像分類(MLImageClassifier) ※これのみPlayground用のUIが提供されている • 文書分類(MLTextClassifier) • 数値データ分類・回帰(MLDataTable) • 学習用データを与えるだけで作成可能 • PhotosやSiriの基盤を利用しているので,モデルを小さく短時間で学習可能 J16

Slide 17

Slide 17 text

学習用画像 • 学習用に10枚以上,テスト用にその20%くらい • ディレクトリ名を分類用ラベル名としておく • icrawlerなどで画像収集が可能 • https://github.com/hellock/icrawler J17

Slide 18

Slide 18 text

参考 • Create ML | Apple Developer Documentation • https://developer.apple.com/documentation/createml • Creating an Image Classifier Model | Apple Developer Documentation • https://developer.apple.com/documentation/createml/creating_an_image_classifier_model • GitHub - hellock/icrawler: A multi-thread crawler framework with many builtin image crawlers provided. • https://github.com/hellock/icrawler • 機械学習用の画像を集めるのにicrawlerが便利だった - Qiita • https://qiita.com/tkt989/items/84c6581dfa1d9a42dc2d) • Classifying Images with Vision and Core ML | Apple Developer Documentation • https://developer.apple.com/documentation/vision/ classifying_images_with_vision_and_core_ml J18