부본 이미지 분류는 어떻게 작동합니까? - Unite.AI
Rescale 미팅 예약

AI 101

이미지 분류는 어떻게 작동합니까?

mm
업데이트 on

휴대전화는 사진을 찍는 것만으로 물체가 무엇인지 어떻게 판단할 수 있습니까? 소셜 미디어 웹사이트는 어떻게 사진에서 사람들을 자동으로 태그합니까? 이는 AI 기반 이미지 인식 및 분류를 통해 달성됩니다.

이미지 인식 및 분류는 인공 지능의 가장 인상적인 성과 중 많은 부분을 가능하게 합니다. 그러나 컴퓨터는 이미지를 감지하고 분류하는 방법을 어떻게 학습합니까? 이 기사에서는 컴퓨터가 이미지를 해석하고 감지하는 데 사용하는 일반적인 방법을 다룬 다음 이러한 이미지를 분류하는 가장 인기 있는 방법을 살펴보겠습니다.

픽셀 수준 대 개체 기반 분류

이미지 분류 기술은 주로 두 가지 범주로 나눌 수 있습니다. 픽셀 기반 분류 객체 기반 분류.

픽셀은 이미지의 기본 단위이며 픽셀 분석은 이미지 분류가 수행되는 기본 방법입니다. 그러나 분류 알고리즘은 개별 픽셀 내의 스펙트럼 정보만 사용하여 이미지를 분류하거나 스펙트럼 정보와 함께 공간 정보(가까운 픽셀)를 검사할 수 있습니다. 픽셀 기반 분류 방법은 스펙트럼 정보(픽셀의 강도)만 사용하는 반면 개체 기반 분류 방법은 픽셀 스펙트럼 정보와 공간 정보를 모두 고려합니다.

픽셀 기반 분류에 사용되는 다양한 분류 기술이 있습니다. 여기에는 평균까지의 최소 거리, 최대 우도 및 최소 마할라노비스 거리가 포함됩니다. 이러한 방법은 클래스의 평균과 분산을 알고 있어야 하며 모두 클래스 평균과 대상 픽셀 사이의 "거리"를 검사하여 작동합니다.

픽셀 기반 분류 방법은 근처에 있는 다른 픽셀의 정보를 사용할 수 없다는 제한이 있습니다. 반대로 객체 기반 분류 방법은 다른 픽셀을 포함할 수 있으므로 공간 정보를 사용하여 항목을 분류하기도 합니다. "개체"는 픽셀의 인접한 영역을 의미하며 해당 픽셀 영역 내에 대상 개체가 있는지 여부는 의미하지 않습니다.

객체 감지를 위한 이미지 데이터 전처리

가장 최근의 신뢰할 수 있는 이미지 분류 시스템은 주로 개체 수준 분류 체계를 사용하며 이러한 접근 방식을 위해 이미지 데이터는 특정 방식으로 준비되어야 합니다. 개체/영역을 선택하고 사전 처리해야 합니다.

이미지와 해당 이미지 내의 개체/영역을 분류하기 전에 해당 이미지를 구성하는 데이터를 컴퓨터에서 해석해야 합니다. 분류 알고리즘에 입력하기 위해 이미지를 전처리하고 준비해야 하며 이는 객체 감지를 통해 수행됩니다. 이는 기계 학습 분류기를 훈련하기 위해 데이터를 준비하고 이미지를 준비하는 데 중요한 부분입니다.

개체 감지는 다음과 같이 수행됩니다. 다양한 방법과 기술. 우선, 관심 대상이 여러 개인지 또는 관심 대상이 하나인지 여부는 이미지 전처리 처리 방식에 영향을 미칩니다. 관심 대상이 하나만 있는 경우 이미지는 이미지 현지화를 거칩니다. 이미지를 구성하는 픽셀에는 컴퓨터에서 해석되고 적절한 색상과 색조를 표시하는 데 사용되는 숫자 값이 있습니다. 경계 상자로 알려진 개체는 관심 있는 개체 주위에 그려져 컴퓨터가 이미지의 어떤 부분이 중요하고 어떤 픽셀 값이 개체를 정의하는지 알 수 있도록 도와줍니다. 이미지에 관심 있는 개체가 여러 개 있는 경우 개체 감지라는 기술을 사용하여 이러한 경계 상자를 이미지 내의 모든 개체에 적용합니다.

