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โ€ฆ