๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ› Research/Detection & Segmentation

[Object Detection] DETR ๋ชจ๋ธ ์™„์ „ ์ •๋ณตํ•˜๊ธฐ !! | End-to-end ๊ฐ์ฒด ๊ฒ€์ถœ ๋ชจ๋ธ

by ๋ญ…์ฆค 2024. 8. 10.
๋ฐ˜์‘ํ˜•

 

๊ฐ์ฒด ๊ฒ€์ถœ(Object Detection)์€ ์ปดํ“จํ„ฐ ๋น„์ „ ๋ถ„์•ผ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋กœ, ์ด๋ฏธ์ง€ ๋‚ด์—์„œ ๊ฐ์ฒด์˜ ์œ„์น˜์™€ ์ข…๋ฅ˜๋ฅผ ์‹๋ณ„ํ•˜๋Š” ์ž‘์—…์ด์—์š”. ์˜ค๋Š˜์€ ๊ฐ์ฒด ๊ฒ€์ถœ ๋ถ„์•ผ์—์„œ ํ•œ ํš์„ ๊ทธ์€ DETR (Detection Transformer) ๋ชจ๋ธ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๋ ค ํ•ด์š”.

 

์–ด๋–ค ๊ฒƒ์„ ์œ„์ฃผ๋กœ ๋ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด, 1) ํŠธ๋žœ์Šคํฌ๋จธ ๋””์ฝ”๋”, 2) ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ, 3) ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ ์„ ์œ„์ฃผ๋กœ ๋ณด์‹œ๋ฉด ๋ผ์š”-!

 

Transformer ๊ธฐ๋ณธ ๊ตฌ์กฐ์™€ ์—ญํ•  ๋ฐ self-attention ์— ๋Œ€ํ•ด์„œ ์•Œ๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ ๋ณด์‹œ๋Š”๊ฒŒ ์ข‹์•„์š”.

๋˜ํ•œ ํ˜„์žฌ๋Š” ๊ธฐ๋ณธ DETR ๋ชจ๋ธ๋ณด๋‹ค๋Š” DETR ๊ธฐ๋ฐ˜์˜ ์กฐ๊ธˆ ๋” ๋ฐœ์ „๋œ ํ˜•ํƒœ์˜ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋‹ˆ, ์ฐธ๊ณ  ๋ถ€ํƒ๋“œ๋ ค์š”.


1. ์ธํŠธ๋กœ

 

DETR์€ Transformer ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ตœ์ดˆ์˜ ๊ฐ์ฒด ๊ฒ€์ถœ ๋ชจ๋ธ์ด์—์š”. ๊ธฐ์กด์˜ ๊ฐ์ฒด ๊ฒ€์ถœ ๋ชจ๋ธ๋“ค๊ณผ ๋‹ฌ๋ฆฌ, DETR์€ ์•ต์ปค ๋ฐ•์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด ๋ชจ๋ธ ๊ตฌ์กฐ์˜ ๋ณต์žก์„ฑ์„ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ์–ด์š”. ๋˜ํ•œ, ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ํ•™์Šต ๊ณผ์ •์„ ๋‹จ์ˆœํ™”ํ•˜์—ฌ ๋” ์ง๊ด€์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๊ฐ์ฒด ๊ฒ€์ถœ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ „ํ†ต์ ์ธ ๊ฐ์ฒด ๊ฒ€์ถœ ๋ชจ๋ธ๋“ค์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์•ต์ปค ๋ฐ•์Šค(Anchor Box)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ์ˆ˜๋งŽ์€ ํ›„๋ณด ์˜์—ญ์„ ์ƒ์„ฑํ•œ ํ›„, ์ด๋ฅผ ํ›„์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฐฉ์‹์€ ์•ต์ปค ๋ฐ•์Šค์˜ ์ˆ˜์™€ ํฌ๊ธฐ์— ๋ฏผ๊ฐํ•˜๋ฉฐ, NMS(Non-Maximum Suppression)๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ํ›„์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐ˜๋ฉด DETR์€ ์ด๋Ÿฌํ•œ ๋ณต์žกํ•œ ๊ณผ์ • ์—†์ด ๊ฐ์ฒด ๊ฒ€์ถœ์„ End-to-end๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

