<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sam2 on ICE-ICE-BEAR-BLOG</title><link>https://ice-ice-bear.github.io/ko/tags/sam2/</link><description>Recent content in Sam2 on ICE-ICE-BEAR-BLOG</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Wed, 08 Apr 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://ice-ice-bear.github.io/ko/tags/sam2/index.xml" rel="self" type="application/rss+xml"/><item><title>PopCon 개발기 #4 — SAM 2.1 인터랙티브 배경 제거와 비용 최적화</title><link>https://ice-ice-bear.github.io/ko/posts/2026-04-08-popcon-dev4/</link><pubDate>Wed, 08 Apr 2026 00:00:00 +0900</pubDate><guid>https://ice-ice-bear.github.io/ko/posts/2026-04-08-popcon-dev4/</guid><description>&lt;img src="https://ice-ice-bear.github.io/" alt="Featured image of post PopCon 개발기 #4 — SAM 2.1 인터랙티브 배경 제거와 비용 최적화" /&gt;&lt;p&gt;&lt;a class="link" href="https://ice-ice-bear.github.io/ko/posts/2026-04-07-popcon-dev3/" &gt;이전 글: PopCon 개발기 #3&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="개요"&gt;개요
&lt;/h2&gt;&lt;p&gt;PopCon 개발기 네 번째 글이다. 이번에는 두 가지 큰 변화가 있었다. 첫째, VEO 3의 비용 문제로 영상 생성 모델을 Alibaba DashScope Wan 2.2로 교체했다. 둘째, rembg의 배경 제거 품질이 만족스럽지 않아서 SAM 2.1 기반 인터랙티브 세그멘테이션을 직접 구현했다. 사용자가 클릭으로 전경 객체를 지정하면 SAM이 정밀하게 마스크를 생성하는 방식이다.&lt;/p&gt;
&lt;h2 id="영상-생성-모델-교체-veo-3--dashscope-wan-22"&gt;영상 생성 모델 교체: VEO 3 → DashScope Wan 2.2
&lt;/h2&gt;&lt;h3 id="비용-문제"&gt;비용 문제
&lt;/h3&gt;&lt;p&gt;VEO 3는 품질은 좋지만 비용이 너무 높았다. 이모지 하나에 여러 액션을 생성해야 하는 PopCon 특성상, 영상 생성 비용이 빠르게 누적된다.&lt;/p&gt;
&lt;p&gt;대안을 조사했다:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;옵션&lt;/th&gt;
 &lt;th&gt;장점&lt;/th&gt;
 &lt;th&gt;단점&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;fal.ai Wan 2.1&lt;/td&gt;
 &lt;td&gt;간편한 API&lt;/td&gt;
 &lt;td&gt;가격 대비 품질 애매&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;RunPod GPU&lt;/td&gt;
 &lt;td&gt;자유도 높음&lt;/td&gt;
 &lt;td&gt;인프라 관리 필요&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Alibaba DashScope Wan 2.2&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;가격 최저, 품질 양호&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;중국 API&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;결국 DashScope Wan 2.2를 선택했다. 가격 대비 품질이 가장 좋았다.&lt;/p&gt;
