전체 글
-
7/21 - [17/10K] - preds = model(sweep_imgs, mats, ...)개발일지 2024. 7. 22. 00:46
쉽지 않다.......아래 처럼 실행 후 preds를 구해도 128x128의 값이기 때문에 다시 박스를 계산해야한다.model = model.to(device) preds = model(sweep_imgs, mats, pts_pv=pts_pv, is_train=False) 너무 복잡하다 이게 하나의 로직이다.단순 그냥 박스 그리는것이 아니였다. 쩝...... def eval_step(self, batch, batch_idx, prefix: str): (sweep_imgs, mats, img_metas, _, _, _, _, pts_pv) = batch if torch.cuda.is_available(): ..
-
mmdetection3d - CRN 분석 3 - mats 파일 분석openxlab 2024. 7. 20. 05:48
mats 파일 분석(sweep_imgs, mats, img_metas, _, _, _, _, pts_pv) = batchpreds = self(sweep_imgs, mats, pts_pv=pts_pv, is_train=False)총 5개 변수를 가지고 있는것을 확인 할 수 있음.그리고 각각 변수의 차원은 아래 와 같음.torch.stack(sensor2ego_mats_batch).size() torch.Size(\[1, 4, 6, 4, 4\]) torch.stack(intrin_mats_batch).size() torch.Size(\[1, 4, 6, 4, 4\]) torch.stack(ida_mats_batch).size() torch.Size(\[1, 4..
-
mmdetection3d - CRN 분석 3 - 카메라 입력 분석openxlab 2024. 7. 18. 20:46
목적은 nusc_det_dataset.py 을 이용하지 않고 직접 이미지와 레이더 포인트 정보를 가지고 실행하는 것이다. 그래서 아래와 같이 필요한 정보를 분석했다. 그러나 아직까지 이해해야할 것이 많다. 그래서 기억저장 용으로 그냥 적었다. 나중에 시간나면 다시 깔끔하게 정리해서 다시 적자!!! 실행은 했지만 데이터를 어떻게 가공하고 어떻게 실해되는지 이해하기 위해서 nusc_det_dataset.py 파일 안에 있는NuscDatasetRadarDet 클래스를 이용하지 않고 직접 해보자!base_exp.py def eval_step(self, batch, batch_idx, prefix: str):(sweep_imgs, mats, img_metas, _, _, _, _, pts_pv) = batchpr..
-
nuscene의 데이터 구조 설명openxlab 2024. 7. 17. 23:42
nuscene 파일 구조를 약간 보고 가자 아래 같이 명령어를 치면 터미널에서 많은 종류의 속성이 나올것이다. 해당 속성들은 리스트로 구성되어 있다. 그러나 token방식으로 접근하기 때문에 대부분 리스트 속성은 인덱스로 접근하지 않는다.from nuscenes.nuscenes import NuScenes# Initialize NuScenesnusc = NuScenes(version='v1.0-mini', dataroot='/data/sets/nuscenes', verbose=True)# Loading NuScenes tables for version v1.0-mini...# 23 category,# 8 attribute,# 4 visibility,# 911 instance,# 12 sensor,# 12..
-
nuscene 이미지 저장 초기버전(draft)openxlab 2024. 7. 17. 22:06
내가 아무것도 모를때 nuscene의 파일을 다운로드 받은 후 무식하게 폴더를 읽어서 파일을 합쳤다. 그래서 6개 이미지 동기가 약간 안맞을 때도 있었다. 그리고 로직도 연결하지 않았다. nuscene 라이브러리를 사용하지 않으면 아래 처럼 이미지를 합쳐서 만들면된다. import osimport cv2import numpy as np# NuScenes 데이터셋 경로nusc_data_dir = '/data/sets/nuscenes/samples/'# 각 카메라 폴더camera_folders = ['CAM_FRONT_LEFT','CAM_FRONT', 'CAM_FRONT_RIGHT', 'CAM_BACK_LEFT','CAM_BACK', 'CAM_BACK_RIGHT']def extract_number(file..
-
nuscene camera 이미지 그리기openxlab 2024. 7. 17. 21:57
nuscene은 6개의 카메라 이미지가 저장되어 있다. 한번에 그려보고 데이터 구조가 어떻게 되어 있는지 파악해보자! 이미지이므로 로직도 같이 실행해본다. 백본 resnet50을 사용하는 R-CNN 이다.# 사전 학습된 Faster R-CNN 모델 로드model = fasterrcnn_resnet50_fpn(pretrained=True)model.eval() 아래 그림과 같이 잘 실행되는것을 확인 할 수 있다. 각 scene을 이미지로 출력해보고 이미지를 저장한 다음 동영상을 만들어 보자!. 이미지를 로직에 넣기 위해서는 tensor로 변경해야한다. 그래서 아래와 같은 변환을 한다. #PIL 파입 변환#numpy배열 형태의 이미지를 PIL (Python Imaging Library) 형태로 변환img..
-
nuScene radar points 그리기openxlab 2024. 7. 17. 21:18
mmdetection3d에 있는 코드를 이해하려면 데이터 구조를 이해해야한다. 우선 nuscene을 예로 들면 token구조를 이해해야한다. 그리고 nuscene 에서 points를 그리려면 global 좌표계로 좌표변환을 해야한다. 대부분 로직들은 global 좌표계로 변환 후 실행하고 있다. 해달 코드는 radar의 points를 읽어서 global 좌표로 변환 후 그리는 코드이다.import osfrom pyquaternion import Quaternionimport numpy as npfrom nuscenes.utils.data_classes import RadarPointCloudfrom nuscenes.nuscenes import NuScenesimport matplotlib.pyplot..
-
mmdetection3d - CRN - 3 추가openxlab 2024. 7. 17. 18:51
https://github.com/youngskkim/CRN?tab=readme-ov-file GitHub - youngskkim/CRN: [ICCV'23] Official implementation of CRN: Camera Radar Net for Accurate, Robust, Efficient 3D Perceptio[ICCV'23] Official implementation of CRN: Camera Radar Net for Accurate, Robust, Efficient 3D Perception - youngskkim/CRNgithub.com 노트북에서 하다가 데스탑에서 하니 cuda 다른 버전이 깔려 있어서 다른 버전으로 해봤다. 즉 위 사이트는 11.1 을 추천하지만 그래픽카드가 지원하지 ..