Skip to content
@CareSpoon

CareSpoon

JoyrOOOm's Capstone Project
image



λΆ€λͺ¨λ‹˜μ΄ 였늘 μ–΄λ–€ μŒμ‹μ„ μ–Όλ§ˆλ‚˜ λ“œμ…¨μ§€? ν•„μš”ν•œ μ˜μ–‘μ†ŒλŠ” 골고루 μ„­μ·¨ν•˜μ‹  걸까?


μœ„μ™€ 같은 고민을 ν•œλ²ˆμ΄λΌλ„ ν•΄λ³Έ 적이 μžˆμœΌμ‹ κ°€μš”? λ°”μœ 일상 속에 λΆ€λͺ¨λ‹˜μ΄ λ“œμ‹  μ‹λ‹¨κΉŒμ§€ κ΄€λ¦¬ν•˜κΈ°λž€ 쉽지 μ•ŠμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ μ €ν¬λŠ” CareSpoon 을 μƒκ°ν•΄λƒˆμŠ΅λ‹ˆλ‹€.

CareSpoon 은 μ‚¬μš©μžκ°€ 식사 μ „ 본인의 식단을 찍기만 ν•˜λ©΄ μ–΄λ–€ μŒμ‹μ„ λ¨Ήμ—ˆλŠ”μ§€, μ–Όλ§ˆλ‚˜ λ¨Ήμ—ˆλŠ”μ§€, κ·Έ μ•ˆμ— μ˜μ–‘μ†ŒλŠ” μ–΄λŠμ •λ„ μ„­μ·¨ν–ˆλŠ”μ§€λ₯Ό κΈ°λ‘ν•©λ‹ˆλ‹€. λ³΄ν˜ΈμžλŠ” μ‚¬μš©μžμ˜ 식사 ν˜„ν™©κ³Ό μ˜μ–‘ 정보λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. μ†μ‰½κ²Œ μ˜μ–‘μ„±λΆ„ μ„­μ·¨ 정보λ₯Ό κΈ°λ‘ν•˜κ³ , κ·Έλž˜ν”„λ₯Ό 톡해 ν•œλˆˆμ— νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μš°λ¦¬λŠ” λ‹€μŒ λ°©λ²•μœΌλ‘œ μ‹œλ‹ˆμ–΄μ˜ μŠ€λ§ˆνŠΈν•œ 건강 관리λ₯Ό μ œκ³΅ν•˜κ³ μž ν•©λ‹ˆλ‹€.

  • 식단 사진 촬영 ν›„ μ˜μ–‘μ„±λΆ„(νƒ„μˆ˜ν™”λ¬Ό, λ‹¨λ°±μ§ˆ, μ§€λ°©, 칼둜리) 정보 기둝
  • μ˜μ–‘μ†Œ μ„­μ·¨ ν˜„ν™© κ·Έλž˜ν”„ 제곡
  • 식사λ₯Ό 제 λ•Œ μ„­μ·¨ν•˜μ§€ μ•Šμ•˜μ„ λ•Œ Viewerμ—κ²Œ μ•Œλ¦Ό

Tech Stack

Frontend Server AI
Android Kotlin Java SpringBoot GoogleCloud MySQL Python FastAPI PyTorch YOLOv5

Features

μŠ€ν”Œλž˜μ‹œ ꡬ글 둜그인 ꡬ글 둜그인 2 νšŒμ› κ°€μž… νšŒμ› κ°€μž… 2

ꡬ글 계정을 μ—°λ™ν•˜μ—¬ κ°„νŽΈν•˜κ²Œ 둜그인이 κ°€λŠ₯ν•˜λ‹€. 이후 κΈ°μ΄ˆλŒ€μ‚¬λŸ‰ 계산을 μœ„ν•œ κ°„λ‹¨ν•œ 신체 정보λ₯Ό κΈ°μž…ν•˜λ©΄ νšŒμ›κ°€μž…μ„ 마칠 수 μžˆλ‹€.

ν™ˆ ν™ˆ2 식단 μ„ΈλΆ€ 정보 일별 톡계 월별 톡계

ν™ˆ 화면은 μ‹œλ‹ˆμ–΄ μ‚¬μš©μžλ₯Ό κ³ λ €ν•˜μ—¬ 크고 λ³΅μž‘ν•˜μ§€ μ•Šμ€ μš”μ†Œλ“€λ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€.
빈 μΉ΄λ“œλ₯Ό 눌러 식단을 μ΄¬μ˜ν•˜λ©΄ AIκ°€ μžλ™μœΌλ‘œ 사진 속 μŒμ‹ 정보λ₯Ό λΆ„μ„ν•˜μ—¬ μ˜μ–‘ 정보λ₯Ό 기룩해쀀닀.
식단 μΉ΄λ“œλ₯Ό ν΄λ¦­ν•˜λ©΄ ν•΄λ‹Ή 식단에 λŒ€ν•œ 상세 μ˜μ–‘ 뢄석 정보λ₯Ό 확인할 수 μžˆλ‹€.
μ˜μ–‘ 톡계 λ©”λ‰΄λ‘œ μ§„μž…ν•˜λ©΄ AIκ°€ λΆ„μ„ν•œ 데이터λ₯Ό λ°”νƒ•μœΌλ‘œ 일별, 월별 톡계 κ·Έλž˜ν”„λ₯Ό μ œκ³΅ν•œλ‹€.


식단 기둝 친ꡬ 관리 친ꡬ μΆ”κ°€ μ„€μ • 정보 λ³€κ²½

