딥러닝으로 할 수 있는 영상분석은 참으로 많습니다.
특정 인물의 얼굴을 인지하고 행동 패턴을 인지하여 신분증처럼 identity 로 사용될 수도 있고
반대로 가짜 인물에게 얼굴과 행동 패턴을 주어 특정 인물로 인지되도록 할 수 도 있습니다.
하지만 항상 이러한 딥러닝 영상분석의 가장 첫단추는 의외로 이미지 분류 (Image Classification) 입니다.
그리고 (2017~2019년까지 보았을때) 딥러닝을 적용하고 싶은 대부분의 개발자들이 원하는 기능은 사물 인식 (Object Detection) 입니다.
마지막으로 딥러닝 사물 인식을 원하는 분야에서 여력이 있다면 한번 쯤은 도입해보고자 하는 궁극의 분석 방법은 이미지 세그멘테이션인 듯 합니다. (image segmentation)
1-1 이미지 분류 (Image Classification)
이미지 분류는 가장 간단히 얘기하면 고양이 이미지 input 에 대하여 딥러닝을 이용하여 특징을 추출한 값을 확률적으로 나타내었을 때 고양이의 수치가 가장 높게 나오도록 하는 것입니다.
만약 고양이의 수치가 아닌 개구리의 수치가 높게 나온다면 어떻게 해야할까 우려가 되겠지만
딥러닝이라는 것은 학습의 과정이 필수적인 알고리즘입니다.
즉, 처음에는 당연히 고양이의 수치가 높게 나오지 않는데, 많은 데이터를 학습하는 동안 고양이의 수치가 높게 나오도록 가중치를 최적화시키면 문제가 해결됩니다.
그래서 이미지 분류의 목적은 무엇이라고요?
네 어떤 사물이 있는 이미지를 주었을때 그 이미지가 어떤 사물인지 분류를 해내는 것입니다.
1-2 사물 인식 (Object Detection) & 1-3 Image Segmentation
사물 인식 (Object Detection)은 대체로 특정 대상의 사물을 객체별로 인식하여 그 위치를 좌표와 높이 너비로 이루어진 Bounding Box 로 나타내는 것을 말합니다. 사실은 사물 인식은 아래 그림의 오른쪽과 같이 이미지 세그멘테이션으로도 가능합니다만, 일반적으로 사물 인식을 말할 때 사물 인식은 아래 그림의 왼쪽과 같이 Bounding Box 로 나타냅니다.
사물 인식이라는 프로세싱 리소스 자체가 나름 많이 소요되는 기능인데 픽셀 단위까지 계산해야하는 이미지 세그멘테이션보다는 Bounding Box 형태로 나타내는 편이 훨씬 효율적이라 결국 대체로 사물인식이라고 하면 왼쪽 그림을 떠올리게 되어버린 것 같습니다.
사물 인식과 이미지 분류와의 가장 큰 차이점은 사물인식의 결과에는 객체별 location 이 있다는 것입니다.
이를테면 이미지 분류는 아래 왼쪽 그림처럼 "이 이미지의 사물은 cat 일 확률이 90%" 라는 것이 결과이며,
사물 인식은 아래 오른쪽 그림처럼 이 이미지에 있는 사물은 cat 이며 위치 좌표가 x, y, dx, dy 인데 이에 대한 신뢰도는 56% 라는 것이 결과이다. 물론 cat 이 여럿이라면 객체마다 이러한 결과가 나오게 됩니다.
이미지 세그멘테이션은 이러한 좌표 대신 타겟 객체가 감지되는 모든 픽셀들을 지정된 색깔로 지정해서 나타내도록 합니다. 혹은 반대로 타겟 객체 외에 나머지 영역을 FreeSpace 로 나타내기도 합니다.
이 포스트에서는 딥러닝의 대표적인 3가지 영상분석 방법을 소개하는 것이 목적이니 여기까지 얘기하도록 하겠습니다.
'AI시작' 카테고리의 다른 글
2-2 Loss Function (0) | 2019.09.02 |
---|---|
3-4. MNIST 분석 (0) | 2019.09.02 |
3-3 활성화 함수 (0) | 2019.08.19 |
내가 보려고 정리한 AI 용어와 개념 설명 (0) | 2019.08.19 |
잠시 KNN, k-최근접 이웃 알고리즘 (0) | 2019.08.19 |