"빠른" 이미지 검색 원리에 대한 생각
1.
이미지를 의미있는 정보로 바꾸기 위해 여러가지 방법들이 쓰이는데, 보통 외곽선 정보와 색상의 배치 정보를 많이 사용할 것이다.
하나의 이미지를 전달해 주면 의미가 있는 지점을 여러군데 찾아서 숫자 매트릭스로 바꿔서 저장해 놓고 이를 특징점(Feature)이라 말한다.
그리고 다른 이미지에서도 동일한 작업으로 특징점을 골라내고 이 특징점들을 비교해서 비슷한 배치와 색상을 보이는 점들을 1:1로 매치시켰을 때 얼마나 많이 겹치는가 하는 정도에 따라 일치 여부나 포함 여부를 구분하게 된다.
매치되는 비율을 적절히 조절하면 완전히 일치되는 이미지 말고 그저 비슷한 이미지도 골라낼 수 있다.
이 때 컴퓨터 비전에서는 보통 이미지 크기에 구애받지 않는 알고리즘을 주로 사용하는데, 이용 목적에 따라서 매우 많은 종류의 다양한 알고리즘이 있지만 가장 많이 활용되는 알고리즘으로 SIFT라는 알고리즘이 있다.
2.
그런데 이런 특징점을 찾아내는 작업 조차도 어쩌면 부담스러운 작업이 될 수도 있다.
하물며 구글 같은 곳의 로봇이 긁어낸 데이터 양이라던지, 내가 요즘 계속 생각하고 있는 "이 사진은 어느 동영상에서 나온 장면일까?"를 위해 동영상을 프레임별로 잘라낸다 치면, 그 이미지 양이 어마무시해지기 때문에...
이럴 때는 이미지 데이터를 위에서와 마찬가지로 역시 일련의 숫자 matrix로 변형시킨 다음에, LDA를 진행하는 것이다. 여기에서 비슷한 색상은 비슷한 값을 주는 작업이 전제되어야 한다.
하여튼, LDA를 이용하면 한 이미지 안에서 유사한 색상들끼리의 값을 구분한 구분선 gn(x)이 만들어진다. 이 gn(x)들만 가지고 동질성 검정을 진행한다면 아무래도 matrix 연산만 이리저리 빡세게 굴리는 것 보다는 빠른 연산을 할 수 있게 된다.
쉽게 얘기해서 nxn 매트릭스끼리의 연산을 빡세게 굴리기보단, nx1 데이터끼리의 연산을 하자는 얘기다.
정확도는 어떨지 잘 모르겠다. 이거 논문거리일 것 같다.
'다이어리 > 다이어리' 카테고리의 다른 글
니들도 자신감을 가졌으면 좋겠다. (0) | 2015.03.28 |
---|---|
근데 그 때 쯤 이걸 누릴 기술자들은 아직 안태어났거나 초딩이거나... (0) | 2015.03.28 |
좌표 얘기를 꺼냈기에 말인데 (0) | 2015.03.27 |
네트워크 이론 (0) | 2015.03.27 |
솔직히 좀 많이 시시하다. (0) | 2015.03.26 |
박근혜 대통령의 오른쪽 눈 RGB 색상을 캡쳐한 후, 그의 움직임을 일정 시점마다 따라가기 (0) | 2015.03.25 |
요즘 내 코딩 습관에, 원래 없던 다음과 같은 것들이 생겼다. (0) | 2015.03.25 |
딥 러닝과 베이지안 네트워크의 차이 (0) | 2015.03.25 |
점점 자기 방어 기제가 늘어난다. (0) | 2015.03.25 |
내가 짠 코드와 알고리즘이 더 훌륭하다는 칭찬을 들었당. (0) | 2015.03.24 |