โ† ๋ชฉ๋ก
A-05 IDEA ์นดํ…Œ๊ณ ๋ฆฌ A
๐ŸŒณ TreeStudy ๐Ÿ“ท Photo Recognition (AI)
์—…๋ฐ์ดํŠธ 2026-03-02 ์ƒ์„ฑ 2026-03-02
โœ๏ธ ํŽธ์ง‘
์ •๋ง ์‚ญ์ œ?

ํ”„๋กœ์ ํŠธ ๋ฌธ์„œ ์ถ”๊ฐ€์šฉ (v2.4)๋ชฉ์ 

ํ™ˆ ๊ฒ€์ƒ‰๋ฐ” ์šฐ์ธก์— ๐Ÿ“ท ์•„์ด์ฝ˜์„ ์ถ”๊ฐ€ํ•˜์—ฌ, ์‚ฌ์šฉ์ž๊ฐ€ ๋‚˜๋ฌด ์‚ฌ์ง„ 1์žฅ(์ˆ˜ํ˜•)์œผ๋กœ ๋น ๋ฅด๊ฒŒ ํ›„๋ณด๋ฅผ ์–ป๊ณ  ํ•„์š” ์‹œ์—๋งŒ ์žŽ/์—ด๋งค/์ˆ˜ํ”ผ ์ถ”๊ฐ€ ์ดฌ์˜์„ ๋„›์ง€ํ•˜๋Š” โ€œ์†Œํ”„ํŠธ UXโ€๋กœ ์ •ํ™•๋„๋ฅผ ๋Œ์–ด์˜ฌ๋ฆฐ๋‹ค.

UX ์›์น™ (์ค‘์š”)

โŒ ์ฒ˜์Œ๋ถ€ํ„ฐ โ€œ์—ฌ๋Ÿฌ ์žฅ ์ฐ์–ด๋ผโ€๋Š” ์˜๋„ ๋…ธ์ถœ ๊ธˆ์ง€

โœ… 1์žฅ(์ˆ˜ํ˜•) โ†’ ๊ฒฐ๊ณผ TOP3 โ†’ ์• ๋งคํ•˜๋ฉด ์ถ”๊ฐ€ ์ดฌ์˜ ๊ถŒ์œ  ํ๋ฆ„ ๊ณ ์ •

โœ… ๊ฒฐ๊ณผ๋Š” โ€œ๋‹จ์ •โ€์ด ์•„๋‹ˆ๋ผ ํ™•๋ฅ (์‹ ๋ขฐ๋„) ๊ธฐ๋ฐ˜์œผ๋กœ ํ‘œ์‹œ

โœ… โ€œํ‹€๋ ธ๋Š”๋ฐ ๋‹น๋‹นโ€ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ๋น„๊ตํ•˜๊ธฐ๋ฅผ ํ•ญ์ƒ ์ œ๊ณต

ํ™”๋ฉด/ํ๋ฆ„ ์ •์˜

1) Home ๊ฒ€์ƒ‰๋ฐ” ํ™•์žฅ

๊ธฐ์กด: ๐Ÿ” ๊ฒ€์ƒ‰

์ถ”๊ฐ€: ์šฐ์ธก ๋ ๐Ÿ“ท ์•„์ด์ฝ˜ ๋ฒ„ํŠผ

ํƒญ โ†’ ์นด๋ฉ”๋ผ ์ดฌ์˜ or ๊ฐค๋Ÿฌ๋ฆฌ ์„ ํƒ(๊ถŒ์žฅ: ๋‘˜ ๋‹ค)

๊ถŒํ•œ: CAMERA(์ดฌ์˜ ์‹œ), READ_MEDIA_IMAGES(๊ฐค๋Ÿฌ๋ฆฌ ์„ ํƒ ์‹œ, Android 13+)

ํ‘œ๊ธฐ ์˜ˆ:

๐Ÿ” ์ˆ˜์ข…๋ช… ๊ฒ€์ƒ‰ ๐Ÿ“ท

2) 1์ฐจ ์ดฌ์˜ ์•ˆ๋‚ด(์ˆ˜ํ˜• 1์žฅ)

์•ˆ๋‚ด ๋ฌธ๊ตฌ(์งง๊ฒŒ):

๐Ÿ’ก โ€œ๋‚˜๋ฌด ์ „์ฒด๊ฐ€ ๋ณด์ด๊ฒŒ ์กฐ๊ธˆ ๋ฉ€๋ฆฌ์„œ ์ฐ์–ด์ฃผ์„ธ์š”โ€