&lt;h3 id="함께-진행한-개선"&gt;함께 진행한 개선
&lt;/h3&gt;&lt;p&gt;모델 교체와 함께 여러 개선을 진행했다:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;프론트엔드에서 액션 선택&lt;/strong&gt;: 사용자가 원하는 액션만 골라서 생성할 수 있게 변경&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;backbone 생성 제거&lt;/strong&gt;: Wan 2.2 전환으로 불필요해진 중간 단계 삭제&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;end pose 생성 제거&lt;/strong&gt;: 불필요한 단계를 없애 전체 처리 시간 단축&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;액션 간 throttle 제거&lt;/strong&gt;: 불필요한 대기 시간 삭제&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="캐릭터-생성-개선"&gt;캐릭터 생성 개선
&lt;/h2&gt;&lt;h3 id="전신-캐릭터-강제"&gt;전신 캐릭터 강제
&lt;/h3&gt;&lt;p&gt;AI 캐릭터 생성 시 상반신만 나오는 경우가 있었다. 이러면 액션별로 하반신이 달라져서 일관성이 떨어진다. 프롬프트를 수정해서 항상 전신이 나오도록 강제했다.&lt;/p&gt;
&lt;h3 id="레퍼런스-이미지-지원"&gt;레퍼런스 이미지 지원
&lt;/h3&gt;&lt;p&gt;캐릭터 생성 시 참고할 이미지를 업로드할 수 있게 했다. 기존 캐릭터나 스타일을 기반으로 새 캐릭터를 만들 때 유용하다.&lt;/p&gt;
&lt;h3 id="기타-개선"&gt;기타 개선
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;다양한 이미지 포맷 지원&lt;/strong&gt;: WebP, GIF, BMP, TIFF 업로드 가능&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;업로드 캐릭터 배경 제거 옵션&lt;/strong&gt;: 직접 업로드한 이미지에도 배경 제거 적용 가능&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;미디어 프리뷰 모달&lt;/strong&gt;: 이모지 카드 클릭 시 원본 크기로 미리보기&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;에셋 다운로드 링크&lt;/strong&gt;: 생성된 에셋을 바로 다운로드&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="성능-최적화"&gt;성능 최적화
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;flowchart LR
 subgraph Before["기존 방식"]
 A1["포즈 1 생성"] --&gt; A2["포즈 2 생성"] --&gt; A3["포즈 3 생성"]
 end
 subgraph After["개선 후"]
 B1["포즈 1 생성"]
 B2["포즈 2 생성"]
 B3["포즈 3 생성"]
 end
 Before --&gt;|"순차 → 병렬"| After&lt;/pre&gt;&lt;p&gt;포즈 생성을 순차에서 병렬로 변경하고, 불필요한 시작 지연과 액션 간 throttle을 제거했다. end pose 생성도 없앴다. 체감 속도가 크게 개선되었다.&lt;/p&gt;
&lt;h2 id="sam-21-인터랙티브-배경-제거"&gt;SAM 2.1 인터랙티브 배경 제거
&lt;/h2&gt;&lt;h3 id="rembg의-한계"&gt;rembg의 한계
&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://ice-ice-bear.github.io/ko/posts/2026-04-07-popcon-dev3/" &gt;이전 글&lt;/a&gt;에서 rembg로 배경 제거를 구현했지만, 품질 문제가 있었다:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;복잡한 배경에서 전경 경계가 부정확&lt;/li&gt;
&lt;li&gt;캐릭터의 일부가 잘리거나, 배경이 남는 경우 빈번&lt;/li&gt;
&lt;li&gt;자동화된 방식의 한계 — 어떤 부분이 전경인지 모델이 판단하기 어려운 케이스 다수&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="sam-21-선택-이유"&gt;SAM 2.1 선택 이유
&lt;/h3&gt;&lt;p&gt;Meta의 SAM 2.1(Segment Anything Model)은 사용자가 클릭한 포인트를 기반으로 세그멘테이션하는 모델이다. 핵심 장점:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;인터랙티브&lt;/strong&gt;: 사용자가 전경/배경을 직접 지정 → 정확도 향상&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;M1 Mac에서 동작&lt;/strong&gt;: 처음에는 RunPod 같은 클라우드 GPU를 고려했지만, PyTorch MPS 백엔드로 M1 Mac에서도 충분히 동작한다는 걸 확인&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ultralytics 통합&lt;/strong&gt;: &lt;code&gt;ultralytics&lt;/code&gt; 패키지를 통해 간편하게 사용 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="아키텍처"&gt;아키텍처
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;flowchart TB
 subgraph Frontend["Next.js /refine 페이지"]
 F1["프레임 이미지 로드"]
 F2["SegmentCanvas 컴포넌트&amp;lt;br/&amp;gt;클릭으로 포인트 지정"]
 F3["마스크 미리보기"]
 F4["마스크 적용"]
 end
 subgraph Backend["FastAPI SAM2 엔드포인트"]
 B1["GET /raw-frame&amp;lt;br/&amp;gt;원본 프레임 제공"]
 B2["POST /sam/predict&amp;lt;br/&amp;gt;포인트 → 마스크 예측"]
 B3["POST /sam/apply&amp;lt;br/&amp;gt;마스크 적용 → RGBA 결과"]
 end
 subgraph Model["SAMSegmenter 클래스"]
 M1["predict: 포인트 기반 마스크 생성"]
 M2["apply_mask: 마스크 → RGBA 변환"]
 M3["predict_and_apply_all&amp;lt;br/&amp;gt;전체 프레임 일괄 처리"]
 end
 F1 --&gt; B1
 F2 --&gt; B2
 B2 --&gt; M1
 F4 --&gt; B3
 B3 --&gt; M2&lt;/pre&gt;&lt;h3 id="워크플로우-변경"&gt;워크플로우 변경
