2021.09.08こんにちは、ヒガシです。今回はAIを構築する際に必要なデータ構築スキルについて解説していきます。画像認識のAIを構築する際など、当然ながら大量の画像データをAIに学習させる必要があります。一言に学習させると言っても、画像をフォルダに入れて終わりではありません。AIが正しく認識できるような形式に事前に整えてあげる必要があります。⇒今回はその事前に形式を整える作業がどのようなものなのかを解説していきます。それではさっそくやっていきましょう。※この記事ではPythonをつかって実装していきます。私は普段AIを構築する際はKerasというライブラリを使って実装しています。今回は普段私がやっている内容を再現するだけですので、他のライブラリで同じことをやってきちんと動くかはわかりません。その点はご了承ください。事前準備:画像をフォルダに保存しておく必要なライブラリAI用の画像データセットを構築するサンプルコードおわりに事前準備:画像をフォルダに保存しておく今回は過去のブログ記事にて使った以下の10枚の画像を使って実演していきます。これらの画像はプログラムが保存されている場所と同じフォルダにあるtest55というフォルダに保存されていることとします。ちなみにこれらの画像はサイズがすべて縦581ピクセル、横773ピクセルで一致しています。画像サイズが違う場合は、以降で紹介するサンプルコードにサイズを整える工程が必要になります。状況に応じて適宜変更してください。スポンサーリンク必要なライブラリ今回は以下の2つのライブラリを使用して画像データセットを作成していきます。インストールしていない方はまずはインストールしておきましょう。〇openCV〇numpy〇glob画像、ライブラリの準備できたら実際のコーディング作業に入っていきましょう。スポンサーリンクAI用の画像データセットを構築するサンプルコード早速ですが、以下がそのサンプルコードです。data_set.append(pic_data)data_set=np.array(data_set)たったのこれだけです。※コメントをつけていますので、それぞれの行で何を行っているのかを追いかけてみましょう。念のためここで作ったdata_setの大きさを確認してみましょう。配列の大きさを確認するには、以下のコードを実行します。data_set.shapeすると以下の結果が出力されました。10が画像の枚数、581が画像の縦ピクセル数、773が画像の横ピクセル数を表しています。ちなみに、今回は白黒画像なので2次元配列でしたが、もしこれがカラー画像として作成された場合だと以下のようになります。要はBGRの3要素が追加されているわけですね。※カラー画像配列を読み込みたい場合は先ほどのコードのcv2.IMREAD_GRAYSCALEの部分をcv2.IMREAD_COLORにすればOKです。このようにして作ったdata_setという配列をKerasなどのライブラリに放り込んでやれば、AIは簡単に構築できてしまいます。今回の内容をよく理解するうえで知っておいた方が良いことを以下の記事で解説しています。興味があればこちらもぜひご覧ください。【python】フォルダ内ファイルを一括取得!ワイルドカードも使用可!【python-openCV】カラー画像の配列概念を事例を用いて徹底解説!スポンサーリンクおわりにというわけで今回は、AIに画像データを学習させる際のデータセットの作り方を簡単にご紹介しました。あなたのAI開発において少しでも参考になっていれば幸いです。最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。コピーヒガシをフォローするスポンサーリンクヒガシヒガサラblogスポンサーリンクpython【Python】時系列データのノイズ除去方法!スムージング処理を実演!こんにちは、ヒガシです。先日私がAI系業務を行っていると、以下のような時系列データに遭遇しました。途中まではなめらかなデータなんですが、途中で突然ノイズが乗ってくるというデータです。【AI】学習済みRNNモデルの内部計算をnumpyのみで再現する方法こんにちは、ヒガシです。TensorflowやPytorchの環境下でAIモデルを構築しても、実際に運用する際にそれらの環境を準備できないことってよくありますよね。そんな状況に...python【AI】活性化関数付MLPモデルの計算を行列計算で再現する方法!こんにちは、ヒガシです。前回の記事にて、学習済のAIモデルから重み&バイアスを取り出すことによって、ニューラルネットワーク内部の計算を行列計算のみで実施する方法をご紹介しました。【AI...python【AI】複数出力を持つモデルにshap適用!出力ごとに寄与度分析!こんにちは、ヒガシです。今回も前回に引き続きshapを使って遊んでみようと思います。前回の記事では、簡単な4入力、1出力のモデルにshapを適用し、各入力が出力に与える寄与度を...python【python】numpy形式のまま配列を保存&既存配列をロードする方法!この記事では、python上で作成したnumpy配列を保存する方法、および保存されているnumpy配列をpython上にロードする方法をご紹介していきます。【AI】教師データをIN_OUTの対応関係を維持した状態でシャッフルする方法!このページでは、AIの教師あり学習で使用される入力データ(input)と目標データ(output)を対応関係を維持した状態でシャッフルする方法をご紹介していきます。学習前処理としてぜひご活用ください。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ご指摘ありがとうございます。修正させていただきましました。【python-openCV】背景画像に別の画像を合成する方法!やぎ2023.05.29こんにちは。書く必要があると思います。【python-openCV】背景画像に別の画像を合成する方法!サトシ2023.05.11承知しました。アドバイス本当にありがとうございます。【VBA】大量のファイル名変更!指定したフォルダ内を一括操作!ヒガシ2023.05.11/はフォルダの階層が変わることを意味しますので使えません。substitute関数などを使って別文字に変換してから実行すると良いと思います。【VBA】大量のファイル名変更!指定したフォルダ内を一括操作!サトシ2023.05.10何度もすみません。/を使うと出来ないみたいです。2001-001-1/4とかにしたいのですが、ファイルが見つかりませんとかパスが無効ですとなります。検索タイトルとURLをコピーしました。