Skip to content

Emotion recognition using Tensorflow, Keras. Generate personal emoji from real face image using StyleGAN2.

Notifications You must be signed in to change notification settings

Gun-mIn/2020DA_CapstoneProject

Repository files navigation

2020 Data Analysis Capstone Design

๊ฒฝํฌ๋Œ€ํ•™๊ต 2020ํ•™๋…„๋„ 2ํ•™๊ธฐ ๋ฐ์ดํ„ฐ๋ถ„์„ ์บก์Šคํ†ค ๋””์ž์ธ ํ”„๋กœ์ ํŠธ์˜ ์†Œ์Šค์ฝ”๋“œ์™€ ์‹คํ—˜ ๋‚ด์šฉ์„ ๊ณต๊ฐœํ•˜๊ธฐ ์œ„ํ•œ Repository ์ž…๋‹ˆ๋‹ค.

Quick Summary

  • mp4 ์˜์ƒ์—์„œ ์‚ฌ๋žŒ์˜ ์–ผ๊ตด ์˜์—ญ์„ ์ฐพ์•„ Tooni-fyํ•˜๊ณ , ํ•ด๋‹น ์–ผ๊ตด ์˜์—ญ์—์„œ ํ‘œ์ •์„ ์ธ์‹ํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ‘œ์‹œํ•œ ์˜์ƒ์„ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฌผ๋กœ ์ œ์‹œํ•œ๋‹ค.
  • Tooni-fy๋Š” StyleGAN2 ๋ชจ๋ธ์„ ์ด์šฉํ•˜๊ณ , Emotion Recognition์€ mini-Xception ๋ชจ๋ธ์„ ์ด์šฉํ•œ๋‹ค. StyleGAN2๋Š” custom dataset์„ ์ด์šฉํ•˜์—ฌ ํ›ˆ๋ จ์‹œ์ผฐ๊ณ , mini-Xception์€ FER2013 dataset์„ ์ด์šฉํ•ด ํ›ˆ๋ จ์‹œ์ผฐ๋‹ค. Dataset๊ณผ ๊ด€๋ จํ•œ ๋‚ด์šฉ์€ 2. Dataset์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • StyleGAN2๋Š” TensorFlow(TF) 1.x๋ฅผ ์ง€์›ํ•˜๊ณ , mini-Xception์€ TF 2.x๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. Colab์—์„œ TF 1.x๋ฅผ ์ง€์ •ํ•˜์—ฌ Toonify(StyleGAN2)๋ฅผ ๋จผ์ € ์ง„ํ–‰ํ•˜๊ณ , Tooni-fy๋œ ์˜์ƒ์—์„œ TF 2.x๋ฅผ ์ง€์ •ํ•ด Emotion Recognition์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.
  • ์ด๋ก ์ ์ธ ๋ถ€๋ถ„(StyleGAN2, mini-Xception์˜ ๊ตฌ์กฐ์™€ ์ด๋ก )์€ ํ˜„์žฌ repository์— ์˜ฌ๋ ค๋‘” Interim report.pdf์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค. StyleGAN2 version 1, 2๋ฅผ ๋ฐœํ‘œํ•œ ๋…ผ๋ฌธ๊ณผ mini-Xception ๊ตฌ์กฐ๋ฅผ ์ฒ˜์Œ ์ œ์•ˆํ•˜๊ณ  ์‚ฌ์šฉํ•œ ๋…ผ๋ฌธ์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•ด๋‘์—ˆ๋‹ค.

1. Research Aim

  • ์‚ฌ๋žŒ์˜ ์–ผ๊ตด ์˜์—ญ์„ tooni-fyํ•˜๊ณ , ์‚ฌ์šฉ์ž์˜ ์–ผ๊ตด ์˜์—ญ์—์„œ ํ‘œ์ • ์ธ์‹์„ ์ง„ํ–‰ํ•œ๋‹ค.
  • Disney/Pixar/Dream Works ๋“ฑ์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์บ๋ฆญํ„ฐ๋ฅผ ํ•™์Šต ์‹œํ‚จ StyleGAN2 ๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ ์‚ฌ๋žŒ์˜ ์–ผ๊ตด์„ Tooni-fy(์บ๋ฆญํ„ฐํ™”)ํ•œ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉํ•œ dataset์€ 2. Dataset์—์„œ, ๋ชจ๋ธ์˜ network snapshot์€ 5.4 StyleGAN2์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์‚ฌ๋žŒ์˜ ํ‘œ์ • ์ด๋ฏธ์ง€๋ฅผ 7๊ฐœ์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋‚˜๋ˆ„์–ด ์ œ๊ณตํ•˜๋Š” FER2013์„ ์ด์šฉํ•˜์—ฌ ํ•™์Šต ์‹œํ‚จ Keras ๊ธฐ๋ฐ˜ ๋ชจ๋ธ mini-Xception์„ scalingํ•˜๊ณ , ์˜์ƒ์—์„œ ์‚ฌ๋žŒ์˜ ํ‘œ์ •์„ ์ธ์‹ํ•ด ๊ฒฐ๊ณผ๋ฅผ ํ‘œ์‹œํ•œ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉํ•œ dataset์€ 2. Dataset์—์„œ, ๋ชจ๋ธ์˜ scaling ๊ณผ์ •์€ 5.3 mini-Xception์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

2.1 How to Create Dataset