End-to-end ๊ฒ€์ถœ์˜ ๋น„๊ฒฐ: ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ

DETR์ด ์—”๋“œ ํˆฌ ์—”๋“œ๋กœ ๊ฐ์ฒด ๊ฒ€์ถœ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋น„๊ฒฐ์€ ๋ฐ”๋กœ ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•œ loss ํ•จ์ˆ˜ ์„ค๊ณ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ์€ ์˜ˆ์ธก๋œ ๊ฐ์ฒด์™€ ์‹ค์ œ ๊ฐ์ฒด ๊ฐ„์˜ ์ตœ์  ๋งค์นญ์„ ์ฐพ์•„์ฃผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, DETR์˜ loss ๊ณ„์‚ฐ์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

 

ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ์€ 4๋ฒˆ์—์„œ ์กฐ๊ธˆ ๋” ์ƒ์„ธํ•˜๊ฒŒ ์‚ดํŽด๋ณผ๊ฒŒ์š”.

 

2. DETR ์•„ํ‚คํ…์ฒ˜ 

DETR์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ํฌ๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์–ด์š”.

๋ฐฑ๋ณธ(Backbone), Transformer Encoder-Decoder, ๊ทธ๋ฆฌ๊ณ  ์˜ˆ์ธก ํ—ค๋“œ(Prediction Head)

 

2.1. ๋ฐฑ๋ณธ(Backbone)

  • DETR์˜ ๋ฐฑ๋ณธ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ResNet๊ณผ ๊ฐ™์€ CNN ๋ชจ๋ธ์ด ์‚ฌ์šฉ๋จ
  • ์ผ๋ฐ˜์ ์ธ ๊ฐ์ฒด ๊ฒ€์ถœ ๋ชจ๋ธ๊ณผ ๋™์ผํ•˜๊ฒŒ CNN ๋ฐฑ๋ณธ์€ ์ด๋ฏธ์ง€ feature๋ฅผ ์ถ”์ถœ
  • ์ถ”์ถœ๋œ ํ”ผ์ฒ˜ ๋งต์€ ์ดํ›„ Transformer๋กœ ์ „๋‹ฌ๋ผ์š”.

 

2.2. Transformer Encoder-Decoder

  • ์ธ์ฝ”๋”(Encoder)
    • Feaure๋ฅผ ์ธ์ฝ”๋”ฉํ•˜์—ฌ ๊ฐ ์œ„์น˜์˜ global context๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
    • ์ด ๋ถ€๋ถ„์€ ๊ธฐ์กด ํŠธ๋žœ์Šคํฌ๋จธ ์ธ์ฝ”๋”์™€ ๋™์ผํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ด์š”
    • ์ถ”์ƒ์ ์œผ๋ก  CNN ๋ฐฑ๋ณธ์œผ๋กœ ์ถ”์ถœ๋œ ์ด๋ฏธ์ง€ feature๋ฅผ self-attention์„ ํ†ตํ•ด global feature๋ฅผ ๊ฐ•ํ™”ํ•˜๋Š” ๊ณผ์ •์ด๋ผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.
  • ๋””์ฝ”๋”(Decoder)
    • ๋””์ฝ”๋”๋Š” ์ธ์ฝ”๋” ์ถœ๋ ฅ feature์™€ ๊ณ ์ •๋œ ์ˆ˜์˜ ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ(object query)๋ฅผ ์ž…๋ ฅ๋ฐ›์•„, ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ์˜ˆ์ธก๋œ ๊ฐ์ฒด์˜ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ์—์š”! (์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ๋Š” ์•„๋ž˜์—์„œ ์กฐ๊ธˆ ๋” ์ƒ์„ธํ•˜๊ฒŒ ์‚ดํŽด๋ณผ๊ฒŒ์š”!)
    • ๋””์ฝ”๋”์—์„œ๋Š” self-attention, cross-attention ๋‘ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์—ฐ์‚ฐ ๊ณผ์ •์ด ์žˆ์–ด์š”.
    • Self-Attention
      • ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ๊ฐ€ ๋‹ค๋ฅธ ์ฟผ๋ฆฌ๋“ค๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜์—ฌ, ์„œ๋กœ ๊ฐ„์˜ ์ƒ๊ด€ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ณผ์ •
    • Cross-Attention
      • ์ธ์ฝ”๋” ์ถœ๋ ฅ feature๋ฅผ ์ฐธ์กฐํ•˜์—ฌ, ๊ฐ ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ๊ฐ€ ์ด๋ฏธ์ง€ ํŠน์ • ์˜์—ญ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์—ฐ์‚ฐ ๊ณผ์ •์ด์—์š”
      • ์ด ๊ณผ์ •์—์„œ ์ฟผ๋ฆฌ๋Š” ์ด๋ฏธ์ง€ ๋‚ด์—์„œ ์ž์‹ ๊ณผ ๊ด€๋ จ๋œ feature๋ฅผ ์„ ํƒํ•˜๊ณ  ํ•ด๋‹น feature๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ์ฒด์˜ ์œ„์น˜์™€ ํด๋ž˜์Šค ์ •๋ณด๋ฅผ ์˜ˆ์ธกํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด์ฃ 

 

