ブログ · ガイド
自分で撮った写真からApp Storeまで、すべてiPadで
MagicaLCoreでモデルをトレーニングし、Swift Playgroundsでアプリを作り、App Store Connectに送信。Macを使わずにたどる全行程を、ステップごとに紹介します。
文:MagicaLCore ·
自分のモデルで物を認識するアプリを作るには、以前はすべての段階でMacが必要でした。トレーニング用のツール、Xcode、そしてビルドをアップロードするためのコンピュータ。今では、M1以降のチップを搭載したiPadが1台あれば、最初から最後までたどれます。植物を識別するアプリを例に、それぞれの部品がどうつながるかを見ていきましょう。
アイデア
自分が興味を持てて、カメラ、マイク、またはデータの表でとらえられるものを選びます:
- 写真から、この観葉植物は何か?
- 録音から、鳴いているのはどの鳥か?
- この文は、質問か、苦情か、それともほめ言葉か?
- 手の写真から、グー、チョキ、パーのどれか?
広い問いより、狭い問いのほうがうまくいきます。「世界中のあらゆる植物」より、「ベランダにあるこの8つの植物のどれか」のほうが良い結果になります。
ステップ1. 例を集める
iPadでそれぞれの植物の写真を撮ります。角度を変え、光を変え、近くからも遠くからも。植物ごとにフォルダを1つ作り、その植物の名前を付けます。その名前が、アプリに表示されるラベルになります。テスト用に、植物ごとに数枚の写真を別に取っておきましょう。
ステップ2. MagicaLCoreでトレーニングする
新しい画像モデルを作り、名前と作成者を付けて、フォルダを追加します。まずはデフォルトの設定で始めましょう。トレーニング中は、トレーニングと検証の精度と損失を見守ります。時間が足りなくなったら一時停止して、あとで履歴から続けられます。
ステップ3. 難しいケースを試す
カメラを植物に向けて、それぞれの予測の信頼度を確かめます。暗い隅、ごちゃごちゃした背景の前の葉、リストにない植物などを試してみましょう。モデルが間違えたら、そのような例を追加して、もう一度トレーニングします。良いモデルは、この繰り返しから生まれます。
ステップ4. .mlmodelを書き出す
名前、作成者、説明を付けてモデルを書き出し、「ファイル」に保存します。Swift PlaygroundsとXcodeですぐに使えます。
ステップ5. Swift Playgroundsでアプリを作る
Swift Playgroundsは、iPadとMacでSwiftのコードを書き、SwiftUIでアプリを作るためのAppleの無料アプリです。新しいAppプロジェクトを始め、.mlmodelを追加して画面を書きます。入力しながらライブプレビューで確認できます。MagicaLCoreの「モデルを使う」ガイドでは、モデルの種類ごとのコードを紹介しています。モデルの読み込み方、写真、音、データの行、文の渡し方、そして答えの読み取り方です。
シンプルな最初のバージョンに必要なのは、次の3つだけです:
- 写真を撮る、または選ぶボタン。
- モデルの答えと、その信頼度。
- 結果についての短いカード。植物のアプリなら、名前と育て方。
ステップ6. 公開する
iPadでアプリが動いたら、Swift PlaygroundsからApp Store Connectに送信できます。App Storeで公開するには、Apple Developer Programのメンバーシップが必要です。あとでもっと必要になったら、同じプロジェクトをMacのXcodeで開けます。
知っておきたいこと
- 認識はデバイス上で行われます。 モデルはアプリの中に入っているので、サーバーなしで、写真をどこにも送らずに答えます。
- 小さく始めて、育てる。 少しのクラスで公開し、例が集まるにつれてクラスを増やしましょう。
- ユーザーに正直に。 信頼度を表示し、アプリが知らないことは知らないと伝えましょう。
学生のみなさんへ:Swift Student Challenge
Appleは毎年、学生が自分で作ったApp PlaygroundをSwift Student Challengeに応募するよう呼びかけています。学生が自分の写真、音、データでトレーニングしたモデルは、そのプロジェクトの中心になれますし、オフラインで動作します。MagicaLCoreはChallengeの一部ではなく、Appleとも関係がないので、その年の公式ルールを読み、使ったツールを明記してください。
全行程をひと目で
| ステップ | アプリ | デバイス |
|---|---|---|
| 例を集める | カメラ、ボイスメモ、ファイル | iPad |
| トレーニングとテスト | MagicaLCore | iPad |
| .mlmodelを書き出す | MagicaLCore | iPad |
| アプリを作る | Swift Playgrounds | iPad |
| App Store Connectに送信 | Swift Playgrounds | iPad |
ほかのアプリやサービスについての情報は記事の日付時点で確認したもので、変わる可能性があります。製品名はすべて各所有者に帰属します。
MagicaLCore