Skip to content
0euunPublic

About

Superb AI X BDAI Vision AI Hackathon ๐Ÿฅ‡1์œ„ ์ˆ˜์ƒ๐Ÿฅ‡ Safety Event Evaluation Network

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SEEN โ€” Safety Event Evaluation Network

CCTV/์ž‘์—…ํ˜„์žฅ ์˜์ƒ์—์„œ ์•ˆ์ „ ์œ„๋ฐ˜์„ ์ž๋™์œผ๋กœ ์ฐพ์•„๋‚ด๊ณ , ์œ„ํ—˜๋„ ์ˆœ์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋งค๊ธฐ๊ณ , ์‚ฌ๋žŒ์ด ๋ฐ”๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์žฅ์œผ๋กœ ์„ค๋ช…ํ•ด์ฃผ๋Š” ์•ˆ์ „๊ด€๋ฆฌ์ž์šฉ ์˜์‚ฌ๊ฒฐ์ • ๋ณด์กฐ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ ์ •์˜

ํ˜„์žฅ์— ์นด๋ฉ”๋ผ๊ฐ€ ๋งŽ์•„๋„ ์•ˆ์ „๊ด€๋ฆฌ์ž๋Š” ๋ณดํ†ต ํ•œ๋‘ ๋ช…์ž…๋‹ˆ๋‹ค. ํ•œ ํ™”๋ฉด์„ ๋ณด๋Š” ์‚ฌ์ด ๋‹ค๋ฅธ ํ™”๋ฉด์—์„œ ํ—ฌ๋ฉง ์—†์ด ํฌ๋ ˆ์ธ ๋ฐ‘์„ ์ง€๋‚˜๊ฐ€๋Š” ์‚ฌ๋žŒ์ด ์žˆ์–ด๋„ ๋†“์น˜๊ณ , ๊ฒฐ๊ตญ ์‚ฌ๊ณ ๊ฐ€ ๋‚œ ๋’ค์—์•ผ CCTV๋ฅผ ๋˜๋Œ๋ ค๋ณด๊ณ  ํ™•์ธํ•˜๋Š” ์ผ์ด ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„ ํƒ์ง€ ์‹œ์Šคํ…œ์ด ์žˆ์–ด๋„ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํฌ๋ ˆ์ธ ๊ตฌ์—ญ์—์„œ ํ—ฌ๋ฉง ๋ฏธ์ฐฉ์šฉ์ž๊ฐ€ ๋œจ๋Š” ๋™์‹œ์— ์ผ๋ฐ˜ ํ†ต๋กœ์—์„œ ์กฐ๋ผ ๋ฏธ์ฐฉ์šฉ์ž๋„ ๋œจ๋ฉด, ๊ฒฐ๊ตญ ์‚ฌ๋žŒ์ด ๋‘˜ ์ค‘ ๋ญ˜ ๋จผ์ € ํ™•์ธํ• ์ง€ ํŒ๋‹จํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. SEEN์€ ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ๋ฐ์„œ ๊ทธ์น˜์ง€ ์•Š๊ณ , ์œ„ํ—˜๋„ ์ˆœ์œผ๋กœ ์ •๋ฆฌํ•ด์„œ ๋ฐ”๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์žฅ์œผ๋กœ ์š”์•ฝํ•ด์ค๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๊ธฐ๋Šฅ

  • ์‹ค์‹œ๊ฐ„ ํƒ์ง€ โ€” ์›น์บ /CCTV ์ŠคํŠธ๋ฆผ์—์„œ ์‚ฌ๋žŒยทํ—ฌ๋ฉงยท์กฐ๋ผ๋ฅผ ๋งค ํ”„๋ ˆ์ž„ ํƒ์ง€ํ•˜๊ณ  ํ™”๋ฉด์— ๋ฐ”๋กœ ํ‘œ์‹œ
  • ์œ„ํ—˜๋„ ์ž๋™ ์Šค์ฝ”์–ด๋ง โ€” ๊ตฌ์—ญ ๊ฐ€์ค‘์น˜ยท์ง€์†์‹œ๊ฐ„ยท๋™์‹œ ์œ„๋ฐ˜์ž ์ˆ˜๋ฅผ ๋ฐ˜์˜ํ•ด ์œ„๋ฐ˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ณ„์‚ฐ
  • ์ž์—ฐ์–ด ๋ฆฌํฌํŠธ โ€” ์œ„๋ฐ˜ ์ƒํ™ฉ์„ ์„ค๋ช…ํ•˜๋Š” ์บก์…˜๊ณผ ์กฐ์น˜ ๊ถŒ๊ณ  ๋ฌธ๊ตฌ๋ฅผ VLM/LLM์œผ๋กœ ์ž๋™ ์ƒ์„ฑ
  • ๊ตฌ์—ญ ์„ค์ • โ€” ์บ”๋ฒ„์Šค์— ํด๋ฆญ๋งŒ์œผ๋กœ ๊ฐ์‹œ ๊ตฌ์—ญ์„ ๊ทธ๋ฆฌ๊ณ  ๊ตฌ์—ญ๋ณ„ ์œ„ํ—˜ ๊ฐ€์ค‘์น˜ ์ง€์ •
  • ์œ„๋ฐ˜ ๋Œ€์‹œ๋ณด๋“œ โ€” ๊ฐ์ง€๋œ ์œ„๋ฐ˜์„ ์ตœ์‹ ์ˆœ/์œ„ํ—˜๋„์ˆœ์œผ๋กœ ํ•„ํ„ฐ๋งยท์กฐํšŒยท์‚ญ์ œ
  • ์„ค์น˜ ์—†๋Š” ์›น UI โ€” ๋ธŒ๋ผ์šฐ์ €๋งŒ ์žˆ์œผ๋ฉด ๋ณ„๋„ ํด๋ผ์ด์–ธํŠธ ์—†์ด ๋ฐ”๋กœ ์‚ฌ์šฉ

