物体検出モデル構築マニュアル
モデル構築の流れ
- Mac(macOS)および Windows 環境にて自作の物体検出AIモデルを作成し、アプリに導入する手順を解説します
- GUIで構築できる「Create ML(Mac専用)」と、「Ultralytics YOLO(Mac/Win両対応)」の2つの学習手法について解説します
- このマニュアルでは、AIを活用した手順を中心に解説します。AIエージェントアプリ(Claude Code, Google Antigravityで動作確認)を事前にインストール・アカウント登録し使える状態にセットアップしてください
|
作業環境の準備・構築 ▼ 対象物の様々な個体、サイズ、方向の 写真を用意(1000枚程度) ▼ アノテーション (AIに学習させるためのラベル付け作業) ▼ 学習の実行・モデル変換 ▼ アプリ等に組み込んでの検証 ▼ モデルの構築完了 |
モデル構築の流れ
モデル構築 5つのステップ
- STEP 1:作業環境の準備(
venv仮想環境の構築 【Mac/Win分岐】) - STEP 2:画像データの収集(検出対象の写真・動画の撮影と収集)
- STEP 3:アノテーション(バウンディングボックスのラベル付け)
- STEP 4:AIモデルの学習(Create ML または Ultralytics YOLO)
- STEP 5:アプリ導入と検証(Core MLモデルのインポートと動作確認)
STEP 1:作業環境の整備(venv仮想環境)
- Python、PyToach、YOLOなどの必要なプログラムをインストールします
- システム環境を汚さないよう、専用のPython仮想環境(.
venv)を作成して安全に作業します - お使いのOS(Mac または Windows)に合わせてコマンドを実行してください
AIエージェントに依頼して自動構築する
- 黒い画面(ターミナル等)の操作が不安な方や時間を節約したい方は、お使いのAIエージェント(Claude Code、Google Antigravity等)に以下の指示文をコピー&ペーストするだけで、お使いのPCに合わせて全自動で環境構築が完了します
- さらに、次回以降は「ダブルクリックだけでアノテーションツールが一発起動する専用スクリプト」まで自動生成させることができます
- 2で作成するフォルダ内に仮想環境を構築します。お好みのフォルダ名に変更して指示してください。なお、このフォルダを削除するだけで作成した環境はいつでもリセットが可能です。
AIエージェントへの自動構築・起動スクリプト作成プロンプト(コピー用)
私のパソコン上で「AI物体検出モデル構築」の作業環境を自動でセットアップしてください。
このOS環境(Mac または Windows)に合わせて以下の順序でコマンドを実行し、正常に完了するまでサポートしてください:
1. システムのPythonバージョンを確認(3.9〜3.12推奨、3.11最適)。新しすぎたり古すぎる場合は共存版を利用する
2. ~/ai_object_detection フォルダを作成し、専用の .venv 仮想環境を作成してアクティベートする
3. もしWindowsでNVIDIA製GPUが搭載されている場合は、YOLOより先にPyTorch公式サイトのコマンド(例: cu118 / cu121 等のCUDA対応版)を用いてGPU専用PyTorchを優先インストールする
4. pip を最新化し、OSに合わせて以下のコマンドを実行してツールを導入する。勝手な推測によるパッケージ名変更(例: anylabeling への変更)は禁止するが、パッケージが見つからない場合は最適なものを探して提案すること:
- Macの場合: pip install PyQt6 x-anylabeling ultralytics
- Windowsの場合: pip install x-anylabeling ultralytics
5. 次回以降、ダブルクリック等で簡単・瞬時に x-anylabeling を起動できるよう、OSに合わせた起動スクリプト(Mac用 .command または Windows用 .bat/.ps1)を作成して作業フォルダに配置する
6. インストール完了後、正常に起動するか検証し、次回以降の最もカンタンな起動手順を報告する
- これをAIに送信するだけで、システムの環境判定・仮想環境作成・GPU最適化・ツール導入から、「ダブルクリック起動スクリプト作成」までを失敗ゼロで自動実行してくれます
STEP 2:画像データセットの収集・準備(Mac/Win共通)
- 検査やカウントに必要な画像を用意します。
- 検査を行う実環境で撮影することで、検出の精度を高めることが可能です。
- テストするだけなら、AIに依頼してネットから画像を収集してもらうことも可能です。
多様な撮影例
必要な画像枚数の目安
- 1クラスあたり最低 30〜50枚、実用精度を得るには100枚〜300枚以上の画像を用意します
撮影・データ作成のポイント
- 実際に検出する現場や環境に対応する画像データを用意します。
- 多様なアングル:真上、斜め、横方向など様々な角度から撮影します
- 多様な環境:照明の明るさや背景の種類を変えて撮影します
- 重なりや距離:対象物が密着している状態や距離の異なる状態を網羅します
- 動画(
.mp4)から数コマおきに静止画を切り出してデータセットにする方法も有効です
STEP 3:X-AnyLabeling によるアノテーション(Mac/Win共通)
X-AnyLabeling の起動とフォルダ読み込み
- 仮想環境が有効な状態でコマンド入力して起動します:
x-anylabeling - 画面左上の「Open Dir」から画像が保存されているフォルダを開きます
バウンディングボックスの描画
- キーボードの
R(Rectangle)を押し、画像内の検出対象物をマウスドラッグで正確に囲みます - 囲み終わったらラベル名(例:
strawberryなど)を入力・選択します - 全ての画像に対してアノテーション作業を行います
データセットのエクスポート
- 作業完了後、学習方法に合わせた形式で「Export」を行います
- Create ML 用(Mac向け):COCO JSON または Create ML フォーマットで書き出します
- Ultralytics YOLO 用(共通):YOLO フォーマットで書き出し、
images/labelsフォルダと設定ファイルを生成します
STEP 4-A:【ルートA】Create ML でのモデル学習(GUI / ※Mac専用)
- プログラムを書かずにマウス操作のみで Core ML モデルを作成できるおすすめの手法です(※Mac環境専用)
Create ML の起動
- Xcode のメニューバーより
Xcode>Open Developer Tool>Create MLを選択します - 「New Document」からテンプレート 「Object Detection」 を選択します
データセットの指定と学習開始
- Training Data にSTEP 3で書き出したデータセットを選択します
- Iterations(反復回数) を指定(推奨目安:
2000〜5000回)し、画面上の 「Train」 ボタンを押して学習を実行します
モデルの保存(エクスポート)
- 学習完了後、「Output」タブより 「Get」 をクリックし、作成された
.mlmodel(または.mlpackage)ファイルを保存します
STEP 4-B:【ルートB】Ultralytics YOLO でのモデル学習(CLI / Mac・Win両対応)
- MacおよびWindowsで利用可能な、高度で高速なYOLOアルゴリズムを活用するプロ向け手法です
data.yaml の作成
- データセットフォルダ内にクラス情報を記述した
data.yamlを準備します:
path: /absolute/path/to/dataset
train: images/train
val: images/val
names:
0: strawberry
1: leaf
学習コマンドの実行
- ターミナルまたはコマンドプロンプトでデータセットの場所へ移動し、次のコマンドで学習を開始します:
yolo detect train data=data.yaml model=yolov8n.pt epochs=100 imgsz=640
Core ML 形式へのエクスポート ※重要
- 学習完了後、完成した最適な重み(
best.pt)をiOS向けに変換・出力します:
yolo export model=runs/detect/train/weights/best.pt format=coreml nms=True
- ※ Windows環境でも、このコマンドでiOSアプリ用
.mlpackage/.mlmodelの変換・出力が可能です
STEP 5:アプリへのインポートと検証
iPhone / iPad へのモデル転送(Mac・Windows別)
- Macの場合:AirDrop で iPhone / iPad へ直接送信するのが最もカンタンです
- Windowsの場合:ブラウザから iCloud.com (iCloud Drive) にアップロードするか、Google Drive 等のクラウドに保存し、iPhoneの「ファイル」アプリから端末内にダウンロードします
アプリでのインポートと検証手順
- 「AI物体検出カウンターアプリ」を起動し、メイン画面から 「AIモデル管理画面」 を開きます
- 画面右上の 「+(追加ボタン)」 をタップし、転送したモデルファイルを選択してインポートします
- インポートされたモデル行をタップしてチェックマーク(✓)を入れます
- 解析画面へ移動し、自作モデルで正しく対象物が検出・カウントされるか動作検証を行います
