인스턴스 분할이란 무엇인가요?
IBM Maximo Visual Inspection 알아보기
배송 컨테이너 그리드

인스턴스 분할은 이미지에서 각 개별 객체 인스턴스의 정확한 픽셀 단위 경계를 예측하는 딥 러닝 기반 컴퓨팅 비전 작업입니다.

인스턴스 분할은 이미지 분할이라는 더 큰 영역의 하위 집합으로, 기존의 객체 감지 알고리즘보다 더 상세하고 정교한 결과물을 제공합니다. 다른 이미지 분할 작업으로는 이미지의 각 픽셀을 시맨틱 클래스, 즉 이미지가 나타내는 'Thing' 또는 'Stuff'의 범주에 따라 분류하는 시맨틱 분할 그리고 인스턴스 분할과 시맨틱 분할의 목적을 모두 결합한 판옵틱 분할이 있습니다.

인스턴스 분할은 의료 이미지 분석, 위성 이미지에서 관심 있는 물체 감지, 자율 주행 자동차의 내비게이션 지원 등 여러 산업 분야에 걸쳐 다양한 이미지 처리 사용 사례를 갖고 있습니다.

인스턴스 분할과 객체 감지 비교

인스턴스 분할 작업과 기존 객체 감지의 주요 차이점은 인스턴스 분할은 각 객체의 픽셀 수준 경계를 예측하는 반면, 객체 감지는 객체의 대략적인 위치만 예측한다는 점입니다.

기존의 객체 감지 방법은 이미지 분류와 객체 위치 파악을 결합한 발전된 방식입니다. 다양한 머신 러닝 알고리즘으로 학습되어 관련 범주 물체의 시각적 패턴을 인식하는 모델(예: 자율 주행 모델은 '자동차' 또는 '보행자'와 같은 물체를 인식하도록 학습될 수 있음)은 입력 이미지의 시각 데이터를 분석하여 관련 객체 인스턴스에 주석을 달고 각 인스턴스가 위치한 '바운딩 박스'라고 하는 직사각형 영역을 생성합니다.

인스턴스 분할 시스템도 마찬가지로 이미지에서 객체를 감지하지만, 객체 인스턴스의 위치를 근사화하는 바운딩 박스 대신 인스턴스 분할 알고리즘이 각 인스턴스의 정확한 모양과 면적의 픽셀 단위 '분할 마스크'를 생성한다는 점에서 훨씬 더 세밀합니다.

Mask R-CNN과 같은 많은 주요 인스턴스 분할 모델 아키텍처는 분할 마스크를 생성하는 과정에서 예비 단계로 기존의 객체 감지를 수행합니다. 이러한 '2단계' 모델은 일반적으로 속도가 다소 떨어지기는 하지만 첨단 정확도를 제공합니다.

관련 내용

IBM 뉴스레터 구독하기

인스턴스 분할과 시맨틱 분할 비교

시맨틱 분할은 인스턴스 분할보다 덜 복잡한 작업입니다. 인스턴스 분할과 달리 시맨틱 분할은 서로 다른 인스턴스를 세거나 구별하는 것과는 관련이 없습니다. 시맨틱 분할의 유일한 목적은 이미지의 각 픽셀에 시맨틱 클래스 레이블을 주석으로 추가하는 것입니다.

시맨틱 분할 모델은 Thing('자동차' 또는 '사람'과 같이 뚜렷한 모양을 가진 셀 수 있는 개체의 클래스)과 Stuff('하늘' 또는 '도로'와 같이 다양한 모양을 가진 셀 수 없는 개체의 클래스)를 구분하지 않습니다.

동일한 Thing 클래스의 여러 객체 인스턴스가 서로 가깝게 인접하거나 겹치는 경우, 시맨틱 분할 모델은 이를 단일 이미지 세그먼트 내에서 그룹화합니다. 예를 들어, 이 이미지에서 도로 양쪽에 나란히 주차된 자동차들을 시맨틱 분할 모델이 어떻게 처리하는지 생각해 보세요.

반대로, 인스턴스 분할 모델은 개별 사물에 대한 분할 마스크를 감지하고 생성하는 데에만 집중합니다. 인스턴스 분할 모델은 동일한 클래스 객체의 가려진 인스턴스를 포함하여 각기 다른 객체 인스턴스를 묘사할 수 있어야 합니다.

인스턴스 분할과 판옵틱 분할 비교

판옵틱 분할에는 이미지의 모든 픽셀에 대한 시맨틱 분류와 각기 다른 객체 인스턴스의 묘사가 모두 수반됩니다.

