2025/02 38

자율주행 01

차선 추출 과정컬러 이미지를 그레이 영상으로 변환: 컬러 이미지는 일반적으로 RGB로 되어 있으므로, 차선 추출을 위해서는 그레이스케일로 변환하는 것이 효율적입니다. 이 단계에서는 색상 정보가 제거되고, 밝기 정보만 남게 됩니다.잡음 제거를 위한 필터 적용 (예: GaussianBlur): 이미지에는 노이즈가 포함될 수 있기 때문에, 이를 제거하기 위해 가우시안 블러(GaussianBlur)와 같은 필터를 사용합니다. 이는 이미지의 경계를 부드럽게 하여, 후속 Edge 검출 과정에서 잘못된 경계를 제거하는 데 도움을 줍니다.Edge (경계) 추출: 이 단계에서는 Canny Edge Detection이나 Sobel 필터 등을 이용해 이미지에서 경계를 추출합니다. 경계는 차선 검출에서 중요한 정보를 제공하므..

자율주행과 인공지능 03

카메라 : 사람과 사물, 차량 등으로 분류하면서 주변 물체 식별어두운 공간이나 악천후 상황에서는 사물 식별 어려움원근감 정확한 판별 불가레이더 : 반사되어 돌아오는 신호를 기반으로 거리, 속도, 방향 등의 정보를 추출날씨, 시간과 관계없이 제 성능을 발휘, 주파수에 따라 단거리부터 중거리, 장거리를 모두 감지할 수 있음ADAS( ACC ) 에 사용물체의 정확한 식별 불가라이다 : 물체와 빛을 주고받으며 3차원 지도를 제작센서 융합, Sensor Fusion 은 :각 센서에서 인식된 정보를 하나로 결합, 자율주행이 가능하도록 한 기술사람과 사물, 차량 등으로 분류하면서 주변 물체 식별어두운 공간이나 악천후 상황에서는 사물 식별 어려움원근감 정확한 판별 불가센서의 Data 처리 이전 융합 방법카메라 2D 이..

[C++] 02.28 review

try{throw()} catch(){}catch() 소괄호안에는 조건식이 들어갈 수 없다.catch(...)는 모든 예외를 다 받겠다는 의미assert는 개발 과정에서 조건을 검사하여 프로그램이 예상대로 동작하는지 확인하는데 사용한다.assert()의 조건식안에 들어간 식이 false일 경우만 프로그램이 즉시 종료된다.assert는 디버그 모드에서만 컴파일 된다.noexcept를 함수에 붙여주면 예외를 던지지 않겠다는 의미이다.throw으로 예외를 던졌는데도 예외를 받을 catch가 없으면 프로그램을 강제 종료하는데 이때 종료 처리 함수를 설정하는 것이 set_terminate() 함수이다.객체지향 프로그래밍의 핵심 개념클래스( Class ) : 객체를 정의하는 설계도객체( Object ) : 클래스로..

자율주행과 인공지능 02

RNN, Recurrent Neural Network 대표적인 딥러닝 모델 중 하나시계열 데이터 같은 순차 데이터( Sequential Data ) 처리를 위한 모델로 잘 알려짐순차 데이터의 대표적인 예시 :01 시계열 데이터 : 일정한 시간 간격을 가지고 얻어낸 데이터 Ex. 차량의 주행 속도와 가속도, 주변 장애물과의 거리 데이터를 시간에 따라 기록한 것02 자연어 데이터 : 사람이 말하는 언어 Ex. 차량이 음성 인식을 통해 운전자가 "왼쪽으로 가"라고 말했을 때, 이를 이해하고 적절히 반응하는 과정보행자의 의도를 예측 및 장애물 탐지자동차가 시간에 따라 움직인 데이터를 학습하여 미래의 경로를 예측--YOLO 단점을 보완한 것이 SSDObject Detection은 객체 분류( Clasificat..

[C++] 02.27 review

switch(var){} case 1: {} / for(i=0;i예외처리 try / catch / throw#include using namespace std;int divide(int a, int b) {    if (b == 0) {        // b가 0이면 예외를 발생시킴        throw "Error: Division by zero!";    }    return a / b;}int main() {    int num1, num2;    cout     cin >> num1 >> num2;    try {        // 예외 처리 구문        int result = divide(num1, num2);        cout     }    catch (const char* msg..

자율주행과 인공지능 01

인공지능 : 인간이 가진 지적 능력을 컴퓨터로 구현하는 기술머신러닝 : 컴퓨터가 스스로 학습하여 성능을 향상시키는 기술딥러닝 : 인공신경망 방식으로 정보를 처리하는 기술인공지능 ) 머신러닝 ) 딥러닝 순서위치추정 : 나는 지금 어디에 있는가?, 내 주변에는 무엇이 있는가?판단 : A에서 B까지 어떻게 가야 하는가? 머신러닝의 구분지도학습 : 알고리즘을 학습시킬 때 입력( 문제 ) 과 출력( 정답 )의 데이터들로부터 새로운 입력에 대한 출력을 결정할 수 있는 패턴을 추출분류 : 주어진 데이터를 정해진 카테고리( 라벨 )에 따라 분류하는 문제. 이진 분류 문제, 다중 분류 문제가 있다.회귀 : 어떤 데이터들의 feature을 기준으로 연속된 값 또는 그래프를 예측하는 문제비지도학습 : 정답이 없고 무엇을 할..

[C++] Review 02.26

구조체, struct를 사용하면 관련 값을 하나의 객체로 그룹화하므로 코드를 더 읽기 쉽고 유지, 관리하기 좋게 만들 수 있다. 함수에 전달할 argument가 많을 때 특히 유용하다.배열의 [ ] 안의 숫자는 배열의 크기를 의미한다. Ex. [3] 크기가 3개인 배열을 만들겠다는 의미문자열 작성은 라이브러리를 불러오고 큰따옴표 " " 로 문자열을 묶어야 한다.작은따옴표 ' '는 문자를 나타내는 데 사용한다. Ex. 'A'지역변수localVariable은 블록( 함수 ) 내에서만 효력 있음전역변수globalVariable은 해당 파일 전체에 효력 있음정적 변수 static 키워드를 변수 앞에 붙이게 되면 블록을 벗어나도 값이 유지됨상수 변수 const 키워드를 자료형 앞에 붙이면 해당 변수의 값은 변경..

[C++] Review 02.25

Keyword 란 특별한 의미로 미리 정의해 둔 식별자Literal이란 코드에 직접 표현된 변하지 않는 값으로, 예를 들어 int value = 5;에서 5와 같이 변수에 대입된 5, 'A', 3.14, true 등의 값들을 의미한다. 이는 char, int, double, bool 등의 기본 타입을 포함한 총체적인 개념이다.  비트 연산 AND > &, OR > |, XOR > ^bitset(a)>> 3 시프트 연산자, 오른쪽으로 3bit 만큼 시프트 ( 음수는 안됨 )포인터는 메모리 주소를 저장하는 변수// 포인터는 메모리 주소를 저장하는 변수, 타입과 변수 사이에 *을 넣음 // &는 변수의 주소를 얻는데 사용하는 연산자역참조 연산자 *은 포인터가 가리키는 메모리 주소에 저장된 값을 가져올 때 사용..

[Paper review] Hazardous Source Estimation and Autonomous Exploration Strategy with Guaranteed Communication Connectivity of Multiple UAVs

I. 서론01. 유해 물질 누출 근원지 추정기법 3가지 제안다수의 고정형 센서를 근원 예상지에 매설 >> 비용이 많이 듦, 매설지역 외 임의의 지점 사고 발생시 대처 어려움.누출 근원지에 사람을 파견 >>  추가적인 2차 사고 발생 가능.모바일-로봇 원거리 원격 조종 >> 통신 거리의 제약, 조종사 당 운용가능 로봇 개수의 한계 존재.무인이동체를 이용하여 위험 지역( Hazardous Source ) 에서 사람 대신 목표 탐색, 추적 기술은 세계적으로 관심을 받고 있음.02. 무인 이동체를 활용한 근원지 추정 방법미리 지정된 경로를 따라 센서 데이터 취득을 통한 근원지 정보 추정. >> 실시간 경로 계획이 아니므로 효율적인 탐색 불가.실시간 탐색 경로 생성 알고리즘, 반응형 알고리즘 ( 나방 등 생물의 ..