분류 전체보기
ChatGPT 사용기 (사용법)
ChatGPT 사용기 (사용법)
2022.12.20지난 12월 3일에 영국 인디펜던트 일간지에 "Google is done" 이라는 제목으로 기사가 올라옵니다. 곧 AI와의 대화가 검색을 대체할 것이고 그렇기때문에 구글의 시대는 끝났다라는 이야기 하는 것 같습니다. 이 기사에서 소개하는 대화형 AI 서비스는 세계 최대 AI 연구소인 OpenAI에서 공개한 AI 챗봇의 일종입니다. 먼저 OpenAI는 테슬라의 일론 머스크와 와이콤비네티어 창업자인 샘 알트만, 링크드인 공동창업자인 리드 호프먼 등 IT업계의 거물들이 힘을 합쳐 만든 회사입니다. 2015년 설립된 이후 세계에서 가장 큰 규모의 AI 개발을 진행 중이며 2020년 GPT-3라는 초거대 AI를 발표합니다. 이후 2년도 채 지나지 않아서 전세계 빅테크 기업들(Meta, Microsoft, Deep..
Data Representation (Data Labeling)
Data Representation (Data Labeling)
2022.12.16기계학습, Machine Learning이란 영역은 Data를 활용하여 예측 가능한 알고리즘을 연구하고 구성하는 활동입니다. 그래서 Machine Learning을 위해서는 학습을 위한 Data가 필요하며, 만약 Data가 충분하다면 그 Data를 이용하여 모델 훈련을 하고 모델링을 하는 거죠. 그렇다면 Machine Learning에서 말하는 Data의 형태는 어떻게 생겼을까요? Data는 인공지능이 학습할 수 있는 형태로 가공되어 있어야 합니다. 인공지능에서 말하는 Data는 이미지 내 Object(Person, Animal, Car 등)에 꼭 맞게 Box를 그리거나 점을 연결하여 Label을 달아놓는 방법 등 기계가 이해할 수 있는 방식으로 정답이 있는 형태를 말합니다. 모델 학습을 위해 필요한 D..
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=..
[ 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..
[ 2023년 2월 ] IT 세미나/컨퍼런스 일정
[ 2023년 2월 ] IT 세미나/컨퍼런스 일정
2022.11.182023년 2월 IT 세미나/컨퍼런스 일정 1. 개발자부터 비즈니스 리더까지, 직무 및 산업별 AWS 신규 서비스 소개! 일시 : `23.2.1(수) - 2.2(목) 13:30 - 18:00 장소 : 온라인 (웨비나) 주최/주관/후원 : AWS 비고 : 무료 AWS re:Invent re:Cap AWS re:Invent re:Cap pages.awscloud.com 2. TAIPEI GAME SHOW 2023 일시 : `23.2.2(목) - 2.5(일) 장소 : Taipei Nangang Exhibiton Center, Hall 1 주최/주관/후원 : Taipei Computer Association Taipei Game Show 台北國際電玩展 展覽主題:Come in Gameverse tgs.tca...