担当者1の課題
- タイトル、氏名、所属
- 「誰に使ってもらうか」、「どう役に立つか」
- 利用イメージ
- 成功の鍵:「成功のために、グループで、一番努力したいこと」は何か
- 現在の準備状況(使用する機材、ソフトウェア)
- 競合優位:「多数の類似品の中で、『何が優れている』とアピールしたいか」
※ 種々のデータは、Google Cloud FireStore(データベース管理システム)で管理する(プライベートなデータベースを作成する)。
次の内容について、グループ内で相談し取り組むこと。
ポスターでは、「自身のグループが行いたいこと」をどうすれば実現できるか、説明するように検討することを推奨する。
実験については、素材収集作業を続行すること。
仮テーマ決め、グループ分け、実験計画。
ニューラルネットワーク。
説明資料: 機械学習とニューラルネットワーク [PDF], [パワーポイント]
テーマに関するディスカッション、レポート作成(個人ワーク)。
PyCharmは、WindowsのスタートメニューのJetBrainsの下にある。PythonコンソールはPyCharmの中(下の方)にある。存在しない場合は、View → Tool Windows → Python Consoleと操作して開く。
演習: 画像表示 (Python言語版)
学ぶトピックス:VRコンテンツの制作、人工知能で可能なこと。
USBカメラを使用する。
Webcam Controller, MOVE MIRROR, USBカメラからの読み取り。
USBカメラからの読み取りでじゃんけん。
絵の「スタイル」を変換するもの。
物体の種類を読み取り、英語などで表示する。
言語 (LANGUAGE) を「日本語 (Japanese)」に切り替えて使用する。
※ Pythonなどのプログラムで、AI画像分類を自動化することは難しくない。
インターネットで画像ファイルを集め、「TRY YOUR OWN IMAGE OR VIDEO」→「BROWSE FILE」で試す(グループワーク)。
研究室のVR機材。
ウィンドウが新しく開くので確認する。
大学内で、「被写体」を探し、その周囲を一周してビデオを撮影する(撮影中の安全に注意すること)。ビデオを撮影後、提出する。
ポリゴン、3次元データ、3Dモデル、Wavefront OBJファイル、メッシュ簡略化。
Wavefront OBJファイルを各自作成する(自身が撮影する番と、他の人を手伝う番がある)。きれいに撮影できるよう工夫する。
サンプルデータ「Sense.obj」
※ 別のファイルを使用して演習してもよいが、全世界に公開されるため、公開しても差し支えないものだけをアップロードすること。
サンプルデータ「Sense.obj」
※ 別のファイルを使用して演習してもよい。
雨天の場合は屋内。雨天でなければ屋外で実施する。
パソコン実習資料: Google FirebaseのCloud FireStoreを使用する
学習目標:Cloud FireStoreにおけるプロジェクトの作成、データベースの作成、データベース内へのコレクションやドキュメントの作成。以上はWebブラウザで行う。
※ 「プロジェクトの削除」は行わないこと。
「WindowsのPyCharmでシステムPython(WindowsにインストールしたPython)を使用する」までを行う。※「WindowsのPyCharmでvirtualenvのPython環境を使用する」は行わないこと。
※ 「日付の大小比較の例」は行わないこと。
その資料: コードコンバットでPythonの練習を行う
以下は参考情報である。興味のある者は各自で取り組むこと。
Windowsの「アプリと機能」で、インストール済みのプログラムを確認する。次のソフトウェアが存在する場合には、アンインストールする。
インストールする場合はバージョン3.6をインストールすること。
その資料: WindowsでPython 3処理系、virtualenv, virtualenv-wrapperと各種ツール (Chocolatey, git, cmake, wget, 7zipなど)のインストール
ポスター作成。
プレゼンテーション。
データベース、センサー、ラズベリーパイ。
ビジュアリゼーション、コンピュータを介した人同士の相乗と協業、3次元コンピュータグラフィックス、Webインタラクション、ゲームエンジン。
※ 企業との共同実験、企業主催研修会への参加、学会発表(旅費支援)など、多数の機会がある。大学院進学を考えている者は、様々な教員、先輩の意見を聞くことを推奨する。
話題提供:
提出物:手書きレポート(1枚)、氏名を記載すること。
上記の提出物(「ワード版」、「PDF版」)は本学学生の著作物である。改変、再配布を禁じる。
説明資料: 虹彩について
顔関連のパソコン実習資料へのリンク集Webページ:顔情報(顔検出、顔識別、顔のクラスタリングや類似度や分類、肌色部分の抽出、瞳孔の検出、顔姿勢の推定)
頭部の姿勢推定
頭部の姿勢推定
瞳孔の検知
赤いマークは目の下の中央、緑のマークが瞳孔である。
顔検出、顔のランドマーク検知、表情判定
* 顔識別は実習済みである。その時の資料:face_recognitionによる顔検出、顔識別(Dlib、ageitgey/face_recognition、Pythonを使用)(Windows上)
説明資料:OpenCV [パワーポイント], [PDF]
OpenCVを用いた種々の処理。
OpenCVとは「コンピュータビジョン」などの機能を備えたソフトウェア・ライブラリである。今回の実習では「コンピュータビジョンとは何か」も含め、実習で理解、把握する。
トピックス:カラー画像から濃淡画像への変換、イメージヒストグラム、ヒストグラム平坦化、濃淡画像へのノイズ付加、ノイズ除去、OTSUの方法による2値化、輪郭抽出。
次の資料で「前準備」は完了している。
説明資料: Python + OpenCV 4で濃淡画像を使用する(イメージヒストグラム、ヒストグラム平坦化、ノイズ除去、2値化、輪郭抽出)
次の資料で「前準備」は完了している。
次の資料で「前準備」は完了している。
次の資料で「前準備」は完了している。
説明資料: イメージ・スティッチング
強化学習 ML-Agentsツールキットを動作させる。
説明資料: 人工知能の概要 [PDF], [パワーポイント]
説明資料: ML-Agentsツールキットに付属の事前学習済みモデルをUnityで動作させる [パワーポイント], [PDF]
次の資料の「Pythonの仮想環境の作成」から開始すること。それ以前の手順は完了している。
パソコン実習資料: WindowsでUnity ML-Agents + Python環境を作成する(Chocolatey, Anacondaを利用)
人工知能を用いた予測。
パソコン実習資料: マイクロソフトCOCOのデータとモデルを使用する
※ 「前準備」の部分は完了している。「Cython, cocoapi, imgaugのインストール」の部分から行うこと。
実際の動作画面:
パソコン実習資料: DeepGazeを用いて肌色領域を抽出する
※ 「前準備」の部分は完了している。
実際の動作画面:
提出物を指示する。
1名欠席。
この資料を使用して実習すること。
米国ナンバープレート認識ソフトウェアに関するミニ実習。
手順:
インストール手順は次の通りである。
YouTubeの検索で「license plate」、「plate」、「car」、「america」、「us」、「united states」のようなキーワードを使用すること。「ナンバープレート」の英訳は「license plate」である。
この際、手間でも、使用したYouTubeのURLを記録しておく(実験の鉄則)。
キャプチャするのは、1つのビデオにつき、1枚の画像までとする。
001.png 002.png 003.pngのようなファイル名で画像を集める。ビデオ10個分程度。
「<openalpr-2.3.0-win-64bit.zipを展開(解凍)したディレクトリ>」に、画像ファイルを全て配置する。
次のように実行する。エラーが出た場合は、「<openalpr-2.3.0-win-64bit.zipを展開(解凍)したディレクトリ>」に画像ファイルがあるか確認する。
alpr 001.png
うまく認識できない場合(「No license plate found.」と表示されるもの)は無視すること。
提出物:誤ったナンバープレートが一番上に表示された画像の.pngファイルとYouTubeビデオのURL。
YouTubeビデオを10個(画像を10個)使用しても、「誤ったナンバープレートが一番上に表示された画像」が見つからない場合は、実験を打ち切ること。その場合でも減点しない。
提出物には、成績評価上の点数を付ける。
認識できた場合:
一番上に表示されているナンバープレート(上の図では「WMY9051」)が、元の画像を見て、正解か不正解かを確認する。
1名欠席。資料などの説明は別途行った。
PythonとGoogle Colaboratory: Python入門(全14回、Python TutorとCodeCombatを使用):別ページ »で説明している。
物体認識とは:画像の中から、所定の物体(自転車や人など)を自動で探し、その場所を四角(バウンディングボックス)で囲むことである。
下の資料の「SnowMasaya/ssd_kerasのインストール手順」の箇所から開始すること(そこまでの手順は完了している)。
※ エラーメッセージが出たら報告すること。そこで打ち切りとする(フリーソフトなどを使用している。信頼できるソフトウェアであるが、Windowsパソコン側の設定に不備がある可能性もある)。
より詳しく学びたい者への個人ワーク:
その資料: https://www.kkaneko.jp/de/db/2.htmlの末尾にある演習問題を試みること。
Windows, RaspberryPi, Python, Keras, Dlib, TensorFlow, OpenCVで実験することが望ましい。
第1回目は説明会、第2回目は卒業研究中間発表への参加であった。
地図サービスを行うHTMLプログラムを作成し、Webブラウザで表示する。
レポート課題 次回の授業では、Python言語でKerasやTensorFlowを使用する。 各自で、次の話題の中から好きなものを選び、インターネットや図書館で調べ、レポートを提出すること。 ・ニューラルネットワーク ・畳み込みニューラルネットワーク ・ディープラーニング ・機械学習 ・機械学習とディープラーニングの違い ・強化学習 ・リカレントニューラルネットワーク ・スマートスピーカ レポート文章の分量は、1ページとすること。友人と相談して作成する場合は、1人あたり1ページとすること。手書きでもWordでも構わない。インターネットや本の写真などをコピーして掲載する場合は、出所(URLや本の名称)を書き添えること。
地図システムの実習(前回の続き)。
緯度経度。
使用データ: photo-2018-07-03/index.html
地図システムの実習。
下の資料で「前準備」は飛ばし、次から一通り行う。
資料(金子研): マーカー付きのOpenStreetMap地図(Python + leaflet.js + foliumを使用)
資料(金子研): Google Street Viewを閲覧する
下の資料で「前準備」は飛ばし、次から一通り行う。
「画像ファイルの準備」は、既に完了しているパソコンがいくつかある。
資料(金子研): マーカーとイメージポップアップ付きのOpenStreetMap地図(Python + leaflet.js + foliumを使用)
下の資料で「前準備」は飛ばし、次から一通り行う。
資料(金子研): 緯度経度などのデータファイルから、マーカーとイメージポップアップ付きのOpenStreetMap地図を生成する
今日は2人1グループを希望する(出席確認時に相談する)。
キーワード: GPU、NVIDIA CUDA(「クーダ」と読むことが多い)、pycuda。
CUDAを用いて多数の掛け算を行うプログラムである。次の資料で、インストールは完了しているので「pycudaを使用する」を行うこと(うまく動作しない場合は報告すること。個別に対処する。早く終わった者は待機すること)。
資料(金子研): Windowsでのpycudaのインストール
Dlibは人工知能のソフトウェアである。Dlibで可能なことを実感してもらうため、各自で顔認識プログラムを動作させる。
前準備は完了しているので、その次を行うこと。
キーワード:顔の検知。
資料(金子研): Dlibによる顔検出を行うPythonプログラム(Dlib, Pythonを使用)(Windows上)
Dlibは人工知能のソフトウェアである。Dlibで可能なことを実感してもらうため、各自で顔認識プログラムを動作させる。
「学習済みデータの準備」の箇所から開始すること。
キーワード:アラインメント、顔データのデータ拡張、ランドマーク。
資料(金子研): Dlibによる顔のアラインメント、顔データの増量、顔のランドマーク、顔のコード化(Dlib、Pythonを使用)(Windows上)
起動して動作確認まで。
資料(金子研): WindowsでDlib 19.13同梱のimglabを使用する
以下を授業中の演習課題とする。
成果物(受講者4名による成果物): XMLファイルと画像ファイル
地図。
パソコン実習資料(金子研): オンラインサービスOSMBuildingを使用して3次元地図を閲覧する
資料(金子研): OpenStreetMapのエディタを使用して地図を編集する
皆さんへの演習:
写真とずれていたら -> 建物や道路を編集して保存する。
新しい建物や道路を追加したい場合は -> 建物はエリア、道路はライン。うまくできたら保存する。
3次元ゲームエンジン。
その資料: 3次元ゲームエンジンPanda3Dを使用する
受講者(3名)の成果物: Panda3Dサンプルプログラム
3次元ゲームエンジン。
その資料: Windowsで3次元ゲームエンジンPanda3D 1.9.4 SDKをインストールする
「サンプルプログラムを実行する」の箇所から行うこと。
その資料: 3次元ゲームエンジンPanda3Dを使用する
受講者(4名)の感想、振り返り:
OpenStreetMapは、オンラインの地図データベースである。登録すると、編集する権利を得ることができる。
パソコン実習資料(金子研): オンラインサービスOSMBuildingを使用して3次元地図を閲覧する
資料(金子研): OpenStreetMapのエディタを使用して地図を編集する
その資料: Cocos2dの概要 [PDF], [パワーポイント]
その資料: WindowsでCocos2dを使用する
その資料: Cocos2dで動きのシミュレーションを行う
その資料: Cocos2dの概要 [PDF], [パワーポイント]
成果物(受講学生によるリフレクション):
2次元ゲームエンジン。
その資料: ゲームエンジン [PDF], [パワーポイント]
その資料: pygameを使用する
その資料: WindowsでCocos2dを使用する
※ 自宅などでCocos2dを練習したい者のために、次の資料にインストール手順も記述してある。一定の条件下で無料で利用可能なソフトウェアである。
その資料: WindowsでのCocos2dのインストール
デスクトップのmakehumanフォルダの中のmakehuman.exeを起動する。
説明資料: Blenderの機能紹介 [パワーポイント], [PDF]
キーワード:3次元オブジェクト、カメラ、移動、拡大縮小、回転、マテリアル、レンダリング。
キーワード:Blender, レンダリング, 光源(ランプ), 光源(ランプ)の種類, 空, Transparency(透過)による透明化, Mirror(ミラー)による鏡面の表現。