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
LINE Creators Studioで写真を簡単 & きれいに切り抜いてもらいたい話 / ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
LINE Developers
February 13, 2019
Technology
630
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LINE Creators Studioで写真を簡単 & きれいに切り抜いてもらいたい話 / Grabcut in LINE Creators Studio
2019/2/13に開催されたLINE Developer Meetup #50 in Fukuokaでの登壇資料です
LINE Developers
February 13, 2019
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
3
2.6k
Java 21 Overview
line_developers
6
1.4k
Code Review Challenge: An example of a solution
line_developers
1
1.7k
KARTEのAPIサーバ化
line_developers
1
650
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
5
2.4k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
3
2.5k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
9
4.1k
A/B Testing at LINE NEWS
line_developers
3
1.2k
LINEのサポートバージョンの考え方
line_developers
2
1.6k
Other Decks in Technology
See All in Technology
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
26
17k
AI de Idea
kawaguti
PRO
2
130
品質と信頼性を地続きにする
grimoh
2
960
AI Agent入門〜今更聞けないAgentの話〜
hiromimaganuma
0
100
10Xに技術的負債をもたらした「2つの境界の歪み」その構造と解消への営み
10xinc
0
2.4k
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
510
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
260
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
2
680
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
2.1k
Goodbye ShellScript, Hello File-based App
shunsock
0
830
絵ではじめるKubernetesセキュリティ
aoi1
4
700
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
130
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
For a Future-Friendly Web
brad_frost
183
10k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
680
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
How GitHub (no longer) Works
holman
316
150k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
880
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