본문 바로가기

반응형

개발자/Computer Vision

Libcbdetect Calibration 함수 분석 #1 image_normalization_and_gradients함수는 입력 이미지(img)를 정규화하고, 이미지의 x, y 방향 미분(gradient), 각도(angle), 그리고 gradient의 크기(weight)를 계산하는 함수입니다. 주요 동작은 다음과 같습니다:주요 동작 요약이미지 정규화 (Normalization)params.norm이 true일 경우, 박스 필터(box_filter)로 이미지를 블러링한 후 원본 이미지에서 빼서 정규화합니다.정규화된 이미지는 특정 범위로 스케일링됩니다.Sobel 마스크 생성x, y 방향의 Sobel 마스크(du, dv)를 생성합니다.이미지 미분 계산cv::filter2D를 사용해 x, y 방향의 미분(img_du, img_dv)을 계산합니다.각도 및 크기 계산각도.. 더보기
Dense Optical flow by block matching Block Matching 알고리즘을 사용하여 Dense Optical Flow를 계산하면서, 가우시안 피라미드(Gaussian Pyramid)를 5 레벨로 구성하여 성능을 개선하는 방법을 구현할 수 있습니다. 가우시안 피라미드는 이미지의 여러 레벨에서의 흐름을 계산하여 보다 정확한 Optical Flow를 추정하는 데 도움이 됩니다.아래는 Block Matching 방법을 사용하여 Dense Optical Flow를 계산하고, 가우시안 피라미드를 5 레벨로 구성하는 Python 코드입니다. OpenCV의 cv2.calcOpticalFlowBM을 사용하여 각 피라미드 레벨에서 Optical Flow를 계산한 후, 상위 레벨로의 흐름을 보간하여 최종 Optical Flow를 생성합니다.### **Pytho.. 더보기
Camera Geometry #0(Calibration) 카메라 캘리브레이션 본글은 다크프로그래머에서, 발췌한 것임을 미리 밝힙니다. 1. 캘리브레이션 개요 카메라 영상은 3차원 공간상의 점들을 2차원 이미지 평면에 투사(perspective projection)함으로써 얻어집니다. 핀홀(pinhole) 카메라 모델에서 이러한 변환 관계는 다음과 같이 모델링됩니다. (1) 여기서, (X,Y,Z)는 월드 좌표계(world coordinate system) 상의 3D 점의 좌표, [R|t]는 월드 좌표계를 카메라 좌표계로 변환시키기 위한 회전/이동변환 행렬이며 A는 intrinsic camera matrix입니다. 그림 2. 카메라 좌표계 수식적으로 보면 카메라 캘리브레이션(camera calibration)은 위와 같은 3D 공간좌표와 2D 영상좌표 사이의 변환.. 더보기
[Tracking] 딥러닝 DNN 기반 트래킹 정리(2편 DeepSORT 알고리즘) - 작성중 DeepSORT는 tracking을 진행할 때, Re-id (Association) 단계에서 사용되는 알고리즘이다. 본 논문은 2017년에 IEEE International Conference on Image Processing (ICIP)에 발표된 논문이다. DeepSORT의 구조와 작동 원리 우선 DeepSORT의 전반적인 모델 구조 SORT With Deep Association Metric 그렇다면 제안된 방식을 보다 자세히 살펴보자. 우선 DeepSORT는 SORT알고리즘의 Kalman filtering 방식과 frame-by-frame으로 data association을 진행하던 기존의 방식을 유지한다. 1. Track Handling and State Estimation : 물체의 위치 예측.. 더보기