Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LINE Creators Studioで写真を簡単 & きれいに切り抜いてもらいたい話 / ...
Search
LINE Developers
February 13, 2019
Technology
0
600
LINE Creators Studioで写真を簡単 & きれいに切り抜いてもらいたい話 / Grabcut in LINE Creators Studio
2019/2/13に開催されたLINE Developer Meetup #50 in Fukuokaでの登壇資料です
LINE Developers
February 13, 2019
Tweet
Share
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
3
2.4k
Java 21 Overview
line_developers
6
1.2k
Code Review Challenge: An example of a solution
line_developers
1
1.5k
KARTEのAPIサーバ化
line_developers
1
590
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
5
2.2k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
3
2.3k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
9
3.7k
A/B Testing at LINE NEWS
line_developers
3
1k
LINEのサポートバージョンの考え方
line_developers
2
1.4k
Other Decks in Technology
See All in Technology
re:Invent 2025 ふりかえり 生成AI版
takaakikakei
1
200
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
6
400
ChatGPTで論⽂は読めるのか
spatial_ai_network
9
28k
学習データって増やせばいいんですか?
ftakahashi
2
330
コンテキスト情報を活用し個社最適化されたAI Agentを実現する4つのポイント
kworkdev
PRO
0
1k
Fashion×AI「似合う」を届けるためのWEARのAI戦略
zozotech
PRO
2
310
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
360
世界最速級 memcached 互換サーバー作った
yasukata
0
340
30分であなたをOmniのファンにしてみせます~分析画面のクリック操作をそのままコード化できるAI-ReadyなBIツール~
sagara
0
140
re:Inventで気になったサービスを10分でいけるところまでお話しします
yama3133
1
120
Reinforcement Fine-tuning 基礎〜実践まで
ch6noota
0
180
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
310
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
4 Signs Your Business is Dying
shpigford
186
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
For a Future-Friendly Web
brad_frost
180
10k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Agile that works and the tools we love
rasmusluckow
331
21k
Automating Front-end Workflow
addyosmani
1371
200k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Scaling GitHub
holman
464
140k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
Transcript
-*/&$SFBUPST4UVEJPͰ ࣸਅΛ؆୯ˍ͖Ε͍ʹ Γൈ͍ͯΒ͍͍ͨ LINE Developer meetup #50 in Fukuoka -*/&'VLVPLB։ൃࣨഅݟ
Feb 13, 2019
അݟ -*/&'VLVPLBגࣜձࣾ ։ൃ̏ࣨॴଐ UMAMI MAKOTO @umakoz -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ `z
-*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ LINE Creators Studio? ɾεϚʔτϑΥϯ͔Β-*/&ελϯϓ͕؆୯ʹ࡞ΕΔ ɾࡱͬͨࣸਅΛՃͯ͠ελϯϓʹͰ͖Δ ɾελϯϓͷ৹ࠪਃൢച͕Ͱ͖Δ ɹIUUQTDSFBUPSMJOFNFKBTUVEJP ಛ
LINE Creators StudioͰͷSticker࡞ྫ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ IUUQTDSFBUPSMJOFNFKBTUVEJP
LINE Creators Studio Android ɾPure Kotlinʢwithout Libraryʣ ɾMVVM ɾDagger2, RxJava2,
RxKotlin, RxLifecycle, Retrofit2, OkHttp3, Glide, Realm, Anko, Espresso, Mockito-Kotlin ߏ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
History 7FS ݄ ϦϦʔεɺͳͧͬͯΓൈ͖ػೳ 7FS ݄ ඇެ։ઃఆ 7FS ݄ ଟݴޠରԠʢӳޠɺλΠޠɺதࠃޠɺΠϯυωγΞޠʣ
7FS ݄ ܗͰΓൈ͖ػೳ 7FS ݄ ফ͠ΰϜػೳ 7FS ݄ σίϑϨʔϜػೳ 7FS ݄ 6*มߋ 7FS ݄ ࣗಈΓൈ͖ػೳʢ"OESPJEʣ 7FS ݄ ΩϟϯϖʔϯࢀՃػೳ 7FS ݄ ࣗಈΓൈ͖ػೳʢJ04ʣ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
History -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ 7FS ݄ ϦϦʔεɺͳͧͬͯΓൈ͖ػೳ 7FS ݄ ඇެ։ઃఆ 7FS ݄
ଟݴޠରԠʢӳޠɺλΠޠɺதࠃޠɺΠϯυωγΞޠʣ 7FS ݄ܗͰΓൈ͖ػೳ 7FS ݄ফ͠ΰϜػೳ 7FS ݄σίϑϨʔϜػೳ 7FS ݄ 6*มߋ 7FS ݄ ࣗಈΓൈ͖ػೳʢ"OESPJEʣ 7FS ݄ ΩϟϯϖʔϯࢀՃػೳ 7FS ݄ ࣗಈΓൈ͖ػೳʢJ04ʣ
Γൈ͖ؔ࿈ଟ͗͢ʜ ɾͳͧͬͯΓൈ͖ ɾܗͰΓൈ͖ ɾফ͠ΰϜ ɾσίϑϨʔϜ ɾࣗಈΓൈ͖ ؆୯ͳૢ࡞Ͱ͖Ε͍ʹΓൈ͖͍ͨʂ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
ͳͧͬͯΓൈ͖ ɾΠϝʔδͷԑΛͳͧͬͯΓൈ͘ ɾύε্ͷͷΛҠಈͤ͞Δ͜ͱͰඍௐ͢Δ 7FSʙ ɾײత ॴ ɾࡉ͔͍मਖ਼͕͠ʹ͍͘ ɾҰຊͷύεͰ͔͠Γൈ͚ͳ͍ ॴ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
ܗͰΓൈ͖ ɾԁ࢛֯ɺϋʔτɺͷܗΛબͿ ɾΠϝʔδΛҠಈ֦େॖখɺճసͤ͞Δ͜ͱͰඍௐ͢Δ 7FSʙ ɾ؆୯ ॴ ɾ༻ҙ͞ΕͨܗͰ͔͠Γൈ͚ͳ͍ ॴ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
ফ͠ΰϜ ɾফ͠ΰϜΛ͔͚ͨ෦͕ফ͑Δ ɾम෮ফ͠ΰϜΛ͔͚ͯ෦తʹΠϝʔδΛ͠ɺඍௐ͢Δ 7FSʙ ɾΤοδͷࡉ͔ͳௐ͕Ͱ͖Δ ɾෳͷύεͰΓൈ͖Ͱ͖Δ ॴ ɾ͖Ε͍ʹΓൈ͘ʹख़࿅ͷٕͱ͕࣌ؒඞཁ ॴ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
σίϑϨʔϜ ɾΠϝʔδΛσίϨʔγϣϯ͢ΔϑϨʔϜΛબͿ ɾΠϝʔδΛҠಈ֦େॖখɺճసͤ͞Δ͜ͱͰඍௐ͢Δ 7FSʙ ɾ؆୯ʹݟӫ͑ͷ͢Δελϯϓ͕࡞ΕΔ ॴ ɾಉ͡Α͏ͳελϯϓ͕ྔ࢈͞ΕΔ ॴ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
ࣗಈΓൈ͖ ࠓɺྲྀߦΓͷػցֶशͱ͔ͬͯ ελϯϓʹඞཁͳ෦ΛΓൈ͚ͳ͍ʁ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ SFNPWFCH IUUQTXXXSFNPWFCH ػցֶश
ࣗಈΓൈ͖ ɾ'BDF%FUFDUPS ɾ.-,JUGPS'JSFCBTF ɾ:0-0 0CKFDU%FUFDUJPO -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ :0-0 IUUQTQKSFEEJFDPNEBSLOFUZPMP
ࣗಈΓൈ͖ ɾ.BTL3$// *NBHF4FHNFOUBUJPO -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ IUUQTBSYJWPSHQEGQEG
ࣗಈΓൈ͖ 5FOTPS'MPX`TMJHIUXFJHIUTPMVUJPOGPS NPCJMFBOEFNCFEEFEEFWJDFT IUUQTXXXUFOTPSGMPXPSHMJUF -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ 5FOTPS'MPX-JUF
ࣗಈΓൈ͖ ɾࣸਅͷҰ෦͚ͩΛ͏ ɾਓͷશମͰͳ͘ɺҰ෦͚ͩʢإͱ͔ʣΛ͏ ɹˠྖҬΛݕग़͢Δ͚ͩͰෆे Ͳ͕͜ελϯϓʹద͍ͯ͠Δ͔Λݕग़Ͱ͖Δ͔ʁ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ ελϯϓ࡞࣌ͷϢʔβʔχʔζ IUUQTDSFBUPSMJOFNFKBTUVEJP
ࣗಈΓൈ͖ ΠϝʔδͷपғΛͬ͘͟ΓͳͧΔ ࣗಈͰΓൈ͍ͯΒ͏ ࣗಈͰΓൈ͍ͯཉ͍͠෦ʹফ͠ΰϜΛ͔͚Δ ࣗಈͰΓൈ͍ͯཉ͘͠ͳ͍෦ʹम෮ফ͠ΰϜΛ͔͚Δ ʙͷૢ࡞Λ܁Γฦͯ͠ඍௐ͢Δ 7FSʙ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
ࣗಈΓൈ͖ ɾ؆୯Ͱ͖Ε͍ʹΓൈ͚Δ ॴ ɾૢ࡞͕ෳࡶͰ׳Ε͕ඞཁ ॴ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
ࣗಈΓൈ͖ ɾΠϝʔδͷલܠྖҬΛநग़͢Δ ɾ0QFO$7 IUUQTPQFODWPSH (SBC$VU"MHPSJUIN -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
-*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ GrabCut Algorithm Ϣʔβʔ͕બͨ͠ൣғ͔ΒۣܗΛੜͯ͠ೖྗ͠ɺ ֎ଆഎܠʹଆલܠʹͳΔɻ (..ʢࠞ߹ΨεϞσϧʣͰલܠͱഎܠͷըૉΛֶश͢Δɻ ϐΫηϧͷ৭ใΑΓલܠʗഎܠͰ͋Δ֬Λ༧ଌ͢ΔϞσϧΛ࡞Δɻ
-*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ GrabCut Algorithm http://www.cs.ru.ac.za/research/g02m1682/ Ϣʔβʔ͕બͨ͠ൣғ͔ΒۣܗΛੜͯ͠ೖྗ͠ɺ ֎ଆഎܠʹଆલܠʹͳΔɻ (..ʢࠞ߹ΨεϞσϧʣͰલܠͱഎܠͷըૉΛֶश͢Δɻ ϐΫηϧͷ৭ใΑΓલܠʗഎܠͰ͋Δ֬Λ༧ଌ͢ΔϞσϧΛ࡞Δɻ ϞσϧΛ༻͍ͯϐΫηϧΛͭͳ͗άϥϑΛߏங͢Δɻ
-*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ GrabCut Algorithm http://www.cs.ru.ac.za/research/g02m1682/ Ϣʔβʔ͕બͨ͠ൣғ͔ΒۣܗΛੜͯ͠ೖྗ͠ɺ ֎ଆഎܠʹଆલܠʹͳΔɻ (..ʢࠞ߹ΨεϞσϧʣͰલܠͱഎܠͷըૉΛֶश͢Δɻ ϐΫηϧͷ৭ใΑΓલܠʗഎܠͰ͋Δ֬Λ༧ଌ͢ΔϞσϧΛ࡞Δɻ ϞσϧΛ༻͍ͯϐΫηϧΛͭͳ͗άϥϑΛߏங͢Δɻ ϐΫηϧΛͭͳ͙ΤοδͷॏΈΛܭࢉ͢Δɻ
ΤοδͷॏΈͷ૯͕࠷খʹͳΔΑ͏ʹஅ͢Δɻ
GrabCut Algorithm -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ http://www.cs.ru.ac.za/research/g02m1682/ Ϣʔβʔ͕બͨ͠ൣғ͔ΒۣܗΛੜͯ͠ೖྗ͠ɺ ֎ଆഎܠʹଆલܠʹͳΔɻ (..ʢࠞ߹ΨεϞσϧʣͰલܠͱഎܠͷըૉΛֶश͢Δɻ ϐΫηϧͷ৭ใΑΓલܠʗഎܠͰ͋Δ֬Λ༧ଌ͢ΔϞσϧΛ࡞Δɻ ϞσϧΛ༻͍ͯϐΫηϧΛͭͳ͗άϥϑΛߏங͢Δɻ ϐΫηϧΛͭͳ͙ΤοδͷॏΈΛܭࢉ͢Δɻ
ΤοδͷॏΈͷ૯͕࠷খʹͳΔΑ͏ʹஅ͢Δɻ Ϣʔβʔʹิਖ਼ͷͨΊͷઢΛೖྗͯ͠Β͍ɺ࠶ͼܭࢉ͢Δɻ
ࣗಈΓൈ͖ͷ (SBC$VUલʹબྖҬΛج४ͱ͠ ը૾ΛτϦϛϯά͢Δɻ ˞എܠΛશࣦͯ͏ͱਫ਼͕མͪΔͷͰ ɹϚʔδϯΛ͢ɻ ॲཧͷ্ τϦϛϯά -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
ࣗಈΓൈ͖ͷ ϚʔΧʔͷαΠζΛʹͯ͠(SBC$VUΛ ࣮ߦ͢Δɻ ॲཧͷ্ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
ࣗಈΓൈ͖ͷ 3FOEFS4DSJQUΛ͏ "OESPJEͰ࠾༻͞Ε͍ͯΔ ϐΫηϧ୯ҐͷॲཧΛ ߴʹߦ͏ͨΊͷ4DSJQU ॲཧͷ্ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ QSBHNBWFSTJPO
QSBHNBSTKBWB@QBDLBHF@OBNF DPNMJOFDPSQVTFSTUJDLFSST ST@BMMPDBUJPOJOQVU*NBHF VJOU@U SFDU WPJE@@BUUSJCVUF@@ LFSOFM SPPU VDIBSJO VJOU@UY VJOU@U GMPBUBST6OQBDL$PMPS JO B JG B \ JG YSFDU<> \ SFDU<>Y ^
ࣗಈΓൈ͖ͷ ݩը૾ͷେ͖͞Λҡ࣋ͨ͠··Γൈ͘ ˞࠷ऴతʹ࡞Δͷ ɹελϯϓ º ͳͷͰɺ ɹେ͖͗͢Δ࣌ϦαΠζ ը࣭ͷ্ ݩը૾ σΟεϓϨΠ
Ҡಈɺ֦େॖখɺճస Matrix Matrix -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
ࣗಈΓൈ͖ͷ Τοδʹ΅͔͠Λ͔͚Δɻ ͨͩ͠ɺ΅͔ͨ͠ϚʔΧʔΛ(SBC$VUʹ͏ͱ ਫ਼͕མͪΔͷͰɺσΟεϓϨΠ্͚ͩ΅͔͢ɻ ඒ͠͞ͷ্ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
ࣗಈΓൈ͖ͷ ϦΞϧλΠϜʹ΅͔͢ͱॲཧ͕͘ͳΔͷͰɺ ϚʔΧʔͷ֬ఆ࣌ʹ΅͔͢ɻ ඒ͠͞ͷ্ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
ࣗಈΓൈ͖ ࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨʂ -*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ
-*/&$SFBUPST4UVEJPͰࣸਅΛ؆୯ˍ͖Ε͍ʹΓൈ͍ͯΒ͍͍ͨ IUUQTMJOFGVLVPLBDPKQKBDBSFFSFOHJOFFS
5IBOLZPV