객체인식, 알고있어야 할 3가지
객체인식, 알고있어야 할 3가지
  • 정한영 기자
  • 승인 2018.07.20 14:46
  • 댓글 0
이 기사를 공유합니다

객체 인식이란? 이미지 또는 비디오 상의 객체를 식별하는 컴퓨터 비전 기술로 객체 인식은 딥러닝과 머신러닝 알고리즘을 통해 산출되는 핵심 기술이다. 사람은 사진 또는 비디오를 볼 때 인물, 물체, 장면 및 시각적 세부 사항을 쉽게 알아볼 수 있다. 이처럼 사람이라면 당연히 할 수 있는 일을 컴퓨터가 할 수 있도록 학습시키는 것으로 매트랩(MATLAB)을 활용한 객체인식에서 반드시 알아야 할 3가지를 살펴본다.

사진은 객체 인식을 사용하여 다른 카테고리의 객체 식별하기.

객체 인식은 특히, 무인 자동차에서 가장 많이 활용되는 핵심 기술로 자동차가 정지 신호를 인식하고 보행자와 가로등을 구별할 수 있도록 한다. 또한 객체 인식 기술은 의료 이미징에서의 질병 식별과 산업 검사 및 로봇 비전 등과 같은 다양한 분야에서 활용할 수 있다.

그럼, 객체 인식과 객체 감지의 차이점은 무엇인가? 객체 감지(Object detection)와 객체 인식(Object recognition)은 서로 유사한 객체 식별 기술이지만, 실행 방식은 서로 다르다. 객체 감지는 이미지에서 객체의 인스턴스를 찾아내는 프로세스로 딥러닝의 경우 객체 감지는 이미지에서 객체를 식별할 뿐만 아니라 위치까지 파악되는 객체 인식의 서브셋이다. 이를 통해 하나의 이미지에서 여러 객체를 식별하고 각 위치를 파악할 수 있다.

객체 인식(왼쪽)과 객체 감지(오른쪽)

객체 인식에는 다양한 접근 방식을 사용할 수 있습니다. 최근 머신러닝과 딥러닝 기술이 객체 인식 문제에 접근하는 방식으로 널리 사용되고 있다. 두 기술은 이미지에서 객체를 식별하는 방법을 학습하지만, 실행 방식은 서로 다르다. 객체 인식에 사용되는 머신 러닝과 딥러닝의 차이점은 무엇이며, 두 기술을 구현하는 방법을 알아본다.

객체 인식에 사용되는 머신 러닝과 딥러닝 기술.

첫번째, 딥러닝을 사용한 객체 인식에는 컨벌루션 뉴럴 네트워크(CNN)과 같은 딥러닝 모델은 객체를 식별하기 위해 해당 객체 고유의 특징을 자동으로 학습하는 데 사용된다. 예를 들어 CNN에서는 수천 장의 훈련용 이미지를 분석하고 고양이와 개를 구분하는 특징을 학습하여 고양이와 개의 차이점을 식별하는 방법을 학습할 수 있으며, 딥러닝을 사용하여 객체 인식을 실시하는 두 가지 접근 방식이 있다.

먼저, 기초부터 딥 네트워크를 훈련시키기 위해서는 레이블이 지정된, 매우 방대한 데이터 세트를 모으고, 네트워크 아키텍처를 설계하여 특징을 학습하고 모델을 완성시킨다. 이를 통해 뛰어난 결과물을 얻을 수 있지만, 이러한 접근 방식을 위해서는 방대한 분량의 훈련 데이터가 필요하고 CNN에 레이어와 가중치를 설정해야 한다.

그리고 사전 훈련된 딥러닝 모델 사용하는 방법으로 대다수 딥러닝 응용 프로그램은 사전 훈련된 모델을 세밀하게 조정하는 방법이 포함된 프로세스인 전이학습 방식을 사용한다. 이 방식에서는 AlexNet 또는 GoogLeNet과 같은 기존 네트워크를 사용하여 이전에 알려지지 않은 클래스를 포함하는 새로운 데이터를 주입한다. 이 방법을 사용하면 수천 또는 수백만 장의 이미지로 모델을 미리 훈련한 덕분에 시간 소모가 줄게 되고 결과물을 빠르게 산출할 수 있다.

식당 음식을 인식하는 데 객체 인식을 사용하는 딥러닝 응용 분야.

두번째, 머신러닝 기술도 객체 인식에 널리 사용되고 있으며, 딥러닝과는 다른 접근 방식으로 머신러닝 기술이 사용되는 일반적인 사례는 SVM(Support vector machine) 머신러닝 모델을 사용한 HOG 특징 추출과 SURF 및 MSER과 같은 특징을 사용한 BoW(Bag of Words) 모델과 경쟁 객체 탐지 ​​속도를 실시간으로 제공하는 최초의 객체 탐지 ​​프레임 워크로 얼굴과 상반신을 포함하여 다양한 객체를 인식하는 데 사용할 수 있는 Viola-Jones 알고리즘 등이 있다.

