Computer Vision - LAB 07. Detecting Image Using YOLOv4(Darknet)
·
이론 공부/COMPUTER VISION
YOLO와 Darknet Framework를 이용하여 객체 감지를 구현해보자. 1. Darknet 설치 및 Compile필자는 WSL 환경을 기준으로 실습을 진행한다. gcc, make, opencv 라이브러리 등 컴파일러, 의존성 파일을 다운로드한다.sudo apt updatesudo apt install build-essentialsudo apt install libopencv-dev   GitHub - AlexeyAB/darknet: YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of DaYOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks f..
Computer Vision - YOLO(You Only Look Once)
·
이론 공부/COMPUTER VISION
YOLO(You Only Look Once)는 이미지 내 객체의 위치와 클래스를 실시간으로 탐지하는 객체 탐지 알고리즘의 한 종류이다.  CNN의 발전 과정, 대표적인 모델들에 대해 알아보자 (MNIST, LeNet, AlexNet, VGGNet, GoogLeNet, ResNet, DenseNet,1. MNIST 데이터셋MNIST 데이터셋은 손으로 쓴 글자 데이터셋에서 숫자만 따로 뽑아낸 데이터셋(28×28 흑백 손글씨 숫자 이미지) 을 의미한다. 이를 분류하기 위해 처음 사용되었던 방법은 MLP를 사salmon1113.tistory.com위 게시글에서 다룬 ResNet, GoogleNet, VGG와 같은 네트워크들을 백본 네트워크라고하는데, 백본 네트워크는 전체 신경망 구조에서 "기초" 또는 "뼈대" ..
Computer Vision - LAB 06. Image Classification (CNN)
·
이론 공부/COMPUTER VISION
앞서 배운 CNN을 실제로 구현하고, 두가지 이미지를 분류할 수 있도록 훈련시키는 실습을 해보자.  설계 하고자 하는 CNN 모델의 구조는 위와 같으며, 다음과 같이 요약된다.0. CNN 모델 요약목표 이미지를 분류하는 2 클래스 분류 모델을 구축한다.데이터 입력 입력 이미지 크기는 64x64x3(RGB)으로 설정한다. 훈련 데이터는 증강(회전, 뒤집기, 줌)을 적용해 다양성을 늘린다. 테스트 데이터는 원본 상태를 유지해 성능을 평가한다.모델 구조 첫 번째 합성곱 블록: Conv2D: 32개의 3x3 필터로 특징을 추출한다. 출력 크기는 (62, 62, 32)가 된다(패딩 없이 계산: 64-3+1=62). MaxPooling2D: 2x2 풀링으로 크기를 절반으로 줄인다. 출력 크기는 (31, 31, 32..
Computer Vision - Basic Knowledge of CNN
·
이론 공부/COMPUTER VISION
이전 프로젝트에서는 128×128 크기의 이미지에 대해 모든 픽셀에 개별적으로 가중치(weight)를 적용하여 이미지의 특성을 추출하는 방식을 사용했다. 이런 접근법은 일반적으로 완전 연결 레이어(Fully Connected Layer)로 구성된 DNN(Deep Neural Network)이라 표현하는데, 이렇게 모든 픽셀을 활용해 특성을 추출하는 방식에는 몇 가지 단점이 존재한다. 파라미터 수의 급격한 증가: 이미지 크기가 커질수록 각 픽셀에 대응하는 가중치가 필요하므로 학습해야 할 파라미터 수가 기하급수적으로 늘어난다. 예를 들어, 128×128 크기의 이미지라면 약 16,384개의 픽셀이고, 이를 완전 연결 레이어로 처리하면 입력과 출력 노드 수에 따라 수백만 개 이상의 가중치가 필요하다. 이는 메..
Computer Vision - LAB 05. Image Classification (OpenCV, Keras)
·
이론 공부/COMPUTER VISION
간단한 이미지 분류 프로젝트를 진행해보자. 이번 글에서는 OpenCV로 이미지를 처리하고, Keras로 모델을 학습시켜 심슨 가족의 Homer와 Bart 이미지를 구분하는 신경망을 만들어 보겠다.1. 이미지 데이터 전처리먼저, 이미지를 읽고 학습할 수 있는 벡터 형태로 변환하는 전처리 과정을 거친다. 디렉토리에서 파일을 불러와 벡터로 변환하고, 각 벡터에 해당하는 클래스 레이블을 설정한다.import cv2import numpy as npimport osimport kerasfrom sklearn.preprocessing import MinMaxScalerfrom sklearn.model_selection import train_test_split################################..