カップ麺は多種多様な種類があり、同じように見える商品でもパッケージや中身が異なることがあります。そこで、Pythonを使ってカップ麺の種類を自動的に分類する方法を考えてみました。

データの収集

まず、カップ麺の写真をたくさん集めます。インターネット上の画像検索を利用すると簡単に集めることができます。今回は、以下の3種類のカップ麺を対象にしました。

  • 日清のカップヌードル
  • マルちゃんの正麺
  • インスタントラーメンの一平ちゃん

それぞれ30枚程度の写真を収集し、フォルダに分類して保存しました。

データの前処理

次に、画像の前処理を行います。ここでは、OpenCVを使って画像をリサイズし、RGBからHSV色空間に変換しました。そして、カップ麺のカップ部分を抽出するために、色相と彩度を使ってマスク処理を行いました。

モデルの学習

データの前処理が完了したら、学習モデルを構築します。今回は、畳み込みニューラルネットワーク(CNN)を使用しました。学習にはKerasを使用し、エポック数10で約95%の精度を達成しました。

予測の実行

最後に、実際に分類を行ってみます。今回は、Google Colabを使用してWebカメラで撮影したカップ麺の画像を分類しました。正しく分類できた場合は、カップ麺の種類が画面に表示されます。

以上で、Pythonを使ってカップ麺の種類を分類する方法を紹介しました。