Tech & Development
[ Python ] Template Match Detection
[ Python ] Template Match Detection
2022.11.25이미지 연산 방법을 통해 영역을 찾는 방법 중 네번째로 윤곽선이 아닌 템플릿과 일치되는 영역을 검출하는 방법에 대해 알아 보겠습니다. 사용하는 방법은 윤곽선 검출을 이용하는 것 만큼이나 간단합니다. Import packages import numpy as np from imutils.object_detection import non_max_suppression import cv2 import matplotlib.pyplot as plt Function declaration Jupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의 def img_show(title='image', img=None, figsize=(8 ,5)): plt.figure(fi..
[ Python ] Bright Spot Detection
[ Python ] Bright Spot Detection
2022.11.24이미지 연산 방법을 통해 영역을 찾는 방법 중 세번째로 객체의 빛을 이용하여 검출하는 방법에 대해 알아 보겠습니다. 앞서 소개한 이미지 연산을 통한 Object Detection 방법(Shape, Color)을 포함하여 이 글에서 다루는 Bright spot detection 까지 매우 단순한 방법입니다. 이 자체만으로는 현재 직면하고 계신 문제를 풀 수 없을지도 모릅니다. 하지만 이런 기능들로부터 영감을 받아 고민하고 응용한다면 꽤 훌륭한 결과물을 만들 수도 있을 것이라 생각합니다. Import packages import cv2 import numpy as np from scipy.spatial import distance as dist import imutils import matplotlib.py..
[ Python ] Color Detection
[ Python ] Color Detection
2022.11.24이미지 연산 방법을 통해 영역을 찾는 방법 중 두번째로 객체의 색상을 이용하여 검출하는 방법에 대해 알아 보겠습니다. Import packages import cv2 import numpy as np from scipy.spatial import distance as dist import imutils import matplotlib.pyplot as plt Function declaration Jupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의 def img_show(title='image', img=None, figsize=(8 ,5)): plt.figure(figsize=figsize) if type(img) == list: if type..
[ Python ] Shape Detection
[ Python ] Shape Detection
2022.11.23이미지에서 원하는 영역을 찾기 위해 DeepLearning 기반의 모델을 사용하지만, 매우 간단하게 이미지 연산 방법을 통해 영역을 찾을 수도 있습니다. 그 첫번째로 윤곽선의 속성을 이용하여 모양을 검출하는 방법에 대해 알아 보겠습니다. 이미지를 그레이스케일로 변환 노이즈를 줄이기 위한 이미지 블러링 이미지의 이진화 윤곽선 검출 추출된 윤곽선을 기준으로 근사 다각형 검출 Shape 종류 판단 Import packages import cv2 import imutils import matplotlib.pyplot as plt Function declaration Jupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의 def img_show(title=..
[ OpenCV ] Basic 7 - 이미지 자르기 (Crop)
[ OpenCV ] Basic 7 - 이미지 자르기 (Crop)
2022.11.21Image Crop Crop은 이미지에서 필요한 이미지의 일부만 잘라내기 위해 사용합니다. 예를들어, 이미지에서 얼굴 영역만 찾아 잘라내는 기능을 개발한다면 Crop을 통해 잘라낼 수 있습니다. Import packages import cv2 import imutils import matplotlib.pyplot as plt Jupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의 def img_show(title='image', img=None, figsize=(8 ,5)): plt.figure(figsize=figsize) if type(img) == list: if type(title) == list: titles = title else: ti..
[Python] *args와 **kwargs 사용방법
[Python] *args와 **kwargs 사용방법
2022.11.21Python에서 *args, **kwars를 사용하는 함수를 볼 때가 있습니다. C를 접하신분은 * 를 보고 Python에도 포인터가 있다고 오해할 수도 있지만 다행히도 포인터는 아닙니다. 분명 arguments를 받는 인자인 것 같은데, Python 입문자들을 혼동스럽게 만드는 *args와 **kwars에 대해서 알아보겠습니다. (작성 하실 때 *args와 **kwars 라는 이름을 사용할 필요는 없습니다. args와 kwars는 변수명이기때문에 다른 변수명 앞에 * 또는 **를 붙여 사용하면 됩니다. 예를들어 *vars나 **arguments 등으로 바꾸어 사용하시면 됩니다.) 간단히 argument를 입력받아 print하는 예를 들겠습니다. def print_args(arg1, arg2): prin..
Mac에서 AWS Windows Server(EC2) 원격제어 (RDP클라이언트)
Mac에서 AWS Windows Server(EC2) 원격제어 (RDP클라이언트)
2022.09.291. App Strore에서 Microsoft Remote Desktop 어플리케이션을 다운로드 후 설치 (무료) 2. Microsoft Remote Desktop 어플리케이션을 실행 후 EC2 주소를 등록하기 위해 [Add PC] 버튼을 클릭 3. PC name, User account 정보를 입력 후 [Add] 버튼 클릭 [PC name]: Host name 또는 IP 주소를 입력 (AWS 웹사이트의 인스턴스 요약 정보에서 "퍼블릭 IPv4 DNS" 값을 복사하여 붙여넣기) 계정을 추가하기 위해 User account > [Add User Account...] 클릭 [User name]: EC2에서 Windows Server 2012가 설치되었으면 기본적인 User name은 "Administrato..
Train Swin-Object Detection using Custom Data(without mask)
Train Swin-Object Detection using Custom Data(without mask)
2022.08.021. Swin Transformer (Hierarchical Vision Transformer using Shifted Windows) Object Detection은 CNN을 기반으로 다양한 bounding box regression 기법을 연구하는 방향으로 진행해 왔습니다. 그러다 2020년 초반부터 NLP분야에서 사용되던 attention기반의 Transformer를 object detection 에 적용해보려는 시도가 이루어지면서 새로운 object detection모델들이 나오기 시작합니다. DETR 모델을 시작으로 Deforma DETR, ViT 등이 나왔고 성능이 EfficientDet보다 조금씩 나아지면서 Transformer를 CV에 적용하려는 연구가 활발해집니다. 하지만 ViT 모델만 ..
JetBrains Space 시작하기
JetBrains Space 시작하기
2022.06.27개발을 하다보면 업무 진행상황이나 지난 히스토리를 파악하는데 어려움을 겪을 때가 있습니다. 또한 프로젝트를 관리하거나 일정공유 등도 해야는 경우에는 각기 다른 툴을 사용하면서 번거로움을 느끼기도 합니다. 함께 일하는 공간이 아닌 경우에는 커뮤니케이션도 힘들고 공유한 자료 보관도 어렵죠. 현재 JetBrains의 PyCharm을 사용하고 있는데, JetBrains Space 클라우드 개발 환경을 이용하면 개발 환경을 중앙집중식으로 관리 할 수 있고 팀원과 코드를 공유하거나 함께 작업하는데 유용할 것 같아서 사용을 해보려고 합니다. (무료이기도 하구요) JetBrains Space란 무엇인가? Space는 JetBrains가 개발한 팀을 위한 통합 환경입니다. 팀이 보다 생산적이고 효율적으로 일할 수 있게 ..
[Python] dictionary(딕셔너리) Value로 Key찾기
[Python] dictionary(딕셔너리) Value로 Key찾기
2022.06.10Python에서 dictionary(딕셔너리) 타입은 immutable한 키(key)와 mutable한 값(value)으로 맵핑되어 있는 순서가 없는 집합입니다. 일반적인 딕셔너리 타입은 중괄호로 되어 있고 키와 값으로 이루어져 있습니다. test_dict = {'0': 'AA', '1': 'BB', '2': 'CC', '3': 'DD'} test_dict >> {'0': 'AA', '1': 'BB', '2': 'CC', '3': 'DD'} key를 이용하여 value를 찾는 방법은 다음과 같습니다. test_dict.get('3') >> 'CC' test_dict['3'] >> 'CC' 반대로 value를 이용해 key를 찾는 방법은 다음과 같습니다. [k for k, v in test_dict.ite..
[ OCR ] Naver CLOVA OCR API 를 이용한 OCR 개발 - Python
[ OCR ] Naver CLOVA OCR API 를 이용한 OCR 개발 - Python
2022.05.06현재 한국에서 가장 많은 사람들이 사용하는 인터넷 포털 서비스 회사인 네이버에서 개발한 인공지능 플랫폼인 Naver CLOVA에서 제공하는 OCR API를 활용하여 이미지에서 텍스트 영역을 감지하고 문자 인식(OCR)을 하는 방법에 대해 설명드리도록 하겠습니다. Naver Cloud Plaform는 OCR 이외에도 AI 관련 인프라부터 음성 인식, 얼굴 인식 등 다양한 서비스를 쉽고 편리하게 구축할 수 있도록 제공하고 있습니다. 1. 도메인 생성 Naver CLOVA OCR API를 사용하기 위해서는 Naver Cloud Platform 계정이 필요하며 계정이 없다면 계정 생성이 필요합니다. Naver Cloud Platform 페이지로 이동하여 회원 가입 및 로그인을 진행합니다. Naver CLOVA ..
[ OCR ] Amazon Rekognition API 를 이용한 OCR 개발 - Python
[ OCR ] Amazon Rekognition API 를 이용한 OCR 개발 - Python
2022.05.06Amazon Rekognition API를 이용하여 이미지에서 텍스트의 영역을 감지하고 문자 인식(OCR)을 하는 방법에 대해 설명드리도록 하겠습니다. Google이나 Microsoft, Amazon 과 같은 회사의 공통점은 엄청난 양의 이미지 데이타를 보유하고 있다는 것입니다. 그리고 그들은 이미 이런 데이터를 활용하여 믿을 수 없을 정도의 높은 성능의 OCR 모델을 만들었고 API로 제공하고 있습니다. 1. Amazon Rekognition API 키 발급 Amazon Rekognition OCR API 수행하기 위해서는 먼저 Amazon Rekognition에 대한 자격 증명 키 발급이 필요합니다. AWS 계정이 필요하며 계정이 없다면 계정 생성이 필요합니다. 계정 생성 시에 신원을 확인하기 위해..