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
画像内の “写ってはいけないもの” を 弾きたい / I want to play the ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
koki otaka
May 15, 2026
Technology
41
0
Share
画像内の “写ってはいけないもの” を 弾きたい / I want to play the "things that shouldn't be in the picture"
PHPカンファレンス⼩⽥原 2026登壇資料
https://phpcon-odawara.jp/ja/2026
koki otaka
May 15, 2026
More Decks by koki otaka
See All by koki otaka
管理機能の技術選定: 5年後、現場は耐えたか? / Technology selection for management functions
minisera
0
1.1k
CSとエンジニアをつなぐ新戦略: Embedded CRE 導入事例 / Embedded CRE Case Study
minisera
0
160
管理画面とユーザー機能の調和を取り戻す!~クエリパフォーマンス改善の成功物語~ / Restore harmony between administrative and user functions!
minisera
1
1.1k
Other Decks in Technology
See All in Technology
"うちにはまだ早い"は本当? ─ 小さく始めるPlatform Engineering入門
harukasakihara
7
650
Loadbalancing exporter internals
ymotongpoo
1
120
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
論文紹介:Pixal3D (SIGGRAPH 2026)
tenten0727
0
640
Gaussian Splattingの実用化 - 映像制作への展開
gpuunite_official
0
210
GCASアップデート(202603-202605)
techniczna
0
240
アプリブロック機能のつくりかたと、AIとHTMLの不合理な相性の良さについて
kumamotone
1
260
React Compiler導入の効果と運用の工夫
kakehashi
PRO
3
300
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
210
AI時代に、 データアナリストがデータエンジニアに異動して
jackojacko_
0
1.1k
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
3
250
JTCでRedmine利用者2700人を実現した手法 第二部
nobuonakamura
0
150
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.1k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
360
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
180
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Building AI with AI
inesmontani
PRO
1
1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
300
Transcript
画像内の “写ってはいけないもの” を 弾きたい PHPカンファレンス⼩⽥原 2026 @minisera
4 SmartBank, Inc. αʔόʔαΠυΤϯδχΞ ΈʹͤΒ / minisera @oh_minisera @minisera ʲࠓͷʳ
ը૾όϦσʔγϣϯͰࢼߦࡨޡͨ͠
導⼊ 画像アップロード、よくありますよね ファイル形式 JPEG, PNG など 対応形式 ファイルサイズ 5MB以下かどうか サイズの上限
縦横サイズ 画像の解像度が 基準を満たすか バリデーションたち:
導⼊ 画像の「中⾝」、⾒てますか? ͋ΔҰ͕݅ى͖Δ·Ͱݟ͓ͯΒͣ…
導⼊ 実際に起きた問題: ユーザーに決済情報を添付いただく際に クレジットカード番号が写った画像がアップロード
導⼊ “写ってはいけないもの” 弾きたい
OCRの試み OCRでクレカ番号を読み取る 画像 OCR テキスト パターン 検出
OCRの試み ͳΜ͔͍͚ͦ͏ʂ
OCRの試み 現実は⽢くなかった 斜め撮り ⽂字化け 影‧ブレ 認識不能 OCR結果: 4S2B 0I2 34S6
?890 正解: 4528 0123 4567 8901 ࢀߟը૾ ΛషΔ
OCRの試み ผͷ࡞ઓΛߟ͑Δ OCRɺୀ "
発想の転換 ⽂字ではなく「モノ」で判断する Before 「番号を読み取る」 After 「カードっぽいのが 写っているか判定」
発想の転換 AWS Rekognition DetectLabels Λ͏ ࢀߟ: https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/labels-detect-labels-i Response: { "Labels":
[ { "Name": “Credit Card”, "Confidence": 95.2364013671875, "Instances": [ { "BoundingBox": { "Width": 0.26779675483703613, "Height": 0.8562285900115967, "Left": 0.3604024350643158, "Top": 0.09245597571134567, }
ൃͷస ศརʂউͬͨʂ
チューニングの旅 検出漏れが多々 # 縦向きカード 89.1% 閾値 90% スルー 影ありカード 87.0%
閾値 90% スルー Response: { "Labels": [ { "Name": “Credit Card”, "Confidence": 95.2364013671875
チューニングの旅 ⼀律の閾値ではなく「複合条件」 ⾼信頼度パターン CreditCard 80%以上 補助条件なし そのまま検出 BBox検出パターン CreditCard 68%以上
カードの⾯積が 画像の⼤部分である スクショパターン CreditCard 56%以上 εΫγϣ૬ͷ ϥϕϧが共存
νϡʔχϯάͷཱྀ ͜ΕͰʂ ΊͰͨ͠ΊͰͨ͠
伏線回収 …まだ漏れるケースがあった カードデザインのないバーチャルカードのスクショ • ただの数字の羅列 • 物体認識では⾒つけられない OCRͷదੑ͋ΔͷͰ…?
OCR、再登場 「補完レイヤー」として復活
最終構成 ମೝࣝ + OCR の⼆層構造 ⼊⼒画像 層1 ମೝࣝ クレジットカードっぽいものか検証 層2
OCR OCR + ΫϨΧ൪߸͔Ͳ͏͔検証 どちらかで検出
νϡʔχϯάͷཱྀ ͜ΕͰ”ຊʹ”ʂ ※本当です
⼀度捨てた技術も 組み合わせれば武器になる
まとめ 3つの学び 問題の捉え⽅を変える 「番号を読む」→「カードが写っているか」。問いを変えるとシンプルな解に辿り着く 銀の弾丸はない ⼀度ボツにした技術も補完レイヤーとして活きる。組み合わせも考える ӡ༻͠ͳ͕Β磨く ͲΜͳΠϯϓοτ͕དྷΔ͔༧ଌ͕͍࣌͠ɺӡ༻͠ͳ͕Βݕग़ਫ਼ΛߴΊ͍ͯ͘
まとめ ͝ਗ਼ௌありがとうございました! クレカ番号の判定の詳細は是⾮ブログを! https://blog.smartbank.co.jp/entry/2026/01/08/100000 画像内の“写ってはいけないもの”を弾きたい @minisera
None