1. Crawling images from Google Search Engine.

  • ๊ตฌ๊ธ€์—์„œ "emoji"๋ฅผ ๊ฒ€์ƒ‰ํ•ด ๋‚˜์˜จ ๋ชจ๋“  ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ฝ”๋“œ์ด๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๊ฒ€ํ† ํ•˜๋ฉฐ ์„ ๋ณ„ํ•˜๋Š” ์ž‘์—…์„ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค.
  • Baby face dataset์˜ ๊ฒฝ์šฐ, ์ง์ ‘ YouTube ์˜์ƒ์„ ๋ณด๋ฉฐ ํ•˜๋‚˜ํ•˜๋‚˜ ์บก์ณํ•ด์ฃผ์—ˆ๋‹ค. ์บ๋ฆญํ„ฐ์˜ ์–ผ๊ตด ์˜์—ญ์— ์ง‘์ค‘ํ•ด ํฌ๋กค๋งํ•˜๊ณ , ํฌ๋กญํ•˜๊ณ , ์„ ๋ณ„ํ•˜๋Š” ์ž‘์—…๋ณด๋‹ค๋Š” ์ง์ ‘ ์ด๋ฏธ์ง€๋ฅผ ๋ชจ์œผ๋Š” ๊ฒƒ์ด ๋” ๋น ๋ฅด๋‹ค๋Š” ํŒ๋‹จ ํ•˜์— ๊ทธ๋ ‡๊ฒŒ ์ง„ํ–‰ํ•˜์˜€๋‹ค.
  • Crawling ์ฝ”๋“œ๋Š” ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ๋กœ ๊ณต๊ฐœํ•ด๋‘์—ˆ๋‹ค. ๋งํฌ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด์ฃผ์‹œ๊ธธ ๋ฐ”๋ž€๋‹ค.

2. Resize and Convert to RGB.

  • ์œ„์—์„œ ๊ฐ€์ ธ์™€ ์„ ๋ณ„ ์ž‘์—…์„ ๋งˆ์นœ ์ด๋ฏธ์ง€๋“ค์„ 1024x1024 ์‚ฌ์ด์ฆˆ๋กœ resizeํ•˜๊ณ , RGBA ์ด๋ฏธ์ง€๋“ค์„ ๋‹ค์‹œ RGB๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š” ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค.
  • StyleGAN2์˜ ๋ฐ์ดํ„ฐ ์…‹(.tfrecord)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” RGB ํ˜•ํƒœ์˜ ์ •์‚ฌ๊ฐํ˜• ์ด๋ฏธ์ง€์—ฌ์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋งŒ์•ฝ ์ง์ ‘ custom ๋ฐ์ดํ„ฐ ์…‹์„ ์ƒ์„ฑํ–ˆ๋‹ค๋ฉด ์ด ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•ด ์ „์ฒ˜๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • ์ž์„ธํ•œ ์ฝ”๋“œ์˜ ๋‚ด์šฉ์€ ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ๋กœ ๊ณต๊ฐœํ•ด๋‘์—ˆ๋‹ค. ๋งํฌ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด์ฃผ์‹œ๊ธธ ๋ฐ”๋ž€๋‹ค.

2.2 Used Dataset

1. Fer2013

  • 7๊ฐ€์ง€ ๊ฐ์ •์— ๋”ฐ๋ฅธ ์‚ฌ๋žŒ ์–ผ๊ตด์˜ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ ์…‹์ด๋‹ค. mini-Xception ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ฌ ๋•Œ ์‚ฌ์šฉํ•˜์˜€๋‹ค.
  • Emotion map = {0:Angry, 1:Disgust, 2:Fear, 3:Happy, 4:Sad, 5:Surprise, 6:Neutral}

2. Flickr-Faces-HQ(FFHQ)

[๊ทธ๋ฆผ 1] FFHQ๋ฅผ base network๋กœ ์„ค์ •ํ–ˆ์„ ๋•Œ์˜ fake init snapshot. ์ถœ์ฒ˜ : NVlab StyleGAN2 repository

  • NVlab์˜ StyleGAN2์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ณ ํ™”์งˆ์˜ ์‚ฌ๋žŒ ์–ผ๊ตด ๋ฐ์ดํ„ฐ ์…‹์œผ๋กœ, ์ง์ ‘ ํ›ˆ๋ จ์„ ์‹œํ‚ค์ง„ ์•Š์•˜์ง€๋งŒ style์„ ์”Œ์šฐ๋Š” base network๋กœ FFHQ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
  • NVlab์—์„œ๋Š” StyleGAN2 custom model ํ•™์Šต์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก FFHQ์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์…‹๊ณผ pretrained ๋ชจ๋ธ์„ ์ œ๊ณตํ•œ๋‹ค.
  • StyleGAN2์—์„œ style์„ ํ•™์Šต์‹œํ‚ค๊ธฐ ์ด์ „, fake init ์Šค๋ƒ…์ƒท์œผ๋กœ [๊ทธ๋ฆผ 1]๊ณผ ๊ฐ™์€ ์‚ฌ์ง„์ด ์ƒ์„ฑ๋œ๋‹ค.

