본문 바로가기
  • AI와 함께 세상을 아름답게
인공지능(AI)이란? - 기초 개념 및 이론

이미지 인식(Image recognition)

by neo-Lee 2023. 6. 6.

    이미지 인식(Image recognition)은 정지 이미지나 동영상으로 주어진 이미지에서 문자나 숫자를 읽어 내거나 이미지의 특징을 추출해서 이미지에 찍힌 것이  무엇인지를 식별하는 기술입니다. 그리고 이미지 인식 결과를 이용해서 구체적인 정보를 처리하는 기술을 이미지 이해라고 합니다.

    이미지 인식분야는 전통적으로는 이미지를 정확하게 분류해 내는 이미지 분류(Image Classification) 영역에 집중하고 있었지만, 현재의 이미지 인식 분야에서는 객체 탐지(Object Detecting)와 이미지 분할(Image Segmentation) 영역이 새로 등장하였습니다. 그리고 객체 탐지의 경우 이미지에 한정되지 않고 영상에서도 객체 탐지를 적용해 사용하고 있습니다. 

    현재는 컴퓨터가 이런 이미지와 영상에서 인간의 시각이 할 수 있는 일들을 자율적으로 수행할 수 있도록 연구하는 분야에 대해서 '컴퓨터 비전(Computer Vision)'이라고 부르고 있습니다.

1.1 이미지 인식의 기초

    컴퓨터에서 이미지 데이터는 화소(픽셀, pixel)의 집합으로 표현됩니다. 화소 또는 픽셀(pixel; picture element)은 디지털 그림을 이루는 가장 작은 단위인 사각형 점을 말합니다.

 

    아래 (그림 7)은 컴퓨터에서 정지 이미지를 표현하는 방식을 보여줍니다.

 

(그림 7) 화소(pixel) 개념도

    1) 정지 이미지

    일반적으로 컴퓨터에서는 정사각형 픽셀을 사용하고, 정사각형의 픽셀을 가로세로 일정한 개수로 배열하여 정지 이미지를 표현합니다. 컴퓨터는 이미지를 저장하거나 표현할 때 픽셀 하나하나에 색을 입히는 작업을 합니다. 그림을 확대하여 보았을 때 계단처럼 울퉁불퉁한 모양이 나타나는 것은 바로 그 그림이 픽셀로 이루어진 것이기에 나타나는 특징인 것입니다.   

    정지 이미지픽셀은 정보를 수치로 나타냅니다. 대부분의 경우 컬러 이미지의 색 정보는 빛의 삼원색인 빨강(Red), 초록(Green), 파랑(Blue) 세 가지 빛의 각 성분의 휘도값으로 표현되는데, 이 방법을 RGB라고 하며, 이러한 휘도값은 적당한 정수로 표시됩니다.

 

    2) 동영상

    동영상정지 이미지시간축으로 배열하여 표현한 것입니다. 즉, 복수의 정지 이미지를 어떤 시간 간격으로 배열해서 동영상으로 표현하는 것입니다. 동영상을 구성하는 정지 이미지를 프레임이라고 하며, 초당 프레임 수인 프레임 레이트(fps; frames per second)는 영화의 경우 24장(fps) 텔레비전 방송은 약 30장(fps)입니다. 동영상을 다룰 때는 각 프레임의 처리 외에도 프레임간 처리도 가능합니다. 예를 들면 두 장의 연속되는 프레임의 차분을 계산해서 이미지에 포함된 물체의 운동을 검출할 수 있습니다. 그리고 단순한 차분이 아닌, 프레임 내 물체의 이동을 벡터로 표현하면 광흐름(optical flow)이라는 정보를 얻을 수 있습니다.   

 

 3) 이미지 필터

    원하는 이미지 인식을 얻으려면 노이즈 제거 등 주어진 이미지의 전 처리가 필요합니다. 일반적으로 카메라와 같은 이미지 입력 장치로부터 얻은 이미지에는 노이즈와 같은 이미지 인식의 대상이 아닌 정보가 포함된 경우가 많습니다. 노이즈 제거를 위해 전 처리 방법 중 하나로 이미지 필터를 적용합니다. 이미지 필터링의 보다 구체적인 내용은 아래 이미지 분류 및 추출에서 좀 더 자세히 공부합니다.

 