&lt;/h3&gt;&lt;p&gt;기존에는 영상 생성 → 프레임 추출 → 배경 제거가 자동으로 이어졌다. SAM 도입 후에는 중간에 사용자 개입 단계가 추가된다:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;영상 생성 → 프레임 추출 (worker stage 3에서 완료)&lt;/li&gt;
&lt;li&gt;상태가 &lt;code&gt;awaiting_refinement&lt;/code&gt;으로 변경&lt;/li&gt;
&lt;li&gt;사용자가 &lt;code&gt;/refine&lt;/code&gt; 페이지에서 클릭으로 배경 제거&lt;/li&gt;
&lt;li&gt;완료 후 최종 에셋 생성&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;awaiting_refinement&lt;/code&gt; 상태를 새로 추가해서 프론트엔드에서 &amp;ldquo;배경 제거 대기 중&amp;rdquo; 상태를 표시하고, Refine Backgrounds 링크를 노출한다. ProgressTracker에서는 이 상태를 생성 완료로 취급한다.&lt;/p&gt;
&lt;h3 id="구현-세부사항"&gt;구현 세부사항
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;백엔드 — SAMSegmenter 클래스&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;predict&lt;/code&gt;: 클릭 포인트를 받아 마스크 예측&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apply_mask&lt;/code&gt;: 예측된 마스크를 원본 이미지에 적용하여 RGBA 이미지 생성&lt;/li&gt;
&lt;li&gt;&lt;code&gt;predict_and_apply_all&lt;/code&gt;: 전체 프레임에 대해 일괄 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;백엔드 — API 엔드포인트&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GET /raw-frame&lt;/code&gt;: 원본 프레임 이미지 제공&lt;/li&gt;
&lt;li&gt;&lt;code&gt;POST /sam/predict&lt;/code&gt;: 포인트 기반 마스크 예측, RGBA 마스크 반환&lt;/li&gt;
&lt;li&gt;&lt;code&gt;POST /sam/apply&lt;/code&gt;: 마스크를 프레임에 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;프론트엔드 — SegmentCanvas 컴포넌트&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;캔버스에 프레임 이미지를 렌더링&lt;/li&gt;
&lt;li&gt;클릭 이벤트로 포인트 좌표를 수집&lt;/li&gt;
&lt;li&gt;SAM API를 호출해서 마스크 미리보기 표시&lt;/li&gt;
&lt;li&gt;확정 시 마스크 적용 API 호출&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="커밋-로그"&gt;커밋 로그
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;메시지&lt;/th&gt;
 &lt;th&gt;변경 사항&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: replace VEO 3 with DashScope Wan 2.2 and remove backbone generation&lt;/td&gt;
 &lt;td&gt;영상 생성 모델 교체, backbone 단계 제거&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: pass selected action names from frontend to backend&lt;/td&gt;
 &lt;td&gt;프론트엔드에서 액션 선택 전달&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fix: clear character preview when switching between upload and generate modes&lt;/td&gt;
 &lt;td&gt;모드 전환 시 프리뷰 초기화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: add optional reference image support for AI character generation&lt;/td&gt;
 &lt;td&gt;레퍼런스 이미지 업로드 지원&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: support WebP, GIF, BMP, and TIFF image uploads&lt;/td&gt;
 &lt;td&gt;다양한 이미지 포맷 지원&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: add background removal option for uploaded character images&lt;/td&gt;
 &lt;td&gt;업로드 이미지 배경 제거 옵션&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;perf: remove end pose generation and inter-action throttles&lt;/td&gt;
 &lt;td&gt;불필요한 단계 및 대기 제거&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: enforce full-body character generation and add asset download links&lt;/td&gt;
 &lt;td&gt;전신 생성 강제, 다운로드 링크&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fix: add media preview modal with close button to emoji cards&lt;/td&gt;
 &lt;td&gt;미디어 프리뷰 모달 추가&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;perf: parallelize pose generation and eliminate startup delay&lt;/td&gt;
 &lt;td&gt;포즈 생성 병렬화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;docs: add SAM2 interactive background removal design spec&lt;/td&gt;
 &lt;td&gt;SAM2 설계 문서&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;docs: add SAM2 interactive background removal implementation plan&lt;/td&gt;
 &lt;td&gt;SAM2 구현 계획 문서&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: add ultralytics SAM 2.1 dependency and sam_model config&lt;/td&gt;
 &lt;td&gt;SAM 2.1 의존성 추가&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: add awaiting_refinement status to models&lt;/td&gt;
 &lt;td&gt;awaiting_refinement 상태 추가&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;refactor: simplify process_video to extract-only (no bg removal)&lt;/td&gt;
 &lt;td&gt;영상 처리를 추출만으로 단순화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;refactor: worker stage 3 extracts frames only, ends at awaiting_refinement&lt;/td&gt;
 &lt;td&gt;worker 3단계를 프레임 추출까지만&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: add SAMSegmenter class with predict, apply_mask, predict_and_apply_all&lt;/td&gt;
 &lt;td&gt;SAMSegmenter 핵심 클래스 구현&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: add SAM2 endpoints and raw frame serving to FastAPI&lt;/td&gt;
 &lt;td&gt;SAM2 API 엔드포인트 추가&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: add SAM embed/predict/apply API functions&lt;/td&gt;
 &lt;td&gt;프론트엔드 SAM API 함수&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: add SegmentCanvas click-to-segment component&lt;/td&gt;
 &lt;td&gt;클릭 세그멘테이션 캔버스 컴포넌트&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: add /refine page for interactive SAM2 background removal&lt;/td&gt;
 &lt;td&gt;/refine 페이지 구현&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: add Refine Backgrounds link and awaiting_refinement status display&lt;/td&gt;
 &lt;td&gt;Refine 링크 및 상태 표시&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat: treat awaiting_refinement as generation-complete in ProgressTracker&lt;/td&gt;
 &lt;td&gt;ProgressTracker 상태 처리&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fix: address code review findings&lt;/td&gt;
 &lt;td&gt;코드 리뷰 반영&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;merge: integrate main refactors with SAM2 interactive bg removal&lt;/td&gt;
 &lt;td&gt;메인 브랜치 리팩토링 통합&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;merge: integrate main branch changes with SAM2 implementation&lt;/td&gt;
 &lt;td&gt;메인 브랜치 변경사항 통합&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fix: return RGBA mask from SAM predict endpoint&lt;/td&gt;
 &lt;td&gt;SAM predict에서 RGBA 마스크 반환&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="다음-단계"&gt;다음 단계
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;SAM 세그멘테이션 결과를 전체 프레임에 일괄 적용하는 UX 개선&lt;/li&gt;
&lt;li&gt;최종 APNG/GIF 에셋 생성 파이프라인 연결&lt;/li&gt;
&lt;li&gt;배포 환경에서의 SAM 모델 로딩 최적화&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;이 글은 PopCon 시리즈의 네 번째 글입니다. 다음 글에서 계속됩니다.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>SAM 2.1을 Mac에서 돌리기 — Apple Silicon GPU 가속과 Meta SAM 3 비교</title><link>https://ice-ice-bear.github.io/ko/posts/2026-04-08-sam2-mac/</link><pubDate>Wed, 08 Apr 2026 00:00:00 +0900</pubDate><guid>https://ice-ice-bear.github.io/ko/posts/2026-04-08-sam2-mac/</guid><description>&lt;img src="https://ice-ice-bear.github.io/" alt="Featured image of post SAM 2.1을 Mac에서 돌리기 — Apple Silicon GPU 가속과 Meta SAM 3 비교" /&gt;&lt;h2 id="overview"&gt;Overview
&lt;/h2&gt;&lt;p&gt;Meta의 Segment Anything Model(SAM)은 이미지 세그멘테이션의 판도를 바꾼 모델이다. SAM 2.1은 로컬에서 직접 실행할 수 있고, 최신 SAM 3는 Meta의 온라인 플레이그라운드에서 체험할 수 있다. 이 글에서는 Apple Silicon Mac에서 SAM 2.1을 MPS GPU 가속으로 돌려보고, SAM 3 온라인 데모와 어떤 차이가 있는지 비교한다.&lt;/p&gt;
&lt;h2 id="sam-21-로컬-실행-vs-sam-3-온라인--아키텍처-비교"&gt;SAM 2.1 로컬 실행 vs SAM 3 온라인 — 아키텍처 비교
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;flowchart LR
 subgraph Local["SAM 2.1 Local"]
 A["사용자 입력 &amp;lt;br/&amp;gt; 포인트/박스"] --&gt; B["SAM 2.1 Tiny &amp;lt;br/&amp;gt; 74.5 MB 모델"]
 B --&gt; C["PyTorch MPS &amp;lt;br/&amp;gt; Apple Silicon GPU"]
 C --&gt; D["Gradio Web UI &amp;lt;br/&amp;gt; localhost:7860"]
 end

 subgraph Cloud["SAM 3 Online"]
 E["사용자 입력 &amp;lt;br/&amp;gt; 텍스트/클릭"] --&gt; F["SAM 3 &amp;lt;br/&amp;gt; Meta 서버"]
 F --&gt; G["클라우드 GPU &amp;lt;br/&amp;gt; 추론"]
 G --&gt; H["웹 브라우저 &amp;lt;br/&amp;gt; aidemos.meta.com"]
 end

 style Local fill:#e8f5e9,stroke:#2e7d32
 style Cloud fill:#e3f2fd,stroke:#1565c0&lt;/pre&gt;&lt;h2 id="sam-21-on-apple-silicon-mac"&gt;SAM 2.1 on Apple Silicon Mac
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/ice-ice-bear/sam2-mac-test" target="_blank" rel="noopener"
 &gt;ice-ice-bear/sam2-mac-test&lt;/a&gt; 레포지토리는 SAM 2.1을 Apple Silicon Mac에서 바로 실행할 수 있도록 구성되어 있다.&lt;/p&gt;
