---
title: "画像処理AIとは？古典的手法とディープラーニングの使い分けを実装判断で解説"
url: "https://www.issoh.co.jp/tech/details/16856/"
published: 2026-08-23
updated: 2026-08-23
categories: ["AI"]
publisher: "株式会社一創"
---

# 画像処理AIとは？古典的手法とディープラーニングの使い分けを実装判断で解説

画像で何かを判定させたいとき、最初に詰まるのは精度ではなく方式の選択です。閾値を引けば済む処理なのか、学習させないと届かないのか。この判断を飛ばしてモデルづくりから入ると、数十枚のNG画像で精度が頭打ちになり、原因が撮像なのかモデルなのか切り分けられません。この記事では、古典的画像処理とディープラーニングが分かれる境目、方式を決める3つの軸、学習データ量からの逆算、ハイブリッド構成の組み立て、実行環境と説明責任の制約、受託開発でのPoCの進め方までを実装の解像度で整理しました。

## まとめ｜画像処理AIの方式選定を分ける3つの判断軸と採否の結論

結論から置きます。ディープラーニングを入れるかどうかは、次の3つで決まります。

1つ目は**対象を数式と閾値で定義し切れるか**。寸法、位置、色差、有無の判定は古典的画像処理のほうが速く、判定根拠も数字で残ります。2つ目は**タクトタイム**で、ここが推論ハードと量子化の要否を縛ります。3つ目が**品種数と設計変更の頻度**。品種ごとに閾値を引き直す運用は、ある枚数を超えると学習ベースより高くつきます。

実務で採るべきは多くの場合ハイブリッド構成です。撮像と前処理は古典側で条件を揃え、見えのばらつきが大きい判定だけをCNNへ渡し、寸法や個数の算出は再び古典側に戻す。必要な学習枚数が下がり、出力も数値のまま後段へ渡せます。

見送る条件も言い切ります。NG画像が数十枚しか集まらず、良品の見えも撮像ごとにばらつく段階なら、モデルより先に照明と治具を直すほうが早い。順序を逆にしたPoCは、精度が出ない理由を切り分けられません。

## 画像処理AIとは何か｜古典的画像処理と学習ベースが分かれる境目

「画像処理AI」は製品カタログ上の言葉で、中身は輪郭の異なる複数の処理の束です。語が指す範囲を工程に分解すると、どこを学習で置き換えるのかが具体になります。

### 画像処理AIという言葉が指す範囲｜前処理から判定までの工程の分解

画像を入力して結論を出すまでは、撮像、前処理、特徴の取り出し、判定、後処理の5工程に分かれます。古典的画像処理は、このうち「特徴の取り出し」を人が設計します。二値化のしきい値、輪郭のつながり方、類似度。どれも人が決めた数式です。

