Skip to content

hyunss/Tripod_Camera

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

27 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

์ธ์ƒ์ƒท์„ ์œ„ํ•œ ๋ธ”๋ฃจํˆฌ์Šค ์‚ผ๊ฐ๋Œ€์™€ ์•ฑ

๋ชฉ์ฐจ

  1. ์ฃผ์ œ ์„ ์ • ๋ฐฐ๊ฒฝ ๋ฐ ์ž‘๋™ ๋ฐฉ๋ฒ•
  2. ์‚ฌ์šฉ ๊ธฐ์ˆ 
    • ๋”ฅ๋Ÿฌ๋‹
    • App-์•„๋‘์ด๋…ธ ํ†ต์‹ 
    • ์‚ฌ์ง„ ์ €์žฅ Web ์„œ๋น„์Šค
  3. ์ž‘ํ’ˆ ์‚ฌ์ง„ ๋ฐ ๋™์ž‘ ๊ฒฐ๊ณผ

1. ์ฃผ์ œ ์„ ์ • ๋ฐฐ๊ฒฝ ๋ฐ ์ž‘๋™ ๋ฐฉ๋ฒ•

์ฃผ์ œ ์„ ์ • ๋ฐฐ๊ฒฝ

  • ์‚ผ๊ฐ๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ 

    ์žฅ๊ฑฐ๋ฆฌ์˜ ๊ฒฝ์šฐ | ๋‹จ์ฒด ์‚ฌ์ง„(2๋ช… ์ด์ƒ)์ธ ๊ฒฝ์šฐ | ๊ตฌ๋„๋ฅผ ๊ณ ์ •ํ•˜์—ฌ ์ฐ๋Š” ๊ฒฝ์šฐ | ํ˜ผ์ž์„œ ์ดฌ์˜ํ•˜๋Š” ๊ฒฝ์šฐ

    ๐Ÿคฆโ€โ™€๏ธ

    • ๊ตฌ๋„๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ๋งˆ๋‹ค ์ง์ ‘ ์‚ผ๊ฐ๋Œ€๋ฅผ ์›€์ง์—ฌ์•ผ ํ•œ๋‹ค.
    • ๋ธ”๋ฃจํˆฌ์Šค ๋ฆฌ๋ชจ์ปจ์„ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ํ•œ์žฅ ์”ฉ๋งŒ ์ดฌ์˜๋œ๋‹ค.
    • ๋ถˆํ•„์š”ํ•œ ์‹œ๊ฐ„ ์†Œ์š”

  • ์‚ฌ์ง„์„ ์ฐ๋Š” ๋ชฉ์ 

    ์—ฌํ–‰์—์„œ ์ถ”์–ต์„ ๋‚จ๊ธฐ๊ณ  ์‹ถ์„ ๋•Œ | SNS์— ์ž˜ ๋‚˜์˜จ ์‚ฌ์ง„์„ ์˜ฌ๋ฆฌ๊ณ  ์‹ถ์–ด์„œ | ์นœ๊ตฌ๋“ค๊ณผ์˜ ์ถ”์–ต์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•ด

    ๐Ÿคทโ€โ™€๏ธ

    • ์ž˜ ๋‚˜์˜จ ์‚ฌ์ง„์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ต๊ณ 
    • ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐ์— ์ƒ๋‹น ์‹œ๊ฐ„์ด ์†Œ์š”๋œ๋‹ค.

์ž‘๋™ ๋ฐฉ๋ฒ•

  1. ์‚ฌ์ง„ ์ดฌ์˜ ์‹œ์ž‘(๋ธ”๋ฃจํˆฌ์Šค ๋ฆฌ๋ชจ์ปจ)
  2. ๋ชจํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐ๋„๋กœ ํšŒ์ „ํ•œ๋‹ค.
  3. ๋ชจํ„ฐ์˜ ๊ฐ๋„ ๋ณ€๊ฒฝ์— ๋งž์ถ”์–ด ์•ฑ๊ณผ ๋ธ”๋ฃจํˆฌ์Šค ํ†ต์‹ ํ•˜์—ฌ ์นด๋ฉ”๋ผ๊ฐ€ ์—ฐ์† ์ดฌ์˜ํ•œ๋‹ค.
  4. ์ดฌ์˜๋œ ์‚ฌ์ง„๋“ค์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ถ”์ฒœํ•ด์ค€๋‹ค.
  5. ์‚ฌ์šฉ์ž๋Š” ์ „์ฒด ์ €์žฅํ•˜๊ฑฐ๋‚˜ ํ˜น์€ ์›ํ•˜๋Š” ์‚ฌ์ง„๋“ค์„ ์„ ํƒํ•˜์—ฌ ๋ถ€๋ถ„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.



