목록인공지능 (45)
juuuding

💡#include OpenCV의 기본 API를 포함하는 헤더 파일. core, highgui, imgproc, calib3d, features2d 다양한 모듈을 한 번에 불러올 수 있다. 이 헤더 파일로 주요 OpenCV 기능을 쉽게 사용 가능하다. - core: OpenCV의 핵심 기능. 기본 데이터 구조, 행렬 연산 등을 포함함. 예를 들어, cv::Mat, cv::Scalar, cv::Size 등. - highgui: GUI 및 이미지/비디오 입출력을 위한 모듈. 예를 들어. cv::imshow(), cv::waitKey(), cv::imread() 등. - imgproc: 필터링, 엣지 검출, 모폴로지 연산 등 이미지를 처리하는 기능. cv::cvtColor(), cv::GaussianB..

💡Image quality Image quaity는 이미지가 sharp 하고 detail 한 정도를 의미한다. sharp한 정도는 spatial resolution(해상도)로 판별하고, detail한 정도는 intensity quantization으로 판별한다. 이해하기 쉽게 생각하자면 한 이미지를 얼마나 많은 픽셀로 촘촘히 나누는지에 따라 sharp한 정도가 정해지고, 이 픽셀에 얼마나 다양한 intensity 값이 들어갈 수 있는지로 정해진다. spatial resolution 값을 낮추게 되면 같은 이미지를 적은 픽셀로 표현하기 때문에 사진이 흐릿하게 보인다. 그와 달리 intenstity quantization을 낮추면 흐릿해지기보다는 좀 더 색감이 자연스럽지 못하고 디테일이 떨어져 보이게 된다..

💡 Image이미지는 2차원 좌표를 가진 함수로 표현 할 수 있다. 이미지 중 grayscale 이미지는 1개의 채널을 가진 1D 스칼라로 가능하고, color image는 3개의 RGB 채널을 가진 3D 벡터로 표현 가능하다. 여기서 각 채널의 범위는 모두 0~255(정규화 한다면 0~1)다. x,y 좌표를 가진 이미지에 시간적 정보가 있으면 비디오를 표현할 수 있고, 시간 대신 z축 좌표를 추가하면 3차원 객체 표현이 가능하다. 만약 이 둘을 모두 합쳐 x,y,z 좌표에 시간적 정보를 포함한다면 움직이는 영상 3차원 객체를 표현할 수 있다. 실제 세계의 밝기는 continous한 값을 가지지만, 이 실제 세계를 컴퓨터 안 이미지로 표현하기 위해서는 0~255(or 0~1)로 quantized 해야한..

💡컴퓨터 비전이란 무엇일까?A field that includes methods for acquiring, processing, analyzing, an understanding images, as the human being does.인간이 하는 것처럼 이미지를 얻고, 처리하고 분석하고 이해하는 방법을 포함하는 분야 컴퓨터 비전은 visual AI라고도 한다. 사람이 눈으로 한 장면을 보고 뇌에서 이 장면에 대해 해석을 한다면, 컴퓨터 비전은 카메라로 장면을 얻고 그 장면을 컴퓨터로 처리해서 해석을 하는 것이다.이 사진을 볼 때 우리는 이게 에펠탑이라는 것을 알지만, 컴퓨터는 그저 각 픽셀에 저장된 RGB이 값에 대한 정보를 알고 있다. 그러면 여기서 컴퓨터가 이게 에펠탑이라는 것을 알게 하려면 어떻..

이번 주제에서는 컴퓨터 비전의 "이미지 분류, 객체 감지, 신경 스타일 전이" 등의 문제를 해결해나갈 것이다. 컴퓨터 비전의 가장 큰 걸림돌은 입력의 크기가 아주 크다는 것이다. 예를 들어 64크기의 컬러 이미지가 입력으로 들어온다고 하면 64*64*3의 크기가 입력으로 들어온다. 이러한 걸림돌을 가진 문제들을 해결하기 위해서는 컨볼루션 연산을 잘 구현해야한다. Edge detection example 예시로 이미지에서 수직 엣지를 감지하는 것에 대한 컨볼루션 연산을 해보겠다. 여기서는 6x6 grayscale 이미지에 3x3 필터로 연산을 하여 4x4 행렬을 생성된다. 입력 이미지를 보면 왼쪽에 수직 경계선이 있는데, 이 수직 경계선을 찾아내기 위해 수직 경계를 가진 필터를 적용하였다. 그 결..

Hyperparameter tuning Tuning Process 하이퍼파라미터는 중요도에 따라서 튜닝을 진행해주어야 한다. 아래는 하이퍼파라미터 별 중요도 순으로 나열한 목록이다. ① learning rate② momentum(0.9), #hidden units, mini-batch size③ #layers, learning rate decay④ Adam: beta1(0.9), beta2(0.999), epsilon(10^-8) 이제 이 하이퍼파라미터들을 선택하는 방법에 대해 알아보자. 하이퍼파라미터를 탐색하는 방법에는 그리드, 랜덤 탐색이 있다. 결론적으로 랜덤 탐색을 사용하는 것이 좋은데, 그 이유는 여러 하이퍼파라미터 중 어떤 것이 중요한지 모르기 때문이다. 참고로 하이퍼파라미터 수가 적을..
cs231n 전체 내용 정리 필기본

Mini-batch gradient descent mini-batch란 총 m개의 훈련 예제가 있다고 가정했을 때 일정한 크기(n)로 훈련 예제를 나누어서 여러 개의 부분으로 나누어 놓은 것을 의미한다. 예를 들어 100000개의 훈련 예제가 있다고 가정했을 때 미니 배치의 크기를 1000으로 설정하면 100개의 서로 다른 미니 배치가 생긴다. 이러한 미니 배치를 가지고 경사 하강을 하는 것을 "mini-batch gradient descent"라고 한다. 반대로 batch gradient descent가 있는데 이것은 모든 훈련 예제를 가지고 동시에 경사 하강을 진행하는 방식이다. 즉 이제까지 하던 경사하강 방식이다. mini-batch gradient descent는 각 배치를 벡터화시켜 경사 하..