프로젝트(23)
-
22.03.13 [kfood프로젝트] AI파트 최종 정리 ( 일정, 기능 구현, 어려웠던 점, 배운 점, 앞으로의 계획 )
드디어 우리 nochilsu 팀의 kfood 프로젝트가 마무리가 되었다. 최종 발표 전에 정한 프로젝트 명은 'HelloKfood'로 결정되었고, 로고도 다음과 같이 수현님께서 제작해주셨다. 일정 일단 우리 AI 파트에서 진행한 일정은 다음과 같다. 22.02.15 ~ 22.03.10 나머지 03.12 까지는 백엔드,프론트엔드 분들께서 배포 및 서비스 오류 수정 마무리 단계를 진행해주셨다. 기능 구현 우리 AI파트가 해야할 것은 다음 3가지이다. 1. 데이터셋 구성 2. 음식탐지 모델 training 및 tuning 3. 음식선호도에 따른 음식 추천 1. 데이터셋 구성 우리가 이번에 사용한 데이터셋은 모두 2개로, 한국인들이 즐겨먹는 음식에 대한 image와 bounding box에 대한 정보가 들어있는..
2022.03.24 -
22.03.09 [kfood프로젝트] YOLOv5x6 epoch 50 / 100 inference 오히려 50이 여러 음식 메뉴를 더 잘 detection함
epoch 50은 saewoo-twigim과 udon을 모두 잡아내는 반면, epoch 100은 잡아내지 못한다. recall , precision, mAP가 모두 epoch 100이 더 성능이 좋은데 왜 더 못잡는 것일까? 설마 obj_loss나 cls_loss 때문인걸까? best.pt를 선정하는 기준이 무엇일까? ---------------------------------------------------------------------------------------------------------------------------------- epoch 50보다 epoch 100이 더 inference가 못잡았던 이유에 대한 분석 테스트한 환경과 학습한 환경, wandb의 threshold환경이 달..
2022.03.10 -
22.03.06 [kfood프로젝트]YOLOv5x6 lr 0.002 epoch 17 / 50 / 100 성능 & Inference 비교
성능비교 약간의 overfitting이 있나 했으나 대체적으로 epoch 100의 성능이 가장 좋았다 공통 lr 0.002 batchsize 8 patience 5 epoch 17 epoch 50(early stop 23) epoch 100(early stop 29) Recall 0.8867 0.8901 0.8995 mAP(0.5) 0.9066 0.9096 0.9146 val / cls_loss 0.5063 0.4663 0.4175 Inference 비교 (왼 epoch 50, 오 epoch 100)
2022.03.06 -
22.03.02 [kfood프로젝트] YOLOv3 -> YOLOv5로 변경 및 성능은 좋은데 inference가 별로인 이슈 / lr과 batch size조정하여 training 속도 향상 / epochs 17 vs epochs 50 비교
wandb 결과 -> inference를 YOLOv5 깃허브에서 돌려야 한다. 새 깃허브 클론 git clone https://github.com/ultralytics/yolov5.git -------------------------------------------------------------------------------------------------------- YOLOv5 깃허브 클론받고, YOLOv5x6으로 새 training 시작 python train.py --img 640 --batch 8 --epochs 20 --data kfood.yaml --weights yolov5x6.pt --name batch_8_0.01_epoch_20_v5x6 만약 patience(early stop :..
2022.03.03 -
22.03.03 [kfood프로젝트] 간단하면서도 강력한 음식추천시스템 (신맛,기름진맛,짠맛,매운맛) - 코사인유사도
코사인 유사도 - 컴퓨터 비전보다는 자연어 처리? 추천시스템 쪽에 자주 쓰이는 방법인 것 같다. (Word2Vec과 비슷한 원리라고 함) - 코사인 유사도는 두 벡터 간의 코사인 각도를 이용하여 구할 수 있는 두 벡터의 유사도를 의미한다. 두 벡터의 방향이 완전히 동일한 경우에는 1의 값을 가지며, 90°의 각을 이루면 0, 180°로 반대의 방향을 가지면 -1의 값을 갖게 된다. 즉, 결국 코사인 유사도는 -1 이상 1 이하의 값을 가지며 값이 1에 가까울수록 유사도가 높다고 판단할 수 있다. 이를 직관적으로 이해하면 두 벡터가 가리키는 방향이 얼마나 유사한가를 의미한다. kfood 음식 추천에 적용 - 따라서 우리 프로젝트 같은 경우는 82가지의 한국 음식에 대한 신맛,짠맛,기름진맛,매운맛 colum..
2022.03.03 -
22.03.03 [kfood프로젝트] 기존YOLOv5 깃허브랑 우리팀 inference 코드 비교
원작자 inference 실행 코드 python detect.py --source 0 # webcam img.jpg # image vid.mp4 # video path/ # directory path/*.jpg # glob 'https://youtu.be/Zgi9g1ksQHc' # YouTube 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream 우리 팀 inference 실행 코드 python team07_test.py 원작자의 detect.py vs 우리 팀의 detect_y5.py 우리 팀의 team_07.py 코드 import detect_y5 as detect import base64 import cv2 import numpy as np from..
2022.03.03