3. Emoji

  • ์ง์ ‘ Google์˜ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰์—์„œ ํฌ๋กค๋งํ•˜๊ณ , resize์™€ RGB๋กœ์˜ ๋ณ€ํ™˜ ๊ณผ์ •์„ ํ†ตํ•ด ์ƒ์„ฑํ•œ emoji ๋ฐ์ดํ„ฐ ์…‹์ด๋‹ค.
  • Emoji-fy ๋ชจ๋ธ์„ ํ•™์Šตํ•  ๋•Œ, ์‚ฌ์šฉํ–ˆ๋‹ค. [๊ทธ๋ฆผ 2]์™€ ๊ฐ™์ด ์‚ฌ๋žŒ ์–ผ๊ตด ๋ชจ๋ธ(FFHQ)์˜ ํŠน์„ฑ์ด ๋งŽ์ด ๋‚จ์•„ ์žˆ๋Š” network๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด, ๊ธฐ์กด์˜ snapshot ์ฃผ๊ธฐ๋ฅผ default ๊ฐ’์ธ 4์—์„œ 1๋กœ ์ค„์—ฌ ์ฃผ์—ˆ๋‹ค. ์งง์€ ์ฃผ๊ธฐ๋กœ network๋ฅผ ์ €์žฅํ•˜๊ณ , fake snapshot์„ ํ†ตํ•ด ์›ํ•˜๋Š” ๋ชจ๋ธ์„ ์„ ์ •ํ–ˆ๋‹ค.

4. Baby Characters of Disney/Pixar/Dream Works

  • Disney, Pixar, Dream Works์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋ณด๋ฉฐ ์ง์ ‘ ์บก์ณํ•œ ๋ฐ์ดํ„ฐ ์…‹์ด๋‹ค. ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ์•„๊ธฐ ์บ๋ฆญํ„ฐ ์–ผ๊ตด์„ resize, RGB ๋ณ€ํ™˜์„ ํ•˜์—ฌ ์‚ฌ์šฉํ–ˆ๋‹ค.
  • Baby-fy ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ฌ ๋•Œ ํ™œ์šฉํ–ˆ๋‹ค. [๊ทธ๋ฆผ 3]๊ณผ ๊ฐ™์ด ์‚ฌ๋žŒ ์–ผ๊ตด์˜ ํ˜•ํƒœ๊ฐ€ ๋‚จ์•„ ์žˆ๋Š” ์ƒํƒœ์—์„œ ์• ๊ธฐ๋ฉ”์ด์…˜์˜ ์•„๊ธฐ ์–ผ๊ตด์— ๋‚˜ํƒ€๋‚˜๋Š” ๋ˆˆ์ฝ”์ž…์ด ์”Œ์›Œ์ ธ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

5. Characters of Disney/Pixar/Dream Works

[๊ทธ๋ฆผ 2] Cartooni-fy StyleGAN2 dataset. ์ถœ์ฒ˜ : Justin Pinkney์˜ Cartoon Dataset

  • Disney, Pixar, Dream Works์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์บ๋ฆญํ„ฐ์˜ ์–ผ๊ตด๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ ์…‹์ด๋‹ค. Pinkney์˜ Toonify ํ”„๋กœ์ ํŠธ์—์„œ ์“ฐ์ธ ๋ชจ๋ธ์„ trainingํ•  ๋•Œ ์‚ฌ์šฉ๋œ ๋ฐ์ดํ„ฐ ์…‹์ด๋‹ค.
  • ๋งํฌ๋กœ ์ด๋™ํ•˜๋ฉด ์›๋ณธ ๋ฐ์ดํ„ฐ ์…‹์„, Pinkney์˜ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ ๊ธ€์—์„œ ์ž์„ธํ•œ ํ”„๋กœ์ ํŠธ์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

3. Design

3.1 Initial Design

[๊ทธ๋ฆผ 3] ์ดˆ๊ธฐ ํ”„๋กœ๊ทธ๋žจ ์„ค๊ณ„๋„

  • ์ดˆ๊ธฐ ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ๋Š” [๊ทธ๋ฆผ 5]์™€ ๊ฐ™๋‹ค. StyleGAN2 ๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ ๋งŒ๋“  personal emoji๋ฅผ ์‹ค์‹œ๊ฐ„ ์˜์ƒ์—์„œ ์–ผ๊ตด ์˜์—ญ์— ๋ Œ๋”๋งํ•œ๋‹ค. ์ด๋•Œ, ๊ฐ๊ฐ์˜ ํ‘œ์ •์— ๋งž๋Š” emoji๋ฅผ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘๊ณ , ์˜ˆ์ธกํ•œ ํ‘œ์ •์— ๋”ฐ๋ผ ๋ Œ๋”๋งํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„ํ–ˆ๋‹ค.

3.2 Final Design

[๊ทธ๋ฆผ 4] ์ตœ์ข… ํ”„๋กœ๊ทธ๋žจ ์„ค๊ณ„๋„

  • Real-time์„ ํฌ๊ธฐํ•˜๊ณ , ์˜์ƒ์˜ ํ”„๋ ˆ์ž„ ๋‹จ์œ„๋กœ Tooni-fy๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์„ ํƒํ–ˆ๋‹ค. [๊ทธ๋ฆผ 8]๊ณผ ๊ฐ™์ด ์›๋ณธ ์˜์ƒ์ด ๋“ค์–ด์˜ค๋ฉด, 10 ํ”„๋ ˆ์ž„ ๋‹จ์œ„๋กœ ํ”„๋ ˆ์ž„์„ ๋ฐ›์•„ ์™€ Toonified ์˜์ƒ์„ ๋งŒ๋“ ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ Toonified ์˜์ƒ์— Emotion Recognition์„ ์ง„ํ–‰ํ•ด ์ตœ์ข… ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ ๋‹ค.
  • ์ดˆ๊ธฐ ์„ค๊ณ„์—์„œ Personal emoji์˜ ๊ฒฐ๊ณผ๋ฌผ์ด ์˜ˆ์ƒ๋ณด๋‹ค ์˜ˆ์˜๊ฒŒ ๋‚˜์˜ค์ง€ ์•Š์•„ Disney/Pixar/Dream Works์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์บ๋ฆญํ„ฐ ์–ผ๊ตด์„ ํ•™์Šต ์‹œํ‚จ Toonify ๋ชจ๋ธ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