&lt;h3 id="주요-특징"&gt;주요 특징
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MPS GPU 가속&lt;/strong&gt;: PyTorch의 Metal Performance Shaders 백엔드를 사용해 M1/M2/M3/M4 칩의 GPU로 추론&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-point Segmentation&lt;/strong&gt;: 포함(include)/제외(exclude) 포인트를 찍어 세밀한 세그멘테이션 가능&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Segment Everything 모드&lt;/strong&gt;: 이미지 내 모든 객체를 한 번에 세그멘테이션&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gradio Web UI&lt;/strong&gt;: 브라우저에서 바로 사용할 수 있는 인터페이스&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SAM 2.1 Tiny 모델&lt;/strong&gt;: 74.5 MB의 경량 모델이 자동 다운로드됨&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="빠른-시작"&gt;빠른 시작
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/ice-ice-bear/sam2-mac-test.git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; sam2-mac-test
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uv sync
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uv run python app.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;브라우저에서 &lt;code&gt;http://127.0.0.1:7860&lt;/code&gt;으로 접속하면 Gradio UI가 열린다.&lt;/p&gt;
&lt;h3 id="성능"&gt;성능
&lt;/h3&gt;&lt;p&gt;M1 MacBook 기준 측정 결과:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;작업&lt;/th&gt;
 &lt;th&gt;소요 시간&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;단일 포인트 세그멘테이션&lt;/td&gt;
 &lt;td&gt;~1.6초&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;멀티 포인트 업데이트&lt;/td&gt;
 &lt;td&gt;~1.5초/회&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Tiny 모델을 사용하므로 메모리 부담이 적고, MPS 가속 덕분에 CPU 대비 상당한 속도 향상을 얻을 수 있다.&lt;/p&gt;