学習ベースでは、特徴の取り出しと判定がまとめて重みに置き換わります。置き換わるのはこの2工程だけ。撮像も前処理も後処理も消えません。「AIにすれば照明はどうでもよい」と進めた案件は、たいてい撮像側に戻ります。工程全体を業務目線で俯瞰するなら、親記事の[画像認識AIとは？仕組み・できること・開発の進め方をわかりやすく解説](https://www.issoh.co.jp/column/details/12928/)が要件定義から精度評価までの流れを扱っています。

### ルールベース・CNN系・基盤モデルの3層で役割が分かれる構造

実装で選べる層は現在3つあります。第1層はルールベースの古典的画像処理で、OpenCVの`threshold`や`Canny`、`matchTemplate`がここ。第2層はCNN系の学習モデル。分類、物体検出、セグメンテーション、異常検知が該当します。第3層が画像と言語を横断する基盤モデルです。

第3層を本番のインライン判定に置く構成は、2026年8月時点ではまだ推奨しにくい。応答時間が読めず、同じ入力に同じ答えが返る保証も弱いためです。効くのは裏方で、NG画像の説明文生成やアノテーションの下書きに置くと工数が下がります。

### 同じ検査でも古典とDLで変わる出力情報と後段プログラムの扱い

古典側の出力は座標や画素数といった数値です。`findContours`で取った輪郭から面積も周長も出せ、そのままミリメートルへ換算できます。対してCNN分類器の出力は各クラスの確信度で、0.87という数字は「87%の確率で正しい」という意味ではありません。

差が出るのは後段です。古典側は数値をそのまま合否判定と帳票へ流せる。学習ベース側は、確信度をどの高さで切るかという運用設計が要ります。二値化を前処理に挟むか迷うなら、[二値化とは？しきい値の決め方と大津・適応的の使い分けをOpenCVの実装で解説](https://www.issoh.co.jp/tech/details/16847/)にしきい値の決め方をまとめました。

## 手法選定の3軸｜対象の定義しやすさ・タクトタイム・品種数で決める線引き

方式を決める会議が長引くのは、判断軸が共有されていないからです。次の3軸を先に埋めると、議論は「どちらが優れているか」から「この条件ならどちらか」に変わります。

### 軸1：欠陥や対象物を数式と閾値で定義し切れるかどうかの見極め

最初の質問は単純です。良品と不良品の差を、数式で書けますか。「直径が10.0±0.05mmから外れる」「特定の色相の面積が50画素を超える」と書けるなら、古典側で終わります。学習は要りません。

書けないのは、傷の形が毎回違う、汚れと模様の区別が人の感覚に依存する、といった不定形の対象です。判断が割れやすいのは中間で、「かすれた印字」のような対象は撮像条件を詰めれば古典側へ落ちます。輪郭で押し切れるかの境目は、[エッジ検出とは？Canny法と微分フィルタの使い分けをOpenCVの実装で解説](https://www.issoh.co.jp/tech/details/16854/)で扱う勾配の出方が判断材料です。

### 軸2：タクトタイムから逆算する処理時間の上限と推論ハードの選択

1個あたり何ミリ秒で結論を出すか。この数字が推論ハードを決めます。古典的な二値化や輪郭抽出は数メガピクセルでも汎用CPUでミリ秒台に収まりますが、CNN推論は同じCPUで数十から数百ミリ秒に伸びます。

選択肢は、モデルを小さくする、量子化する、アクセラレータを載せる、の3つです。OpenCVのdnnモジュールが持つ`DNN_TARGET`系の指定先には CPU、OPENCL、CUDA、NPU、FPGA など11種類があり、CPU\_FP16 には「Only the ARM platform is supported」の注記が付いています。装置の筐体に何を載せられるかを先に決めないと、モデル設計をやり直します。

### 軸3：品種数と設計変更の頻度が方式の保守コストを分ける関係性

品種が3種類で年に1回しか変わらないラインと、80種類あって毎月新規が入るラインでは、同じ判定内容でも答えが変わります。前者は閾値を人が引くほうが安い。後者は品種ごとの閾値表が破綻します。

学習ベースなら万能でもありません。目安は、追加品種1件あたりの作業が「閾値を数個引き直す」で済むか、「画像を数百枚集めて再学習する」になるか。前者が続くうちは古典側で粘るほうが安く済みます。

### 3軸を突き合わせて読む古典・DL・基盤モデルの適用条件の一覧

3軸を1枚に並べると、どこへ倒すかが見えます。

| 判断軸   | ルールベース     | CNN系の学習モデル  | 基盤モデル     |
| ----- | ---------- | ----------- | --------- |
| 対象の定義 | 数式と閾値で書ける  | 言葉でしか書けない   | 指示文で伝える   |
| 処理時間  | 汎用CPUでミリ秒台 | CPUで数十ミリ秒以上 | 秒単位で変動する  |
| 品種追加  | 閾値の引き直し    | 画像収集と再学習    | 指示文の書き換え  |
| 判定根拠  | 数値がそのまま残る  | ヒートマップ止まり   | 文章で出るが不安定 |
| 置き場所  | 本番のインライン   | 本番のインライン    | 裏方の支援工程   |

最も効くのは1行目です。対象の定義が数式で書けるなら、他の軸を見るまでもなく古典側で組みます。学習を検討するのは、1行目が「言葉でしか書けない」に落ちたときだけです。

## 学習データ量から逆算する方式決定｜NG画像が集まらない現場の選択肢

学習ベースを選んだ瞬間、次の制約はデータです。効くのは総枚数ではなく、NG画像の枚数と種類数のほうです。

### NG画像が何枚あれば分類器として成立するかの現実的な見積もり

良品と不良品を分ける2クラス分類を考えます。転移学習を前提にしても、不良の種類ごとに数百枚単位のNG画像が欲しい。ところが製造ラインは不良率が低く、年間で数十枚しか出ない欠陥種が普通にあります。

ここで枚数を水増しすると、評価データにも同じ癖が乗って数字だけが良くなります。学習画像と評価画像が同じロット、同じ照明、同じ個体から来ていないか。方式決定の前に確認しておくと、「PoCでは98%だったのに現場で60%」という事故を避けられます。

### 正常画像だけで組む異常検知への切り替えとPatchCoreの前提

NG画像が集まらないなら、不良を学ばせない方式へ倒します。正常画像だけで正常の分布を覚え、逸脱を測るのが異常検知です。Intel が公開する anomalib は 2.6.0（2026年7月25日公開・Apache-2.0）で、Patchcore、Padim、Stfpm、2.6.0 で追加された SuperADD を実装しています。

PatchCore の実装コードには、正常画像から取ったパッチ特徴をメモリバンクに保存し、テスト画像のパッチを最近傍探索で突き合わせて異常度を出す、と書かれています。既定の例は backbone が wide\_resnet50\_2、参照する層が layer2 と layer3、間引き率にあたる coreset\_sampling\_ratio が 0.1、前処理は 256×256 へ縮小して 224×224 で中央を切り出す設定。同じコードは localization maps で解釈性を保つとも記しており、異常箇所を画像上に示せます。手法の体系は[異常検知とは？機械学習の手法・仕組みと製造業での導入判断](https://www.issoh.co.jp/column/details/15436/)が整理しています。

### アノテーションの工数と、学習データが陳腐化していく速度の見立て

分類なら画像1枚にラベル1個で済みますが、物体検出は矩形、セグメンテーションは画素単位の塗り分けが要ります。1枚あたりの作業時間は分類の数十倍。この工数を誰が負担するのか決めておかないと、開発が止まるのはモデルではなくアノテーション待ちです。

集めたデータには寿命もあります。部材のロット変更、照明の劣化、カメラの交換。どれも見えを変えるため、撮像を固定できないラインほど再学習の周期を先に決めておく必要があります。

### 公開データセットのライセンスが商用納品を止める典型的な落とし穴

異常検知のベンチマークに広く使われる MVTec AD は、15カテゴリ・5,000枚超の高解像度画像で、学習データは欠陥のない画像だけという設計です。ただしライセンスは CC BY-NC-SA 4.0 で、公式ページは商用目的での使用を認めていません。

このデータで学習した重みを、そのまま商用システムへ載せることはできません。技術検証の再現用と納品物の学習済みモデルは、別物として管理する。学習コード側も同様で、ultralytics は 8.4.126 時点で AGPL-3.0 です。手法ごとのライセンス分岐は[物体検出とは？仕組み・代表手法の比較から実装判断までエンジニア向けに解説](https://www.issoh.co.jp/tech/details/15323/)が整理しています。

## ハイブリッド構成の組み立て｜前処理は古典・判定はDL・計測は再び古典

方式選定の答えは、多くの場合「両方を並べる」です。並べ方には型があり、外すと学習枚数と処理時間の両方が悪化します。

### 撮像条件を古典側で正規化して学習に必要な枚数を減らす前処理の手順

モデルに渡す前に、位置と明るさと向きを揃えます。位置合わせはテンプレートマッチングか特徴点マッチング、明るさは画素値のスケーリング、向きは基準線からの回転補正。ここまで古典側で詰めると、モデルが学ぶべきばらつきが減ります。

OpenCVの`blobFromImage`は、この正規化をモデル入力の直前でまとめて行う関数です。既定値は scalefactor=1.0、swapRB=false、crop=false、ddepth=CV\_32F。学習時と推論時で前処理がずれる事故は、この引数の食い違いから起きます。位置合わせの手法選定は[テンプレートマッチングとは？matchTemplateの仕組みと類似度指標の選び方を解説](https://www.issoh.co.jp/tech/details/16853/)にまとめています。

### 判定をDLに任せた後、寸法や個数は再び古典側で数値化する流れ

セグメンテーションモデルが出すのは、欠陥らしさを画素ごとに表したマスクです。この段階では「何ミリの傷か」は分かりません。二値化して輪郭を取り、面積と外接矩形を算出して初めて数値になります。

後段を古典側に戻す利点は2つ。寸法の計算式が人の目で追えること、合否のしきい値を再学習なしで変えられることです。客先の基準が「0.3mm以上を不良」から「0.2mm以上」に変わっても、定数1つで対応できます。

### OpenCV 5系のdnnで古典とDLを1プロセスに収める実装判断

古典処理をOpenCV、推論を別ランタイムに分ける構成は、プロセス間でメモリコピーが発生します。判定が軽いなら、OpenCVのdnnモジュールに ONNX を読ませて1プロセスに収めるほうが単純です。`cv2.dnn.readNetFromONNX` がその入口。

ただし5系では前提が変わりました。5.xブランチの dnn.hpp を見ると、4.x に4箇所ずつ存在した readNetFromCaffe と readNetFromDarknet の宣言が消えています。代わりに enum EngineType が追加され、ENGINE\_AUTO=0、ENGINE\_OPENCV=1、ENGINE\_ORT=2 の3値が定義されました。ENGINE\_OPENCV には「Does not support non-CPU back-ends for now」というコメントが付いています。CPU以外で回すなら、この分岐を読んでビルド構成を決めてください。

## 実行環境と説明責任で変わる採否｜エッジ推論の実装と判定根拠の残し方

方式が決まっても、置き場所と説明責任で採否がひっくり返ることがあります。どちらも後から効くため、選定の段階で押さえます。

### ONNXへ寄せる理由｜OpenCV 5系でCaffeとDarknetが読めない事実

学習成果物の形式は、フレームワーク固有のまま持ち回らずONNXへ揃えるのが安全です。理由は互換性の維持コストにあります。OpenCV は 5.0 を2026年6月に公開し、PyPI 上では opencv-python 5.0.0.93（2026年7月2日公開）と 4系の 4.14.0.94（同年7月29日公開）が並びます。

そして5系では、先述のとおり Caffe と Darknet のリーダーが取り除かれました。数年前の案件で Darknet 形式の重みを納品していた場合、ライブラリを上げた時点で読み込みが通りません。ONNX に寄せておけば、OpenCV の dnn でも onnxruntime 1.29.0（2026年8月17日公開）でも openvino 2026.3.0（同年8月4日公開）でも同じファイルを回せます。

### INT8量子化を掛ける条件とCNNで静的量子化が推奨される理由

タクトタイムに届かないとき、モデルを作り直す前に量子化を試します。ONNX Runtime の公式ドキュメントによれば、動的量子化は活性値の量子化パラメータを推論時に計算し、静的量子化はキャリブレーション用データで事前に算出して定数として埋め込む方式です。

推奨は明快で、RNN や Transformer 系には動的量子化、CNN には静的量子化。画像処理で使うのは後者です。キャリブレーション用の画像を用意する手間と引き換えに、推論時の計算が減る。ハードウェア側の条件もあり、VNNI 付きの x86-64、int8 対応の Tensor Core を持つGPU、ドット積命令を持つArm系で性能が出ると明記されています。VNNI のない AVX2 では飽和が起きうるため、reduce\_range の指定が用意されました。装置のCPU世代を見ずに効果を見積もると、数字が合いません。

### 判定根拠をヒートマップで残す設計と、検査記録として必要な粒度

古典側は判定根拠が数値で残ります。「面積が62画素で閾値50を超えた」と記録でき、後から人が検証できます。学習ベースはここが弱い。出せるのは確信度と、異常箇所を示すヒートマップまでです。

そのため、客先が「なぜ不良と判定したか」を書面で求める工程では、判定をDLに委ねる構成が通らないことがあります。回避策は2つ。異常箇所の位置だけをDLに出させ、合否は古典側の数値で下すか、ヒートマップと入力画像を検査記録として保存する運用を先に合意するかです。PatchCore が localization maps を出すのも、この要求に応えるためです。

## 受託開発でのPoCの進め方｜ベースラインの置き方と見送る条件の線引き

判断軸を、外注を含むプロジェクトの進め方に落とします。順序を間違えると、判断材料が出ないまま予算だけが減ります。

### PoCの1週目に古典でベースラインを作る、順序を逆にしない理由

PoCの最初にやるのは学習ではなく、古典的画像処理でのベースライン構築です。二値化と輪郭抽出だけで何%まで届くのかを先に測る。この数字がないと、モデルが92%を出しても良い数字なのか判断できません。

ベースラインは撮像の診断にもなります。古典側で全く分離できない場合、原因はアルゴリズムではなく照明や画角にあることが多い。ここで撮像を直せば、学習に必要な枚数も減ります。逆順に進めると、モデルを3回作り直したあとで照明を変えたら解決した、という結末になりがちです。開発体制から相談したい段階なら、[画像認識AIモデル構築](https://www.issoh.co.jp/service/ai/image%5Frecog/)のように撮像条件の検証からモデル実装までを一続きで請ける形を検討してください。

### 評価指標は見逃し率と過検出率、閾値運用まで含めて合意する範囲

「精度98%」という表現は、検査の現場では意味を持ちません。不良率が2%のラインなら、全数を良品と答えるだけで98%に届きます。見るべきは見逃し率と過検出率で、しきい値を動かすとトレードオフの関係で入れ替わります。

合意すべきは、どちらをどこまで許すかという運用の線です。見逃しゼロを求めるなら過検出は増え、人が再確認する工程が要ります。PoCの成果物には、混同行列としきい値ごとの2指標の変化表を含めておく。本番導入後の調整判断が数字で済みます。

### 画像処理AIを採用しない条件｜古典で足りる場面と撮像から直す場面

見送るべき条件を条件付きで言い切ります。第一に、良品と不良品の差を数式で書ける工程では学習を入れません。寸法測定、有無検査、色の判別。古典側のほうが速く、根拠も残り、保守も安い。ここにDLを入れるのは過剰です。

第二に、NG画像が種類あたり数十枚で、良品の見えも撮像ごとにばらつく段階では、方式選定そのものを保留します。やるべきは照明と治具の見直しで、画像処理の課題ではありません。第三に、判定根拠を書面で説明する義務があり、ヒートマップの保存も合意できない工程では、DLによる自動判定を採用しない。この3つに当てはまらないと確認できて初めて、学習ベースの検討へ進みます。工程単位の導入可否や費用は[AI外観検査とは？仕組み・ルールベースとの違いと導入判断を解説](https://www.issoh.co.jp/column/details/16007/)が扱っています。

## よくある質問

方式選定でよく寄せられる質問を、判断に直結する順で5問まとめました。

### 画像処理AIと従来の画像処理は何が違うのですか？

置き換わる工程が違います。撮像、前処理、特徴の取り出し、判定、後処理の5工程のうち、従来の画像処理は「特徴の取り出し」を人が数式で設計する。二値化のしきい値、輪郭の連結条件、類似度の式がそれです。学習ベースでは、特徴の取り出しと判定がまとめて重みに置き換わります。撮像と前処理と後処理は残るため、照明や治具の設計が不要になるわけではありません。

### ディープラーニングを使わずに済ませられるのはどんな場合ですか？

良品と不良品の差を数式で書けるときです。「直径が公差から外れる」「特定の色相の面積が50画素を超える」と定義できるなら、二値化と輪郭抽出で判定できます。処理は汎用CPUでミリ秒台に収まり、判定根拠も数値のまま記録に残る。学習を検討するのは、傷の形が毎回違う、汚れと模様の区別が言葉でしか説明できない不定形の対象だけです。

### NG画像が数十枚しかない場合でもAIで検査できますか？

2クラス分類は成立しませんが、異常検知への切り替えで進められる場合があります。正常画像だけで分布を学び、そこからの逸脱を測る方式です。anomalib 2.6.0 の PatchCore は、正常画像のパッチ特徴をメモリバンクに保存し、最近傍探索で異常度を算出します。ただし良品の見え自体がばらつく段階では安定しません。先に照明と治具を固定してください。

### 学習済みモデルはONNXに変換しておくべきですか？

変換しておくほうが安全です。OpenCV は 5.0 で dnn モジュールから Caffe と Darknet のリーダーを取り除きました。5.x ブランチの dnn.hpp には、どちらの宣言も残っていません。ONNX なら OpenCV の dnn、onnxruntime 1.29.0、openvino 2026.3.0 のいずれでも同じファイルを読めます。

### PoCではどの指標で合否を判断すればよいですか？

見逃し率と過検出率、そしてしきい値を動かしたときの両者の変化です。不良率が2%のラインでは、全数を良品と答えるだけで正解率98%に達するため、正解率だけでは判断できません。成果物には混同行列と2指標の推移表を含めてください。

## 関連記事

- [画像認識AIとは？仕組み・できること・開発の進め方をわかりやすく解説](https://www.issoh.co.jp/column/details/12928/)：業務側の視点で要件定義から精度評価までを扱います。
- [二値化とは？しきい値の決め方と大津・適応的の使い分けをOpenCVの実装で解説](https://www.issoh.co.jp/tech/details/16847/)：前処理側に寄せる工程の、しきい値設計の実装です。
- [エッジ検出とは？Canny法と微分フィルタの使い分けをOpenCVの実装で解説](https://www.issoh.co.jp/tech/details/16854/)：古典側で輪郭を取り切れるかを判断する原理とパラメータです。
- [画像認識AIモデル開発に使えるライブラリ・フレームワーク集](https://www.issoh.co.jp/column/details/7417/)：方式決定後に実装ライブラリを比較する段階の参考です。
- [OpenCVをPythonで使う画像処理入門｜インストールから顔検出まで実コードで解説](https://www.issoh.co.jp/tech/details/1344/)：古典側のベースラインを組む導入手順と基本操作です。

---

出典: [画像処理AIとは？古典的手法とディープラーニングの使い分けを実装判断で解説](<https://www.issoh.co.jp/tech/details/16856/>)（株式会社一創）
