Object Detection
YOLOv9 Custom Data 학습 가이드
YOLOv9 Custom Data 학습 가이드
2024.03.18LLM(Large Language Models) 모델의 등장 이전에는 머신러닝(ML) 영역에서 이미지 인식(Object Detection, Recognition, Object Tracking 등)이 크게 주목받았습니다. 그러나 LLM의 등장과 함께 많은 관심이 이 새로운 모델군으로 기울었고, 심지어는 멀티모달 모델도 등장하여 이미지 처리 분야에서도 높은 성능을 보이기 시작했습니다. 하지만, 실제 테스트를 해보면 Object Detection 같은 정밀한 측정이 필요한 영역에서는 이러한 모델들이 한계를 보이는 경우가 많습니다. Object Detection 분야에는 다양한 모델이 존재하지만, 오늘은 YOLO에 대해 이야기해보려 합니다. Object Detection 정리 (History) 이미지 내에서 사..
GPT-4V(ision)를 이용한 객체 탐지(Object Detection) - (Python)
GPT-4V(ision)를 이용한 객체 탐지(Object Detection) - (Python)
2023.11.26이번 글에서는 GPT-4V를 활용하여 객체 탐지(Object Detection)에 대해 알아보겠습니다. 객체 탐지(Object Detection)는 이미지 내 특정 객체를 식별하고, 그 위치를 정확하게 파악하는 과정을 말하며 이미지 분류(Classification)와 위치 파악(Localization)을 동시에 수행하는 이미지 인식 기술입니다. 이미지 분류(Classification)는 이미지 내의 객체가 무엇인지 식별하고 위치 파악(Localization)은 그 객체가 이미지 내 어디 곳에 위치해 있는지를 나타냅니다. #1. 필수 패키지 설치 및 준비 GPT-4V를 활용한 이미지 인식 프로젝트를 시작하기 전에, 필요한 Python 패키지들을 설치하고 준비하는 과정이 필요합니다. 1) 패키지 설치 먼저,..
Object Detection 정리 (History)
Object Detection 정리 (History)
2022.12.14이미지 내에서 사물을 인식하는 방법에는 다양한 유형이 존재합니다. 그중 Object Detection에 대해 정리를 하려고 합니다. 먼저 내용은 개인적인 경험을 바탕으로 한 매우 주관적인 내용이라는 점을 미리 말씀드립니다. 저는 사실 Object Detection을 처음 접한 것은 2018년이라고 해야 할 것 같습니다. 이미지에서 내가 원하는 영역만 찾으면 좋겠다는 생각은 했지만, Public Dataset이 아닌 내가 원하는 Object를 기준으로 Dataset을 만들고 학습시키는 과정이 처음에는 쉽지 않았습니다. 처음에 R-CNN을 이용하여 개발해보고 "이 결과가 잘 나온 것인가?"라는 의문도 들었던 때도 있었고, YOLO를 개발하기 위해 Darknet Framwork를 설치하고 환경설정을 하면서 꽤..
[ Python ] Object Detection using MobileNet SSD (D/L)
[ Python ] Object Detection using MobileNet SSD (D/L)
2022.11.29Deep Learning 모델을 이용하여을 객체를 검출하는 방법에 대해 알아보도록 하겠습니다. Object Detection 분야에 딥러닝을 최초로 적용시킨 모델이 2013년 11월에 등장하는데 그 모델이 바로 R-CNN(Regions with Convolutional Neuron Networks features) 입니다. 분명 기존의 다른 모델과 비교해 성능을 상당히 향상시킨 모델이였지만 처리속도가 매우 느려서 Real-Time에서 활용하기 어렵습니다. (실제로 이미지 한장단 GPU환경에서는 13초가 걸렸으며 CPU로는 53초가 걸렸습니다.) 이후 수많은 Deep Learning 이용한 모델들이 등장하기 시작하는데, 그들의 고민 중 하나가 바로 처리속도 였습니다. MobileNet SSD MobileN..
[ Python ] Color Detection using XGBoost (M/L)
[ Python ] Color Detection using XGBoost (M/L)
2022.11.28지금은 Deep Learning을 기반으로 하는 Object Detection 알고리즘이 많고 성능 역시 뛰어나지만 더 간단하게 M/L 방법을 이용하여 객체를 찾고 분류하는 것이 가능합니다. 물론 정확도 측면에서는 부족하지만 속도면에서는 월등히 앞서고 쉽게 응용하여 다양한 시도를 할 수 있습니다. 이전 글에서 소개했던 Color Detection 을 이미지 연산이 아닌 XGBoost Model을 이용하여 수행하려고 합니다. 1. XGBoost Classification Model 생성 XGBoost 패키지 설치 pip install xgboost Import packages from xgboost import XGBClassifier from xgboost import plot_importance fro..
[ 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=..
딥러닝 객체 검출 용어 정리
딥러닝 객체 검출 용어 정리
2021.08.251. Classification 입력으로 주어진 이미지 안의 객체의 종류를 구분하는 행위입니다. 학습방법 : Classification Model은 이미지를 보고 각 폴더에 분류 후 학습 시켜 만듭니다. Model을 만들기 위한 분류 작업은 사람이 하게 됩니다. 생성된 Classification에 이미지를 입력하면 결과 값을 줍니다. 2. Localization 주어진 이미지 안의 Object 가 이미지 안의 어느 위치에 있는지 위치 정보를 출력하는 것입니다. 이제부터는 위치 정보가 필요합니다. (X, Y, W, H) 학습방법 : Localization Model은 이미지의 좌표를 Text 형태로 저장해야 합니다. 좌표 정보를 얻기 위해 Labeling 프로그램을 이용합니다. 더보기 데이타의 형태는 아래..