분류 전체보기

개발

라즈베리파이 마이크 설정

1. 패키지 설치sudo apt-get install sox 2. 녹음하기rec ${FILE_NAME} rec sample.wav 3. 음성 재생하기play ${FILE_NAME} play sample.wav 4. 디바이스 설정alsamixer 5. 볼륨 설정amixer set Capture 60% amixer set Capture 10%+ amixer set Capture 10%-

개발

SpeechRecognition

💡Speech Recognition 패키지에서 기본이 되는 google api와 한국어와 오프라인 모드를 지원하는 vosk, whisper를 중점적으로 stt 기본 코드를 활용 1. 개발환경 구성pip3 install SpeechRecognition # for MAC brew install portaudio pip3 install pyaudio # for Ubuntu sudo apt-get install python-pyaudio python3-pyaudio sudo apt-get install portaudio19-dev python-all-dev python3-all-dev sudo pip install pyaudio # for api python3 -m pip install vosk python3 ..

딥러닝

Yolov3와 Yolov5

Original Image Yolov3 (Darknet)OpenCV, C++ 등 환경 설정이 까다롭다학습 시간도 비교적 오래 걸린다. (코랩: 1h 7min 10s, GTX 3070 Ti: 31min 47s)학습 도중 실시간으로 그래프 확인이 가능하다. (tensorboard 등 다른 라이브러리 활용 없이도) Yolov5pytorch로 비교적 쉽게 개발할 수 있다.윈도우로 학습시 WinError가 발생하여 WSL로 학습이 가능하다.학습된 모델을 구동하는 것은 윈도우에서 활용이 가능하다.학습 시간이 비교적 짧게 소요된다. (코랩: 6min 16s, GTX 3070 Ti(WSL): 2min 31s)학습 및 실행 결과를 자동으로 새로운 폴더로 관리해준다.

대학원

[예비심사 후기2] 논문 관련 피드백

예비심사를 진행하면서, 지도 교수님과 여러 심사위원 교수님의 피드백의 개괄적인 내용을 정리한 글입니다. 연구 주제 논리적인 주장에 의해서 문제를 해결해나가는 느낌을 주어야 함 석사 논문은 세상에 큰 문제를 해결한다는 느낌은 아님 설득의 기술도 필요 독특한 기술을 쓴다고 하여서 통과되는 것이 아님 왜 연구 주제를 선택했고 다른 연구와의 차별성이 필요 문제의 포인트가 무엇이고, 해결하려는 명확한 목적이 있어야 함 내가 무엇을 했는지에 대한 내용을 담겨야 함 > 대안, 기술강화 가설을 세우고, 그 결과를 증명한다는 내용 필요 목차 전반에서 후반으로 갈수록 내용을 강해지는 느낌이 되도록 써야함 후반장에서는 제안하는 내용이나 인상적인 부분은 작성해야함 논문이 진행될 수록 후반 내용이 전반 내용으로 변경되는 방식으..

대학원

[예비심사 후기1] 논문 준비부터 발표까지

주제 선정 (3/2 ~ 3/10, 3/20) 일주일간 여러 논문을 살펴보면서 2~3개의 주제 탐색 졸업하신 선배님들의 논문의 내용을 확인하면서, 어느 정도여야 합격할 수 있는지 곰곰이 생각함 내가 잘 설명할 수 있고, 논문 합격이 수월할 것 같은 주제로 선정 지도교수 선정 (3/14~3/28, 4/23) 지도교수님을 요청하여, 논문 주제와 관련하여 4~5페이지 분량의 페이퍼를 전달하여 피드백 요청 교수님이 내가 선택한 주제를 맘에 안들어서 하셔서, 주제와 관련하여 교수님을 설득 3주 정도 걸렸고, 주제는 내가 원하는 것으로 하였지만 교수님이 원하시는 방향으로 살짝 틀었음 교수님과 주제를 확정한 이후에, 예비심사 관련하여 대략적인 목차나 분량을 문의드리고 답변해주신 내용을 목표로 정함 예비심사와 지도교수 ..

ROS

템플릿 매칭

템플릿 매칭입력 영상에서 템플릿 영상 위치를 찾는 기법템플릿 찾을 대상이 되는 작은 영상matchTemplateTM_SQDIFFTM_CCORRTM_CCOEFF영상의 변형잡음 → 가우시안 필터밝기/명암 → 정규화크기/회전 변환 → 취약예시 여러 개의 템플릿 매칭예시 이미지템플릿 영상입력 영상구현 방법정규화된 상관 계수 행렬 구하기정규화된 상관 계수 값이 충분히 큰 영역 검출각각의 영역에서 국지적 최대 지점 검출검출 영상 확인 템플릿 매칭을 이용한 숫자 인식인식 여러 개의 클래스 중에서 가장 유사항 클래스 선택Consolas 폰트 예시

ROS

이진화, 객체 단위 분석