ํ•ต์‹ฌ ๋กœ์ง

๊ฐ์ง€๋˜๋Š” ์ด๋ฒคํŠธ๋Š” ๋‘ ์ข…๋ฅ˜์ž…๋‹ˆ๋‹ค.

  • ์žฅ๋น„ ์œ„๋ฐ˜(no_helmet/no_vest) โ€” ๊ตฌ์—ญ๋ณ„ ์œ„ํ—˜ ๊ฐ€์ค‘์น˜ยท์ง€์†์‹œ๊ฐ„ยท๋™์‹œ ์œ„๋ฐ˜์ž ์ˆ˜๋ฅผ ๋ฐ˜์˜ํ•ด ์œ„ํ—˜๋„๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
    • ์œ„ํ—˜๋„ = ๊ธฐ๋ณธ ์‹ฌ๊ฐ๋„ ร— ๊ตฌ์—ญ ๊ฐ€์ค‘์น˜ ร— ์ง€์†์‹œ๊ฐ„ ๋ฐฐ์ˆ˜ ร— ๋™์‹œ ์œ„๋ฐ˜์ž ๋ฐฐ์ˆ˜
  • ๊ตฌ์—ญ ์ง„์ž… ๊ฐ์ง€(zone_entry) โ€” ์‚ฌ๋žŒ์ด ๊ตฌ์—ญ์— ๋“ค์–ด์˜ค๋Š” ์ฆ‰์‹œ ๋‚ฎ์€ ์œ„ํ—˜๋„๋กœ ํ•œ ๋ฒˆ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ์ง€์†์‹œ๊ฐ„ ์กฐ๊ฑด์€ ์—†์Šต๋‹ˆ๋‹ค.

YOLO ํƒ์ง€๋Š” ๋งค ํ”„๋ ˆ์ž„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋Œ๊ณ , VLM ์บก์…˜๊ณผ LLM ๊ถŒ๊ณ ๋Š” ์ƒˆ ์œ„๋ฐ˜์ด ๋œฐ ๋•Œ๋งŒ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

