얼굴 인식에 대한 이해 4

얼굴 인식을 이해하고 서비스를 만드는 방법 (3)

1. 인공지능을 만들 거면 뭐부터 해야 돼요?인공지능을 만들기 위해서는 인공지능이 해결할 문제를 명확히 정의하는 것이 첫 단계이다. 예를 들면 고양이와 개를 구분하는 모델을 만들겠다는 구체적인 목표가 필요하다! 왜냐하면 문제를 정의함에 따라 프로젝트의 목표와 상황이 달라지기 때문이다! 문제 정의와 데이터가 명확하다면 데이터셋이 우선이며, 모델 중심의 연구나 실험적 접근이 필요할 때는 모델 설정이 먼저일 수 있다. 모델 중심 연구는 여기서는 다루지 않고 문제 정의가 명확한 경우부터 생각해보자. 문제가 명확히 정해진 경우라면 그 유형에 따른 Dataset과 모델 학습 과정이 따로 있다. 예시와 함께 살펴보자 - 문제 해결 유형에 따른 데이터셋의 예시Classification(분류) 문제개나 고양이 사진을 보..

얼굴 인식을 이해하고 서비스를 만드는 방법 (2)

위 블로그에 파이썬을 정리한 글을 참고하고 보면 좋다. 1. PyTorch에 대해 살펴보자Facebook(현 Meta)의 AI Research 팀(FAIR) 이 개발한 딥러닝 프레임워크(Deep Learning Framework)다. 몇 년 전까지만 해도 Google이 개발한 TensorFlow 또한 머신러닝과 딥러닝을 위한 프레임워크로 쓰였으나 PyTorch가 배우고 사용하기가 쉬워서 PyTorch가 더 많이 쓰인다. 또한 Dynamic Graph(동적 그래프)를 사용하며 많은 최신 연구 논문이 PyTorch 기반으로 작성되고 연구 커뮤니티에서 활발히 사용되고 있다. TensorFlow는 제한적인 영역에서 쓰이게 된다. 모바일이나 배포에 강점이 있는 TFLite와 같은 도구를 통해 특정 영역에서 유용하..

컨볼루션(Convolusion)이란?

[위 글은 "3Blue1Brown"의 "그런데 컨볼루션이란 무엇입니까?"를 참고하여 제작하였다] 두 개의 다른 숫자 목록(혹은 두 개의 함수)을 결합하여 새로운 숫자 목록(혹은 새로운 함수)을 생성하기 위해서는 어떤 방법이 있을까? 더하기, 곱하기 등 다양하게 있지만 오늘은 컨볼루션(Convolusion)이라는 연산에 대해 알아보며 어떻게 활용되는지를 알아보자. 컨볼루션 자체는 단순한 연산이지만 이 연산을 활용하여 다양한 작업과 응용 분야에서 중요한 역할을 한다.  컨볼루션은 이미지 처리에 흔히 쓰이며 확률론의 핵심 구조이며, 미분 방정식을 푸는 데 많이 사용된다.  일단 확률론을 통해 컨볼루션이 이루어지는 과정을 시각적으로 이해해보자. 1. Convolusion 연산의 시각적 이해컨볼루션은 확률론에서 ..

얼굴 인식을 이해하고 서비스를 만드는 방법 (1)

인공지능은 이미지를 어떻게 인식하는가?1. 컴퓨터가 이미지를 숫자로 이해한다.컴퓨터는 이미지를 픽셀 단위로 처리한다. 각 픽셀은 색상 정보를 숫자로 표현한다.*픽셀(Pixel)*이미지를 구성하는 최소 단위이며 UHD 4K TV의 경우 화면 가로 3,840개 세로 2,160개인 총 830만 개의 픽셀로 이루어져 있다. *그리드(Grid)* 영어로는 '격자 형식의 무늬'라는 뜻으로 행과 열로 구성된 2차원 배열을 의미한다. 즉, 이미지는 픽셀들이 행과 열로 배열된 2차원 구조인 그리드 구조로 구성된다. 이미지는 이러한 2차원 배열 형태로 표현된다. 이미지는 일반적으로 픽셀의 그리드로 구성된다. 각 픽셀은 다양한 형태로 표현될 수 있고 이미지의 용도와 필요에 따라 적절한 값을 갖는다. (ex. 그리이스케일 이..