3) ์ธ์‹ ๊ฒฐ๊ณผ ํ™”๋ฉด (TOP3 + ํ™•๋ฅ )

ํ‘œ์‹œ ๊ทœ์น™(์˜ˆ์‹œ):

์†Œ๋‚˜๋ฌด (Pinus densiflora) โ€” 80%

๊ณฐ์†” (Pinus thunbergii) โ€” 50%

๋ฆฌ๊ธฐ๋‹ค์†Œ๋‚˜๋ฌด (Pinus rigida) โ€” 30%

โญ ๋ณ„์ (์„ ํƒ) + ํผ์„ผํŠธ + ๋ง‰๋Œ€(bar) ์ค‘ 1๊ฐœ๋งŒ(๊ณผํ•œ ์—ฐ์ถœ ๊ธˆ์ง€)

๋ฒ„ํŠผ:

[์ƒ์„ธ๋ณด๊ธฐ] (๋„๊ฐ ์ƒ์„ธ๋กœ ์—ฐ๊ฒฐ)

[โš–๏ธ ๋น„๊ตํ•˜๊ธฐ] (TOP1 vs TOP2 ๊ธฐ๋ณธ)

[๐Ÿ“ท ์ถ”๊ฐ€ ์ดฌ์˜] (๋„›์ง€)

[๋‹ซ๊ธฐ/ํ™ˆ]

4) ์ถ”๊ฐ€ ์ดฌ์˜ ๋„›์ง€(์กฐ๊ฑด๋ถ€)

TOP1 ํ™•๋ฅ ์ด ๋‚ฎ์Œ(์˜ˆ: < 0.60) ๋˜๋Š” TOP1~TOP2 ๊ฒฉ์ฐจ๊ฐ€ ์ž‘์Œ(์˜ˆ: < 0.15)

๋˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ โ€œํ™•์‹คํ•˜๊ฒŒโ€ ๋ฒ„ํŠผ ํƒญ

๋„›์ง€ ๋ฌธ๊ตฌ(์งง๊ฒŒ):

๐Ÿ’ก โ€œ์žŽ/์—ด๋งค/์ˆ˜ํ”ผ๋ฅผ ๊ฐ€๊นŒ์ด ์ฐ์œผ๋ฉด ๋” ์ •ํ™•ํ•ด์ ธ์š”โ€

[๐Ÿ“ท ์ถ”๊ฐ€ ์ดฌ์˜] [๋‚˜์ค‘์—]

๋ฌด๋ฃŒ/์œ ๋ฃŒ ์นด์šดํŠธ ๊ทœ์น™

๋ฌด๋ฃŒ: ํ•˜๋ฃจ NํšŒ(๊ถŒ์žฅ 1~3ํšŒ)

์นด์šดํŠธ ๋ฐฉ์‹(๊ถŒ์žฅ):

โ€œ์ˆ˜ํ˜• + ์ถ”๊ฐ€์ดฌ์˜(์„ ํƒ)โ€์„ 1์„ธํŠธ = 1ํšŒ๋กœ ๊ณ„์‚ฐ

์ฆ‰, ์ถ”๊ฐ€์ดฌ์˜ ๋•Œ๋ฌธ์— ๊ณผ๊ธˆ์ฒ˜๋Ÿผ ๋А๊ปด์ง€์ง€ ์•Š๊ฒŒ ์„ค๊ณ„

์ดˆ๊ณผ ์‹œ ์•ˆ๋‚ด(์งง๊ฒŒ):

๐Ÿ”’ โ€œ์˜ค๋Š˜์˜ ๋ฌด๋ฃŒ ์ธ์‹์ด ๋๋‚ฌ์–ด์š”. ํ”„๋ฆฌ๋ฏธ์—„์€ ๋ฌด์ œํ•œ ์ธ์‹์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.โ€

์‹ ๋ขฐ๋„/์˜ค๋‹ต ๋ฐฉ์–ด ์ •์ฑ…

TOP1 ํ™•๋ฅ ์ด ๋งค์šฐ ๋‚ฎ์„ ๋•Œ(์˜ˆ: < 0.45)

๋‹จ์ • ๊ธˆ์ง€

๋ฌธ๊ตฌ:

โ€œ์ •ํ™•ํ•œ ์ธ์‹์ด ์–ด๋ ค์›Œ์š”. ๋‹ค๋ฅธ ๊ฐ๋„์—์„œ ๋‹ค์‹œ ์ฐ์–ด์ฃผ์„ธ์š”.โ€

