프로젝트/KFood(23)
-
22.03.01 [kfood프로젝트]음식추천을 위한 Contents Based Filtering 공부 및 코사인유사도로 결정
우리 서비스에서 외국인에게 음식 사진을 받으면 YOLO로 detect(classification) 해서 무슨 한국음식인지 알려주고, 그것이 외국인의 입맛에 잘 맞을지 설문 및 간단한 추천을 해주는 서비스를 추가로 하려고 한다. 추천 알고리즘 음식마다 각각 선호도를 나타낼 수 있는 피쳐 (Contents Based 필터링) 음식에 대한 정보들 라벨링하는거 필요 사용자들이 어떤 선택을 했느냐에 따라 사용자 정보 기반으로 추천 - 불가능 (Collaborated Based 필터링) 음식들에 대한 점수 데이터 구축 필수 한 사람이 하는 것 - 그 사람이 객관적이라고 생각하여 진행 가능 어떠한 사람이 보더라도 일관적이 될 수 있게 항목을 정해야 함. 어떠한 특징들을 내세울 것인지.. 항목이 현재 4개 (신맛, 매..
2022.03.02 -
22.02.16 [EMO] 외국인을 위한 K Food 인공지능 분류 및 레시피 제공 서비스 & 분류 모델 colab에서 돌려보기(tensorflow,keras)
우리 팀이 이번에 외국인이 K드라마, 영화, KPOP 방송 등에 나온 한식 이미지를 올리면 데이터셋 내에 존재하는 한식 메뉴 150개 중 무엇인지 분류하고, 이에 필요한 서비스들을 제공해주는 프로젝트를 진행하고 있다. 기획 기획단에서 레시피만 국한해서 서비스를 만들었었는데, 생각해보니 기능이 많다고 좋은 앱은 아니니까 팀원분인 무원님의 고찰에 따라 외국인에게 한식 이미지를 분류해주고, 한식에 대한 정보를 제공하고, 그 한식이 내 입맛에 맞을 지 취향분석을 해주고, 먹어보고 싶은 외국인에게는 근처맛집이나 밀키트 제공, 레시피 제공 이렇게 세 개를 생각했는데 여기서 다 제외하고 recipe만 제공하기로 했다. 사용한 데이터셋 필요한 용량 16GB https://aihub.or.kr/aidata/13594 한..
2022.03.02 -
22.03.02 [kfood프로젝트] YOLOv3 / YOLOv5란 (YOLOv1 논문리뷰)
YOLO란 You Only Look Once라는 약어로, 이미지를 grid system으로 하는 object detection algorithm이다. grid의 각 cell은 오브젝트를 detect하기 위하여 있다. YOLO의 장점은 매우 빠르고(실시간 동영상에서 가능), 뿐만 아니라 정확한 편에 속한다는 것이다. YOLO의 역사 YOLOv1 https://arxiv.org/abs/1506.02640 2015년 6월 8일 YOLOv2 https://arxiv.org/abs/1612.08242v1 2016년 12월 25일 YOLOv3 https://arxiv.org/abs/1804.02767v1 2018년 4월 8일 YOLOv4 https://arxiv.org/abs/2004.10934v1 -> 안들어가짐..
2022.03.02 -
(중요) 22.03.01 [kfood프로젝트] val loss, metrics 정리 및 폴더 정리 및 YOLOv3 / YOLOv5x6 성능정리표
Metrics/Loss 중 더 중요하게 봐야 할 것 Precison, Recall - 실제로 맞췄냐 아니냐 loss - 정답과 예측값 차이를 계산한 것 자율 주행의 경우 loss가 낮아야 하지만 우리의 경우 precision, recall을 더 중요하게 봐야 함. Threshold를 낮추면 신뢰성은 좀 떨어지지만 detection을 할 수 있음. val loss obj_loss가 class 맞추는 것 box_loss가 bbox 맞추는 것 cls_loss가 두 가지 다 보는 것 mAP 간단히 mAP_0.5 → 0.5는 IOU, 0.5 이상인 것 mAP_0.5:0.95 → 0.5 이상인 것, 0.95 이상인 것 각각 구해서 평균을 구하는 것 ⇒ 지금은 mAP 0.5만 보면 될 것 같다. -----------..
2022.03.01 -
22.02.27 [kfood프로젝트] 5탄 lr 0.01, 0.002 epochs 10 Training 결과 YOLOv3
epochs 5 vs epochs 10 아예 bbox를 안 띄우는 건 학습이 덜 된 문제(=epochs 가 너무 작아서) 일단은 epoch 5보다는 epoch 10이 학습이 더 되어서, 그리고 label에 결측치값들이 좀 있어서 그거 정제하고 다시 lr 0.01 epoch 10을 다시 돌려보기로 했다. 위의 1 값이 넘는 이상한 좌표들을 1로 수정하고, 다시 wandb들어가보고 tmux 확인해보니 training이 crashed되고, tmux는 no server exists? 라고 떠서 데모영상 녹화로 인해 GPU 사용량이 넘쳐서? 꺼진 것 같다. 다시 10 epochs lr 0.01로 돌리기 시작! python train.py --img 640 --batch 16 --epochs 10 --data kf..
2022.02.27 -
22.02.26 [kfood프로젝트] 4탄 YOLOv3 음식데이터 detection epochs 5 lr 0.01, 0.001, 0.002 train 결과 비교 - loss
일단 전이학습 할 weights : yolov3.pt adam 2. epochs = 5 -> epochs = 10 1번쨰 방법은 지금 tmux에서 돌아가고 있고! python train.py --img 640 --batch 16 --epochs 5 --data kfood.yaml --weights yolov3.pt --name batch_16_lr_0.002_adam --adam 2번째 방법은 우리 VM이 GPU가 1개밖에 없어서 수현님 연구실네 컴퓨터에서 돌려보기로 했다. 이 결과는 다음 포스팅에 작성하겠다! ++ 코치님 말씀 : lr 0.002는 상승곡선이 좀 느리다.. smoothing 따라서 lr은 0.001, 0.01로 고정시키고 이번엔 다른 요소를 바꿔보기로 했다. 1. optimizer (d..
2022.02.26