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
ホワイトジグソーパズル を解く(WIP)
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kei Hirata
July 10, 2016
Technology
0
980
ホワイトジグソーパズル を解く(WIP)
Kei Hirata
July 10, 2016
Tweet
Share
More Decks by Kei Hirata
See All by Kei Hirata
今からはじめるボードゲーム解析
masuwo3
0
1.4k
TensorFlowと機械学習の今
masuwo3
0
820
Other Decks in Technology
See All in Technology
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
550
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
配列に見る bash と zsh の違い
kazzpapa3
3
170
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
240
プロポーザルに込める段取り八分
shoheimitani
1
640
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
100
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
130
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
390
旅先で iPad + Neovim で iOS 開発・執筆した話
zozotech
PRO
0
100
猫でもわかるKiro CLI(セキュリティ編)
kentapapa
0
110
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
Embracing the Ebb and Flow
colly
88
5k
エンジニアに許された特別な時間の終わり
watany
106
230k
Ruling the World: When Life Gets Gamed
codingconduct
0
150
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Music & Morning Musume
bryan
47
7.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
950
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
Visualization
eitanlees
150
17k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
Transcript
ϗϫΠτδάιʔύζϧ Λղ͘(WIP) AWSίϯαϧςΟϯά෦ ฏాܓ 1 Developer.IO Sapporo 2016 2016/7/10
ࣗݾհ ໊લ : ฏా ܓ (@masuwo3) ॴଐ : ϝϯόʔζ։ൃνʔϜ ݱࡏ
: 20155݄ΑΓΫϥεϝιουೖࣾ աڈ : ಛॿڭ, SE, ITߨࢣ, etc… 2
࠷ۙͷ͓ࣄ • ϝϯόʔζ։ൃνʔϜͱͯ͠ • CMϝϯόʔζͷαʔϏε֦ॆ • ৽ͨͳٕज़ͷௐࠪͳͲ • σʔλੳҊ݅ •
ͱ͋Δ͓ళͷͪ࣌ؒ༧ଌͳͲ 3
࠷ۙͷΈ • ϗϫΠτδάιʔύζϧΛԿʹۤ࿑ͤͣʹ ղ͔͘Λߟ͍͑ͯ·͢ɻ 4 ࠓ͜ͷΛ͠·͢
͓͜ͱΘΓ ϗϫΠτδάιʔύζϧͷɺݱࡏऔΓ Έத(WIP)Ͱ͋Γɺղܾʹࢸ͍ͬͯ·ͤ Μɻ ຊൃද͢Δ༰ݱࡏ·ͰͷऔΓΈʹ͍ͭ ͯͷதؒൃදʹͳΓ·͢ɻ 5
ϗϫΠτδάιʔύζϧ 6 ७നࠈ େԦ (49x72cm) / גࣜձࣾ ϏόϦʔ
ϗϫΠτδάιʔύζϧ • ੈք࠷খͷϐʔεαΠζ • ༷ͳ͠ • ཪදͷ۠ผͳ͠ • 2000ϐʔε •
ʹ͍͍ͩͨ6ϲ݄ 7
ͳ͍ͥ͠ͷ͔ 8 • ༷͕ͳ͍ͨΊɺ৭ͳͲ͔Βେ·͔ͳॴΛ ಛఆͰ͖ͳ͍ • ਤ͋Δ͕ɺͦΕͧΕͷϐʔεͷܗঢ়͕ ࣅ௨͍ͬͯΔͨΊɺਓؒͷͰॴΛಛఆͰ ͖ͳ͍ •
݁Ռͱͯ͠ɺͻͨ͢Βϐʔεಉ࢜Λࢼߦࡨޡ͠ ͯΈ߹ΘͤΔ͔͠ͳ͍
ผͷํ๏Ͱղ͍ͯΈ͍ͨ • ػցͷͳΒͲ͏͔ʁ • ը૾ೝࣝΛ༻͍ͯɺਤ͔ΒϐʔεͷҐஔ Λಛఆ͢Δ͜ͱͰ͖ͳ͍͔ʁ • ྨࣅͨ͠ϐʔεΛάϧʔϐϯά͢Δ͜ͱͰɺ ࢼߦճΛݮ͢Δ͜ͱͰ͖ͳ͍͔ʁ 9
10 ͬͯΈΔ
ඞཁͳ࡞ۀͷཧ 11 Χϝϥ͔Βϐʔεը૾ ΛऔΓࠐΈ ϐʔεͷྠֲΛநग़ ਤը૾ΛऔΓࠐΈ શϐʔεͷҐஔͱ ྠֲΛநग़ Ϛονͨ͠ϐʔεͷ ҐஔใΛදࣔ
ϚονϯάͰ ྨࣅͨ͠ϐʔεΛ୳ࡧ
࣮ݧڥʹ͍ͭͯ 12 WebΧϝϥ ύζϧϐʔε PC
࣮ݧڥʹ͍ͭͯ • webΧϝϥ • LOGICOOL C615 • ΧϝϥͶ͡ʹରԠ • ݱࡏସΛݕ౼த
• ΞʔϜ • αϯϫαϓϥΠ CR-LACAM2 • ϑϨΩγϒϧΞʔϜ + ΧϝϥͶ͡ରԠ 13
ٕज़తഎܠ • ը૾ॲཧܥͷࣝͳ͠ • OpenCVͷར༻ࠓճॳΊͯ • ཧతͳ෦ͷཧղޙ͍ • ·ͣಈ͔ͯ͠ΈΔ 14
ਤ͔ΒϐʔεΛநग़ • ύοέʔδ͔Β ਤͷ෦ΛεΩϟϯ • ϩΰʹ͔͔ͬͨ෦ ࠇ͘ృΓͭͿ͠ɺ நग़ͷର֎ͱ͢Δ • OpenCVͷྠֲநग़
Λ͍ɺϐʔεΛऔ ಘ 15
ਤ͔ΒϐʔεΛநग़ • ઢΛิ͢ΔͨΊɺΨγΞϯϑΟϧλΛ͔͚ɺ 2ԽॲཧΛߦ͏ɻ 16
17 ਤ͔ΒϐʔεΛநग़
webΧϝϥ͔ΒϐʔεΛநग़ ಉ༷ͷॲཧͰwebΧϝϥ͔ΒϐʔεΛநग़ 18
ྨࣅͨ͠ϐʔεͷҐஔΛදࣔ ਤ͔Βࢦఆͨ͠ϐʔεΛۣܗͰғΉ => ྨࣅͨ͠ϐʔεͷҐஔΛऔಘ 19
ඞཁͳ࡞ۀͷཧ 20 Χϝϥ͔Βϐʔεը૾ ΛऔΓࠐΈ ϐʔεͷྠֲΛநग़ ਤը૾ΛऔΓࠐΈ શϐʔεͷҐஔͱ ྠֲΛநग़ Ϛονͨ͠ϐʔεͷ ҐஔใΛදࣔ
̎ͭͷϐʔεΛ Ϛονϯά
ϐʔεͷϚονϯά • ݱࡏऔΓΈத • ࠓճݱঢ়ͱʹ͍ͭͯͷհ 21
Ϛονϯάख๏ͷݕ౼ • ςϯϓϨʔτϚονϯά • ܗঢ়ೝࣝ 22
23 Ϛονϯάख๏ • ςϯϓϨʔτϚονϯά • ؍ଌը૾ʹରը૾ΛॏͶ߹Θͤɺಛఆ ͷύλʔϯΛݕग़͢Δ • ϐʔεͷ͖ɺαΠζΛ؍ଌը૾ʹ߹Θͤ Δඞཁ͕͋Δ
Ϛονϯάख๏ • ܗঢ়ೝࣝ • ରͷܗঢ়͔ΒಛΛநग़͠ɺͦͷྨࣅ Λ؍ଌը૾͔Βݕग़͢Δ • ଟ͘ͷख๏͕ճసɺαΠζͷมԽʹରͯ͠ ෆมͳಛྔΛ༻͍Δ 24
Ϛονϯάख๏ OpenCVͰͷಛநग़ • HuMoment • SURF • SIFT • AKAZE
25
Ϛονϯάख๏ • HuMoment • 7ͭͷಛྔ͔ΒϚονϯάΛߦ͏ • cv2.matchShapes() Ͱαϙʔτ • ͱΓ͋͑ͣࢼͤͦ͏
• ѻ͏ಛྔ͕গͳ͍ͨΊɺൺֱతߴ • ϐʔεͷܗঢ়ෳࡶͰͳ͍ͷͰɺඞཁͳ ಛྔͦ͜·Ͱେ͖͘ͳ͍ͱ༧ 26
HuMomentͰͷϚονϯάͷݕূ • ݕূ cv2.matchShape() Λͬͯɺ࣮ࡍʹwebΧϝϥ ͔ΒϐʔεͷྠֲΛநग़͠ɺશϐʔεͱͷྨࣅ ΛௐΔ 27
HuMomentͰͷϚονϯάͷݕূ • ݁Ռ 28 ݕग़ͨ͠ϐʔε ྨࣅͷϐʔε
HuMomentͰͷϚονϯάͷݕূ • ྨࣅ্Ґ10ϐʔε 29 ߹Θͳ͍
HuMomentͰͷϚονϯάͷݕূ • ྨࣅϥϯΩϯά • 0.038687311146999165 • 0.07013378434926015 • 0.07227741099761925 •
0.09835113125024947 • 0.09837605716041975 • 0.10063178843488196 • 0.10132249448457387 • 0.10333467497456036 • 0.10475583919998341 • 0.10549528521851323 … • 0.11716003199066888 30
ݪҼௐࠪ • ରϐʔεͷྠֲ͕͏·͘औΕ͍ͯͳ͍ʁ • Ұ؟ϨϑͰϐʔεΛ࠶औಘ • ݁ՌมΘΒͣ 31
ݪҼௐࠪ • ಛྔநग़ͷख๏͕ෆదʁ • AKAZEͰࢼͯ͠ΈΔ • ෳͷಛͰࢄ • ॲཧʹ͔ͳΓͷ͕͔͔࣌ؒΔ 32
ݪҼௐࠪ • ͦͦܗঢ়ೝࣝͰ͍͍ͷ͔ʁ • HuMomentʹΑΔܗঢ়ೝࣝ • ಛྔͷྨࣅͱࢹ֮తͳྨࣅ͕૾Ҏ্ʹΕ͍ͯΔ • HuMomentͷཧతͳҙຯ͕ཧղͰ͖͍ͯͳ͍ •
ਓؒͷײ͔֮Β͔ͳΓΕͨ݁Ռ • ςϯϓϨʔτϚονϯάͷํ͕ʹ͍͋ͬͯΔͷͰʁ • ײ֮ʹ͍ۙྨࣅϐʔεʹͳΔͱ૾ • ޡݕͨ͠ͱͯ͠ɺྨ͍͢͠ 33
ࠓޙͷ՝ (ςϯϓϨʔτϚονϯά) • ϏσΦΧϝϥՃߪೖ • ޫֶϨϯζ͖ɺPCʹଓՄೳ • ྠֲநग़ͷਫ਼͕େ͖͘Өڹ͢Δ 34
ࠓޙͷ՝ (ςϯϓϨʔτϚονϯά) • αΠζิਖ਼ • ਤϐʔεͷ໘ੵ֤ลͳͲ͔Βิਖ਼ • ͖ิਖ਼ • OpenCVϥΠϒϥϦͰิਖ਼
• ͖ͷݕग़cv2.minAreaRect() • ͖ิਖ਼cv2.warpAffine() 35
ࠓޙͷ՝ (ςϯϓϨʔτϚονϯά) • ճసʹ͍ͭͯ • 90ຖͷճస(4) x ཪද(2) શͯͰςϯ ϓϨʔτϚονϯάΛ࣮ࢪ
• ࠷ͯ·Γ͕ྑ͍݁ՌΛ࠾༻ 36
ࠓޙͷ՝ (ςϯϓϨʔτϚονϯά) • ݒ೦ • ͍ۙϐʔεͷ۠ผ͕Ͳ͜·ͰͰ͖Δ͔ʁ • ྨํ๏ʹ͍ͭͯݕ౼த… 37
None