<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>segmentation &#8211; KGG Studio</title>
	<atom:link href="https://blog.kggstudio.com/tag/segmentation/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.kggstudio.com</link>
	<description>개발자 테크 블로그</description>
	<lastBuildDate>Tue, 21 Apr 2026 12:36:14 +0000</lastBuildDate>
	<language>ko-KR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.kggstudio.com/wp-content/uploads/2025/05/cropped-K-1-32x32.png</url>
	<title>segmentation &#8211; KGG Studio</title>
	<link>https://blog.kggstudio.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">244941309</site>	<item>
		<title>CV (5) &#8211; Segmentation</title>
		<link>https://blog.kggstudio.com/cv-5-segmentation/</link>
					<comments>https://blog.kggstudio.com/cv-5-segmentation/#respond</comments>
		
		<dc:creator><![CDATA[TimTam]]></dc:creator>
		<pubDate>Mon, 20 Apr 2026 23:46:50 +0000</pubDate>
				<category><![CDATA[CV]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[cv segmentatino]]></category>
		<category><![CDATA[segmentation]]></category>
		<guid isPermaLink="false">https://blog.kggstudio.com/?p=496</guid>

					<description><![CDATA[Segmentation에는 두 종류가 있다 Class Segmentation Semantic Segmentation 주요 모델 요약 및 Instance Segmentation 추천 모델 Semantic Seg. FCN (Fully Convolutional Network) 2015 · Long et al. (UC Berkeley) Conv Layers Pooling ×5 FC→Conv 1×1 conv Bilinear Upsample ×32 Segmentation 픽셀 단위 분류를 위해 FC layer를 1×1 conv로 대체한 최초의 end-to-end segmentation 네트워크. 스킵 연결(FCN-8s/16s/32s)로 ... <a title="CV (5) &#8211; Segmentation" class="read-more" href="https://blog.kggstudio.com/cv-5-segmentation/" aria-label="CV (5) &#8211; Segmentation에 대해 더 자세히 알아보세요">더 읽기</a>]]></description>
										<content:encoded><![CDATA[
<p>Segmentation에는 두 종류가 있다</p>



<ul class="wp-block-list">
<li>Semantic Segmentation: 이미지에서, 사람, 자전거, 동물 등 class <strong>분류 </strong>만 하는것.</li>



<li>Instance Segmentation: 이미지에서 사람, 자전거, 동물을 분류하는것 뿐만아니라, 사람마다, 자전거마다, 동물마다 서로 다른 <strong>Instance</strong>인지 아닌지를 구분하는것</li>
</ul>



<h2 class="wp-block-heading">Class Segmentation</h2>




<style>
  .model-card { background: var(--color-background-primary); border: 0.5px solid var(--color-border-tertiary); border-radius: var(--border-radius-lg); padding: 1.25rem; margin-bottom: 1rem; }
  .model-header { display: flex; align-items: center; gap: 12px; margin-bottom: 1rem; }
  .model-badge { font-size: 11px; font-weight: 500; padding: 3px 10px; border-radius: 99px; white-space: nowrap; }
  .badge-blue { background: #E6F1FB; color: #0C447C; }
  .badge-teal { background: #E1F5EE; color: #085041; }
  .badge-amber { background: #FAEEDA; color: #633806; }
  .badge-purple { background: #EEEDFE; color: #3C3489; }
  .badge-coral { background: #FAECE7; color: #712B13; }
  .badge-green { background: #EAF3DE; color: #27500A; }
  @media (prefers-color-scheme: dark) {
    .badge-blue { background: #0C447C; color: #B5D4F4; }
    .badge-teal { background: #085041; color: #9FE1CB; }
    .badge-amber { background: #633806; color: #FAC775; }
    .badge-purple { background: #3C3489; color: #CECBF6; }
    .badge-coral { background: #712B13; color: #F5C4B3; }
    .badge-green { background: #27500A; color: #C0DD97; }
  }
  .model-name { font-size: 17px; font-weight: 500; color: var(--color-text-primary); }
  .model-year { font-size: 12px; color: var(--color-text-tertiary); }
  .arch-diagram { width: 100%; overflow: hidden; margin: 0.75rem 0; }
  .detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 0.75rem; }
  .detail-item { background: var(--color-background-secondary); border-radius: var(--border-radius-md); padding: 0.6rem 0.75rem; }
  .detail-label { font-size: 11px; color: var(--color-text-tertiary); margin-bottom: 2px; }
  .detail-value { font-size: 13px; color: var(--color-text-primary); line-height: 1.4; }
  .pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
  .pro-box { background: #EAF3DE; border-radius: var(--border-radius-md); padding: 0.5rem 0.75rem; font-size: 12px; color: #27500A; }
  .con-box { background: #FCEBEB; border-radius: var(--border-radius-md); padding: 0.5rem 0.75rem; font-size: 12px; color: #791F1F; }
  @media (prefers-color-scheme: dark) {
    .pro-box { background: #173404; color: #C0DD97; }
    .con-box { background: #501313; color: #F7C1C1; }
  }
  .pro-box b, .con-box b { display: block; font-weight: 500; margin-bottom: 2px; }
  .section-title { font-size: 13px; font-weight: 500; color: var(--color-text-secondary); margin: 0.4rem 0 0.2rem; }
  .desc { font-size: 13px; color: var(--color-text-secondary); line-height: 1.6; }
  .instance-card { background: var(--color-background-primary); border: 2px solid #B5D4F4; border-radius: var(--border-radius-lg); padding: 1.25rem; margin-bottom: 0.75rem; }
  @media (prefers-color-scheme: dark) { .instance-card { border-color: #185FA5; } }
  .recommend-badge { display: inline-block; font-size: 11px; font-weight: 500; padding: 2px 10px; border-radius: 99px; background: #E6F1FB; color: #185FA5; margin-left: 8px; }
  @media (prefers-color-scheme: dark) { .recommend-badge { background: #0C447C; color: #85B7EB; } }
  h2.sec { font-size: 15px; font-weight: 500; color: var(--color-text-primary); margin: 1.5rem 0 0.75rem; padding-bottom: 6px; border-bottom: 0.5px solid var(--color-border-tertiary); }
</style>

<h2 class="sr-only" style="position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)">Semantic Segmentation 주요 모델 요약 및 Instance Segmentation 추천 모델</h2>

<!-- FCN -->
<div class="model-card">
  <div class="model-header">
    <span class="model-badge badge-blue">Semantic Seg.</span>
    <div>
      <div class="model-name">FCN <span style="font-size:13px;font-weight:400;color:var(--color-text-tertiary)">(Fully Convolutional Network)</span></div>
      <div class="model-year">2015 · Long et al. (UC Berkeley)</div>
    </div>
  </div>
  <svg viewBox="0 0 640 60" width="100%" class="arch-diagram">
    <defs><marker id="a1" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="5" markerHeight="5" orient="auto-start-reverse"><path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></marker></defs>
    <rect x="10" y="12" width="90" height="36" rx="6" fill="#E6F1FB" stroke="#378ADD" stroke-width="0.5"/>
    <text x="55" y="34" text-anchor="middle" font-size="11" fill="#0C447C" font-family="sans-serif" dominant-baseline="central">Conv Layers</text>
    <line x1="100" y1="30" x2="128" y2="30" stroke="#73726c" stroke-width="1" marker-end="url(#a1)"/>
    <rect x="130" y="12" width="90" height="36" rx="6" fill="#E6F1FB" stroke="#378ADD" stroke-width="0.5"/>
    <text x="175" y="34" text-anchor="middle" font-size="11" fill="#0C447C" font-family="sans-serif" dominant-baseline="central">Pooling ×5</text>
    <line x1="220" y1="30" x2="248" y2="30" stroke="#73726c" stroke-width="1" marker-end="url(#a1)"/>
    <rect x="250" y="4" width="80" height="52" rx="6" fill="#EEEDFE" stroke="#7F77DD" stroke-width="0.5"/>
    <text x="290" y="26" text-anchor="middle" font-size="10" fill="#3C3489" font-family="sans-serif" dominant-baseline="central">FC→Conv</text>
    <text x="290" y="42" text-anchor="middle" font-size="10" fill="#3C3489" font-family="sans-serif" dominant-baseline="central">1×1 conv</text>
    <line x1="330" y1="30" x2="358" y2="30" stroke="#73726c" stroke-width="1" marker-end="url(#a1)"/>
    <rect x="360" y="4" width="100" height="52" rx="6" fill="#E1F5EE" stroke="#1D9E75" stroke-width="0.5"/>
    <text x="410" y="26" text-anchor="middle" font-size="10" fill="#085041" font-family="sans-serif" dominant-baseline="central">Bilinear</text>
    <text x="410" y="42" text-anchor="middle" font-size="10" fill="#085041" font-family="sans-serif" dominant-baseline="central">Upsample ×32</text>
    <line x1="460" y1="30" x2="488" y2="30" stroke="#73726c" stroke-width="1" marker-end="url(#a1)"/>
    <rect x="490" y="12" width="90" height="36" rx="6" fill="#EAF3DE" stroke="#639922" stroke-width="0.5"/>
    <text x="535" y="34" text-anchor="middle" font-size="11" fill="#27500A" font-family="sans-serif" dominant-baseline="central">Segmentation</text>
  </svg>
  <p class="desc">픽셀 단위 분류를 위해 FC layer를 1×1 conv로 대체한 최초의 end-to-end segmentation 네트워크. 스킵 연결(FCN-8s/16s/32s)로 coarse feature를 보완했으나 업샘플링이 단순해 경계 품질이 낮음.</p>
  <div class="detail-grid">
    <div class="detail-item"><div class="detail-label">핵심 아이디어</div><div class="detail-value">FC layer 제거 → 임의 해상도 입력 가능</div></div>
    <div class="detail-item"><div class="detail-label">업샘플링</div><div class="detail-value">Bilinear upsample (×32/16/8)</div></div>
    <div class="detail-item"><div class="detail-label">백본</div><div class="detail-value">VGG-16 (기본)</div></div>
    <div class="detail-item"><div class="detail-label">주요 한계</div><div class="detail-value">경계 불선명, 공간 정보 손실</div></div>
  </div>
  <div class="pros-cons">
    <div class="pro-box"><b>장점</b>End-to-end 학습 가능, 구조 단순</div>
    <div class="con-box"><b>단점</b>경계선 품질 낮음, 해상도 복원 부정확</div>
  </div>
</div>

<!-- SegNet -->
<div class="model-card">
  <div class="model-header">
    <span class="model-badge badge-teal">Semantic Seg.</span>
    <div>
      <div class="model-name">SegNet</div>
      <div class="model-year">2017 · Badrinarayanan et al. (Cambridge)</div>
    </div>
  </div>
  <svg viewBox="0 0 640 70" width="100%" class="arch-diagram">
    <defs><marker id="a2" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="5" markerHeight="5" orient="auto-start-reverse"><path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></marker></defs>
    <!-- Encoder -->
    <rect x="10" y="17" width="200" height="36" rx="6" fill="#E1F5EE" stroke="#1D9E75" stroke-width="0.5"/>
    <text x="110" y="31" text-anchor="middle" font-size="11" fill="#085041" font-family="sans-serif" dominant-baseline="central">Encoder (VGG blocks)</text>
    <text x="110" y="45" text-anchor="middle" font-size="10" fill="#085041" font-family="sans-serif" dominant-baseline="central">MaxPool → 저장 indices</text>
    <!-- Arrow -->
    <line x1="210" y1="35" x2="238" y2="35" stroke="#73726c" stroke-width="1" marker-end="url(#a2)"/>
    <!-- Bottleneck -->
    <rect x="240" y="9" width="80" height="52" rx="6" fill="#EEEDFE" stroke="#7F77DD" stroke-width="0.5"/>
    <text x="280" y="31" text-anchor="middle" font-size="10" fill="#3C3489" font-family="sans-serif" dominant-baseline="central">Feature</text>
    <text x="280" y="45" text-anchor="middle" font-size="10" fill="#3C3489" font-family="sans-serif" dominant-baseline="central">Map</text>
    <!-- Arrow -->
    <line x1="320" y1="35" x2="348" y2="35" stroke="#73726c" stroke-width="1" marker-end="url(#a2)"/>
    <!-- Decoder -->
    <rect x="350" y="17" width="220" height="36" rx="6" fill="#FAEEDA" stroke="#BA7517" stroke-width="0.5"/>
    <text x="460" y="31" text-anchor="middle" font-size="11" fill="#633806" font-family="sans-serif" dominant-baseline="central">Decoder</text>
    <text x="460" y="45" text-anchor="middle" font-size="10" fill="#633806" font-family="sans-serif" dominant-baseline="central">MaxUnpool (saved indices) → Conv</text>
  </svg>
  <p class="desc">인코더-디코더 대칭 구조. Max pooling 시 위치 인덱스(pooling indices)를 저장해 디코더에서 정확한 위치로 업샘플링. 추가 파라미터 없이 skip connection 효과를 냄.</p>
  <div class="detail-grid">
    <div class="detail-item"><div class="detail-label">핵심 아이디어</div><div class="detail-value">Pooling indices 저장 → 정밀 업샘플링</div></div>
    <div class="detail-item"><div class="detail-label">구조</div><div class="detail-value">대칭 인코더-디코더 (VGG 기반)</div></div>
    <div class="detail-item"><div class="detail-label">메모리</div><div class="detail-value">U-Net 대비 낮음 (feature 전달 X)</div></div>
    <div class="detail-item"><div class="detail-label">적합 분야</div><div class="detail-value">도로 장면, 실시간에 가까운 용도</div></div>
  </div>
  <div class="pros-cons">
    <div class="pro-box"><b>장점</b>메모리 효율, 경계 복원 개선</div>
    <div class="con-box"><b>단점</b>U-Net 대비 세밀한 정보 손실 가능</div>
  </div>
</div>

<!-- U-Net -->
<div class="model-card">
  <div class="model-header">
    <span class="model-badge badge-amber">Semantic Seg.</span>
    <div>
      <div class="model-name">U-Net</div>
      <div class="model-year">2015 · Ronneberger et al. (U Freiburg)</div>
    </div>
  </div>
  <svg viewBox="0 0 640 90" width="100%" class="arch-diagram">
    <defs><marker id="a3" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="5" markerHeight="5" orient="auto-start-reverse"><path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></marker></defs>
    <!-- Encoder blocks -->
    <rect x="10" y="10" width="80" height="28" rx="5" fill="#FAEEDA" stroke="#BA7517" stroke-width="0.5"/>
    <text x="50" y="28" text-anchor="middle" font-size="10" fill="#633806" font-family="sans-serif" dominant-baseline="central">Enc-1 (64ch)</text>
    <rect x="10" y="50" width="80" height="28" rx="5" fill="#FAEEDA" stroke="#BA7517" stroke-width="0.5"/>
    <text x="50" y="68" text-anchor="middle" font-size="10" fill="#633806" font-family="sans-serif" dominant-baseline="central">Enc-2 (128)</text>
    <!-- Bottleneck -->
    <rect x="270" y="30" width="100" height="30" rx="6" fill="#EEEDFE" stroke="#7F77DD" stroke-width="0.5"/>
    <text x="320" y="48" text-anchor="middle" font-size="10" fill="#3C3489" font-family="sans-serif" dominant-baseline="central">Bottleneck</text>
    <!-- Decoder blocks -->
    <rect x="550" y="10" width="80" height="28" rx="5" fill="#E1F5EE" stroke="#1D9E75" stroke-width="0.5"/>
    <text x="590" y="28" text-anchor="middle" font-size="10" fill="#085041" font-family="sans-serif" dominant-baseline="central">Dec-1 (64ch)</text>
    <rect x="550" y="50" width="80" height="28" rx="5" fill="#E1F5EE" stroke="#1D9E75" stroke-width="0.5"/>
    <text x="590" y="68" text-anchor="middle" font-size="10" fill="#085041" font-family="sans-serif" dominant-baseline="central">Dec-2 (128)</text>
    <!-- Skip connections (dashed) -->
    <path d="M90 24 Q320 6 550 24" fill="none" stroke="#EF9F27" stroke-width="1.5" stroke-dasharray="5 3"/>
    <path d="M90 64 Q320 80 550 64" fill="none" stroke="#EF9F27" stroke-width="1.5" stroke-dasharray="5 3"/>
    <!-- arrows enc to bottleneck -->
    <line x1="150" y1="24" x2="268" y2="40" stroke="#73726c" stroke-width="0.8" marker-end="url(#a3)"/>
    <line x1="150" y1="64" x2="268" y2="52" stroke="#73726c" stroke-width="0.8" marker-end="url(#a3)"/>
    <!-- arrows bottleneck to dec -->
    <line x1="370" y1="40" x2="548" y2="24" stroke="#73726c" stroke-width="0.8" marker-end="url(#a3)"/>
    <line x1="370" y1="52" x2="548" y2="64" stroke="#73726c" stroke-width="0.8" marker-end="url(#a3)"/>
    <!-- legend -->
    <line x1="250" y1="82" x2="274" y2="82" stroke="#EF9F27" stroke-width="1.5" stroke-dasharray="5 3"/>
    <text x="278" y="86" font-size="10" fill="#73726c" font-family="sans-serif" dominant-baseline="central">skip connection (feature concat)</text>
  </svg>
  <p class="desc">의료 영상용으로 개발된 인코더-디코더 구조. 인코더의 feature map을 디코더에 직접 연결(concatenation)하는 skip connection으로 공간 정보와 의미 정보를 동시에 보존. 소량 데이터에서도 강력한 성능.</p>
  <div class="detail-grid">
    <div class="detail-item"><div class="detail-label">핵심 아이디어</div><div class="detail-value">Feature map concat skip connection</div></div>
    <div class="detail-item"><div class="detail-label">강점</div><div class="detail-value">소량 데이터, 의료/위성 영상</div></div>
    <div class="detail-item"><div class="detail-label">변형</div><div class="detail-value">U-Net++, Attention U-Net, TransUNet</div></div>
    <div class="detail-item"><div class="detail-label">메모리</div><div class="detail-value">SegNet 대비 높음 (feature 전달)</div></div>
  </div>
  <div class="pros-cons">
    <div class="pro-box"><b>장점</b>경계 정밀, 소량 학습 데이터 OK, 확장 용이</div>
    <div class="con-box"><b>단점</b>메모리 사용량 높음</div>
  </div>
</div>

<!-- DeepLab -->
<div class="model-card">
  <div class="model-header">
    <span class="model-badge badge-purple">Semantic Seg.</span>
    <div>
      <div class="model-name">DeepLab <span style="font-size:13px;font-weight:400;color:var(--color-text-tertiary)">(v1→v2→v3→v3+)</span></div>
      <div class="model-year">2015–2018 · Chen et al. (Google)</div>
    </div>
  </div>
  <svg viewBox="0 0 640 72" width="100%" class="arch-diagram">
    <defs><marker id="a4" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="5" markerHeight="5" orient="auto-start-reverse"><path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></marker></defs>
    <!-- Backbone -->
    <rect x="10" y="18" width="90" height="36" rx="6" fill="#EEEDFE" stroke="#7F77DD" stroke-width="0.5"/>
    <text x="55" y="36" text-anchor="middle" font-size="10" fill="#3C3489" font-family="sans-serif" dominant-baseline="central">Backbone</text>
    <text x="55" y="48" text-anchor="middle" font-size="10" fill="#3C3489" font-family="sans-serif" dominant-baseline="central">(ResNet/Xception)</text>
    <line x1="100" y1="36" x2="128" y2="36" stroke="#73726c" stroke-width="1" marker-end="url(#a4)"/>
    <!-- ASPP -->
    <rect x="130" y="4" width="200" height="64" rx="6" fill="#FAECE7" stroke="#D85A30" stroke-width="0.5"/>
    <text x="230" y="20" text-anchor="middle" font-size="11" fill="#712B13" font-family="sans-serif" dominant-baseline="central" font-weight="500">ASPP</text>
    <text x="150" y="38" font-size="9" fill="#993C1D" font-family="sans-serif" dominant-baseline="central">rate=6</text>
    <text x="192" y="38" font-size="9" fill="#993C1D" font-family="sans-serif" dominant-baseline="central">rate=12</text>
    <text x="238" y="38" font-size="9" fill="#993C1D" font-family="sans-serif" dominant-baseline="central">rate=18</text>
    <text x="290" y="38" font-size="9" fill="#993C1D" font-family="sans-serif" dominant-baseline="central">1×1</text>
    <text x="230" y="56" text-anchor="middle" font-size="9" fill="#712B13" font-family="sans-serif" dominant-baseline="central">병렬 Dilated Conv</text>
    <line x1="330" y1="36" x2="358" y2="36" stroke="#73726c" stroke-width="1" marker-end="url(#a4)"/>
    <!-- CRF / Decoder -->
    <rect x="360" y="12" width="120" height="48" rx="6" fill="#E1F5EE" stroke="#1D9E75" stroke-width="0.5"/>
    <text x="420" y="30" text-anchor="middle" font-size="10" fill="#085041" font-family="sans-serif" dominant-baseline="central">Decoder</text>
    <text x="420" y="46" text-anchor="middle" font-size="9" fill="#085041" font-family="sans-serif" dominant-baseline="central">(+ CRF / Low-level feat)</text>
    <line x1="480" y1="36" x2="508" y2="36" stroke="#73726c" stroke-width="1" marker-end="url(#a4)"/>
    <rect x="510" y="18" width="90" height="36" rx="6" fill="#EAF3DE" stroke="#639922" stroke-width="0.5"/>
    <text x="555" y="36" text-anchor="middle" font-size="10" fill="#27500A" font-family="sans-serif" dominant-baseline="central">Segmentation</text>
  </svg>
  <p class="desc">Atrous(Dilated) Convolution으로 receptive field를 넓히면서 해상도를 유지하는 것이 핵심. ASPP(Atrous Spatial Pyramid Pooling)로 다양한 스케일의 문맥 정보를 동시에 포착. v3+에서 인코더-디코더 구조와 결합해 경계 정밀도 향상.</p>
  <div class="detail-grid">
    <div class="detail-item"><div class="detail-label">핵심 기술</div><div class="detail-value">Dilated Conv + ASPP 멀티스케일</div></div>
    <div class="detail-item"><div class="detail-label">버전별 발전</div><div class="detail-value">v1(CRF) → v2(ASPP) → v3(개선ASPP) → v3+(디코더)</div></div>
    <div class="detail-item"><div class="detail-label">백본</div><div class="detail-value">ResNet-101, Xception</div></div>
    <div class="detail-item"><div class="detail-label">강점</div><div class="detail-value">멀티스케일 의미 이해, 높은 mIoU</div></div>
  </div>
  <div class="pros-cons">
    <div class="pro-box"><b>장점</b>SOTA급 의미론 이해, 다양한 스케일 처리</div>
    <div class="con-box"><b>단점</b>연산량 큼, 실시간 어려움</div>
  </div>
</div>

<!-- Comparison table -->
<h2 class="sec">모델 한눈에 비교</h2>
<div style="overflow-x:auto">
<table style="width:100%;font-size:12px;border-collapse:collapse;">
  <thead>
    <tr style="background:var(--color-background-secondary);">
      <th style="padding:8px 10px;text-align:left;font-weight:500;border-bottom:0.5px solid var(--color-border-tertiary);">모델</th>
      <th style="padding:8px 10px;text-align:left;font-weight:500;border-bottom:0.5px solid var(--color-border-tertiary);">업샘플링 방식</th>
      <th style="padding:8px 10px;text-align:left;font-weight:500;border-bottom:0.5px solid var(--color-border-tertiary);">멀티스케일</th>
      <th style="padding:8px 10px;text-align:left;font-weight:500;border-bottom:0.5px solid var(--color-border-tertiary);">속도</th>
      <th style="padding:8px 10px;text-align:left;font-weight:500;border-bottom:0.5px solid var(--color-border-tertiary);">주요 강점</th>
    </tr>
  </thead>
  <tbody>
    <tr style="border-bottom:0.5px solid var(--color-border-tertiary);">
      <td style="padding:8px 10px;font-weight:500;color:#185FA5">FCN</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">Bilinear (×32)</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">Skip (낮음)</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">빠름</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">단순함, 선구자</td>
    </tr>
    <tr style="border-bottom:0.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);">
      <td style="padding:8px 10px;font-weight:500;color:#0F6E56">SegNet</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">MaxUnpool (indices)</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">없음</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">빠름</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">메모리 효율</td>
    </tr>
    <tr style="border-bottom:0.5px solid var(--color-border-tertiary);">
      <td style="padding:8px 10px;font-weight:500;color:#854F0B">U-Net</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">Transposed Conv</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">Skip concat</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">중간</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">소량 데이터, 경계 정밀</td>
    </tr>
    <tr style="background:var(--color-background-secondary);">
      <td style="padding:8px 10px;font-weight:500;color:#534AB7">DeepLab v3+</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">Dilated + Decoder</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">ASPP (강함)</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">느림</td>
      <td style="padding:8px 10px;color:var(--color-text-secondary)">최고 수준 의미 이해</td>
    </tr>
  </tbody>
</table>
</div>





<h2 class="wp-block-heading">Instance Segmentation</h2>



<style>
  .model-card { background: var(--color-background-primary); border: 0.5px solid var(--color-border-tertiary); border-radius: var(--border-radius-lg); padding: 1.25rem; margin-bottom: 1rem; }
  .model-header { display: flex; align-items: center; gap: 12px; margin-bottom: 1rem; }
  .model-badge { font-size: 11px; font-weight: 500; padding: 3px 10px; border-radius: 99px; white-space: nowrap; }
  .badge-blue { background: #E6F1FB; color: #0C447C; }
  .badge-teal { background: #E1F5EE; color: #085041; }
  .badge-amber { background: #FAEEDA; color: #633806; }
  .badge-purple { background: #EEEDFE; color: #3C3489; }
  .badge-coral { background: #FAECE7; color: #712B13; }
  .badge-green { background: #EAF3DE; color: #27500A; }
  @media (prefers-color-scheme: dark) {
    .badge-blue { background: #0C447C; color: #B5D4F4; }
    .badge-teal { background: #085041; color: #9FE1CB; }
    .badge-amber { background: #633806; color: #FAC775; }
    .badge-purple { background: #3C3489; color: #CECBF6; }
    .badge-coral { background: #712B13; color: #F5C4B3; }
    .badge-green { background: #27500A; color: #C0DD97; }
  }
  .model-name { font-size: 17px; font-weight: 500; color: var(--color-text-primary); }
  .model-year { font-size: 12px; color: var(--color-text-tertiary); }
  .arch-diagram { width: 100%; overflow: hidden; margin: 0.75rem 0; }
  .detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 0.75rem; }
  .detail-item { background: var(--color-background-secondary); border-radius: var(--border-radius-md); padding: 0.6rem 0.75rem; }
  .detail-label { font-size: 11px; color: var(--color-text-tertiary); margin-bottom: 2px; }
  .detail-value { font-size: 13px; color: var(--color-text-primary); line-height: 1.4; }
  .pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
  .pro-box { background: #EAF3DE; border-radius: var(--border-radius-md); padding: 0.5rem 0.75rem; font-size: 12px; color: #27500A; }
  .con-box { background: #FCEBEB; border-radius: var(--border-radius-md); padding: 0.5rem 0.75rem; font-size: 12px; color: #791F1F; }
  @media (prefers-color-scheme: dark) {
    .pro-box { background: #173404; color: #C0DD97; }
    .con-box { background: #501313; color: #F7C1C1; }
  }
  .pro-box b, .con-box b { display: block; font-weight: 500; margin-bottom: 2px; }
  .section-title { font-size: 13px; font-weight: 500; color: var(--color-text-secondary); margin: 0.4rem 0 0.2rem; }
  .desc { font-size: 13px; color: var(--color-text-secondary); line-height: 1.6; }
  .instance-card { background: var(--color-background-primary); border: 2px solid #B5D4F4; border-radius: var(--border-radius-lg); padding: 1.25rem; margin-bottom: 0.75rem; }
  @media (prefers-color-scheme: dark) { .instance-card { border-color: #185FA5; } }
  .recommend-badge { display: inline-block; font-size: 11px; font-weight: 500; padding: 2px 10px; border-radius: 99px; background: #E6F1FB; color: #185FA5; margin-left: 8px; }
  @media (prefers-color-scheme: dark) { .recommend-badge { background: #0C447C; color: #85B7EB; } }
  h2.sec { font-size: 15px; font-weight: 500; color: var(--color-text-primary); margin: 1.5rem 0 0.75rem; padding-bottom: 6px; border-bottom: 0.5px solid var(--color-border-tertiary); }
</style>
<!-- Instance Segmentation -->
<h2 class="sec">Instance Segmentation — 현재 많이 쓰는 모델</h2>

<div class="instance-card">
  <div class="model-header">
    <span class="model-badge badge-coral">Instance Seg.</span>
    <div>
      <div class="model-name">Mask R-CNN <span class="recommend-badge">산업 표준</span></div>
      <div class="model-year">2017 · He et al. (Meta AI / FAIR)</div>
    </div>
  </div>
  <p class="desc">Faster R-CNN + Mask Branch를 추가한 two-stage 모델. RoIAlign으로 경계 정합 문제를 해결. Detectron2 등 많은 프레임워크의 기반. 정확도 높고 생태계 성숙.</p>
  <div class="detail-grid">
    <div class="detail-item"><div class="detail-label">구조</div><div class="detail-value">Two-stage (RPN → RoIAlign → Mask head)</div></div>
    <div class="detail-item"><div class="detail-label">추천 용도</div><div class="detail-value">연구 베이스라인, 정밀도 우선 프로젝트</div></div>
  </div>
</div>

<div class="instance-card">
  <div class="model-header">
    <span class="model-badge badge-green">Instance Seg.</span>
    <div>
      <div class="model-name">YOLOv8-seg / YOLO11-seg <span class="recommend-badge">실시간 1순위</span></div>
      <div class="model-year">2023–2024 · Ultralytics</div>
    </div>
  </div>
  <p class="desc">One-stage 실시간 instance segmentation. 산업 현장, 엣지 디바이스, 빠른 프로토타이핑에 가장 많이 선택됨. API가 직관적이고 export(ONNX, TensorRT 등)가 쉬워 배포 친화적.</p>
  <div class="detail-grid">
    <div class="detail-item"><div class="detail-label">구조</div><div class="detail-value">One-stage, prototype mask 기반</div></div>
    <div class="detail-item"><div class="detail-label">추천 용도</div><div class="detail-value">실시간, 엣지 디바이스, 빠른 배포</div></div>
  </div>
</div>

<div class="instance-card">
  <div class="model-header">
    <span class="model-badge badge-purple">Instance Seg.</span>
    <div>
      <div class="model-name">SAM / SAM 2 <span class="recommend-badge">범용 분할</span></div>
      <div class="model-year">2023–2024 · Meta AI</div>
    </div>
  </div>
  <p class="desc">Segment Anything Model. 점·박스·텍스트 프롬프트로 임의 객체를 분할. 추가 학습 없이 zero-shot 적용 가능. SAM 2는 비디오 확장. 레이블 없는 환경이나 범용 파이프라인에 강함.</p>
  <div class="detail-grid">
    <div class="detail-item"><div class="detail-label">구조</div><div class="detail-value">Vision Transformer + Prompt Encoder</div></div>
    <div class="detail-item"><div class="detail-label">추천 용도</div><div class="detail-value">Zero-shot, 범용 도구, 데이터 레이블링</div></div>
  </div>
</div>

<div class="instance-card">
  <div class="model-header">
    <span class="model-badge badge-blue">Instance Seg.</span>
    <div>
      <div class="model-name">Mask2Former / OneFormer</div>
      <div class="model-year">2022 · Meta AI / SHI Labs</div>
    </div>
  </div>
  <p class="desc">Transformer 기반 통합 segmentation. Panoptic, Instance, Semantic을 단일 모델로 처리. COCO 등 벤치마크 최상위권. OneFormer는 단일 모델로 세 태스크를 동시 지원.</p>
  <div class="detail-grid">
    <div class="detail-item"><div class="detail-label">구조</div><div class="detail-value">Masked Attention Transformer</div></div>
    <div class="detail-item"><div class="detail-label">추천 용도</div><div class="detail-value">연구/정밀 분석, 다중 태스크</div></div>
  </div>
</div>

<div style="background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:0.75rem 1rem;margin-top:0.5rem;font-size:12px;color:var(--color-text-secondary);line-height:1.6;">
  <b style="color:var(--color-text-primary)">선택 가이드</b><br>
  실시간·엣지 → <b style="color:var(--color-text-primary)">YOLOv8/11-seg</b> · 정확도·연구 → <b style="color:var(--color-text-primary)">Mask R-CNN / Mask2Former</b> · 레이블 없는 범용 → <b style="color:var(--color-text-primary)">SAM 2</b> · 세 가지 seg 통합 → <b style="color:var(--color-text-primary)">OneFormer</b>
</div>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kggstudio.com/cv-5-segmentation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">496</post-id>	</item>
	</channel>
</rss>
