2026年4月18日
AI
VLMによるCAD図面・手書き図面の読み取り精度検証|完全オフライン環境での実用性と設計指針
Qwen3-VL系の画像言語モデルでCAD図面・手書き図面の読み取り精度を完全オフライン環境で検証。標準的なCAD図面が実用域に達する一方で課題となる手書き・密集レイアウトについて、前処理・プロンプト・段階処理の設計指針と運用への組み込み方法を整理します。

概要
製造業や建設業の現場では、過去数十年分の設計図面・施工図・配管図が紙やPDFで蓄積されており、これらを検索可能なデジタル資産へ転換したいという要望が年々高まっています。従来はOCRによる文字抽出が中心でしたが、VLM(Vision Language Model:画像言語モデル)の進化により、「図面そのものをAIに直接読み取らせる」アプローチが実用的な選択肢になりました。
本稿では、DigitalBaseで実施したVLMによる図面読み取りの精度検証結果を報告します。Qwen3-VL系の画像言語モデル(72B〜122Bクラス)を用い、CAD図面および手書き図面の読み取り精度を完全オフライン環境で評価したうえで、運用に向けた前処理・プロンプト設計・段階的処理の指針を整理します。
検証の結論は次のとおりです。標準的なCAD図面は実用域に達する一方、手書き図面・密集レイアウトは前処理を前提とした設計が必要です。
なぜVLMが図面読み取りに適しているのか
従来のOCRは「画像から文字を取り出す」ことに特化しており、文字以外の情報(線・記号・レイアウト・寸法補助線)を構造として扱うことができませんでした。これに対しVLMは画像とテキストを同一の潜在空間で扱うため、図面特有の以下のような処理を一連の推論でまとめて行えます。
- 図面の構造理解:正面図・側面図・断面図の投影関係を把握する
- テキストと位置の対応付け:「A部詳細」というラベルと、矢印が指し示す箇所を結びつける
- 記号の解釈:溶接記号、表面粗さ記号、公差記号などを文脈に沿って理解する
- テーブル抽出:部品表(BOM)から品目・数量・材質を構造化して取得する
検証環境
| 項目 | 内容 |
|---|---|
| AIモデル | Qwen3-VL 122B(画像言語モデル) |
| 比較対象 | Qwen2.5-VL 72B、InternVL2 26B |
| ハードウェア | ASUS Ascent GX10(GB10 / 128GB統合メモリ) |
| ネットワーク | 完全オフライン(外部通信なし) |
| 推論エンジン | vLLM |
機密性の高い設計データを扱う前提から、検証はすべて外部通信を遮断した完全オフライン環境で実施しています。
結果サマリ
| タスク | CAD図面 | 手書き図面 | 備考 |
|---|---|---|---|
| 部品名称・寸法 | ◎ | △ | 手書きは字体の癖で精度がばらつく |
| 部品表(BOM) | ◎ | ○ | 表組みが整っていれば高精度 |
| 構造理解(投影関係) | ◎ | ○ | 図枠が明確であれば問題なし |
| 詳細図リンク | ○ | △ | 矢印の方向認識が課題 |
| 記号解釈 | ○ | △ | 社内独自記号は例示が必要 |
| 複数図が1枚に混在 | △ | × | 領域検出を前段に入れる必要がある |
高精度が得られた事例
CAD部品図の寸法・注記抽出
A4サイズのCAD図面1枚に対し、「すべての寸法値とその対象部位、すべての注記を抽出してJSONで出力する」と指示しました。約30〜40箇所の寸法を、95%以上の精度で正しく構造化できました。印字された数値とリーダー線の対応付けが安定しており、寸法と部位の紐付けに大きな破綻は見られませんでした。
部品表(BOM)の構造化
図面右上に配置された部品表を、列名(No / 部品名 / 数量 / 材質 / 備考)と行データに自動で構造化しました。20行程度のBOMであれば、ほぼ100%の正確性で抽出できています。罫線が明瞭な表組みは、VLMが最も得意とする領域の一つと評価しています。
課題が残った事例
手書き修正(赤入れ)の判別
CAD図面の上に手書きで赤入れがなされたケースでは、印字された数字と手書き数字の混在を正確に区別することが困難でした。
対策:色分離の前処理(赤チャネル抽出)を行い、元画像と分離画像をそれぞれ別々にVLMへ入力することで、印字情報と修正情報を分けて扱います。
1枚に複数の図が混在するケース
A3図面に複数の部品図が並んでいる場合、図同士の境界を誤認し、別々の部品の情報を取り違える事象が発生しました。
対策:前段で物体検出(YOLO等)を実行するか、VLM自身に「図枠を矩形で抽出する」処理を行わせ、図ごとにクロップしてから個別に読み取らせます。
社内独自記号の解釈
汎用的な製図記号は文脈から解釈できるものの、企業ごとに定義された独自記号は誤読が生じやすい領域です。
対策:プロンプトに記号の例(few-shot)を埋め込むか、記号と意味のマッピングテーブルを併用し、出力後に照合します。
設計指針:前処理 + プロンプト + 段階処理
検証を通じて、VLMの素の性能をそのまま業務に適用するのではなく、前処理・プロンプト・段階処理を組み合わせて精度を底上げする設計が有効であることが確認できました。
前処理パイプライン
| 処理 | 目的 |
|---|---|
| 解像度正規化 | モデル既定の入力サイズに合わせる |
| コントラスト調整 | スキャン時の薄さを補正する |
| 自動回転補正 | 90度ずれを自動で補正する |
| 色分離 | 印字/手書き/朱書きを別画像化する |
| ROI切り出し | 図枠検出により部品ごとに分割する |
プロンプト設計
- 役割固定:「あなたは機械設計図面を読み取るAIです」と冒頭で役割を固定する
- 出力スキーマ強制:JSON Schemaを明示し、構造化出力を強制する
- few-shot例:社内独自記号は必ず例示する
- 不明時の挙動:「読み取れない場合は
nullを返す」と明示し、推測による埋め合わせを防ぐ
段階処理
Step 1: 図枠検出 Step 2: 各図枠ごとにクロップして個別に質問 Step 3: 部品表領域を別途切り出して構造化 Step 4: 各ステップの結果をマージ
1枚の図面を丸ごと1回の推論で処理するよりも、領域ごとに分割して個別に問い合わせるほうが、誤認や情報の取り違えを抑えられます。
モデル選定の指針
精度要件と利用可能なハードウェアに応じて、モデルを使い分けることが現実的です。プロトタイプ段階では小型モデルで高速にイテレーションを回し、本格運用に向けて精度重視の大型モデルへ切り替える流れを推奨します。
| モデル | パラメータ | VRAM要件 | 用途 |
|---|---|---|---|
| Qwen2.5-VL 7B | 7B | 約12GB | プロトタイプ・速度優先 |
| InternVL2 26B | 26B | 約30GB | 中規模、バランス型 |
| Qwen2.5-VL 72B | 72B | 約50GB | 本格運用、精度重視 |
| Qwen3-VL 122B | 122B | 約80GB | 最高精度、GB10級ハードウェアが前提 |
運用に向けた組み込み
実運用では、入力から検索可能化までを一連のパイプラインとして構成します。完全自動化を目指すのではなく、信頼度の低い箇所だけを人間が確認する Human-in-the-Loop(HITL)を組み込む構成が、精度と運用安定性を両立する現実解です。
[ 図面ファイル(PDF/画像)アップロード ] ↓ [ 前処理:解像度・コントラスト・回転補正 ] ↓ [ 図枠検出(領域分割) ] ↓ [ 各領域に対してVLM呼び出し(並列) ] ↓ [ 出力スキーマ検証(JSON Schema) ] ↓ [ 信頼度の低い箇所は人間がレビュー(HITL) ] ↓ [ ベクトルDB(pgvector)に格納し検索可能化 ]
まとめ
VLMは図面読み取りの主力技術になりつつあります。検証の結果、標準的なCAD図面の寸法・注記抽出や部品表の構造化は実用域に達する一方、手書き図面や1枚に複数図が混在するレイアウトには、領域検出や色分離といった前処理が不可欠であることが明らかになりました。
業務で使えるレベルに到達させる鍵は、前処理・プロンプト設計・段階処理・人間レビューの4点を確実に組み立てることです。VLM単体に丸投げするのではなく、各ステップを堅牢に設計することが、最終的な精度と運用安定性につながります。
