전체 글 64

SLAM(simultaneous localization and mapping)

제가 아는 선에서 정리하다보니 내용이 많이 부족합니다... ㅎㅎ 그냥 참고만 부탁드립니다. SLAM이란? : 우리가 눈으로 보는 3차원 공간에서 로봇(차량 등)이 이동하면서 주변을 탐색할 때, 로봇이 위치한 공간의 지도(map)를 그려줌과 동시에 현재 로봇의 위치를 추정하는 방법. 주로 Depth Camera 또는 Lidar 센서를 이용해 주변의 환경 지도를 작성함과 동시에 2차원or 3차원 상의 위치를 추정합니다. 카메라 또는 센서의 위치를 2차원 평면상에 투영하여 visualize 카메라 또는 센서의 위치를 3차원 상에 visualize Lidar를 이용한 SLAM : 자율주행 차량에서 주로 사용되는 방법이며 아래와 같은 순서로 동작됩니다. 1. Lidar를 이용해 3차원 point cloud 데이터..

카테고리 없음 2022.04.21

[window10] 작업 스케줄러와 배치파일 이용해 일정시간마다 프로그램 자동 실행시키기

이번에 데이터수집 과정에서 일정시간마다 카메라를 동작하고 캡쳐해서 서버에 보내주는 프로그램을 task를 짜야했다. 지난번 배치파일을 이용해 파이썬 파일을 실행하는 동작을 진행하였었는데 이를 이용하면 간단하게 일정시간마다 프로그램을 자동으로 실행시킬 수 있다(with window 작업스케줄러). 순서는 다음과 같다. 1. 파이썬 코드를 실행시켜주는 배치파일 만들기(아래 링크 참조) https://dohyeon.tistory.com/22?category=1016127 [windows10] 배치파일을 이용하여 파이썬 파일 실행하기 1. 메모장을 연다. 2. 아나콘다 가상환경 상에서 python file을 실행하기 위해 아래와 같이 작성한다. call /Scripts/activate.bat call conda ..

기본기/OS 2022.04.03

전동킥보드 헬맷 미착용 단속 시스템 개발(1)

연구목표 Computer Vision Object Detection 기술을 활용한 전동킥보드 헬맷 미착용 단속 시스템 개발 연구배경 2021년 5월 13일 부로 발효된 개인형 이동장치(전동킥보드)에 대한 도로교통법 개정안에 따르면 안전모 미 착용시 범칙금 2만원을 부과합니다. 그러나 자동차나 오토바이와 달리 전동킥보드는 개개인을 구분할 수 있는 번호판이 없기 때문에 경찰의 현장 단속에 의존하고 있는 실정입니다. 이에따라 전동킥보드 헬맷 미착용 단속에 대한 실효성에 의문이 제기되고 있는데 이를 해결하기 위해 Computer Vision Object Detection 기술을 활용하여 자동화된 전동킥보드 헬맷 단속 시스템을 개발할 예정입니다. 배경기술

[ubuntu] apt install로 설치한 패키지 anaconda 가상환경에 집어넣기

최근 3D Reconstruction 공부를 하면서 point cloud 관련 라이브러리를 설치할 일이 생겼다. 하지만 특정 패키지가 파이썬 패키지 인덱스인 PyPI에서 제공하지 않아 pip install로 가상환경에 곧바로 설치할 수 없는 이슈가 발생했다. apt install로 설치되는 패키지는 root 권한으로 설치되기 때문에 이미 구성된 가상환경에 이를 자동으로 설치할 방법은 없다. 구글링 해본 결과 해결방법은 다음과 같다. apt install로 설치된 파일 경로를 찾아가서 수동으로 가상환경에 복사해주는 것! 내가 가상환경에 설치하고자 하는 apt 패키지는 다음과 같다. sudo apt install libpcl-dev 해결방법 1. 전역 저장소 찾기 $find /usr -name 'site-p..

기본기/OS 2022.03.17

2D 영상에서 물체까지 3D 거리 구하기