4.1 StyleGAN2 Using Custom Dataset

[๊ทธ๋ฆผ 5] StyleGAN2 Tooni-fy model training process.

  • ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” StyleGAN2์— custom dataset์„ ํ•™์Šต์‹œ์ผœ ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์„ ์ด์šฉํ•˜์˜€๋‹ค. ์‚ฌ์šฉ๋˜์—ˆ๋˜ dataset์€ 2.Dataset์— ์ž์„ธํžˆ ์ ์–ด๋‘์—ˆ๊ณ , ๊ฐ๊ฐ์˜ dataset์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฌผ์€ 5.4 StyleGAN2์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ตœ์ข…์ ์œผ๋กœ๋Š” pinkney์˜ cartoon dataset์„ ์ด์šฉํ•˜์˜€๊ณ , ์ด๋ฅผ ํ•™์Šต์‹œํ‚จ ๊ณผ์ •์€ [๊ทธ๋ฆผ 5]์™€ ๊ฐ™๋‹ค. StyleGAN2์˜ base network๋กœ FFHQ(์‚ฌ๋žŒ ์–ผ๊ตด์˜ ๋ฐ์ดํ„ฐ ์…‹์œผ๋กœ pre-train ๋œ) StyleGAN2 model์„ ์‚ฌ์šฉํ•ด์ฃผ์—ˆ๋‹ค.
  • StyleGAN ํŠน์„ฑ ์ƒ, base network์— style์„ ํ•œ์ธต ํ•œ์ธต ์ž…ํ˜€๊ฐ€๋ฉฐ ์ตœ์ข…์ ์œผ๋กœ ์›ํ•˜๋Š” dataset์˜ fake image๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” network๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค. ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์‚ฌ๋žŒ ์–ผ๊ตด์— ์บ๋ฆญํ„ฐ์˜ ์Šคํƒ€์ผ์„ ์ž…ํžˆ๊ธฐ ์›ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— cartoon์˜ style์„ FFHQ ๋ชจ๋ธ์— ์ž…ํ˜€์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋˜์—ˆ๋‹ค.
  • StyleGAN2์—์„œ epoch๊ณผ ๊ฐ™์€ ๊ฐœ๋…์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” kimg๋ฅผ default ๊ฐ’์ธ 25,000์œผ๋กœ ์„ค์ •ํ•˜์˜€๊ณ , network snapshot์„ ์ €์žฅํ•˜๋Š” ์ฃผ๊ธฐ๋ฅผ 4(default)์—์„œ 1๋กœ ์ค„์—ฌ์ฃผ์—ˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด ์ข€ ๋” ์ข์€ ๊ฐ„๊ฒฉ์œผ๋กœ ์ €์žฅ๋œ network๋ฅผ ํ™•์ธํ•˜๊ณ , ์›ํ•˜๋Š” ์Šคํƒ€์ผ์˜ pkl ํŒŒ์ผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • StyleGAN2์˜ ์ œ์•ˆ๊ณผ ์ด๋ก ์€ NVIDIA์˜ publication์„, StyleGAN2์˜ ์†Œ์Šค์ฝ”๋“œ๋Š” NVlab์˜ repository๋ฅผ ์ฐธ๊ณ ํ•˜์˜€๋‹ค.

4.2 Scaling mini-Xception

