이미지 분할은 디지털 이미지를 여러 개의 세그먼트로 나누고 각 영역에 포함된 정보를 분류하는 엔드투엔드 이미지 분석 프로세스입니다. 세 종류의 영상 분할 작업(시맨틱 분할, 인스턴스 분할, 판옵틱 분할)은 이미지의 개별 픽셀에 레이블을 지정하여 이미지의 다양한 물체와 영역의 특정 경계와 모양을 표시하고 색상, 대비, 이미지 내의 배치 및 기타 속성과 같은 정보를 사용하여 분류합니다.
시맨틱 분할은 이미지에 포함된 모든 픽셀에 시맨틱 클래스에 따라 레이블을 지정하는 반면, 인스턴스 분할과 판옵틱 분할은 다른 분류 작업에 사용됩니다. 인스턴스 분할 모델은 사람, 동물, 나무, 자동차, 소화전과 같은 개체와 객체 등 이미지에 포함된 시맨틱 클래스, 즉 셀 수 있는 개체에만 초점을 맞춥니다. 개별 개체 또는 인스턴스를 감지한 다음 각각에 대한 세그멘테이션 마스크와 특정 식별자 태그를 출력합니다. 판옵틱 분할 모델은 두 가지 종류의 정보를 수반합니다. 시맨틱 분할을 수행하고 개별 객체 인스턴스를 감지 및 분할하여 각 픽셀에 시맨틱 레이블과 적절한 경우에 한해 고유 인스턴스 식별자를 할당함으로써 이미지를 보다 완벽하게 분석할 수 있습니다.
어디서나 모든 데이터에서 AI 워크로드를 확장할 수 있는 방법을 알아보세요.
IBM 뉴스레터 구독하기
시맨틱 분할 작업은 기계가 이미지의 다양한 객체 클래스와 배경 영역을 구별하는 데 도움이 됩니다. 인공 지능(AI)과 머신 러닝(ML)의 부상으로 이미지 분할과 세그멘테이션 맵 생성은 컴퓨터가 풍경, 인물 사진, 의료 이미지 등 디지털 이미지에서 중요한 맥락을 인식하도록 컴퓨터를 훈련시키는 데 중요한 역할을 합니다.
이미지 분할 학습 모델을 사용하면 기계가 시각 정보를 인간의 뇌와 유사하게 해석할 수 있습니다. 이미지 분할 모델은 객체 감지 모델과 특정 용도를 공유하지만, 중요한 측면에서 차이가 있습니다. 바운딩 박스로 정보를 추정하는 것이 아니라 픽셀 수준에서 이미지에 포함된 다양한 개체를 식별합니다. 기본적으로 이미지 분류 모델은 이미지에 포함된 내용을 확인할 수 있지만 로컬라이제이션은 전혀 수행하지 않으며, 객체 감지 모델은 이미지 내에서 물체의 위치를 확인할 수 있지만 이미지 내 객체의 특정 모양과 경계를 결정하려면 이미지 분할 모델이 필요합니다.1
기계가 이미지를 데이터로 해석하는 데 도움이 되는 딥 러닝 알고리즘의 성공이 증가함에 따라 기계는 물체를 식별하는 데 점점 더 능숙해지고 있습니다. 이미지 분류 작업은 기계가 이미지에 포함된 정보를 이해하는 데 도움이 되지만, 시맨틱 분할은 기계가 다양한 종류의 시각 정보의 정확한 위치와 각 정보가 시작되고 끝나는 위치를 식별할 수 있게 해줍니다.
시맨틱 분할 모델은 입력 이미지의 세그멘테이션 맵을 생성합니다. 세그멘테이션 맵은 기본적으로 원본 이미지를 재구성한 것으로, 각 픽셀의 시맨틱 클래스에 따라 컬러 코딩되어 세그멘테이션 마스크를 생성합니다. 세그멘테이션 마스크는 단순히 이미지의 다른 영역과 구별되는 이미지의 일부입니다. 예를 들어, 빈 들판에 있는 나무를 세그멘테이션 맵에 표시하는 경우 나무용, 지면용, 배경의 하늘용 세 가지 세그멘테이션 마스크가 포함될 수 있습니다.
이를 위해 시맨틱 분할 모델은 복잡한 신경망 을 사용하여 관련 픽셀을 세그멘테이션 마스크로 정확하게 그룹화하고 각 픽셀 그룹(또는 세그먼트) 각각에 대한 실제 시맨틱 클래스를 정확하게 인식합니다. 이러한 딥러닝(DL) 방법은 인간 전문가가 주석을 단 사전 레이블이 지정된 대규모 데이터 세트에서 모델을 학습시키고, 역전파 및 경사 하강과 같은 머신러닝 기법을 통해 가중치와 편향을 조정해야 합니다.
DL 방법은 SVM(Support Vector Machines) 및 Random Forest 와 같은 다른 '전통적인' 기계 학습 알고리즘을 대체하게 되었습니다. 심층 신경망은 훈련에 더 많은 시간, 데이터 및 계산 리소스가 필요하지만 다른 방법보다 성능이 뛰어나며, 초기의 혁신이 성공적으로 입증되면서 곧 선호되는 접근 방식이 되었습니다.
이미지 데이터를 정확하게 분류하려면 이미지에 포함된 다양한 객체 또는 클래스 레이블의 마스크를 나타내는 픽셀 값으로 구성된 데이터 세트가 필요합니다. 일반적으로 이미지 세분화와 관련된 학습 데이터의 복잡성 때문에 이러한 종류의 데이터 세트는 다른 머신러닝 데이터 세트보다 더 크고 복잡합니다.
수천 개의 예시와 각각에 대한 상세한 주석이 포함된 다양한 시맨틱 클래스에 걸쳐 많은 오픈 소스 이미지 분할 데이터 세트를 사용할 수 있습니다. 예를 들어, 무인 자동차의 컴퓨터 비전이 보행자, 자전거 및 기타 자동차 등 브레이크를 밟아야 하는 다양한 물체를 모두 인식하도록 학습하는 세그먼트 문제를 상상해 보세요. 자동차의 컴퓨터 비전은 모든 사물을 일관되게 인식하도록 훈련되어야 합니다. 그렇지 않으면 자동차가 항상 브레이크를 밟도록 지시하지 않을 수 있습니다. 또한 훈련이 매우 정확하고 정밀해야 하며, 그렇지 않으면 무해한 사물을 위험 물체로 잘못 분류하여 자동차가 끊임없이 브레이크를 밟을 수도 있습니다.
이미지 및 시맨틱 분할에 사용되는 가장 널리 사용되는 오픈 소스 데이터 세트는 다음과 같습니다.
파스칼 시각적 객체 클래스(Pascal VOC): Pascal VOC 데이터 세트는 다양한 객체 클래스, 바운딩 박스 및 강력한 세그멘테이션 맵으로 구성됩니다.
MS COCO: MS COCO에는 감지, 분할 및 이미지 캡션 등 많은 작업을 위한 약 33만 개의 이미지와 주석이 포함되어 있습니다.
도시 풍경: 인기 있는 도시 풍경 데이터 세트는 도시 환경의 데이터를 해석하며, 20,000개의 주석과 30개의 클래스 레이블이 있는 5,000개의 이미지로 구성되어 있습니다.
훈련된 모델이 제대로 작동하려면 강력한 아키텍처가 필요합니다. 다음은 널리 사용되는 몇 가지 시맨틱 분할 모델입니다.
완전 컨볼루션 네트워크(FCN)
완전 컨볼루셔널 네트워크(FCN)는 연결된 여러 컨볼루셔널 레이어에 의존하는 시맨틱 분할에 사용되는 최첨단 신경망 아키텍처입니다. 기존의 CNN 아키텍처는 컨볼루션 레이어와 단일 레이블을 출력하는 플랫 레이어로 구성된 반면, FCN 모델은 이러한 플랫 레이어 중 일부를 1:1 컨볼루션 블록으로 대체하여 이미지에 대한 더 많은 정보를 추출할 수 있습니다. FCN 네트워크는 컨볼루션, 풀링 또는 업샘플링 레이어를 선호하여 평평하고 밀도가 높은 레이어를 피할 경우 보다 쉽게 훈련할 수 있습니다.
U-Nets
U-Net 아키텍처는 2015년에 도입된 원래 FCN 아키텍처를 수정한 것으로, 지속적으로 더 나은 성과를 거두고 있습니다. 인코더와 디코더의 두 부분으로 구성됩니다. 인코더가 이미지를 지속적으로 다운샘플링하여 정보를 추출하는 컨볼루션 레이어를 스택하는 동안 디코더는 디컨볼루션 프로세스를 사용하여 이미지 특징을 재구성합니다. U-Net 아키텍처는 주로 의료 분야에서 폐와 뇌의 암성 및 비암성 종양을 식별하는 데 사용됩니다.
DeepLab
DeepLab 시맨틱 분할 모델은 오리지널 FCN의 아키텍처를 더욱 개선하고 더욱 정확한 결과를 제공하기 위해 2015년 Google에서 개발되었습니다. FCN 모델의 레이어 스택은 이미지 해상도를 크게 감소시키는 반면 DeepLab의 아키텍처는 아트러스 컨볼루션이라는 프로세스를 사용하여 데이터를 업샘플링합니다. 아트러스 컨볼루션 프로세스를 사용하면 컨볼루션 커널이 이미지에서 정보를 제거하고 커널 파라미터 사이에 간격을 둘 수 있습니다.
확장형 컨볼루션에 대한 DeepLab의 접근 방식은 동일한 해상도를 유지하면서 더 넓은 시야각에서 데이터를 끌어냅니다. 그런 다음 특징 공간을 완전히 연결된 조건부 랜덤 필드 알고리즘(CRF)을 통해 풀링하여 픽셀별 손실 함수에 더 많은 세부 정보를 캡처하고 활용하여 더 명확하고 정확한 세그멘테이션 마스크를 얻을 수 있습니다.
피라미드 장면 구문 분석 네트워크(PSPNet)
2017년에는 이미지 분할을 위한 새로운 분할 알고리즘이 도입되었습니다. PSPNet은 이전 버전보다 더 높은 정확도로 컨텍스트 이미지 데이터 세트를 수집하는 피라미드 구문 분석 모듈을 배포합니다. 이전 버전과 마찬가지로 PSPNet 아키텍처는 인코더-디코더 접근 방식을 사용하지만, DeepLab이 픽셀 수준 계산을 위해 업스케일링을 적용했다면, PSPNet은 새로운 피라미드 풀링 레이어를 추가하여 결과를 얻습니다. PSPNet의 멀티 스케일 풀링을 통해 다른 모델보다 더 넓은 이미지 정보 창을 분석할 수 있습니다.
자율주행차는 시맨틱 분할을 사용하여 주변 세계를 확인하고 실시간으로 반응합니다. 시맨틱 분할은 자동차가 보는 것을 도로의 차선, 다른 자동차 및 교차로와 같은 분류된 시각적 영역으로 분리합니다. 시맨틱 분할를 통해 자동차에 제공되는 지식은 안전하게 주행하여 목적지에 도달할 수 있게 해줄 뿐만 아니라, 길을 건너는 보행자나 다른 차량의 급제동과 같은 예기치 못한 상황에 대응하여 중요한 조치를 취할 수 있도록 해줍니다.
CT 스캔, 엑스레이, MRI 등 일반적인 의료 절차 중 상당수는 이미지 분석에 의존합니다. 과거에는 이 작업이 일반적으로 의료 전문가의 몫이었지만 오늘날에는 의료 영상 분할 모델이 비슷한 결과를 얻고 있습니다. 시맨틱 분할 기능을 갖춘 AI는 이미지를 분석하고 이미지에 포함된 다양한 객체 주위에 정확한 경계를 그려 이상 징후를 감지하고 가능한 진단을 제안할 수도 있습니다.
농부들은 AI, 자동화 및 시맨틱 분할을 사용하여 작물의 해충 침입을 감지하고 살충제 살포를 자동화하는 데 도움을 주고 있습니다. 컴퓨터 비전은 농부에게 밭의 어느 부분이 잠재적으로 감염되었거나 위험에 처해 있는지 알려주며, 자동화된 시스템은 해충을 제거하기 위한 조치를 취할 수 있습니다.
시맨틱 분할은 카메라가 세로 모드와 가로 모드 사이를 전환하거나, 필터를 추가 또는 제거하거나, 효과를 생성할 수 있도록 하는 데 자주 사용됩니다. Instagram 및 TikTok 과 같은 앱에서 인기 있는 모든 필터와 기능은 자동차, 건물, 동물 및 기타 객체를 식별하여 선택한 필터 또는 효과를 적용할 수 있도록 시맨틱 분할을 사용합니다.
기업이 정형 및 비정형 데이터를 쉽게 통합하고 관리할 수 있도록 지원하는 데이터 저장소인 IBM watsonx.data에 대해 자세히 알아보세요.
IBM watsonx.data가 기업이 오늘날의 복잡한 데이터 환경의 과제를 해결하고 필요에 맞게 AI를 확장하는 데 어떻게 도움이 되는지 알아보세요.
AI가 컴퓨터 환경에서 정보를 구성하고 결과를 생성하는 데 어떻게 도움이 되는지 자세히 알아보세요.
시각적 정보를 이해하고 처리하도록 컴퓨터를 교육하는 데 관련된 주요 용어 간의 차이점에 대해 자세히 알아보세요.
1'컴퓨터 비전을 위한 실용적인 머신 러닝(Practical Machine Learning for Computer Vision)' (ibm.com 외부 링크), Lakshmanan, Valliappa, Gorner, Martin and Gillard, Ryan, O’Reilly Media, 2021년 7월