研究室「2019年4月卒論配属」サポートページ

初期活動概要

※ 種々のデータは、Google Cloud FireStore(データベース管理システム)で管理する(プライベートなデータベースを作成する)。

グループワーク課題

次の内容について、グループ内で相談し取り組むこと。

担当者1の課題

  1. タイトル、氏名、所属
  2. 「誰に使ってもらうか」、「どう役に立つか」
  3. 利用イメージ
  4. 成功の鍵:「成功のために、グループで、一番努力したいこと」は何か
  5. 現在の準備状況(使用する機材、ソフトウェア)
  6. 競合優位:「多数の類似品の中で、『何が優れている』とアピールしたいか」

担当者2の課題

  1. 確証:「競合優位」で記述した内容を確かめる方法
  2. 実験項目
  3. 実験を開始するために、既に行ったこと(学内計測、野外計測)のデータ、日時、実施方法
  4. 実験結果がどうなれば成功か
  5. 「データベース」の機能や技術のうち、役に立ちそうなもの
  6. 「データベース」の機能や技術だけでは不足するものは何か。既存のソフトウェアや技術を使用するか決定しているか。その名称と仕組みは何か。他により良い方法はありそうか。
  7. 「データベース」の機能や技術に、その他既存のソフトウェアや技術を加えても、どうしても不足するものは何か。それが「どうなれば」成功か(実験で確認できるものを定めること)。

ポスターでは、「自身のグループが行いたいこと」をどうすれば実現できるか、説明するように検討することを推奨する。

実験については、素材収集作業を続行すること。

活動記録

仮テーマ決め、グループ分け、実験計画。

テーマに関するディスカッション、レポート作成(個人ワーク)。

AI, VR

学ぶトピックス:VRコンテンツの制作、人工知能で可能なこと。

AI, VR

  • AIで画像分類を行うデモサイトの紹介(clarifai.com)。

    https://clarifai.com/demo

    言語 (LANGUAGE) を「日本語 (Japanese)」に切り替えて使用する。

    ※ Pythonなどのプログラムで、AI画像分類を自動化することは難しくない。

    インターネットで画像ファイルを集め、「TRY YOUR OWN IMAGE OR VIDEO」→「BROWSE FILE」で試す(グループワーク)。

  • VR体験

    研究室のVR機材。

  • BlenderXRのページ: https://github.com/MARUI-PlugIn/BlenderXR
    1. 次のファイルをダウンロードする(作成済みの3次元データ)。

      tomaritiku_9-03.blend

    2. Windows → New VR Window

      ウィンドウが新しく開くので確認する。

    3. 新しく開いたウィンドウで、「File」メニューを使用し、上でダウンロードしたファイルを読み込む。
    4. 場所、大きさを調整する。
    5. ヘッドマウントディスプレイを使用し、確認する。
  • 3次元データ計測

    大学内で、「被写体」を探し、その周囲を一周してビデオを撮影する(撮影中の安全に注意すること)。ビデオを撮影後、提出する。

ポリゴン、3次元データ、3Dモデル、Wavefront OBJファイル、メッシュ簡略化

  • パソコン演習資料:3次元スキャナ 3DSystems Senseを使用する (20分)

    Wavefront OBJファイルを各自作成する(自身が撮影する番と、他の人を手伝う番がある)。きれいに撮影できるよう工夫する。

  • Sketchfabにアップロード、Webブラウザで表示、公開 (10分)
    • パソコン演習資料:Sketchfabを用いて、3次元モデルを表示、公開する
      1. Googleアカウントなどを用いてサインアップする。
      2. 次のファイルを「練習用」に準備した。次のファイルをSketchfabにアップロードし、Webブラウザで表示、公開すること。

        サンプルデータ「Sense.obj

        ※ 別のファイルを使用して演習してもよいが、全世界に公開されるため、公開しても差し支えないものだけをアップロードすること。

  • メッシュ簡略化 (20分)
    • パソコン演習資料:メッシュ簡略化(MeshLabを使用)
    • 次のファイルを「練習用」に準備した。次のファイルをSketchfabにアップロードし、Webブラウザで表示、公開すること。

      サンプルデータ「Sense.obj

      ※ 別のファイルを使用して演習してもよい。

    • 計測実習

      雨天の場合は屋内。雨天でなければ屋外で実施する。

