본문 바로가기

전체 글

[Perception Data set] WAYMO Opensource Dataset 소개 WAYMO Opensource Dataset은 2019년 8월부터 시작된 연구 목적의 비상업용 개방형 오픈데이터로 Motion Dataset과 Perception Dataset으로 나누어 제공되는데, 인지와 관련된 데이터는 Perception Dataset입니다. Perception Dataset은 WAYMO 자율주행 차량이 1950개 주행 구간에서 수집한 지역별, 시간별, 날씨별 데이터를 포함하고 있습니다. (2021년 3월 기준) 각 구간은 10Hz, 20초의 연속주행 데이터를 담고 있으며, 웨이모가 무인 자율주행 택시 시범 서비스를 진행하고 있는 미국 애리조나주 피닉스의 운행 데이터도 포함돼 있습니다. 데이터는 5개의 라이다(LiDAR)와 5개의 전·측면 표준 카메라로 수집됐으며, 360도 고.. 더보기
[Perception Data set] nuScenes dataset 소개 nuScenes dataset은 2019년 3월에 공개된 연구 목적의 비상업용 개방형 오픈데이터로 교통 혼잡지역으로 알려진 보스턴과 싱가포르의 주행 장면 1000개를 제공합니다. 주행 장면은 개당 2HZ, 20초의 영상으로, 물체 단위로 3차원 박스가 23개의 클래스와 8개의 속성으로 주석이 달려있으며 다양하고 흥미로운 운전 상황, 교통 상황, 흔치 않은 행동들을 포함합니다. 데이터셋(40만 주요 프레임)에는 140만개의 카메라 이미지, 39만개의 라이다 정보, 140만개의 레이더 정보, 140만 개의 물체 bounding 박스가 포함되어 있습니다. 추가로 2020년 7월에 nuScenes-lidarseg를 공개하였는데, 4만개의 프인트 클라우드와 1000개의 장면에 14억개의 포인트가 포함되어 있.. 더보기
[LiDAR] clustering LiDAR에 쓰이는 군집화 코드를 보았습니다 아래의 코드는 K-means clustering으로, 물체를 빠르게 찾기 위해 채택한 것으로 생각합니다. K-means clustring 설명은, 그림과 함께 이해하기 쉬운 글을 참고하세요. https://ratsgo.github.io/machine%20learning/2017/04/19/KC/ K-평균 군집화(K-means Clustering) · ratsgo's blog 이번 글에서는 K-평균 군집화(K-means Clustering)에 대해 살펴보겠습니다. (줄여서 KC라 부르겠습니다) 이번 글은 고려대 강필성 교수님과 역시 같은 대학의 김성범 교수님 강의를 정리했음을 먼저 밝 ratsgo.github.io KUUVe는 velodyne vlp-16을 사용.. 더보기
[두들낙서] 상속에서의 형변환 업캐스팅 - 자식 클래스 포인터에서 부모 클래스 포인터로 형변환을 할 수 있다 - 묵시적으로 일어난다 주의 부모 클래스와 자식 클래스의 배열 크기를 고려해야 한다 형변환은 포인터를 사용하기 때문 ex) class Animal { public: float xpos = 1; float ypos = 2; }; class FlyingAnimal : public Animal { public: float zpos = 3; }; void printAnimals(Animal *a, int n) { for (int i = 0; i < n; i++) { cout 더보기
[두들낙서] 상속 상속 - 상위 클래스의 멤버 변수와 메소드를 하위 클래스에서 사용할 수 있도록 한다 주의 상위 클래스에서 하위 클래스의 멤버 변수와 메소드 사용이 불가능하다 ex) class Base { public: void bFunc() { } int bNum; }; class Derived : public Base { public: void dFunc() { } int dNum; }; 부모 클래스 - 자식 클래스로 상속을 해준 상위 클래스 자식 클래스 - 부모 클래스로 부터 멤버 변수와 메소드를 상속받은 하위 클래스 - 부모 클래스의 멤버 변수와 메소드에 추가 변수와 메소드를 더한다 주의 자식클래스가 부모클래스에 속해있다 부모클래스가 더 큰 범위의 클래스다 접근 제어 - 외부접근은 제한되지만 자식 클래스에서 접근은.. 더보기
[두들낙서] 묵시적 형변환 묵시적(암시적) 형변환 (implicit conversion) - 객체에 변환 생성자가 있다면, 형변환을 별도로 하지 않아도 입력이 된다 주의 어떠한 형태로 변환될지 애매한 상태일때는 명시적 형변환을 이용해준다 문법상 int, double 둘 다 가능할 때 ex) class Item { Item(int num) : num(num) { } } 형변환을 시켜줄 수 있는 생성자면 모두 변환 생성자다 Item i3 = 3; 3이 int값이지만, 형변환을 명시하지 않아도 상단의 생성자를 바탕으로 형변환을 시켜준다 명시적 형변환 (explicit conversion) - 객체에 변환 생성자가 있어도, 형변환을 별도로 할 수 있다 ex) class Item { Item(int num) : num(num) { } } .. 더보기
[두들낙서] 객체 복사 얕은 복사 - 주소값만 복사한다 주의 주소값만 복사하면 에러를 일으킬 수 있다 ex) int *a = new int(5); int *b = new int(3); a = b; delete a; 3을 삭제한다 delete b; 삭제된 부분을 삭제하기 때문에 에러가 난다 깊은 복사 - 값을 복사한다 - 얕은 복사로 인한 오류를 방지하기 위해 깊은 복사를 쓰는 것이 좋다 ex) int *a = new int(5); int *b = new int(3); *a = *b; delete a; 5가 있던 위치에 있는 3을 삭제한다 delete b; 기존 3을 삭제한다 복사 생성자 - 객체를 생성할 때 다른 객체를 복사한다 - 객체를 복사할 때, 멤버 포인터에서 얕은 복사가 일어나기 때문에 오버로딩해준다 ex) Strin.. 더보기
[두들낙서] 동적 할당 동적 할당 - 프로그램 실행 중에 변수를 메모리에 할당하는 것 - new와 delete를 이용해서 생성, 해제한다 new - 임의의 메모리 위치를 지정해 값을 넣고 주소값을 반환한다 ex) int *a = new int(5); int *arr = new int[100]; delete - 메모리 할당을 해제한다 ex) delete a; delete[] arr; 더보기