2. ์‚ฌ์šฉ ๊ธฐ์ˆ 

  • Android Studio

    • ์‚ฌ์ง„ ๋ถ„๋ฅ˜ ๋ฐ ์ €์žฅ ์–ดํ”Œ ์ œ์ž‘
    • ์•„๋‘์ด๋…ธ ๋ธ”๋ฃจํˆฌ์Šค ํ†ต์‹ 
  • Arduino

    • Servo motor: ์ขŒ์šฐ ์›€์ง์ž„ ์กฐ์ ˆ
    • Stepping motor: ์ƒํ•˜ ์›€์ง์ž„ ์กฐ์ ˆ
  • Deep Learning

    • ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ ์„ ์ • ๋ฐ ๋ฐ์ดํ„ฐ์…‹ ํ•™์Šต ์ง„ํ–‰
    • ์ดฌ์˜๋œ ์‚ฌ์ง„๋“ค ์ค‘ ๊ฐ€์žฅ ์ž˜ ๋‚˜์˜จ ์‚ฌ์ง„ ์ˆœ์œ„ ์„ ์ •
  • Android-Web ํ†ต์‹  (DB)

    • ์ดฌ์˜๋œ ๋ชจ๋“  ์‚ฌ์ง„์„ ์„œ๋ฒ„์— ์ „์†กํ•˜์—ฌ ์—…๋กœ๋“œ
    • ์ €์žฅํ•˜์ง€ ์•Š์€ ์‚ฌ์ง„๊นŒ์ง€ ์›น์—์„œ๋„ ํ™•์ธ ๊ฐ€๋Šฅ



2.1. ๋”ฅ๋Ÿฌ๋‹

Inception-v3

  • ์ดฌ์˜๋œ ์‚ฌ์ง„๋“ค ์ค‘ ์ตœ์ ์˜ ๊ตฌ๋„๋ฅผ ์ถ”์ฒœํ•˜๊ธฐ ์œ„ํ•ด, ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ์— ์ ํ•ฉํ•œ ํ•™์Šต ๋ชจ๋ธ
  • ํŠน์ • Task์— ์ด๋ฏธ ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ด ๊ฒ€์ฆ๋œ ๋ชจ๋ธ

์ด๋ฏธ์ง€ ์ธ์‹(์ถ”๋ก )์— ๋Œ€ํ•ด ๊ตฌ๊ธ€์ด ๋งŒ๋“  Inception ๋ชจ๋ธ์˜ ๊ตฌ์กฐ์™€ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์„ ๊ฐ€์ ธ์™€
์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์…‹์— retraining ์„ ํ•˜๋Š” Transfer learning ๊ณผ์ •์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

Inception v3 Neural Networks์˜ Architecture


๋ฐ์ดํ„ฐ์…‹ ํด๋ž˜์Šค ๋ถ„๋ฅ˜

bad ์™€ good label์„ ๊ฐ€์ง„ ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ 
๊ฐ ํด๋” ์•ˆ์— ๊ตฌ๋„๊ฐ€ ์ข‹์€ ์‚ฌ์ง„๊ณผ ๊ทธ๋ ‡์ง€ ์•Š์€ ์‚ฌ์ง„์„
์•ฝ 4000๊ฐœ์”ฉ jpg(jpeg)๋กœ ์ €์žฅํ•˜์—ฌ ์›๋ณธ dataset์„ ๋งŒ๋“ค์—ˆ๋‹ค.


๋ฐ์ดํ„ฐ์…‹ ์ง์„  ์„ฑ๋ถ„ ์ถ”์ถœ

๊ตฌ๋„๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด OpenCV๋ฅผ ํ†ตํ•ด ์›๋ณธ ๋ฐ์ดํ„ฐ์…‹์—์„œ
์ง์„ ์„ฑ๋ถ„๋งŒ์„ ์ถ”์ถœํ•˜์—ฌ good/bad๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๋ฐ์ดํ„ฐ์…‹ ๊ตฌ์ถ•.

๐Ÿ‘‡ ์ถ”์ถœํ•œ ์ง์„  ์„ฑ๋ถ„ ์ค‘ good ๋ฐ์ดํ„ฐ์…‹ ์ผ๋ถ€


App๊ณผ OpenCV ์—ฐ๋™

๋‘ ๊ฐœ์˜ ํ•™์Šต ๊ทธ๋ž˜ํ”„๋ฅผ ๋ชจ๋ฐ”์ผ ์ตœ์ ํ™”ํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

๋ชจ๋ฐ”์ผ ์ตœ์ ํ™” ์ „ ๋ชจ๋ฐ”์ผ ์ตœ์ ํ™” ํ›„
retained_graph.pb optimized_graph.pb
retained_line_graph.pb optimized_line_graph.pb

๐Ÿ‘‡ ์ง์„  ์„ฑ๋ถ„ ํ•™์Šต ๊ทธ๋ž˜ํ”„๋ฅผ ์ด์šฉํ•œ ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœ ์‹œ ์‚ฌ์šฉ