2022-02-18 2D 영상 내에서 특정 물체까지의 3D 거리정보를 얻는 방법은 여러가지가 있었는데 나는 그중 3D 변환을 이용한 방법을 사용하였다. 3D 변환을 이용한 방법은 가장 일반적인 방법이며, 영상 기하학에서 좌표계에 대한 이해만 있으면 어렵지 않게 적용할 수 있다. 이 방법을 사용하기 위해서는 카메라의 내부 파라미터(fx, fy, cx, cy)와 카메라 3D 자세정보(R, t)가 미리 구해져 있어야만 사용 가능하다. 카메라의 내부 파라미터(fx, fy, cx, cy) 및 3D 자세정보(R,t)는 앞선 글에서 구하였다. 카메라 내부 파라미터(fx, fy, cx, cy) - [영상처리] 카메라 캘리브레이션 (Camera Calibration) 2022-02-18 실험실에서 진행하는 프로젝트에서 ..

카메라/기하학 2022.02.19

카메라의 위치 및 3D 자세정보

2차원 영상 내에서 3차원 거리정보를 얻기 위해서는 카메라 내부 파라미터 뿐만 아니라 카메라의 위치 및 3D 자세정보가 필요하다. 지난 글에서 카메라 내부 파라미터를 구했으니 https://dohyeon.tistory.com/23 [영상처리] 카메라 캘리브레이션 (Camera Calibration) 2022-02-18 실험실에서 진행하는 프로젝트에서 2D 이미지 내에서 카메라와 물체까지의 3차원 거리를 구하는 task가 주어졌다. 기하학적 계산에 앞서 2차원 이미지의 3차원 변환을 위해서는 camera의 내 dohyeon.tistory.com 이번 글에서 카메라의 위치 및 3D 자세정보를 구해보겠다. 카메라로 촬영한 영상을 보고 이 영상을 획득할 당시의 카메라의 위치 및 3D 자세정보(팬,틸트)를 추출하..

카메라/기하학 2022.02.18

카메라 캘리브레이션 (Camera Calibration)

2022-02-18 실험실에서 진행하는 프로젝트에서 2D 이미지 내에서 카메라와 물체까지의 3차원 거리를 구하는 task가 주어졌다. 기하학적 계산에 앞서 2차원 이미지의 3차원 변환을 위해서는 camera의 내부 파라미터정보가 필요하기 때문에 카메라 캘리브레이션 과정을 통해 카메라 내부 파라미터를 구하는 과정을 정리하고자 한다. 카메라 캘리브레이션은 영상처리, 컴퓨터비전 분야에서 필수적인 과정이다. 이번 글에서는 카메라 캘리브레이션의 기본적인 개념, 카메라 내부 파라미터 정보를 얻기 위한 Tool과 획득과정등을 정리해보았다. 0. 카메라 캘리브레이션이란? 우리가 눈으로 보는 실제 세상은 3차원이다. 하지만 이것을 단안렌즈 카메라로 촬영하면 2차원의 이미지로 투영된다. 이때 3차원의 점들이 이미지 상에서..

카메라/기하학 2022.02.18

[windows10] 배치파일을 이용하여 파이썬 파일 실행하기

1. 메모장을 연다. 2. 아나콘다 가상환경 상에서 python file을 실행하기 위해 아래와 같이 작성한다. call /Scripts/activate.bat call conda activate python pause 부분은 자신의 컴퓨터에 맞춰 바꿔서 넣어주면 된다. anaconda path는 컴퓨터마다 다르기 때문에 검색하여 경로를 찾으면 된다. 3. 완성파일 4. 실행결과 성공적으로 원하는 가상환경 내에서 python file이 실행되었다

기본기/OS 2022.02.09

[ubuntu] 일정시간마다 리눅스 서버로 파일전송 (crontab+scp)

2022-02-04 리눅스에서 다른 리눅스 서버로 일정시간마다 파일을 전송해줘야 하는 task가 생겼다. 기본적으로 쉘 스크립트에 scp 코드를 작성하여 보내려고 했으나 매번 비밀번호를 수동으로 입력해줘야 하는 문제가 발생하였다. 찾아보니 공개키를 이용하면 추가적인 비밀번호 입력없이 scp로 파일을 전송할 수 있다고 해서 공부하면서 작성해보려 한다. PC 1 (호스트) 1. 공개키 생성 ssh-keygen -t rsa 위 명령어를 입력하면 "Generating public/private rsa key pair" "Enter file in which to save the key ... " 와 같이 나오는데 default로 그냥 enter를 누른다 "Enter passphrase (empty for no p..

기본기/OS 2022.02.04