Home > Study > Linux > Day8 : Project_Plan

Day8 : Project_Plan
Study Language

๐Ÿงฑ ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ํ™˜๊ฒฝ ๊ตฌ์ถ•


ctrl + alt + t
โ†’ ํ„ฐ๋ฏธ๋„ ์‹คํ–‰ ๋‹จ์ถ•ํ‚ค

htop
โ†’ ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค(๋ฉ”๋ชจ๋ฆฌ, CPU ์‚ฌ์šฉ๋Ÿ‰ ๋“ฑ) ํ™•์ธ ํˆด ์‹คํ–‰

sudo apt update
โ†’ ํŒจํ‚ค์ง€ ๋ชฉ๋ก ์—…๋ฐ์ดํŠธ (์ตœ์‹  ๋ฒ„์ „ ํ™•์ธ์šฉ)

sudo apt upgrade
โ†’ ์„ค์น˜๋œ ํŒจํ‚ค์ง€๋“ค์„ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ

sudo apt install ibus ibus-hangul
โ†’ ํ•œ๊ธ€ ์ž…๋ ฅ๊ธฐ(iBus + Hangul) ์„ค์น˜

sudo apt install fonts-nanum fonts-unfonts-core
โ†’ ๋‚˜๋ˆ”๊ธ€๊ผด, ์œค๊ธ€๊ผด ๋“ฑ ํ•œ๊ธ€ ํฐํŠธ ์„ค์น˜

sudo update-alternatives --config x-www-browser
โ†’ ๊ธฐ๋ณธ ์›น ๋ธŒ๋ผ์šฐ์ € ์„ค์ • ๋ณ€๊ฒฝ

mkdir YOLO
โ†’ 'YOLO'๋ผ๋Š” ์ƒˆ ํด๋” ์ƒ์„ฑ

cd YOLO/
โ†’ YOLO ํด๋”๋กœ ์ด๋™

python -m venv .yolo
โ†’ '.yolo'๋ผ๋Š” ์ด๋ฆ„์˜ ๊ฐ€์ƒํ™˜๊ฒฝ(virtualenv) ์ƒ์„ฑ

source .yolo/bin/activate
โ†’ ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™”

git clone https://github.com/ultralytics/yolov5
โ†’ YOLOv5 ์ €์žฅ์†Œ๋ฅผ GitHub์—์„œ ๋ณต์ œ

cd yolov5/
โ†’ ๋ณต์ œํ•œ yolov5 ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

pip install -U pip
โ†’ pip(ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž) ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ

pip install ultralytics
โ†’ Ultralytics ํŒจํ‚ค์ง€ ์„ค์น˜ (YOLOv5 ์‹คํ–‰์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํฌํ•จ)

python detect.py --weights yolov5s.pt --source 0 --img 160
โ†’ YOLOv5s ๋ชจ๋ธ๋กœ ์›น์บ (0๋ฒˆ)์„ ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ํƒ์ง€ (ํ•ด์ƒ๋„: 160)

sudo apt install openssh-server
โ†’ SSH ์„œ๋ฒ„ ์„ค์น˜ (๋‹ค๋ฅธ PC์—์„œ ์›๊ฒฉ ์ ‘์† ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ)

curl -fsSL https://ollama.com/install.sh | sh
โ†’ Ollama ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ (๋กœ์ปฌ AI ๋ชจ๋ธ ์‹คํ–‰ ๋„๊ตฌ)

ollama run gemma3:1b
โ†’ Gemma 3 1B ๋ชจ๋ธ ์‹คํ–‰ (๋กœ์ปฌ LLM ํ…Œ์ŠคํŠธ)
# PC์—์„œ ์›๊ฒฉ ์ ‘์†
ssh hhhong@10.10.15.183

๐Ÿค ํŒ€์›๋“ค๊ณผ ํ”„๋กœ์ ํŠธ ๊ณ„ํš ์ˆ˜๋ฆฝ


๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด๋ฅผ ํ™œ์šฉํ•œ On-Device AI ํ”„๋กœ์ ํŠธ ๋ฐฉํ–ฅ์„ฑ ๋…ผ์˜

  • ๊น€๋ฏผ๊ทœ: ์ˆ˜์–ด ์ธ์‹ (Sign Language Recognition, SLR)
  • ์—„์ฐฌํ•˜: ๋จธ๋ฆฌ์นด๋ฝ ๋‘๊ป˜ ๋ฐ ํƒˆ๋ชจ ์ดˆ๊ธฐ ์ง„๋‹จ + ๋งž์ถคํ˜• ์˜ˆ๋ฐฉ ๊ด€๋ฆฌ ๊ฐ€์ด๋“œ
  • ์ž„์žฌํ™: ๋”ฅํŽ˜์ดํฌ ๊ฐ์ง€ ์‹œ์Šคํ…œ
  • ์ž„์žฌํ™: ๊ฑฐ์ง“ ๋‰ด์Šค ํŒ๋… ์‹œ์Šคํ…œ

