전체 글
본 포스팅은 충남대 고영준 교수님의 강의자료를 바탕으로 작성한 글입니다. 객체탐지에서 input은 RGB image이고,output은 탐지된 객체들이다. 카테고리 라벨과 바운딩 박스를 포함한!그리고 더 많은 탐지를 위해서는 더 높은 해상도가 필요하다. (작은 객체도 탐지하려면!) Single objectfeature vector를 추출하는 구조를 backbone이라고 할 것이다. What 카테고리 라벨backbone을 통과한 후 벡터 형태의 출력을 linear layer를 통과시켜 class 개수만큼의 차원으로 이루어진 출력을 낸다.뭐 예를 들어.. Cat:0.9 Dog:0.05 Car:0.001 이런식으로 나올 것이다.그럼 Correct label인 Cat과 비교해 Softmax Loss를 계산하여 모..
본 포스팅은 충남대 고영준 교수님의 강의자료를 바탕으로 작성한 글입니다.AttentionAttention에서는 query, key, value가 필수이다.일단 key와 value는 pair한 관계이다. attention은 우리가 어디에 집중해야할지를 알려준다. 그럼 그 가중치는 어떻게 구할까?v의 중요도인 a를 계산하기 위해 우리는 v의 짝인 k를 사용한다.input(query)와 key의 유사도에 기반해서, key가 query에 더 유사할 수록, attention 가중치는 커진다.그럼 q와 k의 유사도를 고려하면 되는 것! 그럼 저 유사도는 어떻게 결정할까?우린 저 둘의 내적을 계산한다.이걸 기억하면 두 벡터의 방향이 비슷할 수록 내적이 커진다는 사실을 인지할 수 있다. 그럼 이제 attention s..
본 포스팅은 충남대 고영준 교수님의 강의자료를 바탕으로 작성한 글입니다. 2024.06.16 - [AI/컴퓨터비전] - image warping 이거랑 비슷Image Stitching1. 각 이미지의 feature point 찾기!2. 서로 맞는 pair 찾기!3. 그걸 이용해 이미지 붙이기! 1, 2번은 이미 다룬 내용이니까 pass하고, 이제 3번을 할 것이다.image1에 image2를 붙이려 할 때, img1의 새로운 픽셀에서는 img2의 알맞은 위치를 찾아 그 픽셀값을 가져오면 된다. Forward warping1. 두 이미지간 쌍을 충분히 찾는다.2. 변환 파라미터를 찾는다3. 첫 이미지의 f(x, y)를 두 번째 이미지의 해당 위치로 보낸다.근데 여기서 3번 과정에서 문제가 생긴다.내가 픽셀..
본 포스팅은 충남대 고영준 교수님의 강의자료를 바탕으로 작성한 글입니다.2024.11.25 - [AI/영상처리] - Feature Matching그럼 앞의 글에서 우린 feature 매칭을 했고, 이미지의 변환을 봤다.이제 이미지를 어떻게 변환시켜 연결할지를 생각해야 한다. I1를 I2에 이어붙이기 위해서, 사진 두 개만 가지고 내가 scaling을 얼마나 해야 하는지, translation을 얼마나 해야 하는지를 알아낼 수는 없다.근데 잘 생각해보자. 우린 이미 feature matching이 끝난 상태이다.즉, x'=Mx에서 x'와 x는 이미 아는 상태란 말이다.그럼 이를 이용해 M을 구하면, x가 어떤 변형을 통해 x'가 되는지 알 수 있을 것이다. 뭐야 그럼 M = x'(x)^(-1)이네! 라고 ..
Scale-invariance corner detection위치와 규모 모두에서 지역 최대값을 찾는 방법이다.corner를 찾을 때, 만약 사진이 확대 또는 축소돼있다면..?아래 그림과 같이, 코너를 넓은 공간에서 찾아야 하는지, 좁은 공간에서 찾아야 하는지가 달라진다. LoG filter는 이렇게 생겼는데, original에 이를 적용시키면 아래 그림과 같이 된다. Laplacian유한한 뺄셈을 이용해서 1차 도함수 필터처럼 도출할 수 있다.이런 식으로 말이다. 위는 1차 도함수, 밑은 2차 도함수를 필터로 나타내본 것이다. Image에서는 이렇게 벡터 형태의 필터가 아니라, n*n 형태의 필터를 주로 사용하는데, 이는 아래와 같다.Laplacian 필터이다.f를 x^2로 편미분한 것은 y에는 영향을..
Image classification이미지 분류가 어려운 이유는,일단 컴퓨터에게는 이미지가 각 픽셀이 숫자로 보이고,이미지 자체도 어느 방향에서 찍느냐에 따라 다른 이미지처럼 보이기 때문이다.아니면 뭐 픽셀값이 배경과 유사해서 객체가 눈에 띄지 않는다거나, 배경에 가려질 수도 있다.아니면 객체가 서있든 누워있든 자세가 변형되고, 특이한 모양의 객체가 있고, 같은 객체여도 품종이 다르고,배경에 의해 다르게 인식되고(창틀의 그림자에 의해 개가 호랑이로 인식).. 등등의 문제가 있다. 우리는 그래서 이미지 분류를 위해 박스를 만든다. 이미지에 박스를 쳐서 그 박스가 배경에 해당하는지, 사람에 해당하는지.. 등등을 따진다.그리고 captioning을 하는데, 이건 그 이미지를 언어로 표현한다고 생각하면 된다.예..
Collaborative Filtering항목의 내용 기반 특성을 사용하지 않고, 유사한 사용자를 찾아 그들의 선호템을 추천하는 방식 사용자 x와, 그가 사용하지 않은 항목 i를 생각해보자.1. x와 '비슷한' 평점을 가진 사용자 N 집합을 찾는다.2. i에 대한 N의 평점을 기반으로 x의 i에 대한 평점을 추정한다. 그럼 저 N을 찾으려면 어떻게 해야 하느냐,사용자의 행을 유틸리티 행렬에서 가져와 비교 후,행 벡터의 유사성으로 사용자간 유사성을 판별 유사도는 또 어떻게 측정하느냐 하면, 사용자들의 평점 벡터 rx와 ry를 활용하는데, 이들의 코사인 유사도를 사용한다.공식은 아래와 같고, 작은 각도가 나오면 선호도가 비슷하단 얘기. 근데 직관적이진 않다.뭐가 직관적이지 않냐면, 결측값 처리나 사용자의 개..