Tech & Development
개발자를 위한 맥북 세팅 (Homebrew, iterm2, oh my zsh)
개발자를 위한 맥북 세팅 (Homebrew, iterm2, oh my zsh)
2022.02.031. Dock에서 불필요한 아이콘은 모두 삭제2. Homebrew 설치다양한 어플리케이션을 빠르고 편리하게 설치하기 위해서 사이트로 이동합니다. 스크립트를 복사하여 터미널에 붙여넣고 Homebrew를 설치합니다.설치가 완료되었다면 Homebrew를 통해서 어플리케이션을 각각의 웹사이트 방문없이 손쉽게 설치가 가능합니다. Homebrew로 설치가 가능한 어플리케이션을 알고 싶다면 Homebrew 사이트로 이동하여 이름을 검색하면 됩니다. (검색이 안된다면 언어를 English로 바꾸시고 검색해보세요.)3. iterm2 설치Homebrew에서 복사한 iterm2를 검색하여 Install command를 복사 후 터미널에 붙여넣어 설치를 진행합니다.4. iterm2 설정설정을 위해 iTerm을 실행합니다.Pr..
Python, OpenCV Haar Cascades를 이용한 얼굴 인식방법
Python, OpenCV Haar Cascades를 이용한 얼굴 인식방법
2022.01.282001년 Viola와 Jones가 "Rapid Object Detection using a Boosted Cascade of Simple Features" 논문에서 특징(feature) 기반의 Object 검출 알고리즘(Haar cascades)을 소개하였습니다. 근래에 많은 알고리즘(HOG + Linear SVM, SSD, Faster R-CNN, YOLO 등)이 Haar cascades보다 더 정확하지만 여전히 오늘날에도 Object 검출 연구와는 관련성이 있고 매우 유용합니다. 그리고 확실한 것은 Haar cascades 속도가 너무 빨라 그 속도를 능가하기 어렵다는 것입니다. Haar cascades는 OpenCV에서 사용이 가능하고 리소스가 제한된 환경에서 사용 있습니다. 알고리즘은 다음 4..
dlib, Python을 이용하여 강아지 얼굴 인식하는 방법
dlib, Python을 이용하여 강아지 얼굴 인식하는 방법
2022.01.24사람 얼굴을 인식하는 방법에서 조금 더 나아가 강아지의 얼굴을 인식하는 방법에 대해 알아보겠습니다. 강아지 얼굴을 인식하기 위한 모델은 tureckova 라는 분이 개발한 모델을 사용했습니다. (tureckova는 강아지가 카메라를 바라보면 얼굴을 인식하여 자동으로 저장하기 위한 프로그램을 개발하기 위한 목적이였다고 설명하고 있습니다.) 모델 파일은 링크에서 다운로드 가능합니다. (dogHeadDetector.dat, landmarkDetector.dat 파일을 다운로드 받습니다.) 아직까지 사람들은 자신의 얼굴을 인식되는 상황에 대해 거부감이 있습니다. 실제 얼굴 사진을 수집하는 것이 아니라 얼굴의 측정값이라 하더라도 말이죠. 그래서 오히려 강아지 얼굴을 인식하고 구별 할 수 있다면 유기견 문제를 해결..
dlib, Python을 이용하여 얼굴 인식하는 방법
dlib, Python을 이용하여 얼굴 인식하는 방법
2022.01.20간혹 TV나 영화를 보다보면 누가 누군인지 모를 정도로 닮아 혼란에 빠뜨리게 하는 연애인이 있습니다. 다른 연애인 도플갱어 블로그나 얼굴 인식 기술을 소개하는 자료를 보면 항상 등장하는 사람이 있는데, 바로 Will Ferrell(배우)과 Chad Smith(뮤지션) 입니다. 실제로 두 사람은 닮은 꼴로 유명해서 The Tonight Show라는 토크쇼에 출연했었습니다. 이전 글에서 얼굴을 검출하는 방법을 소개했었는데, 이번에는 얼굴 고유한 특징을 찾아 구별해내는 얼굴 인식 기술을 구현하는 방법을 소개하도록 하겠습니다. 참고 실제로 얼굴을 구별하는 단계에 이르렀습니다. 하지만 이미 얼굴 태그가 달린 사람들과 비교를 하기에는 너무 오래 걸립니다. 특히 수십억 멱의 사용자와 1조 개의 사진이 있는 Faceb..
dlib, Python을 이용하여 얼굴 검출하기
dlib, Python을 이용하여 얼굴 검출하기
2022.01.20스마트폰의 카메라를 사용해 보셨다면 한번쯤은 얼굴 인식 기능을 경험해 보셨을 겁니다. 최근 카메라의 얼굴 인식 기능은 매우 중요한 기능이 되었습니다. 얼굴을 자동으로 인식하고 초점을 맞추거나 태그를 만들어 주기도 합니다. 얼굴 인식 기술은 여러 가지 모델이 제안되었는데 OpenCV의 Harr Cascades와 dlib의 HOG (Histogram of Oriented Gradients) 가 대표적인 모델입니다. 여기서는 dlib의 HOG 방식을 사용 할 것입니다. 참고 이미지에서 얼굴을 찾기 위해 이미지를 Grayscale로 바꾸는 것부터 시작합니다. 왜냐하면 얼굴을 찾는데 색상 데이터는 필요 없기 때문입니다. 모든 단일 픽셀에 대해 이를 직접 둘러싸고 있는 픽셀을 살펴봅니다. 단일 픽셀을 둘러싸고 있는..
[ PyQt ] Qt Resource 파일 (.qrc) 적용방법
[ PyQt ] Qt Resource 파일 (.qrc) 적용방법
2022.01.18Qt Designer를 이용하여 이미지를 넣을 때 직접 이미지 파일을 선택하여 사용 할 수도 있지만 실행 파일을 만들때 오류가 발생 할 수 있습니다. 이런 경우를 대비하여 Qt 리소스 파일로 만들어 사용합니다. Qt Designer에서 리소스를 관리하는 영역은 아래와 같습니다. 1. 리소스 편집 (연필) 버튼 클릭 ▶ 새 리소스 파일 클릭 2. 리소스 파일명 입력 후 저장 클릭 3. 접두어 추가 (생량 가능) 4. 파일 추가를 클릭하여 이미지를 선택 5. 리소스 선택을 클릭하여 추가된 이미지를 사용 Qt Designer에서 리소스를 사용한 경우 PyQt uic가 리소스 import를 호출하는 디렉토리에서 리소스 파일을 찾으려 합니다. pyrcc5 를 이용하여 Qt 리소스 파일(.qrc)을 Python 모..
맥북 dlib 간단하게 설치하기 (Mac OS)
맥북 dlib 간단하게 설치하기 (Mac OS)
2022.01.17Dlib 는 기계학습 알고리즘과 도구를 포함하는 C++ 언어로 작성된 툴킷입니다. Dlib는 오픈 소스 라이선스를 통해 모든 어플리케이션에서 무료로 사용 할 수 있습니다. 이 글에서는 Mac OS에 Dlib를 설치하는 방법에 대해 간단히 소개합니다. 1. Install Homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 2. Install Python3 (and pip3) using Homebrew 이미 Python이나 Anaconda를 통해 설치가 되어 있다면 Skip brew install python@3.6 # 최신 버전 설치 시 # brew install py..
Jupyter Lab 바로가기 만들기 (Mac)
Jupyter Lab 바로가기 만들기 (Mac)
2022.01.14맥북에서 Jupyter Lab 바로가기 를 만드는 법에 대해 소개하겠습니다. 1. Anaconda3 설치경로에서 bin 폴더로 이동합니다. (저는 경우는 opt\Anaconda3\bin입니다.) 2. command + option 키를 동시에 누른 다음 jupyter-lab 파일을 바탕화면에 드로그앤 드롭하면 바로가기 파일이 생성됩니다. 3. 바로가기 파일을 우클리하여 "정보 가져오기" 를 클릭합니다. 4. 아이콘 이미지가 있다면 복사하고 Jupyter Lab 정보 창의 아이콘을 클릭 후 붙여넣기 합니다. 아이콘 보기 다 끝났습니다. 클릭하여 실행해보니 잘되네요. 윈도우보다 간편하다는 생각이 듭니다.
Jupyter Lab 바로가기 만들기 (Windows)
Jupyter Lab 바로가기 만들기 (Windows)
2022.01.14Anaconda를 설치해보면 Jupyter Notebook은 있지만 Jupyter Lab은 없습니다. Jupyter Lab 바로가기를 추가하는 방법에대해 설명 드리겠습니다. 1. Anaconda3 설치경로에서 Scripts 폴더로 이동합니다. (저는 D드라이브에 설치했기때문에 D:\Anaconda3\Scripts 입니다.) 2. jupyter-lab 파일을 찾아서 마우스 우클릭 후 바탕화면 "바로 가기 만들기"를 클릭합니다. 3. 바탕화면에 생성된 바로 가기의 이름을 변경해줍니다. 4. 속성을 클릭하여 시작 위치를 변경합니다. Python 작업을 하려는 폴더로 변경하시면 됩니다. 5. 아이콘도 변경합니다. Anaconda3 설치 경로에 Menu 라는 폴더에 가시면 기본 아이콘이 있습니다. (저는 D:\A..
[ OCR ] EasyOCR 사용하기 - Python
[ OCR ] EasyOCR 사용하기 - Python
2022.01.13EasyOCR은 문자 영역 인식(Detection), 문자 인식(Recognition)을 손쉽게 수행 할 수 있도록 하는 Python 패키지 입니다. EasyOCR은 구현이 간단하고 매우 직관적입니다. 현재 80개이상의 언어를 지원하고 있으며, 꾸준히 Releases 되고 있습니다. 최근에는 손글씨 인식을 목표로 하고 있습니다. EasyOCR은 OCR 오픈소스로 Detection과 Recognition부분으로 나누어져 있으며 Text Detection은 CRAFT를 사용하고 Recognition은 CRNN사용합니다. Framework는 모든 소스가 pytorch로 작성되어있습니다. OCR 수행결과와 텍스트의 Bounding Box 좌표를 얻을 수 있습니다. 또한 한번에 여러 개의 언어 인식도 가능합니다...
[ OCR ] 문자 추출 및 인식 (EAST text Detector Model) - Python
[ OCR ] 문자 추출 및 인식 (EAST text Detector Model) - Python
2022.01.13일반적으로 OCR에서 원하는 영역을 추출하는 방법은 이전 글에서 설명드린 것처럼, 그래디언트를 적용하고 단락으로 그룹화하여 조건식으로 특징을 입력하여 찾습니다. 문제는 통제되지 않은 촬영 환경에서 촬영한 사진에서 텍스트를 감지하는 것은 매우 어렵다는 것입니다. 시야각은 텍스트와 평행하지 않고 빛이나 조명에 의해 지나치게 어둡거나 밝을 수도 있습니다. EAST 문자 감지 모델은 Text가 흐리거나 기울어진 환경에서도, 부분적으로 가려직 경우에도 찾아낼 수 있습니다. EAST는 An Efficient and Accurate Scene Text Detector의 약자로 Zhou et al.의 2017년 논문을 기반으로 하는 딥러닝 문자 감지기입니다. 논문에 따르면 EAST는 720p 이미지에서 방향과 상관없이..
[ OCR ] 파이썬 Tesseract OCR 활용 (심화2) - Python
[ OCR ] 파이썬 Tesseract OCR 활용 (심화2) - Python
2022.01.11그림, 표, 바코드 등을 포함한 복잡한 구조의 이미지인 경우에서는 OCR 결과가 좋지 않습니다. 원하는 영역만 추출하여 OCR을 수행하면 좋을 것 같은데.. 하지만 이미지에서 내가 원하는 영역을 정확하게 파악하고 출력하는 것은 쉬운 일이 아닙니다. 다양한 이미지에서 원하는 영역만 추출하여 OCR을 수행하거나 OCR결과에서 원하는 값을 찾는 방법에 대해 소개합니다. Import Packages from imutils.perspective import four_point_transform from imutils.contours import sort_contours import matplotlib.pyplot as plt import pytesseract import imutils import cv2 impo..