[Paper Review๐Ÿ“š] <MetaIQA: Deep Meta-learning for No-Reference Image Quality Assessment>

ํ˜œ๋นˆยท2021๋…„ 2์›” 14์ผ
2

Hyebbb Paper Review

๋ชฉ๋ก ๋ณด๊ธฐ
2/3
post-thumbnail

CVPR 2020์— accept๋œ < MetaIQA: Deep Meta-learning for No-Reference Image Quality Assessment >๋ฅผ ์ฝ๊ณ  ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ด๋‹ค.


1. Introduction

Image์˜ quality๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ๋ฐ์ดํ„ฐ์˜ reference๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— IQA ๋ฐฉ์‹ ์ค‘์—์„œ๋Š” NR(No-Reference) ๋ฐฉ์‹์ด ๊ฐ€์žฅ ๋งŽ์ด ์—ฐ๊ตฌ๋˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

NR ๋ฐฉ์‹์˜ IQA ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์™œ๊ณก๋œ ์ด๋ฏธ์ง€์˜ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์ฐธ์กฐํ•˜์ง€ ์•Š๊ณ  quality์„ ํ‰๊ฐ€ํ•˜๋Š”๋ฐ, ์ฒ˜์Œ ์ด์™€ ๊ด€๋ จํ•œ ์—ฐ๊ตฌ๋“ค์€ ๋Œ€๋ถ€๋ถ„ ํŠน์ •ํ•œ distortion type์— focus๋ฅผ ๋งž์ถ”๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ดํ›„ generalํ•œ ๋ชฉ์ ์— ๋งž๋Š” NR-IQA์˜ ์—ฐ๊ตฌ๊ฐ€ ํ™œ๋ฐœํ•ด์กŒ๊ณ , ์ตœ๊ทผ ๋“ค์–ด์„œ๋Š” dcnn(deep convolutional neural networks)๋“ค๋กœ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” NR-IQA๊ฐ€ ์—ฐ๊ตฌ๋˜์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ์—ฐ๊ตฌ๋œ dcnn๊ธฐ๋ฐ˜์˜ metric์ด ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋Š” ๊ต‰์žฅํžˆ ๋ฐฉ๋Œ€ํ•œ parameter๋“ค์ด ํฌํ•จ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด์—ˆ๊ณ , ์ด ๋•Œ๋ฌธ์— ๊ต‰์žฅํžˆ ๋งŽ์€ ์–‘์˜, ์‚ฌ๋žŒ์— ์˜ํ•ด annotation ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์ด ํ•„์š”ํ–ˆ๋‹ค๋Š” ํ•œ๊ณ„์ ์ด ์กด์žฌํ–ˆ๋‹ค. annotation ๋˜์–ด ์žˆ๋Š” IQA database ์–‘์˜ ํ•œ๊ณ„๋กœ overfitting์˜ ๋ฌธ์ œ์ ์ด ๋ฐœ์ƒํ•˜์˜€๊ณ , overfitting์„ ์™„ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด metric๋“ค์ด ๋Œ€๋ถ€๋ถ„ big training data(ex. ImageNet)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” pre-trained network์— ์˜์กด์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ์—๋„ ๊ทธ๋ ‡๊ฒŒ ๋งŒ์กฑ์Šค๋Ÿฌ์šด ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค์ง€๋Š” ๋ชปํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

์ด์— ๋Œ€ํ•ด ์ด ๋…ผ๋ฌธ์—์„œ๋Š”, pretrained๋œ ๋ชจ๋ธ์ด IQA task๋ฅผ ์œ„ํ•ด ๋””์ž์ธ๋œ๊ฑด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด distortion type์— ๋Œ€ํ•ด์„œ๋Š” ์ ์‘ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ์ ์—์„œ ์•ž์„œ ๋งํ•œ ๋งŒ์กฑ์Šค๋Ÿฝ์ง€ ๋ชปํ–ˆ๋˜ ๊ฒฐ๊ณผ๋Š” ๋‹น์—ฐํ•œ ๊ฒฐ๊ณผ๋ผ๊ณ  ์ง€์ ํ•œ๋‹ค.

๊ทธ๋ž˜์„œ ์ด ๋…ผ๋ฌธ์—์„œ๋Š” ์ด๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ ๋‹ค์–‘ํ•œ distortion์—์„œ๋„ ์ž˜ ํŒ๋‹จ์„ ๋‚ด๋ฆฌ๋Š” Image Quality Metric์„ ์ œ์•ˆํ•˜๋Š”๋ฐ,

deep meta-learning์— ๊ธฐ๋ฐ˜ํ•œ NR-IQA metric