[๊ทธ๋ฆผ 6] mini-Xception์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ model 9์˜ ๊ตฌ์กฐ.

  • ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋Š” Xception์„ ๊ฒฝ๋Ÿ‰ํ™” ํ•œ CNN ๋ชจ๋ธ ๊ตฌ์กฐ์ธ mini-Xception ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•ด ๊ฐ์ • ๋ถ„๋ฅ˜์— ์‚ฌ์šฉํ–ˆ๋‹ค. Real-time์œผ๋กœ model import๊ฐ€ ๊ฐ€๋Šฅํ•  ์ •๋„๋กœ ์šฉ๋Ÿ‰์ด ๊ฐ€๋ณ๊ณ , ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆ˜๊ฐ€ ๊ธฐ์กด์˜ CNN ๋ชจ๋ธ๋ณด๋‹ค ํ›จ์”ฌ ์ ์€ ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค.
  • Original mini-Xception์— ๋Œ€ํ•ด์„œ๋Š” GitHub repository์™€ publication์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์˜ ์†Œ์Šค์ฝ”๋“œ๋Š” ์ด original repository์—์„œ ์˜๊ฐ์„ ๋ฐ›์€ GitHub ํ”„๋กœ์ ํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€๋‹ค.
  • Original mini-Xception ๊ตฌ์กฐ์— scaling์„ ์ง„ํ–‰ํ•˜์—ฌ ๊ฐ€์žฅ ๋†’์€ validation ์ •ํ™•๋„๋ฅผ ๋ณด์ธ ๋ชจ๋ธ 9๋ฅผ ์ตœ์ข… ๋ชจ๋ธ๋กœ ์„ ํƒํ–ˆ๋‹ค. ์ด 16๋ฒˆ์˜ scaling์„ ์ง„ํ–‰ํ•˜์˜€๊ณ , ๊ฐ๊ฐ์˜ ๋ชจ๋ธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๊ฒฐ๊ณผ๋ฌผ์€ 5.3 mini-Xception์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ตœ์ข…์ ์œผ๋กœ ์„ ์ •๋œ ๋ชจ๋ธ 9์˜ ๊ตฌ์กฐ๋Š” [๊ทธ๋ฆผ 6]๊ณผ ๊ฐ™๋‹ค. ๊ธฐ์กด์˜ 48x48์˜ ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ 94x94๋กœ ๋†’์˜€๊ณ (Resolution scaling), Convolution block์„ 4๋ฒˆ์ด ์•„๋‹Œ 6๋ฒˆ์œผ๋กœ 2๊ฐœ์˜ ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๋‹ค(Width/Depth scaling).
  • Original Xception๊ณผ Big-Xception ์—ญ์‹œ ์‚ฌ์šฉํ•ด ๋ณด์•˜์ง€๋งŒ, ์šฉ๋Ÿ‰ ๋Œ€๋น„ ์ •ํ™•๋„๊ฐ€ ๋†’์ง€ ์•Š์•„ real-time์— ์ ์ ˆํ•˜์ง€ ์•Š๋‹ค๊ณ  ์—ฌ๊ฒจ mini-Xception ๊ธฐ๋ฐ˜์˜ ๋ชจ๋ธ 9๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

5. Results

[๊ทธ๋ฆผ 7] personal emoji ์ƒ์„ฑ ๊ณผ์ •. ์™ผ์ชฝ๋ถ€ํ„ฐ StyleGAN2๋ฅผ ํ†ตํ•ด ์ƒ์„ฑํ•œ personal emoji ์›๋ณธ, mask๋ฅผ ์”Œ์šด ์ด๋ฏธ์ง€, mask ๋ถ€๋ถ„์„ ํˆฌ๋ช…ํ•˜๊ฒŒ ์ œ๊ฑฐํ•œ ์ด๋ฏธ์ง€, face crop์„ ํ•œ ์ตœ์ข… ์ด๋ฏธ์ง€.

  • Personal emoji๋Š” ์‚ฌ๋žŒ์˜ ์–ผ๊ตด์„ ํ† ๋Œ€๋กœ emoji์˜ ์Šคํƒ€์ผ์„ ๋ง์”Œ์›Œ ์ƒˆ๋กœ์šด emoji๋ฅผ ์ƒ์„ฑํ•œ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. [๊ทธ๋ฆผ 6]์„ ๋ณด๋ฉด ๊ฐ€์žฅ ์™ผ์ชฝ์˜ ์ด๋ฏธ์ง€๊ฐ€ ์‚ฌ๋žŒ์˜ ์–ผ๊ตด ์‚ฌ์ง„์„ base๋กœ ์ƒ์„ฑํ•œ personal emoji์ด๋‹ค. Emoji-fy ๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ ์ƒ์„ฑํ•œ ์‚ฌ์ง„์—์„œ ๋ฐฐ๊ฒฝ์„ ์ œ๊ฑฐํ•ด์ฃผ๊ธฐ ์œ„ํ•ด cv2์˜ Contour ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.
  • Contour ์˜์—ญ์„ ๊ฒ€์ถœํ•˜๊ณ , ๋ฐฐ๊ฒฝ์œผ๋กœ ์ถ”์ •๋˜๋Š” ๋ถ€๋ถ„์— mask๋ฅผ ์”Œ์šด๋‹ค. ์ด mask ๋ถ€๋ถ„์˜ ์ƒ‰์ƒ์„ ์ง€์›Œ์ฃผ๊ณ , RGBA๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ png ํŒŒ์ผ๋กœ ์ €์žฅํ•œ๋‹ค. ์ด png ํŒŒ์ผ์„ ์–ผ๊ตด ์˜์—ญ ์ค‘์‹ฌ์œผ๋กœ crop ํ•ด์ฃผ๋ฉด ์ตœ์ข… ์ด๋ฏธ์ง€์ธ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์˜ ์ด๋ฏธ์ง€๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ์ž์„ธํ•œ ์ฝ”๋“œ๋Š” Personal-Emoji ํด๋”์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

[๊ทธ๋ฆผ 8] ์‹ค์‹œ๊ฐ„ personal emoji ๋ Œ๋”๋ง ์˜ˆ์‹œ

  • mini-Xception ๊ตฌ์กฐ์˜ ๊ฒฝ์šฐ, ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆ˜๊ฐ€ ๊ธฐ์กด ๋ชจ๋ธ์— ๋น„ํ•ด ํ˜„์ €ํžˆ ์ ์–ด ์‹ค์‹œ๊ฐ„ ์˜์ƒ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ StyleGAN2์˜ ๊ฒฝ์šฐ, GPU ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ๊ณผ ์šฉ๋Ÿ‰์ด ๋งค์šฐ ์ปค projection์„ ํ•˜๋Š” ์‹œ๊ฐ„์ด ๋งค์šฐ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ ์„ ๊ณ ๋ คํ•˜์—ฌ [๊ทธ๋ฆผ 7]๊ณผ ๊ฐ™์ด ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•œ personal emoji๋ฅผ ๋ Œ๋”๋งํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ๋‹ค.
  • mini-Xception ๋ชจ๋ธ์€ omar178๊ณผ oarriaga์˜ ์ž‘์—…๋ฌผ๊ณผ ๋…ผ๋ฌธ์„ ์ฐธ๊ณ ํ•˜์—ฌ scaling ํ•˜์˜€๋‹ค.