SEEN ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์กฐ โ€” ์œ„ํ—˜๋„ ์Šค์ฝ”์–ด๋ง์—์„œ ์‹ค์‹œ๊ฐ„ ํƒ์ง€ ๋ฃจํ”„์™€ ์ค€์‹ค์‹œ๊ฐ„ ๋ฆฌํฌํŠธ ๋ฃจํ”„๊ฐ€ ๊ฐˆ๋ผ์ง€๋Š” ๊ตฌ์กฐ

๋ฐ์ดํ„ฐ์…‹

๊ณต๊ฐœ PPE ๋ฐ์ดํ„ฐ์…‹ 3์ข…์„ ์กฐํ•ฉํ•ด ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ยท๋ผ๋ฒจ์€ ์šฉ๋Ÿ‰ ๋ฌธ์ œ๋กœ ๋ ˆํฌ์— ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ์…‹ ์ถœ์ฒ˜ ๋ผ์ด์„ ์Šค ์ƒ์—…์  ์ด์šฉ ๋น„๊ณ 
SFCHD (Safety Clothing & Helmet Detection) github.com/lijfrank-open/SFCHD-SCALE ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ™•์ธ ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ™•์ธ 12,373์žฅ / 50,558๊ฐœ ๊ฐ์ฒด, ํ™”ํ•™๊ณต์žฅ ์ž‘์—…์ž PPE. helmet/no_helmet/vest/no_vest ์ฃผ๋ ฅ ์†Œ์Šค๋กœ ์ฑ„ํƒ
Construction Site Safety (Roboflow Universe) universe.roboflow.com/roboflow-universe-projects/construction-site-safety CC BY 4.0 ๊ฐ€๋Šฅ 717์žฅ(raw), 25๊ฐœ ํด๋ž˜์Šค ์ค‘ Person/Hardhat/NO-Hardhat/Safety Vest/NO-Safety Vest๊ฐ€ ํ”„๋กœ์ ํŠธ ํด๋ž˜์Šค์™€ ๊ฑฐ์˜ 1:1 ๋งค์นญ. ๊ฑด์„คํ˜„์žฅ ๋„๋ฉ”์ธ ๋‹ค์–‘์„ฑ ํ™•๋ณด์šฉ
SHWD (Safety Helmet Wearing Dataset) github.com/njvisionpower/Safety-Helmet-Wearing-Dataset MIT License ๊ฐ€๋Šฅ 7,581์žฅ / ์•ฝ 12๋งŒ ๊ฐœ ๊ฐ์ฒด, Helmet/Head 2ํด๋ž˜์Šค. no_helmet ํ‘œ๋ณธ ๋ถ€์กฑ ์‹œ ๋ณด๊ฐ•์šฉ (head โ†’ no_helmet ์žฌํ•ด์„)

3๊ฐœ ๋ฐ์ดํ„ฐ์…‹์˜ ์›๋ณธ ๋ผ๋ฒจ(YOLO/COCO/VOC ํฌ๋งท)์„ ํ”„๋กœ์ ํŠธ 5๊ฐœ ํด๋ž˜์Šค(person/helmet/no_helmet/vest/no_vest)๋กœ ๋งคํ•‘ํ•ด Superb AI ํ”Œ๋žซํผ์— ์ž„ํฌํŠธํ–ˆ๊ณ , Zero ์˜คํ† ๋ผ๋ฒจ๋ง๊ณผ ์ˆ˜๋™ ๋ผ๋ฒจ๋ง์„ ์ •๋Ÿ‰ ๋น„๊ตํ•˜๋Š” ์‹คํ—˜๋„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ผ๋ฒจ๋ง ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ์‹คํ—˜ ๊ฒฐ๊ณผ๋Š” data/README.md์— ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ ์„ฑ๋Šฅ

