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

このページは、2018年4月に卒論配属された学生の研究活動を円滑に進めるためのサポート資料集である。各自の研究テーマや進捗に合わせて、関連する資料を参照し、計画的に研究を進めること。不明な点や困難に直面した場合は、自身で調査・試行錯誤することに加え、早めに指導教員や研究室の先輩に相談することが推奨される。

開発環境の構築

研究活動に必要な開発環境の構築手順をまとめている。

Windows開発環境

Visual Studio と Windows SDK

パソコン実習資料(金子研): Windows 10 で Visual Studio Community 2017 C++ と Windows Standalone SDK for Windows 10 のインストール

cmake

パソコン実習資料(金子研): Windows で cmake のインストール

MSYS2 と GNU ツールチェーン

MSYS2 と GNU ツールチェーン類 (gcc, g++, gfortran, findutils, openssh, make, gdb, boost 等) のインストール

Python環境の構築

パソコン実習資料: Windows で、Anaconda をインストールし、Python の仮想環境 + Keras + TensorFlow + OpenCV + spyder + Dlib 環境を作る(Chocolatey を利用)

人工知能のソフトウェア dlib, Keras, TensorFlow のインストールなど。

GPU環境の構築

NVIDIA CUDA ツールキット

資料(金子研): Windows で NVIDIA CUDA ツールキットのインストール

NVIDIA cuDNN

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

pycuda

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

Dlib のインストールとビルド

パソコン実習資料(金子研): Windows で Dlib 19.13 のビルドとインストール

dlib の付属ツールのビルド作業、および dlib を NVIDIA cuDNN 対応にする作業についても上記資料を参照すること。

Docker Compose

Docker Compose は Docker コンテナを簡単に扱えるようにするソフトウェアである。

Docker Compose のインストール

テキストエディタ

Windows で Visual Studio Code のインストール

TensorFlow のインストール

パソコン実習資料(金子研): Windows で、データベース、人工知能、ビジュアライゼーション関係の種々のソフトウェアをインストール(Chocolatey を利用)

スマホカメラを用いた実習環境

パソコン実習資料: https://www.kkaneko.jp/tools/win/tools.html

プログラミング基礎

Python入門(Google Colaboratory)

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

Python入門(データマネジメント)

Python プログラムの実行、Python でのデータマネジメント: [PDF], [パワーポイント]

Linux演習

Linux で、Keras, TensorFlow, Dlib, その他画像処理環境を整える手順である。

パソコン実習資料(金子研): Raspberry Pi で Keras, TensorFlow, Dlib, その他画像処理環境を整える

Windows上でLinuxシステムを動かす

「エミュレータ」、「Linux の起動」、「Linuxシステムへのログイン」を学ぶ。Linux としては Raspbian を使用する。

Windows の上で Linux システムを動かしてみる

JSON

プログラミング演習

ゲームエンジン[PDF], [パワーポイント]

画像処理・動画処理

OpenCVによるビデオ処理

Python + OpenCV 4 でビデオを扱ってみる

※ その後、「OpenCV で顔検出(OpenCV、Python を使用)」と組み合わせて動くように書き換えること。

※ 表情判定については、次の資料を参考にすること。カメラに映った顔の表情のリアルタイム判定についての実習も記述してある。

ezgiakcora/Facial-Expression-Keras のインストールと動作確認(表情推定)(Dlib、Python を使用)(Windows 上)

OpenCVによる画像処理

Python + OpenCV 4 で前景分離、ステレオマッチング、点や線の描画

セグメンテーション

keras-deeplab-v3-plus によるセグメンテーション

顔認識・人物検出

顔検出

Dlibによる顔検出

資料(金子研): Dlib を使ってみる

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

MTCNNによる顔検出

パソコン実習資料: ipazc/MTCNN のインストールと動作確認(顔検出)(Python を使用)(Windows 上) を最初から行うこと。

顔のランドマーク検出

アラインメント・顔データの拡張・ランドマーク

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

顔識別・顔認証

顔検出、顔識別の機能(Python の ageitgey/face_recognition パッケージ)を使ってみる

ディープラーニングによる顔識別 (Keras, DeepFace, VGG16 + Siamese を用いるものである)

表情推定

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

頭部姿勢推定

瞳孔検出

肌色領域の検出(DeepGaze / SkinDetector)

DeepGaze を用いて肌色領域の抜き出し

USBカメラでの動作、動画ファイル(sample1.mp4)での動作についても上記資料を参照すること。

SkinDetector動作画面
SkinDetector動作画面1
DeepGaze動作画面
DeepGaze動作画面

顔画像に関する実習

顔画像に関する実習資料

imglabの使用

資料(金子研): Windows で Dlib 19.13 同封の imglab を使ってみる

機械学習・ディープラーニング

人工知能(AI)の基礎

人工知能(AI)が注目される理由・背景知識 [PDFファイル]を作成したので、一読されたい。

人工知能プログラム開発用のツール DeepForge を使って、いくつかの人工知能(AI)を動作させる。

説明資料: DeepForge を使ってみる

TensorFlowとKeras

ディープラーニング用語辞書の中の「モデルのコンパイル」、「Iris データセット」。

Keras2 のインストール、動作確認。Keras2に付属の MNIST データセット

説明資料

DeepForge

DeepForge のインストール、インポート、エディタ画面

教師あり学習とニューラルネットワーク

教師あり学習、ニューラルネットのグラフ表示

TensorFlowで可能なこと

限定的な情報(スケッチ、赤緑青の塗り絵)から、実景に近い画像(猫、建物など)を合成すること、あるいは、種類を判別することなどである。

