DL(10)
-
2D Detection | F1 score 구하기
2D 객체 검출(2D object detection)에서 F1 점수(F1 score)를 계산하려면 예측(prediction)과 실제 탐지 결과(ground truth)의 일치 여부를 판단해야 합니다. 아래는 Python을 사용하여 F1 점수를 계산하는 예제 코드입니다. 먼저, 예측과 GT 객체 간의 IoU(Intersection over Union)를 계산하고, 그 기반으로 정밀도(Precision) 및 재현율(Recall)을 계산한 후 F1 점수를 구합니다. def calculate_iou(box1, box2): x1, y1, x2, y2 = box1 x3, y3, x4, y4 = box2 x_left = max(x1, x3) y_top = max(y1, y3) x_right = min(x2, x4) ..
2023.11.08 -
2D Object Detection | pred 와 gt pair 찾기
2D 객체 검출(2D object detection)에서 예측(prediction)과 실제 탐지 결과(ground truth, GT)를 매칭하는 일반적인 방법 중 하나는 최소 거리를 기반으로 하는 것입니다. 아래는 Python을 사용한 예제 코드로, 예측된 객체와 GT 객체 간의 최소 거리를 계산하여 일치하는 것을 찾는 방법을 보여줍니다. import numpy as np # 가상의 예측(prediction) 및 실제 탐지 결과(ground truth)를 생성합니다. predictions = [(1, 2), (4, 5), (7, 8)] ground_truth = [(2, 3), (6, 7), (8, 9)] # 일치 여부를 저장할 변수 초기화 matches = [] for pred in prediction..
2023.11.08 -
특정 GPU 지정 / os.environ["CUDA_VISIBLE_DEVICES"]
os.environ["CUDA_VISIBLE_DEVICES"]= 사용하고자 하는 GPU 이때 사용하고자 하는 GPU는 0번 GPU의 경우 "0" 1번 GPU의 경우 "1" 0번 1번을 같이 쓰고 싶을 때는 "0,1" 이런 식으로 지정해주면 된다. 이렇게도 안되는 경우 ... (사실 이렇게 하면 그냥 다 되는 것 같다) PU_NUM = 0 # 원하는 GPU 번호 입력 device = torch.device(f'cuda:{GPU_NUM}' if torch.cuda.is_available() else 'cpu') torch.cuda.set_device(device) # change allocation of current GPU 여기까지가 이제 여러 개의 GPU가 있을 때 하나의 GPU만 사용하고 싶을 때 사용..
2023.06.25 -
Object 2D Detection Label bbox 좌표(COCO, YOLO, KITTI, VOC)
Object 2D Detection(객체 검출)을 공부하면서 각오픈 데이터 셋마다 label 형식이 다르고, 그때 그때 찾는게 매우 불편하여 이 기회에 정리하고자 한다. COCO YOLO KITTI & VOC 기본적으로 COCO의 경우 (x,y,w,h) --> (좌상단 x, 좌상단 y, bouding box의 W, bounding box의 H) 이다. YOLO의 경우 (x,y,w,h) --> (bounding box 중심점의 x,bounding box 중심점의 y,bouding box의 W, bounding box의 H) 이다. 3. KITTI, VOC 의 경우 (좌상단 x,좌상단 y, 우하단 x, 우하단 y) 이다.
2023.06.25