セマンティックセグメンテーションとYOLOで金属加工の検査を自動化する方法

セマンティックセグメンテーションとYOLOを組み合わせた画像認識は、金属加工の品質検査を劇的に変える技術です。導入コストや精度、現場への適用方法を詳しく解説します。あなたの工場でも使えるのでしょうか?

セマンティックセグメンテーションとYOLOで金属加工の品質検査を自動化する

YOLOだけで傷検出を始めると、見落とし率が30%以上になる現場が続出しています。


この記事の3ポイント要約
🔍
YOLOとセマンティックセグメンテーションの違い

YOLOはバウンディングボックスで物体を囲む検出手法。セマンティックセグメンテーションはピクセル単位でラベルを付与し、金属表面の微細な傷や形状変化まで識別できます。

⚙️
金属加工現場での組み合わせ活用が最適解

YOLOの高速処理とセマンティックセグメンテーションの高精度を組み合わせることで、1ラインあたり月間コスト削減額が平均50万円以上になった事例があります。

🏭
導入前に知るべき精度とコストの現実

学習データの質が低いと、どれだけ高性能なモデルを使っても精度は上がりません。現場に合ったアノテーション設計が成否を分けます。


セマンティックセグメンテーションとYOLOの基本的な違いを理解する



金属加工の現場で「AI検査」という言葉を耳にする機会が増えてきました。その中でも特によく登場するのが「YOLO」と「セマンティックセグメンテーション」という2つの手法です。


まず、YOLOとは「You Only Look Once」の略称で、画像の中に存在する物体を高速に検出するアルゴリズムです。具体的には、検出したい対象を「バウンディングボックス」と呼ばれる四角形の枠で囲み、それが何であるか・どこにあるかを1回の推論処理で出力します。処理速度が非常に速く、リアルタイム検出に強みがあります。


一方、セマンティックセグメンテーションはまったく異なるアプローチです。画像を構成する1ピクセルごとに「これは金属面」「これは傷」「これは背景」というラベルを割り当てる手法です。つまり、物体の「位置と大きさ」だけでなく「形状・輪郭・細部の分布」まで把握できます。


この違いは金属加工の品質検査において決定的な意味を持ちます。たとえばプレス加工品の表面に生じた0.1mm幅のヘアライン傷は、バウンディングボックスでは傷全体を大きな四角で囲むだけで傷の「広がり方」や「深さの分布」を可視化できません。しかしセマンティックセグメンテーションなら、傷のある領域を画素レベルで色分けして表示できます。


つまり検出精度と形状把握力が根本的に異なります。


YOLOはv5・v7・v8・v9・v10・v11とバージョンアップが続いており、最新のYOLOv11ではセグメンテーション機能が標準搭載されています。この点が「YOLOだけでいいのでは?」という誤解につながりやすいポイントです。しかしYOLOのインスタンスセグメンテーション機能と、専用のセマンティックセグメンテーションモデル(DeepLab、SegFormerなど)とでは、細粒度の精度に明確な差があります。


結論は「目的によって使い分ける」です。


YOLOのセグメンテーション機能と専用モデルの精度差を比較する

「YOLOv8にもセグメンテーションモードがあるから、それで十分では?」という声は現場でも多く聞かれます。これは正当な疑問です。


YOLOv8のsegmentationモデルは、物体検出と同時にマスク(輪郭)を出力する「インスタンスセグメンテーション」を実行します。これは「A製品とB製品が混在する画像で、それぞれの輪郭を個別に抽出したい」場面には非常に有効です。処理速度は1フレームあたり数ミリ秒台を実現できます。


しかし金属表面検査で求められるのは「同じクラスの傷が、表面のどの領域にどれだけ分布しているか」を画素単位で把握することです。この用途では、DeepLabV3+やSegFormerといったセマンティックセグメンテーション専用モデルの方が高い精度を発揮します。


たとえば研究事例では、鋼板表面の欠陥検出においてDeepLabV3+がYOLOv8のsegモデルに対してmIoU(平均IoU)で約8〜12ポイント高いスコアを記録したケースも報告されています。mIoUは予測マスクと正解マスクの重なり具合を示す指標で、値が高いほど境界線が正確です。これは使えそうです。


一方、SegFormerはTransformerベースのアーキテクチャを採用しており、従来のCNNベースモデルに比べてグローバルな文脈情報を捉えやすい特性があります。広い面積に広がる酸化皮膜の検出や、溶接ビード全体の品質評価に特に有効です。


専用モデルの課題は推論速度とモデルサイズです。SegFormer-B5などの大型モデルは高精度ですが、GPU非搭載の産業用PCでは処理が遅延するリスクがあります。


コスト・速度・精度のバランスが条件です。


金属加工の検査ラインで必要なスループット(1秒あたりの処理枚数)を先に算出し、そこから許容できるモデルサイズを逆算するアプローチが実用的です。検査速度が毎分30個以下なら、高精度な専用セグメンテーションモデルを余裕を持って使えます。


セマンティックセグメンテーションのYOLO学習データ作成とアノテーションの注意点

どれだけ優れたモデルを選んでも、学習データの質が低ければ精度は出ません。これが現場での失敗例に最も多い原因です。


金属加工品の画像データを収集する際、まず注意すべきは「照明条件の統一」です。同じ傷でも、斜め光と正面光では見え方が大きく異なります。照明角度が変わると、モデルは同じ傷を「別のもの」として学習してしまいます。現場では蛍光灯の経年劣化による光量変化も見落としがちなポイントです。


