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
フリルの商品を色で検索できるようにした話
Search
shoby
March 22, 2016
Technology
4.4k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フリルの商品を色で検索できるようにした話
Fashion Tech meetup #2 の発表資料です。
http://fashion-tech.connpass.com/event/28335
shoby
March 22, 2016
More Decks by shoby
See All by shoby
フリルのCMを支える分析 (メディアバイイング編)
shoby
0
500
FirebaseとBigQueryによるアプリのKPI分析(CMの効果検証編)
shoby
2
2.7k
ユーザーに受け入れられ、問題を起こしづらい大規模リニューアルの進め方
shoby
60
14k
ReactiveCocoaで作る快適な登録フォーム
shoby
0
380
Search fashion items by colors
shoby
0
230
iOS 7をサポート対象外にして開発を健全化する
shoby
3
4.1k
Apple Watch Tips
shoby
0
4.3k
WWDC 2015で 発表された新機能と サービスへの活かし方
shoby
2
7.5k
アプリにおける人力ぽちぽちテストの効率化
shoby
3
3.5k
Other Decks in Technology
See All in Technology
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
3
610
事業課題から技術的負債に向き合う
sansantech
PRO
2
2k
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.8k
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
1
2.4k
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
3
920
C#未経験の僕がAIに読めるコードを書かせるまで
maguroalternative
0
110
CLIライブラリ開発を支える技術
htnabe
0
140
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
970
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
1
2.9k
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.8k
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
280
AIエージェントの権限管理 3: Agentic RAG の Fine grained access control 編
ren8k
0
150
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Scaling GitHub
holman
464
140k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
890
Fireside Chat
paigeccino
43
4k
Technical Leadership for Architectural Decision Making
baasie
3
570
Discover your Explorer Soul
emna__ayadi
2
1.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
500
Designing for Timeless Needs
cassininazir
1
480
A Modern Web Designer's Workflow
chriscoyier
699
190k
The SEO identity crisis: Don't let AI make you average
varn
0
560
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Transcript
ϑϦϧͷΛ ৭ͰݕࡧͰ͖ΔΑ͏ʹͨ͠ גࣜձࣾ'BCMJD Ҫࡔজଠ ⛄
ࣗݾհ
Ҫࡔজଠ w 'BCMJD JOD w ϢʔβʔϑΝʔετνʔϜ w J043VCZPO3BJMTը૾ॲཧ w ৭ݕࡧ"QQMF8BUDIରԠ4XJGUҠߦ
!TIPCZTIPCZ
֓ཁ
֓ཁ w ৭ݕࡧͱʁ w ͳ࣮ͥͨ͠ͷ͔ w ࣮ w ΧϥʔύϨοτͷ࡞ w
ը૾ॲཧʹΑΔ৭ݕग़ w ݁Ռ
৭ݕࡧͱʁ
৭ݕࡧͱʁ w ৭ͰΛߜΓࠐΊΔ w ྫɿϫϯϐʔεʷϗϫΠτ w ྫɿίʔτʷϒϥϯ w ৭ࣗಈͰݕग़ w
ग़ऀใೖྗͷඞཁͳ͠ w ը૾͔Βը૾ॲཧͰݕग़
ͳ࣮ͥͨ͠ͷ͔
ͳ࣮ͥͨ͠ͷ͔ w ৭Λج४ʹΛങ͏ͱ͍͏Ϣʔβʔ͕ଟ͍͘Δ w Ξϯέʔτ w ΠϯλϏϡʔ w ݕࡧΩʔϫʔυ w
ϑϦϧΛϑΝογϣϯʹಛԽ͍ͤͨ͞ w ঁੑ͚ϑϦϚΞϓϦˠϑΝογϣϯϑϦϚΞϓϦ w ϑΝογϣϯʹಛԽͨ͠ݕࡧػೳ
࣮ ΧϥʔύϨοτͷ࡞
3(#Λͦͷ··͏ͱ ৭
ΧϥʔύϨοτΛ࡞Δͱ ৭ ☺
ͳͥ৭ʁ
ͳͥ৭ʁ w ਓؒͷ৭ೝࣝʹؔ͢Δݚڀ<> w جຊͱͳΔ৭͋ΒΏΔݴޠʹଘࡏ͠ɺීวత w ϨουɺΠΤϩʔɺάϦʔϯɺϒϧʔɺΦϨϯδɺύʔ ϓϧɺϐϯΫɺϒϥϯɺάϨʔɺϒϥοΫɺϗϫΠ τ w
ϢʔβʔͷݕࡧΫΤϦ w ৭໊ΛؚΉݕࡧΫΤϦΛଟ͍ॱʹྻڍ w جຊͷ৭ʹ౷߹ʢྫɿΩϟϝϧˠϒϥϯʣ w ౷߹͢Δͱҧײͷ͋Δϕʔδϡͨ͠ <>#FSMJO#BOE,BZ1 l#BTJD$PMPS5FSNT5IFJS6OJWFSTBMJUZBOE&WPMVUJPOz
࣮ ը૾ॲཧʹΑΔ৭ݕग़
ը૾ॲཧʹΑΔ৭ݕग़ w ϗϫΠτόϥϯεͷௐ w എܠͷআ w ࠷ස৭ͷݕग़ w 3(#ͱΧϥʔύϨοτͷϚονϯά
ϗϫΠτόϥϯεͷௐ
ϗϫΠτόϥϯεͷௐ w ܬޫ౮ͰࡱӨ͞Εͨը૾ͷ৭Λิਖ਼ w ܬޫ౮ͷ͕ଟ͘ɺը૾͕͕͔Δ w ϑϦϧͷࣨࡱӨ͕ଟ͍ w 3FUJOFY<> w
ਓؒͷࢹ֮ಛੑΛϞσϧԽͨ͠ख๏ w Ճ͞Εͨը૾৭ຯ͕มԽ͠ͳ͍ <>&-BOEBOE+.D$BOO l-JHIUOFTTBOE3FUJOFYUIFPSZ z
require 'RMagick' image = ImageList.new('image.jpg') red_extrema = image.channel_extrema(Magick::RedChannel) green_extrema =
image.channel_extrema(Magick::GreenChannel) blue_extrema = image.channel_extrema(Magick::BlueChannel) red_max = red_extrema.last.to_f green_max = green_extrema.last.to_f blue_max = blue_extrema.last.to_f white_balanced_image = image white_balanced_image = white_balanced_image.convolve_channel(1, [green_max / red_max], Magick::RedChannel) white_balanced_image = white_balanced_image.convolve_channel(1, [green_max / blue_max], Magick::BlueChannel) 3.BHJDLʹΑΔ3FUJOFY
#FGPSF "GUFS άϦʔϯ ϗϫΠτ
എܠͷআ
എܠͷআ w എܠ͕ͷ৭ͱͯ͠ఆ͞ΕΔͷΛࢭ w എܠ෦ΛϚθϯλʹͨ͠ϚεΫը૾Λ࡞͢Δ w എܠϚεΫͷ࡞ॲཧ w Τοδݕग़ w
࢛۱͔ΒϚθϯλΛྲྀ͠ࠐΉ w Ϛθϯλ෦ΛഎܠϚεΫͱ͢Δ
ݩը૾ Τοδݕग़ Ϛθϯλͷྲྀ͠ࠐΈ എܠϚεΫ
࠷ස৭ͷݕग़
࠷ස৭ͷݕग़ w ը૾ͷதԝ෦͔Β࠷ස৭Λݕग़ w ϑϦϧͰը૾தԝʹ͕͍ࣸͬͯΔ͜ͱ͕ଟ͍ w தԝ෦എܠͷӨڹΛड͚ͮΒ͍ w ࠷ස৭ͷݕग़ॲཧ w
தԝΛΓൈ͘ w ৭ʹݮ৭ w എܠϚεΫΛ߹ w ώετάϥϜΛऔͬͯ࠷ස৭Λग़͢
ݩը૾ தԝΛΓൈ͘ ˍ৭ʹݮ৭ എܠϚεΫΛ߹ ώετάϥϜ ͔Β࠷ස৭ "#
3(#ͱ ΧϥʔύϨοτͷϚονϯά
3(#ͱΧϥʔύϨοτͷϚονϯά w ݕग़ͨ͠ΧϥʔίʔυΛ৭ʹׂΓͯΔ w ʢ ʣˠ w
3(#ͱ৭໊ͷରԠ͚ௐࠪ<>Λར༻ w 3(#ͷ ৭ͷ৭໊͕͔Δ w )4-ʹมޙɺ֤৭໊ͷ)4-ͷൣғΛར༻ͨ͠ w Ϛονϯάॲཧ w 3(#Λ)4-ʹม w )4-͔Β࠷͍ۙΧϥʔύϨοτΛબͿ IUUQCMPHYLDEDPNDPMPSTVSWFZSFTVMUT
ʮ͏·͍ͬͨͧ͘ʂʯ
ࣾͷϢʔβʔʮ͓͔͍͠ʯ
Ұൠతͳ৭ϑΝογϣϯͷ৭
৭ͷೝࣝ ϑΝογϣϯࣝͷ༗ແͰ มԽ͢Δ
Կ৭ʹݟ͑Δʁ άϦʔϯʁ %$#
ςΟϑΝχʔzϒϧʔz
ϑΝογϣϯʹৄ͍͠ਓʹ Կݟͤͯௐ
݁Ռ
৭ͷݕग़ਫ਼
ݕग़ਫ਼ w ϝδϟʔͳΧςΰϦͰΛࢹνΣοΫ w ฏۉͰͱΊ w ग़͕ଟ͍৭·ͣ·ͣ w ϒϥοΫɿ w
Ϩουɿ w ϐϯΫɿ w ϗϫΠτɿ w ग़͕গͳ͍৭ϊΠζͷׂ߹͕ଟ͘ͳΔ
తͷʹ ͨͲΓண͖͘͢ͳ͔ͬͨ
ݕࡧͷ w ৭ͰݕࡧΛͨ͠ϢʔβʔΩʔϫʔυ͚ͩͰ ݕࡧͨ͠Ϣʔβʔʹൺɺݕࡧ݁ՌͰΛ ։ׂ͘߹͕΄Ͳߴ͍ w ˠ w తͷʹͨͲΓண͖͘͢ͳ͍ͬͯΔ
·ͱΊ
·ͱΊ w ৭ͰΛߜΓࠐΊΔ৭ݕࡧΛ࣮ͨ͠ w ϢʔβʔͷߪೖߦಈΛௐࠪ͠ɺ৽͍͠ϑϦϧ ͷϑΝογϣϯಛԽػೳͱ࣮ͯ͠ w ΧϥʔύϨοτ৭ೝͷݚڀΛϕʔεʹϢʔ βʔͷݕࡧΫΤϦΛ౷߹ͯ͠৭ʹͨ͠ w
৭ิਖ਼ɺഎܠը૾ͷআΛߦ͍ɺը૾ͷதԝ ෦͔Β3(#৭Λݕग़͠ɺ৭ʹϚοϐϯά w ৭ݕࡧʹΑΓɺΩʔϫʔυΑΓతͷ ʹͨͲΓண͖͘͢ͳͬͨ
͓ΘΓ ⛄