판옵틱 분할 모델은 이론적으로 인스턴스 분할을 수행할 수 있지만, 출력에 인스턴스 분할 작업과 관련이 없는 추가 정보가 포함되므로 계산 비용이 훨씬 더 많이 듭니다(판옵틱 분할 모델의 출력에는 반드시 인스턴스 분할 작업과 관련이 없는 추가 정보가 포함됨).

판옵틱 분할의 초기 시도는 단순히 인스턴스 분할과 시맨틱 분할을 개별적으로 수행한 다음 후처리 단계에서 그 결과물을 결합하는 방식으로 이루어졌습니다. 이 방법은 계산적으로 비효율적이며 시맨틱 모델의 데이터 출력과 인스턴스 모델의 데이터 출력 간의 불일치를 해결하는 데 어려움이 있습니다.

최근의 접근 방식은 시맨틱 분할 '헤드'와 인스턴스 분할 '헤드'를 공유 '백본'(종종 특징 피라미드 네트워크(FPN))에 연결하여 특징 추출, 즉 관련성 있는 시각 데이터를 분리하는 것입니다. 이렇게 하면 효율성이 향상되고 불일치가 제거됩니다.

인스턴스 분할 사용 사례

인스턴스 분할은 다양한 컴퓨팅 비전 작업에 필수입니다.

  •  의료 영상: 인스턴스 분할은 종양과 같이 조직과 병리의 특정 경계를 감지하는 데 사용됩니다.
  • 자율 주행: 자율 주행 자동차는 인스턴스 분할을 통해 자동차, 물체, 사람, 도로 특징(예: 신호등)을 정확하게 감지하고 분류할 수 있습니다.
  • 위성 이미지: 인스턴스 분할은 GPS 목적으로 도로를 따라 여러 건물을 구별하는 것과 같이 관심 있는 객체를 식별하고 분리하는 데 도움이 될 수 있습니다.
  • 로보틱: 인스턴스 분할을 사용하면 항목을 분류하고 결함을 감지할 수 있으며, 자율 주행 자동차와 마찬가지로 로봇이 주변 환경의 물체를 식별하고 탐색할 수 있습니다.

 

 

인스턴스 분할은 어떻게 작동하나요?

딥 러닝은 인스턴스 분할에 필수적인 요소가 되었으며, 거의 모든 최신 이미지 분할 방법은 신경망을 활용하고 있습니다. 최근에는 트랜스포머 모델이 실행 가능한 대안으로 떠오르고 있지만, 대부분의 이미지 분할 방법(인스턴스 분할에 사용되는 방법 포함)은 컨볼루션 신경망(CNN)을 활용하고 있습니다.

CNN 기반 인스턴스 분할 모델은 다음과 같이 크게 두 가지로 나뉩니다.

  • 2단계 모델은 먼저 객체 감지를 수행한 다음 객체 분할 마스크를 생성합니다(예: Mask R-CNN).
  • 원샷(또는 단일 단계) 모델은 두 작업을 동시에 수행합니다(예: YOLACT).

CNN 기반 및 트랜스포머 기반 인스턴스 분할 모델 모두 인코더-디코더 구조를 사용하는데, 인코더 네트워크는 입력 이미지에서 관련 데이터를 추출하고 디코더 네트워크는 추출된 특징 데이터를 사용하여 분할 맵으로 이미지를 재구성합니다.

인스턴스 분할 모델을 이해하려면 모델을 구성하는 부분을 이해하는 것이 도움이 됩니다.

컨볼루션 신경망(CNN)

간단한 CNN은 이미지 분류와 객체 분류(단일 객체를 포함하는 이미지의 경우)를 수행할 수 있습니다.

수학적 알고리즘이 이미지와 호환되려면 이미지를 숫자 형식으로 표현해야 합니다. CNN은 RGB 입력 이미지를 3차원(3D) 픽셀 배열로 처리하며, 여기서 픽셀의 3차원은 각각 R(ed), G(reen), (B)lue 값을 나타냅니다.

기존 CNN에는 다음과 같이 세 가지 유형의 레이어가 있습니다.

  • 컨볼루션 레이어는 커널이라고 하는 2차원 필터를 사용하여 컨볼루션을 수행하여 이미지에서 관련 특징을 추출합니다. 각 컨볼루션이 끝나면 커널은 인접한 영역으로 이동하며 전체 이미지를 통과할 때까지 이 과정이 반복됩니다. 이 특징 추출의 출력은 특징 맵입니다.

  • 풀링 레이어는 특징 맵 데이터를 압축합니다. 다운샘플링 또는 차원 축소라고도 하는 이 프로세스는 계산 효율성을 높이고 모델 학습에서 과적합의 위험을 줄여줍니다.

  • 완전 연결 레이어는 신경망의 모든 노드에서 시각 데이터를 수신하고 대조하며(즉 '완전 연결'), 이미지가 인식하도록 학습된 카테고리와 일치하는지 여부를 예측합니다.