YOLOv8n์„ ํŒŒ์ธํŠœ๋‹ํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค (๊ฒ€์ฆ์…‹ 2,260์žฅ). ์ „์ฒด ํ•™์Šต ๋กœ๊ทธ๋Š” training/runs/seen-ppe-v1.md์— ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ž˜์Šค Precision Recall mAP50 mAP50-95
์ „์ฒด 0.883 0.765 0.843 0.531
person 0.911 0.811 0.883 0.625
helmet 0.916 0.836 0.896 0.611
no_helmet 0.908 0.849 0.910 0.454
vest 0.864 0.855 0.887 0.578
no_vest 0.814 0.475 0.642 0.387

๊ธฐ์ˆ  ์Šคํƒ

์˜์—ญ ์Šคํƒ ์—ญํ• 
๋ฐ์ดํ„ฐ ยท ๋ผ๋ฒจ๋ง Superb AI PPE ๋ฐ์ดํ„ฐ์…‹ ์ •์ œยท๋ผ๋ฒจ๋ง, Zero๋กœ 1์ฐจ ๋ผ๋ฒจ ์ƒ์„ฑ ํ›„ ๊ฒ€์ˆ˜
๋ชจ๋ธ YOLOv8 ์‚ฌ๋žŒ/ํ—ฌ๋ฉง/์กฐ๋ผ ์‹ค์‹œ๊ฐ„ ํƒ์ง€
ํŠธ๋ž˜ํ‚น IoU Tracker ํ”„๋ ˆ์ž„ ๊ฐ„ ๋™์ผ ์ธ๋ฌผ ์ถ”์ , ์œ„๋ฐ˜ ์ง€์†์‹œ๊ฐ„ ๊ณ„์‚ฐ
๊ตฌ์—ญ ํŒ์ • Shapely ์‚ฌ๋žŒ ์œ„์น˜๊ฐ€ ์„ค์ •๋œ ๊ตฌ์—ญ ํด๋ฆฌ๊ณค ์•ˆ์— ์žˆ๋Š”์ง€ ํŒ์ • (point-in-polygon)
๋ฐฑ์—”๋“œ FastAPI SQLite ์ถ”๋ก  API ์„œ๋ฒ„, ๊ตฌ์—ญยท์œ„๋ฐ˜ ์ด๋ ฅ ์ €์žฅ
์‹ค์‹œ๊ฐ„ ํ†ต์‹  WebSocket ๋ธŒ๋ผ์šฐ์ € โ†” ์„œ๋ฒ„ ํ”„๋ ˆ์ž„ ์ŠคํŠธ๋ฆฌ๋ฐ (150ms ๊ฐ„๊ฒฉ)
VLM/LLM Superb AI ์œ„๋ฐ˜ ์ƒํ™ฉ ์บก์…˜ ์ƒ์„ฑ, ์กฐ์น˜ ๊ถŒ๊ณ  ๋ฌธ๊ตฌ ์ƒ์„ฑ
ํ”„๋ก ํŠธ์—”๋“œ HTML5 JavaScript ๊ตฌ์—ญ ํŽธ์ง‘๊ธฐ, ์‹ค์‹œ๊ฐ„ ํƒ์ง€ ํ™”๋ฉด, ์œ„๋ฐ˜ ๋Œ€์‹œ๋ณด๋“œ

๋น ๋ฅธ ์‹œ์ž‘

1. ๋ ˆํฌ ํด๋ก 

git clone https://github.com/0euun/SEEN.git
cd SEEN

2. ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ (๊ถŒ์žฅ)

python -m venv venv

# Windows
venv\Scripts\activate

# macOS / Linux
source venv/bin/activate

3. ์˜์กด์„ฑ ์„ค์น˜

pip install -r requirements.txt

4. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

cp .env.example .env

.env ํŒŒ์ผ์„ ์—ด์–ด ์•„๋ž˜ ๊ฐ’์„ ์ฑ„์›Œ์ฃผ์„ธ์š”.

