11. 最終課題#

本講義で紹介した内容を元に、画像処理システムを設計・実装してください。課題については、以下に示す標準課題A, B, Cの中から選択してください。ただし、意欲的な受講生は、独自の課題を設定しても構いません。

作成したプログラムの内容に基づいて、最終講義回に発表会を行います。一人あたりの発表時間は 5分 の予定です。発表用のスライド資料を用意し、必ず作成したプログラムのデモを行ってください。

AI・外部コードの利用について

課題の中では、GitHub等に公開されているコードや外部API、生成AIが作成したコードを部分的に使用しても構いません。

ただし、使用した場合は、 使用箇所、用途、自分で確認・変更した点をレポートに明記 してください。また、それらのコードは、必ず内容を理解したうえで使用し、 単に使っただけの提出物は評価対象としない ので注意してください。

11.1. 提出物#

最終発表会後に、以下の資料を提出してください。提出はGoogle Classroomを通じて行います。

プログラムの作成はPythonで行うことを前提にしていますが、C++やJavaなどの他の言語を使っても構いません。また、外部ライブラリ等の使用も可とします。

ただし、外部ライブラリを使用した場合は、AI等の利用と同様にレポート内に使用箇所や使用範囲について明記してください。NumPyなどの標準的な外部ライブラリについて逐一明記する必要はありませんが、例えばLightGBMなど、機械学習部分のメイン実装をライブラリで担ったりした場合には、その点を明記してください。

提出物

内容

備考

発表スライド

5-8枚程度

提出時はPDF形式

ソースコード

.py または .ipynb

他の言語を使っても可 (要相談)

入力・結果画像

成功例・失敗例の両方を示す

簡易レポート

実行方法、使用手法、AI等の利用について

A4用紙1枚

11.2. 発表スライドの構成例#

以下に発表スライドの構成例を示しますが、必ずしもこの通りにする必要はありません。

  1. テーマ・目的

    • 何をしたいのか。入力と出力は何か。

  2. 使用した講義内容

    • 色空間、フィルタ、幾何変換、特徴点、CNN、GANなど。

  3. 処理パイプライン

    • 入力から出力までの流れを図で示す。

  4. 実装・検証した内容

    • どこまで実装したか。何を比較したか。

  5. デモ

    • 実際にプログラムを動かしても良いし、事前収録した動画を見せても良い。

  6. 結果:成功例

    • 入力画像、出力画像、中間結果など。

  7. 比較・考察

    • パラメータ変更、手法比較、入力条件比較など。

  8. 改善案・まとめ

    • さらに良くするなら何をするか。

11.3. 課題内容#

11.3.1. 標準課題A: 画像補正・復元#

暗い画像、ノイズのある画像、ぼけた画像、斜めから撮影された画像などを、講義で扱った画像処理手法を用いて見やすく補正・復元する。

テーマ例

  • 暗い写真を見やすくする

  • 板書画像を読みやすくする

  • 書類画像を正面化する

  • 画像の一部を自然に補間する

  • 深度画像に基づいて背景をぼかす

必須要件

  • 入力画像を、受講者自身で3枚以上用意する

  • 補正前後の結果について、可能な限り定性的・定量的に比較する

  • 成功例だけでなく、失敗例も示し、失敗の原因を考察する

11.3.2. 標準課題B: 対象の抽出・検出・計測#

画像中の特定の物体を抽出・検出し、位置、個数、大きさ、形状、移動の軌跡などを求める。

テーマ例

  • コインや小物の個数を数える

  • 特定色の物体だけを抽出する

  • 書類やカードの領域を検出する

  • エッジや輪郭から形を取り出す

  • 動画中の物体を追跡する

必須要件

  • 入力画像を、受講者自身で3枚以上用意する

  • 物体検出等の結果について、可能な限り定性的・定量的に比較する

  • 成功例だけでなく、失敗例も示し、失敗の原因を考察する

11.3.3. 標準課題C: 画像分類モデルの分析#

以前の課題で配布したCNNやViTによる画像分類のプログラムや外部ライブラリに実装された分類手法 (LightGBM, XGBoost など) を用いて、小規模な画像分類・認識システムを作成し、その性能と失敗例を分析する。

この際、モデルの訓練には、公開されているデータセットを用いても構いません。公開データセットを用いる場合は、必ず出典を明記してください。

また、ニューラルネットを利用する場合に、事前学習済みの重みパラメータを利用する場合は、その旨をレポートに明記してください。

テーマ例

  • 自分で手書き数字の分類

  • 自分で撮影した写真に写った物体の分類

  • 動物や植物などの写真の分類

  • 撮影したゴミの分類提案

必須要件

  • 少なくとも2種類以上の分類手法を比較する

  • モデルの評価時には、受講者自身で撮影した画像を3枚以上用いる

  • 分類の結果について、可能な限り定性的・定量的に比較する

  • 成功例だけでなく、失敗例も示し、失敗の原因を考察する

11.3.4. 自由課題#

講義の内容に関連する画像処理技術について、独自の課題を設定しても構いません。

ただし、講義で扱った内容に関連する技術を1つ以上用い、入出力・処理パイプライン・成功例・失敗例等を発表で説明してください。

この課題についても、必須要件は標準課題A, B, Cと同様のレベルであることが求められます。

テーマ例

  • 講義で紹介したが、課題としては扱わなかった画像処理手法を用いたシステム

  • 講義で扱った技術について、より新しいシステムの実装や性能評価

  • 講義で扱った技術を組み合わせた実用的な画像処理システムの実装

自由課題でも、外部ライブラリやAPIなどを利用することは構いませんが、そのまま、それだけを使うことは不可とし、利用した場合には必ず出典をレポートに明記してください。

11.4. 評価基準#

各課題は、以下の基準に基づいて20点満点で評価します。

項目

配点

課題設定が明確である

4

講義内容を適切に使っている

4

実装・検証が適切である

4

比較・考察がある

4

発表が分かりやすい

4

11.5. 参考資料#

注意

  • 公開データセットを利用する場合は、出典を明記すること。

  • データセットのライセンスや利用条件を確認すること。

  • 大規模なデータセットをそのまま使う必要はなく、小規模なサブセットを用いてよい。