タイトルのテキスト
タイトルのテキスト
タイトルのテキスト
タイトルのテキスト

写真からカラーデータセットを作成する方法

AI Python

t f B! P L

 

パソコンの画像

機械学習モデルをトレーニングするためには、まず適切なデータセットを用意する必要があります。この記事では、Pythonを使って写真からカラーデータセットを作成する方法を、わかりやすく説明します。

〇 必要なライブラリのインストール

Pythonで画像処理やデータ操作を行うために、以下のライブラリを使用します。まずはこれらをインストールしておきましょう。

pip install pillow numpy matplotlib

Pillow: 画像の読み込みや編集を行うライブラリ

NumPy: 数値計算やデータ操作を行うライブラリ

Matplotlib: データの可視化を行うライブラリ

〇画像を読み込む

まず、Pythonで画像を読み込む方法を説明します。以下のコードでは、Pillowライブラリを使って画像を開きます。

from PIL import Image

# 画像ファイルのパスを指定

image_path = "/content/IMG_6957.JPG"

# 画像を開く

imge = Image.open(image_path)

〇 画像のサイズを変更する

画像のサイズを機械学習モデルに適したサイズに変更します。ここでは、画像を28x28ピクセルにリサイズしています。

# 画像を28x28ピクセルにリサイズ

imge = imge.resize((28, 28))

〇 画像データをNumPy配列に変換

画像をNumPy配列に変換し、ピクセル値を01の範囲に正規化します。これにより、機械学習モデルに適したデータ形式になります。

import numpy as np

# NumPy配列に変換し、ピクセル値を0-1にスケーリング

imge_array = np.array(imge) / 255.0

〇データを保存する

画像データとラベルを保存します。ここでは、NumPy.npz形式で保存します。この形式は、複数のNumPy配列を一つのファイルに保存できる便利な形式です。

# ラベルを設定

label = 1

 

# 画像データとラベルを保存

np.savez("tt.npz", img=imge_array, label=label)

〇データの読み込みと表示

保存したデータを読み込み、画像を表示して確認します。

import matplotlib.pyplot as plt

# データを読み込む

data = np.load("tt.npz")

x = data["img"]

y = data["label"]

# 画像を表示

plt.imshow(x)

plt.show()

〇機械学習の例

せっかくなので、作成したカラーデータセットで簡単なCNNを実装して、画像認識を行ってみます。

import numpy as np

# データを読み込む

data = np.load("dataset.npz")

x = data["img"]

y = data["label"]

# バッチサイズとデータ形式のために次元を追加

x = np.expand_dims(x, axis=0)  # (1, 28, 28, 3)の形状にする

y = np.array([y])

import tensorflow as tf

from tensorflow.keras.models import Sequential

from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

# モデルの構築

model = Sequential([

    Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 3)),

    MaxPooling2D(pool_size=(2, 2)),

    Conv2D(64, (3, 3), activation='relu'),

    MaxPooling2D(pool_size=(2, 2)),

    Flatten(),

    Dense(128, activation='relu'),

    Dense(1, activation='sigmoid')  # 二値分類の場合

])

# モデルのコンパイル

model.compile(optimizer='adam',

              loss='binary_crossentropy',

              metrics=['accuracy'])

# モデルの概要を表示

model.summary()

# データの準備

x_train = np.array([x])  # サンプルデータをバッチとして扱う

y_train = np.array([y])

# モデルのトレーニング

history = model.fit(x_train, y_train, epochs=10, batch_size=1)

テストデータの用意(例)

x_test = np.array([x])

y_test = np.array([y])

# モデルの評価

test_loss, test_acc = model.evaluate(x_test, y_test)

print(f'Test accuracy: {test_acc:.4f}')

〇まとめ

この記事では、Pythonを使用して写真からカラーデータセットを作成する方法を紹介しました。以下の手順を踏むことで、機械学習モデルのトレーニングに必要なデータを準備できます。

画像の読み込み: Pillowライブラリを使って画像ファイルを開きます。

画像のリサイズ: モデルに適したサイズに画像を変更します。

NumPy配列への変換: 画像データをNumPy配列に変換し、ピクセル値を正規化します。

データの保存: NumPy.npz形式で画像データとラベルを保存します。

データの読み込みと表示: 保存したデータを読み込み、画像を表示して確認します。

これで、機械学習モデルのトレーニングに向けたカラーデータセットを準備することができました。データの前処理やモデルの設計、トレーニングの次のステップに進む準備が整いましたね。頑張ってください!

koneka1208

koneka1208

自己紹介

自分の写真
エクセル好きの窓際会社員です。 エクセルの操作法や日々の会社で得た知見などを発信していきます。 よろしくお願いします。

ブログ アーカイブ

連絡フォーム

名前

メール *

メッセージ *

QooQ