-
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) = batch preds = self(sweep_imgs, mats, pts_pv=pts_pv, is_train=False)
위 처럼 실행을 하고 있다. 하나하나 씩 분석 해보자!
입력은 3개 이고 3개의 크기는 아래와 같다.
sweep_imgs #sweep_imgs.size() #torch.Size([1, 4, 6, 3, 256, 704]) mats #len(mats) #5 pts_pv #pts_pv.size() #torch.Size([1, 4, 6, 1536, 5])
우선 이런 코드를 분석하기 위해서 내가 사용하는 방법은 여러가지가 있겠지만
아래 코드를 이용해서 디버깅을 하면서 분석하는 편이다. 아래 코드를 실행하면 디버깅 포인트를 걸 수 있다.
import subprocess cmd = 'python ./exps/det/CRN_r18_256x704_128x128_4key.py --ckpt_path ./ckpt/CRN_r18_256x704_128x128_4key.pth -e -b 1 --gpus 1' subprocess.run(cmd.split(' '))
우선 sweep_imgs 이미지를 어떻게 만드는지 알아 보자!
NuscDatasetRadarDet 클레스 참조 class BEVDepthLightningModel(LightningModule): 클래스 def eval_step(self, batch, batch_idx, prefix: str): 함수에서 # 아래 코드 실행. (sweep_imgs, mats, img_metas, _, _, _, _, pts_pv) = batch preds = self(sweep_imgs, mats, pts_pv=pts_pv, is_train=False) # 이전 시간의 이미지를 가져옴. self.key_idxes [0, -2, -4, -6] # 총 4개의 이미지를 가져옴 0, -2, -4, -6 프레임 이전 이미지. for 0~3 img = Image.open( os.path.join(self.data_root, cam_info[cam]['filename'])) resize, resize_dims, crop, flip, rotate_ida = self.sample_ida_augmentation() img, ida_mat = img_transform( img, resize=resize, resize_dims=resize_dims, crop=crop, flip=flip, rotate=rotate_ida, ) img = mmcv.imnormalize(np.array(img), self.img_mean, self.img_std, self.to_rgb) img = torch.from_numpy(img).permute(2, 0, 1) imgs.append(img) end for sweep_imgs.append(torch.stack(imgs)) torch.stack(sweep_imgs).permute(1, 0, 2, 3, 4) resize = 0.44 resize_dims = (764, 396) crop = (0, 140, 704, 396) flip = False rotate_ida = 0
결론은
이렇게 이미지를 사용한다.
4 : 이전 프레임 참조 개수
6 : 카메라 개수
3 : RGB
256 : Height
704 : width
#torch.Size([1, 4, 6, 3, 256, 704])반응형'openxlab' 카테고리의 다른 글
SPARSE4D 입력 값 분석 - T_global_inv,T_global (0) 2024.08.11 mmdetection3d - CRN 분석 3 - mats 파일 분석 (1) 2024.07.20 nuscene의 데이터 구조 설명 (2) 2024.07.17 nuscene 이미지 저장 초기버전(draft) (0) 2024.07.17 nuscene camera 이미지 그리기 (0) 2024.07.17