식단 기둝 λ©”λ‰΄λ‘œ μ§„μž…ν•˜λ©΄ μ£Όκ°„μ˜ μ•„μΉ¨, 점심, 저녁 식단 기둝을 확인할 수 μžˆλ‹€. λ§ˆμ°¬κ°€μ§€λ‘œ 식단 μΉ΄λ“œλ₯Ό ν΄λ¦­ν•˜λ©΄ ν•΄λ‹Ή 식단에 λŒ€ν•œ 상세 ν™”λ©΄μœΌλ‘œ μ§„μž…ν•œλ‹€.
μΉœκ΅¬μ™€ κ³΅μœ ν•˜κΈ° λ©”λ‰΄λ‘œ μ§„μž…ν•˜λ©΄ ν˜„μž¬ λ‚΄ 정보λ₯Ό κ³΅μœ ν•˜κ³  μžˆλŠ” 친ꡬ λͺ©λ‘μ„ λ³Ό 수 있고, μ‚¬μš©μžκ°€ μ›ν•œλ‹€λ©΄ μ–Έμ œλ“  친ꡬ 관계λ₯Ό λŠμ„ 수 μžˆλ‹€.
κ³΅μœ ν•˜κΈ° ν™”λ©΄ 였λ₯Έμͺ½ μƒλ‹¨μ˜ + λ²„νŠΌμ„ 눌러 친ꡬ μΆ”κ°€ ν™”λ©΄μœΌλ‘œ μ§„μž…ν•˜λ©΄ 고유 μ½”λ“œλ₯Ό κ²€μƒ‰ν•˜μ—¬ μƒˆ μœ μ €λ₯Ό 친ꡬ둜 등둝할 수 μžˆλ‹€.
μ„€μ • ν™”λ©΄ μƒλ‹¨μ˜ μ•Œλ¦Ό ν† κΈ€ λ²„νŠΌμ„ 톡해 식단 촬영 μ‹œκ°„μ— λŒ€ν•œ μ•Œλ¦Όμ„ 온/μ˜€ν”„ ν•  수 μžˆλ‹€.
νšŒμ›κ°€μž… μ‹œ μž…λ ₯ν•œ μ‹ μ²΄μ •λ³΄λŠ” ꢌμž₯ μ„­μ·¨λŸ‰μ˜ 계산에 μ“°μ΄λ―€λ‘œ, 신체 정보가 λ°”λ€” μ‹œ μ–Έμ œλ“  자유둭게 λ³€κ²½ν•  수 μžˆλ‹€.



Project Architecture

image


Android

Software requirement

  • Android studio Flamingo 2022.2.1
  • compileSdk 33 or higher
  • minSdk 26 or higher

Hardware requirement

  • CameraX supported Android Device within this link
    (CameraX is supported on most Android devices running Android 5.0 (API level 21) and higher.)

Tech

Architecture MVVM
Jetpack Components AppCompat, LifeCycles, ViewModel, LiveData, viewPager2, CameraX
library Standard Library, Material Design, Glide, MPAndroidChart
Network OkHttp, Retrofit2, GSON, Coroutine

Server

  • Java: jdk 17 sudo apt-get install openjdk-11-jdk
  • MySQL: 8.0.31
  • Deployment VM: Ubuntu 20.04
  • Base URL: 34.64.211.6:8080

Dependency

    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-jdbc'
    implementation 'javax.persistence:javax.persistence-api:2.2'
    implementation 'org.springframework:spring-core:5.3.15'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
    implementation "com.querydsl:querydsl-apt:${queryDslVersion}"
    implementation 'com.google.firebase:firebase-admin:7.1.0'
    implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.2.2'
    implementation 'mysql:mysql-connector-java:8.0.31'
    implementation platform('com.google.cloud:libraries-bom:26.14.0')
    implementation 'com.google.cloud:google-cloud-storage'

AI

Requirement

  • OS: Ubuntu 20.04
  • Python: 3.7
  • FastAPI: 0.95.0
  • PyTorch: 1.10.0
  • Tensorflow: 1.13.1
pip install -r requirements.txt

Classification Model

Model YOLOv5 custom dataset μ‚¬μš©ν•˜μ—¬ ν•™μŠ΅
Serving FastAPI μ‚¬μš©ν•˜μ—¬ AI λͺ¨λΈ μ„œλΉ™
Dataset AI HUB μŒμ‹ 이미지 및 μ˜μ–‘μ •λ³΄ ν…μŠ€νŠΈ μ „μ²˜λ¦¬ ν›„ μ‚¬μš©
Train final_best.pt
100 epoch
Accuracy Class: ν•œμ‹ 10μ’…
mAP@50: 0.98
mAP@50-95:0.86
Result

Volume Estimation Model

Model 1. Mask RCNN 기반 Segmentation
2. CNN 기반 Depth Estimation
Serving FastAPI μ‚¬μš©ν•˜μ—¬ AI λͺ¨λΈ μ„œλΉ™
Dataset food videos dataset
Example
Result


Popular repositories Loading

  1. CareSpoon_Server CareSpoon_Server Public

    μ΄ν™”μ—¬μžλŒ€ν•™κ΅ μΊ‘μŠ€ν†€ λ””μžμΈ ν¬μŠ€ν„° μ„Έμ…˜ μˆ˜μƒμž‘ | μƒˆμ‹Ήν†€ μ§„μΆœμž‘

    Java

  2. .github .github Public

  3. CareSpoon_Android CareSpoon_Android Public

    Kotlin 1

  4. CareSpoon_AI CareSpoon_AI Public

    μ΄ν™”μ—¬μžλŒ€ν•™κ΅ μΊ‘μŠ€ν†€λ””μžμΈ ν¬μŠ€ν„° μ„Έμ…˜ μˆ˜μƒ

    Python 1

Repositories

Showing 4 of 4 repositories

Top languages

Loading…

Most used topics

Loading…