목록프로젝트/마스크 착용 유무 판단 (5)
오답노트
sorting 을 거친 데이터들을 labelimg 를 통해 라벨링을 해주었고, 그 데이터들을 한 폴더 내에 전부 넣어주었다. 최종적으로 labelimg 를 통해 라벨링 한 데이터들로 yolo 를 돌려 마스크 검출을 시킬건데, 그 전에 먼저 yolo 에 필요한 파일들을 만들어야한다. (e.g. yaml, txt) import yaml from glob import glob img_list = glob('c:/data/dataset/mask/export/images/*.jpg') from sklearn.model_selection import train_test_split train_img_list, val_img_list = train_test_split( img_list, train_size = 0.8,..
본격적으로 데이터들을 훈련시켜 마스크를 쓴 사람과 아닌 사람, 그리고 사람처럼 보이는 이미지들을 판단하는 모델을 만든다. 머신러닝, 딥러닝, 전이학습을 이용한 결과 전이학습이 가장 성능이 좋았다고 판단하여 전이학습을 사용했다. 여기서는 EfficientNetB2 모델을 이용했다. import numpy as np from tensorflow.keras.applications import EfficientNetB2 from tensorflow.keras.applications.efficientnet import preprocess_input from keras.layers import Conv2D, Dense, Flatten, BatchNormalization,\ Activation, GaussianDro..
전처리를 끝내고 새로 저장한 이미지 파일들을 훈련 시키기에 앞서 데이터의 수를 늘리고, train 과 test 로 분리하며 0, 1, 2 로 나뉜 label 들을 one_hot_encoding 하는 전처리를 실시해주었다. import tensorflow from keras.preprocessing.image import ImageDataGenerator from keras.utils import to_categorical from sklearn.model_selection import train_test_split 먼저 필요 라이브러리들을 import 해준다. 데이터 증가를 위해 ImageDataGenerator 를 사용했고, one_hot_encoding 을 위해서 to_categorical 을 사용했..
앞서 나는 selenium 을 통해 인터넷에서 프로젝트에 필요한 사진들을 다운로드 받았다. 검색어를 mask, no_mask, pareidolia 로 각각 검색하여 3개의 폴더로 구분지어 놨고, 그것을 토대로 이번엔 각 사진별로 라벨링을 실시하려한다. ※ pareidolia : 사물이나 동물의 모습이 사람의 얼굴과 비슷하게 보이는 현상 import numpy as np import tensorflow as tf import glob import cv2 import datetime 우선 필요 라이브러리들을 import 시킨다. 많은 파일을 한꺼번에 불러올 수 있는 glob 을 사용하고, 이미지 자체를 하나씩 불러올 때 openCV 를 사용하기 위해 cv2 를 import 한다. img_list = glob..

개인프로젝트를 진행하면서 필요한 자료들을 찾기 위해 웹 크롤링을 하였다. 크롬 웹브라우저를 이용하여 google 에서 자료를 찾고자 하였고, 해당 코드는 아래와 같다. # import libraries from selenium import webdriver from selenium.webdriver.common.keys import Keys import time import urllib.request # select webdrive (Chrome) drive = webdrive.Chrome() # link to address drive.get('https://google.co.kr') # find specific element elem = drive.find_element_by_name('q') # ip..