Brighten, White noise, Motion blur ๋“ฑ์˜ image quality์— ๋Œ€ํ•œ ์‚ฌ์ „ ์ง€์‹๋“ค์„ ์–ป์–ด์„œ ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ชจ๋ฅด๋Š” distortion์„ ๊ฐ€์ง€๋Š” image์˜ quality์— ๋Œ€ํ•œ ํ‰๊ฐ€๋ฅผ ํ•˜๋Š” ์‚ฌ๋žŒ์˜ ํ‰๊ฐ€๋ฐฉ์‹์„ motivation ์‚ผ์•„ deep meta-learning์— ๊ธฐ๋ฐ˜ํ•œ NR-IQA metric์„ ์ œ์•ˆํ•œ๋‹ค.


2. Proposed Method


์ „์ฒด์ ์ธ framework๋Š” ํฌ๊ฒŒ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ ์ ธ ์žˆ๋‹ค.

    1. meta learning์„ ์‚ฌ์šฉํ•ด์„œ ๋‹ค์–‘ํ•œ distortion์— ํŠน์ •๋œ NR-IQA task๋“ค์˜ ์ „๋ฐ˜์ ์ธ ๊ทœ์น™๋“ค์„ ์ฐพ๊ณ ,
    1. ํ•™์Šต๋œ ์‚ฌ์ „ ์ง€์‹๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ unknown distortion์— ๋Œ€ํ•œ NR-IQA task์— ๋Œ€ํ•ด์„œ fine-tuning์„ ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

์ฆ‰ meta learning ์ค‘ few shot learning์ด ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ์œผ๋ฉฐ, "์‚ฌ์ „ ์ง€์‹์„ ๊ณต์œ ํ•จ์œผ๋กœ์จ" ์ ์€ ์ˆ˜์˜ example๋งŒ ๊ฐ€์ง€๊ณ  unknown distortion์— ๋Œ€ํ•œ NR-IQA model์ด ์ž˜ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ ๊ฒƒ์ด๋‹ค.


Meta-training for quality prior model

์ฒซ ๋ถ€๋ถ„๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์•Œ์•„๋ณด์ž.

์ด ๋ชจ๋ธ์—์„œ๋Š” meta learning ์ ‘๊ทผ ๋ฐฉ์‹์ค‘ optimization์— ๊ธฐ๋ฐ˜ํ•œ ๋ฐฉ์‹์ด ๋„์ž…๋˜์—ˆ๋‹ค.

๋จผ์ € ๋งŽ์€ NR-IQA task๋“ค๋กœ๋ถ€ํ„ฐ quality ์‚ฌ์ „ ์ง€์‹๋“ค์˜ ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์„ ํ•™์Šตํ•œ๋‹ค. ์ด ๋•Œ two level gradient descent method๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋จผ์ € ๊ฐ๊ฐ์˜ NR-IAQ task์— ๋Œ€ํ•œ training data๋ฅผ support set๊ณผ query set์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ , ์ด ๋‘ level๋กœ ์ด๋ฃจ์–ด์ง„ gradient optimization์„ bi-level gradient optimization์ด๋ผ๊ณ  ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

๊ฐ๊ฐ์˜ set์˜ ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

Dmetap(ฯ„)=[Dsฯ„n,Dqฯ„n]n=1ND_{meta}^{p(\tau) } = [D_{s}^{\tau_{n}},D_{q}^{\tau_{n}}]_{n=1}^{N}
  • support set: ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์˜ gradient๋ฅผ ๊ณ„์‚ฐ -> ํŒŒ๋ผ๋ฏธํ„ฐ ์—…๋ฐ์ดํŠธ
  • query set: ์—…๋ฐ์ดํŠธ๋œ ๋ชจ๋ธ์ด ํšจ๊ณผ์ ์œผ๋กœ ํ–‰ํ•ด์ง€๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ์—ญํ• 

์ด "bi-level gradient optimization์— ๊ธฐ๋ฐ˜ํ•œ meta learning ๋ฐฉ๋ฒ•"์ด quality score์„ ๋ฝ‘์•„๋‚ด๋Š” regression network์— ์ ์šฉ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

Meta-learning with bi-level gradient optimization

