Slide 1

Slide 1 text

ハムスター検出器を 1日で作ってみた 2018.12.22 NGK2018 @amay077

Slide 2

Slide 2 text

About Me • 奥山裕紳 - @amay077 (あめい) • 業務系プログラマ • 愛知県東部で働くフルリモートワーカー • Android, iOS, Xamarin, C#, Kotlin, TypeScript … • … AWS, Azure, Firebase, Salesforce, Geolocation Work for is silver sponsor of NGK2018B

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

ハムスターかわいい ニコ生で放送されてたのを観て癒やされた ↓ 実際飼うことにした ↓ 自分も配信してみよ ↓ デビュー!

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

なぜかキッズの溜まり場と化し、 広告収益が1万円/月を超えた ことも(副業:YouTuber)

Slide 8

Slide 8 text

しかし…

Slide 9

Slide 9 text

ハムスターは一日のほとんどを 巣穴の中で過ごす(via Wikipedia) ↓ いつ観ても寝ている ↓ 「つまらん」

Slide 10

Slide 10 text

そこで… ↓ 「 AI画像認識」で、ハムスターが 「寝ているか起きているかを検出」 し、起きていたら 「視聴者に通知」しよう

Slide 11

Slide 11 text

機械学習とかよくわからないので Azure Custom Vision 使いまーす

Slide 12

Slide 12 text

1. 配信PCに映ってるカメラ映像を30秒ごとにスク ショ 2. 各画像に「起きてる」「寝てる」を目視でタグ 付け 3. 半分を「教師データ」に、もう半分を「検証用 データ」に 4. Custom Vision に教師データをアップして学習 5. 検証データで評価 起 起 起 寝 寝 寝 起 起 起 寝 寝 寝 教師データ 検証用データ 起 寝 寝 教師データ 起 起 寝 検証用データ or 起 寝

Slide 13

Slide 13 text

1. 配信PCに映ってるカメラ映像を30秒ごとにスク ショ 2. 各画像に「起きてる」「寝てる」を目視でタグ 付け 3. 半分を「教師データ」に、もう半分を「検証用 データ」に 4. Custom Vision に教師データをアップして学習 5. 検証データで評価 起 起 起 寝 寝 寝 起 起 起 寝 寝 寝 教師データ 検証用データ 起 寝 寝 教師データ 起 起 寝 検証用データ or 起 寝 Custom Vision が 4. でやってくれる っぽかったのでやめた 同上

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

画像収集とタグ付け • 定期的にスクショを撮るフリーソフトで • 30秒ごと • PM6:00 ~ 翌AM9:00(15時間) • 加工は一切なし • 計1,943枚 を目視でタグ付け • 「寝ている」 – 1,717枚 • 教師データにしたのは200枚程度(データ数均衡保持) • 「起きている」 – 226枚

Slide 16

Slide 16 text

結果

Slide 17

Slide 17 text

Custom Vision の Performance によると • 本当に「起きてる」画像の94%が「起きてる」と判定された • 「起きてる」と判定された画像の69%が本当に「起きてる」画像だった 「起きているところを見逃したくない」 というニーズならこれはヨシ!

Slide 18

Slide 18 text

もうちょっと精度上げられないかな… 加工、してみますか

Slide 19

Slide 19 text

寝床に居るか居ないか だけで 判別すればいいよね? 全画像を、右上から w:500px, h:400px でトリミング ↓

Slide 20

Slide 20 text

トリミングデータでの Performance • 本当に「起きてる」画像の100%が「起きてる」と判定された • 「起きてる」と判定された画像の94%が本当に「起きてる」画像だった

Slide 21

Slide 21 text

これから FaaSで定期的に「起きてる判定」をして、 YouTube ライブチャットに投稿します 1. 配信PCからクラウドストレージに画像UP 2. FaaS(Azure Function)で画像Trimして 3. Cognitive Service API で起きてる判定して 4. 結果をYouTubeライブチャットに投稿 課題 • 掃除した後、「同じ場所を寝床にするか分から ない」

Slide 22

Slide 22 text

タグ付けによって得た知見 ハムスターは1日(24時間)の内、 3時間しか巣外活動しておらず、 また一回の活動時間は 10分未満 が ほとんどである。 ペットはその生態に合わせて、 ムリをさせないように飼いましょう

Slide 23

Slide 23 text

ありがとうございました @amay077 ’19/2/7 or 8、DroidKaigi2019 で X-Plat の話しますのでよろ