画像識別(VGG16)

パソコン実習資料: VGG16 を用いた画像識別(画像から、オブジェクトの種類を求めるものである)

物体認識(COCOデータセット)

パソコン実習資料: マイクロソフトCOCO のデータとモデルを使ってみる

実際の動作画面
COCOモデル動作画面

物体認識

物体認識の実習

時系列予測(LSTM)

パソコン実習資料: ディープラーニング LSTM 法を用いた渋滞予測の「応用してみる」をもう一度(グラフのプロットまで試みること)。

文字認識

フォント作成

フォント作成手順例

成果物

Tesseract

学習(訓練)に使用するフォントを変えると、Tesseract の文字認識の精度が変わる

Windows での文字認識ソフトウェアの紹介

  1. Windows での Java 8 (Java Runtime Environment 8) のインストール: 別ページ »で説明してある。
  2. ImageMagick バージョン 7 のインストール
  3. Windows で Tesseract を使ってみる

OpenALPR(ナンバープレート認識)

  1. https://github.com/openalpr/openalpr/releases
  2. openalpr-2.3.0-win-64bit.zip をダウンロード、展開(解凍)する。
  3. 各自が準備した車のナンバープレート画像と、正解データを全員で共有する。
  4. コマンドプロンプトで実行する。
    cd <openalpr-2.3.0-win-64bit.zip を展開(解凍)したディレクトリ>
    alpr -c us <画像ファイル名>
    

OpenALPR の公式ページ: https://www.openalpr.com/

ナンバープレート画像生成ツール

話題提供

スマート道路

資料 [PDF], [パワーポイント]

AIカメラ(Raspberry Pi)

Raspberry Pi でカメラをつなぎ顔検出

3次元グラフィックス・ゲームエンジン

Blender

インストールと機能紹介

サンプルOBJファイル

3次元ゲームエンジン

Blender の3次元ゲームエンジンについて

ロジックエディタ

Blender のロジックエディタ

剛体シミュレーション

パーティクルアニメーション

「パーティクル」と呼ばれるたくさんの粒を用いるシミュレーションである。

オブジェクトの表示・非表示

Blender のゲームエンジンを用いて、オブジェクトの表示・非表示

Blenderの自動操作(Python)

Blender の自動操作

Panda3D

Panda3D 3次元ゲームエンジン入門

複数のオブジェクトの配置、衝突判定、プログラム作成と実行についても上記資料を参照すること。

3次元のゲームエンジン Panda3D を使ってみる

Unity

(すでに、各自、インストール済みである)

Unity を使ってみる

Cocos2d

基本概念とインストール

Cocos2d の概要 [PDF], [パワーポイント]

Windows で Cocos2d を使ってみる

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

Windows で Cocos2d のインストール

イベントとアクション

Cocos2d のイベント、キーコード、イベントハンドラ、アクション

乱数と動きのシミュレーション

Cocos2d で、オブジェクトの属性を乱数で変化させる

Label クラス、Line クラスの属性、同じ種類(クラス)のオブジェクトを簡単に増やす方法についても上記資料を参照すること。

ゲームの例

Cocos2d で動きのシミュレーション

Cocos2d-x

C++でプログラムを書くことができるゲームエンジンである。学校や自宅で試してみたいという学生諸君のために資料を作成した。

Windows 10 で Visual Studio Community 2017 C++ と Windows Standalone SDK for Windows 10 のインストール

Windows で Cocos2d-x のインストール

pygame

pygame を使ってみる

Android Studio

Windows で Android Studio 3.1.2 のインストール

地図・空間情報システム

OpenStreetMap

地図の編集

パソコン実習資料(金子研): OpenStreetMap のエディタを使って地図を編集

データのダウンロード

パソコン実習資料(金子研): Python の overpy を用いて OpenStreetMap のデータをダウンロード

3次元地図

OSMBuilding

パソコン実習資料(金子研): OSMBuilding を用いて、OpenStreetMap の福山大学周辺など、いろいろな場所の3次元地図を見てみる

Cesium

3次元地図システム Cesium の体験

foliumによる地図生成

マーカー付き地図

パソコン実習資料(金子研): マーカー付きの OpenStreetMap 地図(Python + leaflet.js + folium を使用)

イメージポップアップ付き地図

パソコン実習資料(金子研): マーカーとイメージポップアップ付きの OpenStreetMap 地図(Python + leaflet.js + folium を使用)

使用するデータ: photo-2017-12-03/index.html

データファイルからの地図生成

パソコン実習資料(金子研): 緯度経度などのデータファイルから、マーカーとイメージポップアップ付きの OpenStreetMap 地図を生成

パソコン実習資料(金子研): その2

サービスイメージ

クリックすると写真が表示される 地図上の写真表示サービス

データベース・クラウドサービス

Google Firebase

Cloud Firestore

パソコン実習資料: Google Firebase の Cloud Firestore を使ってみる

Firebase Storage

次の資料を全員動かして、Google Firebase Storage に慣れること。ファイルのアップロード、ダウンロードである。

パソコン実習資料: Python で Google Firebase の Realtime Database (リアルタイムデータベース), Google Firebase Storage を使ってみる(pyrebase を使用)

リレーショナルデータベースとSQL

基本概念

リレーショナルデータベースの基本概念(前半)

リレーショナルデータベースの基本概念(後半)

SQLite 3 の操作

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

    SQLite 3 データベースの基本操作

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

    SQLite 3 でテーブルの作成

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

    SQLiteman のインストールと使い方

テーブルの結合

SQL でテーブルの結合

演習問題

リレーショナルデータベースの基本概念 の末尾にある演習問題を試すこと。