1.1 定義と目的
画像分類とは、コンピュータビジョンにおける基本的なタスクであり、入力画像をあらかじめ定義されたカテゴリ(例:猫、犬、自動車など)に自動的に割り当てる技術である。その目的は、人間の視覚認識能力を計算機上で再現し、大量の画像データを効率的かつ正確に分類することにある。画像分類は、物体認識、シーン理解、コンテンツベース画像検索などの上位タスクの基礎をなす。
1.2 歴史的な発展
1.2.1 伝統的な手法の時代
1980年代から2000年代初頭にかけて、画像分類は手作業による特徴量設計と統計的機械学習アルゴリズムに依存していた。代表的な手法として、色ヒストグラム、テクスチャ特徴(Gaborフィルタ、LBP)、局所特徴量(SIFT、HOG)などが用いられた。これらの特徴量をSVMやk近傍法などの分類器に入力し、分類を行うパイプラインが主流であった。しかし、特徴量設計に専門知識が必要であり、複雑な視覚パターンの表現に限界があった。
1.2.2 深層学習による革命
2012年、AlexNetがImageNet Large Scale Visual Recognition Challenge(ILSVRC)で従来手法を大幅に上回る精度を達成したことを契機に、畳み込みニューラルネットワーク(CNN)が画像分類の主流となった。深層学習は、エンドツーエンドの学習が可能であり、大規模データとGPU計算資源の活用により、認識精度が飛躍的に向上した。以降、VGGNet、ResNet、Inceptionなどのアーキテクチャが次々に提案され、人間を超える精度を達成するに至った。
2.1 従来の機械学習手法
2.1.1 特徴抽出
2.1.1.1 色・テクスチャ特徴
色特徴としては、RGBやHSV色空間におけるヒストグラムが広く利用される。テクスチャ特徴には、局所二値パターン(LBP)やGaborフィルタバンクによる応答が用いられる。これらは、画像の全体的な色分布や局所的なパターンを数値ベクトルとして表現する。
2.1.1.2 SIFT・HOG
SIFT(Scale-Invariant Feature Transform)は、スケール・回転不変な局所特徴量であり、画像のキーポイント検出と記述に用いられる。HOG(Histogram of Oriented Gradients)は、勾配方向のヒストグラムを用いて物体の形状情報を捉える。両者は物体検出や人物検出などで標準的な特徴量として広く使われた。
2.1.2 分類器(SVM、k近傍法など)
抽出された特徴量ベクトルに対して、サポートベクターマシン(SVM)が線形・非線形分類を行う代表的な手法である。カーネルトリックにより高次元空間での識別が可能となる。k近傍法(k-NN)は、最も近い学習サンプルのラベルに基づく単純な手法であるが、大規模データでは計算コストが高い。
2.2 深層学習手法
2.2.1 畳み込みニューラルネットワーク(CNN)の基本構造
CNNは、畳み込み層、プーリング層、全結合層から構成される。畳み込み層は局所受容野を持つフィルタを適用し、画像の局所パターンを学習する。プーリング層は空間次元を削減し、位置変動に対するロバスト性を高める。全結合層は抽出された高次特徴に基づいてクラス確率を出力する。
2.2.2 代表的なアーキテクチャ
2.2.2.1 AlexNet
AlexNetは、5つの畳み込み層と3つの全結合層からなる8層のCNNである。ReLU活性化関数、ドロップアウト、データ拡張を用いて過学習を抑制し、GPUを用いた並列計算により大規模な学習を実現した。
2.2.2.2 VGGNet
VGGNetは、3×3の小さな畳み込みフィルタを深く積み重ねることを特徴とする。16層または19層の構成が代表的であり、シンプルで均一な構造が特徴である。層数の増加により表現力が向上したが、パラメータ数が多く計算コストが高い。
2.2.2.3 ResNet
ResNetは、残差学習(スキップ接続)を導入することで、層数の多いネットワーク(50層、101層、152層など)でも効果的に学習できるようにした。勾配消失問題を緩和し、極めて深いアーキテクチャの実現を可能にした。
2.2.2.4 Inception(GoogLeNet)
Inceptionモジュールは、異なるサイズの畳み込みフィルタ(1×1、3×3、5×5)とプーリングを並列に適用し、それらの出力を結合する。GoogLeNetはこのモジュールを積み重ねた22層のネットワークであり、パラメータ数を抑えながら高い精度を達成した。
2.2.3 トランスフォーマーとVision Transformer(ViT)
Vision Transformer(ViT)は、画像をパッチに分割し、各パッチを線形埋め込みした系列としてトランスフォーマーエンコーダに入力する手法である。自己注意機構により、画像全体の長距離依存関係を捉えることができる。大規模データセットで事前学習することで、CNNと同等以上の性能を示す。
2.3 転移学習とファインチューニング
転移学習は、大規模データセット(例:ImageNet)で事前学習されたモデルの重みを、目的のタスクに再利用する手法である。ファインチューニングでは、事前学習モデルの一部または全体を、対象データセットで少量データを用いて再学習する。これにより、データ不足の状況でも高性能な分類器を構築できる。
3.1 主要なデータセット
3.1.1 ImageNet
ImageNetは、約1400万枚の画像を2万以上のカテゴリに分類した大規模データセットである。特にILSVRC(1000カテゴリ、約120万枚の学習画像)は、画像分類の性能評価のデファクトスタンダードとなっている。
3.1.2 CIFAR-10/100
CIFAR-10は10クラス(航空機、自動車、鳥など)、CIFAR-100は100クラスからなる、32×32ピクセルの小さなカラー画像データセットである。各クラスの画像数が少ないため、モデルの汎化性能を評価するベンチマークとして広く利用される。
3.1.3 MNIST
MNISTは、0から9までの手書き数字のグレースケール画像(28×28ピクセル)からなるデータセットである。学習用6万枚、テスト用1万枚を含み、画像分類の入門的なベンチマークとして用いられる。
3.2 評価指標
3.2.1 分類精度(Accuracy)
分類精度は、全サンプル中で正しく分類されたサンプルの割合である。Accuracy = (TP+TN) / (TP+TN+FP+FN)で定義され、クラスバランスが均等な場合に有効な指標である。
3.2.2 Precision、Recall、F1スコア
Precisionは正と予測した中で実際に正である割合、Recallは実際に正である中で正と予測された割合である。F1スコアは両者の調和平均であり、クラス不均衡のあるデータで有用である。
3.2.3 混同行列とROC曲線
混同行列は、実際のクラスと予測クラスの対応を表形式で示す。ROC曲線は、閾値を変化させたときの真陽性率と偽陽性率の関係をプロットしたものであり、AUC(曲線下面積)はモデルの識別性能を総合的に評価する。
4.1 医療画像診断
画像分類は、X線、CT、MRIなどの医用画像を用いた疾患検出に活用される。肺結節の良性・悪性判別、皮膚病変の分類、眼底画像による糖尿病性網膜症の診断など、医師の補助ツールとして実用化が進んでいる。
4.2 自動運転における物体認識
自動運転車では、カメラ画像から道路標識、歩行者、他車両、障害物を分類し、認識結果を車両制御に活用する。高速で高精度な分類が求められ、深層学習モデルが組み込まれている。
4.3 セキュリティと顔認証
監視カメラ映像からの不審人物検出や、スマートフォンのロック解除などに顔認証が利用される。画像分類技術により、顔画像を特定の個人に分類する処理が行われる。
4.4 農業・リモートセンシング
ドローンや衛星画像を用いて、農作物の病害識別、雑草検出、収量予測などが行われる。リモートセンシングでは、土地利用分類や森林被覆の変化検出に画像分類が応用される。
4.5 小売・物流における商品分類
小売店では、棚の画像から商品の在庫管理や自動レジ処理に画像分類が活用される。物流倉庫では、コンベア上の荷物をカテゴリ別に分類し、仕分け作業の効率化に貢献する。
5.1 データ不足と過学習への対処
深層学習モデルは大量のラベル付きデータを必要とする。データが少ない場合、過学習が発生しやすい。データ拡張、ドロップアウト、正則化、少数ショット学習、自己教師あり学習などの手法が研究されている。
5.2 ドメインシフトと汎化性能
学習時と運用時のデータ分布が異なる場合(ドメインシフト)、精度が低下する。ドメイン適応や分布外検出技術の向上が求められる。
5.3 解釈可能性と説明可能AI
深層学習モデルはブラックボックスであるため、分類結果の根拠を人間が理解できない。Grad-CAMやLIMEなどの手法で注意領域を可視化する研究が進んでいる。
5.4 敵対的攻撃への耐性
微小な摂動を加えた画像でモデルを誤認識させる敵対的攻撃が問題となっている。防御手法として、敵対的学習、入力前処理、モデルアンサンブルなどが研究されている。
5.5 軽量化とエッジデバイスへの展開
モバイル端末やIoT機器に画像分類モデルを組み込むには、モデルの軽量化(量子化、プルーニング、知識蒸留)が必要である。リアルタイム処理と省電力化の両立が課題である。
6.1 物体検出
画像分類が画像全体にラベルを割り当てるのに対し、物体検出は画像内の複数物体の位置とカテゴリを同時に推定する。
6.2 セマンティックセグメンテーション
画像の各ピクセルにクラスラベルを割り当てるタスクであり、画像分類のピクセル単位での拡張とみなせる。
6.3 生成モデル(GAN、拡散モデル)
画像分類とは逆に、指定されたクラスに属する画像を生成する技術であり、データ拡張や異常検知に応用される。