2.3. ์˜ˆ์ธก ํ—ค๋“œ(Prediction Head):

  • ๋””์ฝ”๋”์˜ ์ถœ๋ ฅ์„ ๋ฐ›์•„ ์ตœ์ข…์ ์œผ๋กœ ๊ฐ์ฒด์˜ ๋ ˆ์ด๋ธ”๊ณผ ๋ฐ”์šด๋”ฉ ๋ฐ•์Šค ์ขŒํ‘œ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ด์š”
  • ์˜ˆ์ธก ํ—ค๋“œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ Feed-Forward Network(FFN)์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ ๋ ˆ์ด์–ด๋Š” fc layer๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด์š”.
  • Class Prediction Head
    • ๊ฐ ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ๋กœ๋ถ€ํ„ฐ ์˜ˆ์ธก๋œ ๊ฐ์ฒด์˜ ํด๋ž˜์Šค๋ฅผ ์ถœ๋ ฅํ•ด์š”
    • (num query, batch, hidden_dim) ํฌ๊ธฐ์˜ ๋””์ฝ”๋” ์ถœ๋ ฅ์„ ๋ฐ›์•„ (num query, batch, num of class) ํฌ๊ธฐ์˜ ํ…์„œ๋ฅผ ์ถœ๋ ฅ
  • BBox Prediction Head
    • ๊ฐ ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ์˜ˆ์ธก๋œ ๊ฐ์ฒด์˜ ๋ฐ”์šด๋”ฉ ๋ฐ•์Šค ์ขŒํ‘œ๋ฅผ ์ถœ๋ ฅํ•ด์š”
    • (num query, batch, hidden_dim) ํฌ๊ธฐ์˜ ๋””์ฝ”๋” ์ถœ๋ ฅ์„ ๋ฐ›์•„ (num query, batch, 4) ํฌ๊ธฐ์˜ ํ…์„œ๋ฅผ ์ถœ๋ ฅ
    • bbox ์ขŒํ‘œ๋Š” 0~1 ํฌ๊ธฐ๋กœ ๋…ธ๋ฉ€๋ผ์ด์ฆˆ๋œ [center_x, center_y, width, height] ํ˜•์‹์˜ bbox ์ขŒํ‘œ์—์š”

 

3. ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ(Object Query)

  • ๋””์ฝ”๋”์˜ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ๋Š” ๊ณ ์ •๋œ ์ˆ˜์˜ ํ•™์Šต ๊ฐ€๋Šฅํ•œ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋กœ, ๊ฐ ์ฟผ๋ฆฌ๋Š” ์˜ˆ์ธกํ•  ๊ฐ์ฒด์˜ ์ •๋ณด๋ฅผ ํ‘œํ˜„ํ•ด์š”.
  • ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ๋Š” ๋ชจ๋ธ์ด ๊ฐ ๊ฐ์ฒด๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ํƒ์ง€ํ•˜๋„๋ก ๋„์™€์ฃผ๋ฉฐ, ์ด ๊ณผ์ •์—์„œ ๋ชจ๋ธ์€ ๊ฐ ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ์ด๋ฏธ์ง€ ๋‚ด์˜ ํŠน์ • ๊ฐ์ฒด๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๋ฐ ์ง‘์ค‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ๋Š” ํ•™์Šต ๊ฐ€๋Šฅํ•œ ์†Œ๊ทœ๋ชจ ๋„คํŠธ์›Œํฌ(์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ)๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์–ด์š”. 

*๋˜ํ•œ DETR์—์„œ ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ๋Š” ์Šฌ๋กฏ(slot)์œผ๋กœ ํ‘œํ˜„๋˜๋Š” ๋ฐ์š”. ์ด๋Š” ๊ฐ ์ฟผ๋ฆฌ๊ฐ€ ์ด๋ฏธ์ง€ ๋‚ด์˜ ๊ฐ์ฒด๋ฅผ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์˜ˆ์•ฝ๋œ ํŠน์ • ์œ„์น˜ ๋˜๋Š” ์šฉ๋„๋ฅผ ๊ฐ€์ง„๋‹ค๋Š” ์˜๋ฏธ์—์š”. 

 

 

4. ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋งค์นญ ์ฝ”์ŠคํŠธ

ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ์˜ ์—ญํ• 

DETR์—์„œ๋Š” ๋””์ฝ”๋”(Decoder)๊ฐ€ ๊ณ ์ •๋œ ์ˆ˜์˜ ๊ฐ์ฒด ์ฟผ๋ฆฌ(Object Query)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ”์šด๋”ฉ ๋ฐ•์Šค์™€ ๊ฐ์ฒด ํด๋ž˜์Šค๋ฅผ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์˜ˆ์ธก๋œ ๋ฐ”์šด๋”ฉ ๋ฐ•์Šค์˜ ์ˆ˜๋Š” ํ•ญ์ƒ ์‹ค์ œ ๊ฐ์ฒด์˜ ์ˆ˜์™€ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ˆœ์„œ ๋˜ํ•œ ๋’ค์„ž์—ฌ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด ์˜ˆ์ธก๋œ ๋ฐ•์Šค์™€ ์‹ค์ œ ๋ฐ•์Šค ๊ฐ„์˜ ์ตœ์  ๋งค์นญ์„ ์ฐพ์•„๋ƒ…๋‹ˆ๋‹ค.

 

ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ์ด ๊ฒฐ์ •๋œ ํ›„, DETR์€ ๋งค์นญ๋œ ์˜ˆ์ธก ๊ฐ’๊ณผ ์‹ค์ œ ๊ฐ’ ์‚ฌ์ด์˜ loss๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๋ชจ๋ธ์„ ์—…๋ฐ์ดํŠธํ•ด์š”!

 

์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ๋Š” ๊ณ ์ •๋œ ์ˆ˜์˜ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ์ด์ž ์Šฌ๋กฏ์ด๋ผ๊ณ  ๋ง์”€๋“œ๋ ธ์ฃ ? ๊ทธ๋ž˜์„œ ์˜ค๋ธŒ์ ํŠธ ์ฟผ๋ฆฌ๊ฐ€ 100๊ฐœ ๋ผ๋ฉด ์‹ค์ œ ์ด๋ฏธ์ง€์— ๊ฒ€์ถœํ•  ์˜ค๋ธŒ์ ํŠธ๊ฐ€ 5๊ฐœ์ด๋”๋ผ๋„ ์˜ˆ์ธก๊ฐ’์€ 100๊ฐœ๋‚˜ ๋˜๋Š” ์ƒํ™ฉ์ด ๋˜์ฃ . ๊ทธ๋Ÿฐ๋ฐ ๊ฐ์ฒด ๊ฒ€์ถœ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๋ ค๋ฉด ์–ด๋–ค ์˜ˆ์ธก๊ฐ’์ด ์–ด๋–ค ์ •๋‹ต์„ ์˜ˆ์ธก ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”์ง€ ๋งค์นญ์ด ๋˜์–ด์•ผ loss๋ฅผ ์ค˜์„œ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ ? ๊ทธ๋ž˜์„œ ์ด ๋•Œ ํ—๊ฑฐ๋ฆฌ์•ˆ ๋งค์นญ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฑฐ์—์š”!

 