์ด๋ฅผ ์ข€ ๋” ์ž์„ธํžˆ ์ˆœ์„œ๋Œ€๋กœ ์‚ดํŽด๋ณด์ž.

  1. ๋จผ์ € support set, query set์„ ์„œ๋กœ ๊ฒน์น˜์ง€ ์•Š๋„๋ก ์ด N๊ฐœ๋กœ ๊ตฌ์„ฑ๋œ meta training set์— ๋Œ€ํ•ด์„œ k task๋“ค์„ mini-batch๋กœ ๋žœ๋ค ์ƒ˜ํ”Œ๋งํ•œ๋‹ค.

  2. mini-batch ์†์˜ ๊ฐ๊ฐ์˜ Support set์— ๋Œ€ํ•ด ์˜ˆ์ธก๊ฐ’๊ณผ ground truth์ธ quality score์˜ ์ฐจ์ด๋กœ loss๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ 

    y^=fฮธ(x;ฮธ)\widehat{y} = f_{\theta}(x;\theta)
    L=โˆฅfฮธ(x;ฮธ)โˆ’yโˆฅ22L = \left \| f_{\theta}(x;\theta) - y \right \|_{2}^{2}
  3. support set์— ๋Œ€ํ•ด์„œ Adam optimizer์„ ์‚ฌ์šฉํ•ด์„œ loss๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ optimizeํ•œ ฮธโ€ฒ{\theta}'๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค.

  4. ๋‹ค์Œ query set์— ๋Œ€ํ•ด์„œ ๋™์ผํ•˜๊ฒŒ Adam optimizer์„ ์‚ฌ์šฉํ•ด์„œ loss๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ optimizeํ•œ ฮธ\theta ๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค.

=> k task์— ๋Œ€ํ•œ mini-batch์— ๋Œ€ํ•œ ฮธi\theta_{i}๊ฐ’์ด ๊ณ„์‚ฐ๋˜์–ด ๋‚˜์˜ค๊ณ  ๊ทธ ์ตœ์ข…์ ์ธ ฮธ\theta๊ฐ’์ด update๋˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

์ด๋ฅผ ๊ณ„์†ํ•ด์„œ minibatch๋กœ samplingํ•˜๋ฉด, k๊ฐœ์˜ ๋‹ค์–‘ํ•œ task์— ๋Œ€ํ•ด image distortion์„ ๊ณต์œ ํ•˜๋Š” quality prior model์ด ์–ป์–ด์ง€๊ฒŒ ๋œ๋‹ค!

Fine-tuning for unknown distortions

๋‹ค์Œ์œผ๋กœ quality prior model์ด ํ•™์Šต๋˜๊ฒŒ ๋˜๋ฉด, ์ด ๋ชจ๋ธ์€ unknwon distortion์— ๋Œ€ํ•œ NR-IQA task์— fine-tuning์„ ์œ„ํ•œ ์‚ฌ์ „ ์ง€์‹์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. m๊ฐœ์˜ annotated quality score์„ ๊ฐ€์ง€๋Š” ์ ์€ ์–‘์˜ training image๊ฐ€ ์ฃผ์–ด์ง€๋ฉด,

์ด๋Ÿฌํ•œ loss function์„ ์‚ฌ์šฉํ•ด์„œ ๋จผ์ € loss๋ฅผ ๊ตฌํ•˜๊ณ 

L=1Mโˆ‘i=1Mโˆฅy^iโˆ’yiโˆฅ22L = \frac{1}{M}\sum_{i=1}^{M}\left \| \widehat{y}_{i} - y_{i} \right \|_{2}^{2}

์‚ฌ์ „์˜ prior model์„ Adam optimizer ์ด์šฉํ•˜์—ฌ optimizeํ•œ๋‹ค.(์ฆ‰, fine-tuningํ•œ๋‹ค!).

fine tuning๊นŒ์ง€ ๊ฑฐ์นœ quality model์€ unknown distortion๋ฅผ ๊ฐ€์ง„ input image x(query image๋ผ๊ณ  ํ•œ๋‹ค)์˜ quality socre๋„ ์ถฉ๋ถ„ํžˆ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์ด ๋œ๋‹ค.

y^=fฮธte(x;ฮธte)\widehat{y} = f_{\theta_{te}}(x;\theta_{te})

(์ด ๋•Œ ์ด Finetuning ๊ณผ์ •์—์„œ๋Š”, ์‚ฌ์ „์˜ prior model์„ ๊ฐ€์ ธ์™€ fine-tuningํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”๊ฐ€์ ์ธ parameter๋“ค ํ•™์Šต์ด ํ•„์š” ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•™์Šต ํšจ์œจ์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜๊ณ , generalization ability ์—ญ์‹œ ํ–ฅ์ƒ๋œ๋‹ค!)

Algorithm Summary


