[尾下研究室] [講義情報]


システム創成プロジェクトI( 画像識別) 授業情報ページ

3年生前期、金曜日3〜5限、Computing Laboratory(研究棟W604・W605)

講義担当:佐藤 好久、本田 あおい
演習担当:尾下 真樹、齊藤 剛史、徳永 旭将、宮野 英次
プレゼンテーション担当: 佐藤 好久、田上 真、本田 あおい、小守 良雄


連絡


目次


日程

グループ 回数 講義日 講義内容
- - 2017/4/7 全体オリエンテーション
1 1 2017/4/21 画像識別(1)
2 2017/4/28 画像識別(2)
3 2017/5/12 画像識別(3)
4 2017/5/19 識別精度
5 2017/5/26 自由演習
6 2017/6/9 プレゼンテーション
2 1 2017/6/16 画像識別(1)
2 2017/6/23 画像識別(2)
3 2017/5/30 画像識別(3)
4 2017/7/7 識別精度
5 2017/7/14 自由演習
6 2017/7/21 プレゼンテーション


授業概要・成績評価方法

プロジェクトIでは、画像識別をテーマとして取り組む。
手書き文字認識を題材に、特徴量を使ってデータを分類する手法について学習する。
手書き文字の画像をファイルから読み込んで文字認識を行う Java プログラムを作成する。
成績はプレゼンテーションにより評価される。


グループ分け

演習は、2人1組のグループで行う。
演習のプログラムは共同で作成し、途中のプログラム提出や、最後のプレゼンテーションも、グループごとに行う。
グループ分けは、あらかじめ決めたものを Moodle のシステム創成プロジェクトのコースに掲示するので、これに従うこと。


演習資料

講義・演習資料:画像識別(第1週〜第3週)
講義・演習資料:識別精度(第4週)
講義・演習資料:プレゼンテーション準備(第5週)
参考資料

演習手順(第1〜5週)

  1. 講義の内容を理解する
    講義では、1〜3章、及び、7章のプログラム全体の設計の考え方を主に説明する。

  2. 1次元の特徴量を使った識別プログラムの作成
    4章の説明に従ってプログラムを作成する。適宜、5〜6章の説明も参考にする。
    4.2節、4.6節、4.7節、4.8節、6.9節の内容がそれぞれ完成したら、TAに報告して確認してもらうこと。

  3. 2次元の特徴量を使った識別プログラムに拡張
    10章の説明に従って作成する。適宜、 8〜9章の説明も参考にする。
    10.2節、10.3節、10.4節の内容がそれぞれ完成したら、TAに報告して確認してもらうこと。
    ※ 4週目の前日までに、最低でもここまでは終わらせて、プログラムを提出する。

  4. 各自の選んだ画像に対して識別を行うようプログラムを拡張
    11章の説明に従って作成する。
    ※ 自分のプロジェクトで用いる画像(2種類)・特徴量(最低3種類)を決めてTAに説明する。
    11.1節、11.2節、11.3節の内容がそれぞれ完成したら、TAに報告して確認してもらうこと。
    11.3節については、1つ目、2つ目、3つ目の特徴量計算が完成した時点で、TAに報告して確認してもらうこと。

  5. 別の識別精度計算を使えるようプログラムを拡張
    12章の説明に従って作成する。
    12.1節の内容が完成したら、TAに報告して確認してもらうこと。
    ※ 4週目の演習では、上記 4 がまだ終わっていない場合も、こちらの演習を優先して行う。

  6. プログラムを使った実験、及び、プレゼンテーションの準備


実験計画書の提出(第3週)

第3週目 16:10(厳守)までに、各グループで取り組む課題(2つの文字画像)と実装予定の3つの特徴量を決めて、実験計画書に記入し、演習担当教員に提出すること。
取り組む課題は、あらかじめ指定された複数のグループで相談して決めること。


プログラム提出(第3週)

第4週目の前日 木曜日 19:00(厳守)までに、少なくとも演習資料の10章までの演習を終えて、作成したソースファイル一式を Moodle から提出すること。
ソースファイル一式(*.java)を zip 形式で圧縮して、提出すること。それ以外のファイル(画像データやコンパイル結果のclassファイルなど)は、提出しないこと。
提出は、Moodle の「システム創成プロジェクト」のコースの中にある提出ページから行うこと。
提出するファイルのファイル名は、「自分のグループ番号.zip」とすること。