๋ณ€์ˆ˜ ์„ค๋ช…
SUPERB_AI_API_KEY Superb AI VLM/LLM ๊ฒŒ์ดํŠธ์›จ์ด API ํ‚ค. ์œ„๋ฐ˜ ์บก์…˜ยท์กฐ์น˜ ๊ถŒ๊ณ  ๋ฌธ๊ตฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
SUPERB_AI_TENANT Superb AI ํ…Œ๋„ŒํŠธ ์ด๋ฆ„. ๋น„์›Œ๋‘๋ฉด seen์ด ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์“ฐ์ž…๋‹ˆ๋‹ค.
SEEN_WEIGHTS_PATH ํŒŒ์ธํŠœ๋‹ํ•œ YOLOv8 ๊ฐ€์ค‘์น˜ ๊ฒฝ๋กœ. ๋น„์›Œ๋‘๋ฉด ์ผ๋ฐ˜ COCO ์‚ฌ์ „ํ•™์Šต ๋ชจ๋ธ(yolov8n.pt)๋กœ ๋Œ€์ฒด๋˜๋ฉฐ, ์ด ๊ฒฝ์šฐ PPE ํด๋ž˜์Šค(ํ—ฌ๋ฉง/์กฐ๋ผ)๋Š” ๊ฐ์ง€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

5. ์„œ๋ฒ„ ์‹คํ–‰

uvicorn app.main:app --reload

๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:8000์— ์ ‘์†ํ•˜๋ฉด ๋žœ๋”ฉ ํŽ˜์ด์ง€๊ฐ€ ๋œน๋‹ˆ๋‹ค.

6. ์ฒซ ํ™”๋ฉด ๋‘˜๋Ÿฌ๋ณด๊ธฐ

  1. ๊ตฌ์—ญ ํŽธ์ง‘๊ธฐ์—์„œ ์นด๋ฉ”๋ผ ํ™”๋ฉด ์œ„์— ๊ฐ์‹œ ๊ตฌ์—ญ์„ ๊ทธ๋ฆฌ๊ณ  ์œ„ํ—˜ ๊ฐ€์ค‘์น˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. ์‹ค์‹œ๊ฐ„ ํƒ์ง€์—์„œ ์›น์บ ์„ ์ผœ๊ณ  ํƒ์ง€ ๋ฐ•์Šค์™€ ์œ„๋ฐ˜ ํ”ผ๋“œ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ์œ„๋ฐ˜ ๋Œ€์‹œ๋ณด๋“œ์—์„œ ์ง€๊ธˆ๊นŒ์ง€ ๊ฐ์ง€๋œ ์œ„๋ฐ˜์„ ์ตœ์‹ ์ˆœ/์œ„ํ—˜๋„์ˆœ์œผ๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํ™”๋ฉด๋ณ„ ์ž์„ธํ•œ ์‚ฌ์šฉ๋ฒ•์€ ์Šคํฌ๋ฆฐ์ƒท๊ณผ ํ•จ๊ป˜ docs/manual/MANUAL.md์— ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ ˆํฌ ๊ตฌ์กฐ

.github/
โ”œโ”€ ISSUE_TEMPLATE/task.md         ์ด์Šˆ ํ…œํ”Œ๋ฆฟ
โ””โ”€ PULL_REQUEST_TEMPLATE.md       PR ํ…œํ”Œ๋ฆฟ