컨볼루션 레이어를 추가하면 정확도를 높일 수 있지만, 너무 많은 레이어를 추가하면 그라데이션이 사라져 모델 최적화에 방해가 될 수 있습니다. ResNet 아키텍처는 이 문제를 해결하여 수백(또는 수천) 개의 레이어를 가진 CNN을 위한 길을 열었습니다.

동영상 보기: '컨볼루션 신경망(CNN)이란 무엇인가요?', YouYube
영역 기반 CNN(R-CNN)

R-CNN은 표준 CNN으로는 달성할 수 없는 복잡한 다중 객체 감지 작업을 해결하기 위해 개발되었습니다. 이후 발전한 Faster R-CNN은 많은 인스턴스 분할 모델의 필수 구성 요소가 되었습니다.

R-CNN은 이미지 수준이 아닌 객체 수준에서 예측을 수행하기 위해 영역 제안을 도입했습니다. R-CNN은 선택적 검색(ibm.com 외부 링크)을 사용하여 객체를 포함할 수 있는 겹치는 박스 약 2,000개를 제안한 다음, 각 '객체 제안'을 특징 추출을 위해 CNN에 공급합니다. 그러면 SVM(지원 벡터 머신) 알고리즘이 객체를 분류하고 바운딩 박스를 생성합니다.

Fast R-CNN은 먼저 전체 이미지를 CNN에 공급하여 특징을 추출한 다음, 그 결과물인 특징 맵을 사용하여 관심 영역(RoI)을 식별함으로써 R-CNN의 속도를 획기적으로 개선했습니다. 곧이어 Faster R-CNN은 느리고 학습이 불가능한 선택적 검색 알고리즘을 대체하기 위해 학습 가능한 영역 제안 네트워크(RPN)를 도입하여 속도와 정확도를 더욱 개선했습니다.

문서 읽기: 'Faster R-CNN: 영역 제안 네트워크를 통한 실시간 객체 감지로 나아가다'
완전 컨볼루션 네트워크

FCN은 단순 CNN의 고정되고 완전히 연결된 레이어를 추가 컨볼루션 및 풀링 레이어로 대체하는, 즉 '완전 컨볼루션(Fully Convolutional)'입니다. FCN의 출현으로 이미지 분할의 새로운 시대가 열렸습니다.

기존 CNN과 마찬가지로 FCN은 특징 추출과 다운샘플링을 위해 ResNet 또는 VGG와 같은 인코더 네트워크를 사용합니다. 하지만 인코딩된 데이터를 완전히 연결된 레이어로 전달하여 전체 이미지를 분류하는 대신, FCN은 압축된 특징 데이터를 분류하고 업샘플링하여 픽셀 단위의 분할 마스크로 원본 이미지를 재구성하는 '디코더' 네트워크 레이어를 통해 인코딩된 데이터를 전달합니다.

당연히 다운샘플링 과정에서 일부 데이터가 손실됩니다. 이후 U-Net과 같은 FCN 변형에서는 일부 컨볼루션 레이어를 선택적으로 건너뛰는 스킵 연결을 도입하여 더 많은 디테일을 보존할 수 있게 되었습니다.

문서 읽기: '시맨틱 분할을 위한 완전 컨볼루션 네트워크'
Mask R-CNN

Mask R-CNN 아키텍처는 Faster R-CNN의 객체 감지와 FCN의 분할 기능을 결합하여 인스턴스 분할에서 획기적인 발전을 이루었습니다.

RPN이 제안된 객체에 대한 바운딩 박스를 생성하고 나머지 Faster R-CNN 네트워크가 객체가 포함된 영역 제안을 확인한 후(그리고 객체 바운딩 박스의 정확도를 높이기 위해 회귀를 수행), FCN이 각 바운딩 박스 내에 포함된 객체의 분할 마스크를 생성합니다.

이 프로세스는 객체가 가려진 경우에도 효과적입니다. Faster R-CNN 네트워크가 각 객체 인스턴스를 구별하여 각각이 개별적으로 분할되도록 할 수 있기 때문입니다.

문서 읽기: 'Mask R-CNN'
원샷(단일 단계) 모델