Model Batch Size Resolution Augmentation # of Conv Blocks Architecture Val Acc Val Loss
origin 32 48x48 X 4 mini 0.6478 0.9646
1 32 48x48 O(1,000) 4 mini 0.6418 1.0114
2 32 48x48 O(5,000) 4 mini 0.6363 0.9962
3 48 48x48 O(5,000) 4 mini 0.6381 0.9445
4 32 48x48 O(10,000) 4 mini 0.6441 0.9836
5 32 48x48 O(10,000) 4 mini 0.6450 0.9814
6 48 128x128 O(10,000) 5 mini 0.6743 0.9449
7 32 128x128 O(10,000) 5 mini 0.6734 0.9678
8 48 96x96 O(10,000) 6 mini 0.6778 0.9307
9 32 96x96 O(10,000) 6 mini 0.6817 0.9269
10 32 72x72 O(10,000) 6 mini 0.6539 0.9622
11 32 48x48 O(10,000) 4 Big 0.6482 0.9949
12 32 94x94 O(10,000) 4 Big 0.6454 1.0088
13 32 128x128 O(10,000) 4 Big 0.6300 1.0584
14 32 96x96 O(10,000) 4 origin 0.6704 0.9361
15 32 96x96 O(10,000) 4 origin 0.6705 0.9304
16 32 96x96 O(10,000) 4 origin 0.6626 0.9816

[๋„ํ‘œ 1] Emotion Recognition Model Scaling ๊ณผ์ •

  • mini : mini-Xception, Big : Big-Xception, origin : Xception
  • Big-Xception๊ณผ origin-Xception์˜ ๊ฒฝ์šฐ, ๋ชจ๋ธ์˜ ์šฉ๋Ÿ‰ ๋Œ€๋น„ ์ •ํ™•๋„๊ฐ€ mini-Xception๋ณด๋‹ค ๋–จ์–ด์ ธ ์ถ”๊ฐ€์ ์œผ๋กœ scalingํ•˜์ง€ ์•Š์•˜๋‹ค.
  • Real-time์—์„œ ๋Œ์•„๊ฐ€๋Š” ๊ฒƒ์„ ์ดˆ๊ธฐ ๋ชฉํ‘œ๋กœ ํ–ˆ๊ธฐ์— validation set์— ๋Œ€ํ•œ ์ •ํ™•๋„๊ฐ€ original model๋ณด๋‹ค 4% ์˜ค๋ฅธ model 9๋ฅผ ์ตœ์ข… ๋ชจ๋ธ๋กœ ์„ ์ •ํ–ˆ๋‹ค.
  • Training๊ณผ Real-time Emotion Recognition ๊ด€๋ จ ์ฝ”๋“œ๋Š” Emotion-Recognition ํด๋”์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

5.4.1 Network Snapshots

[๊ทธ๋ฆผ 9] Emoji-fy ๋ชจ๋ธ์˜ network snapshot

[๊ทธ๋ฆผ 10] Baby-fy ๋ชจ๋ธ์˜ network snapshot

[๊ทธ๋ฆผ 11] Tooni-fy ๋ชจ๋ธ์˜ network snapshot

  • Emoji, Baby characters, Characters ๋ฐ์ดํ„ฐ ์…‹์„ FFHQ์„ base๋กœ ํ•™์Šต์‹œํ‚จ StyleGAN2 ๋ชจ๋ธ์˜ network snapshot์ด๋‹ค. Network๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฐ„๊ฒฉ์„ default ๊ฐ’์ธ 4์—์„œ 1๋กœ ์ค„์—ฌ ์Šคํƒ€์ผ์ด ์กฐ๊ธˆ์”ฉ ์ž…ํ˜€์ง€๋Š” ๊ณผ์ •๋“ค์„ ๋ณด๊ณ , ๊ฐ€์žฅ ๊ฒฐ๊ณผ๋ฌผ์ด ๋‚˜์€ ๋ชจ๋ธ์„ ์„ ์ •ํ–ˆ๋‹ค.
  • ๊ฒฐ๊ณผ๋ฌผ์—์„œ ์‚ฌ์šฉํ•œ Toonify ๋ชจ๋ธ์€ [๊ทธ๋ฆผ 11]์ด๋‹ค. FFHQ ๋ฐ์ดํ„ฐ ์…‹[๊ทธ๋ฆผ 1]๊ณผ ๋น„๊ตํ•˜๋ฉด ์›๋ณธ์—์„œ ์–ผ๋งˆ๋‚˜ ๋ณ€ํ–ˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. Training ์ฝ”๋“œ๋Š” StyleGAN2_Cartoon_Model.ipynb์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Emoji-fy model์˜ ๊ฒฐ๊ณผ๋ฌผ์€ ์—ฌ๊ธฐ์—์„œ, Baby-fy model์˜ ๊ฒฐ๊ณผ๋ฌผ์€ ์—ฌ๊ธฐ์—์„œ, Tooni-fy model์˜ ๊ฒฐ๊ณผ๋ฌผ์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

