Pattern Recognition

Pattern recognition이란?

Pattern recognition은 주요 특징이나 규칙성을 기반으로 컴퓨터 알고리즘을 사용하여 입력 데이터를 객체, 클래스 또는 범주로 분류하는 과정입니다. Pattern recognition의 응용 사례는 컴퓨터 비전, 영상 분할, 객체 검출, 레이다 처리, 음성 인식, 텍스트 분류 및 기타 분야에서 찾아볼 수 있습니다.

Pattern recognition에는 두 가지 분류 방법, 즉 지도 분류와 비지도 분류가 있습니다. 지도 pattern recognition을 적용하려면 대규모의 레이블 지정 데이터셋이 필요하며, 그 외의 경우에는 비지도 접근법을 적용해 볼 수 있습니다.

머신러닝 및 딥러닝을 사용한 Pattern Recognition

MATLAB®으로 Pattern recognition 응용 사례에 머신러닝 또는 딥러닝 기법을 적용할 수 있습니다.

머신러닝 접근법은 데이터 준비, 데이터의 클래스 간 구분을 위한 특징 수동 추출, 새 객체의 분류를 위한 머신러닝 모델 훈련으로 구성됩니다. 객체 검출에 널리 사용되는 머신러닝 기법 또는 모델에는 ACF(aggregate channel features), HOG(histograms of oriented gradient) 특징을 사용한 SVM 분류, Viola-Jones 등이 있습니다. 이 방법들은 MATLAB®에서 모두 사용할 수 있습니다.

딥러닝 접근법은 데이터 준비와 심층 신경망 훈련, 훈련된 모델을 새 데이터로 테스트하는 작업으로 구성됩니다. Pattern recognition에 널리 사용되는 딥러닝 모델은 R-CNN과 YOLO v2이며, 이 역시 MATLAB에서 사용할 수 있습니다. 최근에는 딥러닝 접근법이 머신러닝 접근법보다 널리 쓰이게 되었습니다.

머신러닝 접근법과 딥러닝 접근법의 주된 차이점은, 딥러닝 모델은 더 큰 훈련 데이터셋과 더 긴 훈련 시간이 필요한 반면에 머신러닝 모델은 보다 작은 데이터셋으로 훈련할 수 있습니다. 또 예상대로 동작하지 않을 경우 이를 해석하고 디버그하기가 더 쉬울 수 있지만 대규모의 레이블 지정 데이터셋으로 훈련시킨 딥러닝 모델보다는 정확도가 낮을 수 있습니다. 

엔지니어링 부문에서 널리 쓰이는 pattern recognition 응용 사례로는 산업 응용 분야에서 생산 비용 절감과 제품 품질 개선을 위해 제조 공정에서 진행하는 결함 검출을 들 수 있습니다. 아래 그림은 기업들은 MATLAB으로 비전 기반 기법을 활용해서 결함을 3단계에 걸쳐 효율적으로 검출하는 방법을 보여줍니다.

제조된 부품의 결함 검사를 위해 pattern recognition을 활용하는 광학 검사 응용 사례.

제조된 부품의 결함 검사를 위해 pattern recognition을 활용하는 광학 검사 응용 사례.

지도 분류

Pattern recognition의 지도 분류 방법은 지도 학습 알고리즘을 입력 데이터에 적용하여 레이블이 수동으로 지정된 훈련 데이터와 원하는 결과값의 짝을 짓습니다.

컴퓨터 비전에서 지도 pattern recognition 기법은 OCR(광학 문자 인식), 객체 검출, 객체 분류에 쓰입니다.

정지 신호 검출(왼쪽)과 가스 처리 공장 부품의 레이블 지정 자동화(오른쪽).

정지 신호 검출(왼쪽)과 가스 처리 공장 부품의 레이블 지정 자동화(오른쪽).

비지도 분류

비지도 분류 방법은 분할 또는 군집화 기법을 사용하여 레이블 미지정 데이터에서 숨겨진 구조를 찾는 방식입니다. 널리 사용되는 비지도 분류 방법은 다음과 같습니다.

  • K-평균 군집화
  • 가우스 혼합 모델
  • 은닉 마르코프 모델

객체 검출과 영상 분할에는 비지도 pattern recognition 기법도 쓰이는데, 특히 지도 객체 검출과 분류의 적용을 위한 레이블 지정 데이터를 충분히 얻기 어려운 작업에서 사용됩니다.

가우스 혼합 모델을 사용해서 영상 픽셀을 전경(흰색 픽셀)과 배경(검은색 픽셀)으로 분류하여 움직이는 객체 검출하기.

가우스 혼합 모델을 사용해서 영상 픽셀을 전경(흰색 픽셀)과 배경(검은색 픽셀)으로 분류하여 움직이는 객체 검출하기. 자세한 내용은 예제를 참조하십시오.

k-평균 군집화를 사용한 색 기반 영상 분할.

k-평균 군집화를 사용한 색 기반 영상 분할.

여러분의 응용 사례에 대한 pattern recognition 사용 방법에 대한 자세한 내용은 MATLAB과 함께 사용하는 Computer Vision Toolbox™Image Processing Toolbox™Statistics and Machine Learning Toolbox™를 참조하십시오.

참조: MATLAB을 사용한 딥러닝, 객체 검출, 객체 인식, 영상 인식, 영상 분할, 외관 검사, 특징 추출에 대해 자세히 알아보기, 머신러닝, pattern recognition 비디오, 포인트 클라우드 처리, 딥러닝, 컴퓨터 비전