app/                              FastAPI ๋ฐฑ์—”๋“œ
โ”œโ”€ main.py                        ์ง„์ž…์  โ€” .env ๋กœ๋“œ, ๋ผ์šฐํ„ฐ/์ •์  ํŒŒ์ผ ๋งˆ์šดํŠธ
โ”œโ”€ db.py                          SQLite ์—ฐ๊ฒฐ, zones/violations ์Šคํ‚ค๋งˆ ์ƒ์„ฑ
โ”œโ”€ api/
โ”‚  โ”œโ”€ detect.py                   WebSocket ํƒ์ง€ ์—”๋“œํฌ์ธํŠธ (YOLO โ†’ ํŠธ๋ž˜์ปค โ†’ ๊ตฌ์—ญ โ†’ ์Šค์ฝ”์–ด๋ง โ†’ ๋ฆฌํฌํŠธ ํŠธ๋ฆฌ๊ฑฐ)
โ”‚  โ”œโ”€ zones.py                    ๊ตฌ์—ญ CRUD (GET/PUT /api/zones/{camera_id})
โ”‚  โ”œโ”€ violations.py               ์œ„๋ฐ˜ ์ด๋ ฅ ์กฐํšŒยท์‚ญ์ œ (GET/DELETE /api/violations)
โ”‚  โ””โ”€ report.py                   VLM ์บก์…˜ + LLM ๊ถŒ๊ณ  ์ƒ์„ฑ, DB ์ €์žฅ (์ค‘๋ณต ๋ณ‘ํ•ฉ ํฌํ•จ)
โ”œโ”€ core/
โ”‚  โ”œโ”€ tracker.py                  ๊ฒฝ๋Ÿ‰ IoU ๊ธฐ๋ฐ˜ ํŠธ๋ž˜์ปค (track_id ๋ถ€์—ฌ)
โ”‚  โ”œโ”€ zone.py                     point-in-polygon ํŒ์ •, bbox ์œ ํ‹ธ
โ”‚  โ”œโ”€ risk_scoring.py             ์œ„ํ—˜๋„ ์Šค์ฝ”์–ด๋ง ๊ณต์‹ (์ˆœ์ˆ˜ ํ•จ์ˆ˜)
โ”‚  โ””โ”€ vlm_client.py               Superb AI VLM/LLM ๊ฒŒ์ดํŠธ์›จ์ด ํ˜ธ์ถœ wrapper
โ””โ”€ models/
   โ””โ”€ yolo_infer.py                YOLOv8 ์ถ”๋ก  wrapper

training/                         YOLOv8 ํ•™์Šต
โ”œโ”€ train_yolo.py                  ํŒŒ์ธํŠœ๋‹ ์Šคํฌ๋ฆฝํŠธ (python training/train_yolo.py --epochs ...)
โ”œโ”€ colab_train_yolo.ipynb         Colab์—์„œ ํ•™์Šต ๋Œ๋ฆด ๋•Œ ์“ฐ๋Š” ๋…ธํŠธ๋ถ
โ”œโ”€ configs/data.yaml              ํด๋ž˜์Šค ์ •์˜ (person/helmet/no_helmet/vest/no_vest) + ๋ฐ์ดํ„ฐ ๊ฒฝ๋กœ
โ””โ”€ runs/seen-ppe-v1.md            ํ•™์Šต ์‹คํ—˜ ๋กœ๊ทธ (์—ํญ๋ณ„ mAP/precision/recall, ํด๋ž˜์Šค๋ณ„ ์ตœ์ข… ์ง€ํ‘œ)

frontend/                         ์ •์  ํ”„๋ก ํŠธ์—”๋“œ (์ˆœ์ˆ˜ HTML/JS)
โ”œโ”€ index.html                     ๋žœ๋”ฉ ํŽ˜์ด์ง€
โ”œโ”€ zone_editor.html               ๊ตฌ์—ญ ํŽธ์ง‘๊ธฐ โ€” ์บ”๋ฒ„์Šค์— ํด๋ฆฌ๊ณค ๊ทธ๋ฆฌ๊ธฐ
โ”œโ”€ live.html                      ์‹ค์‹œ๊ฐ„ ํƒ์ง€ โ€” ์›น์บ  ์ŠคํŠธ๋ฆผ + WebSocket
โ”œโ”€ dashboard.html                 ์œ„๋ฐ˜ ๋Œ€์‹œ๋ณด๋“œ โ€” ํ•„ํ„ฐ/์ •๋ ฌ/์‚ญ์ œ
โ”œโ”€ manual.html                    ์ธ์•ฑ ์‚ฌ์šฉ ๋งค๋‰ด์–ผ
โ””โ”€ manual/                        manual.html์šฉ ์Šคํฌ๋ฆฐ์ƒท
   โ”œโ”€ 1_zone_editor.png
   โ”œโ”€ 2_live.png
   โ””โ”€ 3_dashboard.png

