SAM (Segment Anything Model)
Meta ์์ SAM (Segment Anything Model) ์ด๋ผ๋ ์ด๋ค ๊ฒ์ด๋ ๋ถํ ํ ์ ์๋ ๋ชจ๋ธ์ ๊ณต๊ฐํ๋ค. ๋
ผ๋ฌธ ์ ๋ชฉ ์์ฒด๊ฐ 'Segment Anything' ์ธ๋ฐ ๊ต์ฅํ ์์ ๊ฐ ๋์น๋ ์๋ฉ์ด๋ค.
๊ฐ๋จํ ์ค๋ช
์ ์ดํด๋ณด๋ฉด, SAM์ point๋ box์ ๊ฐ์ ์
๋ ฅ ํ๋กฌํํธ๋ฅผ ํตํด ๊ณ ํ์ง ๊ฐ์ฒด ๋ง์คํฌ๋ฅผ ์์ฑํ๋ฉฐ ๋ชจ๋ ๊ฐ์ฒด์ ๋ํ ๋ง์คํฌ๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ค๊ณ ํ๋ค. ์ฝ 1,100๋ง ๊ฐ์ ์ด๋ฏธ์ง์ 11์ต ๊ฐ์ ๋ง์คํฌ๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ์
์ผ๋ก ํ์ต๋์์ผ๋ฉฐ ๋ค์ํ segmentation task์์ ๊ฐ๋ ฅํ zero-shot ์ฑ๋ฅ์ ๋ณด์ธ๋ค๊ณ ํ๋ค.
Segment Anything ์น๋ฐ๋ชจ
Segment Anything
Meta AI Computer Vision Research
segment-anything.com
Meta AI์์ SAM์ ์น๋ฐ๋ชจ๋ฅผ ์ ๊ณตํ๊ณ ์์ด ๋ค์ํ ์ํ ์ด๋ฏธ์ง๋ ์
๋ก๋ํ ์ด๋ฏธ์ง๋ก SAM ๋ชจ๋ธ์ ์ฌ์ฉํด ๋ณผ ์ ์๋ค. ์์ ๋งํ๋๋ก ์ด๋ฏธ์ง์์ ์ ์ ์ฐ๊ฑฐ๋ ๋ฐ์ค๋ฅผ ๊ทธ๋ ค ๊ฐ์ฒด๋ฅผ ๋ถํ ํ๊ฑฐ๋ ์ด๋ฏธ์ง ์ ์ฒด์ ๋ํ ๊ฐ์ฒด ๋ถํ ์ ์คํํ ์๋ ์๋ค.
์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ SAM ๋ชจ๋ธ์ ์ฌ์ฉ ์ ๋์ฑ ๋ค์ํ ์์ฉ์ด ๊ฐ๋ฅํ๋ฏ๋ก ๊ตฌ๊ธ ์ฝ๋ฉ์ ์ด์ฉํ ํํ ๋ฆฌ์ผ์ ์งํํด ๋ณด๊ณ ์ ํ๋ค. (ํํ ๋ฆฌ์ผ ์ฝ๋)
SAM ํํ ๋ฆฌ์ผ #1 - ์๋ ๋ถํ
์ฒซ ๋ฒ์งธ ํํ ๋ฆฌ์ผ์ ํฌ์ธํธ๋ ๋ฐ์ค ์
๋ ฅ ์์ด ์๋์ผ๋ก ๊ฐ์ฒด๋ฅผ ๋ถํ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ฌผ๋ก ์๋์ด๋๋ผ๋ ๊ฐ์ข
ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํ์ฌ ๋ํ
์ผ์ ๋ณ๊ฒฝํ ์ ์๋ค.


- ์ฐ์ SAM์ ์คํํ๊ธฐ ์ํ ํ๊ฒฝ ์ค์ ํ์
- output ๋ง์คํฌ๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ํจ์ ์ ์ธ


- ๋ค์ด๋ฐ์ 'dog.jpg'๋ฅผ ์ฌ์ฉํด๋ ๋์ง๋ง ์์์ฒ๋ผ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํด์ ์ฌ์ฉ ๊ฐ๋ฅ
- ์ ๋ก๋ํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํธ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๋ ๊ณผ์ ํ์ (์ ์ฝ๋ ์ฐธ๊ณ )