이진화개념개념영상의 픽셀 값을 0 또는 255로 만드는 연산배경과 객체, 관심영역(ROI)와 비관심 영역으로 나누는 작업방법임계값 연산을 이용g(x,y)={255if f(x,y)>T0if f(x,y)≦T (T:threshold)g(x,y) = \begin{cases} 255 &\text{if } f(x,y) > T \\ 0 &\text{if } f(x,y) \leqq T \end{cases} \space\space\space\space\space(T: threshold)g(x,y)={2550​if f(x,y)>Tif f(x,y)≦T​ (T:threshold)예시 이미지thresholdTHRESH_BINARYTHRESH_BINARY_INVTHRESH_OTSU입력 영상이 배경과 객체 두 개로 구성되어 있다고..

ROS

에지검출, 허프변환, 코너검출

에지 검출에지 영상에서 픽셀의 밝기 값이 급격하게 변하는 부분객체 분할 및 인식을 위한 기본적인 과정영상을 (x,y)(x, y)(x,y) 변수의 함수로 간주했을 때, 이 함수의 1차 미분 값이 크게 나타나는 부분을 찾는 방식으로 검출입력 영상에 가우시안 블러를 적용하여 잡음을 제거한 후 에지를 검출하는 것이 바람직함1차 미분의 근사화전진 차분 → 3후진 차분 → 1중앙 차분 → 2에지 검출 마스크 가로 세로 Prewitt[−101−101−101]\begin{bmatrix} -1 & 0 & 1\\ -1 & 0 & 1\\ -1 & 0 & 1 \end{bmatrix}⎣⎡​−1−1−1​000​111​⎦⎤​[−1−1−1000111]\begin{bmatrix} -1 & -1 & -1\\ 0 & 0 & 0\\ 1 ..

ROS

OpenCV의 컬러영상

OpenCV의 컬러 영상CV_8UC3 타입으로 색상을 256단계로 표현BGR 순서그레이스케일로 변환 cvtColor장점 데이터 저장 용량 감소, 연산 처리 속도 향상단점 색상 정보 손실 색상(color)사람의 눈에 있는 원추 세포가 빛의 특정 파장에 따라 다르게 반응하여 인지하는 것모든 색상은 세가지 원색의 조합으로 표현된다색 공간 변환RGB 색 공간을 목적에 따라 HSV, YCrCb, Lab 등의 색공간으로 변환하여 처리RGB빛의 삼원색인 빨간색, 녹색, 파란색을 혼합하여 색상을 표현카메라의 Bayer 필터, TV & 모니터, 비트맵HSV색상(Hue), 채도(Saturation), 명도(Value)를 이용하여 색을 표현하는 방법일반적인 8비트 영상의 경우 Hue/2를 대신 사용하여 색 범위 표현YCrC..

ROS

영상의 화소, 연산, 필터링, 변환

영상의 화소처리(point processing)입력 영상의 픽셀 값 → 출력 영상의 필셀 값으로 설정하는 연산 saturate_castdst(x,y)=f(src(x,y))(dst:출력영상,src:입력영상)dst(x, y) = f(src(x, y))\\(dst: 출력영상, src: 입력영상)dst(x,y)=f(src(x,y))(dst:출력영상,src:입력영상)밝기(brightness) dst(x,y)=src(x,y)+ndst(x, y) = src(x, y) + ndst(x,y)=src(x,y)+n 반전(inverse) dst(x,y)=255−src(x,y)dst(x, y) = 255 - src(x, y)dst(x,y)=255−src(x,y) 명암비(contrast)dst(x,y)=saturate(s∗src..

ROS

ROS 원격 접속하기

1. 네트워크 설정 동일한 네트워크에 연결시키거나, 다른 네트워크인 경우에는 포트포워딩을 해서 연결가능하게 한다 ping이나 ssh 접속을 통해서, 서로 연결이 가능한지 확인해본다 2. 컴퓨터 환경 설정 /etc/hosts 설정 컴퓨터 설정 호스트 컴퓨터(roscore)는 클라이언트 컴퓨터의 아이피와 호스트 이름을 추가한다 클라이언트 컴퓨터는 서버 컴퓨터의 아이피와 호스트 이름을 추가한다 파일 수정 이후 sudo service network-manager restart로 서비스를 재시작한다 .bashrc 설정 ROS_HOSTNAME는 주석하여 지우고, ROS_MASTER_URI를 자신의 IP로 설정한다. 파일 작성 이후, source ~/.bashrc로 설정을 업데이트한다 3. 연결 테스트 서버는 2개의..

ROS

ROS turtlesim 8자 주행

1. 패키지 생성 cd ~/${workspack_name}/src # cd ~/ros_ws/src catkin_create_pkg ${package_name} roscpp rospy std_msgs # catkin_create_pkg driving_test roscpp rospy std_msgs cd ../ && catkin_make rospack find ${package_name} # rospack find driving_test cd src/${package_name} # cd src/driving_test mkdir launch 2. 파일 작성 src에 turtle.py를 생성한 후, 다음의 내용을 작성하고 chmod +x turtle.py로 권한을 추가한다 #!/usr/bin/env python..

'분류 전체보기' 카테고리의 글 목록 (2 Page)
devskim