자율주행 31

7장 MathWorks 자율주행 MATLAB 코딩 III(HD 맵)

7-3 HERE HD Live Map Layers 참조: HERE HD Live Map Layers https://kr.mathworks.com/help/driving/ug/here-hd-live-map-layers.html HD 맵을 사용하여 자율주행 차량이 주행한 궤적을 찾아 디스플레이 하는 작업은 스마트폰에서 카카오 맵이나 티 맵을 사용하여 출발지와 도착지를 지정한 후 주행 궤적을 관찰하는 정도의 문제로서 특별할 것은 없다고 본다. 이번 절에서는 한 걸음 더 나아가 HD 라이브 맵 레이어 구성 방법 및 그 데이터 이용법을 살펴보자. MATLAB 코드는 참조 url 주소에서 다운 받기 바라며 여기서는 원리 해설에 중점을 두도록 한다. HD(High Definition) 맵 은 일반 네비게이션 맵과 내..

자율주행 2022.09.28

7장 MathWorks 자율주행 MATLAB 코딩 II

7-2 HERE HD 라이브 맵 레이어 사용 참조: Here HD Live Map Layers https://kr.mathworks.com/help/driving/ug/here-hd-live-map-layers.html HERE HD Live Map 은 HERE Technologies 사에 의해 개발된 클라우드 기반 우베 서비스 제품으로서 사용자로 하여금 고정밀도의 지속적으로 업데이트 된 맵 데이터에 접근을 가능하게 한다. 데이터 내용은 앞 절에서 소개 했던 전체 내용을 지ㄹ역별 카탈로그에 담고 있다. 이 데이터를 사용하기 위해서는 hereHDLMReader 명령을 사용해야 하며 실예로 가시화 하는 과정을 살펴보자. 레이어 전체 데이커 크기가 상당히 커 부담스러울 경우 필요한 데이터 필드만 지정해서 읽어..

자율주행 2022.09.28

7장 MathWorks 자율주행 MATLAB 코딩 I

자율주행 차량이 전 세계적으로 많은 시범 운행이 이루어질 정도로 가깝게 우리 주변에서 경험할 수 있을 정도로 발전했으나 아직도 라이더 센서나 레이더 센서나 비젼 시스템 주 어느 것을 선택할 것인가부터 많은 자율주행 연구개발 주체들 간의 쵸준화 내지 통합은 미지수로 남아 있다. 이같이 자율주행 차량의 표준 자체가 미정인 상태에서 인터넷 공간상에 많은 종류의 자율주행 차량들이 수집한 Dataset 들이 뿌려져 있는 상태이지만 오픈소스로 이들 데이터세트를 대상으로 자율주행 소프트웨어 체계를 효과적으로 학습하기는 대단히 힘든 상황이다. 하지만 Mathworks사가 제공하는 MATLAB 언어를 사용하여 Udacity 와 협력하여 제공하는 자율주행 관련 블로그들은 자율주행을 학습하고 이해함에 효과적으로 도움이 될 ..

자율주행 2022.09.28

캡스톤 코딩 디자인: YoLoV3에 Vision 코드를 추가하여 ADAS 를 코딩하자.

시작하기 전에 일단 결과 영상을 감상 후 코드 작업을 진행하자. https://youtu.be/YhB2_sbIWUc 2022년 9월 중순 어느새 자율주행차량 시법운행이 폭발적으로 늘어나고 있다. 이미 샌프란시스코에는 GM 차에 구글 waymo 시스템 자율차량을 비롯하여 로보택시 시범운영이 이루어지고 있다. 물론 중간에 퍼져버린다든지 사고도 많지만 아무튼 자율주행의 시대가 도래했음은 분명한 것 같다. 제네시스 G90 에 장착된 ADAS 시스템도 보다 발전하여 레벨 3 내지는 레벨 4를 넘보는 듯하다. 참조: 라이다 달린 신형 G90 나온다! https://www.youtube.com/watch?v=N5a3h1RJxsc&t=183s 2021년 5월에 김한용 MOCAR의 자동차 블로그에서도 인텔이 17조원에 ..

자율주행 2022.09.21

LiDAR(Light Detection And Ranging Sensor) 객체감지 및 위치 측정

라이다는 자율주행 차량 주위의 객체들까지의 거리를 측정하기 위해서 펄스 형태의 레이저를 이용한다. 가시광선이 대체로 900 nm 이하 파장 영역임에 비해 벨로다인 라이다 센서 사례에 의하면 900 ~ 1600 nm 의 주파수 범위를 가지는 적외선 영역에 근접한 레이저로서 905 nm 와 1550 nm 가 사용된다, 특히 1550 nm 파장은 905 nm 파장에 비해 우중이나 안개가 낀 경우나 눈이 올 때 그리고 지표면이 젖었거나 눈으로 덮였을 경우 반사 수신 신호에 심각한 품질 저하가 일어난다. 신호 상당한 품질 저하가 있음에 유의하자. 자율주행용 회전식 라이다에서 방출되어 객체들로부터 반사된 레이저 펄스들은 지표면 특성, 물체들의 형상과 인위적으로 설정 배치해둔 랜드마크들의 3차원 입체 정보를 아래와 ..

