[DeepSeg] YOLOv5 설치 및 MNIST 데이터셋으로 학습
·
Side Project/DeepSeg
이전 포스트에서 변환한 MNIST 데이터셋으로 YOLOv5 모델을 학습시킨다. [DeepSeg] MNIST 데이터셋 YOLO 형식으로 변환 — zerogod 코코딩딩 [DeepSeg] MNIST 데이터셋 YOLO 형식으로 변환숫자 이미지 전처리를 위해 OpenCV로 ROI를 추출하던 중, YOLOv를 이용해 숫자 객체를 탐지한 후 이를 MNIST 모델을 이용해 분류하는 것이 낫겠다고 생각했다. 이 포스트에서는 MNIST 데이터셋을 YOLO용zerogod-ai-dev.tistory.com 1. YOLOv5 설치git clone https://github.com/ultralytics/yolov5.gitcd yolov5pip install -r requirements.txt프로젝트 디렉터리에서 YOLOv5를 ..
[DeepSeg] MNIST 데이터셋 YOLO 형식으로 변환
·
Side Project/DeepSeg
숫자 이미지 전처리를 위해 OpenCV로 ROI를 추출하던 중, YOLOv를 이용해 숫자 객체를 탐지한 후 이를 MNIST 모델을 이용해 분류하는 것이 낫겠다고 생각했다. 이 포스트에서는 MNIST 데이터셋을 YOLO용으로 변환해 학습시키는 과정을 정리하고, 다음 포스트에서 변환된 데이터셋으로 YOLOv5 모델을 학습시키는 과정을 다루도록 한다.1. MNIST 데이터셋 다운로드 import torchvision.datasets as datasets# MNIST 데이터 다운로드 (train + test 세트)datasets.MNIST(root="../mnist_data", train=True, download=True)datasets.MNIST(root="../mnist_data", train=False,..
[Application][Backend] ScrapingScheduler 설정 및 Caching 정책
·
Side Project/Application
공지사항을 스크래핑하는 데에는 일정 시간이 소요된다. 따라서 매번 API 요청이 들어올 때마다 스크래핑을 수행하면 불필요한 지연이 발생하고 서버에 과부하를 줄 수 있다. 또한 새로운 공지사항이 게시될 경우 이를 빠르게 감지하고 반영해야 하는데, 이를 효율적으로 처리하기 위해서는 캐싱(Cache)과 스케줄링(Scheduling)이 필수적이다. 먼저, 한 번 스크래핑된 데이터는 캐시에 저장되며 30분간 유지된다. API 요청이 들어오면 기존에 저장된 데이터를 즉시 반환하고, 새로운 스크래핑을 수행하지 않는다. 이를 통해 반복적인 데이터 요청으로 인한 성능 저하를 방지하고, 사용자에게 빠른 응답을 제공할 수 있다. 공지사항 데이터는 5분마다 자동으로 스크래핑되며, 기존 데이터와 비교하여 변경 사항이 있는지 확..
[Hand Tracker] 손 객체 추적 카메라 거치대 준비물
·
Side Project/Hand Tracker
마술 촬영을 할 때 카드를 들고 있는 손을 따라서 카메라를 움직이도록 하기 위한 프로젝트를 진행한다. 이를 위해 준비한 준비물들을 정리한다.  1. Raspberry Pi 5OpenCV와 PyTorch의 실시간 데이터 처리를 위해 사용한다. 2. Arduino UNO R3라즈베리파이와 Serial 통신하여 모터제어를 위해 사용한다.  3. 28BYJ-48 스텝모터 2개거치대의 팬과 틸트를 위해 사용한다.  4. ULN2803 스텝 모터 드라이버 모듈두 개의 스텝모터 제어를 위해 사용한다. 5. 기타라즈베리파이5 액티브 쿨러점퍼 케이블카메라 모듈
[DeepSeg] SH5461AS 아두이노 연결 테스트
·
Side Project/DeepSeg
작은 프로젝트로 MNIST 숫자 데이터셋을 PyTorch로 학습시키고, OpenCV와 카메라 모듈로 전처리한 이미지를 인식하여 해당 숫자를 7-Segment display로 출력하는 실습을 해본다. 프로젝트명은 DeepSeg(Deep learning + Segment display). 사용 부품: 아두이노 우노 R3, SH5461AS FND, 330옴 저항, 점퍼 케이블 우선 SH5461AS FND는 common cathode 형식의 4-digit 7-Segment display로 다음과 같은 핀 정보를 갖는다. D1, D2, D3, D4는 각각 자리수를 선택한다. 나머지 핀은 7-segment 와 소수점(3번)을 표시한다. Numberg f e d c b aHex Code001111113F1000011..
[Application] [Backend] 공지사항 스크래핑 역할 분리
·
Side Project/Application
공지사항을 스크래핑하는 코드를 수정하였다. 기존에 공지사항 분류마다 각각 컨트롤러를 정의하던 것을 하나의 컨트롤러로 통합하여 링크만 추가하면 어떤 페이지든 스크래핑이 가능하다.  캐시 정책 및 공지사항 업데이트, 게시 날짜 파싱까지 대대적인 수정이 이루어졌으나 하나씩 다루도록 한다. 여기서는 스크래핑 클래스는 스크래핑만, 컨트롤러는 링크에 따라 스크래핑 동작, 그리고 링크를 저장하는 config까지 역할을 분리시킨 과정을 다룬다.  우선 스크래핑 클래스는 기존과 크게 다르지는 않지만, 기숙사 공지사항과 학과 공지사항 처리가 추가되었다. 기숙사 공지사항과 학과 공지사항의 경우 기본적으로 페이지에서 게시일이 아닌 마감일을 표시하고 있다. 이는 최근 새로 게시된 공지사항을 표시하는 기능에 방해가 되기 때문에 ..
zerogod-ai-dev
'Side Project' 카테고리의 글 목록