๋งค์นญ ๋น„์šฉ (Matching Cost)

ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ์—์„œ ์ตœ์  ๋งค์นญ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ ์˜ˆ์ธก๋œ ๋ฐ•์Šค์™€ ์‹ค์ œ ๋ฐ•์Šค ๊ฐ„์˜ ๋งค์นญ ์ฝ”์ŠคํŠธ๋ฅผ ์ •์˜ํ•ด์•ผ ํ•˜๋Š”๋ฐ์š”. DETR์—์„œ ๋งค์นญ ์ฝ”์ŠคํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์š”์†Œ๋“ค๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

 

1. Class matching cost

  • ์˜ˆ์ธก๋œ ๊ฐ์ฒด ํด๋ž˜์Šค์™€ ์‹ค์ œ ๊ฐ์ฒด ํด๋ž˜์Šค ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ํ‰๊ฐ€
  • ์ด ๋น„์šฉ์ด ๋†’์„์ˆ˜๋ก ํด๋ž˜์Šค ์˜ˆ์ธก์„ ๋” ์ค‘์š”ํ•˜๊ฒŒ ํ‰๊ฐ€

2. BBox matching L1 cost

  • ์˜ˆ์ธก๋œ ๋ฐ”์šด๋”ฉ ๋ฐ•์Šค์™€ ์‹ค์ œ ๋ฐ”์šด๋”ฉ ๋ฐ•์Šค ๊ฐ„์˜ ์ฐจ์ด๋ฅผ L1 loss๋กœ ํ‰๊ฐ€
  • ์ด ๋น„์šฉ์ด ๋†’์„์ˆ˜๋ก ์ •ํ™•ํ•œ bbox ์˜ˆ์ธก์ด ์ค‘์š”

3. GIoU matching cost

  • ์˜ˆ์ธก๋œ ๋ฐ•์Šค์™€ ์‹ค์ œ ๋ฐ•์Šค ๊ฐ„์˜ ๊ฒน์นจ ์ •๋„๋ฅผ ํ‰๊ฐ€
  • ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์ด ๋งŽ์„์ˆ˜๋ก loss๊ฐ€ ์ž‘์•„์ง
  • GIoU๋Š” bbox ๊ฒน์นจ ์ •๋„๋ฅผ ๊ฐœ์„ ํ•˜์—ฌ ๋” ์ •ํ™•ํ•œ ๋ฐ•์Šค ์˜ˆ์ธก์„ ์œ ๋„

 

ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ์€ ์ด๋Ÿฌํ•œ matching cost๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์˜ˆ์ธก๋œ ๊ฐ ๊ฐ์ฒด๊ฐ€ ์‹ค์ œ ์–ด๋–ค ๊ฐ์ฒด์— ํ•ด๋‹นํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋ฉฐ, ์ด๋กœ ์ธํ•ด ์ตœ์ ์˜ ๋งค์นญ์ด ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒƒ์ด์ฃ !

 

ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ์ด ๊ฐ€์ ธ์˜จ DETR์˜ ์žฅ์ 

ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋•๋ถ„์— DETR์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ์„ ๊ฐ€์ ธ์š”.

  • ํ›„์ฒ˜๋ฆฌ ๋ถˆํ•„์š”: NMS์™€ ๊ฐ™์€ ๋ณต์žกํ•œ ํ›„์ฒ˜๋ฆฌ ๊ณผ์ •์ด ํ•„์š” ์—†์œผ๋ฉฐ, ์˜ˆ์ธก๋œ ๊ฒฐ๊ณผ๊ฐ€ ๊ณง ์ตœ์ข… ๊ฒฐ๊ณผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ: ์•ต์ปค ๋ฐ•์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„ ๋ชจ๋ธ ๊ตฌ์กฐ๊ฐ€ ๊ฐ„๋‹จํ•ด์ง€๊ณ , ์•ต์ปค ๋ฐ•์Šค ์„ค์ •์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ ๋ณ€ํ™”์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.
  • ์ผ๊ด€๋œ ํ•™์Šต ๊ณผ์ •: ๋งค์นญ ๊ณผ์ •์—์„œ ๋ชจ๋“  ์˜ˆ์ธก์— ๋Œ€ํ•ด ์ผ๊ด€๋˜๊ฒŒ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ ์•ˆ์ •์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

 