또한 표준 머신러닝 방식을 사용하여 객체 인식을 수행하려면 이미지(또는 비디오)를 모아 각 이미지에서 주요 특징을 선택한다. 예를 들어 특징 추출 알고리즘을 사용하면 데이터에서 클래스 간의 구분에 사용할 수 있는 가장자리 또는 코너 특징이 추출된다. 그런 다음, 이러한 특징을 머신러닝 모델에 추가하여 각 특징을 고유 카테고리로 나눈 후 새로운 객체를 분석 및 분류할 때 이 정보를 사용하며, 정확한 객체 인식 모델을 만들기 위해 다양한 머신러닝 알고리즘과 특징 추출 방법을 조합하여 사용할 수 있다.

객체 인식에 사용되는 머신 러닝 워크플로.

객체 인식에 머신 러닝을 사용하면 다양한 특징과 분류기를 최적으로 조합하여 학습에 사용할 수 있습니다. 최소의 데이터로도 정확한 결과를 얻을 수 있습니다.

객체 인식을 위한 머신 러닝과딥러닝의 차이점

최적의 객체 인식 접근 방식은 응용 분야와 해결하려는 문제에 따라 다릅니다. 많은 경우, 특히 객체의 클래스를 구분하기 위해 이미지의 어떤 특징을 사용하는 것이 가장 좋은지 알고 있을 때는 머신 러닝이 효과적인 기술일 수 있습니다.

머신 러닝과 딥러닝 중 무엇을 선택할지 고민되는 경우에는 고성능 GPU와 대량의 레이블이 지정된 학습용 이미지를 보유하고 있는지를 중점적으로 고려해야 합니다. 이러한 조건이 갖추어지지 않았다면 머신 러닝 방식이 보다 나은 선택일 수 있습니다. 딥러닝 기술은 이미지가 많을 때 더 나은 결과를 보여주는 경향이 있으며, GPU는 모델을 학습시키기 위해 필요한 시간을 줄이는 데 도움이 됩니다.

그림 6: 딥러닝과 머신 러닝 중에서 선택할 때 고려해야 하는 주요 요소.

자세히 알아보기

 3:47

딥러닝 소개: 머신 러닝 vs 딥러닝

기타 객체 인식 방법

응용 분야에 따라서는 좀 더 기초적인 다른 객체 인식 방법을 사용하는 것만으로도 충분할 수 있습니다.

템플릿 매칭 – 대형 이미지에서 일치하는 부분을 찾기 위해 소형 이미지 또는 템플릿 사용

이미지 분할 및 BLOB 분석 – 크기, 색상 또는 모양과 같은 단순한 객체 속성 사용

일반적으로 이미지 분할과 같은 단순한 방식을 사용하여 객체를 인식할 수 있으면 단순한 방식을 사용하여 시작하는 것이 좋습니다. 이러한 방식을 통해 수백 또는 수천 장의 훈련용 이미지 또는 과도하게 복잡한 솔루션이 필요하지 않으면서도 견고한 솔루션을 사용할 수 있습니다.

객체 인식

MATLAB을 활용한 딥러닝 및 머신 러닝

전문가가 아니어도 단 몇 줄의 MATLAB® 코드로 객체 인식을 위한 머신 러닝 및 딥러닝 모델을 만들 수 있습니다.

객체 인식에 MATLAB을 사용하면 다음과 같은 이점이 제공되어 짧은 시간 안에 성공을 거둘 수 있습니다.

MATLAB으로 분야별 전문지식을 활용하여 데이터과학을 학습할 수 있습니다.

MATLAB을 활용하여 머신 러닝과 딥러닝 영역에서 전문 지식을 습득할 수 있습니다. MATLAB은 이러한 영역에 대한 학습을 실용적이고 이해하기 쉽게 만듭니다. 또한 MATLAB을 사용하는 전문가는 산업 또는 응용 분야에 관한 지식이 없을 수 있는 데이터 과학자에게 작업을 넘기지 않고도 객체 인식 모델을 만들 수 있습니다.

앱을 사용하여 데이터에 레이블을 지정하고 모델을 만들 수 있습니다.

MATLAB을 사용하면 최소의 코드로 머신 러닝과 딥러닝 모델을 만들 수 있습니다.

Classification Learner 앱 을 사용하면 머신 러닝 모델을 빠르게 완성하고 코드 작성 없이 여러 머신 러닝 알고리즘을 비교할 수 있습니다.

Image Labeler 앱 을 사용하면 딥러닝 모델 학습 및 테스트를 위해 이미지 내의 객체에 대화형 방식으로 레이블을 지정하고 비디오 상의 레이블 지정 작업을 자동화할 수 있습니다. 이 대화형 자동 방식을 통해 짧은 시간 안에 더 나은 결과물을 얻을 수 있습니다.

객체 인식을 단일 워크플로로 통합할 수 있습니다.

MATLAB은 여러 영역을 단일 워크플로로 통합할 수 있습니다. MATLAB을 사용하면 하나의 환경에서 생각하고 프로그래밍할 수 있습니다. 또한, 딥러닝과 머신 러닝뿐만 아니라 로봇 공학, 컴퓨터 비전 및 데이터 분석 등의 다양한 알고리즘 영역에 제공되는 툴과 기능을 사용할 수 있습니다.

MATLAB은 엔터프라이즈 시스템, 클러스트, 클라우드 및 임베디드 기기에 모델을 배포하는 작업을 자동화합니다.

 

 

Tag
#N

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.