인스턴스 분할을 활용하는 특정 애플리케이션(예: 제조 조립 라인에서 불량품 감지)은 실시간 결과를 필요로 합니다. 단일 단계 모델은 속도가 최우선인 사용 사례를 위해 개발되었습니다.

Mask R-CNN과 같은 2단계 모델은 매우 정확하지만 본질적으로 순차적인 접근 방식이기 때문에 속도를 높이기가 어렵습니다. YOLACT(You Only Look At CoefficienTs)와 같은 원샷 인스턴스 분할 모델은 YOLO(You Only Look Once)와 같은 단일 단계 객체 감지 모델을 기반으로 합니다.

YOLACT에서 FPN은 고해상도 특징 맵을 생성하여 두 개의 병렬 브랜치에 공급합니다. FCN 브랜치는 잠재적인 객체 인스턴스의 '프로토타입 마스크'를 k개 제안하고, 동시에 완전 연결 레이어의 브랜치는 영역 제안과 유사한 여러 '앵커 박스'를 생성하며, 각 프로토타입 마스크에 대해 하나씩 '마스크 계수' k개를 예측하여 제안된 객체가 세그먼트 마스크에 정렬될 가능성을 보여줍니다. NMS(Non-Maximum Suppression)는 가장 높은 마스크 계수를 가진 제안된 인스턴스를 필터링하는 데 사용됩니다.

문서 읽기: 'YOLACT++: 더 나은 실시간 인스턴스 분할'
변환기 모델

인스턴스 및 판옵틱 분할에서 이루어진 최근의 혁신은 자연어 처리와 같은 분야에서의 성공에서 영감을 받아 트랜스포머 모델을 탐구하는 것입니다. 비전 트랜스포머(ViT)와 같은 모델은 컨볼루션 대신 셀프 어텐션 기능을 사용하여 이미지의 시각적 컨텍스트를 전체적으로 분석할 수 있습니다.

극복해야 할 주요 과제는 계산 요구 사항으로, 이미지 크기에 따라 셀프 어텐션의 계산 복잡성이 제곱으로 증가한다는 점입니다. 스윈 트랜스포머는 기존의 슬라이딩 간격 대신 시프트된 윈도우를 사용하여 겹치지 않는 셀프 어텐션 레이어를 생성하므로 이미지 크기에 따라 계산 복잡도가 제곱으로 증가하지 않고 선형적으로 증가합니다. 스윈 기반 모델은 이제 주요 CNN 기반 프레임워크의 정확도에 필적합니다.

문서 읽기: '스윈 트랜스포머: 시프트된 윈도우를 사용한 계층적 비전 트랜스포머'
인스턴스 분할 모델 학습

인스턴스 분할에 사용되는 딥 러닝 알고리즘을 포함한 머신 러닝 알고리즘을 학습시켜야 합니다. CNN 기반 모델과 트랜스포머 기반 모델 모두 역전파를 통해 학습되는데, 모델은 주석이 달린 학습 이미지를 역설계하여 해당 작업에 적합한 가중치와 편향을 학습합니다.

적절한 머신 러닝을 극대화하고 학습된 모델을 평가하고 최적화할 수 있는 '기준점' 벤치마크 역할을 하려면 학습 데이터의 주석이 매우 정확해야 합니다. 인간의 능력은 가장 정확한 컴퓨팅 비전 모델을 훨씬 능가하기 때문에 이 주석 작업은 비용이 많이 들고 노동 집약적인 프로세스인 수작업으로 이루어집니다.

맞춤형 데이터 세트에 드는 시간과 비용을 피하기 위해 대부분의 모델은 대규모 오픈 소스 학습 데이터 세트를 사용하거나 보다 구체적인 시각적 작업을 위해 사전 학습된 인코더 네트워크를 미세 조정합니다. 일반적인 오픈 소스 이미지 데이터 세트는 다음과 같습니다.

  • COCO(Common Objects in Context): Thing 카테고리 80개와 Stuff 카테고리 91개에 걸쳐 주석이 달린 세그먼트가 있는 이미지 33만 개 이상이 포함된 대규모 데이터 세트입니다.

  • ADE20K: MIT에서 만든 장면 분할 데이터 세트로, 150개 이상의 시맨틱 클래스가 있는 이미지 2만 개 이상이 포함되어 있습니다.

  • Cityscapes: 도시 거리에 초점을 맞춘 대규모 데이터 세트로, 다양한 시간대, 계절, 날씨 조건에 걸쳐 도시 50개의 이미지가 포함되어 있습니다.

인스턴스 분할 모델 평가

