인공지능은 사물을 어떻게 바라볼까?
저희 데이터메이커는 다양한 고객사가 의뢰한 프로젝트를 진행하고 있는데요, 고객사의 수만큼 데이터의 유형도 매우 다양합니다. 그 중 흔히 쓰이는 데이터의 유형은 이미지입니다. 이미지를 다루는 일은 인간에게 매우 쉬운 일이지만, 컴퓨터에게는 매우 복잡한 작업입니다. 우리는 일관성을 가지고 주변 환경이나 사물의 상태를 고려하여 이미지를 인식할 수 있는 반면 컴퓨터는 이를 모두 다르게 인식하기 때문입니다. 따라서 컴퓨터에게 이미지를 다룰 수 있도록 학습시키는 일은 복잡하고 어려운 과정입니다. 인공지능 기술이 빠르게 발전하고 있는 지금, 컴퓨터의 효율적인 이미지 분류는 개발자들이 당면한 과제입니다. 오늘은 컴퓨터가 이미지를 분류하는 기초적인 원리에 대해서 소개하고자 합니다.
인공지능의 이미지 분류(Image Classification)
컴퓨터는 이미지를 3차원 배열(가로x세로xRGB)로 인식합니다. 여기서 컴퓨터가 '이미지를 분류'한다는 것은 주어진 배열이 어떤 배열과 가까운지 판단하는 행위를 말합니다. 개발자는 분류 기준에 해당하는 배열을 미리 지정하고 컴퓨터가 그것을 기준으로 이미지 분류하도록 훈련시킬 수 있습니다.
컴퓨터는 고양이 사진을 어떻게 인식할까?
이미지 분류의 방해요인
이미지 분류의 학습이 위와 같이 단순했다면 개발자들은 크게 고민하지 않았을 것입니다. 그러나 컴퓨터가 이미지를 분류하는 데에는 많은 어려움이 있습니다. 인간에게는 같은 이미지로 보일지라도 컴퓨터는 이를 다르게 인식하는 경우가 비일비재합니다.
1. 관점의 변화(Viewpoint Variation)
각도에 따라 이미지는 달라진다.
바라보는 관점에 따라 다르게 보이는 이미지를 하나의 평면에 옮기면
기괴한 모습으로 보일 것이다.
사실, 인간 역시 사물을 관찰하는 각도가 다른 경우에 따라 다른 이미지를 봅니다. 다만, 인간은 정보를 취합하여 해당 이미지가 같다고 판단하는 것입니다.
고양이를 뒤에서 보면 어떤 모습일까요? 아마도 정면에서 본 모습과는 몇 가지 차이가 생길 것입니다. 예컨대, 고양이의 뒷모습에서는 눈, 코, 입, 수염 등을 찾아볼 수 없습니다. 관점의 변화는 이미지의 변화를 불러옵니다.
2. 명암의 차이(Illumination)
극적인 명암대비
어둠 속에서 사물을 구분하는 것은 인간에게도 쉽지 않은 일입니다. 이것은 컴퓨터도 마찬가지 입니다. 이미지를 구성하는 배열 중 하나의 축이 색(RGB)인 것을 고려하면, 명암의 대비는 이미지 분류에 적지 않은 영향을 줄 것임을 추론해 볼 수 있습니다.
3. 형태의 변형(Deformation)
같은 사물이라도, 여러 형태로 변형될 수 있다.
강체(형태가 변하지 않는 물체)가 아닌 이상, 사물은 다양한 형태로 변형될 수 있습니다. 이 경우 이미지 분류에 어려움이 생깁니다.
4. 가림(Occlusion)
사물의 일부분만 보인다면?
가려진 물체를 보는 일은 우리에게도 집중력이 요구되는 일입니다. 물체가 가려지는 경우, 가려진 부분은 물체와 상관없는 배열로 채워지기 때문에 이미지 분류에 어려움이 생깁니다.
5. 배경과 구분이 어려운 경우(Background Clutter)
배경과의 구분이 어렵다.
사물이 배경과의 구분이 어려운 경우, 컴퓨터는 배경의 배열과 사물의 배열을 혼동할 것입니다.
6. 같은 종류의 사물 간의 분류(Intraclass Variation)
모두 고양이로 분류되지만, 이들은 서로 다르다.
종류는 같지만 물체의 형태나 색 등에서 차이가 발생하는 경우는 어떨까요? 위의 고양이들은 서로 다르지만 모두 '고양이'로 분류됩니다. 고양이를 고양이라고 분류할 수 있는 명확한 기준을 내리기 애매하기 때문에 이러한 분류에는 종합적인 판단이 필요합니다. 예컨데, 귀는 쫑긋한가? 부드러운 털이 있는가? 고양이 눈을 가지고 있는가? 등이 있겠네요. 그러나 이러한 사고 과정은 컴퓨터에게 어려운 일입니다.
오늘은 컴퓨터가 이미지를 분류하는 기초 원리에 대해서 알아보았습니다. 컴퓨터에게 이미지 분류를 학습시키는 것은 어려운 일이지만 그럼에도 불구하고 이러한 시도는 계속되고 있습니다. 다음 포스팅에서는 이와 관련된 더 자세한 방법에 대해서 다뤄보도록 하겠습니다.