Computer Vision Landscape 2022 보고서에서 강조된 바와 같이 조사 대상 기업에서 가장 흥미롭다고 생각하는 컴퓨터 비전 기술을 살펴보겠습니다. 객체 감지 및 추적은 52.8%의 득표율로 응답자들이 가장 기대하는 컴퓨터 비전 기술로 떠 올랐습니다.
인스턴스 분할과 시맨틱 분할은 30.6%로, 이미지 분류는 16.6%로 각각 두 번째와 세 번째로 많이 득표한 문제였습니다. 그럼 올해의 응답자가 가장 많이 흥미로워 하는 컴퓨터 비전 기술을 찬찬히 들여다 보도록 합시다:
- 객체 감지 및 추적
- 이미지 분류
- 인스턴스 세그멘테이션
1. 객체 감지 및 추적
추적 프로세스가 작동 되려면, 객체 감지가 필요하며 모든 프레임 상에서 계속 이 감지가 적용 되어야 합니다. 인기 있는 접근 방식 중 하나는 일련의 이미지들에서 시간 정보를 추출하여 정적인 배경 장면 모델을 학습하고 이를 현재 장면과 비교하는 것입니다.
변경 감지
픽셀 상태의 변화 식별은 비디오 프레임 세트 전체에서 모양 값 간의 불일치를 검사하여 이루어집니다. 일반적인 기술은 다음과 같습니다:
- 프레임 차이(Frame differencing). 두 프레임 간의 강도 차이. 픽셀 강도의 변화가 이미지에서 무언가가 변경되었음을 나타낸다고 가정합니다.
- 배경 빼기(Background subtraction). 장면 표현 또는 배경 모델이 구축된 다음 들어오는 모든 입력 프레임에 대해 모델 편차를 관찰합니다. 모델의 모든 변경 사항들은 움직이는 객체로 간주합니다.
- 모션 분할(Motion segmentation). 움직임의 방향과 속도에 따라 픽셀 그룹을 여러 클래스 중 하나에 할당합니다.
- 행렬 분해(Matrix decomposition). 전체 이미지는 벡터화되어 배경 모델링에 사용됩니다. 배경은 가장 서술적인(descriptive) 고유 벡터(eigenvectors)로 표현되며 전경 객체는 현재 이미지를 고유 공간(eigenspace)에 투영하여 감지합니다 - 그런 다음 재구성된 이미지와 실제 이미지 간의 차이를 찾습니다.
객체 모델링
객체 감지 및 추적을 위해서는 감지된 객체가 이미지 특징들의 디스크립터와 일치될 수 있도록 프로토타입으로 사용할 적절한 객체의 내부 표현이 필요합니다.
1. 모델 표현
모델 표현은 애플리케이션 도메인에 따라 선택됩니다. 객체의 동작 유형과 객체가 받을 수 있는 변형에 대한 추적할 객체 제한을 나타내기 위해 선택 될 모델입니다.
- 포인트 및 지역. 객체는 점 집합 또는 중심 주위의 미리 정의된 형상으로 나타낼 수 있습니다.
- 실루엣. 가장 일반적인 표현은 객체 영역을 1로 표시하고 객체가 아닌 영역을 0으로 표시하는 이진 표시 함수(binary indicator function)입니다. 윤곽선 기반 방법은 실루엣을 암시적으로(그리드에서) 또는 명시적으로(제어점 세트로) 나타냅니다.
- 연결된 부분(Connected parts). 부분 간의 관계는 기구학적 동작 모델에 의해 제어되는 마디 객체들은 마디들로 고정된 부분으로 만들어 집니다.
- 그래프와 골격(Graph and skeletal). 골격 모델은 그래픽에서 사람과 캐릭터를 애니메이션하는 데 사용됩니다. 중간 축 변환을 적용하여 객체 골격을 추출합니다.
- 시공간(Spatiotemporal). 모션 표시기가 부족하지만 특정 표현은 시공간 공간에서 정의되며 이는 본질적으로 모션 정보를 묘사한다는 의미합니다.
2. 모델 디스크립터
객체 영역의 수학적 구현 - 영역 크기, 이미징 노이즈, 동적 범위 및 인공물은 모두 변별(discriminative) 디스크립터를 얻는 데 중요한 역할을 합니다.
- 템플릿(Template). 가장 일반적으로 받아들여지고, 직관적이며 종종 실루엣이나 기하학적 모양으로 만들어 집니다. 2D(공간) 또는 3D(시공간)일 수 있습니다.
- 히스토그램, SIFT 및 HOG. 실루엣, 템플릿 또는 볼륨으로 정의된 공간 또는 시공간 영역 내를 관찰하여 분포 확률을 추정하는 분포 기반 디스크립터입니다. HOG(Histogram of Oriented Gradients) 및 SIFT(Scale Invariant Feature Transform)는 밀접하게 연관되어 있는 두 가지 접근 방식입니다.
- 지역 공분산(Region covariance). 지역 공분산 행렬은 여러 기능을 융합하는 자연스러운 방법을 제안합니다. 각 기능의 분산을 나타내는 대각선 항목과 상관 관계를 나타내는 비대각선 항목을 가집니다.
- 앙상블과 고유공간(Ensembles and eigenspaces). 앙상블 디스크립터는 부분 또는 약한 디스크립터의 조합으로 약한 분류기 컬렉션을 지속적으로 업데이트하여 객체를 배경에서 분리합니다. 고유공간이란 입력 이미지 세트에서 학습된 컴팩트한 뷰 기반 객체 표현을 말합니다.
- 외관 모델(Appearance models). 객체의 모양과 모양을 동시에 모델링하여 생성되며 객체의 모양은 일련의 랜드마크로 정의됩니다. 랜드마크는 객체의 경계 또는 개체 영역 내부에 있을 수 있습니다.
3. 모델 특징
추적에 사용되는 특징들은 성능에 영향을 줄 수 있습니다. 이러한 여러 객체 간, 객체와 배경 간을 가장 잘 구분하는 특징들은 객체 추적에도 가장 적합합니다.
- 그레디언트(Gradient). 객체 경계는 문자열 이미지 강도 변경을 생성하고 가장자리 그라데이션으로 이를 식별합니다.
- 색상(Color). 물체의 겉보기 색상은 표면 반사 특성과 광원의 분광 출력 분포에 의해 영향을 받습니다. RGB(빨간색, 녹색, 파란색) 색 공간은 일반적으로 이미지 획득에 사용되지만 YUV 및 LAB처럼 지각적으로 균일하지는 않습니다. HSV(Hue, Saturation, Value)는 거의 균일한 색상 공간을 말합니다.
- 옵티컬 플로우(Optical flow). 변위 벡터의 조밀한 필드는 한 영역에서 각 픽셀의 변환을 정의합니다.
- 텍스쳐(Texture). 규칙성 및 매끄러움과 같은 속성을 정량화하는 표면의 강도 변화 측정 값을 말합니다. 이에 대한 디스크립터를 생성하려면 처리 단계가 필요합니다.
- 코너 포인트(Corner points). 계산 복잡성이 낮고 구현하기 쉽기 때문에 가장 일반적으로 사용되는 특징 중 하나입니다.
객체 추적은 객체가 감지된 후에 발생합니다. 객체가 포함된 이미지내 전 영역이 제공 될 수 있으므로 다양한 컴퓨터 비전 응용 프로그램의 중요한 구성 요소입니다.
1. 일반적인 추적 기술
- 템플릿 매칭(Template matching): 가장 일반적인 접근 방식은 템플릿 또는 BLOB 매칭 입니다. 이 brute-force 방법은 이전 프레임에서 정의된 객체 템플릿과 유사한 영역에 대한 이미지를 검색합니다.
- 밀도 추정(Density estimation): mean-shift - 평균 이동. 이 방식은 현재 프레임에서 객체의 색상 히스토그램과 가장 유사한 이미지 윈도우를 찾는 데 사용되는 비모수적 밀도 기울기 추정기입니다.
- 회귀(Regression) 다중 변수 사이의 관계에 대한 이해.
또 다른 일반적인 기술로는 모션 추정, 칼만 필터링, 입자 필터링, 다중 가설 추적 및 실루엣 추적이 있습니다.
2. 일반적인 객체 추적 방법
바이트트랙-ByteTrack
이는 매칭 과정에서 높은 점수부터 낮은 점수까지 모든 탐지 상자를 사용하는 효과적인 연관 방법(association method)입니다. Tracklet과의 유사성이 배경과 낮은 점수 감지 상자의 객체를 구분할 수 있는 강력한 단서를 제공한다는 전제를 기반으로 합니다. ByteTrack은 Kalman Filter를 사용하여 새 프레임에서 tracklet의 위치를 예측합니다.
모션 유사성은 예측 상자와 탐지 상자의 IoU에 의해 계산됩니다. 그런 다음 일치하지 않는 tracklet들과 낮은 점수 감지 상자 간에 두 번째 일치를 수행합니다.
단순 온라인 및 실시간 추적(SORT-Simple Online And Realtime Tracking)
SORT는 감지 컴포넌트를 넘어선 모양 특징들을 무시하게 해주는 감지별 추적 프레임워크의 린(lean) 구현물입니다.프레임을 통한 데이터 연결 및 모션 추정을 위해 경계 상자의 크기와 위치를 사용합니다.
Faster R-CNN은 카메라 모션과 기타 객체들에 독립적인 선형 등속 모델에 의해 추정된 연속 프레임의 객체 변위와 함께 객체 감지기에 사용됩니다. .
딥소트- DeepSORT
DeepSORT는 SORT의 한계를 극복하기 위해 만들어졌으며 연관 메트릭에 더 많은 정보와 동작 및 모양 정보를 결합한 메트릭으로 대체합니다.주어진 이미지를 나타낼 수 있는 벡터를 얻는 것을 목표로 "깊은 모양-deep appearance"이 추가됩니다.이 방법은 하나의 단일 특징 벡터를 생성하는 dense 레이어를 남기는 분류자를 만들고 최종 분류 레이어를 제거 합니다.
트랜스모트-TransMOT
다음의 변환기 기반 추적기의 문제를 해결하는 새로운 시공간 그래프 변환기(Transformer):
- 비디오에는 많은 객체가 포함될 수 있습니다. 일반 변환기로 시공간 관계를 모델링하는 것은 객체의 시공간 구조를 고려하지 못하기 때문에 비 효율적입니다.
- 변환기(Transformer)는 장기적인 시간 종속성을 모델링하기 위해 많은 데이터와 계산 리소스가 필요합니다.
- 이러한 애플리케이션에 사용되는 DETR 기반 물체 감지기는 최신 기술이 아닙니다.
이런이유로 TransMOT가 등장했으며, 대상의 공간 관계를 사용하여 구축된 일련의 희소 가중치 그래프로 추적된 객체들의 궤적을 배열합니다.
그런 다음 하나의 공간 그래프 변환기 인코더 계층, 공간 변환기 디코더 계층 하나 그리고 을 생성하여 객체의 공간-시간 관계를 모델링하는 시간 변환기 인코더 계층 하나를 생성 하는 데 그래프들들 사용 합니다. 이러한 가중치 그래프 표현의 희소성으로 인해서, TransMOT는 훈련과 추론 모두에서 좀 더 효율적입니다.
페어모트
앵커 없는 객체 감지 아키텍처인 CenterNet 위에 구축된 새로운 추적 접근 방식입니다.
탐지 및 재ID 작업 모두 이 방법으로 동일하게 취급되며, 이전 프레임워크 반복인 “detection first, re-ID second”와 다릅니다. re-ID 기능 추출 및 객체 감지를 위한 두 개의 동종 분기로 구성된 간단한 네트워크 구조로 ResNet-34를 백본으로 채택하여 속도와 정확도 사이의 균형을 맞춥니다.
2. 이미지 분류
이미지 분류는 이미지에 특정 레이블을 지정하여 이미지를 분류하는 것을 목표로 전체적으로 모든 이미지를 이해하려고 합니다.
이미지 분류 구조
- 이미지 전처리. 중요한 이미지 특징을 강화하고 원치 않는 왜곡을 억제하여 이미지 데이터(특징)를 개선합니다. 단계에는 이미지 읽기, 이미지 크기 조정 및 데이터 확대가 포함됩니다.
- 객체 감지. 이미지를 분할하고 관심 객체의 위치를 식별하여 객체를 현지화합니다.
- 특징 추출 및 훈련. 딥 러닝 또는 통계적 방법은 이미지에서 가장 흥미로운 패턴을 식별하는 데 도움이 되며, 이는 개별 클래스 간의 차별화로 이어집니다.
- 객체 분류. 이미지 패턴과 대상 패턴을 비교하는 적절한 분류 기술을 통해 감지된 객체를 미리 정의된 클래스로 분류합니다.
지도(Supervised) 분류
이미지를 분류하기 위해 훈련 샘플에서 얻은 스펙트럼 서명을 사용합니다. 지도 분류의 세 가지 기본 단계는 다음과 같습니다:
- 교육 영역 선택.
- 서명 파일 생성.
- 분류.
비지도 분류
사람의 개입 없이 다중 대역 이미지에서 스펙트럼 클래스 또는 클러스터를 찾습니다. 이 방법은 샘플이 필요하지 않고 이미지를 쉽게 분할하고 이해할 수 있는 가장 기본적인 기술입니다. 비지도 분류를 위한 두 가지 기본 단계는 다음과 같습니다:
- 클러스터 생성.
- 클래스 배정.
컨벌루션 신경망(CNN)
가상 피질의 몇 가지 특징들을 사용하여 컴퓨터 비전 작업에서 결과를 얻습니다. 컨벌루션 레이어와 풀링 레이어로 구성된 CNN은 최소한의 전처리로 픽셀 이미지에서 바로 시각적 패턴을 인식하는 다층 신경망입니다.
인공 신경망
생물학적 신경망을 기반으로 간단한 분류 또는 컴퓨터 비전과 같은 다양한 작업을 위한 통계적 학습 알고리즘입니다. 생물학적 뉴런과 기능적으로 유사한 상호 연결된 처리 요소 또는 노드의 시스템으로 구현됩니다.
서포트 벡터 머신(SVM)
서포트 벡터 머신은 다양한 연속 및 범주 변수를 처리할 수 있는 능력으로 인해 매우 인기가 있습니다. 이들은 분류 및 회귀 모두를 위한 강력하고 유연한 지도 기계 학습 알고리즘입니다.
K-nearest Neighbor
이 비모수적 방법은 분류 및 회귀에 적합하며 입력은 특징 공간에서 k개의 닫힌 훈련 예제로 구성됩니다. K-nearest Neighbor는 가장 간단한 알고리즘입니다.
나이브 베이즈(Naïve Bayes) 알고리즘
베이즈 정리를 기반으로 한 분류 알고리즘 모음입니다. 모두 공통 원칙을 공유하는 알고리즘 계열로서 분류기를 구성하는 간단한 기술입니다.
랜덤 포레스트 알고리즘
이 알고리즘은 분류 및 회귀에 사용되는 지도 학습 알고리즘입니다. 이 알고리즘은 데이터 세트를 기반으로 의사 결정 트리를 생성하고 각 트리에서 예측을 얻은 후 최종적으로 투표를 통해 최상의 솔루션을 선택합니다.
3. 인스턴스 분할 및 시맨틱 분할
시맨틱 분할은 주어진 이미지의 모든 픽셀을 클래스로 분류합니다. 이 알고리즘는 주어진 이미지에서 관심 있는 모든 개체를 감지하고 묘사하는 작업인 인스턴스 분할과 다릅니다.
인스턴스 분할은 개체의 인스턴스를 감지하고 경계를 구분하는 작업을 처리합니다.
픽셀당 분할 마스크와 함께 단일 이미지에서 서로 다른 객체의 여러 인스턴스를 감지해야 합니다.
방법에는 R-CNN과 FCN(Fully Convolutional Networks) 둘 다의 기반일 수 있습니다.
3. 아키텍처
1. U-NET
이것은 원래 생체 의학 이미지를 분할하기 위해 만들어진 컨볼루션 신경망입니다. 시각화하면 문자 U처럼 보입니다. 그래서 이런 이름이 붙여졌습니다. 아키텍처는 다음 두 부분으로 구성됩니다.
- 왼쪽 부분: 컨텍스트를 캡처하는 축소 경로입니다. 다운샘플링을 위한 2x2 최대 풀링 계산과 정류된 선형 단위가 뒤따르는 2개의 3x3 컨볼루션으로 구성됩니다.
- 오른편의 넓은 길은 정확한 위치 파악에 도움이 됩니다.
2. Fast Fully Convolutional Network (FastFCN)
JPU(Joint Pyramid Upsampling) 모듈은 많은 시간과 메모리를 소비하는 확장된 컨볼루션을 대체합니다. JPU는 저해상도 기능 맵을 고해상도 기능 맵으로 업샘플링합니다.
3. Gated-SCNN
모델에서 별도의 분기가 이미지 모양 정보를 처리하는 2 스트림 CNN 아키텍처로 구성됩니다. 그런 이 형상 스트림은 그래서 경계 정보를 처리하는 데 도움을 줍니다.
4. DeepLab
샘플링되지 않은 필터를 가진 컨볼루션은 조밀한 예측 작업에 사용됩니다. 물체 분할은 atrous 공간 피라미드 풀링을 통해 여러 축척으로 완성됩니다. 그런 다음 D-CNN은 객체 경계 지역화를 개선하고 필터는 0 삽입 또는 입력 기능 맵의 희소 샘플링을 통해 업샘플링되어 아트러스 컨볼루션을 완성하게 됩니다.
5. Mask R-CNN
객체들은 각각의 개별 픽셀을 일련의 범주로 분류하는 경계 상자 및 시맨틱 분할을 통해 분류되고 지역화됩니다. 관심 있는 모든 영역은 분할 마스크를 받고 클래스 레이블과 경계 상자가 최종 출력으로 생성됩니다. 이 아키텍처는 영역을 제안하는 깊은 컨벌루션 네트워크와 영역을 활용하는 검출기로 구성된 Faster R-CNN의 확장입니다.
이상.
'이것저것' 카테고리의 다른 글
[윈도우]배치 파일 및 스크립트 (2) | 2024.02.06 |
---|---|
[Axis2] Code Generator 도구를 위한 명령 줄 Ant Task 개발 지침서 (0) | 2024.02.05 |
해상도 및 DPI 문제 안내 (0) | 2023.03.25 |
MariaDB 설치 - CentOS 7 (0) | 2023.03.17 |
NoSQL 데이터베이스 비교 (1) | 2023.03.14 |