画像認識パート#

✅ 概要#

このリポジトリは大学3年生向けの情報科学演習教材をJupyter Notebook形式でまとめたものです。 ノートブックを順に実行しながら、画像の取り扱い、前処理、基本的な機械学習モデルの実装と評価を学びます。

📚 学習目標#

  • OpenCVやMatplotlibを使った画像の読み込み・表示・保存・前処理ができる

  • 画像の基本演算(リサイズ・回転・色空間変換・フィルタ処理)を理解する

  • 単純なパーセプトロン/多層パーセプトロン(MLP)を実装して学習・評価ができる

  • PyTorchを用いたモデル定義・学習ループ・評価(MNISTなど)が行える

📁 ディレクトリ構成#

project_root/
├── intro.md                # この概要ページ
├── requirements.txt        # pip/condaで使う依存リスト
├── summary.md              # まとめページ
├── data/                   # データセット(画像や学習データ)
├── notebooks/              # Jupyter Notebook(教材本体)
│   ├── images/             # ノートブック内で使う画像ファイル
│   ├── 00_Setup.ipynb
│   ├── 01_ImageProcessing.ipynb
│   └── 02_MachineLearning_Mnist.ipynb
├── cassava_sample/         # キャッサバの病害分類のサンプルプログラム
│   ├── dataset.py    
│   ├── main.py
│   ├── model.py
│   ├── train_eval.py
│   ├── utils.py
│   └── visualize.py
└── util.py                 # 教材で共通利用するユーティリティ関数

📊 データセット#

  • ノートブックで利用する小規模な画像ファイルは data/ に配置します。大きなデータは外部から取得するようにしてください。

🚀 学習の進め方#

  1. notebooks/ 内のノートブックを順に実行してください。

  2. まず 00_Setup.ipynb で環境整備(conda環境やPyTorchインストール方法の説明)を確認します。

  3. 01_ImageProcessing.ipynb で画像処理の基礎と演習を行ってください。

  4. 02_MachineLearning_Mnist.ipynb で簡単なニューラルネットワーク(MLP/CNN)の実装・学習・評価を試してみましょう。

💻 使用技術#

  • Python 3.9+

  • NumPy, pandas, matplotlib, seaborn

  • OpenCV (cv2)

  • PyTorch, torchvision

  • scikit-learn

📝 実行環境#

環境を再現するためには requirements.txt(または environment.yml を使う場合はそちら)を参照し、仮想環境を作成してください。ノートブック内に実行例を記載しています。