組立工程の後に撮った製品の写真を基準の写真と比べ、部品の付け忘れ・向きの誤り・配線の外れの候補を見分けて、検査の担当に確かめる箇所を示す
組立を終えた製品を撮影台で撮り、機種とオプションに合った基準の写真と確認箇所ごとに比べて、部品の付け忘れ・向きの誤り・配線の外れの候補を枠で示します。検査の担当は、示された箇所を実物で確かめるだけになります。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Python
- 対象業界
- 製造
- 対象部門
- 品質管理/生産
- 対象業務
- 内容確認・チェック/比較検討
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 画像認識
- 主な効果
- 品質標準化/属人化解消/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 組立の作業者が、組み終えた台を検査の台に置く
- 検査の担当が、製造番号から生産管理システムで機種とオプションを確かめる
- 機種とオプションに合った図面・チェックシート・見本の写真を探して並べる
- 実物とチェックシートを見比べ、部品の有無・向き・コネクタの差し込みを1項目ずつ見る
- 違いがあれば、付箋を貼って組立に戻す
- チェックシートに印を付け、検査の記録に残す
- 人組立の作業者が、組み終えた台を撮影台に置き、製造番号のバーコードを読む
- 自動撮影台のPCが、生産管理システムから機種とオプションを引く
- 自動撮影台のカメラが、天面と正面の2枚を撮る
- 自動機種とオプションに合った基準の写真と、確認箇所の一覧を読み込む
- 自動確認箇所ごとに、基準の写真と今の写真の同じ範囲を切り出す
- 自動Gemini API が、確認箇所ごとに `ok` / `differs` / `not_visible` と、違いの種類を返す
- 自動撮影台の画面に、`differs` と `not_visible` の箇所を枠で重ねて表示する
- 人検査の担当が、枠の箇所を実物で確かめ、「戻す」「問題なし」「基準が古い」を選ぶ
- 人戻すと決めた台を組立に返す
- 自動確認の結果と写真を検査の記録に残し、箇所ごとの戻しの回数を集計する
各工程の詳しい説明を読む
- 組立の作業者が、組み終えた台を検査の台に置く
- 検査の担当が、製造番号から生産管理システムで機種とオプションを確かめる
- 機種とオプションに合った図面・チェックシート・見本の写真を探して並べる
- 実物とチェックシートを見比べ、部品の有無・向き・コネクタの差し込みを1項目ずつ見る
- 違いがあれば、付箋を貼って組立に戻す
- チェックシートに印を付け、検査の記録に残す
(a)見る場所が台ごとに変わる。 オプションの組み合わせで部品の数が変わるため、チェックシートの項目のうち、どれがこの台に当てはまるかを毎回読み取る必要があります。熟練の2名は覚えていますが、ほかの3名は図面を開きます。3番の準備だけで1分近くかかる台があります。
(b)見慣れた形ほど見落とす。 似た機種を続けて見たあと、部品が1つ足りない台を「いつもの形」として通してしまうことがあります。逆向きのコネクタやファンも、形がそろっているので目に入りにくい。人の目は、違いより同じところを先に見ます。
(c)こつが2名に寄っている。 「この機種はここの固定具を付け忘れやすい」という知識は、熟練の2名の頭の中にしかありません。 2名が休んだ日は、検査に時間がかかり、組立の後ろに台がたまります。
(d)記録が後から使えない。 チェックシートの印は残りますが、どの箇所を何回戻したかは集計されていません。 同じ付け忘れが続いても、組立の手順を直す材料になっていません。
- 【人】 組立の作業者が、組み終えた台を撮影台に置き、製造番号のバーコードを読む
- 【自動】 撮影台のPCが、生産管理システムから機種とオプションを引く
- 【自動】 撮影台のカメラが、天面と正面の2枚を撮る
- 【自動】 機種とオプションに合った基準の写真と、確認箇所の一覧を読み込む
- 【自動】 確認箇所ごとに、基準の写真と今の写真の同じ範囲を切り出す
- 【自動】 Gemini API が、確認箇所ごとに
ok/differs/not_visibleと、違いの種類を返す - 【自動】 撮影台の画面に、
differsとnot_visibleの箇所を枠で重ねて表示する - 【人】 検査の担当が、枠の箇所を実物で確かめ、「戻す」「問題なし」「基準が古い」を選ぶ
- 【人】 戻すと決めた台を組立に返す
- 【自動】 確認の結果と写真を検査の記録に残し、箇所ごとの戻しの回数を集計する
8番目が、この設計の分かれ目です。 検査の担当は、枠の付いた箇所だけを実物で見ます。 枠が無い台は、画面で2枚の写真を見て通します。全箇所を目で見直す設計にすると、照合の1.5分はほとんど減りません。
ただし、枠が無いことは「問題が無い」ことの証明ではありません。 確認箇所の一覧に載っていない場所は、AIは見ていません。一覧に何を載せるかが、この構成の検査の範囲そのものです。
02今回想定するシステム構成
組み終えた台 │ 撮影台に置き、製造番号のバーコードを読む ▼【トリガー】バーコードの読み取り 撮影台のPC(Python のスクリプト) ├── 生産管理システム ── 機種/オプション ├── 基準の写真と確認箇所の一覧 ── 機種・オプションごと ├── カメラ ── 天面と正面の2枚 ▼ 確認箇所ごとに基準と今の写真を切り出す Gemini API ── 確認箇所ごとの ok/differs/not_visible と違いの種類 ▼ 撮影台のPC ── 枠を重ねて画面に表示 ▼ 【検査の担当が枠の箇所を実物で確かめる】 ├──▶ 戻す → 組立へ └──▶ 検査の記録(写真・結果・判断)と、箇所ごとの戻しの集計
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(確認箇所ごとの比較と、違いの種類の判定) | Claude API、OpenAI API |
| 連携 | Python(撮影台のPCで動くスクリプト。切り出し、呼び出し、表示、記録) | Node.js |
| 集計 | Python(箇所ごとの戻しの回数の集計) | BIツール |
| 撮影 | 撮影台に固定したカメラと照明 | 固定したタブレット |
| 保管 | 社内のファイルサーバー(写真と検査の記録) | クラウドのストレージ |
撮影台は、この構成でいちばん大事な設備です。 台を置く位置の目印、カメラの高さと向き、照明の当たり方を固定します。同じ機種なら、毎回ほぼ同じ写真になることが、確認箇所の枠を使う前提です。撮影台そのものは、工場ごとに作り込みます。
比べる仕組みの土台は、Gemini API の画像理解です。 対応する形式は PNG、JPEG、WEBP、HEIC、HEIF で、1回のリクエストに複数の画像を入れられます。 画像を直接入れる場合は、指示などと合わせたリクエスト全体が20MBまでです。物体の位置は box_2d として [ymin, xmin, ymax, xmax] の形で、0から1000に正規化した座標で返り、元の画像の大きさに直して使うよう案内されています。
細かいところを見せる設定もあります。 Gemini 3 のモデルでは media_resolution で、1枚の画像に割り当てるトークンの上限を low(280)・medium(560)・high(1120)・ultra_high(2240)から選べ、多くの画像の分析には high が勧められています。 ultra_high は画像1つずつの指定でだけ使えます。
呼び出しは、Interactions の書き方で行います。 公式のページの例は POST https://generativelanguage.googleapis.com/v1beta/interactions を使い、構造化出力も response_format に mime_type: "application/json" とスキーマを入れて指定します。
03どうやって実装するのか
処理の起点を決める
製造番号のバーコードを読んだときを起点にします。 組立の作業者が台を撮影台に置き、バーコードを読むと、スクリプトがカメラで2枚を撮ります。写真を撮ってからバーコードを読む順にはしません。 先に番号が決まっていないと、写真と台の対応を取り違えます。
撮影はスクリプトが行い、人がシャッターを押す形にしません。 人が押すと、台を置き直す前や手が写っているときに撮れてしまいます。台の位置の目印に台が収まったことを、写真の明るさの変化か台の下のセンサーで確かめてから撮ります。
1台ずつ、その場で結果を返します。 まとめて夜に処理すると、戻すべき台が通電試験に進んでしまいます。検査の担当が台の前にいる間に、枠が画面に出ていることが前提です。返ってくるまでの時間は、確認箇所の数と画像の大きさで変わるため、最初の1週間で台ごとの待ち時間を測ります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 今の写真 | 天面と正面の2枚。撮影の時刻と製造番号 | 撮影台のカメラ |
| 機種とオプション | 機種コード、オプションの一覧、図面の版 | 生産管理システム |
| 基準の写真 | 機種とオプションの組み合わせごとの、正しく組み上がった台の天面と正面 | ファイルサーバーの基準の写真のフォルダ |
| 確認箇所の一覧 | 箇所の番号、枠の座標、見る観点(有無/向き/差し込み)、部品の名前、図面の版 | 確認箇所の一覧(機種ごとの表) |
| 戻しの履歴 | 箇所ごとの過去の戻しの回数 | 検査の記録 |
質を決めるのは、確認箇所の一覧です。 1行が1つの箇所で、「天面の写真のこの枠の中で、端子台TB3の有無を見る」のように書きます。観点は3つに絞ります。
| 観点 | 何を見るか | 例 |
|---|---|---|
| 有無 | 部品が付いているか | 端子台のカバー、ケーブルの固定具、ラベル |
| 向き | 基準と同じ向きか | ファン、電解コンデンサ、極性のあるコネクタ |
| 差し込み | コネクタが奥まで入り、配線が外れていないか | ハーネスのコネクタ、アースの線 |
基準の写真は、機種とオプションの組み合わせごとに持ちます。 組み合わせの数が多い機種は、オプションで変わる箇所だけ別の写真を持ち、確認箇所の一覧で使い分けます。 全部の組み合わせを撮りそろえる必要はありません。
図面の版を一覧に持たせるのは、設計変更に追いつくためです。 生産管理システムの図面の版と一覧の版が違えば、比べる前に止めて、基準が古いことを知らせます。
データの取得方法を決める
撮影台のPCで動く Python のスクリプトが、次の順に集めます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 機種・オプション・図面の版 | 生産管理システム(製造番号で引く) | 基準の写真と一覧の選択 |
| 基準の写真 | ファイルサーバー | 比べる相手 |
| 確認箇所の一覧 | ファイルサーバーの表 | 切り出す範囲と観点 |
| 今の写真 | カメラ | 比べる対象 |
生産管理システムからの引き方は、システムによって違います。 照会用のAPIがあればそれを使い、無ければ製造番号と機種・オプションを書き出した表を、毎朝ファイルサーバーに置いてもらう形でも足ります。この部分は、利用している生産管理システムに合わせた作り込みになります。
基準の写真は、毎回の呼び出しで画像として直接渡します。 Gemini API には Files API があり、ファイルを上げておいて URI で何度も使えますが、上げたファイルは48時間で自動で消えます。 基準の写真は何か月も使うので、手元のファイルサーバーを正本にし、呼び出しのたびに切り出して渡すほうが管理が単純です。
AIへ渡す前に整形する
- 写りの確認 … 明るさとピントを数値で見て、暗すぎる・ぼけている写真は撮り直します
- 位置合わせ … 台の置き方のわずかなずれを、筐体の四隅か目印で合わせます。ずれたままだと、枠の中に違う部品が入ります
- 確認箇所ごとの切り出し … 一覧の枠で、基準の写真と今の写真から同じ範囲を切り出します。枠より少し広めに取ります
- 大きさのそろえ … 切り出した2枚を同じ大きさにそろえます
- 呼び出しのまとめ方 … 1回の呼び出しに、確認箇所1つ分の2枚か、近い箇所をまとめた数組を入れます
- 図面の版の照合 … 生産管理システムの版と一覧の版が違えば、比べずに止めます
3番目が、この構成でいちばん効く工夫です。 天面の写真全体を渡すと、小さなコネクタは画像の中の数十ピクセルにしかなりません。 確認箇所ごとに切り出せば、同じコネクタが画像いっぱいに写ります。media_resolution を high にするより先に、切り出しで解像度を稼ぎます。
2番目を省くと、3番目が働きません。 枠は基準の写真の座標で決めているため、今の写真の台が数ミリずれると、枠の端の部品が切れます。 撮影台の目印で置き方をそろえ、それでも残るずれをスクリプトで合わせます。
AIに処理させる
させるのは、確認箇所ごとに、基準の切り出しと今の切り出しを比べて、観点に沿った違いがあるかを答えることだけです。
| 観点 | 答え方 | 判断できないときの扱い |
|---|---|---|
| 有無 | 基準にある部品が今の写真にもあるか。ok / differs(missing) | ケーブルや手で隠れていれば not_visible |
| 向き | 基準と同じ向きか。ok / differs(orientation) | 向きを示す印が写っていなければ not_visible |
| 差し込み | コネクタが基準と同じ位置まで入り、線がつながっているか。ok / differs(disconnected) | 影や反射で境目が見えなければ not_visible |
| 想定外の物 | 基準に無い物(工具、ねじ、切れ端)が枠の中にあるか | 印 foreign_object を付ける |
not_visible を正直に返させるのが要です。 見えない部品を「ある」と答えれば付け忘れを見逃し、「無い」と答えれば誤報になります。どちらに倒しても困るので、見えないと答えさせ、実物の確認に回します。
違いの位置も返させます。 differs のときは、切り出した画像の中の位置を box_2d で返させ、スクリプトが元の写真の座標に直して画面に枠を出します。検査の担当は、枠を見てすぐに実物のその場所に目を向けられます。
| させないこと | 理由 |
|---|---|
| 台の合否の判断 | 戻すかどうかは検査の担当が決める |
| 部品の型番の読み取り | 型番の照合は別の仕組みの仕事。ここでは有無と向きだけ |
| 確認箇所の外の指摘 | 見る範囲は一覧で決める。範囲外の指摘は誤報のもと |
| 取り付けの強さ・締め付けの判断 | 写真では分からない |
| 基準の写真が正しいかの判断 | 基準を直すのは品質保証部 |
3行目を禁じるのは、検査の範囲を一覧で管理するためです。 AIが気まぐれに範囲外を指摘すると、その指摘を見るかどうかが担当ごとに分かれ、範囲が人によって変わります。 範囲を広げたいときは、一覧に箇所を足します。
指示内容を固定する
あなたは制御ユニットの組立後の検査を補助する立場です。
1枚目は正しく組み上がった台(基準)の一部、2枚目は今の台の同じ範囲です。
この範囲について、決められた観点だけで2枚を比べてください。
【この範囲の情報】
箇所の番号:{point_id}
部品の名前:{part_name}
観点:{aspect}(presence / orientation / connection のどれか)
【status の選び方】
- ok .......... 観点について、2枚目が1枚目と同じ状態に見える
- differs ..... 観点について、2枚目が1枚目と違って見える
- not_visible . ケーブル・手・影・反射などで、2枚目の該当部分が見えず判断できない
迷ったときに ok を選ばないでください。見えないときは differs ではなく not_visible です。
【differs のときの kind】
- missing ........ 1枚目にある部品が2枚目に無い
- orientation .... 部品の向きが1枚目と違う
- disconnected ... コネクタが浮いている、線が外れている
- other .......... 上のどれにも当たらない違い
【厳守事項】
- 合格・不合格、戻すべきかどうかを書かないでください。
- 部品の型番や文字を読み取って答えないでください。
- 決められた観点以外の違い(色味、明るさ、ほこり)は見ないでください。
- 2枚目に、1枚目に無い物(工具、ねじ、線の切れ端)があれば foreign_object を true にしてください。
- differs のときは、2枚目の中で違って見える場所を box_2d で返してください。
- note には、判断の手がかりにした見た目を短く書いてください(例:「コネクタの爪の位置が1枚目より手前」)。
「迷ったときに ok を選ばない」が、見逃しを減らす一文です。 比べる2枚が似ていると、AIは「同じ」に寄りがちです。同じと言い切れないときは、differs か not_visible に倒させ、人の目に回します。 その分の誤報は、検査の担当が実物を見て「問題なし」を押せば終わります。
「色味・明るさ・ほこり」を見ないよう書くのは、撮影の条件の違いで誤報が出るためです。 照明の当たり方が少し違うだけで、2枚の見た目は変わります。観点に関係ない違いを拾わせないことが、誤報を減らすいちばんの手です。
出力形式を固定する
構造化出力で、確認箇所ごとに次の形のJSONを受け取ります。
{
"point_id": "TOP-07",
"aspect": "presence | orientation | connection",
"status": "ok | differs | not_visible",
"kind": "missing | orientation | disconnected | other | none",
"foreign_object": false,
"box_2d": [0, 0, 0, 0],
"note": ""
}
status と kind を enum にして、決めた値以外を返させません。 Gemini API の構造化出力では、enum と required が使えます。ただし、JSONとして正しくても値が正しいとは限らないため、アプリケーションの側で値を確かめるよう案内されています。 スクリプトでは、differs なのに kind が none、box_2d が範囲外、といった組み合わせを弾き、その箇所を not_visible として扱います。
1台分は、スクリプトが次の形にまとめます。 AIの答えをそのまま並べ、台としての結論は付けません。
| 台の表示 | 条件 | 画面の出し方 |
|---|---|---|
| 確認あり | differs か foreign_object が1つ以上 | 枠を赤で重ね、箇所の名前と note を出す |
| 見えない箇所あり | not_visible が1つ以上 | 枠を黄で重ね、撮り直しか実物の確認を促す |
| 枠なし | すべて ok | 2枚の写真だけを出す |
| 比べていない | 図面の版の不一致、写りの不良 | 理由を出し、従来のチェックシートで検査する |
4行目の「比べていない」を、「枠なし」と見た目で分けます。 どちらも枠が出ませんが、前者は機械が見ていない台です。 画面の色と文言をはっきり変えます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 生産管理システム | 照会用のAPI、または毎朝の書き出しの表 | 製造番号から機種・オプション・図面の版を引く |
| カメラ | 撮影台のPCに接続 | 天面と正面の2枚を撮る |
| ファイルサーバー | 撮影台のPCから読み書き | 基準の写真・一覧の読み取り、写真と記録の保存 |
| Gemini API | Python からの HTTP 呼び出し | 確認箇所ごとの比較 |
| 検査の記録 | ファイルサーバーの表 | 結果と担当の判断を1行ずつ書く |
生産管理システムへは書き込みません。 検査の合否を生産管理システムに入れる作業は、これまでどおり検査の担当が行います。 この構成から書き込むと、AIの誤報がそのまま工程の記録になります。
基準の写真のフォルダは、品質保証部だけが書き換えられるようにします。 撮影台のPCからは読み取りだけです。基準を差し替える権限が検査の現場にあると、誤報の多い箇所の基準を、今の台に合わせて撮り直してしまうことが起きます。
人が確認する
この構成は、すべての台で検査の担当の確認を通します。 枠の無い台も、担当が画面の2枚の写真を見て「確認」を押してから次へ進みます。
- 赤い枠を実物で確かめる … 枠の場所を見て、「戻す」「問題なし」「基準が古い」のどれかを選びます
- 黄色い枠を片付ける … ケーブルをよけて撮り直すか、実物で確かめます。撮り直しで消えない黄色は、撮影台の照明か一覧の枠の位置を疑います
- 「比べていない」の台は従来どおり … チェックシートで照合します
- 「基準が古い」を品質保証部に回す … 設計変更が基準の写真に反映されていない箇所です
目標は、1,800台をならして1台1分です。 枠の無い台は写真を見て押すだけで数十秒、赤い枠のある台は実物を見るので数分かかります。枠の出る台が1割前後という想定でならすと1分です。
最初の1か月は、従来のチェックシートと並べて動かします。 チェックシートで見つけた違いに、AIが枠を出していたかを1件ずつ照らします。枠が出なかった違いは、一覧の枠の位置か観点を直す材料です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 製造番号から機種が引けない | 比べずに止め、従来のチェックシートで検査する |
| 図面の版が一覧と違う | 「基準が古い」として品質保証部に知らせ、その台は従来の検査 |
| 写真が暗い・ぼけている | 撮り直しを促す。2回続けば撮影台の点検を知らせる |
| 位置合わせができない | 台の置き直しを促す。合わないまま比べない |
| Gemini API が応答しない | 1回だけ待って再送し、だめなら「比べていない」として従来の検査 |
| 返った値が決めた組み合わせに合わない | その箇所を not_visible として黄色の枠にする |
| 同じ箇所で誤報が続く | 箇所ごとの「問題なし」の回数を集計し、週に1回、枠と観点を見直す |
| 新しい機種・オプション | 基準の写真と一覧がそろうまで、その組み合わせは従来の検査 |
「従来の検査に戻る」道を、どの行にも用意しています。 撮影台が止まっても、ラインは止めません。機械が見られない台を、機械が見たかのように通さないことが、この構成でいちばん守るべきことです。
記録を残す
- 台ごとの今の写真(天面と正面)、製造番号、撮影の時刻
- 比べたときの基準の写真と一覧の版
- 確認箇所ごとのAIの答え(
status、kind、box_2d、note) - 検査の担当の判断(戻す/問題なし/基準が古い)と、担当者、時刻
- 箇所ごとの戻しの回数と、「問題なし」の回数
- 「比べていない」で従来の検査に回した台と、その理由
基準の写真と一覧の版を台ごとに残すのは、後から遡るためです。 出荷後に付け忘れが見つかったとき、その台がどの基準で比べられ、どの箇所に枠が出て、誰が何を選んだかを引けます。
箇所ごとの集計は、毎月の組立の打ち合わせに出します。
【組立後の確認の月次集計】2026年9月(1,812台)
戻しの多い箇所
CU-40 TOP-07 ケーブル固定具(有無) 戻し 23回
CU-40 FRT-03 ファン(向き) 戻し 11回
CU-22 TOP-12 アース線(差し込み) 戻し 9回
誤報の多い箇所(問題なしの回数)
CU-22 TOP-05 端子台カバー 問題なし 41回 → 枠の見直し
比べていない台 37台(図面の版の不一致 21台/撮影の不良 16台)
戻しの多い箇所は、組立の手順書を直す材料です。 固定具の付け忘れが続くなら、取り付ける順番か、部品の置き場所を変えるほうが早く効きます。
04実装レベルの3段階
最小構成では、ラインの速さに追いつきません。 1台ずつ貼り付けるので、確かめるための段階です。 半自動化で、1台3分が2分程度になります。 照合そのものは候補を見るだけになりますが、機種とオプションに合った基準を選ぶ作業と記録が手で残ります。 本格構成で1分になり、この段階が本記事の想定です。 差が大きいのは、①の準備がまるごと無くなるためです。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、誤報の多い箇所と、見えない箇所の多い機種が分かります。そこで枠と照明を直してから画面の表示を作るほうが、現場に受け入れられます。
05工数削減シミュレーション
導入後 1,800件 × 1分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 制御盤・制御ユニット・電装品・小型の装置など、手で部品を取り付け、コネクタや配線をつなぐ組立を行っている工場。機種とオプションの組み合わせが多く、検査の担当が図面とチェックシートと見本の写真を見比べて照合している場合。付け忘れや逆向きの取り付けが通電試験や出荷後に見つかったことがある場合。撮影台を置いて同じ向きで写真を撮れる場合。
- 同じ製品を大量に流し、画像検査の専用装置をラインに組み込める場合。部品が筐体の奥に隠れ、外から写真に写らない構造の場合。月の台数が少なく、検査の担当が1人で十分に見られる場合。なお、取り付けの強さ・ねじの締め付けトルク・電気的な導通は写真では分からず、この構成では代替できません。
07最小構成で試す方法
- 戻しの多い機種を1つ選ぶ
- 正しく組み上がった台の天面と正面を、スマートフォンを三脚に固定して撮る(これを基準にする)
- その機種の台を20台、同じ位置から撮る。うち数台は、わざと固定具を外す・コネクタを浮かせる
- 手元の Gemini の画面に、基準と1台分の写真を2枚並べて貼り付ける
- 「1枚目が正しい状態、2枚目が今の台です。ケーブル固定具の有無、ファンの向き、コネクタの差し込みについて、違って見える箇所を答えてください。見えない箇所は見えないと答えてください」と指示する
- わざと作った違いを、何台で言い当てたかを数える
写真全体でうまくいかなければ、次に切り出しを試します。 画像編集のソフトで確認箇所の範囲だけを2枚とも切り出して貼り、同じ違いを言い当てられるかを見ます。
| 出てきた内容 | 判断 |
|---|---|
| 写真全体でも違いを言い当てた | 撮影台と一覧の作成に進む |
| 切り出せば言い当てた | 構成は有効。切り出しを前提に作る |
| 切り出しても言い当てない | 撮影の条件が先。照明と角度を見直す |
3行目は、AIではなく写真の問題であることがほとんどです。 コネクタの浮きは、真上からでは見えず、斜めから照らすと影で分かることがあります。撮影台の設計に戻ります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 小さなコネクタの違いを拾わない | 確認箇所ごとに切り出す。 写真全体では数十ピクセルにしかならない |
| 照明の違いで誤報が出る | 撮影台の照明を固定し、指示で色味・明るさを見ないよう明記する |
| 台の置き方のずれで枠がずれる | 撮影台の目印と、スクリプトでの位置合わせ |
| 見えない部品を「ある」と答える | not_visible を用意し、「迷ったら ok にしない」と書く |
| 範囲外の指摘で現場が迷う | 確認箇所の外は見させない。範囲は一覧で管理する |
| 設計変更で基準が古くなる | 一覧に図面の版を持たせ、不一致なら比べずに止める |
| 現場が基準を撮り直してしまう | 基準のフォルダは品質保証部だけが書き換える |
| 枠が無いことを合格と受け取る | 「比べていない」と「枠なし」を画面で分ける |
| 返る座標をそのまま使う | 0〜1000の正規化された座標を、切り出し前の座標に直す |
| 待ち時間がラインを止める | 確認箇所をまとめて呼ぶ数を調整し、待ち時間を測る |
| Files API に基準を置いて消える | 上げたファイルは48時間で消える。正本は手元に置く |
| 誤報が多いまま放置する | 箇所ごとの「問題なし」の回数を週に1回見る |
上の4行が、精度の問題のほとんどです。 どれもAIの性能ではなく、何をどう撮り、どこを切り出して見せるかで決まります。
下の行の「誤報の放置」も早く効いてきます。 同じ箇所で毎回枠が出ると、検査の担当は枠を見ずに「問題なし」を押すようになります。 そうなった枠は、本当の付け忘れも見逃します。誤報の多い箇所は、一覧から外すか、枠を直すかを週ごとに決めます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 製品の内部の写真、部品の配置、機種とオプションの組み合わせ(取引先ごとの仕様)、検査の担当の判断の記録です。製品の内部の写真は、設計の情報そのものです。
- 有料の枠で使う … Gemini API の規約では、無料の枠では送った内容が製品の改善に使われ、人が読むことがあるとされ、機密や個人の情報を送らないよう求めています。 有料の枠では、プロンプトや応答を製品の改善に使わず、禁止事項の違反を見つけるために限った期間だけ記録するとされています。製品の内部の写真は有料の枠で送ります
- 保存される場所を確かめる … 有料の枠でも、内容はどの国でも一時的に保存・キャッシュされうるとされています。取引先との契約で図面や製品の写真の持ち出しに条件がある場合は、先に契約を確かめてください
- 送るのは確認箇所の切り出しだけにする … 写真全体ではなく、確認箇所の範囲だけを送ります。製造番号や取引先の名前が写る銘板の範囲は、切り出しに含めません
- 合否を自動で決めない … AIの答えは候補です。戻すかどうかは検査の担当が決め、その判断を記録します
- 通電試験や最終検査を省かない … この構成は外観の照合の補助です。写真で分からない締め付けや導通は、これまでどおりの検査で見ます
- 人が写らないようにする … 撮影台は台だけが写る画角にし、作業者の顔が写る位置にカメラを置きません
誤りが起きた場合のリスクは、付け忘れを見逃して次の工程に流すことと、誤報で検査の担当が枠を信用しなくなることの2つです。 前者は not_visible を ok に混ぜると起き、後者は誤報を放置すると起きます。どちらも、見えないものを見えないと答えさせ、誤報を週ごとに直す運用で守ります。
10まず何から始めるか
1週目:戻しの多い機種を1つ選び、写真で試す
過去3か月のチェックシートから、戻しの多い機種と箇所を拾います。その機種の正しい台を基準として撮り、20台を同じ位置から撮って、手元の Gemini の画面で違いを言い当てられるかを見ます。 写真全体と切り出しの両方を試します。
2週目:撮影台を作る
台を置く目印、カメラの高さ、照明を決めます。同じ台を5回置き直して撮り、写真がどれだけずれるかを測ります。 ずれが大きければ目印を直します。
3週目:確認箇所の一覧を作る
熟練の2名に、その機種で見ている場所を全部書き出してもらいます。 1行1箇所で、枠の座標・観点・部品の名前・図面の版を入れます。これが、こつを書き出す作業になります。
4週目:撮影から候補の一覧までをつなぐ
Python のスクリプトで、撮影・切り出し・呼び出しをつなぎ、結果を一覧に書き出すところまで作ります。 画面の枠はまだ出さず、従来のチェックシートと並べて答え合わせをします。
2か月目: 製造番号から基準を選ぶ仕組みと、画面の枠を足します。上位5機種に広げます。3か月目以降: 箇所ごとの戻しと誤報の集計を毎月の打ち合わせに出し、1台3分が何分になったかを実測します。誤報の多い箇所を直し終え、熟練の2名がいない日でも照合の時間が変わらなくなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
対応する画像の形式が PNG、JPEG、WEBP、HEIC、HEIF であること。画像を直接入れる場合、指示などと合わせたリクエスト全体が20MBまでであること。1回のリクエストに複数の画像を入れられること。物体の位置を box_2d として [ymin, xmin, ymax, xmax] の0〜1000の座標で返し、元の画像の大きさに直して使うこと。縦横とも384ピクセル以下の画像が258トークン、それより大きい画像は768×768の区画ごとに258トークンであること。例が /v1beta/interactions を使っていること | Gemini API: Image understanding | 2026-10-08 |
media_resolution で画像1枚に割り当てるトークンの上限を low(280)・medium(560)・high(1120)・ultra_high(2240)から選べること。Gemini 3 のモデルで使えること。ultra_high は画像1つずつの指定に限ること。多くの画像の分析に high が勧められていること | Gemini API: Media resolution | 2026-10-08 |
構造化出力を /v1beta/interactions の response_format に mime_type: "application/json" とスキーマを入れて指定すること。enum と required が使えること。JSONとして正しくても値はアプリケーションの側で検証するよう案内されていること | Gemini API: Structured output | 2026-10-08 |
| Files API に上げたファイルが48時間保存され、その後自動で消えること。1ファイル2GB、1プロジェクト20GBまでであること | Gemini API: Files API | 2026-10-08 |
| 18歳以上であることが必要なこと。無料の枠では送った内容が製品の改善に使われ、人が読むことがあり、機密や個人の情報を送らないよう求めていること。有料の枠ではプロンプトや応答を製品の改善に使わず、禁止事項の違反を見つけるために限った期間だけ記録すること。どの国でも一時的に保存・キャッシュされうること | Gemini API Additional Terms of Service | 2026-10-08 |
撮影台の設計と生産管理システムからの引き方は、工場ごとの作り込みになります。 本記事は上の公開情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0989)についてのご相談はこちらから。