data/                             ๋ฐ์ดํ„ฐ์…‹ ๊ด€๋ จ (์›๋ณธ ์ด๋ฏธ์ง€ยท๋ผ๋ฒจ์€ ์šฉ๋Ÿ‰ ๋ฌธ์ œ๋กœ ๋ฏธํฌํ•จ)
โ”œโ”€ README.md                      ๋ผ๋ฒจ๋ง ํŒŒ์ดํ”„๋ผ์ธ, Zero ์˜คํ† ๋ผ๋ฒจ๋ง ๋น„๊ต ์‹คํ—˜ ๊ธฐ๋ก
โ”œโ”€ zero_experiment_result.json    ์œ„ ์‹คํ—˜์˜ ์›๋ณธ ๊ฒฐ๊ณผ (์ •๋Ÿ‰ ๋น„๊ต ์Šคํฌ๋ฆฝํŠธ ์ถœ๋ ฅ)
โ”œโ”€ zero_experiment_analysis.ipynb ์œ„ ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋…ธํŠธ๋ถ (ํด๋ž˜์Šค๋ณ„ precision/recall/F1, ์†Œ์š”์‹œ๊ฐ„ ๋น„๊ต)
โ”œโ”€ zero_experiment_precision_recall.png / zero_experiment_time_comparison.png  ๋…ธํŠธ๋ถ ์‹คํ–‰ ๊ฒฐ๊ณผ ์ด๋ฏธ์ง€
โ”œโ”€ raw/                           ์›๋ณธ ์ด๋ฏธ์ง€ (gitignore, ์ง์ ‘ ๋‹ค์šด๋กœ๋“œํ•ด์„œ ์ฑ„์›Œ์•ผ ํ•จ)
โ””โ”€ superbai_export/               Superb AI ํ”„๋กœ์ ํŠธ์—์„œ exportํ•œ YOLO ํฌ๋งท ๋ผ๋ฒจ (gitignore)

docs/                             ๋ ˆํฌ ๋ฌธ์„œ (GitHub์—์„œ ๋ฐ”๋กœ ๋ณด๋Š” ๋ฌธ์„œ์šฉ)
โ”œโ”€ pipeline.svg                   ์œ„ ํŒŒ์ดํ”„๋ผ์ธ ๋‹ค์ด์–ด๊ทธ๋žจ
โ””โ”€ manual/
   โ”œโ”€ MANUAL.md                   ํ™”๋ฉด๋ณ„ ์‚ฌ์šฉ ์„ค๋ช…์„œ
   โ”œโ”€ 1_zone_editor.png
   โ”œโ”€ 2_live.png
   โ””โ”€ 3_dashboard.png

scripts/                          Superb AI ์—ฐ๋™ ์Šคํฌ๋ฆฝํŠธ (๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์ˆœ์„œ๋Œ€๋กœ)
โ”œโ”€ upload_to_superbai.py          1. ๋กœ์ปฌ ์ด๋ฏธ์ง€๋ฅผ Superb AI ๋ฐ์ดํ„ฐ์…‹์— ์—…๋กœ๋“œ
โ”œโ”€ import_labels_to_superbai.py   2. 3๊ฐœ ์†Œ์Šค ๋ฐ์ดํ„ฐ์…‹์˜ ์›๋ณธ ๋ผ๋ฒจ์„ 5๊ฐœ ํด๋ž˜์Šค๋กœ ๋งคํ•‘ํ•ด ์ž„ํฌํŠธ
โ”œโ”€ tag_assets_by_source.py        3. ์ถœ์ฒ˜๋ณ„ ํƒœ๊ทธ ๋ถ€์ฐฉ (๊ฒ€์ˆ˜ ์‹œ ํ•„ํ„ฐ๋ง์šฉ)
โ”œโ”€ zero_vs_manual_experiment.py   4. Zero ์˜คํ† ๋ผ๋ฒจ๋ง vs ์ˆ˜๋™ ๋ผ๋ฒจ๋ง ์ •๋Ÿ‰ ๋น„๊ต ์‹คํ—˜
โ”œโ”€ create_superbai_project.py     ๋ผ๋ฒจ๋ง ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
โ””โ”€ export_from_superbai.py        ํ•™์Šต ์ง์ „, ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฒ„์ „ ๊ณ ์ • ํ›„ YOLO ํฌ๋งท์œผ๋กœ export

