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
750
呪符式高速詠唱シェル芸 3
第65回シェル芸勉強会のLTで使った資料です
xztaityozx
July 23, 2023
Tweet
Share
More Decks by xztaityozx
See All by xztaityozx
音声合成してみよう
xztaityozx
2
1.8k
Other Decks in Programming
See All in Programming
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
200
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
1
200
あのころの iPod を どうにか再生させたい
orumin
2
2.4k
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
4
2.7k
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
130
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
2
460
[DevinMeetupTokyo2025] コード書かせないDevinの使い方
takumiyoshikawa
2
280
パスタの技術
yusukebe
1
370
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
12
2.6k
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
790
ワープロって実は計算機で
pepepper
2
1.3k
令和最新版手のひらコンピュータ
koba789
13
7.6k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Rails Girls Zürich Keynote
gr2m
95
14k
Facilitating Awesome Meetings
lara
54
6.5k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
4 Signs Your Business is Dying
shpigford
184
22k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
The Invisible Side of Design
smashingmag
301
51k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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 | |_________| ∧∧ || ( ゚д゚)|| / づΦ