&lt;h3 id="기술-스택"&gt;기술 스택
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SAM 2.1&lt;/strong&gt;: Ultralytics 라이브러리를 통해 사용&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PyTorch MPS&lt;/strong&gt;: Apple Silicon GPU 백엔드&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gradio&lt;/strong&gt;: 웹 UI 프레임워크&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;uv&lt;/strong&gt;: 패키지 매니저&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="meta-sam-3-온라인-플레이그라운드"&gt;Meta SAM 3 온라인 플레이그라운드
&lt;/h2&gt;&lt;p&gt;Meta는 최신 SAM 3를 &lt;a class="link" href="https://aidemos.meta.com/segment-anything" target="_blank" rel="noopener"
 &gt;aidemos.meta.com/segment-anything&lt;/a&gt;에서 온라인 데모로 제공하고 있다.&lt;/p&gt;
&lt;h3 id="sam-3의-차별화-기능"&gt;SAM 3의 차별화 기능
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;텍스트 프롬프트 세그멘테이션&lt;/strong&gt;: &amp;ldquo;find animal&amp;rdquo;, &amp;ldquo;find person&amp;rdquo; 같은 자연어로 객체를 찾을 수 있음&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;원클릭 이펙트&lt;/strong&gt;: 블러, 복제, 채도 제거 등을 클릭 한 번으로 적용&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;모션 트레일&lt;/strong&gt;: 세그멘테이션된 객체에 모션 효과 추가&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;컨투어 라인 / 바운딩 박스&lt;/strong&gt;: 다양한 시각화 옵션&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;비디오 세그멘테이션&lt;/strong&gt;: 영상에서 객체를 추적하는 Track Anything 기능&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;커뮤니티 템플릿&lt;/strong&gt;: 다른 사용자가 만든 이펙트를 바로 사용 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="sam-21-local-vs-sam-3-online-비교"&gt;SAM 2.1 Local vs SAM 3 Online 비교
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;항목&lt;/th&gt;
 &lt;th&gt;SAM 2.1 Local&lt;/th&gt;
 &lt;th&gt;SAM 3 Online&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;실행 환경&lt;/td&gt;
 &lt;td&gt;로컬 Mac (Apple Silicon)&lt;/td&gt;
 &lt;td&gt;Meta 클라우드 서버&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;GPU&lt;/td&gt;
 &lt;td&gt;MPS (M1/M2/M3/M4)&lt;/td&gt;
 &lt;td&gt;클라우드 GPU&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;모델 크기&lt;/td&gt;
 &lt;td&gt;Tiny 74.5 MB&lt;/td&gt;
 &lt;td&gt;풀사이즈 (비공개)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;입력 방식&lt;/td&gt;
 &lt;td&gt;포인트 클릭, 박스&lt;/td&gt;
 &lt;td&gt;텍스트, 클릭, 박스&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;텍스트 프롬프트&lt;/td&gt;
 &lt;td&gt;미지원&lt;/td&gt;
 &lt;td&gt;지원&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;이펙트 후처리&lt;/td&gt;
 &lt;td&gt;없음&lt;/td&gt;
 &lt;td&gt;블러, 복제, 채도 등&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;비디오 지원&lt;/td&gt;
 &lt;td&gt;미지원&lt;/td&gt;
 &lt;td&gt;지원&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;프라이버시&lt;/td&gt;
 &lt;td&gt;데이터가 로컬에 유지&lt;/td&gt;
 &lt;td&gt;Meta 서버로 업로드&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;인터넷 필요&lt;/td&gt;
 &lt;td&gt;모델 다운로드 시에만&lt;/td&gt;
 &lt;td&gt;항상 필요&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;커스터마이징&lt;/td&gt;
 &lt;td&gt;코드 수정 자유&lt;/td&gt;
 &lt;td&gt;제한적&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="어떤-걸-선택할까"&gt;어떤 걸 선택할까
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;SAM 2.1 로컬 실행&lt;/strong&gt;이 적합한 경우:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;민감한 이미지를 외부 서버에 올리고 싶지 않을 때&lt;/li&gt;
&lt;li&gt;자동화 파이프라인에 세그멘테이션을 통합하고 싶을 때&lt;/li&gt;
&lt;li&gt;모델을 직접 수정하거나 확장하고 싶을 때&lt;/li&gt;
&lt;li&gt;오프라인 환경에서 작업해야 할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;SAM 3 온라인 데모&lt;/strong&gt;가 적합한 경우:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;텍스트 프롬프트로 빠르게 객체를 찾고 싶을 때&lt;/li&gt;
&lt;li&gt;블러, 복제 같은 이펙트를 바로 적용하고 싶을 때&lt;/li&gt;
&lt;li&gt;비디오 세그멘테이션이 필요할 때&lt;/li&gt;
&lt;li&gt;설치 없이 바로 체험하고 싶을 때&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="마무리"&gt;마무리
&lt;/h2&gt;&lt;p&gt;SAM 2.1의 로컬 실행은 Apple Silicon Mac 사용자에게 접근성이 높은 선택지다. 74.5 MB Tiny 모델로도 실용적인 세그멘테이션이 가능하고, MPS 가속으로 GPU를 활용할 수 있다. SAM 3 온라인 데모는 텍스트 프롬프트와 다양한 이펙트로 한 단계 더 진화한 경험을 제공한다. 용도에 따라 로컬과 클라우드를 적절히 조합해서 쓰면 된다.&lt;/p&gt;
&lt;h3 id="참고-링크"&gt;참고 링크
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/ice-ice-bear/sam2-mac-test" target="_blank" rel="noopener"
 &gt;ice-ice-bear/sam2-mac-test (GitHub)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://aidemos.meta.com/segment-anything" target="_blank" rel="noopener"
 &gt;Meta AI Demos — Segment Anything&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.ultralytics.com/models/sam-2/" target="_blank" rel="noopener"
 &gt;Ultralytics SAM 2 Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://pytorch.org/docs/stable/notes/mps.html" target="_blank" rel="noopener"
 &gt;PyTorch MPS Backend&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>