Slide 1

Slide 1 text

呪符式高速詠唱シェル芸 3 たいちょー

Slide 2

Slide 2 text

みなさん#!/bin/bash(こんにちはの意) たいちょーです twitter: @xztaityozx_001 GitHub: xztaityozx 好きな言語: C#, Go

Slide 3

Slide 3 text

今回話すこと 多数決で読み取り精度をあげようとした話

Slide 4

Slide 4 text

前回までのあらすじ

Slide 5

Slide 5 text

1. yukichantという文字列⇔呪文変換ツールがあった $ echo シェル芸 | chant 羅の烙印を底より守る。沈み世界を呼び声の砕ける。引きを肉より災いを成り。守り。

Slide 6

Slide 6 text

2. 詠唱が難しいので前もって書いておくことにした echo unko の呪文

Slide 7

Slide 7 text

3. OCRの気持ちになり切れず修行不足という結論になった

Slide 8

Slide 8 text

4. ある度修正できるようにした 誤認識されやすい文字のマッピングを書いて修正させる

Slide 9

Slide 9 text

5. でも本番では失敗した もっと精度を上げたい…!

Slide 10

Slide 10 text

いままでの仕組みのつらみ 今の仕組み i. OCRで読み取り ii. 誤認識を修正 iii. yukichant でデコード iv. コマンド実行 単一のOCRエンジンの出力をそのまま使っていました なのでそのOCRエンジンが間違えたらおしまいなわけです

Slide 11

Slide 11 text

複数個に増やせばいい のでは?

Slide 12

Slide 12 text

複数個OCRの多数決を 取ってみる 1. N個のOCRがそれぞれ読み取り 2. 読み取り結果を審議 a. 信頼度を計算し文字に投票 b. 得票数が一番多い文字を採用 3. 2を繰り返して元の文章を復元

Slide 13

Slide 13 text

多数決を取るやつ Magi OCRの結果をまとめて多数決を取るやつを作ります 信頼度は以下の項目をもとに計算 OCRの読み取り精度(体感) yukichantに登場する文字かどうか 文字数は長い方にあわせる 正しい長さの計算方法がわからん Magi 東方の三賢者ってやつらしい 正直エヴァ参考にした

Slide 14

Slide 14 text

三賢者の紹介 Tesseract OCR オープンソースなOCRエン ジン 読み取り精度はそこそこ 追加学習できるけど今回は 間に合わなかった

Slide 15

Slide 15 text

三賢者の紹介 Windows OCR Windows組み込みのやつ .NET系なら簡単に扱える 読み取り精度は謎

Slide 16

Slide 16 text

三賢者の紹介 Google Cloud Vision API Google Cloudで提供されて るOCRサービス Google Driveのやつより簡 単に使える なんか読み取り精度すごい 従量課金

Slide 17

Slide 17 text

実装しましょう

Slide 18

Slide 18 text

できました 以前のライブコーディングで書いたデータで試してみます

Slide 19

Slide 19 text

読み取れました

Slide 20

Slide 20 text

多数決の過程 緑が採用、赤が不採用な文字 なんかTesseractが完璧に読み取れているんですが…なんで…。

Slide 21

Slide 21 text

ライブコーディングをやります 今度こそ魔術師になるんだ 誘惑の邪気を魂すら借り。業火に羅の星と失え。血を果たせ。

Slide 22

Slide 22 text

まとめ OCRをN個使ってどれかが間違っても他で補えるようにしました 読み取り結果を多数決とりました 前回失敗したやつは補正できました

Slide 23

Slide 23 text

$ owari kan -ga xztaityozx | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | 終 | | 制作・著作 | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ | | xztaityozx | |_________| ∧∧ || ( ゚д゚)|| / づΦ