본문 바로가기

반응형

개발자

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 : 물체의 위치 예측.. 더보기
[Tracking] 딥러닝 DNN 기반 트래킹 정리(1편 SORT 알고리즘) [Background] Tracking-by-Detection 논문에 대해 살펴보기 전에 tracking이 이루어지는 단계를 살펴보자. 여러가지 물체를 한 카메라에서 동시에 추적하는 Multiple object Tracking(MOT) 문제에서 tracking-by-detection 방식이 가장 흔히 사용되고 있는 방식이다. tracking-by-detection 방식이란?object detection 단계는 흔히 활용되는 yolo나 centerNet등이 사용된다. data association 단계는 detection에서 찾은 object들이 이전의 frame의 object와 같은 object인지 찾는 단계이다. SORT가 대표적인 IOU 방식 기반의 data association 알고리즘이다. 그림에.. 더보기
Unit test C++ gtest gtest란? Google Test Framework로 유닛 테스트에 사용됨. Google Test는 Google의 특정 요구사항 및 제약사항을 기반으로 테스트 기술팀에서 개발한 Testing 프레임워크임. gtest Git 링크 https://github.com/google/googletest 컴파일러 C ++ 11 표준 이상을 준수하는 코드베이스 및 컴파일러가 필요함. gcc 5.0 이상 clang 5.0 이상 MSVC 2015+ 사용 가능 OS Linux, Windows, Mac 왜 Google Test를 사용해야 하나? 1. 테스트는 독립적이고 반복가능해야 합니다. gtest는 디버깅을 빠르게 할 수 있도록 테스트를 분리시켜 실행할 수 있도록 해 줌. 2. 테스트는 조직화가 잘 되어있으며 테스트되.. 더보기