TOP3๋Š” ๋ณด์—ฌ์ฃผ๋˜ โ€œํ›„๋ณดโ€์ž„์„ ๊ฐ•์กฐ

๋ฐ์ดํ„ฐ ๋งค์นญ ์ •์ฑ… (API ๊ฒฐ๊ณผ โ†’ ๋„๊ฐ ์—ฐ๊ฒฐ)

์™ธ๋ถ€ API๋Š” ๋ณดํ†ต ํ•™๋ช…(Scientific name) ์ค‘์‹ฌ์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์•ฑ ๋‚ด๋ถ€๋Š” species.json์— ํ•™๋ช… ํ•„๋“œ ์ถ”๊ฐ€(๊ถŒ์žฅ):

scientific_name: "Pinus densiflora"

๋งค์นญ ์šฐ์„ ์ˆœ์œ„:

ํ•™๋ช… exact match

์˜๋ฌธ๋ช…/ID ๋ณด์กฐ ๋งค์นญ

๋งค์นญ ์‹คํŒจ ์‹œ: โ€œ๋„๊ฐ์— ์—†๋Š” ํ›„๋ณดโ€๋กœ ํ‘œ์‹œํ•˜๊ณ  ์›น๊ฒ€์ƒ‰ ์œ ๋„๋Š” ๊ธˆ์ง€(์˜คํ”„๋ผ์ธ ์šฐ์„ )
โ†’ ๋Œ€์‹  โ€œ๋‹ค์‹œ ์ดฌ์˜/์ถ”๊ฐ€ ์ดฌ์˜โ€๋งŒ ์ œ๊ณต

๊ตฌํ˜„ ๋ฒ”์œ„ (P0 / P1)
P0 (ํ•„์ˆ˜)

ํ™ˆ ๊ฒ€์ƒ‰๋ฐ” ๐Ÿ“ท ๋ฒ„ํŠผ ์ถ”๊ฐ€

์ดฌ์˜/๊ฐค๋Ÿฌ๋ฆฌ ์„ ํƒ โ†’ ์ด๋ฏธ์ง€ 1์žฅ ์—…๋กœ๋“œ

์™ธ๋ถ€ AI API ํ˜ธ์ถœ(๋„คํŠธ์›Œํฌ)

๊ฒฐ๊ณผ TOP3 ํ‘œ์‹œ + ๋น„๊ตํ•˜๊ธฐ ์—ฐ๊ฒฐ

๋ฌด๋ฃŒ ํšŸ์ˆ˜ ์ œํ•œ(์ผ ๋‹จ์œ„ ๋ฆฌ์…‹) + ์ดˆ๊ณผ ์‹œ ์œ ๋ฃŒ ์•ˆ๋‚ด

P1 (๊ถŒ์žฅ)

์ธ์‹ ํžˆ์Šคํ† ๋ฆฌ(์ตœ๊ทผ 10๊ฐœ)

์‹คํŒจ/ํƒ€์ž„์•„์›ƒ ์žฌ์‹œ๋„ UX(1ํšŒ)

๋„คํŠธ์›Œํฌ ๋ถˆ๊ฐ€ ์‹œ ์•ˆ๋‚ด(์˜คํ”„๋ผ์ธ ๋ฌธ๊ตฌ)

ํŒŒ์ผ/๋ชจ๋“ˆ ์œ„์น˜ ์ œ์•ˆ (์ฝ”๋“œ ์ •๋ฆฌ์šฉ)

ui/home/HomeScreen.kt : ๊ฒ€์ƒ‰๋ฐ” + ๐Ÿ“ท ๋ฒ„ํŠผ

ui/recognition/RecognitionFlow.kt : ์ดฌ์˜/๊ฐค๋Ÿฌ๋ฆฌ/๊ฒฐ๊ณผ ํ™”๋ฉด

data/recognition/RecognitionApi.kt : API ํ˜ธ์ถœ

data/recognition/RecognitionRepository.kt : ๊ฒฐ๊ณผ ์ •๋ฆฌ + ๋„๊ฐ ๋งค์นญ

data/store/UsageStore.kt : ์ผ์ผ ๋ฌด๋ฃŒ ํšŸ์ˆ˜ ์นด์šดํŠธ(DataStore)

model/RecognitionResult.kt : TOP ํ›„๋ณด ๋ชจ๋ธ