Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

mobile-sam.md 6.2 KB

You have to be logged in to leave a comment. Sign In
comments description keywords
true Ultralytics ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ MobileSAM์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•, MobileSAM์˜ ๊ตฌํ˜„ ๋ฐฉ์‹, ์›๋ณธ SAM๊ณผ์˜ ๋น„๊ต, ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ–ฅ์ƒ ๋“ฑ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”. ์˜ค๋Š˜๋ถ€ํ„ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ์„ ํ•˜์„ธ์š”. MobileSAM, Ultralytics, SAM, ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, Arxiv, GPU, API, ์ด๋ฏธ์ง€ ์ธ์ฝ”๋”, ๋งˆ์Šคํฌ ๋””์ฝ”๋”, ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ, ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•

MobileSAM ๋กœ๊ณ 

Mobile Segment Anything (MobileSAM)

MobileSAM ๋…ผ๋ฌธ์€ ์ด์ œ arXiv์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MobileSAM์„ CPU์—์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐ๋ชจ๋Š” ์ด ๋ฐ๋ชจ ๋งํฌ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Mac i5 CPU์—์„œ์˜ ์„ฑ๋Šฅ์€ ์•ฝ 3์ดˆ์ž…๋‹ˆ๋‹ค. Hugging Face ๋ฐ๋ชจ์—์„œ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‚ฎ์€ ์„ฑ๋Šฅ์˜ CPU๊ฐ€ ๋А๋ฆฐ ์‘๋‹ต์œผ๋กœ ์ด์–ด์ง€์ง€๋งŒ, ์—ฌ์ „ํžˆ ํšจ๊ณผ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

MobileSAM์€ Grounding-SAM, AnyLabeling ๋ฐ Segment Anything in 3D๋ฅผ ๋น„๋กฏํ•œ ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ์—์„œ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

MobileSAM์€ 1%์˜ ์›๋ณธ ์ด๋ฏธ์ง€๋กœ ๊ตฌ์„ฑ๋œ 100k ๋ฐ์ดํ„ฐ์…‹์—์„œ ํ•˜๋ฃจ ์ด๋‚ด์— ๋‹จ์ผ GPU๋กœ ํ•™์Šต๋ฉ๋‹ˆ๋‹ค. ์ด ํ•™์Šต์„ ์œ„ํ•œ ์ฝ”๋“œ๋Š” ๋‚˜์ค‘์— ๊ณต๊ฐœ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ, ์ง€์›๋˜๋Š” ์ž‘์—… ๋ฐ ์ž‘๋™ ๋ชจ๋“œ

์ด ํ‘œ์—์„œ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ๊ณผ ํ•ด๋‹น ๋ชจ๋ธ์— ๋Œ€ํ•œ ์‚ฌ์ „ ํ›ˆ๋ จ ๊ฐ€์ค‘์น˜, ์ง€์›๋˜๋Š” ์ž‘์—…, Inference, Validation, Training ๋ฐ Export์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ž‘๋™ ๋ชจ๋“œ์˜ ํ˜ธํ™˜์„ฑ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ๋ชจ๋“œ๋Š” โœ… ์ด๋ชจ์ง€๋กœ ํ‘œ์‹œ๋˜๊ณ , ์ง€์›๋˜์ง€ ์•Š๋Š” ๋ชจ๋“œ๋Š” โŒ ์ด๋ชจ์ง€๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ ์œ ํ˜• ์‚ฌ์ „ ํ›ˆ๋ จ ๊ฐ€์ค‘์น˜ ์ง€์›๋˜๋Š” ์ž‘์—… Inference Validation Training Export
MobileSAM mobile_sam.pt ์ธ์Šคํ„ด์Šค ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ โœ… โŒ โŒ โœ…

SAM์—์„œ MobileSAM์œผ๋กœ์˜ ์ ์‘

MobileSAM์€ ์›๋ณธ SAM๊ณผ ๋™์ผํ•œ ํŒŒ์ดํ”„๋ผ์ธ์„ ์œ ์ง€ํ•˜๋ฏ€๋กœ, ์›๋ณธ์˜ ์ „์ฒ˜๋ฆฌ, ํ›„์ฒ˜๋ฆฌ ๋ฐ ๋ชจ๋“  ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ˜„์žฌ ์›๋ณธ SAM์„ ์‚ฌ์šฉ ์ค‘์ธ ๊ฒฝ์šฐ, MobileSAM์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ฐ ์ตœ์†Œํ•œ์˜ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