사진: Wikimedia Commons를 통한 Adrian Rosebrock, CC BY SA 4.0(https://commons.wikimedia.org/wiki/File:Intersection_over_Union_-_object_detection_bounding_boxes.jpg)

전처리의 또 다른 방법은 이미지 분할입니다. 이미지 분할 기능은 전체 이미지를 유사한 특징을 기준으로 세그먼트로 나누는 것입니다. 이미지의 다른 영역은 이미지의 다른 영역과 비교하여 유사한 픽셀 값을 가지므로 이러한 픽셀은 이미지 내 관련 개체의 모양과 경계에 해당하는 이미지 마스크로 함께 그룹화됩니다. 이미지 분할은 컴퓨터가 경계 상자와 마찬가지로 개체를 분류하는 데 도움이 되는 이미지의 기능을 격리하는 데 도움이 되지만 훨씬 더 정확한 픽셀 수준의 레이블을 제공합니다.

개체 감지 또는 이미지 분할이 완료되면 해당 영역에 레이블이 적용됩니다. 이러한 레이블은 개체를 구성하는 픽셀 값과 함께 다른 레이블과 관련된 패턴을 학습하는 기계 학습 알고리즘에 입력됩니다.

기계 학습 알고리즘

데이터가 준비되고 레이블이 지정되면 데이터를 학습하는 기계 학습 알고리즘에 데이터가 공급됩니다. 우리는 기계 학습의 가장 일반적인 종류 중 일부를 다룰 것입니다. 이미지 분류 알고리즘 아래.

K- 최근 접 이웃

K-Nearest Neighbors는 가장 가까운 훈련 예제를 검사하고 주어진 테스트 예제에 대해 가장 가능성이 높은 레이블을 확인하기 위해 해당 레이블을 살펴보는 분류 알고리즘입니다. KNN을 사용한 이미지 분류의 경우 훈련 이미지의 특징 벡터와 레이블이 저장되고 테스트 중에 특징 벡터만 알고리즘에 전달됩니다. 훈련 및 테스트 기능 벡터는 유사성을 위해 서로 비교됩니다.

KNN 기반 분류 알고리즘은 매우 간단하며 여러 클래스를 매우 쉽게 처리합니다. 그러나 KNN은 모든 특징을 동일하게 기반으로 유사도를 계산합니다. 즉, 기능의 하위 집합만 이미지 분류에 중요한 이미지와 함께 제공될 때 잘못 분류될 수 있습니다.

벡터 머신 지원

서포트 벡터 머신은 공간에 점을 배치한 다음 점 사이에 분할선을 그려 점이 분할 평면의 어느 쪽에 있는지에 따라 객체를 다른 클래스에 배치하는 분류 방법입니다. 서포트 벡터 머신은 커널 트릭이라는 기술을 사용하여 비선형 분류를 수행할 수 있습니다. SVM 분류기는 종종 매우 정확하지만 SVM 분류기에 대한 실질적인 단점은 크기와 속도 모두에 의해 제한되는 경향이 있으며 크기가 증가함에 따라 속도가 저하된다는 것입니다.

다층 퍼셉트론(신경망)

신경망 모델이라고도 하는 다층 퍼셉트론은 인간의 두뇌에서 영감을 얻은 기계 학습 알고리즘입니다. 다층 퍼셉트론은 인간 뇌의 뉴런이 서로 연결되어 있는 것처럼 서로 결합된 다양한 층으로 구성됩니다. 신경망은 입력 기능이 데이터 클래스와 어떻게 관련되어 있는지 가정하고 이러한 가정은 교육 과정에서 조정됩니다. 다층 퍼셉트론과 같은 간단한 신경망 모델은 비선형 관계를 학습할 수 있으므로 다른 모델보다 훨씬 더 정확할 수 있습니다. 그러나 MLP 모델은 볼록하지 않은 손실 함수의 존재와 같은 몇 가지 주목할만한 문제가 있습니다.

심층 학습 알고리즘(CNN)

사진: Wikimedia Commons를 통한 APhex34, CC BY SA 4.0(https://commons.wikimedia.org/wiki/File:Typical_cnn.png)

최근 가장 널리 사용되는 이미지 분류 알고리즘은 CNN(Convolutional Neural Network)입니다. CNN은 객체 분류에 가장 중요하고 관련 있는 특징을 추출할 수 있는 특수 계층과 다층 신경망을 결합한 신경망의 맞춤형 버전입니다. CNN은 이미지의 특징을 자동으로 발견, 생성 및 학습할 수 있습니다. 이렇게 하면 기계 학습 알고리즘을 준비하기 위해 이미지에 수동으로 레이블을 지정하고 분할해야 하는 필요성이 크게 줄어듭니다. 또한 볼록하지 않은 손실 함수를 처리할 수 있기 때문에 MLP 네트워크에 비해 이점이 있습니다.

컨볼루션 신경망은 "컨볼루션"을 생성한다는 사실에서 이름을 얻습니다. CNN은 필터를 가져와서 이미지 위로 밀어서 작동합니다. 이것은 이동 가능한 창을 통해 풍경의 일부를 보고 언제든지 창을 통해 볼 수 있는 기능에만 집중하는 것으로 생각할 수 있습니다. 필터에는 픽셀 자체의 값과 곱해지는 숫자 값이 포함되어 있습니다. 결과는 원본 이미지를 나타내는 숫자로 가득 찬 새로운 프레임 또는 행렬입니다. 선택한 수의 필터에 대해 이 프로세스가 반복된 다음 프레임이 원본 이미지보다 약간 더 작고 덜 복잡한 새 이미지로 결합됩니다. 풀링이라는 기술은 이미지 내에서 가장 중요한 값만 선택하는 데 사용되며, 목표는 신경망이 이미지의 개체를 인식하는 데 도움이 되는 이미지의 가장 두드러진 부분만 추출하는 것입니다.

컨볼 루션 신경망 서로 다른 두 부분으로 구성되어 있습니다. 컨벌루션 레이어는 이미지의 특징을 추출하여 신경망 레이어가 해석하고 학습할 수 있는 형식으로 변환합니다. 초기 컨볼루션 레이어는 단순한 선 및 경계와 같은 이미지의 가장 기본적인 요소를 추출하는 역할을 합니다. 중간 컨볼루션 레이어는 단순한 곡선 및 모서리와 같은 더 복잡한 모양을 캡처하기 시작합니다. 나중에 더 깊은 컨볼루션 레이어는 CNN의 신경망 부분으로 전달되고 분류자가 학습하는 이미지의 높은 수준의 특징을 추출합니다.

전문 분야의 블로거 및 프로그래머 기계 학습 깊은 학습 주제. 다니엘은 다른 사람들이 사회적 이익을 위해 AI의 힘을 사용하도록 돕기를 희망합니다.