担当者: 金子邦彦
セマンティックセグメンテーションは, コンピュータが画像を読み取り, 画像の中の画素を,種類ごとに分類すること.
Unified Perceptual Parsing
2018年発表.さまざまな種類の画像について,精度良くセグメンテーションができるとされる手法.
実験データ,考察,丁寧な説明,元気なプレゼン
https://www.kkaneko.jp/lab/sotu2020/s/
先輩の資料です.大いに参考にしてください.(コピー&ペーストは不可です)
関連ページ: https://www.kkaneko.jp/sample/index.html
Project PLATEAUのサイトポリシー(https://www.mlit.go.jp/plateau/site-policy/)により,変形,公衆送信を行っている.
ここのデータは,テクスチャ画像のデータを含まない.
3D都市モデル(Project PLATEAU)福山市(2020年度)
頂点数: 8,697,252, 三角形ポリゴン数: 7,325,893
頂点数: 23,684,818, 三角形ポリゴン数: 47,272,932
重ね合わせは手作業で行っている.重ね合わせ結果では,建物と道路がずれている.
GAN (Generative Adversarial Network) では, 生成器 (generator) でデータを生成し, 識別機 (discriminator) で,生成されたデータが正当か正当でないかを識別する.
TensorFlow Hub の GAN のデモページ
ttps://www.tensorflow.org/hub/tutorials/tf_hub_generative_image_module
StyleGAN は, Mapping networkとSynthesis networkの2つのネットワークで構成され,従来の GAN よりも高精細な画像を生成できるとされている.
StyleGAN の Synthesis の AdaIN に, 画像を与えることで,生成される画像の特徴を転移 (transfer) することができる. そして,AdaIN には,解像度の違うものが複数あり, 低い解像度の AdaIN に画像を与えると, 大きく特徴が変化するように特徴を転移する. 高いい解像度の AdaIN に画像を与えると, 小さく特徴が変化する.
StyleGAN の文献: https://arxiv.org/pdf/1812.04948.pdf
従来の StyleGAN では,用途に応じて,アーキテクチャを変えたり,学習法を変える必要があるとされてきた.
次の文献では,単一のアーキテクチャ,単一の学習法でも, StyleGAN をさまざまな用途に利用できることが示されている.
StyleGAN of All Trades: Image Manipulation with Only Pretrained StyleGAN Min Jin Chong, Hsin-Ying Lee, David Forsyth
この文献の作者らによる 次の Google Colaboratory のページでは, 次のことを行っている.
https://colab.research.google.com/github/mchong6/SOAT/blob/main/infinity.ipynb#scrollTo=HSaAxHVcDKRv
現時点の成果物
URL: https://www.kkaneko.jp/sample/index.html#3
Meshroom での処理結果(1秒あたり4コマの画像に変換ののち Meshroom で処理)
texturedMesh.obj, texturedMesh.mtl
3DFFA, 顔写真からの3次元再構成
3DFFA のデモページの URL: https://colab.research.google.com/drive/1OKciI0ETCpWdRjP-VOGpBulDJojYfgWv#scrollTo=WLlzr74u9a4d
画像ファイルをアップロード.コードセルに次のように追加
img_fp = '/content/127.png' img = cv2.imread(img_fp) plt.imshow(img[..., ::-1])
結果は次の通り.
MMDetection のデモページ.MMDetection は2021年発表. デモページ (Google Colaboratory) は,次の URL である.
次の機能を試すことができる.
画像の中のオブジェクトを検出し,四角で囲み(場所と大きさ),種類を判別.
画素単位でオブジェクトを切り出す
顔からの性別,年齢等の推定
FairFace(Karkkainen, Kimmo and Joo, Jungseock, FairFace, 2021年発表)では,bias (偏り) のない顔データセットの利用で,性別,年齢等の推定の精度向上ができたとされる. 試してみた(公式ページの手順を少し変える必要あり)
手順は: 別ページで説明
Salient Object Detection (顕著なオブジェクトの検出)
視覚特性の異なるオブジェクトを,画素単位で切り出す. 前景と背景の分離に役立つ場合がある.人間がマスクの指定や塗り分け(Trimap など)を行うことはない.
BASNet は, ディープラーニングにより,Salient Object Detection (顕著なオブジェクトの検出)を行う一手法.2019年発表.
Qin, Xuebin and Zhang, Zichen and Huang, Chenyang and Gao, Chao and Dehghan, Masood and Jagersand, Martin, BASNet: Boundary-Aware Salient Object Detection, The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019
元画像
BASNet 法の結果
git clone https://github.com/NathanUA/BASNet.git
公式ページ https://github.com/xuebinqin/BASNet の指示による. 学習済みモデル(ファイル名 basenet.pth)は,次で公開されている. ダウンロードし,saved_models/basnet_bsi の下に置く
https://drive.google.com/open?id=1s52ek_4YTDRt_EOkx1FS53u-vJa0c4nu
cd BASNet python basnet_test.py
from IPython.display import Image,display_jpeg display_jpeg(Image('test_data/test_images/0003.jpg')) display_jpeg(Image('test_data/test_images/0005.jpg')) display_jpeg(Image('test_data/test_images/0010.jpg')) display_jpeg(Image('test_data/test_images/0012.jpg')) display_jpeg(Image('test_data/test_images/BKN06Z000006_W_big.jpg'))
from IPython.display import Image,display_png display_png(Image('test_data/test_results/0003.png')) display_png(Image('test_data/test_results/0005.png')) display_png(Image('test_data/test_results/0010.png')) display_png(Image('test_data/test_results/0012.png')) display_png(Image('test_data/test_results/BKN06Z000006_W_big.png'))
Trimap からの前景の推定
trimap では,次の 3つを考える. 前景である画素は白,背景である画素は黒,transaction である画素は灰色の 3通りに 塗り分けた画像を trimap という.
元画像と,その trimap を用いて,前景の推定を行う.
元画像
trimap(これは手作業で作成されたもの)と,前景の推定結果(コンピュータが生成)
pymatting 法
Google Colaboratory でのインストールと確認.
git clone https://github.com/pymatting/pymatting cd pymatting pip3 uninstall -y folium pip3 install . python3 tests/download_images.py pip3 install -r requirements_tests.txt pytest
Google Colaboratory で動かしてみる. コードセルで次を実行.このプログラムは, 公式のドキュメント(https://pymatting.github.io)を使用.
from pymatting import cutout cutout( # input image path "../data/lemur/lemur.png", # input trimap path "../data/lemur/lemur_trimap.png", # output cutout path "lemur_cutout.png") from IPython.display import Image,display_png display_png(Image('./data/lemur/lemur.png')) display_png(Image('./data/lemur/lemur_trimap.png')) display_png(Image('./data/lemur/lemur_cutout.png'))
Image Inpainting (イメージ・インペインティング)
画像の欠落部分を補う技術.画像の中の不要な部分を消すときにも役立つ.
LaMa (2021年発表)のデモページ
中国支部連合大会での学会発表
TecoGAN を用いた超解像.
次を Google Colab で実行する. TecoGAN のインストール,学習済みモデルのダウンロード, TecoGAN の実行と確認を行っている.
!pip3 install tensorflow==1.15 !pip3 install -U keras==2.3.1 !pip3 install git+https://www.github.com/keras-team/keras-contrib.git !git clone https://github.com/thunil/TecoGAN %cd TecoGAN !pip3 install -U -r requirements.txt !python3 runGan.py 0 !python3 runGan.py 1 from IPython.display import Image, display_png display_png(Image('LR/calendar/0001.png')) display_png(Image('results/calendar/output_0001.png'))
実行結果のスクリーンショットを原寸で表示.
自主的な活動
自主的な活動
顔のモデル.
声にあわせて,2次元の顔のモデルを変形させる技術が出てきた. このとき,入力としてシステムに与えられるのは音声のファイルである.
LiveSpeechPortraits
インストールを行う.
!git clone https://github.com/YuanxunLu/LiveSpeechPortraits.git %cd LiveSpeechPortraits !apt install -y ffmpeg !pip3 install -r requirements.txt !pip3 install -U numba==0.49.1 librosa==0.7.0 !pip3 install -U opencv-python==4.4.0.46 albumentations==0.5.2
https://drive.google.com/drive/folders/1sHc2xEEGwnb0h2rkUhG9sPmOxvRvPVpJ からダウンロードし,LiveSpeechPortraits\data 下に置く
結果は results の下に,ファイルとして残る.
%cd /content/LiveSpeechPortraits !python3 demo.py --id McStay --driving_audio ./data/Input/1.wav --device cuda
このデモプログラムでは,動画ファイルの生成までが行われる.
人のカウント,車のカウントに私は興味があります.数を数えたり,全体の流れを見たりです. そのとき,プライバシには十分に配慮します.顔画像からの年齢や性別の推定は別の技術になります.車種の推定も別の技術になります.
画像からの,人体の姿勢推定(pose estimation).人物追跡(person tracking)の技術は, 従来からありました. 姿勢推定には2次元のものと3次元のものがありますが,今回の紹介は2次元です.
(2021年発表)を紹介します.
人体の姿勢推定について
Google Colaboratory で動かすには,次のコマンドをコードセルに書いて動かす.
pip の行はインストール.wget の行は画像ファイルのダウンロード. python の行は処理の実行.
!pip3 install openpifpaf !wget https://upload.wikimedia.org/wikipedia/commons/0/06/Kamil_Vacek_20200627.jpg !python3 -m openpifpaf.predict Kamil_Vacek_20200627.jpg \ --checkpoint=shufflenetv2k30-wholebody --line-width=2 --image-output
乗用車の姿勢推定について
Google Colaboratory で動かすには,次のコマンドをコードセルに書いて動かす.
pip の行はインストール.wget の行は画像ファイルのダウンロード. python の行は処理の実行.
!pip3 install openpifpaf !curl -O https://upload.wikimedia.org/wikipedia/commons/7/71/Streets_of_Saint_Petersburg%2C_Russia.jpg !python3 -m openpifpaf.predict /content/Streets_of_Saint_Petersburg%2C_Russia.jpg \ --checkpoint=shufflenetv2k16-apollo-24 -o images \ --instance-threshold 0.05 --seed-threshold 0.05 \ --line-width 4 --font-size 0
人物追跡,転倒検知などについて
https://towardsdatascience.com/fall-detection-using-pose-estimation-a8f7fd77081d
人物の姿勢推定を行う Python プログラム
https://colab.research.google.com/drive/1H8T4ZE6wc0A9xJE4oGnhgHpUpAH5HL7W
これらの技術等をベースとして, 人間の動きだけでなく,車両の動き(車両のドアなどのパーツの細かな構造を見るので,車が前向きなのか,後ろ向きなのか,右横向きなのか,傾いているのかの情報をとることができる) の分析も始まっています
3次元の姿勢推定 (Pose Estimation) 画像から,オブジェクトを検出するとともに,その向きの推定も行う.
Objectron は,公式ページで,プログラムとデータセットが配布されている.
https://github.com/google-research-datasets/Objectron
Objectron の動作画面.
Objectron は,Google Colaboratory で動かすことができる. Google Colaboratory で動かすときは,コードセルに,次の3行を張り付けて実行. あとは,公式ページのプログラムのコピー&ペーストで動きます.
!pip3 install frozendict !git clone --recursive https://github.com/google-research-datasets/Objectron %cd Objectron
オブジェクトの周囲から撮影して,3次元化する立体再構成について.
従来技術(SfM, MVS と言われる)は完成の域にあり, Meshroom というソフトもあります. そのとき,オブジェクトは動いていけないのとなっていました.
2020年発表の技術は,オブジェクトは動いていても大丈夫,スマホで撮影,3次元を推定という技術が登場しています. 次のページに,実際に作成された動画が公開されているので紹介します. なめらかです.なお.1秒のビデオを処理するのに10分かかるのが目安になるようです.
https://roxanneluo.github.io/Consistent-Video-Depth-Estimation/
単一のカメラでの画像から depth image を推定する方法としては,ディープラーニングを用いる monodepth2 法 (2019 年発表) が知られる. 実行結果は次のようになる.
depth image は,距離を画像化したもの.
monodepth2 法は,普通の画像を距離画像に自動変換する研究である
monodepth2 法の実行手順は別ページで説明:https://www.kkaneko.jp/tools/man/man.html#depthimage
なお,以前紹介した Meshroom などを使っても距離画像を作ることができる
物体検出と fine tuning. 2020年発表の DETR. Google Colaboratory でのオンライン実行を行う. woctezuma の Google Colaboratory のページを使用
資料: 資料
物体検出. 2021年発表の YOLOX.高速で動き,精度も良好である. Google Colaboratory でのオンライン実行を行う.
資料: 資料
3次元の顔の再構成 (3D face reconstruction) は, 顔の写った画像から,元の顔の3次元の形を構成すること.
3次元の顔の再構成は,次の2つの種類がある.
3DDFA_V2 は,3次元の顔を再構成する dense vertices regression の一手法.論文は,2020年発表.
Jianzhu Guo, Xiangyu Zhu, Yang Yang, Fan Yang, Zhen Lei, Stan Z. Li, Towards Fast, Accurate and Stable 3D Dense Face Alignment, ECCV 2020.
Gradio での 3DDFA_V2 のオンライン実行
URL: https://github.com/cleardusk/3DDFA_V2
Google Colab でのインストールとオンライン実行
URL: https://colab.research.google.com/drive/1OKciI0ETCpWdRjP-VOGpBulDJojYfgWv
結果は /content/3DDFA_V2/examples/results/ にできる. ここには,顔の3次元データであるポリゴンメッシュ(.obj ファイル)もある.
.obj ファイルをダウンロードし Blender で表示してみる.
DeepFace は,ArcFace 法による顔認識の機能や,顔検出,年齢や性別や表情の推定の機能などを持つ.使い方を説明する.Google Colab を使うが, パソコン(Windows, Linux)でも動く.使い方は,1つのフォルダに認識させたい顔画像をすべて入れ,所定のコマンドを実行.
ArcFace 法は,距離学習の技術の1つである. 画像分類において,種類が不定個であるような画像分類に使うことができる技術である. 顔のみで動くということではないし, 顔の特徴を捉えて工夫されているということもない.
DeepFace の URL: https://github.com/serengil/deepface
ArcFace の概要は次の通り
実験するときは,顔の部分だけを切り出す作業をペイントソフトなどで行い,その後実験に進むと良いと思います.
次のプログラムは Google Colaboratory で動く(コードセルを作り,実行してください).
!pip3 install deepface !git clone --recursive https://github.com/serengil/deepface from deepface import DeepFace import pandas as pd from deepface import DeepFace import pandas as pd pd.set_option('display.max_rows', None) print(pd.get_option('display.max_rows')) df = DeepFace.find(img_path="./deepface/tests/dataset/img38.jpg", db_path="./deepface/tests/dataset", distance_metric='euclidean') a = df.sort_values('VGG-Face_euclidean') print(a) obj = DeepFace.analyze(img_path = "./deepface/tests/dataset/img38.jpg", actions = ['age', 'gender', 'emotion']) print(obj)
ディレクトリ内の全画像ファイルとの顔識別を行い,それぞれの顔画像ファイルとの距離を表示.
年齢,性別,表情の推定.
SCRFD (Sample and Computation Redistribution for Face Detection) 法によるマスク有り顔画像での顔検知.
ResNet (ディープニューラルネットワーク,画像分類や物体検知等に利用されている)の改良である. ResNet をベースとしているので,オブジェクトが大きく隠れていても,精度よく物体検出できる. さまざまな大きさの顔を精度良く検知できる工夫, 小さな顔についても精度よく検知できる工夫が行われている.
性別と年齢の推定.
CCRFD の説明:別ページ で説明を行っている.
Google Colaboratory やパソコンでの試用:別ページ で説明を行っている.
Chandrika Deb の顔マスク検出 (Chandrika Deb's Face Mask Detection) および顔のデータセット: 別ページ »で説明
(対面での活動は中止しました).
次のことをメールでお伝えしました.
テーマ決め(興味関心のあるテーマを自分で定める)
目的の設定(課題発見),調査,実験,結論,考察
分かりやすい説明(ワード,パワーポイント,ポスター)
質疑を通して,自分を高める(他の人の揚げ足を撮ったり,他の人の指摘をすることではない)
データなどの根拠を使って説明する
コロナ対策のため,今年は次のようにしたい
レベル1では,週1回または2回または3回の集合日を定め、仲間同士で自由な情報交換(研究のことも、研究以外のことも)。 集合日以外のときに研究室に来るのは問題ないこととする(健康状況調査を各自応じること)
ある人は、調査したり、私の研究室のホームページを見たりして学ぶ。ある人は、写真を撮影したりなどの活動を行う。 ある人はプログラムを作ったり、改良したり、他の人が作ったプログラムで学ぶ。ある人は、アイデアを考える
根拠の無い例:データや根拠なしで、意見やアイデアのみ
例えば「1000枚の画像があればうまく行きそう」というとき、実際に1000枚近い画像を自分で集めてチャレンジするか、 あるいは、1000枚も画像を集めずに済む別の研究テーマを考えていただくことになります。 研究では、データや根拠を大事にします。
自宅での活動も、行っていただいている(自宅の方が活動しやすいときがある)ことはありましょうが、 学校に来ての活動は、その良さがあります。集合日を定め、お集まりいただくことは続けます。
Chandrika Deb の顔マスク検出 (Chandrika Deb's Face Mask Detection) および顔のデータセット: 別ページ »で説明
本学からの発表
小寺裕也(コデラ ユウヤ,福山) 福山大学の三次元地図作成 佐藤彰紘(サトウ アキヒロ) (福山) 人物挙動分析のための屋内三次元地図の作成実験 新川涼太(シンカワ リョウタ,福山) 複数顔写真からの3次元モデル構成による3次元アバターの実現 石丸弘樹(イシマル ヒロキ) (福山) 部分隠蔽された顔画像での顔識別とランドマーク検出実験 寺田みのり(テラダ ミノリ,福山) 人工知能による顔情報処理システムと顔分析
13:30 集合、各自作業開始 14:00ごろ 金子から、簡単な説明(添付のPDFファイル2つと、パワーポイントファイルを使用) その後、各自、卒研を進め、パワーポイントを金子にメール提出(電子メールで)、解散 添付のパワーポイントは、先輩が作ったものです、見本として活用できます。 今日、登校できない人でも、パワーポイントを金子にメール提出(電子メールで)することを、各自で行っていただきます <説明内容> ・今後のスケジュール 週1回の登校、週2回の配信を再開する 27日のZOOMセミナー(他大学合同)は予定通り行う ・8月25日の進行 予定通り、各自、パワーポイントの準備。楽しんで行ってください チェックリスト 1.楽しむ 2.パワーポイントの見本を使う 3.たっぷり、ゆっくり説明する気持ちを持つ ・すべてを説明する気持ちをもつ ・能力向上のため、次を気を付ける 分かりやすい説明になっているか? を自己チェックする。 自分が行いたいこと、実験手順、実験結果、考察について、なるべく詳しく説明を書く。 「添付のワードファイル」の内容を、丸ごと、パワーポイントに載せるのは良いアイデアである。 中間発表のときに自分で答えた内容を、コピーして、整えるのは良いアイデアである。 語りかけるように、「相手が知らないだろう」と思われる難しい言葉などは、丁寧に説明する(語ってもよいし、資料に説明してもい) 4.パワーポイントをメール提出。明日の夜までにフォードバックする可能性があります(パワーポイントファイルを書き換えて返す場合があります)
追加実験の上,ワードの原稿を提出すること
https://rentai-chugoku.org/guideline.html で公開されている「Word 版」を使用.
中間発表で,再発表対象者は,連絡が行われました.
当初 Dlib で顔情報処理を実験していた. その結果を受けて,「部分隠蔽された顔画像を扱いたい」と仮に目的を定めたとする. その結果,Dlib でなく,部分隠蔽された顔画像に適する他の方法で実験する(そして,他の方法について,自分なりに調査する)ことがありえる.これは,研究テーマの正常な進化である(決して変更や失敗ではない).
以上を踏まえながら,部分隠蔽された顔画像に適する他の方法を実演する.
出典: How far are we from solving the 2D & 3D Face Alignment problem? (and a dataset of 230,000 3D facial landmarks), Adrian Bulat, Georgios Tzimiropoulos, https://arxiv.org/abs/1703.07332
特徴: Face Alignemnt Netword(FAN), LS3D-W デーセット(サイズ:230,000, ポーズ[-90, 90], 3D)を特徴とする。 なお,Dlib は,VGG データセット,scrub データセット,その他作者がインターネットから収集した顔画像合計約 3,000,000 を使用.
https://openaccess.thecvf.com/content_ICCV_2017/papers/Bulat_How_Far_Are_ICCV_2017_paper.pdf
次の Google Colaboratory のページを公開している.これで実演する.使用するときは, ランタイムのタイプを「GPU」にして実行してください.
https://colab.research.google.com/drive/1vDHvPQ1O52rdlmczrxBopK1Ke1yFvjBJ?usp=sharing
こうした積み重ねが,新しい考察の発見にもつながっていくものである. 考察は自由に考えるものであるが,研究は,どういう用途がありそうか? いままでの実験結果を踏まえ,さらに確認しないといけないことがありそうか? そして,別の方法も調査し,試すべきか? などを自由に考えるものである.
中間発表の総括,今後のスケジュールなど
次を説明: [PDF ファイル], [パワーポイントファイル]
写真のテクスチャマッピングを行う. 写真,Blender のシェーダーの設定,できた画像は次の通りである.
【サイト内の関連ページ】
全員が e ラーニングの受講を終えました.ありがとうございました.
全員が中間発表を開始しました.
3次元データベース,写真からの3次元再構成(写真測量)(Meshroom を使用)についての参考資料です(以前,案内したものと同じです).興味のある人は,再びでも,視聴ください.
3次元点群の表示,ダウンサンプリング,Convex hull, DBSCAN クラスタリング,平面のセグメンテーションの例
中間発表ポスターの書式: https://cerezo.fukuyama-u.ac.jp/ct/course_688085_rptadmpreview_762520
人工知能の代表機能として, 画像関係では,画像分類,物体検出,顔検出,トラッキング・ビジョン,顔のランドマーク検出などがあります.
次のページを見てください.
https://www.kkaneko.jp/ai/win/pythondlib.html
Dlibを使っています. Windowsのパソコンでも,少しの準備で動かすことができるものです(準備は,このページの中に書いています). このページに実行結果を載せています.
画像分類,物体検出,顔検出,トラッキング・ビジョン,顔のランドマーク検出 がどういうものだったかを再確認できると思います.
顔検出,顔のランドマーク検出には,今回の Dlib を,私はお勧めします.別のソフトウェアと組み合わせて,顔識別(2つの顔写真が同一人物かの判定)もできます.
画像分類は,以前見せた MobineNetV2 などの方が,私は,お勧め したいと思います.(人によって判断が分かれると思います). https://www.kkaneko.jp/ai/imclassify/cnncifar10.html
物体検出は,他の手法などがあります.別の機会に,可能だったら紹介します.
ソースコード
https://colab.research.google.com/drive/1epOlnH3HW8nq3A2Oek4FyFnhgaD_cqWP#scrollTo=B8PZTOpcYXwF
資料の URL: https://www.kkaneko.jp/pro/colab/colabwebcam.html
この時点では,手元のパソコンの Web ブラウザで,実質 JavaScript のプログラムが動いている.
顔のランドマークと顔識別. dlib, GitHub の ageitgey/face_recognition を使用
https://colab.research.google.com/drive/1epOlnH3HW8nq3A2Oek4FyFnhgaD_cqWP?usp=sharing
添加学習について.
ニューラルネットワークを分類に使うとき,最終層のニューロンの数は,分類数に等しい. 学習済みのニューラルネットワークを使うとき,分類数が違うなどの理由で,最終層を取り除いて使うことがある.最終層を取り除いた残りが,「自分が分類したい画像でうまく動くか」の事前確認は簡単なプログラムですばやく行うことができる.
画像データの増量
ニューラルネットワークで画像分類を行う.画像データの増量がどういうものか, 画像データの増量により分類精度が改善,過学習が改善することを見てもらう
https://www.kkaneko.jp/ai/imclassify/augment.html
画像分類での,学習済みモデルのダウンロードと使用
ImageNet (1000万枚以上の画像データ,約20,000種類の分類済み) で学習済みの学習済みモデルのダウンロード使用する
ニューラルネットワークの用途は
分類は、いろいろ種類があるが、「画像分類」について、一連の流れを説明する。
流れ:ニューラルネットワークの作成 ー> 学習 ー> 検証
この流れは、ニューラルネットワークを使い学習するというときは、だいたい同じである。
画像分離のニューラルネットワークは、既存の研究として CNN がある。CNN にも様々種類がある。
さまざまある CNN は、インターネットでダウンロードして使うことができる。
学習済みの CNN を、インターネットでダウンロードして使うこともできる。
中間発表 各自の活動 ・テーマを決める ・仮説、実験、検証 ・自分の研究の「基礎」は自分で理解し、「基礎」が何なのか、自分なりに調べたことも発表に含めてよい ・Google Colab 等を用いて実験にチャレンジ。「うまくいかないこと」に直面したら、それがどういう問題で、どう解決できそうか、という考察が大事。仲間や先生に助けを求めてみることも。 ・ポスターを作り、セレッソでアップロード(予定) ・先生から質問が来るので答える(予定) 学会発表 各自の活動 ・仮説、実験、検証 ・発表持ち時間の範囲で、自分の研究について発表する
ニューラルネットワークの学習の基礎
エポック: 同一の教師データを繰り返し使用して学習.1回しか使わない場合は学習不足の問題がありえる.そのことを解決.
過学習(オーバーフィットともいう): 教師データの繰り返し使用により,精度は向上するが,検証データでの精度は向上しないか低下.
過学習の可能性があるため,必ず,検証データでの精度の検証を行う
過学習の解決
研究の基礎
研究室の諸君による提案とフィードバック
皆さんの検討を誇らしく思います。
皆さんの提案は、それぞれ、個性あり、特色のあるものでした。 各人の提案の個性を尊重したいため、私が、そのままコピー&ペーストすることは避けます。どのような提案がなされたかの内容を、次のようにまとめ、皆さんとシェアしたいと思います。
人工知能の良さ: コンピュータに学習能力等を持たせる技術。人間の想定を超えた学習がありえる。人工知能の学習のためには、大量のデータが必要であるし、学習に適した優れたデータを必要とする。
宿題について
各自「研究したいこと」を行うには、何の技術を使いますか。そして、その技術がうまく動く「基礎」は何でしょうか?
次の問いを、金曜日13時30分までの宿題とします。
各自「研究したいこと」を行うには、何の技術を使いますか。そして、その技術がうまく動く「基礎」は何でしょうか?
各自の研究テーマの確認を行いました.
人工知能応用,3次元データベースの分野でした.
各自が自己考察を開始するきっかけとなることも願っています.
皆さんの不安がないこと.楽しく(無用なストレスなく)実験や調査などの取り組みができること.コロナ禍に正しく対応すること.年間スケジュールを再確認すること.卒論のテーマについて,各自で考察すること.
連絡事項.本学は当面の間,レベル2が継続します. 卒業研究での学びが最大限できますよう,次のように措置します.
オープンな世界地図 OpenStreetMapを Blender で利用し,3次元地図を作る.
OpenStreetMap のURL: https://openstreetmap.jp#zoom=7&lat=38.06539&lon=139.04297&layers=B0FF
資料:https://www.kkaneko.jp/cc/dbenshu/db1.pdf
大量データの管理.
数十万行のデータを扱うという機会は,よくあります.Excel で数十万行のデータを扱おうとすると,ちょっとした処理で1時間近くかかった,ということもありえます.
そこで,リレーショナルデータベースが役に立ちます.
リレーショナルデータベースは授業で学んだ,SQL は独特,と思っている人もいるかもしれません.
実演では,150行のCSV ファイル(カンマ区切りファイル)を,リレーショナルデータベースに取り込むことがとても簡単にできることを示します(将来,大量データを扱うことになったときに役に立つスキルです).
その資料
Python について.Python は簡単に使うことができるプログラミング言語.卒業研究でも便利に使っていきたい.
Python と Google Colaboratory: Python 入門(全14回,Python Tutor と CodeCombat を使用): 別ページ »で説明ている
【サイト内の関連ページ】
人工知能でできることとして,今まで見ていただいた「分類」のほかに,「一般物体検出」があることを見ていただきます.
TensorFlow 2 Object Detection API (オブジェクト検出 API),TensorFlow のチュートリアルのプログラムを使用
このプログラムでは,CenterNet HourGlass104 1024x1024 を用いている.
そして,COCO データセットを用いて事前学習済みのものを用いている.
人工知能の学習では「データのデータ拡張」が必須である(教師データを数万以上に増量する必要がある)
ことを見ていただきます
増量前
増量後
2クラス分類,モデルの作成と学習と検証(TensorFlow,Keras,IMDb データセットを使用)
オープンデータ(建物や地形のオープンデータ)を活用して,3次元地図を作成する.
(データの著作権は製作者にあり,適切な利用を心がけること)
ニューラルネットワークの学習を行うときのポイント:データセットを準備する.そして,検証を行う(学習不足や過学習がないことを確認する).
簡単なプログラムで動くことを見てもらう.他のプログラムの中に組み込んで使うことも簡単にできるということはお伝えしておく.
Google Colaboratory でのオンラインでの実行など
OpenPose: 人体のポーズ,指の形などをコンピュータが読み取る. 様態や人間の意図をコンピュータが判断できる技術の基礎になりえる.
自分のパソコンでもインストールできます
(研究室のパソコンでインストール済みであれば,そのまま使う.インストールがまだであれば,インストールする)
人体のポーズの認識、指の動き等の認識
資料:OpenPose による姿勢推定(Windows 上)
資料の「CPU 版を使う場合」は行わない(資料のその部分は飛ばしてください)
手や顔にモザイクをかける
例1:コンピュータが人数カウント 例2:コンピュータがポーズを読み取り、人間の意図を推定 例3:コンピュータが指の動きを読みとり、人間の意図を推定
上で定めた「実験テーマ」で実験できるだけのデータを、どのようにして集めますか? 実際に集め、そして、考察を行う。考察とは、次のことを考えるプロセスである
同意できる場合には、実験データを学内もしくは世界に公開します
説明資料: Dlib の機能概要 [PDF], [パワーポイント]
顔検出、顔のアラインメント、顔認識、表情や顔の向きの観測
認証、人数カウント、人流計測、集団様態分析のベースとなる技術
Dlibは、上で示した「顔認識」の基礎でもある
なお,表示結果では,赤いマークは目の下の中央、緑のマークが瞳孔
ガイダンス
人工知能応用、データベース応用、データベース高速処理、3次元データベース、ビッグデータ処理(センサーによる車両や人流の観測と把握)に関する分野
科研費多数、研究費のべ1億円以上、論文等数十、教科書3冊、授業担当のべ約20以上、学会や国レベルの委員等の実績、卒論・修論・博士論文実績数十名以上、Webページでの広報等: https://www.kkaneko.jp、YouTubeチャンネルでの広報等
3次元データベース,写真からの3次元再構成(写真測量)(Meshroom を使用) [PDF], [パワーポイント]
公開されている次のソフトウェアを使用(利用条件等は,利用者で確認すること)