- ์ด๋ฏธ์ง ์ ๋ ฅ๋ง์ผ๋ก ๊ฐ์ฒด ๋ถํ
- Default ํ๋ผ๋ฏธํฐ ๊ฐ์ผ๋ก ์คํ


- mask generator์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ณ๊ฒฝํ์ฌ ๊ฐ์ฒด ๋ถํ
SAM ํํ ๋ฆฌ์ผ #2 - ์ ํ ๋ถํ
๋ ๋ฒ์งธ ํํ ๋ฆฌ์ผ์ ํฌ์ธํธ๋ ๋ฐ์ค ์
๋ ฅ์ผ๋ก ๊ฐ์ฒด๋ฅผ ๋ถํ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์๋ ๋ฐฉ๋ฒ์ ๋นํด ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ฝ๊ณ ๋ฐ์ค์ ํฌ์ธํธ์ ์กฐํฉ ๋ฑ์ผ๋ก ๊ฝค ๋ํ
์ผํ ๊ฐ์ฒด ๋ถํ ์ด ๊ฐ๋ฅํ๋ค. (e.g. ์๋์ฐจ ๋ฐํด์์ ํ ์ ์ ์ธํ ํ์ด์ด๋ง ๋ถํ )
*ํ๊ฒฝ ์ธํ ์ ์๋ต

- ์ํ๋ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ ์๋ ์๊ณ ๋ค์ด๋ฐ์ 'truck.jpg' ์ด๋ฏธ์ง๋ ์ฌ์ฉ ๊ฐ๋ฅ


- ํฌ์ธํธ๋ก ๊ฐ์ฒด ๋ถํ ์ ํ๊ธฐ ์ํด ์ด๋ฏธ์ง์ ํน์ ์์น์ ์ขํ ์ค์
- ์์ ์์๋ ํธ๋ญ์ ์ฐฝ๋ฌธ์ ํฌ์ธํธ ์ง์




- multitask_output = True๋ก ์ง์ ํ์ฌ mask๊ฐ 3๊ฐ ์ถ๋ ฅ๋๊ณ ์ด๋ค์ ๊ณ์ธต์ ๋ถํ ๊ฒฐ๊ณผ
- ์์ ์ ๊ฒฝ์ฐ ๊ฐ์ฅ ์์ ๋จ์์ ์ฐฝ๋ฌธ, ์ฐ๊ฒฐ๋ ์ฐฝ๋ฌธ, ์ฐจ๋ ์ ์ฒด๋ฅผ ๋ถํ


- 2๊ฐ ์ด์์ ํฌ์ธํธ๋ค๋ก ํฌ์ธํธ๊ฐ ํจ๊ป ๊ณต์ ํ๋ ๊ฐ์ฒด๋ฅผ ๋ถํ ํ ์ ์์


- ํฌ์ธํธ์ input_label์ ์ค์ ํ์ฌ(0๋๋ 1) ํน์ ํฌ์ธํธ๋ ํฌํจํ๊ณ ํน์ ํฌ์ธํธ๋ ํฌํจํ์ง ์๋ ๋ถํ ๊ฐ๋ฅ
- ์์ ์ ๊ฒฝ์ฐ ์ฒซ ๋ฒ์งธ ํฌ์ธํธ(ํธ๋ญ ์ฐฝ๋ฌธ)์ ํฌํจํ๊ณ ๋ ๋ฒ์งธ ํฌ์ธํธ(ํธ๋ญ ์๋ฌธ)์ ํฌํจํ์ง ์๋ ๋ถํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค


- ๋ฐ์ค๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ค ๋ด๋ถ์ ๊ฐ์ฒด๋ฅผ ๋ถํ ํ ์๋ ์์


- ๋ฐ์ค์ ํฌ์ธํธ์ ์กฐํฉ์ผ๋ก ๋ถํ
- point_labels ์ค์ ์ผ๋ก ๋ฐ์ค ๋ด๋ถ์ ํฌ์ธํธ ๋ถ๋ถ์ ์ ์ธํ segment๋ฅผ ์ถ์ถ ๊ฐ๋ฅ


- ํ๋์ ์ด๋ฏธ์ง์ ๋ค์ค ์ ๋ ฅ ํ๋กฌํํธ๋ก ์ฌ๋ฌ segment ์ถ์ถ ๊ฐ๋ฅ