제조업같은 곳에서는 precision 뿐만 아니라 recall이 높아질 수록, 불량품의 갯수가 줄어든다. 그렇게 불량품의 갯수가 줄어든다는 소리는 검출할 수 있는 데이터 셋이 줄어들고, 특징 추출이 어렵게 된다는 것이다. Upsampling을 적용할 수는 있으나, 다른 정상적인 데이터가 영향을 받고, accuracy적인 면에서 한계점이 있을 수 있다. 그렇다면 진짜 데이터에서 특징을 추출해서, 가짜 데이터를 분간하는 데 사용할 수는 없을까? 진짜에서 진짜의 특징을 빼면 가짜다 AutoEncoder의 원리는 이렇습니다. 정상 데이터만을 가지고 Training을 진행한다. 그리고 정상 데이터의 중요한 특징만을 추출해서 기억한다. 그렇게 만들 모델에 val data를 넣었을 때, 일정 Threshold를 넘는..
langchain의 ollama를 이용한다. llama 서버는 연결되어 있어야 한다. import threading import speech_recognition as sr from ultralytics import YOLO import cv2 import os from langchain_community.llms import Ollama # 음성 인식 설정 r = sr.Recognizer() mic = sr.Microphone() # 웹캠 캡처 설정 cap = cv2.VideoCapture(0) # YOLOv8 모델 로드 model = YOLO("yolov8n.pt") llm = Ollama(model="llama2") # 물체 인식 스레드 실행 여부 플래그 detect_thread = None det..
이미지 수집 roboflow에서 수집해서 로컬에서 수정해도 된다. 최소한 클래스 3개 이상 분류 Non - Iconic 한 이미지(어떤 특정 object를 가르키는지 모른다.) 이런 조건이 있으면 실습하기 좋은 이미지 Iconic과 non-Iconic이 반반 섞이는 게 이상적이다. 최소한 1만장 이상이 best이다. roboflow에서 annotation 하기 프로젝트 만들기 -> 이미지 업로드 annotation group에 class 이름을 따로 구분해야 한다. save and continue를 누른다. manual labeling을 하기 위해 한다. assign images upload가 다 되면 annotate 창으로 넘어간다. start annotating을 해서 좌측 하단에서 이미지 사이즈 조..
간단한 코드. 사진이라고 말하면 openCV를 시작해서 객체 모델을 탐지한다. 멈춰라고 말하면 opecv를 닫는다. 끝내기라고 말하면 프로그램 자체를 끝낸다. import threading import speech_recognition as sr from ultralytics import YOLO import cv2 # 음성 인식 설정 r = sr.Recognizer() mic = sr.Microphone() # 웹캠 캡처 설정 cap = cv2.VideoCapture(0) # YOLOv8 모델 로드 model = YOLO("yolov8n.pt") # 물체 인식 스레드 실행 여부 플래그 detect_thread = None detect_thread_running = False def listen_and_..
여태까지는 이미지 분류를 진행했다. MNIST - Fashion MNIST - CIFAR-10/100 - Caltech-101/256 - ImageNet - ImageNette / ImageWoof 이제는 object Detection을 다룬다. 단순히 분류 뿐만 아니라, 사물이 어느 위치에 있는지, 그리고 어떤 곳에 있는지를 다룬다. - PASCAL VOC - MS COCO(아주 유명한 데이터셋) - Open Images - KITTI (자율주행) - Argoverse - Global Wheat - Objects365 - SKU-110K - VisDrone (3d ) 드론 데이터셋 - xView roboflow - object Detection에서 전처리 및 데이터셋 사이트 yolo v8도 쓴다. ->..
딥러닝 모델 저장 model1.save('./my_first_save.keras') 모델 불러오기 clear_session() model3 = keras.models.load_model('./my_first_save.keras') model3.summary() 모델 가중치 불러오기 model3.get_weights()[0][0][0] 이미지를 저장하기 위한 연결 from google.colab import drive drive.mount('/content/drive') !ls !cd /content/drive/MyDrive/my_data; ls 이미지 불러오기 import glob from keras.preprocessing import image files = glob.glob('/content/dri..