๐Ÿ’ฌ ํšŒ๊ณ 


  • ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ํƒ์ง€์™€ ๋กœ์ปฌ AI ๋ชจ๋ธ์ด ๋™์‹œ์— ๊ฐ€๋Šฅํ•จ์„ ํ™•์ธํ•จ
  • ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ํ™˜๊ฒฝ ์„ธํŒ… ์ค‘ ํ—ˆ๋ธŒ๋ฅผ ํ†ตํ•ด LAN ์ผ€์ด๋ธ”์„ ๋ถ„ํ• ํ•˜๋Š” ๊ณผ์ •์—์„œ PC์—์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ์žก์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์œผ๋‚˜, ์ˆ˜์—… ์ข…๋ฃŒ ํ›„ ์ •์ƒ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด IP ์ถฉ๋Œ ๋ฌธ์ œ์˜€์Œ์„ ํŒŒ์•…ํ•จ

๐Ÿ’ก ๊ฐ•์‚ฌ๋‹˜์˜ ์กฐ์–ธ

โ€œCNN ๋ชจ๋ธ์„ C++ ์ˆ˜์ค€์œผ๋กœ ๋ฝ‘์œผ๋ฉด ๊ฐ€์žฅ ์ข‹์Œ.โ€
ํ”„๋กœ์ ํŠธ ์„ฑ๊ณต ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด, ๊ตฌํ˜„ ์ˆ˜์ค€์„ ๋†’์ด๋Š” ๊ฒƒ์ด ๋” ์ค‘์š”ํ•˜๋‹ค๋Š” ์ทจ์ง€์˜ ๋ง์”€

โœ๏ธ ํ•ด์„ ๋ฐ ๋‚˜์˜ ์ดํ•ด

  • ๋‹จ์ˆœํžˆ ๋ชจ๋ธ์„ โ€œ๋Œ๋ฆฌ๋Š” ๊ฒƒโ€์„ ๋„˜์–ด์„œ, ๊ตฌ์กฐ๋ฅผ ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๊ณ  ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ฒฝํ—˜์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ๋œป
  • PyTorch, TensorFlow ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์“ธ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๊ธฐ์ดˆ ์ˆ˜ํ•™/๋กœ์ง์„ ๋ฐ”ํƒ•์œผ๋กœ CNN์„ ์ง์ ‘ ๊ตฌํ˜„(C++ ์ˆ˜์ค€์˜ ์ €์ˆ˜์ค€ ์ ‘๊ทผ)ํ•ด๋ณด๋Š” ๊ฒƒ์ด ์‹ค๋ ฅ ํ–ฅ์ƒ์— ๋„์›€๋จ
  • ์‹ค๋ฌด ๋˜๋Š” ์˜จ๋””๋ฐ”์ด์Šค ํ™˜๊ฒฝ(Raspberry Pi ๋“ฑ)์—์„œ๋Š” ์ตœ์ ํ™”๋œ ์ €์ˆ˜์ค€ ์ฝ”๋“œ๋กœ ๋ชจ๋ธ์„ ์ด์‹ํ•˜๋Š” ๋Šฅ๋ ฅ๋„ ์š”๊ตฌ๋จ

๐Ÿ”Ž ์•ž์œผ๋กœ์˜ ํ•™์Šต ๋ฐฉํ–ฅ์— ๋ฐ˜์˜

  • CNN ๋ ˆ์ด์–ด ๊ตฌ์„ฑ ๋ฐ ์—ฐ์‚ฐ ๋ฐฉ์‹(ReLU, Conv, Pooling ๋“ฑ)์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ์—ฐ์Šต
  • Python์œผ๋กœ ๊ตฌํ˜„ โ†’ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด C++๋กœ ๊ตฌ์กฐ๋งŒ์ด๋ผ๋„ ์˜ฎ๊ฒจ๋ณด๊ธฐ
  • PyTorch์—์„œ .model.eval()์ฒ˜๋Ÿผ ๋‚ด๋ถ€ ๋™์ž‘์ด ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜๋Š”์ง€ ์—ญ์œผ๋กœ ์‚ดํŽด๋ณด๊ธฐ