アノテーション(ラベル付け)作業では、傷の境界線をどこまで厳密に引くかの「基準」を先に決める必要があります。たとえば「幅0.05mm未満の傷はラベルなし」「酸化変色はカテゴリXX」という定義書を作成してから作業者全員で統一することが重要です。アノテーターによってラベルの付け方がバラバラだと、モデルが矛盾した情報を学習してしまいます。


アノテーションツールには、LabelMe・CVAT・Labelboxなどが広く使われています。金属加工の現場データに適したツール選定の参考として、以下のリンクが役立ちます。


セマンティックセグメンテーション用アノテーションツール比較(LabelMe公式ドキュメント)。
LabelMe公式GitHub(アノテーション手順・インストール方法)


データ拡張(Data Augmentation)も精度向上に不可欠です。金属加工品の画像では、左右反転・回転・明度変化・ランダムクロップといった処理を加えることで、限られた枚数のデータから多様なパターンをモデルに学習させられます。実際に1,000枚のオリジナル画像から拡張処理で10,000枚相当のデータセットを構築した事例では、mIoUが約15ポイント改善した報告があります。


意外ですね。


ただし、金属反射や光沢のある素材では過剰な明度変換がかえってノイズになる場合があります。拡張処理の種類と強度は実験的に絞り込むことが条件です。


アノテーション工数の目安として、1枚あたり5〜15分の作業時間がかかります。1,000枚の学習データを準備するには約83〜250時間が必要な計算です。外部のアノテーションサービスを活用すると1枚あたり50〜200円程度で作業委託できるため、初期投資として20万円前後を見込んでおくとよいでしょう。


セマンティックセグメンテーションとYOLOを組み合わせた金属加工ラインへの実装方法

実際の検査ラインにAI画像認識を組み込む場合、処理フローの設計が成否を左右します。


最も実用的な構成は「YOLO → セマンティックセグメンテーション」の2段階パイプラインです。第1段階でYOLOが高速に「傷が存在するエリア」を検出し、第2段階でそのROI(関心領域)をセマンティックセグメンテーションモデルに渡して詳細な形状解析を行います。


この方式の利点は処理速度の最適化です。製品全体の高解像度画像(例:4000×3000px)に対して最初からセグメンテーションをかけると処理時間が長くなりますが、YOLOで傷候補を絞り込んでから局所領域(例:200×200px程度)のみをセグメンテーションにかけることで、全体の処理時間を70〜80%短縮できるケースがあります。


ハードウェア面では、NVIDIA製のGPUを搭載した産業用PCが標準的な選択肢です。NVIDIA Jetson Orinシリーズは組み込み用途に適しており、消費電力を抑えながらリアルタイム推論が可能です。価格帯は搭載メモリによって異なりますが、Jetson Orin NX 16GBモジュール単体で6〜8万円前後が相場です。


これは使えそうです。


ソフトウェアフレームワークとしては、PythonベースのPyTorchまたはONNX RuntimeによるモデルのServing構成が一般的です。YOLOv8はUltralyticsが提供するライブラリから直接呼び出せるため、学習済みモデルのデプロイが比較的容易です。


Ultralytics YOLOv8 セグメンテーション公式ドキュメント(モデルの使い方・学習手順)


産業用途での注意点として、ラインの停止時間を最小化するためにモデルのウォームアップ処理(起動直後の初回推論を事前実行する処理)をシステム起動時に組み込むことが推奨されます。初回推論はGPUのメモリ確保に数秒かかる場合があり、これが検査遅延につながるリスクがあります。


また、検査結果をMES(製造実行システム)やPLCと連携させる場合は、検出結果をJSON形式またはModbus/TCP経由で送信する設計が一般的です。ここの通信設計を後回しにすると、後から大規模な改修が必要になることがあります。


金属加工現場でYOLOとセグメンテーションを独自視点で評価する:「検査の見逃し代」という考え方

AI検査システムの導入可否を議論する際、多くの現場では「導入コスト」だけが比較対象になりがちです。しかし実際には「検査の見逃し代」を計算することで、投資対効果がより明確になります。


「検査の見逃し代」とは、目視検査での見落としが流出不良につながった際の損失額の総計です。たとえば、自動車部品メーカーで1件のリコール対応に平均3,000万円以上のコストが発生した事例が国内でも複数報告されています。流出不良1件のコストと発生頻度から「年間の見逃し代」を算出すると、AI検査システムへの投資額(一般的に300〜800万円前後)が回収できるかどうかの判断基準が明確になります。


痛いですね。


目視検査員の疲労による検出率の低下も重要な変数です。集中力が持続する作業時間は一般的に90分程度とされており、それ以降は見逃し率が有意に上昇するという研究結果があります。3交代制で1日24時間稼働する生産ラインでは、深夜帯の検査精度の低下は構造的な問題です。


YOLOとセマンティックセグメンテーションを組み合わせたシステムは、人間の疲労に依存しない一定の検出精度を維持できます。これが「見逃し代」の削減に直結します。


ただし、AIシステムも万能ではありません。学習データにない「未知の傷パターン」への対応は苦手であり、定期的なモデルの再学習と精度評価サイクルを設計しておくことが重要です。


目安として、月に1回程度の偽陰性(見逃し)事例の収集と追加学習を継続することで、システムの精度を維持・向上させられます。このサイクルを「MLOps」と呼び、AIシステムの運用管理の中核概念となっています。


日本ロボット学会誌(産業用AI・画像認識の実証研究の参考資料として)


金属加工現場でAI検査を長期運用するためには、「導入して終わり」ではなく、現場の変化(材料ロットの切り替え、設備の経年変化、照明の劣化)に合わせてモデルを育て続ける体制が条件です。






マキタ リチウムイオンバッテリBL1860B 18V 6.0Ah A-60464