Pytorch 환경 구성
·
Python/Pytorch
​PyTorch는 Meta에서 개발한 오픈 소스 딥러닝 프레임워크로, 주로 컴퓨터 비전, 자연어 처리, 강화 학습 등 다양한 인공지능 분야에서 사용된다. Python과의 높은 호환성과 유연한 설계로 인해 사실상 Keras를 제치고 연구자와 개발자 사이에서 널리 채택되고 있는 상황이다.이러한 차이점을 갖는다 하는데, 우선 사용해보면서 차이점에 대해 차차 알아보자.1. Anaconda 설치Anaconda는 Python에 데이터 과학과 머신러닝 작업에 필요한 다양한 도구와 라이브러리를 통합하여 사용하기 편리하게 만든 배포판(distribution)을 뜻한다. 쉽게 말해서 많이 사용하는 라이브러리(명령어, 함수들)가 포함되어 있는 Python이여서 나중에 이것저것 깔 필요가 없다는 뜻! Index of /arc..
Computer Vision - LAB 07. Detecting Image Using YOLOv4(Darknet)
·
Python/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)
·
Python/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)
·
Python/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
·
Python/COMPUTER VISION
이전 프로젝트에서는 128×128 크기의 이미지에 대해 모든 픽셀에 개별적으로 가중치(weight)를 적용하여 이미지의 특성을 추출하는 방식을 사용했다. 이런 접근법은 일반적으로 완전 연결 레이어(Fully Connected Layer)로 구성된 DNN(Deep Neural Network)이라 표현하는데, 이렇게 모든 픽셀을 활용해 특성을 추출하는 방식에는 몇 가지 단점이 존재한다. 파라미터 수의 급격한 증가: 이미지 크기가 커질수록 각 픽셀에 대응하는 가중치가 필요하므로 학습해야 할 파라미터 수가 기하급수적으로 늘어난다. 예를 들어, 128×128 크기의 이미지라면 약 16,384개의 픽셀이고, 이를 완전 연결 레이어로 처리하면 입력과 출력 노드 수에 따라 수백만 개 이상의 가중치가 필요하다. 이는 메..