분류 전체보기(75)
-
KITTI 데이터셋의 3D Detection label 이해하기
Car 0.0 0 -1.65 0.53 1.54 1.68 0.0 1.74 1.63 3.7 1.66 1.6 1.58 0.61 Idx label 1 category 2 truncation 3 occulusion 4 alpha alpha" 값은 객체의 회전 각도 라이다(LiDAR) 좌표계에서 정의되며, 주로 -pi에서 pi 사이의 범위로 표현 5 box xmin 6 ymin 7 xmax 8 ymax 9 dimension width 10 hegiht 11 length 12 location x3d 13 y3d 14 z3d 15 yaw (Rotation Y) 16 score 참고. KITTI 데이터셋의 라이다(LiDAR) 좌표계에서 차량의 진행 방향과 좌표축 X 축: 차량의 전방 이동 방향입니다. 이 축은 차량의 길..
2023.08.14 -
KITTI Calibration 파일
KITTI 데이터셋의 칼리브레이션 파일은 각 센서(카메라 및 라이다) 간의 상대적인 위치, 회전 및 내부 파라미터를 정의하는 파일이다. 이 파일은 데이터를 3D 공간으로 변환하거나 센서 간의 매핑을 수행하는 데 필요한 중요한 정보를 제공한다. KITTI 데이터셋의 칼리브레이션 파일은 .txt 형식으로 제공되며, 주로 카메라와 라이다 간의 변환 정보를 포함한다. 아래는 KITTI 데이터셋의 칼리브레이션 파일의 내용과 형식을 설명한 예시다. P0: 7.188560000000e+02 0.000000000000e+00 6.071928000000e+02 0.000000000000e+00 0.000000000000e+00 7.188560000000e+02 1.852157000000e+02 0.000000000000..
2023.08.14 -
python 데이터 저장 읽기 / pickle / 리스트, 딕셔너리 저장
import pickle # Pickle 파일에서 데이터 읽어오기 with open('list_data.pkl', 'rb') as file: loaded_list = pickle.load(file) print("데이터를 성공적으로 불러왔습니다:", loaded_list) 데이터 저장 import pickle my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 데이터를 Pickle 파일로 저장 with open('list_data.pkl', 'wb') as file: pickle.dump(my_list, file) print("데이터가 Pickle 파일로 저장되었습니다.") 데이터 읽기
2023.08.10 -
python 함수 실행 시간 측정 (decorator 이용)
python으로 개발을 하다보면 해당 함수의 실행 시간을 측정하고 싶을 때가 있다. 이때 대부분의 사람들이 하는 방법은 아래와 같이 time 모듈을 사용한다. import time def sum_n1(n): sum_= 0 start = time.time() for i in range(n): sum_ += i end = time.time() print(f"sum_n1 : {end-start} sec") return sum_ def sum_n2(n): sum_= 0 start = time.time() for i in range(n): sum_ += i end = time.time() print(f"sum_n2 : {end-start} sec") return sum_ sum_n1(10000) sum_n2(10..
2023.07.13 -
python - multiprocessing, pool, process
키워드 : pool, process, pool.starmap 대용량, 많은 양의 데이터를 옮기고 이동하면서 병렬 프로그래밍의 필요성을 느끼고 얻게 된 내용을 정리하고자 한다. (이론보다는 코드 기반으로...) python은 기본적으로 multiprocessing이라는 라이브러리가 있고, 여기서 pool과 process가 있다. 두개는 명확히 다르나 지금 당장은 병렬 프로그래밍을 위해서 필요하고 그 쓰임새는 비슷하다고 판단 from multiprocessing import Pool, Process import multiprocessing import time def test_multiprocess(x): for i in x: print(i) time.sleep(1) if __name__ == '__main..
2023.06.29 -
React - useEffect
의존성이 변경될 때 실행되게 만드는 것 입력값이나, 유효성이 바뀌어서 계속 확인해야하는 input 검증에 많이 쓰임. (예를들어, 회원 가입 시 비밀번호 설정할 때 특수 문자 안되게 하는) useEffect는 2번째 인자로 의존성 배열을 받는데 (의존성 배열의 값이 변경될 때 useEffect 실행 됨) 의존성 배열은 useEffect에게 알려주는 것으로, 해당 배열 안에 포함된 상태나 프로퍼티가 변경되었을 때에만 useEffect의 작업이 실행되어야 함을 의미함 의존성 배열을 사용하지 않거나 빈 배열([])로 지정한다면, useEffect의 작업은 컴포넌트가 처음 렌더링되었을 때 한 번만 실행됩니다. import React, { useEffect, useState } from 'react'; funct..
2023.06.25