weights/                          ํ•™์Šต๋œ YOLOv8 ๊ฐ€์ค‘์น˜ (best.pt)
snapshots/                        ์œ„๋ฐ˜ ์Šค๋ƒ…์ƒท ์ €์žฅ ์œ„์น˜ (๋Ÿฐํƒ€์ž„์— ์ƒ์„ฑ, gitignore)
Dockerfile                        Railway ๋“ฑ ๋ฐฐํฌ์šฉ โ€” opencv ๋Ÿฐํƒ€์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํฌํ•จ
requirements.txt                  Python ์˜์กด์„ฑ
.env.example                      ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ…œํ”Œ๋ฆฟ (SUPERB_AI_API_KEY ๋“ฑ)
.gitignore
LICENSE                           MIT

ํ–ฅํ›„ ๊ฐœ์„ 

  • ์œ„๋ฐ˜ ์Šค๋ƒ…์ƒท์— ์–ผ๊ตด์ด ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ๋จ โ€” ์–ผ๊ตด ์˜์—ญ ๋ธ”๋Ÿฌ๋ง ํ•„์š” (ํ—ฌ๋ฉง ํŒ์ • ๋ถ€์œ„์™€ ๊ฒน์ณ์„œ ์ „์ฒด ๋ธ”๋Ÿฌ๋Š” ๋ถ€์ ํ•ฉ, ๋ˆˆ ์ฃผ๋ณ€๋งŒ ๊ฐ€๋ฆฌ๋Š” ๋ฐฉ์‹ ๊ฒ€ํ†  ํ•„์š”)
  • ๊ตฌ์—ญ ์ง„์ž… ๊ฐ์ง€๋ฅผ "๋ฌด๋‹จ ์นจ์ž…"์œผ๋กœ ๋‹จ์ •ํ•˜์ง€ ์•Š์Œ โ€” ์นด๋ฉ”๋ผ๋งŒ์œผ๋กœ๋Š” ์ง„์ž…์ž์˜ ๊ถŒํ•œ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ. ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ํŒ๋ณ„ํ•˜๋ ค๋ฉด ๋ฐฐ์ง€/ID ํƒœ๊ทธ ๊ฐ™์€ ์ถœ์ž… ์ธ์ฆ ์‹œ์Šคํ…œ ์—ฐ๋™ ํ•„์š”
  • no_vest recall(0.475)์ด ๋‹ค๋ฅธ ํด๋ž˜์Šค(0.81~0.86) ๋Œ€๋น„ ํ™•์—ฐํžˆ ๋‚ฎ์Œ โ€” ์‹ค์ œ ์กฐ๋ผ ๋ฏธ์ฐฉ์šฉ ์ƒํ™ฉ์˜ ์ ˆ๋ฐ˜ ๊ฐ€๊นŒ์ด๋ฅผ ๋†“์น  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป. ํ›„์† ๊ฐœ์„  ์‹œ no_vest ์ƒ˜ํ”Œ ๋ณด๊ฐ•์ด ์šฐ์„ ์ˆœ์œ„

About

Superb AI X BDAI Vision AI Hackathon ๐Ÿฅ‡1์œ„ ์ˆ˜์ƒ๐Ÿฅ‡ Safety Event Evaluation Network

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages