Project

· Project
제가 머신 비전 회사에서 학습을 하면서 가장 큰 고민 중 하나는 데이터 양이 많지 않다는 점이었습니다. ok이미지에 비해 ng이미지가 현격히 적은 현상이 있었고 그때마다 opencv나 keras를 이용하여 데이터 증강을 했습니다. 이런 불편함을 해결하고자 이번 프로젝트는 PyQt5로 UI를 이용한 데이터 증강 툴을 만들어 보려고 합니다. 이번에는 UI 제작 - 기능 구현 - 실행 파일 배포 과정으로 구현했습니다. GOAL - PyQt5를 사용한 UI 제작 및 기능 구현 - keras ImageGenerator와 UI를 연결하고 데이터 증강 구현 - 완성된 프로그램을 exe 파일로 만들어 배포 Data Augmentation - 학습을 하고 모델의 결과를 좋게 나오게 하는데 어떤 것이 중요한가?라고 물으면..
· Project
제가 머신 비전 회사에서 학습을 하면서 가장 큰 고민 중 하나는 데이터 양이 많지 않다는 점이었습니다. ok이미지에 비해 ng이미지가 현격히 적은 현상이 있었고 그때마다 opencv나 keras를 이용하여 데이터 증강을 했습니다. 이런 불편함을 해결하고자 이번 프로젝트는 PyQt5로 UI를 이용한 데이터 증강 툴을 만들어 보려고 합니다. 이번에는 UI 제작 - 기능 구현 - 실행 파일 배포 과정으로 구현했습니다. GOAL - PyQt5를 사용한 UI 제작 및 기능 구현 - keras ImageGenerator와 UI를 연결하고 데이터 증강 구현 - 완성된 프로그램을 exe 파일로 만들어 배포 PyQt5 - PyQt5는 Qt를 파이썬 버전의 프레임워크입니다. Python에는 기본으로 내장되어 있는 tkin..
· Project
GOAL - 지난 포스팅에 이어 정확도 그래프를 개선하려고 해보았고 이번에는 Transfer Learning을 이용하여 Resnet50으로 학습을 하여 정확도 개선을 해보려고 합니다. 1. 중간에 뚝 떨어지는 정확도 개선 2. 학습이 계속되고 있는 것으로 보여 epochs 수를 더 늘려봄 3. 정확도 상승 방법 구현 Transfer Learning (전이 학습) - 일반적으로 CNN 기반의 딥러닝 모델은 제대로 훈련시키려면 많은 수의 데이터가 필요합니다. 하지만 많인 데이터 셋을 얻는 것은 일반적으로 쉽지 않은 일입니다. 이러한 어려움을 해결한 것이 전이 학습입니다. 전이 학습이란 이미지 넷과 같이 아주 큰 데이터셋에 훈련된 모델의 가중치를 가지고 와서 우리가 해결하고자 하는 과제에 맞게 재보정해서 사용..
· Project
GOAL - 지난 포스팅으로 프로젝트를 마무리하려고 했는데 정확도 그래프를 조금 더 괜찮게 만들고 싶어서 이 점을 개선하려고 합니다. 1. 중간에 뚝 떨어지는 정확도 개선 2. 학습이 계속되고 있는 것으로 보여 epochs 수를 더 늘려봄 3. 정확도 상승 방법 구현 1. 중간에 뚝 떨어지는 정확도 개선 - 보여드린 정확도 그래프에서 보시는 것처럼 뚝 떨어지는 구간이 있고 그것을 없애기 위해 여러 가지 방법으로 해보려고 했습니다. optimizer의 lr을 낮춰 보거나 weghit dacay 값을 낮게 주는 것으로 학습해보았습니다. 1-1 optimizer.Adam의 lr을 절반으로 낮춰서 학습 - optimizer = Adam()의 기본 lr은 0.001입니다. 그래서 절반으로 낮춰서 학습을 시켜보았습..
· Project
이때까지 딥러닝을 공부하면서 사용했던 데이터셋들은 Tensorflow에서 제공해주는 CIFAR10만 사용하였습니다. 이번에는 데이터 수집 - 전처리 - 모델링 과정으로 직접 구현해보겠습니다. GOAL - 직접 데이터를 크롤링하여 데이터 셋을 만들고 전처리 과정 경험 - 직접 만든 데이터를 가지고 CNN 분류 모델 구현 Preprocessing - 남녀의 얼굴을 크롤링하고 자르는 작업을 했습니다. 이제 이 데이터 셋에 라벨링 작업을 해줘야 합니다. one-hot 인코딩으로 [1, 0] 이면 남자, [0, 1] 이면 여자로 라벨링 했습니다. 코드) data_dir = "/content/drive/MyDrive/Colab Notebooks/gender_classification/dataset" categori..
· Project
이때까지 딥러닝을 공부하면서 사용했던 데이터셋들은 Tensorflow에서 제공해주는 CIFAR10만 사용하였습니다. 이번에는 데이터 수집 - 전처리 - 모델링 과정으로 직접 구현해보겠습니다. GOAL - 직접 데이터를 크롤링하여 데이터 셋을 만들고 전처리 과정 경험 - 직접 만든 데이터를 가지고 CNN 분류 모델 구현 DATASET - 먼저 남자와 여자 얼굴 사진으로 데이터 셋을 만들기 위해 크롤링을 했습니다. - 먼저 구글로 크롤링을 하였고 하기 전에 구글 드라이브를 운영체제에 맞게 다운 받아줘야 합니다. https://chromedriver.chromium.org/downloads - 코드는 조코딩님의 코드를 참고하여 필요한 부분을 바꿨습니다. from selenium import webdriver ..
· Project
이번 프로젝트는 Python과 OpenCV, 그리고 Jupyter를 이용하여 OpenCV의 Detail Enhancing Filter와 Image to PencilSketch, Image to Cartoon Image를 공부한 것을 만들어보았습니다. Description 1) Detail Enhancing Filter cv2.detailEnhance는 이미지의 디테일을 향상시켜주는 함수입니다. cv2.detailEnhance ( InputArray src, OutputArray dst, float sigma_s, float sigma_r)의 구조로 사용합니다. sigma_s는 0 ~ 200 범위로 사용, 이미지가 얼마나 스무스할지 결정하는 파라미터이며 클수록 스무스해집니다. sigma_r은 0 ~ 1 범..
우준세
'Project' 카테고리의 글 목록