Deep Learning 31

YOLOv5 custom dataset으로 학습시키기 A to Z | 🍚 한식 분류기 만들기

CareSpoon: 한식 분류기 만들기 A to Z YOLOv5 custom dataset으로 학습시키기 현재 졸업 프로젝트에서 음식 이미지에서 음식을 인식해서 섭취한 영양 성분을 분석하고 영양 상태를 관리해주는 를 개발하고 있다. 나는 음식 이미지에서 음식 메뉴를 추론하는 AI 모델링과 AI 모델 서버 파트를 맡았다. 아래 사진과 같이 우리 팀 노션 페이지에서 모든 태스크 및 일정을 관리하면서 개발중이다. 지금은 FastAPI로 AI 모델 api까지 개발 완료했고, EC2로 배포중이다. 직접 데이터를 구축하고, GPU를 사용하기 위해 개발환경을 세팅하고, 리눅스 환경에서 모델을 학습시킨 것이 처음이라 CUDA, cuDNN 등 개발환경 셋업부터 쉽지 않았다. 그래서 프로젝트 과정을 최대한 자세하게, 처음..

[Image Inpainting] LaMa-Inpainting 실습하기

LaMa-Inpainting 실습하기 이번 학기부터 졸업 프로젝트를 진행하고 있는데, 우리 팀은 AI 기반 가상착용이 가능한 안드로이드 앱을 만들고 있다. 나는 이번 졸업 프로젝트에서 AI 모델 개발을 맡고 있다. 프로젝트 및 앱 이름은 SeeFit 이다. SeeFit 은 쓰고 있는 안경을 벗지 않고도 다른 안경을 가상 착용할 수 있는 아이웨어 쇼핑 플랫폼이다. 이 프로젝트에서 내가 구현해야 하는 부분은 기존의 안경을 지워주는 일이다. 내가 생각한 구현 방법은 다음 두 가지이다. Video Object Segmentation + 픽셀 값 보정 Video Object Segmentation + Video Inpainting 첫 번째는 Video Object Segmentation을 이용하는 방법이다. 우리..

Deep Learning 2022.11.25

[Full Stack Deep Learning] Lecture 5 - ML Projects

Lecture 5 | ML Projects Full Stack Deep Learning 5강을 듣고 정리한 글입니다. 영어 강의라서 해석이 모호한 부분은 강의 내용을 영어 그대로 인용했습니다. 5강에서는 머신러닝 프로젝트를 하기 위한 필요한 모든 것에 대해 다룹니다. 1. Why do ML projects fail? AI 프로젝트의 85%는 실패한다. ML 프로젝트는 대부분 “RESEARCH” 프로젝트이기 때문에 100%의 성공률을 목표로 해서는 안된다. ML 프로젝트는 실패하기 쉬운데, 이유는 다음과 같다. Many ML projects are technically infeasible or poorly scoped. 기술적으로 불가능하다. Many ML projects never leap product..

Deep Learning 2022.05.31

[Full Stack Deep Learning] Lecture 3 - RNNs

Lecture3 | RNNs Full Stack Deep Learning 3강을 듣고 정리한 글입니다. 영어 강의라서 해석이 모호한 부분은 강의 내용을 영어 그대로 인용했습니다. 1. Sequence problems Sequnce Model sequence model이란 연속적인 입력(sequential input)으로부터 연속적인 출력(sequential output)을 생성하는 모델이다 모델에 따라 입력과 출력이 모두 sequence data일 수도, 입력과 출력 중 하나만 sequence data일 수도 있다 여러 sequence model은 다음과 같은 sequence data들을 다루고, sequence problem의 대표적인 예시로 기계번역(machine translation)과 챗봇(cha..

Deep Learning 2022.05.10

CS231n 9강 내용정리 - CNN 아키텍쳐(AlexNet, VGGNet, GoogleNet, ResNet)

CS231N Lecture9 | CNN Architectures ImageNet 챌린지에서 우승한 모델들로, 대표적인 CNN 모델들(AlexNet, VGGNet, GoogleNet, ResNet)을 살펴볼 것이다. 이외에도 잘 사용하진 않지만 역사적으로 중요한 모델이나, 흥미로운 모델, 최신(2017 기준) 모델들도 다룰 것이다. 앞으로 말하는 ‘네트워크가 깊다’는 것은 “학습 가능한 가중치를 가진 레이어”의 개수가 많은 것을 의미한다. 가령 conv layer나 FC layer를 말하고, 이때 pooling layer는 포함되지 않는다. 0. LeNet 실제로 성공적으로 사용된 최초의 conv net 숫자 인식에서 엄청난 성공을 거둠 1. AlexNet (2012) 최초의 large scale CNN으..

CS231n 1강 내용정리 - 컴퓨터 비전의 역사💻👓

CS231n 1강 컴퓨터 비전의 역사💻👓 0. Intro 무수한 센서(ex. 카메라)로부터 비롯된 엄청나게 많은 시각 데이터 → 이에 따라 visual data를 잘 활용할 수 있는 알고리즘의 중요성 증대 → 하지만 실제로 이들을 이해하고 해석하는 일은 상당히 어려운 일임 매분 약 500시간 이상의 동영상이 업로드 됨 (2020년 유튜브 통계자료) 1. Computer Vision 컴퓨터 비전은 학제적(interdisciplinary)인 분야로, 굉장히 다양한 분야와 맞닿아 있다. 물리학 - 광학, 이미지 구성, 이미지의 물리적 형성 생물학, 심리학 - 동물의 뇌가 어떤 방식으로 시각 정보를 보고 처리하는지를 이해 컴퓨터 과학, 수학, 공학 - 컴퓨터 비전 알고리즘을 구현할 컴퓨터 시스템을 구축할 때 필..

CS231n 12강 summary

Leture12. Visualizing and Understanding CNN의 내부는 어떻게 생겼을까? 네트워크의 중간과정을 확인할 방법은 없을까? 가장 만만하게 접근해 볼 수 있는 게 first layer를 시각화하는 방법! 1. Visualize First layer conv layer의 학습된 가중치들을 시각화해서 필터들이 무엇을 찾는지 알 수 있다. 엣지 성분과 다양한 각도와 위치에서의 보색이 나타난다. conv filter와 이미지의 일부영역과 내적한 결과가 첫번째 layer의 출력이다. 중간 레이어들도 시각화할 수 있긴 하지만, 필터들이 이미지와 직접 연결되어 있지 않기 때문에 가중치들을 시각화한다 해도 이를 해석하는 것은 쉽지 않다. 2. Visualize Last layer 1) Near..

CS231n 4강 summary

Lecture4. Backpropagation and Neural Networks 1. Computational graphs computational graph는 함수 식을 단순화하여 graph로 표현하는 방법이다 임의의 복잡한 함수에서 analytic gradient를 구할 때 computational graph를 이용한다 computational graph를 사용해서 함수를 표현한다 Backpropagation 사용 가능해진다 Gradient를 얻기 위해 computational graph 내부의 모든 변수에 대해 chain rule을 재귀적으로 사용한다 2. Backpropagation Backpropagation의 첫번째 단계는 함수 f를 computational graph로 나타내는 것이다 Ba..

반응형