deep learning (8) 썸네일형 리스트형 YOLOv4 : Object detection의 최적의 속도와 정확도 이번 포스팅에서는 YOLOv4의 논문을 리딩해보겠다. 저번 포스팅에서도 최대한 논문의 전반적인 내용을 다루면서 쉽게 설명하려고 노력 했으나.. 여간 어려운 작업이 아닐 수 없다. 각설하고 YOLOv4의 논문을 읽어보자. 요약 논문의 저자는 요약의 첫 시작부분에서 CNN의 정확도를 향상 시킬 수 있는 featrue들이 많다고 말한다.(여러가지 모델들에 대한 내용을 말하는 듯 하다) 대용량의 데이터셋 에서 이런 feature 조합에 대한 테스트와 결과의 이론적인 설명이 필요하다고 하며, 어떤 feature들은 소규모의 데이터셋 에서만 작동한다고 말한다. (요약부에서 feature는 모델을 설계할 때 사용되는 다양한 layer들을 이야기 한다) 이 중에 범용적이게(모든 모델 구조에서 영향력을 가질 수 있는) .. 개와 고양이 분류하기 - 2 2020/06/18 - [Computer Vision/Classification] - 개와 고양이 분류하기 - 0 2020/06/18 - [Computer Vision/Classification] - 개와 고양이 분류하기 - 1 이전 포스팅에 앞서 필자는 kaggle의 데이터셋을 믿을 수 없기에.. trash데이터를 먼저 처리하는 작업을 해야한다. 일일이 데이터를 모두 확인하기에는 매우 귀찮은 일이기도 하고, 우리는 딥러닝을 공부하는 사람이기에 딥러닝으로 이를 해결해보고자 한다. 가장먼저 해야할 일은 CNN 기본 모델을 이용하여 train데이터를 모두 검수시키는 일이다. 그럼 바로, CNN모델을 이용하여 Dogs vs Cats의 데이터셋만 훈련시켜 모델을 생성해보자. 모델의 목표는 정확도 70~80%를 .. CSPNet : CNN의 학습능력을 향상 시킬 수 있는 새로운 Backbone SOTA를 확인하다 읽었던 CSPNet에 대해 작성해보려고 한다. 논문의 제목은 CSPNET: A NEW BACKBONE THAT CAN ENHANCE LEARNING CAPABILITY OF CNN 으로 직역 하자면 이 포스팅의 제목과 같이 CNN의 학습능력을 향상 시킬 수 있는 새로운 백본 이라고 한다. 엄청나게 자신감 있는 논문 제목이라고 느껴진다. 그럼 논문에 내용에 대해 정리해보겠다. 요약 요약의 첫 시작 부분에는 신경망은 컴퓨터 비전 영역에서 놀라운 발전을 이뤘지만 이 고급 기술들은 값싼 장치를 가진 사람들에게 이용되지 못하고 있다고 소개하고 있다. (실제로 GPU없는 환경에서 딥러닝하기란 쉽지 않다.) 컴퓨팅 파워가 낮은 환경이 감당하기 힘든 연산량을 완화시킬 수 있는 모델이 Cross St.. MNIST 데이터를 이용해서 손글씨 인식하기(통합) 2020/04/24 - [Opencv] - 간단한 손글씨 인식하기 -1 2020/04/30 - [Opencv] - 간단한 손글씨 인식하기 -2 2020/04/30 - [Opencv] - 간단한 손글씨 인식하기 -3 2020/05/04 - [Computer Vision/Classification] - MNIST 데이터를 이용해서 손글씨 인식하기 이 글은 앞의 포스팅을 하나로 묶어놓은 게시글임. 머신러닝을 통해 손글씨를 인식하기 위해 Opencv의 함수들과 scikit-learn의 ML기법들을 이용해서 전처리 부터 손글씨 인식 단계까지 진행해보고자 한다. 아래와 같이 직접 적은 글씨를 MNIST데이터를 통해 훈련시킨뒤에 이미지를 전처리해서 TEST하여 정확도를 확인하는 단계까지 진행하였다. 실제 데이터 먼저.. 개와 고양이 분류하기 - 0 이번 포스팅은 개와 고양이를 분류하는 만들어 본다. 개와 고양이의 경우 미국인들이 매우매우 사랑하기 때문에.. kaggle데이터 셋만 뒤져봐도 수많은 데이터를 얻을 수 있다. 간단하게 cats vs dogs데이터 셋을 이용하여 개와 고양이를 이진 분류하고, kaggle에서 개의 혈통 분류 데이터와 고양이 혈통 분류 데이터를 이용하여 개와 고양이의 혈통까지 알아내는 모델을 만들어 보겠다. 대략적인 flow chart를 그려보자면 대략 이렇다. 대략 요런식으로 flow가 진행될 것이고, Input 을 web page에서 받아서 server를 통해 ouput을 얻은 다음 다시 web사용자에게 제공하는 형식으로 진행이 될 것이다. 가장 먼저 kaggle을 통해 cats vs dogs의 데이터 셋을 받아와 보자... Jetson Xavier 초기 환경 설정 및 딥러닝 패키지부터 ROS 설치 까지 완전 클린 설치 Host 컴퓨터에서 시작 Jetpact download https://developer.nvidia.com/embedded/jetpack 다운로드 받은 deb 파일을 실행하면 설치를 할 수 있습니다. 설치 후 터미널에서 명령어 입력 sdkmanager NVIDIA SDK MANAGER sdk매니저를 실행한뒤 로그인까지 마치면 다음과 같은 화면을 볼 수 있습니다. 현재 최신 Jetpack은 4.4버젼 이지만 4.4버젼에서 CUDA는 10.2 버젼 이므로 우리가 사용해야할 CUDA10.0버젼에 맞게 Jetpack 4.3 설치. Target COMPONENTS에서 SDK components 체크) 밑 부분의 동의합니다도 체크한 뒤 다음단계로 넘어갑니다. 다운로드 및 인스톨 다운로드 목록은 다음과 같습니다. (.. YOLO v4 , Opencv를 이용해서 간단한 위치판독기 만들기 이전에 훈련한 YOLO v4의 가중치들을 가지고 opencv를 통해 피자의 위치를 안내하는 프로그램을 만들어 보자! 훈련된 YOLO v4 detection모델 사용법과 opencv와 함께 이용하는 방법을 작성하였다. 이 과정에는 준비된 cfg, data, names파일과 훈련된 weight파일이 필요하므로 앞의 YOLO 설치법과 훈련법을 보고 오면 좋다. 2020/05/19 - [Computer Vision/Object detection] - Ubuntu 18.04 에서 Yolo v4 설치하기 Ubuntu 18.04 에서 Yolo v4 설치하기 YOLO v3에 대해서는 자료도 많고, 관심도 많고, 논문, 리뷰 모두 많이 봤을거라 생각한다. 하지만 YOLO v4의 소식이 있고 실제로 코드들도 github에.. Kaggle-Quick draw CNN연습 몇년전.. 프로그래머스에서 한창 코딩테스트 연습할 때, 프로그래머스에서 과제로 나왔었던 kaggle의 quickdraw 대회를 혼자서 이것저것 해보면서 정리해둔 Notebook의 내용이다. 머신러닝에 입문하게 되면서 혼자서 이것저것 모델도 짜보고, 전처리도 해보고 하던 중 난이도가 높지 않으며 흥미로운 주제 였기에 직접 하게 되었다. 이 때만 해도 BatchNomalization과 Dropout을 같이 쓰는 등 (파라미터 수를 어떻게 든 줄이고 싶었던 노력.. ) 모델링 경험이나 딥러닝 전체의 대한 경험이 적었던 것 같다. 이거 하느라고 꼬박 하루를 새면서 했던 기억이 있는데, 나름 그 때 당시 뿌듯해 했던 기억이 있다. 아무튼.. 이 밑으로는 실제 kaggle에 기재했던 Notebook의 내용을 그대로.. 이전 1 다음