GoogleのJSON型データベース、リレーショナル・データベース

参考情報

以下は参考情報である。興味のある者は各自で取り組むこと。


将来計画

年間計画

金子研究室の研究分野

※ 企業との共同実験、企業主催研修会への参加、学会発表(旅費支援)など、多数の機会がある。大学院進学を考えている者は、様々な教員、先輩の意見を聞くことを推奨する。

情報工学応用演習III(3年後期)

第13回目

グループワーク、個人ワーク: PDF版, パワーポイント版

提出物:手書きレポート(1枚)、氏名を記載すること。

上記の提出物(「ワード版」、「PDF版」)は本学学生の著作物である。改変、再配布を禁じる。

第12回目

説明資料: 虹彩について

顔関連のパソコン実習資料へのリンク集Webページ:顔情報(顔検出、顔識別、顔のクラスタリングや類似度や分類、肌色部分の抽出、瞳孔の検出、顔姿勢の推定)

頭部の姿勢推定

頭部の姿勢推定

瞳孔の検知

第11回目

顔検出、顔のランドマーク検知、表情判定

* 顔識別は実習済みである。その時の資料:face_recognitionによる顔検出、顔識別(Dlib、ageitgey/face_recognition、Pythonを使用)(Windows上)

説明資料:OpenCV [パワーポイント], [PDF]

第10回目

OpenCVを用いた種々の処理。

OpenCVとは「コンピュータビジョン」などの機能を備えたソフトウェア・ライブラリである。今回の実習では「コンピュータビジョンとは何か」も含め、実習で理解、把握する。

第9回目

強化学習 ML-Agentsツールキットを動作させる。

説明資料: 人工知能の概要 [PDF], [パワーポイント]

説明資料: ML-Agentsツールキットに付属の事前学習済みモデルをUnityで動作させる [パワーポイント], [PDF]

次の資料のPythonの仮想環境の作成」から開始すること。それ以前の手順は完了している。

パソコン実習資料: WindowsでUnity ML-Agents + Python環境を作成する(Chocolatey, Anacondaを利用)

第8回目

人工知能を用いた予測。

提出物を指示する。

第6回目

米国ナンバープレート認識ソフトウェアに関するミニ実習。

  1. 文字認識ソフトウェアに関するミニ実習

    WindowsでTesseractを使用する

  2. 画面キャプチャソフトウェアCaptureDのインストール

    手順:

    1. 各自のパソコン。既にC:\CaptureDが存在する場合はインストール済みである。
    2. インストール手順は次の通りである。

      説明資料: https://www.kkaneko.jp/tools/win/captured.html

    3. C:\CaptureDの下の深い階層にCaptureD.exeというファイルが存在する。それを画面キャプチャに使用する。
  3. ナンバープレート認識ソフトウェアのインストール

    インストール手順は次の通りである。

    説明資料: https://www.kkaneko.jp/ai/win/openalprinst.html

  4. 各自、Youtubeを使用して、車のナンバープレート(米国内車両のナンバープレート画像)の画像を集め、ナンバープレートを読み取ってみる。
    1. Youtubeで、米国の車のナンバープレートが写っているビデオを探す。

      YouTubeの検索で「license plate」、「plate」、「car」、「america」、「us」、「united states」のようなキーワードを使用すること。「ナンバープレート」の英訳は「license plate」である。

    2. YoutubeビデオをCaptureDで画面キャプチャする。

      この際、手間でも、使用したYouTubeのURLを記録しておく(実験の鉄則)。

      キャプチャするのは、1つのビデオにつき、1枚の画像までとする。

      001.png 002.png 003.pngのようなファイル名で画像を集める。ビデオ10個分程度。

      「<openalpr-2.3.0-win-64bit.zipを展開(解凍)したディレクトリ>」に、画像ファイルを全て配置する。

    3. alprコマンドで、ナンバープレート認識を行う。誤ったナンバープレートが一番上に表示されたものを探す。

      次のように実行する。エラーが出た場合は、「<openalpr-2.3.0-win-64bit.zipを展開(解凍)したディレクトリ>」に画像ファイルがあるか確認する。

      alpr 001.png

      うまく認識できない場合(「No license plate found.」と表示されるもの)は無視すること。

      提出物:誤ったナンバープレートが一番上に表示された画像の.pngファイルとYouTubeビデオのURL。

      YouTubeビデオを10個(画像を10個)使用しても、「誤ったナンバープレートが一番上に表示された画像」が見つからない場合は、実験を打ち切ること。その場合でも減点しない。

      提出物には、成績評価上の点数を付ける。

    認識できた場合:

    ナンバープレート認識結果の例
    認識結果

    一番上に表示されているナンバープレート(上の図では「WMY9051」)が、元の画像を見て、正解か不正解かを確認する。

