CreateMLで2種類の画像を見分けられなかった話
ポケモンGOでエクセレントスローの瞬間って気持ちいいよね?
↑こういうの。カーブスローでエクセレントって気持ちいい!
なので、その部分ばかりを集めた動画を作成しようと数ヶ月かけてたくさんの動画を溜めてる。
そろそろ編集しようと思ったんだけど、結構大量にあるので大変。
そこで、こういう動画の中でExcellent!と表示された瞬間を含む数秒を探し切り取る、というのを自動化しようと思った。
CreateMLを使い、動画内の画像にExcellent!と表示されてるか否かを判断するするよう学習させたい。
そのためにはまず学習用の画像が必要、ということでサイズが300x300の画像をそれぞれ651枚ずつの計1,302枚を用意した(※1)。

↑一つはExcellent!という文字がない画像。

↑動画内にはいろんな場面が含まれる。

↑もう一つはExcellent!という文字を明らかに(人間の目で見て)含む画像。

↑先ほどのほどいろいろあるわけではないが、時間帯やタイミングなどでいろんな画像になる。
この二つを判別させたいわけだ。
Create MLで学習させmlmodelファイルを得る
↑これと同様にして学習させる。今回の場合はCrop, Expose, Noiseにチェックを入れた↓

学習開始から2時間28分で学習完了。

↑その結果がこれ。
Training 72%
Validation 68%
別途用意したテストデータ(40枚)に対して55%て、、、
全然ダメじゃないか、、、😩
データ数不足?いや、動物を見分けるのにもっと少ないサンプルでできてる例(※2)がある。
CropやExposeを有効にしてるからもっと学習したらよくなるんじゃないの?などと考えたりしていたのだが、、、
Create MLでMNISTの分類器を作ってみた - Galapagos Blog
↑こちらを読んでると、今回の課題自体がCreateMLに向いていないのか?という気がする。CreateMLは転移学習らしいので、形状を見分けるような課題に対してはいい結果がでるが、今回のような文字の有無を見分けるという課題にはそぐわないのかもしれない。
※1 機械学習用の画像作成のために、動画のある場所からある場所までで画像を作成するmacOSアプリを自作した。

↑こんな感じで1がExcellent!が出ているところで、0は出ていないところ(画像は撮影用なのでずれてるけど)。動画の全体の中でExcellent!が表示されている時間は短いので、0に相当する部分は間引いて両方の枚数が同じになるようにしている。
※2 参考サイト
Create MLで簡単に機械学習を体験する - Qiita
CreateMLを使ってさらっと画像認識させてみた - Qiita
↑こういうの。カーブスローでエクセレントって気持ちいい!
なので、その部分ばかりを集めた動画を作成しようと数ヶ月かけてたくさんの動画を溜めてる。
そろそろ編集しようと思ったんだけど、結構大量にあるので大変。
そこで、こういう動画の中でExcellent!と表示された瞬間を含む数秒を探し切り取る、というのを自動化しようと思った。
CreateMLを使い、動画内の画像にExcellent!と表示されてるか否かを判断するするよう学習させたい。
そのためにはまず学習用の画像が必要、ということでサイズが300x300の画像をそれぞれ651枚ずつの計1,302枚を用意した(※1)。

↑一つはExcellent!という文字がない画像。

↑動画内にはいろんな場面が含まれる。

↑もう一つはExcellent!という文字を明らかに(人間の目で見て)含む画像。

↑先ほどのほどいろいろあるわけではないが、時間帯やタイミングなどでいろんな画像になる。
この二つを判別させたいわけだ。
Create MLで学習させmlmodelファイルを得る
↑これと同様にして学習させる。今回の場合はCrop, Expose, Noiseにチェックを入れた↓

学習開始から2時間28分で学習完了。

↑その結果がこれ。
Training 72%
Validation 68%
別途用意したテストデータ(40枚)に対して55%て、、、
全然ダメじゃないか、、、😩
データ数不足?いや、動物を見分けるのにもっと少ないサンプルでできてる例(※2)がある。
CropやExposeを有効にしてるからもっと学習したらよくなるんじゃないの?などと考えたりしていたのだが、、、
Create MLでMNISTの分類器を作ってみた - Galapagos Blog
↑こちらを読んでると、今回の課題自体がCreateMLに向いていないのか?という気がする。CreateMLは転移学習らしいので、形状を見分けるような課題に対してはいい結果がでるが、今回のような文字の有無を見分けるという課題にはそぐわないのかもしれない。
※1 機械学習用の画像作成のために、動画のある場所からある場所までで画像を作成するmacOSアプリを自作した。

↑こんな感じで1がExcellent!が出ているところで、0は出ていないところ(画像は撮影用なのでずれてるけど)。動画の全体の中でExcellent!が表示されている時間は短いので、0に相当する部分は間引いて両方の枚数が同じになるようにしている。
※2 参考サイト
Create MLで簡単に機械学習を体験する - Qiita
CreateMLを使ってさらっと画像認識させてみた - Qiita
スポンサーサイト