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
フリルの商品を色で検索できるようにした話
Search
shoby
March 22, 2016
Technology
5
4.3k
フリルの商品を色で検索できるようにした話
Fashion Tech meetup #2 の発表資料です。
http://fashion-tech.connpass.com/event/28335
shoby
March 22, 2016
Tweet
Share
More Decks by shoby
See All by shoby
フリルのCMを支える分析 (メディアバイイング編)
shoby
0
450
FirebaseとBigQueryによるアプリのKPI分析(CMの効果検証編)
shoby
2
2.6k
ユーザーに受け入れられ、問題を起こしづらい大規模リニューアルの進め方
shoby
60
13k
ReactiveCocoaで作る快適な登録フォーム
shoby
0
340
Search fashion items by colors
shoby
0
170
iOS 7をサポート対象外にして開発を健全化する
shoby
3
4k
Apple Watch Tips
shoby
0
4.1k
WWDC 2015で 発表された新機能と サービスへの活かし方
shoby
2
7.4k
アプリにおける人力ぽちぽちテストの効率化
shoby
3
3.3k
Other Decks in Technology
See All in Technology
コンテキストエンジニアリングとは? 考え方と応用方法
findy_eventslides
4
810
日経が挑戦するデータ民主化 ~ セルフサービス基盤がもたらす利点と苦悩~/nikkei-tech-talk-37
nikkei_engineer_recruiting
0
210
LLMアプリケーション開発におけるセキュリティリスクと対策 / LLM Application Security
flatt_security
7
1.5k
ZOZOのAI活用実践〜社内基盤からサービス応用まで〜
zozotech
PRO
0
130
全てGoで作るP2P対戦ゲーム入門
ponyo877
3
1.2k
自作LLM Native GORM Pluginで実現する AI Agentバックテスト基盤構築
po3rin
2
210
Go Conference 2025: GoのinterfaceとGenericsの内部構造と進化 / Go type system internals
ryokotmng
3
530
サプライチェーン攻撃に学ぶModuleの仕組みと セキュリティ対策
kuro_kurorrr
3
790
BirdCLEF+2025 Noir 5位解法紹介
myso
0
150
いまさら聞けない ABテスト入門
skmr2348
0
170
PythonとLLMで挑む、 4コマ漫画の構造化データ化
esuji5
0
120
Goに育てられ開発者向けセキュリティ事業を立ち上げた僕が今向き合う、AI × セキュリティの最前線 / Go Conference 2025
flatt_security
0
260
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
KATA
mclloyd
32
14k
Unsuck your backbone
ammeep
671
58k
Speed Design
sergeychernyshev
32
1.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
560
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Gamification - CAS2011
davidbonilla
81
5.4k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
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 ৭ݕࡧʹΑΓɺΩʔϫʔυΑΓతͷ ʹͨͲΓண͖͘͢ͳͬͨ
͓ΘΓ ⛄