얼굴 인식 인공지능을 만들기 위해서는 얼굴을 구별할 수 있도록 해 주는 알고리즘이 필요합니다. 여러분이 어떤 사람을 구별할 때 사용하는 전략을 생각해 봅시다. 사람마다 키와 몸무게, 생김새, 피부색, 지능, 성별 등 각자 지니고 있는 특징이 모두 다르지요. 여러분이 이 사람을 다른 사람과 구분할 때 이 모든 정보를 활용하나요? 아마 대강 살펴보고 이 사람에게서 보이는 대표적인 특징을 찾아낼 것입니다.
하지만 컴퓨터는 사람과 다르게 판단합니다. 강아지를 찍은 사진을 그냥 컴퓨터에게 입력하고 다른 강아지의 이미지를 입력하여 강아지인지 판별하도록 한다면 컴퓨터는 이 사진은 강아지가 아니라고 판단할 것입니다. 컴퓨터는 미리 입력된 이미지만 강아지라고 인식하기 때문입니다. 가지고 있는 데이터와 조금이라도 다른 점이 있으면 ‘다른 것’이라고 한다는 거죠. 정확하지만 융통성이 없습니다.
인공지능 개발자들은 이런 문제점을 해결하기 위해 CNN(Convolutional Neural Network)이라는 인공신경망이 개발되었습니다. 컴퓨터에게 이미지에서 특징적인 부분만을 골라내어 비교하여 완벽하게 동일하지 않더라도 비슷한 특징을 가지고 있다면 같은 종류일 가능성이 높다고 판단하는 것입니다.
CNN은 ‘합성곱 신경망’으로 옮기기도 합니다. 너무 어려운 개념이라 쉽게 비유해서 설명하겠습니다. CNN은 이미지를 간단하게 바꾸는 필터의 역할을 한다고 생각하면 됩니다. 필터는 카메라 렌즈에 끼워 사용하는 것이죠. 노란색 필터를 끼우면 사진도 노랗게 나오게 됩니다.
CNN은 이미지에서 필요한 부분만을 걸러내어 비교합니다. 이미지에는 색, 명암 등 너무 많은 정보가 담겨 있기 때문에 형태만을 비교하려고 하는 경우 아래 그림처럼 필터링 처리를 하게 됩니다.
필터링을 거친 이미지는 숫자로 표현되어 데이터베이스에 저장된 이미지가 가지고 있는 숫자값과 비교합니다. 이를 통해 어떤 이미지인지 확률적으로 계산하게 되지요. 따라서 인공지능 얼굴 인식은 데이터베이스에 많은 사람의 이미지가 저장되어 있을수록 정확도가 높아지게 됩니다. 이처럼 데이터베이스에 저장된 많은 데이터를 ‘빅 데이터’라고 합니다.
이미지에서 필요한 데이터만 남겨 비교할수록 오차가 적게 나타납니다.
© 2025 AI4School. Built using WordPress and the Mesmerize Theme