목록분류 전체보기 (159)
Priceless

실습 환경 OS: Ubuntu 20.04 ROS: ROS1 Noetic 실습 과정 1. 첫 번째 터미널에서 roscore로 마스터 노드 준비 roscore 2. 두 번째 터미널에서 어떤 노드가 동작 중인지 확인 rosnode list Subscriber(구독자) 3. 세 번째 터미널에서 tertlesim 라이브러리에 있는 turtlesim node 작동 (Subscriber) rosrun turtlesim turtlesim_node 4. 두 번째 터미널에서 작동 중인 node를 확인하여 turtlesim_node가 동작 중인지 확인 rosnode list Publisher(발행자) 5. 네 번째 터미널에서 turtlesim_node 를 제어하기 위한 teleop key node 작동 (Publisher)..

ROS 배경 지식 ROS 구성도 ROS는 OS 위에서 동작하는 프레임워크로 Linux/Windows 등 OS 위의 구조를 나타낸다 ROS가 제공하는 도구 RVIZ - 시각화 도구 - 센서를 통해 얻은 주변 환경의 데이터, 로봇의 움직임 데이터 등을 시각화 RQT - Qt 기반의 GUI 응용 개발 도구 - 노드 연결 정보를 그래프로 표현 - UI를 갖춘 개발 과정에 사용자 상호작용을 직접 확인 가능하다 - rqt_graph 명령어를 통해 노드와 토픽의 관계 정보를 그래프로 출력 GAZEBO - 물리 엔진 기반의 3차원 시뮬레이터 - 가상 공간에서 물리적 상호작용을 확인하여 시뮬레이터 제작 및 모델링에 이용 ROS에서의 통신 - Topic의 publish(발행) 와 subscribe(구독) 기반의 메시지 교..

Computer Systems: A Programmer's Perspective 위 책의 내용을 정리하였습니다 Chapter 2: Representing and Manipulating Information (정보 표현과 처리) 대부분의 컴퓨터는 메모리의 개별 비트에 access하는 대신, 8비트의 블록, 즉 바이트를 주소가 지정 가능한 최소 단위를 메모리를 사용한다 저장하고 있는 값이 너무 크면 오버플로우가 발생할 수 있다 비트 레벨의 값에 대해 운영 체제와 컴파일러 마다 다르게 연산되면 보안에 취약한 문제가 발생할 수 있다 2-1. Information Storage (정보 저장) C의 포인터 값은 다양한 타입의 변수의 저장 블록의 첫 번째 바이트 주소이다 프로그램 데이터, 명령 및 제어 정보를 저장하..
1장. 자료형(Data Type)과 리터럴(Literal) 개요 C/C++은 데이터 타입이 엄격한 프로그래밍 언어이다 그러므로 변수를 선언할 때 자료형과 함께 선언해야 하며 그 변수를 채우기 위해 값을 넣을 때 데이터를 입력한다(리터럴) 파이썬과 가장 큰 차이점 중 하나로 대표적인 자료형에 대해 알아본다 대표적인 자료형 종류 - char character의 약자 ascii code 내의 범위에 속하는 문자 하나를 저장하는 자료형 ascii code 범위에 해당하는 정수로 나타내어 출력 가능하다 char x = 'a'; // a int y = x; // 97 - int integer의 약자 정수의 범주에 속하는 정수를 저장하는 자료형 4byte의 자료형으로 -2의 31 제곱부터 +(2의 31 제곱) - 1..

list와 map 라이브러리를 불러온 후 작성한다 list의 동적 할당을 위해 크기를 미리 선언하지 않는다 미리 선언하면 end 접근할 때 0으로 모두 초기화되어 원하지 않은 출력 값이 나타날 수 있다 우선 학번을 입력 받기 위한 list인 student를 선언한다 그리고 student의 iterator를 매핑하는 map인 student_map을 선언한다 반복문에서 학번을 한 명씩 입력 받은 후 반복자 iter를 초기화한다 map을 통해 입력 받은 학번이 이미 수강신청을 했는지 확인한 후 이미 수강신청을 했다면 기존 수강신청 정보를 지운다 이후 입력 받은 수강신청 정보를 list 와 map 뒤에 추가한다 이후 정렬된 코드를 수강신청 제한 인원에 맞게 list를 자른 후 출력 형식을 조절하여 출력한다 in..