์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋‹ค์‹œ ๋ณด๋ฉด, ํฌ๊ฒŒ ๋‘ ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , 1) ๋จผ์ € prior model ํ•™์Šต์„ ์œ„ํ•œ meta-training์ด ์ด๋ฃจ์–ด์ง„ ๋‹ค์Œ, 2) unknown distortion์„ ๊ฐ€์ง„ image์˜ NR-IQA task๋ฅผ ์œ„ํ•œ fine-tuning์ด ์ด๋ฃจ์–ด์ ธ ๋ชจ๋ธ์ด ํ•™์Šต๋˜๊ณ , ๊ฒฐ๊ตญ query image x๋ฅผ ์ด ํ•™์Šตํ•œ quality model์— ๋„ฃ์—ˆ์„ ๋•Œ quality score์„ ์˜ˆ์ธกํ•ด์„œ ๋ฝ‘์•„๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


3. Experiment

์ด model์€ backbone model๋กœ ResNet 18 layer network๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ , ๋ฐ์ดํ„ฐ๋Š” 224*224 pixel patch๋กœ random cropํ•˜์—ฌ trainingํ•˜์˜€๋‹ค.

์ธ๊ณต์ ์œผ๋กœ ์™œ๊ณก์„ ์‹œํ‚จ IQA database์— ๋Œ€ํ•ด์„œ๋ž‘ ์‹ค์ œ๋กœ ์™œ๊ณก์ด ์ผ์–ด๋‚œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด quality score์„ ๋ฝ‘์•„๋‚ด์„œ ๊ทธ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ํ•จ๊ป˜ annotation ๋˜์–ด ์žˆ๋Š” score(์‚ฌ๋žŒ์ด 1์—์„œ 100์‚ฌ์ด๋กœ ์ค€ quality score)์™€์˜ ํ”ผ์–ด์Šจ ์ƒ๊ด€๊ณ„์ˆ˜&์Šคํ”ผ์–ด๋งจ ์ƒ๊ด€๊ณ„์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์ด ๋ชจ๋ธ์„ ํ‰๊ฐ€ํ•˜์˜€๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ, ๊ธฐ์กด์˜ sota model์„ ๋›ฐ์–ด ๋„˜๋Š” ์•„์ฃผ ์ข‹์€ ์„ฑ๋Šฅ์ด ๋‚˜์™”๋‹ค๊ณ  ํ•œ๋‹ค!


4. Result


Gradient map์— ๋Œ€ํ•ด์„œ Visualization์„ ํ•œ ๊ฒฐ๊ณผ๋„ ๋ณด๋ฉด, blur๊ฐ€ ์‹ฌํ•œ ๋ถ€๋ถ„(distortion์ด ๊ฐ•ํ•œ ๋ถ€๋ถ„)์˜ distortion ์œ„์น˜๋“ค์„ ์ •ํ™•ํ•˜๊ฒŒ ์žก์•„๋‚ด๊ณ  ์žˆ๋Š”๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


๋…ผ๋ฌธ ์ •๋ฆฌ๋ฅผ ๋งˆ์น˜๋ฉฐ, ๋‹ค์‹œ ์งš์–ด๋ณด๋ฉด

    1. meta learning์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ „ ์ง€์‹๋ชจ๋ธ(prior model)์„ ํ•™์Šตํ•˜๊ณ 
    1. ํ•™์Šต๋œ ์‚ฌ์ „ ์ง€์‹๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ unknown distortion์— ๋Œ€ํ•œ NR-IQA task์— ๋Œ€ํ•ด fine-tuningํ•˜๋Š”

์ด ๋‘ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋œ MetaIQA์„ ์ด ๋…ผ๋ฌธ์—์„œ๋Š” ์ œ์‹œํ•˜์˜€๋‹ค.

meta learning ๋ฐฉ์‹์„ IQA task์— ๋Œ๊ณ  ์™”๊ณ , ์ข‹์€ ์„ฑ๋Šฅ์„ ์ด๋Œ์—ˆ๋‹ค๋Š” ์ ์ด ์ธ์ƒ๊นŠ์—ˆ๋‹ค. meta learning์— ๋Œ€ํ•ด ์ •ํ™•ํžˆ ๋งŽ์ด ์•Œ๊ณ  ์žˆ์ง€ ๋ชปํ•ด ๋…ผ๋ฌธ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์•„์‰ฌ์› ๋˜ ๊ฒƒ ๊ฐ™์•„ meta learning์— ๋Œ€ํ•œ ์ œ๋Œ€๋กœ ๋œ ๊ณต๋ถ€์™€ ๊ธ€๋„ ๋‚จ๊ฒจ๋ด์•ผ๊ฒ ๋‹ค!

๋`(>๏น<)โ€ฒ

profile
(โยดโ—ก`โ)

0๊ฐœ์˜ ๋Œ“๊ธ€