App๊ณผ ํ•™์Šต ๋ฐ์ดํ„ฐ ์ ‘๋ชฉ

์ด 2์ข…๋ฅ˜์˜ Dataset์„ tensorflow๋กœ ๊ฐ๊ฐ ํ•™์Šต ์‹œํ‚จ ํ›„, ๋ชจ๋ฐ”์ผ์— ์ตœ์ ํ™” ์‹œํ‚จ
์›๋ณธ ์ด๋ฏธ์ง€ ํ•™์Šต ๊ทธ๋ž˜ํ”„์™€ ์ง์„  ์„ฑ๋ถ„ ํ•™์Šต ๊ทธ๋ž˜ํ”„๋ฅผ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์— ์ ์šฉํ•œ ๊ฒฐ๊ณผ.


๊ฒฐ๊ณผ ์ปจ๋ณผ๋ฃจ์…˜

์ตœ์ข… ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ
๊ตฌ๋„ ํŒ๋ณ„ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜์™€ ์›๋ณธ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ๋„์ถœํ•˜์˜€๋‹ค.


์ •๋ ฌ๋œ ์‚ฌ์ง„์€ ์‚ฌ์ง„ ์† ์ธ๋ฌผ์˜ ์œ„์น˜๊ฐ€ ์ ์ ˆํ•œ๊ฐ€, ๊ตฌ๋„์ ์œผ๋กœ ์‚ฌ์ง„ ์† ์ˆ˜์ง/์ˆ˜ํ‰ ์„ฑ๋ถ„์ด ๋งŽ์€ ๊ฐ€์— ์˜ํ•ด ๊ฒฐ์ •๋œ๋‹ค.



2.2. App-์‚ผ๊ฐ๋Œ€ ํ†ต์‹ 

CameraX๋ž€?

์นด๋ฉ”๋ผ ์•ฑ ๊ฐœ๋ฐœ์„ ๋”์šฑ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ง„ Jetpack ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • ๋Œ€๋ถ€๋ถ„์˜ Android ๊ธฐ๊ธฐ์—์„œ ์ž‘๋™ํ•˜๋Š” ์ผ์†ฌ์„ฑ ์žˆ๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด API ๋…ธ์ถœ ์˜์—ญ์„ ์ œ๊ณตํ•˜๋ฉฐ, Android 5.0(API Level21)๊นŒ์ง€ ํ˜ธํ™˜
  • camera2์˜ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋ฉด์„œ ์ˆ˜๋ช… ์ฃผ๊ธฐ๋ฅผ ์ธ์‹ํ•˜๋Š” ๋” ๋‹จ์ˆœํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€ ๊ธฐ๋ฐ˜์˜ ๋ฐฉ์‹์„ ์‚ฌ์šฉ

์•„๋‘์ด๋…ธ์™€ ๋ธ”๋ฃจํˆฌ์Šค ํ†ต์‹ 

Bluetooth SPP ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ์‚ผ๊ฐ๋Œ€์— ๋‹ฌ๋ฆฐ ์•„๋‘์ด๋…ธ์™€ ๋ธ”๋ฃจํˆฌ์Šค ์—ฐ๊ฒฐ์„ ํ•˜์—ฌ ํ†ต์‹ ํ•œ๋‹ค.

  • ์•ˆ๋“œ๋กœ์ด๋“œ์™€ ์•„๋‘์ด๋…ธ ํ†ต์‹ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ์•„๋‘์ด๋…ธ๋กœ ๋ณด๋‚ธ ํ›„ ๋ชจํ„ฐ๋ฅผ ์ž‘๋™์‹œํ‚จ๋‹ค.

  • ๋ชจํ„ฐ ์ž‘๋™์ด ๋๋‚œ ํ›„ ์•„๋‘์ด๋…ธ์—์„œ ๋‹ค์‹œ ์•ˆ๋“œ๋กœ์ด๋“œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ 
    ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ์ž๋™์œผ๋กœ ์‚ฌ์ง„ ์ดฌ์˜์ด ์ด๋ฃจ์–ด์ ธ ์—ฐ์† ์ดฌ์˜ ๋ฐ ๋ชจํ„ฐ ๊ตฌ๋™์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.



์‚ฌ์šฉ ๋ถ€ํ’ˆ๊ณผ ์—ฐ๊ฒฐ๋„

์‚ผ๊ฐ๋Œ€์— ๋‹ฌ๋ฆฐ ์•„๋‘์ด๋…ธ์™€ ๋ธ”๋ฃจํˆฌ์Šค ํ†ต์‹ ์„ ์‚ฌ์šฉํ•ด
๋ชจํ„ฐ์˜ ๊ฐ๋„ ๋ณ€๊ฒฝ๊ณผ ์ดฌ์˜ ํƒ€์ด๋ฐ์„ ๊ฒฐ์ •ํ•˜์—ฌ ์—ฐ์† ์ดฌ์˜ํ•œ๋‹ค.

