휘발성 기억을 붙잡아.. 붙잡아....
·
카테고리 없음
Slam의 결과물로 엊은 .g2o파일을 열어보면 아래와 같이 되어있다. 초반에는 VERTEX_SE3:QUAT 0 0 0 0 0 0 0 1 FIX 0로 시작한다. 1. VERTEX_SE3를 보면 VERTEX_SE3: QUAT 598 -50.6003 -19.0252 0.240575 -0.0093948 -0.0115594 0.161578 0.986748라고 되어있는 걸 볼 수 잇는데 이는 누적된 odometry + 정합 결과로 얻어진 로봇 pose이다.598번 포즈에서 위치 (x, y, z) = (-50.6, -19.0, 0.24)회전 quaternion (qx qy qz qw)를 갖는다고 볼 수 잇다. 2. 다음으로는 EDGE_SE3를 볼 수 있는데 EDGE_SE3: QUAT 0 1 -0.0018850..
헷갈려서 올리는 Projection 과정
·
카테고리 없음
자주 까먹어서 정리하는 3D to 2D projection 과정Step1. Homogeneous 좌표 생성- 변환행렬곱을 가능하게 하기 위해서 lidar 데이터를 (x, y, z, 1)의 homogeneous 형태로 바꿔준다. Step2. LiDAR to Camera 변환 행렬을 준비한다. Step3. 계산해야되니까 가로 -> 세로 바꿔주기points_cam = (T_lid2cam @ lidar_homogeneous.T).T 이를 통해 라이다 좌표계가 카메라 좌표계로 변화한다. Step4. Camera 좌표계를 이미지 좌표계로 변환 K = 카메라 intrinsic(3x3)3D 카메라 좌표를 2D homogeneous 좌표인 (u', v', w')로 변환한다. 아직 정규화되지 않음. Step5. Pi..
GPU Utilization 자주 끊길때 해결하는 법
·
카테고리 없음
평소보다 3배로 많은 데이터로 학습했더니 더 병목 현상이 더 심해졌다. 아래 Wandb 그래프처럼 utilization이 뚝뚝 끊기듯 0% → 100% → 0% 반복되는 문제가 발생했는데, 원인은 99%로 DataLoader 병목 쪽에서 발생한다. nproc 하면 CPU 코어 수를 알 수 있는데, 나 같은 경우에는 num_workers(위 사진에서는 n_threads를 8에서 32로 늘려주었다.) config 없다면 train_loader에서 직접 수정아래처럼 find_unused_parameters를 false라고 해두면 사용되지 않은 파라미터를 찾는데 시간을 줄일 수 있게 된다. 이후에는 그래도 0%에 오래 머물지 않는 모습을 볼 수 있음
MASt3R [ECCV 2024]
·
카테고리 없음
[AI-Paper] 4DGS
·
3D Reconstruction/3D-GS
티스토리 오블완 챌린지!!
·
카테고리 없음
https://www.tistory.com/event/write-challenge-2024 작심삼주 오블완 챌린지오늘 블로그 완료! 21일 동안 매일 블로그에 글 쓰고 글력을 키워보세요.www.tistory.com3주 동안 매일 블로그를 쓰면, 상품을 준다고 하네요!후한 상품이니 꼭 도전해봐야겠어요!!
진단 통신 개요(UDS)
·
통신 및 네트워크
UDS: 통합 진단 서비스 프로토콜로 다양한 진단 서비스를 지원하기 위해 진단 절차 및 데이터 표현법 등을 정의한 통신 규약클라이언트: 서비스를 요청하는 측, 일반적으로 진단기가 해당된다서버: 진단 통신에서 서버는 서비스 요청을 받는 측으로 일반적으로 차량 내 전자 제어기가 해당된다 UDS:CAN, LIN, Ethermet 등의 통신 방식이 아니라 진단을 위한 서비스를 어떻게 정의하는지에 대한 내용 OBD-2의 법적 서비스 제공제조사와 기술자 간의 진단 규약   UDS 테스터와 UDS 모듈 간의 통신진단 정보의 모양을 CAN, LIN, 이더넷 등의 진단 데이터의 모양을 규정한다. 진단 정보에 대한 내용은 동일하다. UDS 통신 서비스1. 진단기와 제어기의 연결 절차 정의2. 진단 통신 연결 시 여러 기능..
진단 통신에 대해서
·
통신 및 네트워크
1. 진단 통신: 차량 내 전자 제어기들의 상태를 외부 진단기를 통해 알 수 있도록 하기 위해 사용되는 통신2. OBD: 법규 및 차량 진단을 위해 필요한 커넥터 및 인터페이스에 대한 정의3. 리프로그래밍: 차량 내 전자 제어기들의 SW를 업데이트하는 작업 미국에서 처음에 배기가스의 양을 측정하기 위해서 만들어진 방법이다. OBD-2: 모든 차량에 탑재하도록 의무화 되었다.차량 내부의 제어기에서 문제 발생시 파악하기 어려움차량 내부의 각종 정보를 모니터링 할 수 있다: 차량 내부 정비의 용이국제 표준으로 iso 15765 진단 커넥터 설치를 법으로 규정하고 있다.  법규: OBD: 진단 커넥터의 제작 기준, 차량의 정보 획득 경로표준: ISO제어기의 펌웨어 업데이트를 하는 중간 장비: 커넥터, 진단 통신..
[백준]25418번: 정수 a를 k로 만들기 (파이썬)
·
코딩테스트/BOJ
📌 문제 탐색하기 A와 K가 주어지면, (A + 1), (2 * A) 두 종류의 연산을 통해 A를 K로 만들기 위한 최소 연산의 횟수를 출력해야한다.🔎  시간 복잡도1 ≤ A  K ≤ 1,000,000 숫자 내에서 BFS를 사용해 최단 경로를 찾으므로 시간복잡도는 O(N)이다.🔎 접근 방법 및 알고리즘새로운 숫자를 방문할 때 그 숫자까지의 최소 연산 횟수를 기록하고 새로운 숫자를 큐에 추가해야한다. 📌 코드 설계하기1. A와 K를 입력받는다.2. 데큐를 사용해서 큐를 만든다.3. 딕셔너리 V는 각 숫자까지의 최소 연산 횟수를 저장한다4. BFS탐색: 만약 현재 숫자 C가 K라면, 탐색을 종료한다. 5. v[x] = v[c] + 1 # 연산 횟수 기록6. q += [x] # 큐에 새로운 숫자 추가?..
[백준] 17266번: 어두운 굴다리 (이분탐색, 파이썬)
·
코딩테스트/BOJ
📌 문제 탐색하기 양 옆으로 가로등 높이 H만큼 비추는 가로등 M개가 있다고 했을때, 길이 N의 굴다리를 전부 밝힐 수 있는 최소 가로등의 높이를 구하는 문제이다. 🔎  시간 복잡도각 가로등 간의 간격을 순회해야하므로 M+1번 비교를 해야한다. 간격을 순회하면서 해당 높이를 탐색하면 되므로,  시간 제한안에 풀 수 있다.🔎 접근 방법 및 알고리즘가로등의 높이가 클수록 더 넓은 범위를 비추고, 작을수록 적은 범위를 비춘다.가로등의 높이가 가능한 범위는 0 ~ N (100,000)이다📌 코드 설계하기1️⃣ X의 리스트 이웃한 두 숫자 간 넓이를 순회하자. 예를 들면 i, i + 1번째 x가 각각 3과 10이라고 한다면, 가로등의 최소 높이는  반올림한 값인 round((10 - 3) / 2)가 될 것..