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
呪符式高速詠唱シェル芸 3
Search
xztaityozx
July 23, 2023
Programming
0
740
呪符式高速詠唱シェル芸 3
第65回シェル芸勉強会のLTで使った資料です
xztaityozx
July 23, 2023
Tweet
Share
More Decks by xztaityozx
See All by xztaityozx
音声合成してみよう
xztaityozx
2
1.7k
Other Decks in Programming
See All in Programming
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
100
Deep Dive into ~/.claude/projects
hiragram
8
1.4k
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.3k
Java on Azure で LangGraph!
kohei3110
0
170
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
320
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
180
エラーって何種類あるの?
kajitack
5
300
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
210
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
4
930
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
760
Team operations that are not burdened by SRE
kazatohiei
1
190
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
350
Featured
See All Featured
Music & Morning Musume
bryan
46
6.6k
Git: the NoSQL Database
bkeepers
PRO
430
65k
BBQ
matthewcrist
89
9.7k
What's in a price? How to price your products and services
michaelherold
246
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
940
A Tale of Four Properties
chriscoyier
160
23k
GraphQLとの向き合い方2022年版
quramy
47
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Transcript
呪符式高速詠唱シェル芸 3 たいちょー
みなさん#!/bin/bash(こんにちはの意) たいちょーです twitter: @xztaityozx_001 GitHub: xztaityozx 好きな言語: C#, Go
今回話すこと 多数決で読み取り精度をあげようとした話
前回までのあらすじ
1. yukichantという文字列⇔呪文変換ツールがあった $ echo シェル芸 | chant 羅の烙印を底より守る。沈み世界を呼び声の砕ける。引きを肉より災いを成り。守り。
2. 詠唱が難しいので前もって書いておくことにした echo unko の呪文
3. OCRの気持ちになり切れず修行不足という結論になった
4. ある度修正できるようにした 誤認識されやすい文字のマッピングを書いて修正させる
5. でも本番では失敗した もっと精度を上げたい…!
いままでの仕組みのつらみ 今の仕組み i. OCRで読み取り ii. 誤認識を修正 iii. yukichant でデコード iv.
コマンド実行 単一のOCRエンジンの出力をそのまま使っていました なのでそのOCRエンジンが間違えたらおしまいなわけです
複数個に増やせばいい のでは?
複数個OCRの多数決を 取ってみる 1. N個のOCRがそれぞれ読み取り 2. 読み取り結果を審議 a. 信頼度を計算し文字に投票 b. 得票数が一番多い文字を採用
3. 2を繰り返して元の文章を復元
多数決を取るやつ Magi OCRの結果をまとめて多数決を取るやつを作ります 信頼度は以下の項目をもとに計算 OCRの読み取り精度(体感) yukichantに登場する文字かどうか 文字数は長い方にあわせる 正しい長さの計算方法がわからん Magi 東方の三賢者ってやつらしい
正直エヴァ参考にした
三賢者の紹介 Tesseract OCR オープンソースなOCRエン ジン 読み取り精度はそこそこ 追加学習できるけど今回は 間に合わなかった
三賢者の紹介 Windows OCR Windows組み込みのやつ .NET系なら簡単に扱える 読み取り精度は謎
三賢者の紹介 Google Cloud Vision API Google Cloudで提供されて るOCRサービス Google Driveのやつより簡
単に使える なんか読み取り精度すごい 従量課金
実装しましょう
できました 以前のライブコーディングで書いたデータで試してみます
読み取れました
多数決の過程 緑が採用、赤が不採用な文字 なんかTesseractが完璧に読み取れているんですが…なんで…。
ライブコーディングをやります 今度こそ魔術師になるんだ 誘惑の邪気を魂すら借り。業火に羅の星と失え。血を果たせ。
まとめ OCRをN個使ってどれかが間違っても他で補えるようにしました 読み取り結果を多数決とりました 前回失敗したやつは補正できました
$ owari kan -ga xztaityozx | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | 終 | |
制作・著作 | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ | | xztaityozx | |_________| ∧∧ || ( ゚д゚)|| / づΦ