ホームページ  >  記事  >  バックエンド開発  >  Python を使用して画像の画像分類を実行する方法

Python を使用して画像の画像分類を実行する方法

WBOY
WBOYオリジナル
2023-08-17 18:42:282381ブラウズ

Python を使用して画像の画像分類を実行する方法

Python を使用して画像を分類する方法

画像処理と機械学習の分野の発展に伴い、画像分類は重要なタスクになりました。柔軟で強力なプログラミング言語である Python は、画像分類をより簡単かつ効率的に行うための多くのツールとライブラリを提供します。この記事では、Python を使用して画像を分類する方法を紹介し、関連するコード例を示します。

  1. 準備作業:
    始める前に、対応する Python ライブラリをインストールする必要があります。その中で最も重要なのは、OpenCV ライブラリと Keras ライブラリです。次のコマンドを使用して pip 経由でインストールできます:
pip install opencv-python
pip install keras

さらに、画像分類に適した事前トレーニング済みモデルをダウンロードする必要もあります。この記事では、ResNet50 モデルを使用します。次のコマンドを使用してダウンロードできます:

python -m keras.applications.resnet50
  1. 画像データのロード:
    まず、画像データをプログラムにロードする必要があります。 OpenCV ライブラリの cv2.imread() 関数を使用して画像ファイルを読み取ることができます。以下は画像データをロードするサンプル コードです:
import cv2

def load_image(image_path):
    img = cv2.imread(image_path)
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)   # 转换为RGB格式
    return img

image = load_image('image.jpg')
  1. 画像データの前処理:
    画像分類を行う前に、画像データをモデルに適合させるために画像データを前処理する必要があります。通常、画像のスケーリング、正則化、またはトリミングを実行します。以下は、画像を拡大縮小して正規化するサンプル コードです:
import cv2
import numpy as np

def preprocess_image(image):
    image = cv2.resize(image, (224, 224))   # 缩放图像为224x224像素
    image = image.astype("float32")   # 将图像数据类型转换为float32
    image /= 255   # 归一化图像数据
    return image

preprocessed_image = preprocess_image(image)
  1. 事前トレーニングされたモデルの読み込み:
    画像分類を行う前に、事前トレーニングされたモデルをロードする必要があります。 。この記事では、ResNet50 モデルを使用します。事前トレーニング済みモデルをロードするサンプル コードは次のとおりです:
from keras.applications.resnet50 import ResNet50
from keras.preprocessing import image
from keras.applications.resnet50 import preprocess_input, decode_predictions
import numpy as np

model = ResNet50(weights='imagenet')
  1. 画像分類を実行します:
    これで、画像を分類する準備が整いました。読み込んだモデルを使用して、前処理された画像データを予測し、分類結果を出力します。画像分類のサンプルコードは次のとおりです:
def classify_image(image):
    x = image[np.newaxis, ...]   # 将图像数据加一维以适应模型输入
    predictions = model.predict(x)   # 进行图像分类
    decoded_predictions = decode_predictions(predictions, top=3)[0]   # 解码预测结果
    return decoded_predictions

predictions = classify_image(preprocessed_image)
print(predictions)
  1. 結果の説明:
    最後に、予測結果について説明します。ロードした事前トレーニング済みモデルに基づいて、モデルは上位 3 つの予測とそれらに対応する確率を返します。予測結果を説明するサンプル コードは次のとおりです。
def explain_predictions(predictions):
    for pred in predictions:
        print(f"类别:{pred[1]},概率:{pred[2]*100}%")

explain_predictions(predictions)

この時点で、Python を使用して画像を分類するプロセスが完了しました。事前トレーニング済みモデルを読み込み、画像データを前処理することで、画像分類を簡単に実行し、予測結果を解釈できます。

概要:
この記事では、Python を使用して画像を分類する方法を紹介します。 OpenCV と Keras ライブラリをインストールすることで、画像データを読み込んで前処理することができます。事前トレーニングされたモデルを使用して、画像を分類し、予測を解釈できます。この記事が、読者が画像分類に Python を使用する方法を理解し、画像処理と機械学習の分野でさらに探求するための参考となることを願っています。

参考文献:

  1. https://docs.opencv.org/master/d6/d00/tutorial_py_root.html
  2. https://keras.io / api/applications/
  3. https://numpy.org/doc/stable/

以上がPython を使用して画像の画像分類を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。