第5回目

1名欠席。資料などの説明は別途行った。

  1. Python入門

    PythonとGoogle Colaboratory: Python入門(全14回、Python TutorとCodeCombatを使用):別ページ »で説明している。

  2. 顔検出、顔識別システムに関する実習:顔検出、顔識別の機能(Pythonのageitgey/face_recognitionパッケージ)を使用する
  3. ディープラーニングを用いた物体認識

    物体認識とは:画像の中から、所定の物体(自転車や人など)を自動で探し、その場所を四角(バウンディングボックス)で囲むことである。

    下の資料の「SnowMasaya/ssd_kerasのインストール手順」の箇所から開始すること(そこまでの手順は完了している)。

    ※ エラーメッセージが出たら報告すること。そこで打ち切りとする(フリーソフトなどを使用している。信頼できるソフトウェアであるが、Windowsパソコン側の設定に不備がある可能性もある)。

    https://www.kkaneko.jp/ai/deepim/snowmasaya.html

第4回目

  1. リレーショナルデータベース

    https://www.kkaneko.jp/data/dd/dbsummary1.pdf

  2. SQLite 3のデータベース新規作成、テーブル定義、テーブルの削除

    その資料: https://www.kkaneko.jp/de/sqlite3/database1.pptx

  3. SQLite 3でのテーブル作成

    その資料: https://www.kkaneko.jp/db/intro/database2.pptx

  4. SQLitemanのインストール、データベースの新規作成、テーブル定義

    その資料: https://www.kkaneko.jp/tools/win/sqliteman.html

  5. SQLでのテーブル結合

    その資料: https://www.kkaneko.jp/db/intro/database3.pptx

より詳しく学びたい者への個人ワーク:

第3回目

第1回目は説明会、第2回目は卒業研究中間発表への参加であった。

情報工学応用演習II(3年前期)

第14回目, 第15回目

レポート課題
次回の授業では、Python言語でKerasTensorFlowを使用する。
各自で、次の話題の中から好きなものを選び、インターネットや図書館で調べ、レポートを提出すること。
・ニューラルネットワーク
・畳み込みニューラルネットワーク
・ディープラーニング
・機械学習
・機械学習とディープラーニングの違い
・強化学習
・リカレントニューラルネットワーク
・スマートスピーカ
レポート文章の分量は、1ページとすること。友人と相談して作成する場合は、1人あたり1ページとすること。手書きでもWordでも構わない。インターネットや本の写真などをコピーして掲載する場合は、出所(URLや本の名称)を書き添えること。
    

第13回目

地図システムの実習(前回の続き)。

緯度経度。

使用データ: photo-2018-07-03/index.html

