๐งฑ ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด ํ๊ฒฝ ๊ตฌ์ถ
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()
์ฒ๋ผ ๋ด๋ถ ๋์์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋๋์ง ์ญ์ผ๋ก ์ดํด๋ณด๊ธฐ