strelka_dogのブログ

徒然なるままに心に移り行くよしなしごとをそこはかとなく書き尽くるブログ

正の字を自動で認識させた話

f:id:strelka_dog:20200322234325p:plain
突然ですが上の図が人生の時間の内訳です。

「実情と違う」と文句があるかもしれません。
聞きましょう、
確かに睡眠時間は人それぞれですね。
睡眠時間は一日に半日近く眠る人や逆にほとんど眠らないって人もいると思います。
僕なんかは最近生活リズムが乱れて睡眠時間が変則的です。
起床時間がどんどん遅くなっています。
バイトがあるおかげでかろうじで昼夜逆転はしてません。
日課だったニチアサの視聴が疎かになってます。
スタートゥインクルプリキュアはほぼ全話リアルタイムで観ていたにもかかわらず、
ヒーリングっど プリキュアはひなたちゃんがプリキュアになった回で記憶が終わってます。
それだけしか観てないので今さら続きを見る気にもなりません。
もっと遅い時間のプリチャンはちゃんと追えてます。
つまり、何もかんもコロナが悪い。

そういうわけで人生の時間をより効率的に、睡眠時間をしっかりとるために
正の字を自動で認識するプログラムを作ってみました。

画線法とは

𝍲𝍳𝍴𝍵𝍶
環境によっては見えないかもです。というか2018年のUnicode 11で採用されたこんなマイナー文字コード正しく表示される方がおかしいよね。
僕の環境では表示されません。
表示されている人はそれ見て下さい。
お馴染みのあれです。
そうです。
小学校の投票で名前の下に書かれる奴です。
自分の名前の下には自分で入れた一票、「一」しか書かれないやつです。
表示されない人は想像してください。
ほら見えてきたでしょ

学習データの用意

昨今は便利ですね。Googleの画像検索で調べれば大量の画像データが得られます。
後はAPIを叩くなりスクレイピングするなり自由です。
さぁやってみましょう
f:id:strelka_dog:20200331232555p:plain
あれっ?思ってたのと違う。
これじゃ手書きの「正」の字集まらないじゃん。

どうしよ、

よし、

書こう。

f:id:strelka_dog:20200331232957p:plain
書きました。
それはもう大量に書きました。
友人に
「和風ホラーに出てきそう」
と言われました。
帰省した時に黙々と書いてたら弟に
「何か呪ってるのかと思った」
と言われました。
背景や使用しているペンが同じなのでデータの多様性が無いですが、まぁお遊びなので許して下さい。

ラベル付け

こういうので一番面倒な作業が教師データのラベル付けだとはよく聞く話ですね。
独自の判別機を作るにはラベル付けは当然人間がやらないといけません。
そんなただでさえ面倒くさいラベル付けを少しだけやりやすくするためにこれを利用しました。
github.com
readmeに書いてある通りにすると使えます。
あとはひたすら正の字を囲んでいきました。

特徴量の抽出

これをOpenCVで特徴量を抽出します。
時間が無いのでここでの詳しい方法は省略します。

結果

f:id:strelka_dog:20200401000414j:plain
認識出来てますね!これで人生の時間三分の二を有効活用できます!

ちなみに

最初のグラフはべつやくメソッドリエーターで作りました。
こんな面白いソフトあるんですね。
uwa.potetihouse.com