Image Classification
CNNから実世界のAI利用まで、画像分類の基礎を探究します。Ultralytics YOLO26を使用して、最新の分類器をトレーニングおよびデプロイする方法を学びましょう。
画像分類は、computer vision (CV)における基礎的なタスクであり、機械学習モデルが画像全体を分析し、あらかじめ定義されたカテゴリのセットから単一のラベルを割り当てます。本質的には、「この写真の主要な被写体は何ですか?」という問いに答えるものです。artificial intelligence (AI)の中核的な構成要素として、このプロセスにより、自動化システムは大規模な視覚データを整理、分類、および解釈することが可能になります。人間の目にはシンプルに見えるかもしれませんが、コンピュータにパターンを認識させるには、生ピクセルと意味のある概念のギャップを埋めるために高度なmachine learning (ML)アルゴリズムが必要です。
分類の仕組み#
現代の画像分類は、Convolutional Neural Networks (CNNs)として知られるdeep learning (DL)アーキテクチャに大きく依存しています。これらのネットワークは、生物の視覚野が情報を処理する方法を模倣するように設計されています。feature extractionと呼ばれるプロセスを通じて、モデルは初期層でエッジやテクスチャのような低レベルの属性を識別することを学習し、最終的にそれらを組み合わせて、より深い層で複雑な形状やオブジェクトを認識します。
分類器を構築するために、開発者はsupervised learningを使用し、ラベル付きの例を含む膨大な量のtraining dataをモデルに供給します。ImageNetのような大規模なパブリックデータセットは、これらのシステムの精度を向上させる上で重要な役割を果たしてきました。推論フェーズでは、モデルは各カテゴリの確率スコアを出力し、多くの場合softmax functionを利用して最も可能性の高いクラスを決定します。
分類とその他のビジョンタスクの比較#
手法の選択は特定の課題に依存するため、画像分類と関連するコンピュータビジョンの機能を区別することが重要です。
- 分類 vs Object Detection: 分類は画像全体に1つのラベルを割り当てます。対照的に、オブジェクト検出は、それぞれの周囲にbounding boxを描画することで、シーン内の複数のオブジェクトの位置を特定します。
- 分類 vs Image Segmentation: 分類がグローバルなコンテキストを見るのに対し、セグメンテーションはピクセルレベルの精度を提供します。Semantic segmentationは個々のピクセルすべてを分類し、オブジェクトと背景の間の正確な境界線描画を可能にします。
実社会での応用#
画像分類は、さまざまな産業にわたる幅広いreal-world AI applicationsの原動力となっています:
ヘルスケア診断#
医療分野では、分類モデルが診断スキャンを分析することで放射線科医を支援します。Medical image analysisツールは、X線やMRIを「正常」または「異常」として迅速に分類したり、tumor detectionなどの特定の状態を特定したりすることができ、より迅速な患者のトリアージと診断を可能にします。
製造業における品質管理#
工場では、製品の基準を維持するために自動外観検査を活用しています。組み立てライン上のカメラが部品の画像を撮影し、分類モデルが目視による欠陥に基づいてそれらに「合格」または「不合格」のラベルを即座に付与します。この自動化されたquality controlにより、不良品のないアイテムのみが梱包段階に到達することが保証されます。
スマート農業#
農家は、作物の健康状態を監視するためにAI in agricultureを活用しています。ドローンやスマートフォンで撮影した画像を分類することで、システムは病気、栄養失調、または害虫の被害の兆候を特定し、ターゲットを絞ったprecision agricultureの介入を可能にします。
Ultralytics YOLO26 による分類の実装#
Ultralytics YOLO26フレームワークは、検出で有名ですが、image classification tasksにおいて最先端のパフォーマンスを提供します。そのアーキテクチャは速度と精度に最適化されており、リアルタイムアプリケーションに適しています。
以下は、事前トレーニング済みモデルをロードし、ultralytics Pythonパッケージを使用して画像を分類する方法の簡潔な例です:
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image source
results = model("https://ultralytics.com/images/bus.jpg")
# Print the top predicted class name
print(f"Prediction: {results[0].names[results[0].probs.top1]}")ワークフローを合理化したいと考えているチームにとって、Ultralytics Platformはパイプライン全体を簡素化します。これにより、ユーザーはclassification datasetsの管理、クラウドベースのトレーニングの実行、および大規模なコーディングインフラストラクチャなしでのONNXやTensorRTなどのさまざまな形式へのモデルのデプロイを行うことができます。






