노타는 하드웨어 특성에 맞춘 경량 비전 모델 플랫폼 넷츠프레소를 만드는 회사라, 경량 비전 모델을 현장에 검증·배포하는 이 도구는 노타가 다루는 디바이스·현장 영상이 있어야 품질·지연을 잴 수 있다.
'AI 최적화로 AI 일상화를 선도'. 경량 모델 현장 배포가 FDE 의 핵심.
'차세대 영상 관제(NVA), ITS'. 비전 탐지 품질·지연 검증이 직격.
'실제 산업 현장 AI 실현'. 품질·지연 eval 이 현장 배포의 토대.
고객 영상·이벤트 데이터를 받아 경량 비전 모델(VLM)을 배포하고, 탐지 품질과 지연을 검증하는 1주 FDE PoC.
노타 FDE. 비전 모델을 고객 현장에 PoC 로 끝내지 않고 품질·지연 검증까지 붙여 배포하고 싶은 사람.
영상 이벤트에 라벨·지연을 붙이면, 도구가 (a) 경량 모델 탐지를 배포하고 (b) 탐지 품질과 추론 지연을 검증한다.
고객 영상 데이터를 받아 경량 비전 탐지를 배포하고 탐지 품질·추론 지연을 검증하는 동작하는 도구.
검수자 라벨 대비 탐지 정확도와 추론 지연(p95)을 보여주는 대시보드.
여러 현장 카메라·디바이스로 같은 탐지 엔진을 확장 배포하는 단계.
영상을 넣으면 탐지 결과와 품질·지연이 프레임 근거와 함께 나오는 걸 시연한다
추론 지연 측정이 실제와 일치하고 탐지 근거 프레임이 실제 영상에 존재하는 비율 100%
측정: 결정적 측정, 표본: 프레임 200건
일부러 만든 흐림·결측·미등록 카메라 30종을 넣어도 탐지가 멈추지 않고 처리되는 걸 시연한다
위 수치는 더미데이터 자가채점이며, 실제 탐지 품질는 노타 고객 현장 실데이터 + 실 검수자가 있어야 측정 가능. 이 포트폴리오는 그 검증을 바로 돌릴 수 있는 상태까지 만든다.
이건 고객·실데이터 없이 혼자 만든 포트폴리오라 모든 수치는 합성 데이터 자가채점이다. 면접에서 '데모 동작 + 실검증 준비 상태'로 솔직히 설명하는 게 오히려 신뢰를 준다
정답을 내가 만들었으니 잘 맞는 게 당연. 그래서 결측·경계·미등록·표기 흔들림 케이스를 더미에 일부러 섞어 쉬운 문제만 푸는 게 아님을 보여준다
도메인 갭: 더미 영상과 실제 현장 조도·해상도가 달라 탐지 품질이 변하므로 '데모 조건'임을 명시한다
실제 도입 시 달라지는 것: 실 카메라·디바이스 성능이 더미와 다르므로 모델·임계를 실현장으로 맞춰야 한다(도입 단계 과제)
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
영상 탐지 이벤트를 묶어 품질·지연 검증 입력으로 쓴다
| frame_id | cam_raw | cam_id | objects | latency_ms | label_truth | ts |
|---|---|---|---|---|---|---|
| F9000 | A캠(구) | — | — | — | 2 | 2026-05-22T10:00:00 |
| F9001 | 카메라0 | cam0 | 0 | 5 | 0 | 2026-05-22T10:00:00 |
| F9002 | 고지연캠 | cam2 | 50 | 5,000 | 48 | 2026-05-22T10:00:00 |
| F9003 | 미등록캠 | — | 3 | 30 | 3 | 1970-01-01T00:00:00 |
| F0000 | 카메라0 | cam0 | 0 | 20 | 0 | 2026-05-22T10:00:00 |
z.object({ frame_id: z.string(), cam_raw: z.string(), cam_id: z.string().nullable(), objects: z.number().nullable(), latency_ms: z.number().nullable(), label_truth: z.number(), ts: z.string() }). 쉬운 데이터만 만들지 말 것. 다음 하드 케이스를 의도적으로 섞어라: objects/latency null(추론 실패), latency 극단(지연 폭증), cam_id null 미등록, ts 1970(잡음), cam_raw 표기 흔들림. 형식 깨뜨리기 시도 3건도 별도로.z.object({ frame_id: z.string(), cam_raw: z.string(), cam_id: z.string().nullable(), objects: z.number().nullable(), latency_ms: z.number().nullable(), label_truth: z.number(), ts: z.string() })| Docker | 온디바이스 추론 컨테이너 패키징 |
| LLM | 탐지 결과 요약·이상 설명 |
| VLM | 영상 프레임 객체·이벤트 탐지 |
| PyTorch | 경량 모델 추론 |
| Linux | 엣지 디바이스 런타임 |
| 딥러닝 | 탐지 모델 최적화·양자화 |
✓ pass → 그대로 멈춰도 완성품. 더 키우려면 2주차(품질·지연 검증)로.
✓ pass → 여기서 멈춰도 완결. 더 키우려면 3주차(다현장 확장)로.
탐지 + 품질·지연
z.object({ frame_id: z.string(), detected: z.number(), latency_ms: z.number(), correct: z.boolean(), note: z.string() })[
{
"frame_id": "F0001",
"detected": 2,
"latency_ms": 23,
"correct": true,
"note": ""
},
{
"frame_id": "F9002",
"detected": 48,
"latency_ms": 5000,
"correct": true,
"note": "지연 폭증. 최적화 필요"
},
{
"frame_id": "F9000",
"detected": 0,
"latency_ms": 0,
"correct": false,
"note": "추론 실패. 확인 필요"
}
]latency 측정·correct(라벨 대비)는 자동 검증, 탐지 품질은 검수자/judge 일치도로 검증.