5.4.2 Compare Snapshots

[๊ทธ๋ฆผ 12] ์™ผ์ชฝ๋ถ€ํ„ฐ FFHQ, Emoji-fy, Baby-fy, Tooni-fy ๋ชจ๋ธ์˜ snapshot.

  • Snapshot ์† ํ•œ ์ธ๋ฌผ์„ ์ค‘์‹ฌ์œผ๋กœ ๋น„๊ตํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. Projection ๊ฒฐ๊ณผ๋ฌผ์ด ๊ฐ€์žฅ ์ผ์ •ํ•˜๊ณ , ์ด์˜๊ฒŒ ๋‚˜์˜ค๋Š” Tooni-fy ๋ชจ๋ธ์„ ์ตœ์ข… ๋ชจ๋ธ๋กœ ์„ ์ •ํ–ˆ๋‹ค.

5.4.3 Sample Images of Projection

[๊ทธ๋ฆผ 13] ์™ผ์ชฝ๋ถ€ํ„ฐ ์›๋ณธ ์ด๋ฏธ์ง€, ์–ผ๊ตด ์ค‘์‹ฌ์œผ๋กœ align๋œ ์ด๋ฏธ์ง€, Tooni-fied ์ด๋ฏธ์ง€.

  • ์™ผ์ชฝ์˜ ์›๋ณธ ์ด๋ฏธ์ง€๋Š” 100K Faces ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ๊ฐ€์ƒ์˜ ์ธ๋ฌผ ์‚ฌ์ง„์ด๋‹ค. ์ธํ„ฐ๋„ท ์ƒ์—์„œ ๋ฌด๋ฃŒ๋กœ ๊ณต๊ฐœ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ ๋งํฌ์—์„œ ์‚ฌ์ง„๋“ค์„ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • Projection์€ StyleGAN2์˜ FFHQ ์–ผ๊ตด ํƒ์ง€์™€ ์ •๋ ฌ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•œ๋‹ค. Projection ์ฝ”๋“œ๋Š” pinkney์˜ Toonify Yourself๋ฅผ ์ฐธ๊ณ ํ–ˆ๋‹ค.
[๊ทธ๋ฆผ 14] Sample 1(์™ผ์ชฝ)๊ณผ Sample 2(์˜ค๋ฅธ์ชฝ)์˜ Tooni-fied Video
[๊ทธ๋ฆผ 15] Sample 1(์™ผ์ชฝ)๊ณผ Sample 2(์˜ค๋ฅธ์ชฝ)์˜ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฌผ
  • Sample 1์€ ์Šค๋งˆํŠธํฐ ์ „๋ฉด ์นด๋ฉ”๋ผ๋ฅผ ์ด์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— FHD๊ฐ€ ์ตœ๋Œ€ ํ™”์งˆ์ด์—ˆ์ง€๋งŒ, Sample 2์˜ ๊ฒฝ์šฐ ํ›„๋ฉด ์นด๋ฉ”๋ผ๋ฅผ ์ด์šฉํ•˜์—ฌ UHD๋กœ ์ดฌ์˜ํ–ˆ๋‹ค. [๊ทธ๋ฆผ 13]๊ณผ [๊ทธ๋ฆผ 14]๋ฅผ ๋ณด๋ฉด ๋” ๊ณ ํ™”์งˆ๋กœ ์ดฌ์˜ํ•œ Sample 2์˜ ๊ฒฐ๊ณผ๋ฌผ์ด ์ข€ ๋” ์ข‹์€ ํ€„๋ฆฌํ‹ฐ๋กœ ์ƒ์„ฑ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • [๊ทธ๋ฆผ 12]์˜ projection ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด, ๊ณ ํ™”์งˆ์˜ ์‚ฌ์ง„ ํ•œ ์žฅ์— ๋Œ€ํ•ด์„œ๋Š” ๋งค์šฐ ์ข‹์€ ํ€„๋ฆฌํ‹ฐ์˜ ๊ฒฐ๊ณผ๋ฌผ์ด ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. [๊ทธ๋ฆผ 12]์™€ [๊ทธ๋ฆผ 13, 14] ๋ชจ๋‘ ๋™์ผํ•œ kimg(styleGAN2์˜ epoch๊ณผ ๊ฐ™์€ training step)์—์„œ ์ƒ์„ฑ๋˜์—ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , [๊ทธ๋ฆผ 12]์˜ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ฐฐ๊ฒฝ๊ณผ ์‚ฌ๋žŒ์˜ ์กฐํ™”๋‚˜, ์‚ฌ๋žŒ ์–ผ๊ตด์˜ identity features์— ์žˆ์–ด ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•œ ์ด์œ ๋ฅผ ํ™”์งˆ๊ณผ ๋ฐฐ๊ฒฝ ์ƒ‰์˜ ์ผ๊ด€์„ฑ์ด๋ผ๊ณ  ํ•ด์„ํ•˜๊ณ  ์žˆ๋‹ค. ์‚ฌ๋žŒ ๋’ค์˜ ๋ฐฐ๊ฒฝ์ด ์ผ๊ด€๋œ ์ƒ‰์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๋งค์šฐ ๊ณ ํ™”์งˆ๋กœ ์˜์ƒ์„ ์ดฌ์˜ํ•œ ๊ฒฝ์šฐ ์ข€ ๋” ์„ ๋ช…ํ•˜๊ณ  ๋ฐฐ๊ฒฝ์ด ์ผ๊ด€์ ์ธ ์˜์ƒ์ด ์ƒ์„ฑ๋œ๋‹ค.

