๐ฉโ๐ฆณSpeech-and-object-recognition-for-elderly-people-living-alone๐จโ๐ฆณ
ํ๋ก์ ํธ ์๊ฐ
์์ฑ ์ธ์๊ณผ ์ปดํจํฐ ๋น์ ์ ํ์ฉํ ๋
๊ฑฐ ๋
ธ์ธ ์๋ถ ํ์ธ ์๋น์ค
: ๋
๊ฑฐ ๋
ธ์ธ๋ค์ ์ผ์์ ์ฃผ๊ธฐ์ ์ผ๋ก ์๋ถ๋ฅผ ๋ฌป๊ณ , ์๊ธํ ์ํฉ ๋ฐ์ ์ ๋น์ ์ฐ๋ฝ๋ง์ผ๋ก ์ฐ๋ฝ ์กฐ์นํ ์ ์๋ ์๋น์ค
๐
๊ฐ๋ฐ ๊ธฐ๊ฐ
2024๋
5์ 3์ฃผ ~ 2024๋
6์ 3์ฃผ์ฐจ
โ ๊ฐ๋ฐ ํ๊ฒฝ
๐ข OSS NOTICE
์ด ์ ํ๋ฆฌ์ผ์ด์
์ ๋ค์์ ์คํ์์ค AI ๋ชจ๋ธ์ ํฌํจํฉ๋๋ค:
yolov7 : GNU General Public License v3.0 (GPL-3.0)
#### ์ ์๊ถ ๋ฐ ๋ผ์ด์ ์ค
> This application incorporates yolov7, which is licensed under the GNU General Public License v3.0 (GPL-3.0).
> Copyright ยฉ MechanIT. All rights reserved for the portions of this application that are our original work.
> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
> You should have received a copy of the GNU General Public License along with this program. If not, see .
-
yolov7 anaconda ๊ฐ์ํ๊ฒฝ
conda create -n yolov7 python=3.7
conda activate yolov7
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch
-
yolov7 git clone
git clone https://github.com/WongKinYiu/yolov7.git
cd yolov7
pip install -r requirements.txt
-
์์ฑ ์ถ๋ ฅ
pip install gtts
pip install SpeechRecognition
pip install pyaudio
pip install pygame
pip install schedule
pip install playsound
pip install pydub
pip install ffmpeg-python
# ffmpeg๋ฅผ window์์ ์ค์น ์ ๋ณ๋์ ์ค์ ์ด ํ์ํฉ๋๋ค.
# reference : https://gumu.kr/blog/1091/ffmpeg-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95/
-
์น ์๋ฒ
pip install flask
# download ngrok & execute
๐ flowchart
โ ์ฃผ์ ๊ธฐ๋ฅ
- ์ฌ๋(person / fallen person) ๊ฐ์ฒด ์ธ์
- person์ผ๋ก ๊ฐ์ฒด๊ฐ ์ธ์๋๋ฉด ์๋ฆผ ์์ฑ ์ถ๋ ฅ / fallen person์ผ๋ก ์ธ์๋๋ฉด ์์ง์ฌ๋ฌ๋ผ๋ ๊ฒฝ๊ณ ์์ฑ ์ถ๋ ฅ
- ์๊ธ ์ํฉ์ผ๋ก(fallen person์ผ๋ก ๊ฐ์ฒด ์ธ์๋๋ ์์ง์ ์์ ์) ํ๋จ ์ ์นํ์ด์ง ์ถ๋ ฅ ๋ฐ ์ด๋ฉ์ผ ์ ์ก
โ ํ๋ก์ ํธ ์ฌ์ฉ ๋ฐฉ๋ฒ
python main.py # main.py ์คํ
๐ Discussion
[ yolo ๋ฒ์ ์ ๋ฐ๋ฅธ ํ๊ณ์ ๋น๊ต (pretrained model) ]
yolov3 tiny
- ์ธ์์ด ๋งค์ฐ ๋ถ์์ ํจ. bounding box๊ฐ ์ง์์ ์ผ๋ก ๋ํ๋์ง ์๊ณ ๊น๋นก๊ฑฐ๋ฆผ
- ๋์ ์๋ ์ฌ๋์ ๊ฒฝ์ฐ, ์ฌ๋์ผ๋ก ์ธ์งํ์ง ๋ชปํจ
- ์ ์์ธ์ธ ์ฌ๋๋ง ์ ๋๋ก ์ธ์ํ๋ฉฐ, ์์ธ๊ฐ ์กฐ๊ธ๋ง ๋ฐ๋์ด๋ ์ธ์งํ์ง ๋ชปํจ
yolov5
- yolov3์ ๋ค๋ฅด๊ฒ ๋์ ์๋ ์ฌ๋๋ person์ผ๋ก ์ธ์ํจ.
- ๊ฐ์ฒด์ ์ผ๋ถ๋ถ๋ง ์ฌ๋์ผ๋ก ์ธ์ํ๋ yolov3์ ๋ค๋ฅด๊ฒ, ์ฌ๋(person)์ผ๋ก ์ธ์ํ๋ ๋ฒ์(bounding box)๊ฐ ๋ ์ปค์ง๊ณ ๋ค์ํ ์์ธ์๋ ์ฌ๋์ผ๋ก ์ธ์ง๋ฅผ ํ ์ ์์
โ ๊ทธ๋ฌ๋ ๋์ ์๋ ์์ธ๊น์ง ์ธ์ง ๋ถ๊ฐ
yolov7
- ์ธ์ง ์ ํ๋๊ฐ ๋งค์ฐ ๋์. ํนํ ์ฌ๋์ ๊ฒฝ์ฐ ๋๋ถ๋ถ 90% ์ด์์ ์ ํ๋๊ฐ ์ถ๋ ฅ๋จ
- ์ฌ๋์ด ์ ์งํด ์์ ๊ฒฝ์ฐ, Bounding box ํฌ๊ธฐ ๋ณํ๊ฐ ์์
- yolov3, yolov5๋ณด๋ค ์ค์๊ฐ์ฑ์ด ๋งค์ฐ ์ข์
โ โ๋ชจ๋ธ์ ์ค์๊ฐ์ฑ๊ณผ ์ ํ์ฑ์ ๊ณ ๋ คํ์ฌ, ํ์ต์ํฌ ๋ชจ๋ธ์ yolov7์ผ๋ก ๊ฒฐ์ โ
[ yolov9 ๋ชจ๋ธ ํ์ต ๋ฌธ์ ]
yolov9 ์ธ์ง ๊ฒฐ๊ณผ
์ฑ๋ฅ๋น๊ต๋ฅผ ์ํด yolov7๊ณผ yolov9์ ๋์ผ ๋ฐ์ดํฐ์
, ๋์ผ batch size์ epoch๋ก ํ์ต์ ์งํํจ.
๊ทธ๋ฌ๋, yolov9 ํ์ต ๋ชจ๋ธ์ ์คํํ์ ๋ ๊ฐ์ฒด๋ฅผ ์ธ์งํ๋ ๋น์จ์ด ๋ฎ๊ณ ์ธ์ง์ ์ฑ๊ณตํ๋๋ผ๋ ์ ํ๋๊ฐ ์์ฃผ ๋ฎ์.
- ํ๋ช
์ด ์กํ์ ๋ person์ผ๋ก ํ๋ณ๊ฐ๋ฅ
ํ๋์จ์ด์ ํ๊ณ์, ๋๋ ์ด๊ฐ ๋งค์ฐ ์ฌํ๊ณ person์ ์ธ์งํ๋ ๊ทธ ์ ํ๋๊ฐ 0.2 ์์ค์ผ๋ก ๋ฎ์. ๋ํ ๊ฑฐ์ ์ ์ ์ 1/2 ์ด์์ด ๋์์ผ person์ผ๋ก ์ธ์ง ๊ฐ๋ฅํ๊ณ ์ ์์ธ์์ ๋ฒ์ด๋๋ ์์ธ๋ฅผ ์ทจํ๊ฑฐ๋ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๊น์ฐ๋ฉด ๊ฑฐ์ ์ธ์ํ์ง ๋ชปํจ
- ๋์ด ์ฌ๋
๋์ด ์ฌ๋์ ๊ฒฝ์ฐ, ๋ค๋ฅธ ํ์ต๋ ๋ชจ๋ธ๊ณผ ๋ค๋ฅด๊ฒ ๊ฑฐ์ ์ธ์ํ์ง ๋ชปํจ. ๋ค์ํ ์์ธ์ ๊ฐ๋๋ก ํ์ต์์ผฐ์ง๋ง ์ค์ ๊ฒ์ฆ์์๋ ๋ง์ ์๋์ค์ 1๋ฒ ์ธ์๋ ์ ๋๋ก ๊ฑฐ์ ์ธ์ํ์ง ๋ชปํจ.
- 2๋ช
์ด์์ ์ฌ๋์ด ํ๋ฉด์ ๋์์ ๋
์ ์์ ์ผ๋ก ํ์ต๋ v7์ ๊ฒฝ์ฐ, 2๋ช
์ด ์ธ์๋ผ๋ ์ ํ๋๊ฐ ๋จ์ด์ง์ง ์๊ณ ๋ชจ๋ ์ฌ๋์ผ๋ก ์ธ์ํ ์ ์๋ ๊ฒ์ ํ์ธํจ.
๋ํ 2๋ช
์ ์์ธ๊ฐ ๋ฌ๋ผ๋ ๋์์ ์ฑ๊ณต์ ์ผ๋ก ์์ธ๋ฅผ ๊ตฌ๋ณํ์ฌ ์ธ์ํ ์ ์์์.
๊ทธ๋ฌ๋ v9์ ๊ฒฝ์ฐ 2๋ช
์ด ํ๋ฉด์ ๋์ค๋ฉด ๊ฐ๊ฐ์ person์ผ๋ก ์ธ์ง๋ ํ๋, 2๋ช
์ด ๊ฐ๊ธฐ ๋ค๋ฅธ ์์ธ๋ฅผ ์ทจํด๋ ์ญ์ ์ธ์ํ์ง ๋ชปํ๊ณ ์์ ์ฌ๋์ผ๋ก ์ธ์ํ๋ ๋ฑ ์ค์ธ์ ๋ฌธ์ ๋ ๋ฐ๊ฒฌ๋จ.
yolov7๊ณผ yolov9 ๋ชจ๋ธ ์ฌ์ ๋น๊ต
- yolov7๊ณผ yolov9 ๋ชจ๋ธ ์ฌ์์ ๋น๊ต
yolov9์ ๊ฒฝ์ฐ ์ฌํ ๋๋ ์ด์ ๋ฎ์ ์ธ์๋์ ๋ฌธ์ ๋ฅผ ๊ฐ์ก์. ์ด๋ฅผ ๋ณด๋ค ์ฑ๊ณต์ ์ด์๋ yolov7๊ณผ yolov9 ๋ชจ๋ธ ์ฌ์์ ๋น๊ต๋ฅผ ํตํด ๋ถ์ํด๋ด.
- yolov9 ๋ชจ๋ธ์ yolov7 ๋ชจ๋ธ์ ๋นํด ๋ ์ด์ด ์๊ฐ ๋ ๋ฐฐ ๊ฐ๊น์ด ๋ง๊ณ , ํ๋ผ๋ฏธํฐ ์์ FLOPs ๋ํ ์๋นํ ์ฆ๊ฐํด ๋ ๋ณต์กํ๊ณ ๊ณ์ฐ๋์ด ๋ง์์ ์๋ฏธํจ.
โ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ๋ฉด ๋ ๋ง์ ์ฐ์ฐ์ด ํ์ํ๊ณ , ์ด๋ ๋ ๋ง์ ํ์ต ๋ฐ์ดํฐ์ ์๊ฐ์ด ์๊ตฌ๋จ.
โ ๋ฐ๋ผ์ ๊ฐ์ ์กฐ๊ฑด(์: batch size, epoch)์์ ํ์ตํ์ ๋ v7๋ณด๋ค yolov9 ๋ชจ๋ธ์ด ์ถฉ๋ถํ ํ์ต๋์ง ๋ชปํ ๊ฐ๋ฅ์ฑ์ด ๋์.