๋ถ€ํ’ˆ ์—ญํ• 
Servo motor ์นด๋ฉ”๋ผ ์ขŒ์šฐ ํšŒ์ „
Stepping motor ์นด๋ฉ”๋ผ ์ƒํ•˜ ์ด๋™
๋ธ”๋ฃจํˆฌ์Šค ๋ชจ๋“ˆ ์•ˆ๋“œ๋กœ์ด๋“œ์™€ ์•„๋‘์ด๋…ธ ๋ธ”๋ฃจํˆฌ์Šค ํ†ต์‹ 
์•„๋‘์ด๋…ธ ์šฐ๋…ธ๋ณด๋“œ ๋ธŒ๋ฃฐํˆฌ์Šค ์—ฐ๊ฒฐ ๋ฐ ๋ชจํ„ฐ ์ œ์–ด
์Šคํ…๋ชจํ„ฐ ๋“œ๋ผ์ด๋ฒ„ ์Šคํ…๋ชจํ„ฐ์™€ ์•„๋‘์ด๋…ธ ์—ฐ๊ฒฐ
9V ๊ฑด์ „์ง€ ๋ชจํ„ฐ ํšŒ์ „์„ ์œ„ํ•œ ์ „๋ ฅ ๊ณต๊ธ‰



๋ธ”๋ฃจํˆฌ์Šค&๋ชจํ„ฐ ์ œ์–ด

์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ์ดฌ์˜ํ›„ ๋ธ”๋ฃจํˆฌ์Šค ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์‹ ํ˜ธ๋ฅผ ์ˆ˜์‹ ํ•  ๋•Œ ๋งˆ๋‹ค ์„œ๋ณด๋ชจํ„ฐ๊ฐ€ ํšŒ์ „ํ•œ๋‹ค.

70๋„, 80๋„, 90๋„ 3๋ฒˆ ์ดฌ์˜ ํ›„, ์Šคํ…๋ชจํ„ฐ๊ฐ€ ์ž‘๋™ํ•˜์—ฌ ๋†’์ด ์กฐ์ ˆํ•œ ๋’ค์— ๋‹ค์‹œ 70๋„, 80๋„, 90๋„ ์ฐจ๋ก€๋กœ ํšŒ์ „ํ•˜๋ฉฐ ์ดฌ์˜๋œ๋‹ค.



์Šคํ…๋ชจํ„ฐ ์ œ์–ด

์Šคํ…๋ชจํ„ฐ๋ฅผ ์ผ์ •ํšŸ์ˆ˜ ํšŒ์ „์‹œ์ผœ ์นด๋ฉ”๋ผ ์ง€์ง€๋Œ€์˜ ๋†’์ด๋ฅผ ์กฐ์ ˆํ•œ๋‹ค.

์ดฌ์˜ ํ›„ ์›์œ„์น˜๋กœ ๋Œ์•„์˜ค๊ธฐ ์œ„ํ•ด์„œ ํŽ„์Šค๊ฐ’์„ ์กฐ์ ˆํ•˜์—ฌ ํšŒ์ „๋ฐฉํ–ฅ์„ ์ œ์–ดํ•œ๋‹ค.

  • turn_up ๐Ÿ‘‰ ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ ํšŒ์ „
  • turn_down ๐Ÿ‘‰ ์‹œ๊ณ„๋ฐฉํ–ฅ ํšŒ์ „



2.3. ์‚ฌ์ง„ ์ €์žฅ Web ์„œ๋น„์Šค

1.



CameraActivity.kt

2. 6์žฅ ์—ฐ์† ์ดฌ์˜์ด ๋๋‚˜๋ฉด uploadFile() ํ•จ์ˆ˜๋ฅผ 6๋ฒˆ ๋ฐ˜๋ณต ์‹คํ–‰ํ•œ๋‹ค.



3. ์ง€์ •ํ•œ ์„œ๋ฒ„ ์ฃผ์†Œ๋กœ ํŒŒ์ผ์„ ์ „์†กํ•œ๋‹ค.





4. upload.php




Server

5. Database ๊ด€๋ฆฌ

  • server : MariaDB
  • database : project
  • table : gallery

โ€ƒ๐Ÿ‘‰no, uid, filename, imgurl, size




6. index.html




7. login.php




8. album.php



3. ์ž‘ํ’ˆ ์‚ฌ์ง„ ๋ฐ ๋™์ž‘ ๊ฒฐ๊ณผ



ํด๋ฆญํ•˜๋ฉด ์œ ํŠœ๋ธŒ๋กœ ์ด๋™

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •