Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【授業スライド】教員リムーバー
Search
Yuiga Wada (和田唯我)
October 05, 2022
Technology
0
33
【授業スライド】教員リムーバー
慶應義塾⼤学 B3 和田唯我 / Yuiga Wada
-
About me
-
Blog
Yuiga Wada (和田唯我)
October 05, 2022
Tweet
Share
More Decks by Yuiga Wada (和田唯我)
See All by Yuiga Wada (和田唯我)
機械学習基礎 TAレクチャー回「学部二年生はどう生きるべきか」
yuigawada
1
27
【AIC】Image Captioningにおける自動評価の最前線
yuigawada
0
10
未踏ブースト会議資料
yuigawada
0
81
論文速読24
yuigawada
0
37
【授業スライド】Well-beingとカルトの関係
yuigawada
0
240
論文速読23
yuigawada
0
130
自己紹介スライド
yuigawada
0
460
【ミニハッカソン】 arXiv Slider
yuigawada
0
300
【輪読資料】多次元正規分布でGibbs Sampling (情報工学機械学習9.3.4)
yuigawada
0
36
Other Decks in Technology
See All in Technology
Log Analytics を使った実際の運用 - Sansan Data Hub での取り組み
sansantech
PRO
0
120
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
250
事業を差別化する技術を生み出す技術
pyama86
2
540
Snowflake ML モデルを dbt データパイプラインに組み込む
estie
0
120
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
540
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
230
困難を「一般解」で解く
fujiwara3
8
2.3k
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
300
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
210
x86-64 Assembly Essentials
latte72
4
470
JavaにおけるNull非許容性
skrb
2
2.7k
Amazon Aurora のバージョンアップ手法について
smt7174
2
190
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Done Done
chrislema
182
16k
Rails Girls Zürich Keynote
gr2m
94
13k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Six Lessons from altMBA
skipperchong
27
3.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Automating Front-end Workflow
addyosmani
1369
200k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Transcript
クラウドコンピューティング実験 『教員リムーバー』 4班 • XXXXXXX 和田唯我 • YYYYYYY • ZZZZZZZ
• UUUUUU
『教員リムーバー』 ・自動で板書を撮り, webから各授業の板書を閲覧することができるシステム ・画像処理で教員を抹消する!! (opencv + numpy)
特徴 ・時間割から板書を閲覧できる ・画像処理で教員を抹消する!! (opencv + numpy) ・PDF化して板書をダウンロードできる
センシング概要
アーキテクチャダイアグラム
Demo
None
None
None
None
アーキテクチャダイアグラム
センシング
システムで用いたセンサ USBカメラ 障害物センサ ボタンセンサ
センシング • Button 起動 • IR Obstacle Avoidance Module(障害物センサ) 物体の有無を検知
◦ 物体(黒板消し)有→60秒ごとに撮影 ◦ 物体(黒板消し)無→5秒ごとに撮影 撮影した画像をMQTTで送信 黒板消し有 黒板消し無
MQTTでの通信 ・画像サイズを1280×720と指定したので、1度にデータを送れない(128 kBが上限らしいです) →base64にして画像を適当なサイズにばらして送信し、いったんS3に格納 →最後のデータが送られてきたらS3のデータを集めて、再構築しS3保存 ・通信がうまくいかないときがある →データの再送
カメラ 得られた画像を4種類に分類 ・background→ 起動時に1枚撮影 ・normal → 黒板消しがある状態で60秒ごとに撮影 ・erasing → 黒板消しがない状態で5秒ごとに撮影
・finish → 黒板消しが置かれたタイミングで撮影
Web: index (時間割)
None
Web: index (時間割) • 教室名を指定して, DynamoDBから時間割を取得 • 授業名からsid(後述)を計算し, 板書表示用のページ(presenter)に飛ばす (CSS-FrameworkはBulmaを使用)
Web: index → presenter name: 授業名 sid: 授業名をutf-8→SHA256でハッシュ化 ⇒ Query-StringとしてURLに付加
Web: presenter (板書表示)
None
Web: presenter (板書表示) • Web上にアップロードされた画像ではないため、ファイルの場所を指定できない → 画像のバイナリデータをbase64でエンコード → imgタグのsrc要素にエンコード結果を指定すると画像が表示できる •
画像をスライドにして表示 → スライダーが作れるJavaScriptライブラリ(Swiper)を利用 • Download!ボタンを押すと、PDF化 → 極力lambda上でやりたくない ⇒ javascriptで行う. (jsPDF)
Download: 教員のいない板書
画像処理 (CloudWatchで定期実行)
画像処理: 背景差分 背景差分 Gray Scale
画像処理: 背景差分 背景差分 (gray) 収縮 (次のスライド)
画像処理: モルフォロジー変換 収縮 (Erosion) → 黒板の文字だけ消す 膨張 (Dilation) → 線を潰して面積を増やす
画像処理: 教員抹消 一次元に写像. 教員を抹消するmaskを生成
画像処理 ハマった点 • Lambda上でOpenCVを使うとドツボにハマる → opencv-python はOpenCV のビルドが必要 → ビルド環境と実行環境を一致させる必要がある
( localでpip&zipだけではダメ) ⇒ Docker上でOpenCVをビルド ⇒ ビルドしたOpenCV + numpy + opencv-pythonを zipでlambdaに. ⇒ LambdaのLayer (Lambda Layers)を作成
ありがとうございました ページのURL: https://uaby7jdky5.execute-api.us-east- 1.amazonaws.com/index