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
780
0
Share
呪符式高速詠唱シェル芸 3
第65回シェル芸勉強会のLTで使った資料です
xztaityozx
July 23, 2023
More Decks by xztaityozx
See All by xztaityozx
音声合成してみよう
xztaityozx
2
1.9k
Other Decks in Programming
See All in Programming
t *testing.T は どこからやってくるの?
otakakot
1
660
実用!Hono RPC2026
yodaka
2
230
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
430
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
100
Server-Side Kotlin LT大会 vol.18 [Kotlin-lspの最新情報と Neovimのlsp設定例]
yasunori0418
1
150
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
140
Don't Prompt Harder, Structure Better
kitasuke
0
770
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
190
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
140
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
250
[RubyKaigi 2026] Require Hooks
palkan
1
200
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
160
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.9k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
160
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
380
The Limits of Empathy - UXLibs8
cassininazir
1
300
Scaling GitHub
holman
464
140k
The Curious Case for Waylosing
cassininazir
0
300
How GitHub (no longer) Works
holman
316
150k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
520
Context Engineering - Making Every Token Count
addyosmani
9
830
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
310
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 | |_________| ∧∧ || ( ゚д゚)|| / づΦ