第12回目

地図システムの実習。

第11回目

今日は2人1グループを希望する(出席確認時に相談する)。

  • pycudaを使用する。

    キーワード: GPU、NVIDIA CUDA(「クーダ」と読むことが多い)、pycuda。

    CUDAを用いて多数の掛け算を行うプログラムである。次の資料で、インストールは完了しているので「pycudaを使用する」を行うこと(うまく動作しない場合は報告すること。個別に対処する。早く終わった者は待機すること)。

    資料(金子研): Windowsでのpycudaのインストール

  • Dlibを使用する。

    Dlibは人工知能のソフトウェアである。Dlibで可能なことを実感してもらうため、各自で顔認識プログラムを動作させる。

    前準備は完了しているので、その次を行うこと。

    キーワード:顔の検知。

    資料(金子研): Dlibによる顔検出を行うPythonプログラム(Dlib, Pythonを使用)(Windows上)

  • Dlibでの顔画像処理。

    Dlibは人工知能のソフトウェアである。Dlibで可能なことを実感してもらうため、各自で顔認識プログラムを動作させる。

    「学習済みデータの準備」の箇所から開始すること。

    キーワード:アラインメント、顔データのデータ拡張、ランドマーク。

    資料(金子研): Dlibによる顔のアラインメント、顔データの増量、顔のランドマーク、顔のコード化(Dlib、Pythonを使用)(Windows上)

  • imglabを使用する。

    起動して動作確認まで。

    資料(金子研): WindowsでDlib 19.13同梱のimglabを使用する

  • 2名1チームでグループワーク。

    以下を授業中の演習課題とする。

    • キーワード決定:1つ、日本語でも英語でもよい。
    • https://ccsearch.creativecommons.org/ で画像を集める(最大50枚)。
    • imglabを使用し、「赤の四角で囲み、ラベルを書き込む作業」を行う。
    • 必ず、imglabで保存操作を行うこと。

    成果物(受講者4名による成果物): XMLファイルと画像ファイル imglab作業成果物例

第10回目

地図。

第8回目 (1)

3次元ゲームエンジン。

受講者(4名)の感想、振り返り:

  • Panda3Dを使用し、3Dゲームを動作させた。
  • オブジェクトの動かし方やカメラ移動について学んだ。
  • 3次元ゲームエンジンであるPandaのサンプルプログラムが面白かった。
  • マウス、キーボードで画面を動かし、エフェクトを変更できるので、様々なゲームに活用できそうだと考えた。
  • Panda3Dを使用した3Dゲームの原型となるものがどのようなものか分かった。
  • 3次元ゲームエンジンPanda3Dを体験した。
  • 実際にプログラムを実行しオブジェクトを動かした。ppythonの実行方法を学んだ。

第7回目 (情報工学応用演習II)

第6回目 (情報工学応用演習II)

成果物(受講学生によるリフレクション):

  • 「A」などの文字オブジェクトに様々な動きを付けて、動かすことができた。
  • イベントやアクションを駆使し、文字を動かしたり、ランダムに配置したりして、使用方法が分かった。
  • マウスのクリックや矢印キーを使用し物体を動かす。滑らかに動かすことも可能である。数を増やすこともできる。
  • 乱数を使用し、物体の出現位置をランダムにする。物体の数を増やしても、同様にランダムに表示できる。
  • イベントにはキーボードのキーを押した時や、マウスでクリックしたものがあることが分かった。
  • addなどのプログラミング言語により、オブジェクトの数を増やしたり、当たり判定を付けたりした。

第5回目 (情報工学応用演習II)

2次元ゲームエンジン。

※ 自宅などでCocos2dを練習したい者のために、次の資料にインストール手順も記述してある。一定の条件下で無料で利用可能なソフトウェアである。

その資料: WindowsでのCocos2dのインストール

第4回目 (情報工学応用演習II)

第3回目 (情報工学応用演習II)