zip形式での圧縮方法が分からない場合は、以下の手順に従ってファイルを作成・提出すること。(やり方が分かる人は、これ以外の方法を用いても構わない。)
  1. 演習資料の10章までの演習を終える。
  2. 適当な場所に、「自分のグループ番号」の名前でフォルダを作成する。
  3. 自分が作成しているプログラムのプロジェクトのフォルダを開く。
  4. 3で開いたフォルダの中にあるファイルのうち、拡張子が *.java になっているファイルを全て選択し、2のフォルダにコピーする。(注意:間違えてコピーではなく移動をしないようにすること。)
  5. 2のフォルダを、デスクトップに置かれている Lhaplus(圧縮・解凍用ソフト)にドラッグ&ドロップする。
  6. デスクトップに、圧縮ファイルが「自分のグループ番号.zip」の名前で作成されるので、これを Moodle から提出すること。


プレゼンテーション(第6週)

自分達が行ったプロジェクトの結果をまとめて、プレゼンテーションを行う。
下記の説明を良く読んで、自分の発表を準備すること。本番になって焦らないように、十分に準備や発表練習をした上で発表に臨むこと。
第6週目の当日 金曜日 12:20(厳守)までに、以下の2つを Moodle から提出すること。
未提出の場合は、プレゼンテーションの発表は認められず、不合格になるので、必ず事前に提出すること。(プレゼンテーション会場に直接ファイルを持って来ても、プレゼンテーションは認められない。)


レポート提出(プレゼンテーションの1週間後)

プレゼンテーションで発表した内容や、プレゼンテーション後にディスカッションした内容をもとに、下記のテンプレートに従ってレポートを作成し、提出すること。
テンプレートは、Tex と Microsoft Word の2種類を用意しているので、どちらを使用して作成しても構わない。作成したレポートは、PDF形式で提出すること。
プレゼンテーションの1週間後 12:00(厳守)までに、作成したレポート(PDF形式)を Moodle から提出すること。


手書き文字画像の準備のための方法・ツール

実験に必要な手書き文字画像を準備するためのツールなどを置いています。 必要な人は利用してください。
ツールは、2014年度TAの飯沼さん(齊藤研)が開発してくれたものです。
画像スキャン用のフレーム PDF[PDF]
プリントアウトして利用してください。
細い文字や薄い文字はうまく読み取れない場合があるため、文字はマジックやボールペンで書くようにした方が良いでしょう。
スキャナの使用方法
CLの端末の1台にスキャナが設置されており、利用できます。
スキャナが接続されているCLのPCに、自分のアカウントでログインしてスキャナを利用してください。
また、スキャンした画像は自分のホームディレクトリ(Z:\)の下に保存してください。
スキャナの使用方法は、以下の通りです。
  1. デスクトップに置かれているショートカットから「EPSON SCAN」を起動
  2. 下記の通りにスキャナの設定を行う
    • モードの設定 ⇒「ホームモード」
    • 原稿種の設定 ⇒「イラスト」
    • イメージタイプの設定 ⇒「グレー」
    • 出力設定の設定 ⇒「その他」
    • 解像度の設定 ⇒「200dpi」
  3. 「プレビュー」をクリック
    ※「ホームモード」の場合、一度「プレビュー」をクリックしないと「スキャン」のボタンがクリックできません。
  4. 「スキャン」をクリック
使い方が分からなければ、演習時間中にTAに尋ねてください。

スキャン画像から個々の文字を切り出して2値ビットマップに変換するためのツール
exeImage_Clip.zip txt(使用方法)

文字画像ファイルを連番のファイル名に変更するためのソフトウェア
本プロジェクトでは特に専用のツールは用意していませんが、一般のフリーソフトウェアなどを利用することができます。ここでは、Nameryを使用した方法を紹介しています。
exeNamery のダウンロード(vector) txt(使用方法)

古い説明・ツール

以下は、古い説明・ツールです。上記のツールが問題なければ、こちらを使う必要はありません。
ツールは、2003年度TAの松村くんが開発してくれたものです。また、使い方の説明などは、2006年度TAの吉屋くんが書いてくれたものです。
スキャン画像から個々の文字を切り出すためのツール
exeImageClip.exe txt(使用方法) txt(設定の目安)

切り出した文字画像を白黒の2値ビットマップに変換するためのツール
exeBlackWhiteGUI.exe txt(使用方法)


質問などがあれば講義中に聞くか、下記のアドレスにメイルしてください。
e-mail address