Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
もっと真っ黒なQRコードは作れないのか
Search
1pp0
July 18, 2024
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
もっと真っ黒なQRコードは作れないのか
1pp0
July 18, 2024
More Decks by 1pp0
See All by 1pp0
真っ黒なQRコードは本当に作れないのか
1pp0
0
190
Placenoteで簡単共有AR
1pp0
0
2k
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
A Soul's Torment
seathinner
8
3.6k
Skip the Path - Find Your Career Trail
mkilby
1
230
A Modern Web Designer's Workflow
chriscoyier
699
190k
A better future with KSS
kneath
240
18k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
280
Abbi's Birthday
coloredviolet
4
10k
Music & Morning Musume
bryan
48
7.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Side Projects
sachag
456
43k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Transcript
もっと真っ黒な QRコードは作れないのか
1. 前回のQRコードの詳細を確認 2. 「もっと真っ黒」なQRコードを作る方法
バージョン:1 誤り訂正レベル:L マスクパターン参照子:1 モード:数字 データコード :81981920478081920720481 905120481981905130 割合:298/441 = 67.57%
真っ黒なQRコード理論値?
各要素が配置される領域 ※ バージョン1(21x21)、数字モード、誤り訂正レベルLの場合) • 範囲内で設定可能 ◦ 誤り訂正レベル ◦ マスクパターン参照子 ◦
モード ◦ 格納文字数 • 自由に設定可能 ◦ データコード • 計算で導出されるため設定不可 ◦ 誤り訂正コード 1.格納データを二進数化して配置
仕様で固定の領域 106/203 セル
範囲内で設定可能な領域 28/44 セル
自由に設定可能な領域 137/137 セル
計算で導出されるため設定不可な領域 27/57 セル
「自由に設定可能な領域」の黒セルを減らしても 「計算で導出されるため設定不可な領域」の黒セルが増えるような データコードが存在するのではないか? 137/137 27/57 164/194
極端な例 108(-29)/137 57(+30)/57 165(+1)/194
「もっと真っ黒」なQRコードを探索する
1. 基本方針 2. 探索範囲の確認 3. 探索方法及び結果
819819204780819207204~ = 1100110011 1100110011~ → 165/194(137/137, 27/57) 1.基本方針 947819204780819207204~ =
1110110011 1100110011~ → ?/194(136/137, ?/57) 1. データコードを1ビット反転すると、データコード領域の黒セル数が1減る 2. 自動に算出される誤り訂正コードが、どのように変化するかは予測できない 1) 反転するビット数が最小、かつ、2) 誤り訂正コード黒セル数が最大、となる データコードを探索する
819819204780819207204~ 67.57% 1.基本方針 947819204780819207204~ 67.12% ※ 1セル約0.2%
1. データコードは137ビット → 全パターンは 2^137 通り = 17正4224澗5718溝6352穰493𥝱2932垓4779京9005兆653億2426万5472 2. 現状の解として
164/194 (白30セル)まで求めている → データコードを最大29ビット反転するまでの範囲に解がある → 探索すべきパターンは 137C29 + 137C28 … + 137C1 通り = 58穰10𥝱7727垓2293京1897兆2377億4504万3615 2.探索範囲の確認
全探索は無理
3. 現実的な範囲で探索 → 137ビットから 1 または 2 ビットを選んで反転 → 探索すべきパターンは
137+137C2 通り = 9,453 2.探索範囲の確認 11001100111100110011 ~ 0011110 01001100111100110011 ~ 0011110 10001100111100110011 ~ 0011110 … 11001100111100110011 ~ 0011111 11001100111100110011 ~ 0011110 00001100111100110011 ~ 0011110 00101100111100110011 ~ 0011110 … 11001100111100110011 ~ 0011101
黒セルの割合67.57%より もっと真っ黒なQRコードは作れたのか?
80382320478081920720481905120481981905130 (70.75%)
81981920478081971920481905146081981905130 (70.75%)
81981920478081920720481905120488356305130 (70.75%)
3. 現実的な範囲で探索 → 2 ビットを選んで反転した 137C2 通りに、3パターンの70.75%が存在 → データコード:135(-2)/137、誤り訂正コード:43(+16)/57 2.探索範囲の確認
4. 現状の解として 178/194 (白16セル)まで求めている → データコードを3~15ビット反転した場合により良い解が存在する? = 4414京9403兆3455億3333万1442 2.探索範囲の確認
桁は半分になったが全探索は無理(スパコンなら...) ランダム探索法
3.ランダム探索 1. 反転するビット数を3~15の範囲でランダムに選ぶ 2. 選ばれた数のビットをランダムに反転する 3. データコードに変換しQRコードを作成 4. 黒セルの割合を評価 3
70.75%
探索回数20万回程度の結果
81981920478081920720481917920481981930630 (71.20%)
自由に設定可能な領域 134/137 セル
計算で導出されるため設定不可な領域 46/57 セル
バージョン:1 誤り訂正レベル:L マスクパターン参照子:1 モード:数字 データコード :81981920478081920720481 917920481981930630 割合:314/441 = 71.20%
真っ黒なQRコード理論値?
今のところこれが一番黒いです。
おまけ
3.1.ルーレット選択 1. 反転するビット数を3~15の範囲で選ぶ 1. 反転するビット数は少ないほど最適解が出やすいと考え、小さい 数字ほど出現しやすくなるルーレット選択を実装