인스턴스 분할 작업과 기존 객체 감지의 가장 큰 차이점은 인스턴스 분할은 각 객체의 픽셀 단위 경계를 예측하는 반면, 객체 감지는 객체의 대략적인 위치만 예측한다는 점입니다.
기존의 객체 감지 방법은 이미지 분류와 객체 위치 파악을 결합하여 발전한 방식입니다. 예를 들어, ‘자동차’나 ‘보행자’와 같은 관련 객체 카테고리의 시각적 패턴을 인식하도록 다양한 머신 러닝 알고리즘으로 학습된 자율 주행 모델과 같은 객체 감지 모델은 입력 이미지의 시각 데이터를 분석하여 관련 객체 인스턴스에 주석을 달고, 각 인스턴스의 위치를 직사각형 영역의 ‘경계 상자’로 표시합니다.
인스턴스 분할 시스템 역시 이미지 내 객체를 감지하지만 훨씬 더 세밀하게 수행합니다. 객체 인스턴스의 대략적 위치를 나타내는 경계 상자 대신, 인스턴스 분할 알고리즘은 각 인스턴스의 정확한 형태와 영역을 픽셀 단위로 표시하는 ‘분할 마스크’를 생성합니다.
Mask R-CNN과 같은 많은 선도적인 인스턴스 분할 모델 아키텍처는 분할 마스크를 생성하는 과정에서 예비 단계로 기존의 객체 감지를 수행합니다. 이러한 ‘2단계’ 모델은 일반적으로 속도 면에서는 성능이 다소 떨어질 수 있지만, 최첨단의 정확성을 지원합니다.
시맨틱 분할은 인스턴스 분할보다 복잡성이 낮은 작업입니다. 인스턴스 분할과 달리, 시맨틱 분할은 서로 다른 인스턴스를 구분하거나 그 개수를 세는 것에 초점을 두지 않습니다. 시맨틱 분할의 유일한 목표는 이미지 내 각 픽셀에 시맨틱 클래스 레이블로 주석을 다는 것입니다.
시맨틱 분할 모델은 ‘자동차’나 ‘사람’과 같이 구체적인 형태를 가진 셀 수 있는 개체(thing)의 클래스와 ‘하늘’이나 ‘도로’처럼 형태가 일정하지 않은 셀 수 없는 개체(stuff)의 클래스를 구분하지 않습니다.
따라서 동일한 셀 수 있는 개체(thing) 클래스에 속하는 여러 객체 인스턴스가 서로 인접하거나 겹쳐 있는 경우, 시맨틱 분할 모델은 이를 단일 이미지 세그먼트로 그룹화합니다. 예를 들어, 이 이미지에서 도로 양쪽에 나란히 주차된 자동차들을 시맨틱 분할 모델이 어떻게 처리하는지 생각해 보세요. 시맨틱 분할 모델은 이 모든 자동차를 하나의 이미지 영역으로 처리합니다.
반대로, 인스턴스 분할 모델은 셀 수 있는 개별 개체(thing)에 대한 분할 마스크를 감지하고 생성하는 데에만 집중합니다. 인스턴스 분할 모델은 동일한 클래스에 속하더라도, 가려진 인스턴스를 포함하여 각각의 다른 객체 인스턴스를 명확히 설명할 수 있어야 합니다.
판옵틱 분할은 이미지의 모든 픽셀을 시맨틱 클래스별로 분류하는 동시에, 각기 다른 객체 인스턴스를 명확히 구분하는 작업을 모두 포함합니다.
판옵틱 분할 모델은 이론적으로 인스턴스 분할을 수행할 수 있지만, 출력에 인스턴스 분할 작업과 꼭 필요하지 않은 추가 정보가 포함되므로 계산 비용이 훨씬 더 많이 듭니다.
초기의 판옵틱 분할 시도는 단순히 인스턴스 분할과 시맨틱 분할을 각각 수행한 후, 후처리 단계에서 두 결과를 결합하는 방식으로 이루어졌습니다. 이 방법은 계산 효율성이 낮으며, 시맨틱 모델과 인스턴스 모델의 출력 데이터 간 불일치를 해결하는 데 어려움이 있습니다.
조금 더 최근의 방식은 공통된 ‘백본’에 시맨틱 분할 ‘헤드’와 인스턴스 분할 ‘헤드’를 연결하는 것입니다. 이 백본은 주로 특징 피라미드 네트워크(FPN)과 같은 특징 추출을 수행하는 데 사용되며, 관련된 시각 데이터를 분리하는 역할을 합니다. 이 방법은 효율성을 높이고, 데이터 출력 간의 불일치를 제거합니다.
인스턴스 분할은 다양한 컴퓨팅 비전 작업에 필수입니다.
딥 러닝은 인스턴스 분할에서 필수적인 요소가 되었으며, 거의 모든 최신 이미지 분할 방법은 신경망을 활용합니다. 최근에는 트랜스포머 모델이 실행 가능한 대안으로 떠오르고 있지만, 인스턴스 분할을 포함한 대부분의 이미지 분할 방법은 여전히 어떤 형태로든 컨볼루션 신경망(CNN)을 활용하고 있습니다.
CNN 기반의 인스턴스 분할 모델은 크게 두 가지 카테고리로 나뉩니다.
CNN 기반 및 트랜스포머 기반 인스턴스 분할 모델 모두 인코더-디코더 구조를 사용합니다. 이 구조에서는 인코더 네트워크가 입력 이미지에서 관련 데이터를 추출하고, 디코더 네트워크가 추출된 특징 데이터를 사용하여 분할 맵으로 이미지를 재구성합니다.
인스턴스 분할 모델을 이해하려면 그 구성 요소를 이해하는 것이 도움이 됩니다.
간단한 CNN은 이미지 분류와 (단일 객체를 포함하는 이미지의 경우) 객체 분류를 수행할 수 있습니다.
수학적 알고리즘이 이미지와 호환되려면 이미지를 숫자 형식으로 표현해야 합니다. CNN은 RGB 입력 이미지를 3차원(3D) 픽셀 배열로 처리하며, 여기서 픽셀의 3차원은 각각 R(ed), G(reen), (B)lue 값을 나타냅니다.
기존 CNN에는 다음과 같이 세 가지 유형의 레이어가 있습니다.
컨볼루션 레이어는 커널이라고 하는 2차원 필터를 사용하여 이미지에서 관련 특징을 추출하기 위해 컨볼루션을 수행합니다. 각 컨볼루션이 끝나면 커널은 인접한 영역으로 이동하며 전체 이미지를 순회할 때까지 이 과정을 반복합니다. 이 특징 추출의 결과물은 특징 맵입니다.
풀링 레이어는 특징 맵의 데이터를 압축하는 역할을 합니다. 다운샘플링 또는 차원 축소라고도 하는 이 프로세스는 계산 효율성을 높이고 모델 학습에서 과적합의 위험을 줄입니다.
완전 연결 레이어는 신경망의 모든 노드에서 시각 데이터를 수신하고 대조하며(즉 '완전 연결'), 이미지가 인식하도록 학습된 카테고리 중 하나와 일치하는지 예측합니다.
컨볼루션 레이어를 추가하면 정확도를 높일 수 있지만, 너무 많은 레이어를 추가하면 기울기 소실 문제가 발생하여 모델 최적화를 방해할 수 있습니다. ResNet 아키텍처는 이 문제를 해결하여 CNN이 수백, 또는 수천 개의 레이어를 가질 수 있도록 길을 열었습니다.
R-CNN은 표준 CNN으로는 달성할 수 없는 복잡한 다중 객체 감지 작업을 해결하기 위해 개발되었습니다. 이후 발전된 형태인 Faster R-CNN은 많은 인스턴스 분할 모델의 필수 구성 요소가 되었습니다.
R-CNN은 이미지 수준이 아닌 객체 수준에서 예측하기 위해 영역 제안 개념을 도입했습니다. R-CNN은 선택적 검색을 사용하여 객체를 포함할 수 있는 약 2,000개의 겹치는 상자를 제안하고, 각 '객체 제안'을 CNN에 입력하여 특징을 추출합니다. 이후 서포트 벡터 머신(SVM) 알고리즘을 사용하여 객체를 분류하고 경계 상자를 생성합니다.
Fast R-CNN은 먼저 전체 이미지를 CNN에 입력하여 특징을 추출한 후, 그 결과물인 특징 맵을 사용하여 관심 영역(RoI)을 식별하는 방식으로 R-CNN의 속도를 크게 개선했습니다. 곧이어 Faster R-CNN은 더 느리고 학습이 불가능한 선택적 검색 알고리즘을 대체하기 위해 학습 가능한 영역 제안 네트워크(RPN)를 도입하여 속도와 정확도를 더욱 개선했습니다.
FCN은 간단한 CNN의 고정되고 완전히 연결된 레이어를 추가 컨볼루션 및 풀링 레이어로 대체하여 ‘완전 컨볼루션(Fully Convolutional)’이라고 합니다. FCN의 출현으로 이미지 분할의 새로운 시대가 열렸습니다.
기존 CNN과 마찬가지로 FCN은 특징 추출과 다운샘플링을 위해 ResNet 또는 VGG와 같은 인코더 네트워크를 사용합니다. 하지만 인코딩된 데이터를 완전히 연결된 레이어로 전달하여 전체 이미지를 분류하는 대신, FCN은 압축된 특징 데이터를 분류하고 업샘플링하여 픽셀 단위의 분할 마스크로 원본 이미지를 재구성하는 ‘디코더’ 네트워크 레이어를 통해 인코딩된 데이터를 전달합니다.
당연히 다운샘플링 과정에서 일부 데이터가 손실됩니다. 후속 FCN 변형 모델인 U-Net과 같은 경우, 일부 컨볼루션 계층을 선택적으로 우회하는 스킵 연결을 도입하여 더 세부적인 정보를 보존할 수 있게 되었습니다.
Mask R-CNN 아키텍처는 Faster R-CNN의 객체 감지와 FCN의 분할 기능을 결합하여 인스턴스 분할 분야에서 획기적인 발전을 이루었습니다.
RPN이 제안된 객체에 대한 경계 상자를 생성하고, 나머지 Faster R-CNN 네트워크가 객체가 있는 영역 제안을 확인한 후(그리고 객체 경계 상자의 정확도를 높이기 위해 회귀를 수행), FCN이 각 경계 상자 내에 있는 객체의 분할 마스크를 생성합니다.
이 프로세스는 객체가 가려진 경우에도 효과적입니다. Faster R-CNN 네트워크는 각 객체 인스턴스를 구별할 수 있으므로 객체를 개별적으로 분할할 수 있기 때문입니다.
제조 조립 라인에서 불량품을 감지하는 작업과 같이 인스턴스 분할의 특정 응용 분야에는 실시간 결과가 필요합니다. 단일 단계 모델은 속도가 최우선인 사용 사례를 위해 개발되었습니다.
Mask R-CNN과 같은 2단계 모델은 매우 정확하지만 본질적으로 순차적인 접근 방식이기 때문에 속도를 높이기가 어렵습니다. YOLACT(You Only Look At CoefficienTs)와 같은 원샷 인스턴스 분할 모델은 YOLO(You Only Look Once)와 같은 단일 단계 객체 감지 모델을 기반으로 합니다.
YOLACT에서 FPN은 고해상도 특징 맵을 생성하여 두 개의 병렬 브랜치로 전달합니다. 하나의 FCN 브랜치는 잠재적인 객체 인스턴스에 대한 k개의 ‘프로토타입 마스크’를 제안합니다. 동시에 완전 연결 레이어로 구성된 또 다른 브랜치는 영역 제안과 유사한 다수의 ‘앵커 박스’를 생성하며, 각 프로토타입 마스크에 대한 k개의 ‘마스크 계수’를 예측합니다. 이 계수는 제안된 객체가 제안된 분할 마스크와 일치할 가능성을 나타냅니다. 비최대 억제(NMS)는 마스크 계수가 가장 높은 제안된 인스턴스를 필터링하는 데 사용됩니다.
최근 인스턴스 분할 및 판옵틱 분할 분야에서 이루어진 혁신은 자연어 처리 분야에서의 성공을 바탕으로 변환기 모델을 탐색하는 방향으로 발전하고 있습니다. 비전 트랜스포머(ViT)와 같은 모델은 컨볼루션 대신 셀프 어텐션 메커니즘을 활용하여 이미지의 시각적 컨텍스트를 전체적으로 분석할 수 있도록 설계되었습니다.
극복해야 할 주요 과제는 계산의 필요성에 관한 것으로, 셀프 어텐션의 계산 복잡성이 이미지 크기에 따라 제곱으로 증가한다는 점입니다. Swin Transformer는 기존의 슬라이딩 스트라이드 대신 이동식 윈도우(shifted window) 방식을 적용하여 비중첩 셀프 어텐션 레이어를 생성하므로, 계산 복잡도가 이미지 크기에 따라 선형적으로 증가합니다. 현재 Swin 기반 모델은 선도적인 CNN 기반 프레임워크의 정확도에 필적합니다.
인스턴스 분할에 사용되는 딥 러닝 알고리즘을 포함한 머신 러닝 알고리즘은 반드시 학습이 필요합니다. CNN 기반 모델과 트랜스포머 기반 모델 모두 역전파를 통해 학습됩니다. 이 모델들은 주석이 달린 학습 이미지를 역설계하여 해당 작업에 적절한 가중치와 편향을 학습합니다.
학습 데이터의 주석은 적절한 머신 러닝 성능을 극대화하고, 학습된 모델을 평가하고 최적화하는 기준인 “정답 데이터(ground truth)” 벤치마크 역할을 하기 때문에 매우 정확해야 합니다. 인간의 능력은 가장 정확한 컴퓨팅 비전 모델을 훨씬 능가하기 때문에 이 주석 작업은 비용이 많이 들고 노동 집약적인 프로세스인 수작업으로 이루어집니다.
맞춤형 데이터 세트를 구축하는 데 드는 시간과 비용을 절감하기 위해, 대부분의 모델은 대규모 오픈 소스 학습 데이터 세트를 활용하거나 사전 학습된 인코더 네트워크를 미세 조정하여 보다 특정한 시각적 작업을 수행할 수 있도록 합니다. 일반적으로 사용되는 오픈 소스 이미지 데이터 세트는 다음과 같습니다.
COCO(Common Objects in Context): 80개의 셀 수 있는 개체(thing) 카테고리와 91개의 셀 수 없는 개체(stuff) 카테고리에 걸쳐 주석이 달린 33만 개 이상의 이미지가 포함된 대규모 데이터 세트
ADE20K: MIT에서 만든 장면 분할 데이터 세트로, 150개 이상의 시맨틱 클래스가 있는 2만 개 이상의 이미지 포함
Cityscapes: 도시 거리에 초점을 맞춘 대규모 데이터 세트로, 다양한 시간대, 계절, 날씨 조건에서 50개 도시의 이미지 포함
인스턴스 분할 및 객체 감지 성능에 가장 일반적으로 적용되는 측정 기준은 IoU(Intersection over Union)와 AP(Average Precision)입니다. 이러한 메트릭은 주로 ‘COCO 데이터 세트에서 AP 54.4’와 같이 벤치마크 데이터 세트 대비 성능으로 표현됩니다.
IoU는 모델이 예측한 분할 마스크와 실제 정답(ground truth) 마스크 간의 픽셀 단위가 겹치는 정도를 측정하며, 백분율 또는 0에서 1 사이의 정수로 표기됩니다. 여러 인스턴스가 있는 이미지의 경우 평균 IoU(mIoU)가 사용됩니다.
IoU는 직관적이지만 몇 가지 중요한 한계가 있습니다.
AP는 정밀도-재현율 곡선 아래의 면적으로 계산됩니다. 이는 정밀도와 재현율이라는 두 가지 메트릭 간의 균형을 조정하며, 참 양성(True Positives, TP), 참 음성(True Negatives, TN), 거짓 양성(False Positives, FP), 거짓 음성(False Negatives, FN)과 같은 이산적 결과 값을 기반으로 계산됩니다.
관련성을 극대화하기 위해 AP는 특정 IoU 임계값 내에서 계산되는 경우가 많습니다. 예를 들어, ‘AP50’은 IoU가 50% 초과인 예측만을 고려하여 AP를 계산합니다. 평균 AP(mAP)는 모든 계산된 임계값에 대한 평균 정밀도 값으로 상황에 따라 사용됩니다.
IBM은 2,000개 조직을 대상으로 AI 이니셔티브에 대한 설문조사를 실시하여 효과적인 전략과 효과적이지 못한 전략, 그리고 앞서나갈 수 있는 방법을 알아보았습니다.
IBM Granite는 비즈니스에 맞게 맞춤화되고 AI 애플리케이션 확장에 최적화되었으며 개방적이고 성능이 뛰어나며 신뢰할 수 있는 AI 모델 제품군입니다. 언어, 코드, 시계열 및 가드레일 옵션을 살펴보세요.
지금 개인 또는 여러 사용자 구독을 구매하여 100개가 넘는 온라인 과정에 액세스하세요. 저렴한 가격으로 다양한 제품에 걸쳐 기술을 확장할 수 있습니다.
IBM 사고 리더들이 이끄는 이 커리큘럼은 비즈니스 리더들에게 성장을 촉진하는 AI 투자의 우선순위를 정하는 데 필요한 지식을 제공합니다.