MobileSAM์€ ์›๋ณธ SAM๊ณผ ๋น„๊ต ๊ฐ€๋Šฅํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜๋ฉฐ, ์ด๋ฏธ์ง€ ์ธ์ฝ”๋”๋งŒ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ, ์›๋ณธ์˜ ๋ฌด๊ฑฐ์šด ViT-H ์ธ์ฝ”๋” (632M)๋ฅผ ๋” ์ž‘์€ Tiny-ViT (5M)๋กœ ๋Œ€์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ผ GPU์—์„œ MobileSAM์€ ์ด๋ฏธ์ง€ ๋‹น ์•ฝ 12ms์˜ ์ž‘์—… ์‹œ๊ฐ„์ด ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ์ธ์ฝ”๋”์—๋Š” 8ms๊ฐ€ ์†Œ์š”๋˜๊ณ , ๋งˆ์Šคํฌ ๋””์ฝ”๋”์—๋Š” 4ms๊ฐ€ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ๋Š” ViT ๊ธฐ๋ฐ˜ ์ด๋ฏธ์ง€ ์ธ์ฝ”๋”๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค:

์ด๋ฏธ์ง€ ์ธ์ฝ”๋” ์›๋ณธ SAM MobileSAM
๋งค๊ฐœ๋ณ€์ˆ˜ 611M 5M
์†๋„ 452ms 8ms

์›๋ณธ SAM๊ณผ MobileSAM์€ ๋™์ผํ•œ ํ”„๋กฌํ”„ํŠธ ๊ฐ€์ด๋“œ ๋งˆ์Šคํฌ ๋””์ฝ”๋”๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

๋งˆ์Šคํฌ ๋””์ฝ”๋” ์›๋ณธ SAM MobileSAM
๋งค๊ฐœ๋ณ€์ˆ˜ 3.876M 3.876M
์†๋„ 4ms 4ms

์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ์˜ ๋น„๊ต๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ (์ธ์ฝ”๋”+๋””์ฝ”๋”) ์›๋ณธ SAM MobileSAM
๋งค๊ฐœ๋ณ€์ˆ˜ 615M 9.66M
์†๋„ 456ms 12ms

MobileSAM๊ณผ ์›๋ณธ SAM์˜ ์„ฑ๋Šฅ์€ ํฌ์ธํŠธ ๋ฐ ๋ฐ•์Šค๋ฅผ ์‚ฌ์šฉํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํฌ์ธํŠธ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์žˆ๋Š” ์ด๋ฏธ์ง€

๋ฐ•์Šค ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์žˆ๋Š” ์ด๋ฏธ์ง€

MobileSAM์€ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ์ž๋ž‘ํ•˜๋ฉฐ, ํ˜„์žฌ์˜ FastSAM๋ณด๋‹ค ์•ฝ 5๋ฐฐ ์ž‘๊ณ  7๋ฐฐ ๋น ๋ฆ…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ MobileSAM ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ultralytics์—์„œ MobileSAM ํ…Œ์ŠคํŠธ

์›๋ณธ SAM๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ํฌ์ธํŠธ ๋ฐ ๋ฐ•์Šค ํ”„๋กฌํ”„ํŠธ ๋ชจ๋“œ๋ฅผ ํฌํ•จํ•œ Ultralytics์—์„œ ๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ

๋ชจ๋ธ์„ ์—ฌ๊ธฐ์—์„œ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํฌ์ธํŠธ ํ”„๋กฌํ”„ํŠธ

!!! Example "์˜ˆ์ œ"

=== "Python"
    ```python
    from ultralytics import SAM

    # ๋ชจ๋ธ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
    model = SAM('mobile_sam.pt')

    # ํฌ์ธํŠธ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ธ๊ทธ๋จผํŠธ ์˜ˆ์ธก
    model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1])
    ```

๋ฐ•์Šค ํ”„๋กฌํ”„ํŠธ

!!! Example "์˜ˆ์ œ"

=== "Python"
    ```python
    from ultralytics import SAM

    # ๋ชจ๋ธ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
    model = SAM('mobile_sam.pt')

    # ๋ฐ•์Šค ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ธ๊ทธ๋จผํŠธ ์˜ˆ์ธก
    model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709])
    ```

MobileSAM๊ณผ SAM์€ ๋™์ผํ•œ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” SAM ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ธ์šฉ ๋ฐ ๊ฐ์‚ฌ์˜ ๊ธ€

MobileSAM์ด ์—ฐ๊ตฌ ๋˜๋Š” ๊ฐœ๋ฐœ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ ๊ฒฝ์šฐ, ๋‹ค์Œ์˜ ๋…ผ๋ฌธ์„ ์ธ์šฉํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค:

!!! Quote ""

=== "BibTeX"

    ```bibtex
    @article{mobile_sam,
      title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications},
      author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon},
      journal={arXiv preprint arXiv:2306.14289},
      year={2023}
    }
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...