4) 이미지 변형

    이미지 인식전 처리로 이미지를 변형해야 할 경우가 있습니다. 예를 들면 인물의 얼굴을 인식할 경우에는 이미지에서 얼굴이 찍힌 장소를 확대하거나 경우에 따라서는 회전할 필요가 있습니다. 그리고 반대로 이미지를 축소해서 인식하기 쉽게 만들기도 합니다. 또한 이미지의 가로세로비를 변형하거나 직사각형의 영역이 사다리꼴인 경우에는 바대로 전환해서 원래의 형태로 복원하기 합니다. 이 같은 변형들은 이미지 연산 처리로 표현할 수 있습니다.

 1.2 이미지 분류

    이미지 분류는 딥러닝, 특히 CNN(합성곱신경망)을 기반으로 획기적으로 발전하였습니다. MLP의 한계를 극복하기 위해 등장한 CNN은 인간의 뉴럴 네트워크를 모방해 만든 것으로 Convolution과 Pooling을 반복하여 이미지의 특징을 추출해 낸 뒤, FC Layer(FullyConnected Layer)를 통해 이미지의 class를 분류해 냅니다.

합성곱신경망(CNN)의 이미지 분류

    CNN의 핵심은 위 이미지에서 나온 Feature extraction(특징 추출)을 어떻게 해내는가 하는 것입니다. 신경망 내부에서는 특징을 추출해 내기 위해 공간 필터(Convolution filter)를 사용하는데 이 필터는 전체 이미지를 정해진 크기에 따라 움직이면서 필터의 크기에 따라 전체 이미지의 부분적인 특징을 학습하게 됩니다. 이후 분류하고자 하는 이미지를 넣게 되면 필터가 학습하고 있는 부분 이미지에 대한 특징과 유사한 정도를 판단하여 이미지분류해 내게 되는 것입니다. 

 

1.3 이미지 인식을 위한 영역추출 방법

    이미지를 인식하기 위해서는 주어진 이미지 속에서 어떤 특징을 추출해야 합니다. 예를 들어 이미지 속에서 어떤 부분에 주목할지를 결정하는 영역추출이미지의 특징적인 영역을 끄집어내기 위한 기술입니다. 어떤 기준으로 영역을 정의하는가에 따라 다양한 방법을 선택할 수 있습니다. 

    예를 들면, 이미지 속에서 비슷한 휘도를 가진 인접 픽셀의 집합은 어떤 특정 영역을 구성합니다. 이런 경우 휘도를 단서로 특정 영역을 검출할 수 있습니다. 또한 에지 추출 필터를 사용해 휘도 변화가 뚜렷이 드러남 부분을 찾아내고, 이를 단서로 특정 영역을 검출할 수도 있습니다. 영역추출에는 주파수 영역의 특징을 이용할 수도 있습니다. 이미지주파수 영역의 특징이란 이미지 농도의 변화가 어느 정도인지를 수치로 나타낸 것을 말합니다. 또 텍스쳐 분석(texture analysis)이라는 방법으로 고속 푸리에 변환을 이용해 이미지가 변하는 모습을 구하여 유사한 텍스쳐 분석을 가진 영역을 추출할 수 있습니다. 

1.3 템플릿 매칭 

    탬프릿 매칭(template matching)은 탬플릿이라는 작은 이미지대상 이미지를 비교하여 탬플릿과 유사한 영역을 찾아내는 방법입니다. 예를 들어 대상 이미지에 여러 가지 도형이 포함되어 있을 경우 템플릿으로 주어진 특정 도형을 찾으려면 대상 이미지 전 영역에 걸쳐 탬플릿을 비교해서 가장 유사난 영역을 찾아내는 것입니다. 방식은 비교하는 두 개의 이미지를 픽셀 단위로 비교해서 유사도를 계산하는 방식으로 찾습니다.

 

2023.06.05 - [인공지능(AI; Artificial Intelligence)] - 자연어처리(NLP; Natural Language Processing) - 음성인식 (5)

728x90

댓글