5.5.1 How to Create Sample Video

  1. 1080p ์ด์ƒ์˜ ํ™”์งˆ(FHD ์ด์ƒ, 30fps)๋กœ ์–ผ๊ตด ๋™์˜์ƒ์„ ์ดฌ์˜ํ•œ๋‹ค.
  2. ์ดฌ์˜ํ•œ ์›๋ณธ ์˜์ƒ์„ 10 ํ”„๋ ˆ์ž„์— 1์žฅ์”ฉ ํ”„๋ ˆ์ž„์„ ๋ฐ›์•„์™€ ์ €์žฅํ•œ๋‹ค.
  3. ์ €์žฅํ•œ ์ด๋ฏธ์ง€๋ฅผ StyleGAN2 FFHQ ๋ชจ๋“ˆ์„ ํ™œ์šฉํ•ด ์–ผ๊ตด ์˜์—ญ๋งŒ cropํ•˜๊ณ , alignํ•œ๋‹ค.
  4. Aligned ์ด๋ฏธ์ง€๋ฅผ Tooni-fy ๋ชจ๋ธ์— projectionํ•œ๋‹ค.
  5. Projection ์ด๋ฏธ์ง€๋“ค์„ ๋ชจ์•„์„œ cv2์˜ VideoWriter๋กœ mp4 ์˜์ƒ(fps=3)์„ ์ƒ์„ฑํ•œ๋‹ค.
  6. [๊ทธ๋ฆผ 13]์˜ ์˜์ƒ์ด ์ƒ์„ฑ๋œ๋‹ค.

5.5.2 How to Create Final Output

  1. [๊ทธ๋ฆผ 13]์˜ ์˜์ƒ์„ ๊ฐ€์ ธ์˜จ๋‹ค.
  2. ์˜์ƒ์—์„œ Emotion Recognition์„ ์‹ค์‹œํ•œ๋‹ค. ์ด๋•Œ, ์–ผ๊ตด์ด ๊ฒ€์ถœ๋˜์ง€ ์•Š์œผ๋ฉด Cannot detect face region ์ด๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค.
  3. Emotion Recognition์„ ๋ชจ๋“  ํ”„๋ ˆ์ž„์— ์‹ค์‹œํ•˜๊ณ  ๊ฒ€์ถœ๋œ ํ‘œ์ • ์ •๋ณด๋ฅผ ์‚ฝ์ž…ํ•œ ํ”„๋ ˆ์ž„์„ ๋‹ค์‹œ ์ €์žฅํ•œ๋‹ค.
  4. ์ด ํ”„๋ ˆ์ž„์„ VideoWriter๋กœ mp4 ์˜์ƒ(fps=3)์„ ์ƒ์„ฑํ•œ๋‹ค.
  5. [๊ทธ๋ฆผ 14]์€ ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ์ตœ์ข… ์˜์ƒ์„ 0.5๋ฐฐ์†ํ•œ ๊ฒƒ์ด๋‹ค. ์˜์ƒ์ด ๋Š๊ฒจ ๋ณด์ด๋Š” ๊ฒƒ์„ ์ตœ์†Œํ™” ํ•˜๊ธฐ ์œ„ํ•ด fps๋ฅผ 3์œผ๋กœ ์ƒ์„ฑํ–ˆ์œผ๋‚˜, ํ‘œ์ • ์ธ์‹ ๊ฒฐ๊ณผ๋ฌผ์„ ์ฒœ์ฒœํžˆ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋А๋ฆฐ ๋ฒ„์ „์˜ gif ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

๋ชจ๋“  ํ”„๋ ˆ์ž„(์›๋ณธ, tooni-fied, emotion-recognition)์€ ์ด๋ฏธ์ง€๋กœ ์ €์žฅํ•˜๊ณ , ์˜์ƒ์œผ๋กœ๋„ ์ €์žฅํ–ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์ด๋ฏธ์ง€์— ๋”ฐ๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž˜ ์ด๋ฃจ์–ด์กŒ๋Š”์ง€, ์„ธ๋ถ€์ ์ธ ๊ฒฐ๊ณผ๋ฌผ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๋ ‡๊ฒŒ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ์ž์„ธํ•œ ์ฝ”๋“œ์˜ ๋‚ด์šฉ์€ ํ˜„์žฌ repository์— ์—…๋กœ๋“œํ•œ Frame_by_frame_Emotion_Classification_and_Emojify.ipynb์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

6. Reference

This project was inspired by these amazing projects below. If you want to see the original project of StyleGAN2, Toonify, and Emotion Recognition using mini-Xception, please visit the address below.

6.1 StyleGAN2 & Toonify

  1. NVlab์˜ original StyleGAN2 Repo.
  2. Pinkney์˜ StyleGAN2 fork.
  3. dvschultz์˜ StyleGAN2 fork.
  4. Pinkney์˜ Toonify Yourself!

6.2 mini-Xception

  1. Oarriaga์˜ mini-Xception Repo.
  2. omar178์˜ mini-Xception ์‘์šฉ Repo.

About

Emotion recognition using Tensorflow, Keras. Generate personal emoji from real face image using StyleGAN2.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published