SK쉴더스 루키즈[개발 5기]

[SK쉴더스 루키즈] 2회차 멘토링 (6/13)

roeeyx 2026. 6. 16. 13:11

2주차 기술 스크럼 및 멘토링 회고

영상 스트리밍 방식 선정 및 AI 모델링 최적화

💡 이번 스크럼의 핵심 목표
"모든 기술 도입과 로직에는 명확한 근거가 필요하다!"
주관적 판단이 개입되기 쉬운 비즈니스 로직(쓰러짐 정의, 구역 탐지 등)에 객관적 지표와 기술적 근거를 수립할 것.

1. 영상 처리 및 백엔드 아키텍처

  • 영상 스트리밍 이원화: 지연 시간(Latency)과 서버 부하를 비교하여 최적의 방식을 선정하기 위한 테스트를 진행.
    • HLS: 리플레이 및 스냅샷 (서버 인프라 안정성 확보)
    • WebRTC: 실시간 영상 송출 (초저지연 통신 검증, 커넥션 부하 측정 선행)
  • 보안 및 프라이버시 강화:
    • 세션 및 사용자 식별을 기존 ID 방식에서 Token(토큰) 기반 인증으로 전면 변경. (Session Storage 노출 방지 및 HttpOnly 쿠키 전송 적용)
    • 영상 데이터 녹화 및 저장(스냅샷) 시 비식별화(De-identification) 알고리즘을 도입.
  • 디바이스 확장성: 카메라 등록 시 단순 ID/PW 외에 시리얼 넘버MAC Address(맥어드레스)를 필수 정보로 검증.

2. AI 추론 모델링 및 리소스 최적화

🔄 AI 파이프라인: 전처리 (17개 관절좌표) ➡️ 디텍터 (YOLO) ➡️ 시퀀스 분류 (LSTM)
  • 도입 기술의 명확한 근거: 실시간성을 위한 YOLO 선정. 17개 관절 좌표(Keypoint) 추출 형식을 통해 후속 LSTM 시퀀스 모델의 연산 부하를 제어함.
  • 지표 중심의 성능 튜닝 (Threshold & F1-Score): 미탐(False Negative) 방지가 최우선 과제.
    • 임계값(Threshold)은 0.3으로 시작해 정답률이 가장 높았던 0.5 수준으로 최적화.
    • F1-Score 지표에 따라 실제 추론 환경에서의 탐지율 변화를 지속 모니터링.
  • 프레임 샘플링 및 AI 메모리 최적화: 30fps 원본을 모두 넣으면 리소스를 한계치까지 사용하므로 패키징 시 모니터링 필수.
    • 성능 타협점인 1.3 프레임 단위 샘플링 테스트 진행.
    • 30프레임 시퀀스가 LSTM 인풋으로 들어갈 때 탐지 지연(Latency)을 확인하기 위해 Stride 값 테스트 병행.
    • 파이썬 기반 프레임 버퍼를 구현하되, 성능 향상을 위한 C-Python 바인딩 가속화 테스트 검토.
  • 데이터셋 기반 오탐/미탐 개선: AI 허브 피트니스 데이터셋(요가, 과도한 스트레칭 등)을 활용해 오탐(False Positive)을 방어. 침대/의자 눕기 등 찾기 어려운 행동은 제약사항(Rule)을 별도로 추가.

3. 프론트엔드 연동 및 통신 아키텍처 (MQTT)

📡 MQTT 보안 및 검증 규칙: 통신 구간에 TLS 암호화를 반드시 적용하고, 데이터 송수신 시 필드값이 올바른지 Validator를 거치도록 설계.
  • QoS (Quality of Service) 전략: 시스템 특성에 맞춰 '확실히 한 번 보내기(QoS 1/2)'와 '제대로 될 때까지 재시도하기' 중 프로젝트에 맞는 사용법을 파악하고 적용.
  • CRD (Correlation Data) 활용: 이벤트 토픽 발송 시 리턴 받을 메시지 경로(예: client/event)를 규칙에 따라 명확히 지정.
  • ROI (관심 구역) 좌표계 매핑 표준화:
    • 카탈로그 작성을 위해 1280x720 해상도를 기준으로 픽셀(Pixel)과 비율(Percentage) 단위를 명세화.
    • 프론트에서 설정한 좌표값을 AI에 넘겨주어 추론할 때, 해당 구역에 '진입했는지' 판단하는 기준점(좌표 기준점 등)을 제3자가 납득할 수 있게 논리적으로 설정.

4. 프로젝트 관리 및 개발 표준 (PM & Docs)

🧑‍💻 엔지니어링 중심의 트러블 슈팅 자산화

오류 발생 시 어디서 막혔는지(Problem) ➡️ 시도한 방법(Attempt) ➡️ 도출된 결과(Result)로 이어지는 과정을 상세히 기록하여 자산화할 것.

  • 문서화 체계 개편: 프로젝트 공통 산출물인 master.md와 개인별 개발 진행 상황을 기록하는 .md 파일을 이원화하여 관리.
  • 프로젝트 관리(PM) 및 R&R: 현재 기획, 디자인, 개발 간의 역할 경계가 모호하고 전담 PM 부재로 인한 병목 현상 발생 중. R&R을 명확히 하고 부서 간 의존성 문제(Blocker)를 수시로 점검할 필요가 있음.
  • 로그 체킹 및 CS 역량: 동작 수행 시 철저하게 로그(Log)를 확인하는 습관을 들이고, 시스템 전반의 이해도를 높이기 위한 개발 팀원들의 CS(Computer Science) 기본기 학습 병행.