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이 미리..
외부 소스 Existing 할 때 stdafx.h 못찾는 이슈
·
기타
Visiaul 2015에서 작업 중에 외부 소스를 포함 시키는 경우 stdafx.h 헤더 파일을 못찾는 경우가 있다. 포함 시키는 소스파일 경로를 프로젝트 설정에 추가해줘도 계속 못찾는데, 또 이게 실행은 잘 되서 뭔가 찜찜한... msvs의 인텔리센스 문제라고는 하는데 프로젝트 속성->C++ -> General -> 추가포함디렉토리 에 './;'를 추가 해줬더니 못찾는다는 빨간 밑줄이 사라졌다.
error[C2872] '???': 모호한 기호입니다. (소스 파일 컴파일 중 xxx.cpp)
·
기타
문장 그대로 정의가 모호하여 생기는 오류. 나같은 경우에는 각각 Qt5와 Libtorch lib에 있는 자료형 이름이 겹쳐서 모호한 기호라고 에러를 띄움. ​ 해결 방법으로 - 둘중 한쪽의 이름을 바꾸거나 - 자료형을 호출하는 부분에서 확실히 구분 시켜주면 됨. 구분 방법은 자료형 앞에 ::를 붙이면 된다. ​ ex) qint8 -> ::qint8
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. ..
woongs_93
웅's blog