인스턴스 분할 및 객체 감지 성능에 가장 일반적으로 적용되는 측정 기준은 IoU(Intersection over Union)와 AP(Average Precision)입니다. 이러한 메트릭은 일반적으로 벤치마크 데이터 세트에 대한 성능으로 표현됩니다(예: 'COCO 데이터 세트에서 54.4의 AP').

Iou(Intersection over Union: 교차 영역 비율)
IoU는 기준점 마스크와 모델의 예측 간의 픽셀 단위 중첩을 측정하며, 이 값은 백분율 또는 0과 1 사이의 정수로 표시됩니다. 여러 인스턴스가 있는 이미지의 경우 평균 IoU(mIoU)가 사용됩니다.

IoU는 직관적이지만 다음과 같이 중대한 한계가 있습니다.

  • 지나치게 광범위한 예측을 보상합니다. 분할 마스크가 너무 크더라도 그 안에 기준값 마스크가 포함되어 있으면 IoU가 1이라는 완벽한 값을 얻게 됩니다.
  • 손실 함수로 사용할 수 없습니다. 겹치는 부분이 전혀 없는 잘못된 예측의 경우(약간 떨어져 있거나 심지어 가깝지도 않은 경우) IoU는 0이 됩니다. 이는 IoU가 미분이 불가능함을 의미하므로 알고리즘이 모델을 최적화하는 데 도움이 되지 않습니다. 일반화된 IoU(또는 GIoU)(ibm.com 외부 링크)는 IoU를 미분 가능할 수 있도록 수정합니다.

AP(Average Precision, 평균 정밀도)
AP는 정밀도-재현율 곡선 아래의 면적으로 계산됩니다. 이는 정밀도와 재현율이라는 두 가지 메트릭 간의 균형을 맞추며, TP(True Positive), TN(True Negative), FP(False Positive), FN(False Negative)와 같은 개별 결과 값을 사용하여 계산됩니다.

  • 정밀도는 Positive 예측(이 경우 분할된 인스턴스의 픽셀)이 얼마나 자주 맞는지를 측정합니다(TP/(TP+FP)). FN에 대해 보상을 받을 수 있다는 단점이 있습니다.
  • 재현율은 Positive 예측이 캡처되는 빈도를 측정합니다(TP/(TP+FN)). FP에 대해 보상을 받을 수 있다는 단점이 있습니다.

관련성을 최대화하기 위해 AP는 특정 IoU 임계값 내에서 계산되는 경우가 많습니다. 예를 들어, 'AP50'은 IOU가 50% 이상인 예측에 대해서만 AP를 계산합니다. 평균 AP(mAP)는 계산된 모든 임계값에 대한 평균 AP 값으로 상황에 따라 사용됩니다.

 

 

관련 솔루션
IBM Maximo Visual Inspection

인공 지능 비전 모델의 라벨링, 훈련 및 배포를 위한 직관적인 툴 세트를 통해 코드 없이도 자동화된 시각적 검사를 수행할 수 있는 컴퓨팅 비전의 강력한 기능을 활용하세요.

IBM Maximo Visual Inspection 알아보기

인스턴스 분할 리소스 IBM Research: 컴퓨팅 비전

최신 컴퓨팅 비전 시스템은 이미지 인식과 분석에 관해서는 놀라운 정확도를 자랑하지만, 실제로 무엇을 보고 있는지는 이해하지 못합니다. IBM Research에서는 인간처럼 세상을 볼 수 있는 능력을 갖춘 AI 시스템을 설계하고 있습니다.

컴퓨팅 비전 및 이미지 처리 소개

컴퓨팅 비전과 여러 산업 분야의 다양한 응용 분야를 이해하는 데 도움이 되는 초보자용 교육 과정입니다. 이 과정에서는 기본적인 이미지 처리를 위해 Python, Pillow, OpenCV를 활용하고 이미지 분류와 객체 감지를 수행합니다.

IBM Maximo Visual Inspection 시작하기

IBM Maximo Visual Inspection을 시작하여 자산과 제품을 검사하고 나아가 생산 및 품질 문제를 일으킬 수 있는 결함을 식별하기 위한 AI 기반 모델을 만들고 학습시키세요.

다음 단계 안내

인공 지능 비전 모델의 라벨링, 훈련 및 배포를 위한 직관적인 툴 세트인 IBM Maximo Visual Inspection을 통해 코드 없이도 자동화된 시각 검사를 수행할 수 있는 컴퓨팅 비전의 힘을 활용하세요.

IBM Maximo Visual Inspection 알아보기 MVI 데모 살펴보기