Capstone/Caostone2 - 2020-1학기

캡스톤 디자인 최종 결과물 동영상 링크 : youtu.be/ZcG7x3Ixjts 19년 2학기에 진행했던 프로젝트와 똑같은 주제로 yolo를 제외한 구현 방식을 달리하여 진행하였는데 똑같은 주제로도 여러가지의 해결방안이 있다는 것을 깨닫게 되는 계기가 되었다.
ssh 사용시 매번 비밀번호를 입력하는 것은 귀찮은 일이다. 이번 프로젝트에선 비밀번호를 입력하는 것을 없앰으로 서버로 전송시 바로 전송할수 있도록 하였다. 공개키 등록 방식 우선 ~/.ssh/id_rsa.pub에 파일이 존재하는지 확인한다. 없다면 아래와 같이 ssh-keygen을 사용해서 개인용 개인키/공개키를 생성한다. ssh-keygen -t rsa 위 명령을 입력하면 몇가지를 물어보는데 특별한 이유가 없다면 그냥 엔터를 계속 눌러서 완료하면 된다. 이렇게 생성하고나면 개인키는 ~/.ssh/id_rsa로 공개키는 ~/.ssh/id_rsa.pub로 생성된다. 이제는 공개키를 접속하려는 원격 서버에 등록해야 한다. 아래와 같이 직접 해당 서버로 복사하는 방법이 있다. scp ~/.ssh/id_rsa...
이번에는 프로젝트에 이전에 구성했던 ui 파일을 기반으로 파이썬 코드를 작성하는 방법에대해 알아보겠다. 하나씩 기능을 설명한후 코드의 전체 부분은 밑에 첨부하도록 하겠다. 다음과 같이 필요한 라이브러리를 import 해준다 import os import sys import time from PyQt5.QtWidgets import * from PyQt5 import QtCore from PyQt5 import uic import cv2 from PyQt5.QtCore import QCoreApplication, QThread 밑의 코드와 같이 ui파일의 경로, 이름을 넣어주어야 한다. 저희 팀과 같은 경우는 같은 위치에서 진행하였으므로 이름만 넣어주었다. form_class = uic.loadUiType..
GUI 를 구현하기 위해서 Pyqy5 를 기본으로 사용되는 Qt Designer 를 이용해 UI 구현 부분에 있어 조금 더 쉽게 구현하엿다. Qt Designer란, PyQt를 이용하여 GUI프로그래밍을 할 때 손쉽게 프로그램의 레이아웃을 편집할 수 있도록 해주는 편집기 이다. Qt Designer를 설치하는데는 여러방법이 있지만 Anaconda를 이용하여 설치 하였다. Anaconda 공식 홈페이지 위의 링크를 클릭하여 아래 사진과 같이 자신의 os 버전에 맞는 것을 선택하여 설치하여준다. 실행 시키는 방법은 맥에서 application 폴더를 열서 anaconda navigator를 찾은 후 오른쪽 마우스를 클릭하여 show original을 누른다. andconda navigator 내부로 들어갔다..
동영상을 프레임 단위로 추출하기 위해 opencv를 사용하였다. opencv 설치 방법은 pip을 통하여 설치할수 있다. python -m pip install opencv-python 다음과 같이 파이썬 내에서 입력을 하게되면 자신의 opencv 버전이 나오는데 정상적으로 설치가 됐다면 버전이 출력된다. import cv2 print(cv2.__version__) 비디오를 프레임 단위로 자르는 코드는 다음과 같다. import cv2 vidcap = cv2.VideoCapture('/Your/video/name.h264') success,image = vidcap.read() count = 1 success = True while success: success,image = vidcap.read() c..
라즈베리파이에서 위치정보를 기록하기위한 GPS 모듈의 사용방법에 대해 알아보겠다. 연결은 다음과 같이 연결해 주면 된다. GPS 모듈을 u-blox 사의 NEO-6M 을 사용하였다. 연결을 해준 상태에서 sudo apt-get install python-pip sudo pip install pynmea2 sudo apt-get install gpsd gpsd-clients python-gps minicom 다음의 필요 라이브러리들을 설치해준다. sudo nano /boot/cmdline.txt 명령어를 입력해 수정해준다. dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes..
라즈베리파이 파이카메라, GPS 모듈의 사용법에 대해 알아보겠다. 파이카메라는 다음과 같이 생겼으며 이번 프로젝트에 사용된 모듈은 v2이다. 카메라 사용을 위해 CIS Camera port에 라즈베리 파이 카메라 모듈을 연결해주어 사용해야 한다. 라즈베리 파이 카메라 모듈을 CIS 카메라 포트에 연결을 해준다음 터미널을 실행시켜 다음의 명령어를 입력한다 sudo apt-get update sudo apt-get upgrade sudo raspi-config interfacing Options 항목을 선택한다. Camera 항목을 선택한다. 예를 선택 확인을 누르면 raspi-config 초기 화면으로 돌어가는데 Finish를 선택한다. finish를 선택하면 위의 이미지와 같이 재부팅 의사를 묻는 창이 ..
YOLO를 실행하기 위해 기본적으로 알아야하는 방법들이다. 이전 프로젝트에 설명한 내용들이므로 링크를 첨부하였다. Opencv 설치 YOLO 설치 및 실행 방법 Yolo mark 사용법 구글 이미지 크롤러 이미지 부풀리기 YOLO 학습 방법 Tensorflow 기반의 Darkflow(어플 적용에 이점이 있음) 이전 프로젝트에서 사용한 YOLO 의 기본적인 사용방법을 참고하여 YOLO에 대해 익힌 상태에서 파이썬 코드를 통해 실행 시키는 방법에대해 알아보겠다. 다크넷(darknet): C로 작성한 신경망 공개소스 https://www.youtube.com/watch?v=Cgxsv1riJhI 유의 유튜브 링크를 어떻게 컴퓨터가 개체를 즉시 인식하기위해 학습하는가 알수 있다.(TED 강의) 다크 넷의 특징 :..
Capstone What? - 라즈베리 파이를 이용해 도로 결함을 주기적으로 관찰하며 결함이 있는 도로를 탐지해 알려주는 시스템 Why? - 편리하고 효율적인 도로 결함 관리를 위해 시민들의 자발적인 참여없이 빠르게 도로 결함을 탐지하여 보수할수 있어 도로 결함으로 인한 사고를 예방할 수 있다. How? - 라즈베리 파이를 이용하여 도로 주행 영상과 GPS 데이터를 서버 컴퓨터로 전송후 YOLO 알고리즘을 사용해 도로의 결함을 탐지한다. 시스템 구상도 문제점 실시간 데이터 처리, GUI 구현 이번 학기의 진행 방향은 저번 학기에 모바일 어플리케이션으로 진행하여 정확도가 떨어졌던 부분을 보안하고자 서버에서 처리를 진행했습니다. https://sj-d.tistory.com/8 [1] 개발 배경 ( 포트홀로 ..
황썽진
'Capstone/Caostone2 - 2020-1학기' 카테고리의 글 목록