Back Propagation, 역전파
·
DeepLearning/Concept
Neural Network 역전파(Back Propagation)를 설명하기 앞서 인공 신경망(Neural Network)에 대해 간단하게 설명하고 넘어가 보자. 위 그림에서와 같이 인공 신경망은 입력층, 은닉층(여러 개일 수 있다), 출력층을 가지고 있고, 사람의 뉴런 모양과 비슷한 퍼셉트론으로 이루어져 있다. 이 인공 신경망에서 입력 데이터(x1, x2)를 받아 최적의 출력 데이터(o1, o2)를 계산할 수 있는 각 퍼셉트론의 가중치(w1~w8)들을 업데이트하는 과정을 신경망 학습이라고 할 수 있겠다. Forward Propagation 순 전파(Forward Propagation)는 입력 데이터를 은닉층을 거쳐 출력층으로 값을 도출하는 것을 의미한다. 순 전파의 과정을 설명하기 위해 입력층과 가중치..
CNN, Convolutional Neural Network, 합성곱 신경망
·
DeepLearning/Concept
CNN? CNN이란, Convolutional Neural Network의 약자로 Convolution 즉 합성곱을 이용하는 Neural Network이다. Convolution, 합성곱? 합성곱은 Image에 Filter(kernal)을 적용시킬 때 사용하는 연산 방법(?)으로 Image에 필터를 이동시키면서 Output(feature, 특징)을 뽑아낸다. (보통 이미지에 Blur 적용, Edge 검출 등에 활용된다.) 왜 Convolution을 사용하는가? CNN 이전 DNN(Fully Connected Layer만으로 구성된 인공신경망)에서 입력 데이터는 1차원 배열 형태로 한정된다. 때문에 이미지를 입력 데이터로 사용했을 때 위치 정보가 손실된다. CNN에서는 Convolition layer를 사..
IoU (Intersection over Union)
·
DeepLearning/Concept
IoU? - 주로 Object Detection에서 사용되는 도구. - IoU = 교집합 영역의 넓이 / 합집합 영역의 넓이. - Object Detection에서 객체의 위치가 예측한 위치와 얼마나 일치하는지 판별할 때 쓰인다. RCNN에서의 IoU RCNN은 대표적인 Object Detection 알고리즘 중 하나이다. RCNN의 전반적인 순서는 다음과 같다. 1. 이미지를 입력 2. 입력받은 이미지에서 객체에 대한 후보 영역(region proposal) 생성 3. 각 영역마다 CNN, SVM으로 Classification (이미지가 어떤 Class인지 추론) 4. 각 영역이 실제 객체가 있는 영역인지 학습 (영역이 객체의 영역이 맞는지) 순서 3. 의 경우 Class마다 제시되는 Label이 미리..
3. YOLO c++, cpp dll 활용 (MFC)
·
DeepLearning/YOLO
이번엔 앞서 Yolo를 빌드하고 학습하는 방법을 다뤘으니 학습한 가중치 파일을 cpp(MFC) 환경에서 불러와 detect 해보려 한다. 0. git에서 받은 darknet-mask/build/darknet 경로에서 yolo_cpp_dll.sln 을 실행 1. 프로젝트 속성에서 추가 포함 디렉터리 및 라이브러리 경로 설정 2. Release/x64 빌드 3. MFC 프로젝트 생성 MFC 프로젝트를 생성 후 프로젝트 속성에서 darknet-master 경로 설정. 4. C/C++ -> 전처리기에 OPENCV, CUDNN, _CRT_SECURE_NO_WARNINGS 추가 5. include "yolo_v2_class.hpp" 및 lib 추가 라이브러리는 아래와같이 코드로 추가 할 수 있다. #include ..
2. YOLO, Custom Train
·
DeepLearning/YOLO
0. Train 명령어 YOLO를 빌드하고 Dataset까지 준비했다면 이제 자신의 Dataset으로 학습을 해보자. 먼저 학습 명령어이다. darknet.exe detector train data/obj.data yolo-obj.cfg yolov4.conv.137 - darknet.exe 빌드해서 나온 darknet 실행 파일 - detector train detector의 train 함수 호출 - data/obj.data 학습에 필요한 .data 파일 - yolo-obj.cfg 학습에 필요한 .cfg 파일 - yolov4.conv.137 사전에 학습 된 가중치 파일 (git에서 받을 수 있다) 위 항목에서 .data, .cfg 파일은 사용자가 준비한 Dataset에 맞게 수정or작성해야 한다. 1. ..
1. Yolo_mark, Image Data Labeling
·
DeepLearning/YOLO
0. git에서 Yolo_mark를 받아 압축을 풀어줌 https://github.com/AlexeyAB/Yolo_mark AlexeyAB/Yolo_mark GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2 - AlexeyAB/Yolo_mark github.com 1. yolo_mark.sln 실행 2. yolo_mark.sln 프로젝트 속성에서 OpenCV 경로 설정 후 빌드 3. 경로/x64/Release/ 경로로 이동 yolo_mark.cmd 실행 (OpenCV 관련 dll 실행 폴더에 복사) 4. Command Mouse Control - 좌클릭 : Draw Box - 우클릭 : ..
woongs_93
'DeepLearning' 카테고리의 글 목록 (7 Page)