본문 바로가기

전체 글48

[Project] Lenticular Lens를 활용한 입체 사진 제작 - 1. 이론 개인 미니 프로젝트의 첫 번째 'LenticularLens(렌티큘러 렌즈)를 활용한 입체 사진 제작' 말 그대로 렌티큘러 렌즈를 사용해 입체(3D)사진을 만들어 보는 것인데, 입체 효과를 보기위해 이 렌즈에 사용될 '특별한 이미지' 를 python 코드로 만들어보도록 할 것입니다. 1.1 렌티큘러 렌즈 렌티큘러 렌즈가 무언가 특별한 렌즈라거나 생소하게 들릴 수 있지만, 위 사진처럼 옥외 광고나 스티커에서 쉽게 접해볼 수 있습니다. 이렇듯 시선에 따라 그림이 다르게 보이는 용도로써 쓰일 수 있겠지만 '양안시차의 원리'를 통해 평면 사진에서 사람은 입체감을 느낄 수 있게 됩니다. 1.2 양안시차의 원리 그렇다면 양안시차의 원리란 무엇일까? 사람의 눈은 사물을 볼 때 처음엔 평면 이미지로 받아들이지만 뇌에서는.. 2022. 2. 4.
[Project] 월담 행위 인식 모델 - 3. 학습 및 모델 평가 이전 포스팅까지의 절차로 코랩 환경에서의 머신러닝 준비가 완료되었습니다. 이제 라벨링한 파일들을 토대로 직접 커스텀 모델을 만들 차례입니다. 3.1 라벨링 파일 전처리 첫 번째 포스팅에서 이미지 파일을 YOLO 포맷에 맞도록 라벨링 하였고 해당 파일을 불러오도록 train 파일과 test 파일을 나누어 전체적인 경로에 대해 따로 txt 파일을 만들도록 합니다. import os current_path = os.path.abspath(os.curdir) COLAB_DARKNET_ESCAPE_PATH = '/content/gdrive/My\ Drive/darknet' #-- 본인 환경에 맞게 경로 변경할 것 COLAB_DARKNET_PATH = '/content/gdrive/My Drive/darknet' .. 2022. 1. 25.
[Project] 월담 행위 인식 모델 - 2. 개발환경(코랩, 다크넷) 설정 이전 포스팅에서의 절차를 잘 밟아왔다면 필요한 데이터에 대한 전처리는 거의 모두 끝낸 상태입니다. 이제 이미지 학습에 앞서 개발 환경을 설정할 차례입니다. https://colab.research.google.com/?hl=ko Google Colaboratory colab.research.google.com 다양한 IDE나 여러 웹 디버깅 툴이 있겠지만 구글 드라이브와 연동이 편리하고 무엇보다 GPU 개발 환경을 제공해 주는 코랩에서 진행하였습니다. 구글 계정만 있다면 쉽게 이용 가능하며 기타 자세한 팁이나 이용방법은 생략하도록 하겠습니다. 2.1 GPU 연동 및 cuDNN 설치 a. GPU 연동 코랩에서 새 노트를 생성하고 런타임 유형을 GPU로 변경합니다. 상단 목록 중 런타임을 클릭해 변경하면 됩.. 2022. 1. 25.
[Project] 월담 행위 인식 모델 - 1. 라벨링 및 이미지 전처리 머신러닝을 통해 커스텀 모델을 구현하는 프로젝트 요즘의 경우 곳곳의 CCTV의 활성화로 치안 문제가 어느 정도 완화되는 듯하지만 이 또한 사람이 하나하나 영상을 감시해야 하는 문제가 있기 때문에, 컴퓨터상에서 이를 먼저 인지하여 알려주면 어떨까 하는 아이디어에서 시작하였습니다. 여러가지 치안과 관련된 모델을 구상해 볼 수 있겠지만, 이번 프로젝트는 현재 관심 있는 월담(담을 넘는 행위) 인식 모델로 진행해 보았습니다. 개발 환경의 경우 코랩을 활용하였으며 개별 IDE로 구현하면 좋겠지만 gpu 연동 문제(cuda, ...)로 구글에서 제공하는 코랩의 GPU 환경을 이용하기로 하였습니다. 1.1 이미지 저장 및 라벨링 a. 이미지 넘버링 구글링 등으로 직접 다운로드하거나 여러 크롤링 툴로 필요한 이미지를 .. 2022. 1. 24.
[Python] Speech recognition 음성 인식 - 2 이전 포스팅에서 영상 파일 속 음성을 인식하였고, 이번에는 직접 마이크 출력을 통해 음성을 인식하도록 하겠습니다. 소스코드 import speech_recognition as sr #import sys #-- 텍스트 저장시 사용 r = sr.Recognizer() with sr.Microphone() as source: print("Say Something") speech = r.listen(source) #sys.stdout = open('audio_output.txt', 'w') #-- 텍스트 저장시 사용 try: audio = r.recognize_google(speech, language="ko-KR") print("Your speech thinks like\n " + audio) except s.. 2022. 1. 6.
[Python] Speech recognition 음성 인식 - 1 파이썬 라이브러리 중 음성인식 기능을 사용할 수 있는 speech recognition IDE에서 다음의 명령어로 pip를 통해 간단히 설치가 가능합니다. pip install SpeechRecognition 설치 완료후 speech recognition은 다음과 같은 인스턴스를 생성하여 모든 작업을 실시합니다. r = speech_recognition.Recognizer() 아래는 해당 인스턴스에서는 다음 7가지의 API들로 오디오 소스의 음성을 인식합니다. 각 기능에 대한 자세한 설명은 하단 링크를 참조하면 됩니다. recognize_sphinx CMU Sphinx (PocketSpnix 설치 필요) https://cmusphinx.github.io/ recognize_bing() MS의 Bing s.. 2022. 1. 6.
[OpenCV] putText 파라미터 OpenCV의 기초적인 함수 중 텍스트를 이미지 혹은 영상에 출력하는 putText 이번 포스팅을 통해 putText의 파라미터를 알아보고 활용해보는 테스트를 해보겠습니다. 기본적으로 다음과 같은 파라미터들이 있으며, 정리하자면 다음과 같습니다. cv2.putText(image, text, org, font, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]]) image 텍스트가 쓰여질 이미지 변수 입니다. 영상의 경우 프레임 입니다. text 쓰여질 텍스트를 입력합니다. org 텍스트 좌표를 지정합니다. 일반적인 x, y 좌표를 사용해 입력하면 됩니다. 디폴트 값은 org로 텍스트를 이미지의 오른쪽 하단에 쓰이도록 합니다. font 폰트의 종.. 2022. 1. 3.
[OpenCV] 광 흐름 탐지 - optical flow detection OpenCV의 calcOpticalFlowPyrLK 함수를 활용한 광 흐름 탐지(optical flow)를 코드 작성을 통해 테스트 해보겠습니다. 소스코드 import numpy as np import cv2 as cv #--비디오 파일 경로 path = './vedio.mp4' cap = cv.VideoCapture(path) #-- ShiTomasi corner 탐지를 위한 매개변수 feature_params = dict( maxCorners = 100, qualityLevel = 0.3, minDistance = 7, blockSize = 7 ) #-- lucas kanade optical flow를 위한 매개변수 lk_params = dict( winSize = (15, 15), maxLevel .. 2022. 1. 3.
[OpenCV] dlib 영상&캠 얼굴 랜드마크 (face landmark) 이전 포스팅에 이어 이번엔 영상 속 인물의 얼굴을 landmark 해보겠습니다. 소스코드 import numpy as np import dlib import cv2 RIGHT_EYE = list(range(36, 42)) LEFT_EYE = list(range(42, 48)) MOUTH = list(range(48, 68)) NOSE = list(range(27, 36)) EYEBROWS = list(range(17, 27)) JAWLINE = list(range(1, 17)) ALL = list(range(0, 68)) EYES = list(range(36, 48)) #-- 비디오파일, 데이터 파일 경로 vedio_path = './video.mp4' predictor_file = './shape_pr.. 2022. 1. 3.
반응형