본문 바로가기

& 프로그래밍

(64)
라즈베리파이(카메라모듈 활용하기) 라즈베리파이에 연동시킬 수 있는 카메라 모듈은 2종류이다. USB타입으로 연결하는 방식과 라즈베리파이 보드에 직접 연결하는 타입이다. 내가 가지고 있는 모듈은 파이보드에 직접 체결하는 타입으로, 약 3만원대 제품이다 라즈베리파이에 연결해서 작동시키는 방법을 본격적으로 알아보자 1. 카메라 체결 라즈베리파이 보드를 보면 HDMI를 연결하는 커넥터 바로 왼편에 카메라 모듈을 체결할 수 있는 커넥터가 위치한다. 그 커넥터에 검정부분을 양끝으로 살짝 잡고 위로 올리면 톡! 하고 올라온다. 그다음 카메라 모듈을 끼워넣고 다시 마지막 사진처럼 검정부분을 아래로 밀어넣어서 체결시켜주면 된다. 2. 카메라 장치 활성화하기 카메라를 연결시켰다면 다음순서로 시스템적으로 활성화를 시켜주는 과정을 거쳐야 한다. $ sudo ..
라즈베리파이(GPIO) 라즈베리파이에는 GPIO라는 장치를 제공하여 주변에 다양한 센서들을 연결하여 제어할 수 있도록 해준다. 이번에는 이 GPIO를 이용하는 방법과 예제를 다뤄보고자 한다 GPIO 인터페이스는 라즈베리파이 가장자리에 위치한 핀이다. 여기에 원하는 장치를 연결해서 구동시키도록 설정해주는 것인데, 각 핀마다 가지고 있는 고유의 역할이 있다. 아래 사진을 통해 핀num, 역할을 확인하고 이 구조는 암기가 어렵다면 한장 출력해서 두고두고 보면서 활용하면 도움이 된다. 자, 각 GPIO핀이 하는 역할을 확인했다면, 이제 예제를 통해 라즈베리파이 콘솔에서 GPIO를 제어해보도록 하겠다. 1. GPIO 폴더로 이동하여 어떤 파일이 존재하는지 확인해본다 cd /sys/class/gpio ls -l ls를 통해 내용물을 보니..
openCV 프로그래밍 기초(Thresholding) 이번시간에는 openCV 이미지 프로세싱 방법 중 하나인 'Thresholding'을 알아보고자 한다. '임계값'이라고도 불리는 thresholding은 기준점을 잡고 그 이상은 1, 이하는 0으로 취급하는 개념으로 이해하면 쉽다. cv2.threshold()함수로 호출한다 1. 라이브러리 임포트 import cv2 2. 이미지 파일 불러오기 src = cv2.imread('data/images/threshold.png',0) 3. threshold값 정하기 #기준점을 설정한다 thresh = 0 #위에서 설정한 값보다 큰 값을 모두 255로 변경하도록 설정 maxValue = 255 4. 오리지널 이미지와 thresholding된 값 호출하여 비교하기 # 오리지날 이미지 cv2.imshow('Origi..
네이버랩스 자율주행 오픈데이터셋 페이지 오픈 하루에도 수십번씩 자율주행과 관련기술에 대한 검색을 하는데, 그 검색 데이터가 알고리즘에 의해 다양한 광고와 흥미로운 컨텐츠를 연결시켜주고 있다. 어젯밤 잠에 들기전에 우연찮게 광고로 연결된 페이지. 바로 '네이버랩스'이다 네이버랩스는 AI, 로보틱스, 자율주행, AR등 미래 시장을 선도한 기술들을 개발하는 R&D전문 자회사라고 한다. 2017년에 별도 법인으로 설립되어 지금까지 많은 기술을 개발하고 엔지니어를 창출하는 역할을 하고 있다. 같은해에 국토부 자율주행차 임시운행 허가를 받아서 곧장 자율주행 기술개발에도 뛰어든걸 보니 이미 어느정도 기술력을 보유한 상태였던거 같다. 이번 기회에 새롭게 알게된 정보는 내가 실생활에서 네이버랩스 기술을 체감해본 경험이 있다는거다! 그건 바로 네이버랩스에서 카쉐어링..
자율주행 기술(SSD: Single Shot Multibox Detector) 자율주행관련 프로젝트를 만들면서 직접 구현한 모델을 소개한다 첫번째로 소개하는 모델은 SSD(Single Shot Multibox Detector) 사실 SSD를 소개하기 전에 먼저 알고 있어야하는 모델이 있는데, R-CNN과 YOLO라는 모델이다. 왜 이 두 모델을 선행적으로 이해해야 하는지를 설명하자면, SSD모델의 기본 배경이 되기 때문! SSD는 완전 새로운 모델이 아니다. R-CNN과 YOLO의 기본구조는 동일하되, 단점을 보완하고 여러 보조적 시스템을 추가한 형태이기 때문이다. YOLO와 R-CNN 모델의 Detecting 과정을 설명해보자면, 1. 수집장치를 통해 input 받은 데이터에서 특징적인 영역에 후보를 선정한다 2. 그 후보군에 있는 픽셀을 리샘플링(resampling)한다.(전처..
라즈베리파이(SSH서버 설치/구축) 라즈베리파이 OS에는 SSH Server가 기본값으로 설치되어있지 않다. 그래서 사용자가 설치를 해줘야 하는데, 그 전에 SSH Server가 무엇인지 쉽게 설명하자면 하나의 공유시스템이라고 생각하면 된다. 사용자가 라즈베리파이만 활용하면 상관이 없지만, 컴퓨터로 했던 작업을 라즈베리파이로 옮기거나 빼오는 번거로운 작업을 줄이기 위해 컴퓨터에서 라즈베리파이를 쉽게 컨트롤하도록 설정해주는 것이다. 원격작업 같은 개념이랄까? SSH 서버 설치를 위해 라즈베리파이 명령창으로 진입해서 다음 코드를 입력해준다 # 관련 프로그램 설치 sudo apt-get install -y openssh-server openssh-client # 시스템 재시작 sudo systemctl restart ssh # 시스템 가동 su..
라즈베리파이(os설치) 지난시간 라즈베리파이를 구동하기 위해 기본 준비물을 소개했다 이번엔 그 준비물들을 바탕으로 라즈베리파이에 들어갈 라즈비안os를 설치하는 방법을 소개하고자 한다 1. 라즈비안os 이미지 설치 - 먼저 os 설치를 위해 라즈베리파이 공식 홈페이지로 접속한다 그러면 위 사진처럼 라즈베리파이에 넣을 os파일을 선택하여 다운받아준다. 3GB에 달하는 용량이라 다운받는데 시간이 좀 걸리니 다운받는동안 다음과정을 미리 준비하는것도 좋다 2. SD카드를 포맷한다 - SD카드를 리더기에 꽂아 컴퓨터와 연결해준다음 포맷을 해줄 때, FAT32(기본값)으로 지정해주면 된다. 3. os를 sd카드에 구워주기 위해 Etcher라는 프로그램을 설치한다 - Raspbian OS를 쉽게 SD카드에 구워주는 프로그램으로, 별도 설치과..
라즈베리파이(기본준비) 연초부터 지금까지 다양한 자율주행 기술을 배워왔고, 이제 본격적으로 자율주행 기술을 구현해볼 것이다 기술구현에 가장 기본이 되는 '라즈베리파이'를 사용하려한다 라즈베리파이는 소형 자동차, 냉장고, 실내 온도 측정, 라디오 등 임베디드 디바이스를 제작하는 용도로 활용된다. 내가 자주 보는 IT 전문 유튜버 서울리안님이 라즈베리파이를 이용해 디지털액자를 개발했는데, 이 영상을 보면 라즈베리파이가 어떻게 활용되는지 이해할 것이다 출처 : 서울리안 유튜브 라즈베리파이는 쉽게 말해 소형 컴퓨터라고 생각하면 된다. cpu, 메모리를 비롯해 각종 하드웨어 연결장치를 내장하고 있어, OS만 설치해준다면 진짜 컴퓨터처럼 활용할 수 있다 위 사진은 내가 사용하고 있는 라즈베리파이 3B+ 모델이다. 지금은 4모델도 나왔다고..