1. Semantic Segmentation 1-1. 개요 정의 이미지에서 픽셀 단위로 분류하는 작업 같은 클래스라도 서로 다른 객체를 구분하진 않는다 다른 객체를 구분하는 작업은 이후에 나올 예정 (Instance Segmentation) 적용 영상 내의 컨텐츠 이해가 주 목적 객체를 구분하여 사용자의 후 처리 사용성 도모 등 1-2. 구조 Fully Convolution Networks (FCN) end-to-end 구조 입력 데이터와 출력 데이터가 있으면 Network에서 알아서 찾아주는 모델 모두 미분 가능한 Fully connected VS Fully convolutional - Fully connected layer Image Classification에 적용 공간 정보를 고려하지 않고 벡터가..

아래 영상을 리뷰합니다 (변역 및 정보 추가)https://www.youtube.com/watch?v=6x-Xb_uT7ts&ab_channel=WADatCVPR영어 해석, 용어 등 오류가 있을 수 있습니다. 피드백 남겨주시면 감사하겠습니다 :)IntroductionFull Self Driving(FSD, Beta)미국과 캐나다에서 40 만 대의 테슬라에서 FSD 동작, FSD를 통한 누적 2억 5천만 마일을 달성했습니다.Radar, LiDAR, Ultrasonics, HD Maps 없이 8개의 360도 카메라만을 전적으로 사용하여 주행합니다.Modern Neural Net Based Tech Stack을 통해 FSD를 구현했습니다. Occupancy Networks (점유 네트워크)Ontology(존..

1. 데이터 부족 문제 완화 1-1. Data Augmentation (데이터 증강, 보강) Data Augmentation이 필요한 이유 우리가 찍는 이미지는 대부분 보기 좋게 찍힌 사진일 것이다 하지만 실제로 카메라로 수집될 데이터는 우리가 아무렇게 찍을 수 있기 때문에 다를 것이다 데이터에 접목을 시키면 수집된 데이터셋을 보면 잘 가공된 데이터로 편항되어 있다 사람이 수집한 데이터는 실제 데이터는 실제로 얻을 수 있는 데이터 중에 극히 일부만 얻을 수 있다 실제 환경에서 새롭게 데이터를 수집한다면 전혀 다르게 나타나는 데이터를 수집할 것이다 아래 사진처럼 실제로 샘플에 없는 데이터는 이 세상에 정말 많다 동물을 분류하는 모델을 만든다고 가정했을 때 갈색 동물 사진의 데이터셋만 학습한 모델에 검은색 ..

컴퓨터 비전(Computer Vision) 1. 정의 영상으로부터 영상의 본질을 찾아내는 것 영상에 콘텐츠를 입히는 CG(컴퓨터 그래픽스, Computer Graphics)와 반대되는 개념으로 Inverse Graphics라고도 한다 2. Perception(인식, 인지) General Perception(일반적) : Sight(시각), Sound(청각), Touch(촉각), Taste(미각), Smell(후각) Social Perception(복합적) : Face(표정), Touch(강도), Speech(말투) 3. 이미지 인식의 이상적 접근 모든 데이터를 가지고 있을 경우 맞출 수 있다 하지만 PC의 리소스는 제한적이기 때문에 방대한 데이터를 제한된 복잡도 이내에서 찾을 수 있어야한다 4. Convo..

위의 문제에 포함되어 있는 예시로 설명한다 처음에는 for문을 두 개를 작성한 후 탐색하는 날짜에 필요한 상담 일 수 만큼 sum 변수를 추가로 설정하여 합하는 식으로 작성했다 물론 그렇게도 풀릴 것 같았지만 예외 처리가 많이 필요했다 그래서 다른 방법을 찾았다 내가 문제를 보고 답을 직접 구할 때도 뒤에서부터 구했던 것 같다 막상 코드로 작성하니 머리 속으로 풀었던 것 그대로 녹여내면 되는데 아직까지 쉽지 않은 듯하다 뒤에서 부터 역순으로 찾는다 날짜가 넘어가면 그 전 인덱스를 탐색하고 dp에 저장한다 이후 기존의 dp와 이전 날의 새로운 값을 더했을 때를 비교하여 더 큰 값을 dp에 저장한다 이후 dp를 모두 구했을 때 나오는 dp[1]을 출력한다 // baekjoon 15486 #include #i..