기본적인 전제는 동영상이 한 프레임에서 다음 프레임으로 넘어갈 때 pixel intensity 가 빠르게 변하지 않는다는 것이다. 그렇기에 물론 지나치게 빠르게 이동하는 물체는 잡아내기 힘들다. 사실 지나칠 것까지도 없고 슝- 하는 정도기만 해도 못잡지만... 그러므로 기본 등식을 다음과 같이 쓸 수 있다. I(x, y, t) = I(x + dx, y + dy, t + dt) 시간에 따라 x, y 좌표가 살짝씩 움직여도 intensity 즉 명도에는 차이가 없다는 뜻이다. 우변을 테일러 전개로 풀어주면 다음과 같이 된다. I(x + dx, y + dy, t + dt) = I(x) + dx* dI/dx +I(y) + dy * dI/dy + I(z) + dt* dI/dt 그러면 좌변에서 소거해 줄 수 있고, 남는 식은 이것 뿐이다. dx* dI/dx + dy* dI/dy + dt* dI/dt = 0 좌변을 dt로 나누고 Intensity function I 의 dI/dx, dI/dy, dI/dt를 알아보기 쉽게 f_x, f_y, f_t로 바꿔주자(진작부터 f로 할걸...) dx/dt *f_x + dy/dt * f_y + f_t = 0 마지막으로 dx/dt, dy/dt를 u, v로 치환해주면 optical flow equation 완성! u*f_x + v*f_y + f_t = 0 여기서 f_x와 f_y는 한 프레임 내에서 이미지의 명도가 어떻게 변하는지 확인하면 구할 수 있는 변수이고, f_t 역시 프레임이 다음 프레임으로 넘어갈 때 명도가 어떻게 변하는지 확인하면 구할 수 있다. 그러므로 총 미지수는 u, v 로 두 개이다. u와 v는 x,y가 시간에 따라 어떻게 변하는지에 대한 변수이므로, '속도'라고 보면 되겠지? 어쨌든 변수는 두 개, 방정식은 하나이므로 식을 하나 더 만들어야 한다. 그건 Lucas Kanade Method를 사용해서 세워줄 수 있다. 3x3 행렬을 사용하여 픽셀의...
점심을 유가네에서 먹게 되었다. Sha Tin 이라는, 학교에서는 조금 떨어져있는 곳에 커다란 쇼핑몰이 있는데 그곳에 유가네도 있었다. 한국에 있을 때는 비싸고 양도 적어 잘 가지도 않던 유가네였는데 이곳 매장에 들어서면서 점원들이 서툰 한국말로 "반갑습니다 유가네입니다~" 뇌까리는 모습이 너무나도 반가웠다. 친구가 점심에 가면 무한리필에 88HKD 라고 하기에 가게 된 유가네였다. 하도 홍콩식 계산법에 치인 터라 88달러라는 사실을 믿지 않고 갔다만, 정말 맛있었다. 닭갈비의 양도 한국보다는 많다고 느껴졌다. 닭갈비가 아니라 밑반찬이 무한리필로 나온다는 점은 허를 찔렸지만 이조차도 맛있었다. 별다른 밑반찬은 아니고 일반 보리밥 뷔페에 가서 흔히 볼 수 있는 무한리필 반찬등이었다. 불고기, 잡채 등등...그런데 정말 먹으면서도 웃음이 터져나올만큼 맛있었다. 김치를 계속 먹을 수 있다는 사실만으로도 좋았다. 가족들이 조금 더 여행을 하고 오라는 권유를 했지만 타지에서 더머물고 있는다면 정말 건강까지 나빠질 것만 같은 생각이 들 정도로 한식이 그립다. 여기 음식들은 마늘이 잘 안들어가는 것 같다. 한국에서는 컵라면에도 다진 마늘을 넣으면 맛있다는 것을 알 정도였는데. 여기음식들은 그래서인지 감칠맛이 좀 떨어진다. 달면 달고, 짜면 짜고. 마늘향보다는, 우리 표현대로 돼지 비린내를 더 좋아하는 듯하다. 결국 1인당 100HKD씩을 내고 식당을 나섰다. 후식겸 해서 뷔페식 조각케익까지 준비되어 있었으니 한화 15000원도 그렇게 아까운 편은 아니라는 생각이 들었다. 커다란 쇼핑몰안에 있는 만큼 쇼핑을 하러 나섰지만 내가 뭘 사게 될거라는 생각은 하지 않았다. 절대적으로 가성비를 따지는 나는 현대의 쇼핑에는 맞지 않는다고 생각되었다. 홍콩에 들고 온 옷 중에서 내가 산 것이라고는 2년 전에 군대에 있을 때 샀던 농부컨셉 황토바지 뿐이다. 일단 쇼핑몰이니 걸어댕기기나 해야겠다는 생각만 하고 있었다. ...
python 을 기반으로 하는 딥러닝은 지금까지 수박겉핥기 식으로 느꼈던 이유가 왠지 python-numpy 를 모르기 때문이라는 생각이 든다. 하루키 원서를 빌려다가 번역판 책과 비교해 가며 마음에 드는 구절을 하나하나 베껴서 공책에 써본들 일본어가 생경하게 느껴지는 이유와 똑같을라나. cs231n의 두 번째 강좌에서도 이런 점을 저어하였는지, 한 세 가지 사례를 보여주면서 python-numpy를 따로 공부해야 하는지를 확인하라고 했다. 그 중 하나만 예를 들자면 (난 어차피 하나도 몰랐다) Ypred[i] = self.ytr[min_index] 가장 가까운 example의 label을 예측하라는 문구라는데, 뭐 하나하나 따지고 보면 아, 역시 그랬군, 할 지도 모른다. 하지만 역시 생경하다. 이런 사람들은 python numpy tutoial 을 공부하는게 좋을 듯 하다. 수강생이 많은 만큼 친절하게 잘 짜여져 있을 것을 기대해 본다.
댓글
댓글 쓰기