5. ์š”์•ฝ

  1. DETR์€ CNN ๊ธฐ๋ฐ˜์˜ ๋ฐฑ๋ณธ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ž…๋ ฅ ์ด๋ฏธ์ง€์—์„œ ํ”ผ์ฒ˜ ๋งต์„ ์ถ”์ถœ
  2. Transformer Encoder-Decoder ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ด ํ”ผ์ฒ˜ ๋งต์„ ์ธ์ฝ”๋”ฉํ•˜๊ณ , ๊ฐ์ฒด ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด ์˜ˆ์ธก์„ ์ˆ˜ํ–‰
  3. ์˜ˆ์ธก๋œ ๋ฐ”์šด๋”ฉ ๋ฐ•์Šค์™€ ํด๋ž˜์Šค์— ๋Œ€ํ•ด ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์ œ ๊ฐ’๊ณผ ์ตœ์ ์˜ ๋งค์นญ์„ ์ฐพ์Œ
  4. Matching cost์— ๊ธฐ๋ฐ˜ํ•œ loss๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ์ด ์†์‹ค์„ ์ตœ์†Œํ™”ํ•˜๋„๋ก ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ด

 

DETR์€ ํ—๊ฐ€๋ฆฌ์•ˆ ๋งค์นญ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋„์ž…ํ•ด End-to-end ๊ฐ์ฒด ๊ฒ€์ถœ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“  ํ˜์‹ ์ ์ธ ๋ชจ๋ธ์ด์—์š”. ์ด ๋ชจ๋ธ์€ ๊ฐ์ฒด ๊ฒ€์ถœ์˜ ๋ณต์žก์„ฑ์„ ํฌ๊ฒŒ ์ค„์ด๊ณ , ๋” ์ง๊ด€์ ์ด๊ณ  ํšจ์œจ์ ์ธ ํ•™์Šต ๊ณผ์ •์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  DETR์€ ์ž‘์€ ๊ฐ์ฒด๋ฅผ ์ž˜ ๊ฒ€์ถœํ•˜์ง€ ๋ชปํ•˜๋Š” ์‹ฌ๊ฐํ•œ ๋‹จ์ ์ด ์กด์žฌํ•˜๋Š”๋ฐ์š”. ์ง€๊ธˆ์€ ์ดํ›„ ์—ฐ๊ตฌ(Deformable DETR)์—์„œ ๊ฐœ์„ ๋˜์—ˆ์–ด์š”. ๋˜ํ•œ ์ง€๊ธˆ๋„ ๊ฐ์ฒด ๊ฒ€์ถœ ๋„๋ฉ”์ธ์—์„œ๋Š” DETR ๊ธฐ๋ฐ˜์˜ ๋ชจ๋ธ์„ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋‹ˆ, ๊ฐ์ฒด ๊ฒ€์ถœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์…”์•ผ ํ•œ๋‹ค๋ฉด DETR ๋ชจ๋ธ์„ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์€ ํ•„์ˆ˜! ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“œ๋„ค์š” ใ…Žใ…Ž.

๋ฐ˜์‘ํ˜•