분류 전체보기 1095

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

Jupyter OpenCV 차선 인식 V

이번 장에서는 웹캠에서 촬영하여 저장한 동영상 파일을 사용하여 차선을 인식(인지) 해보자. 블로그에 첨부된 lane_detection.ipynb 와 예제 동영상 challenge.avi 를 다운로드 받아 사용자 파일에 함께 저장 후 실행해 보자. 헤딩 영역에 라이브러리 OpenCV 즉 cv2 와 numpy를 불러들인다. challenge.avi 는 예제 동영상 파일로서 이들과 lane_detection.py 파일은 사용자 폴더에 함께 위치해야 한다. VideoCapture의 인수 video_src 는 challenge.avi 동영상 파일을 지정한다. while True: 문을 사용하여 무한 루프를 사용하여 .read 명령에 의해 VideoCapture()에 의해 지정된 동영상 파일을 읽어서 흑백 처리하자..

자율주행 2022.09.09

자율주행을 위한 GPS 데이터를 사용한 경로 맵 작성

참조1: GPS 데이터 가시화 및 OpenStreet Maps 사용법 https://towardsdatascience.com/simple-gps-data-visualization-using-python-and-open-street-maps-50f992e9b676 GPS 경로를 작도해 보기 위한 관심 지역의 맵을 https://openstreetmap.org/export 사이트를 방문하여 열자. 그림 파일 형태의 지도가 나타나면 아래 그림에서처럼 위도(latitude)와 경도(longitude)를 입력하여 관심지역 맵을 띄우자. 2. 내보내기 할 맵만 한정하여 화면 오른쪽 공유 버튼을 눌러 공유 메뉴에서 사용자지정 치수 설정을 클릭하여 맵과 가변 커서를 일치시킨 후 다운로드 버튼을 클릭한다. 3. 이러한 ..

자율주행 2022.09.09

Global Navigation Satellite System (GNSS) + IMU

참조: A list of GNSS frequencies and accuracy to include GPS, BeiDou, Compass, Galileo, and Navic. https://www.onesdr.com/list-of-gnss-frequency-and-accuracy/ 20세기의 가장 중요한 혁신 중 하나인 GNSS(Global Navigation Satellite System)는 많은 시스템과 기술분야에서 핵심 역할을 맡고 있다. GNSS는 여러 국가에서 설계 후 구현한 다양한 위치 확인 시스템들을 포함한다. 예를 들어 미국이 개발한 GPS는 1995년에 완전히 가동되었다. 한편 중국은 2000년부터 BeiDou 위성을 배치했으며 궤도에 3세대 시스템이 있다. 다음은 GPS, BeiDou 및..

자율주행 2022.08.29

Anaconda Jupyter OpenCV 웹캠 튜토리얼 III

OpenCV에서 PC에 설치된 웹캠을 사용하여 동영상을 촬영하자. 웹캠은 보안을 위한 CCTV 라든지 또는 자율주행 차량에서 차선을 검출한다든지 수많은 응용이 있는 분야이다. 헤딩 영역에 라이브러리 OpenCV 즉 cv2 와 numpy를 불러들인다. cv2.VideoCaptrue(0)에서 “0” 은 PC의 어느 USB 포트든 처음에 연결된 웹캠을 나타낸다. 추가로 두번째 웹캠을 연결할 경우 “1”이 되며 PC에서 자동적으로 인식된다. 동영상의 디폴(default) 해상도를 확인하여 출력해 보자. 웹캠 최대 해상도가 높더라도 디폴은 대개 640X480 이다. 비디오 기록을 생성하기 위해서 codec을 준비한다, OpenCV 동영상은 while(True): 에 의해 무한 루프를 돌며 윈도우즈 바탕화면에 영상..

자율주행 2022.08.29

Windows10 Anaconda Jupyter OpenCV 기초사용법 II(findContours)

테트리스 6조각으로 이루어진 tetris.png를 다운받아 Tetris.ipynb와 같은 폴더에 넣어 실행시켜보자. tetris.png 이미지 파일을 블로그 끝에 첨부된 Tetris.ipynb 파일을 다운받아 사용자 폴더에 위치 시킨 후 Anaconda Navigator basic에서 Jupyter를 실행시키자. 첫 번째 셀에서 OpenCV, imutils, matplotlib 라이브러리를 import 하자. matplotlib 는 그래프 작성이 아니라 이미지 처리 결과를 inline 출력하는데 사용된다. inline 출력은 셀 실행 후 아랫 부분의 출력 난에 출력함을 뜻하며 documentation에 편리하다. 이미지를 BGR 상태에서 GRAY 상태로 변환하여 inline 출력해 보자. 분명히 흑백 이..

자율주행 2022.08.29

Windows 10 Anaconda Jupyter OpenCV 기초사용법 I

참조: OpenCV Tutorial : Guide to Learn OpenCV (Linux Version) https://pyimagesearch.com/2018/07/19/opencv-tutorial-a-guide-to-learn-opencv/ 이번 장에서는 카메라 웹캠 대신 쥬라식 파크 이미지 파일을 사용해 OpenCV의 기초적인 명령들을 실습해 보도록 한다. 이하의 내용은 Raspbian 또는 Linux 또는 Ubuntu OS를 대상으로 씌여진 블로그 저자 Adrian의 OpenCV tutorial 내용을 윈도우즈 10에서 처리할수 있도록 전면 수정하였다. 윈도우즈 10 아나콘다에 OpenCV를 설치했으면 이미지 파일을 사용한 간단한 처리법을 알아보자. OpenCV 설치과정에서 numpy와 함께 이..

자율주행 2022.08.27

아나콘다 설치와 가상환경 설정

1-2 Python, Front End, Back End, Virtual Environment “인공지능 기반 자율주행”은 초보자에게는 대단히 복잡하다고 느낄 수밖에 없는 주제로서 초보자로서는 미처 준비하지 못한 다양한 이론 및 경험이 필요할지도 모르겠다. 하지만 처음부터 충분한 배경을 갖추고 시작하기는 어렵더라도 자율주행 내용 이해를 돕기 위해서 필수적이라 할 수 있는 기초적인 도구를 먼저 배워 학습 효율을 배가할 필요가 있을 것이다. 내연기관이라든지 전기차든지 자율주행 차량의 기계적 구조는 너무나 잘 알려져 있어 특별한 연구 대상은 아니다. 하지만 자율주행 차량에서는 부착된 센서들의 입력을 가지고 인공지능에 의한 인지 작용을 통해 자율주행을 해야 하므로 자율주행 소프트웨어 시스템이 주목을 받게 되는 ..

자율주행 2022.08.27

미래의 가장 파괴적인 기술로서 자율주행

참조: 28 Reasons why driverless tech will be the most disruptive technology in all history https://futuristspeaker.com/future-of-transportation/28-reasons-why-driverless-tech-will-be-the-most-disruptive-technology-in-all-history/ 자율주행 자동차의 영향은 우리 삶의 거의 모든 측면에 영향을 미치며 혼란의 수준은 엄청날 것입니다. 그것은 우리가 A 지점에서 B 지점으로 이동하는 방식을 바꿀 뿐만 아니라 쇼핑, 엔터테인먼트, 외식, 건물, 주택, 병원, 교회 및 쇼핑 센터의 디자인에 대해 생각하는 방식을 바꿀 것입니다. 우리가 사업을..

자율주행 2022.08.19