Pythonで画像分類の機械学習モデルを作っている話

Webサイト運営

以前の記事で、キカガク社のAI・データサイエンス人材育成コースでPythonによるデータ分析の手法や機械学習を学んでいることをお伝えしました。その成果物として作成し、提出する予定の画像分類モデルについてご紹介したいと思います。

現行処理フローと問題意識

自己紹介ページで「駅ラブ」という駅舎や駅のホームの写真を多数紹介するサイトを運営していることをお伝えしましたが、このサイトの記事執筆に20~30分程/記事かかっていることから、これの効率化ができないか考えたことがきっかけです。

これまで、記事の執筆は主に以下の流れで進めていました。

  1. 画像のカテゴリ分け
    • 記事のフォーマットは一定しており、駅舎→改札口→プラットフォーム→駅前の様子のような感じの順番で紹介しているので、撮影した画像をFastStoneImageViewerという画像ブラウザでカテゴリごとに並び替えています。
  2. 画像を紹介順に並び替え
    • その後、記事で紹介する順に画像を並び替えています。
  3. 画像を縮小し、出力
    • そして、縮小しつつ、ファイル名をXX駅01.jpgのような名前に変更して出力しています。
  4. サイトにアップロード・記事本文執筆
    • サイトの裏はWordpressなので、出力した画像をアップロードし、本文を執筆しています。

しかし、今回学んだ機械学習の分類により1~3は自動化できる余地があるのではないかと考え、画像分類モデルを作ることとしました。

作るものの要件・改善後処理フローは以下の通りです。

  1. 画像の読み込み
    • 画像は外付けHDDに保存しているので、指定したフォルダの画像を全て読み込みます。
  2. 画像のカテゴリ分け
    • 読み込んだ画像を学習済みモデルに投入して、駅舎・改札口・プラットフォーム・駅前の様子など5カテゴリ程度に分類します。
  3. 画像の並び替え
    • カテゴリごとに順番を並び替えます。このとき、順番は手動でも変更できるようにする予定です
  4. 画像を縮小し、出力
    • そして、縮小しつつ、ファイル名をXX駅01.jpgのような名前に変更して出力しています。
    • あとの流れは同じです

使用する技術

キカガク社のAI・データサイエンス人材育成コースで学んできた内容をベースに以下を採用する予定です。

  • 言語:Python
  • フロントエンド:Streamlit(Pythonで簡単にWebアプリが作れます)
  • 機械学習モデル:google/vit-base-patch16-224-in21k(実験中なので最終的には違うものを使うかもしれません)

途中経過

まだ作っている最中ですが、あまり要件を拡大して何も作れなかった、となるとまずいので、まずは簡単な画像分類アプリとしてその後に記事原稿の自動執筆や自動投稿など業務の効率化アプリに仕上げたいと思っています。

現時点で作っている最中のアプリイメージは以下のような感じです。

コメント

タイトルとURLをコピーしました