본문 바로가기

전체 글

2DPASS: 2D Priors Assisted SemanticSegmentation on LiDAR Point Clouds 0. 요약 Multi-modality 데이터 퓨전을 통한 Semantic Segmentation 연구가 이루어져 왔다 하지만, Fusion 기반 접근은 Point-Pixel 간의 정확한 매핑이 (학습과 추론 단계에서) 이뤄져야 한다 제안하는 2D Pass 방법은 2D 이미지를 충분히 활용하되, 엄검한 데이터 쌍의 제약이 없어서 세그멘테이션을 수행할 수 있게 해준다. 2D Pass는 Auxiliary Modal Fusion(보조 모달 융합)과 Multi-Scale Fusion-to-Single Knowledge Distillation(MSFSKD, 다중 스케일 융합-단일 지식 증류)를 활용하여 풍부한 의미론적 및 구조적 정보를 획득한 다음 Pure 3D 네트워크(?)로 Distilled(?) 된다 Sema.. 더보기
tee 명령어 tee 명령은 표준 입력을 읽어서, 표준 출력과 하나 이상의 파일에 쓴다. 즉, 출력을 동시에 하기 위한 용도이다. 예시) 2>&1 | tee logs_dir/${name}_logs_tee.txt 의미: 표준 에러(2) 결과를 표준 출력(1)으로 리다이렉션 하고, 표준 출력 결과는 내보냄과 동시에 logs_dir/${name}_logs_tee.txt에 파일로 저장한다. https://www.geeksforgeeks.org/tee-command-linux-example/ tee command in Linux with examples - GeeksforGeeks A Computer Science portal for geeks. It contains well written, well thought and we.. 더보기
PCL Window Install 1. PCL 다운(Link) - PCL_XXX_MVSC.exe를 다운 받는다. 2. CMake 및 Visual Studio Cmake 패키지 설치 - 윈도우 상에서 PCL를 CMake로 빌드하기 위해서는 'Visual Studio Cmake 패키지'가 설치되어 있어야 한다. 본인의 경우 Visual Studio를 업그레이드 시켜줘야 했는데, Win10SDK_10.0.17134 가 설치 에러가 났다. https://developercommunity.visualstudio.com/t/vs-community-2017-update-stuck-at-win10sdk-1001713/259243 위의 링크를 참고하여, Visual Studio Installer에서 설치 파일을 내려 받은 후 직접 설치 파일을 클릭하여 .. 더보기
쿼터니언(Quaternion) 설명 쿼터니언은 복수 개념으로 확장 시킨 대수적 구조이다. (오일러 각에서 나오는) 각도와 회전 개념에 비해 덜 직관적이지만, 훨씬 효율적으로 계산할 수 있다. 1843년 수학자 윌리엄 해밀턴은 3차원 회전은 쿼터니언으로 부를 수 있는 복소수로 표현 가능함을 발견하였다 1. 쿼터니언 대수 쿼터니안은 4-튜플로 적을 수 있고, $q_i$는 실수, i, j, k는 허수 이다. $$ q_0 + q_1i + q_2j + q_3k $$ 또한, 허수 i, j, k는 아래 식을 만족한다. 아래 식과 같이 i, j, k는 교환 법칙이 성립하지 않는다. 쉽게 기억하기 위해서 아래와 같이 그림을 만들고 시계 방향은 +, 반 시계 방향은 -로 기억한다. \begin{aligned} &i^{2}=j^{2}=k^{2}=-1 \\ &.. 더보기
SELECT 기본 용법 ▣ 기본 문법 SELECT select_expr} [FROM table_references] [WHERE where_condition] [GROUP BY {col_name | expr | position}] [HAVING where_condition] [ORDER BY {col_name | expr | position}] [LIMIT {[offset,] row_count | row_count OFFSET offset}]; SELECT 열_이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 예시) SELECT mem_name, addr FROM member WHERE addr IN('경기', '전남', '경남'); -- OR와 .. 더보기
std::nothrow std::nothrow 는 상수이며, operator new의 인자이다. 동적 할당 시 할당이 불가능하게 되면, 프로그램이 죽지 않고 null pointer를 리턴하게 해준다. 일반적으로 new 오퍼레이터가 동적할 당을 실패하면 bad_alloc 예외가 발생하게 되는데, nothrow를 인자로 사용하면 할당 실패시 null pointer를 반환하게 된다. (예외 처리 구문을 일일이 작성하지 않아서 좋을 듯 싶다) // nothrow example #include // std::cout #include // std::nothrow int main () { std::cout Allocation returned nullpt 출처) https://cplusplus.com/reference/new/nothrow/.. 더보기
Semantic-Kitti 데이터셋 설명 ▣ 개요 - Kitti Odmetry Task에서 제공하는 순서를 그대로 따른다. - 복셀화된 입력(00 ~ 21번), bin 파일 제공 - 11개(00번 ~ 10번) 순차 데이터 셋에 대해, 학습용 Dense Annotation 제공. : 00 ~ 10번 폴더만, voxels 폴더에 .invalid, .occluded 파일이 있다. 11번 폴더 이상은 .bin 파일만 있다. - 11개(11번 ~ 21번)은 평가용. labels 폴더가 없다. ▣ 클래스 - 이동체, 비 이동체 포함, 28개 클래스 - 이동체 8개를 제외하면, 비 이동체는 20개이다. - 이동체의 경우 관찰(Scan) 하는 동안 이동하면 "Moving"으로 간주하며, 설령 중간에 멈추더라도 여전히 "Moving"으로 간주한다(관련 링크: .. 더보기
HDMapGen: A Hierarchical Graph Generative Model of High Definition Maps, CVPR2021 Abstract - HD Map은 움직임을 예측하거나, 플래닝 등에 핵심 정보를 제공하한다. - 실제 도로 토폴로지와 기하 정보는 소수에 불가하여, 보지 못했던 시나리오를 일반화 하기 위한 정보는 부족하다. - 시퀀스, 일반 그래프, 계층적 그래프를 포함하여 다양한 데이터 표현을 사용하여 AutoRegressive 모델을 탐색한다. - HDMapGen을 제안한다. 본 모델은 고품질, 다양한 HD Map을 생성할 수 있는 계층적 그래프 생성 모델이다. - Argoverse 데이터 셋에서 실험을 수행하였다. 서론 - HD Map은 자율 주행에서 핵심이 되는 요소로 '3차원 공간 상에서 위치 인지', '다른 차량의 움직임 예측'. - HD Map은 도시 모델링 및 시뮬레이션의 중요한 구성 요소 - 아래의 2가.. 더보기