자율주행 2022.09.21

Colab 에서 YoLoV4 를 실행해 보자.

YOLO 는 기본적으로 1000 종의 class들에 대해 학습이 이루어진 상태에서 부가적인 목적 달성을 위해 Transfer Learning 이 이루어진다. 즉 예를 들자면 자율주행을 위해서 아래의 80 종의 class들로 이루어진 COCO 데이터세트들에 대해 Transfer Learning 을 실시한다. 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', ..

자율주행 2022.09.18

OpenCV Hough Transform에 의한 차선 작도 VIII

내용을 읽은 후 첨부된 파일을 사용하여 실행해 본 후 GaussianBlur 기법 적용 효과와 파라메터 변경에 따른 휴변환 기법 적용 결과들에 대해 검토해 보자. 흑백 이미지를 Blur 필터링 처리 없이 직접 Canny 명령을 사용하여 edge들을 추출하여 Hough 변환을 적용해 보자. GaussianBlur 에 의한 필터링 처리 여부는 Canny 에 의한 edge 추출 작업에 영향을 크게 미치지만 본 예제에서는 직접 Canny 처리를 하는 대신 Threshold 파라메터를 슬라이더 바로 도입하여 이미지 화면의 노이즈 효과를 체크해 보기로 한다. 메인 코드에서 차선 이미지 img 를 읽고 그 사본을 떠 dst 로 두자. 아울러 이 메인 코드의 변수에 해당하는 img 와 dst를 함수 onTrackbar..

자율주행 2022.09.16

OpenCV Hough Transform에 의한 차선 작도 VII

이미지 흑백 변환 grayscale = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) RGB 3채널의 컬러 이미지를 grayscale 의 흑백 이미지로 변환할 경우 1채널로 용량이 축소되므로 컴퓨팅 용량의 절감이 가능하다. 특히 흑백으로 변환된 도로 이미지에서도 차선 탐지에 아무런 문제도 없음에 유의하자. 컬러이미지에서 변환된 흑백 이미지는 자연적인 노이즈를 많이 포함하고 있다. 노이즈가 포함된 이미지에서 노이즈를 필터링 하기 위한 이미지 처리 기법으로는 CNN 에 의한 특징 추출 후 다시 역순으로 이미지를 복원할 경우 노이즈 제거가 가능하다. 한편 OpenCV 에서는 GaussianBlur 명령을 사용하여 전체 이미지를 다소 흐릿하면서도 부드럽게 만들면 노이즈 제거 효과를 볼 ..

자율주행 2022.09.13

Script Editer Spyder에서 Haarcascades OpenCV 보행자 인식 VI

참조: Vehicle-And-Pedestrian-Detection-Using-Haar-Cascades https://github.com/AdityaPai2398/Vehicle-And-Pedestrian-Detection-Using-Haar-Cascades 셀(cell) 방식의 쥬파터 사용에서 통째로 코드 실행이 가능한 스크립트 편집기 Spyder를 사용하여 Haarcascades 지원 라이브러리인 ‘pedestrian’을 사용해 동영상 ‘pedestrian.avi’에서 보행자를 검출해 보자. Anaconda Navigator 화면에서 opencv-python 이 이미 설치되어 있는 basic(root) 상태에서 아래 그림에서처럼 Spyder 편집기를 ‘Launch’ 버튼을 클릭하자. 만약 버튼이 ‘Ins..

자율주행 2022.09.10

Haarcascades 라이브러리와 cars.xml 차량 인식 IV

Haarcascades 라이브러리 자율주행을 연구 시작을 위해서는 적어도 광법위하게 연구가 진행되어 온 Image Classification 영역을 섭렵할 필요도 있겠지만 상당한 노력이 필요하므로 그 대안으로서 쉽게 이해하고 응용해 볼 수 있는 Haarcascades 라이브러리 사용에 관심을 가져 볼 만하다. OpenCV에서 객체를 인식하는 잘 알려진 방법 중의 하나는 Haarcascades 오픈소스 라이브러리 모듈을 사용하는 방법이다. Haarcascades 라이브러리를 사용하여 인식할 수 있는 객체들은 사람의 정면 얼굴, 얼굴 안의 눈, 고양이 얼굴, 사람의 몸 각 부분들, 컬러 및 차량을 포함한다. 일종의 학습결과를 라이브러리로 모듈화시킨 Haarcascades 라이브러리의 원리는 예를 들어 CNN..

자율주행 2022.09.10