안녕하세요. 고한석 전문가입니다.
이미지가 첨부된 것처럼 말씀하셨는데 실제로는 보이지 않네요. 텍스트만으로 답변드리겠습니다.
전체 파이프라인 구조는 단일 모델로 끝내기보다 2단계가 현실적입니다. ① 사람 탐지/세그멘테이션: YOLO(v8/v9 인스턴스 세그멘테이션 버전)나 Mask R-CNN으로 사람 전체 바운딩박스+마스크를 얻고, ② 수면선 분할: 별도의 의미론적 분할 모델(U-Net, DeepLabV3+, 또는 Segformer)로 "수면 위/아래" 두 클래스 영역 마스크를 만든 뒤, 두 마스크를 픽셀 단위로 교차 연산해서 "사람 마스크 중 몇 %가 수면 아래 영역에 들어가는지" 비율을 계산하는 방식이 가장 직관적이고 검증된 접근입니다.
데이터 수집·라벨링이 가장 큰 난관인데, 실제 수영장 CCTV 영상에서 사람 마스크(폴리곤)와 수면선(직선이 아니라 파도·반사로 인해 굴곡진 곡선) 두 가지를 모두 라벨링해야 하며, 공개 데이터셋이 거의 없어 직접 촬영+라벨링이 불가피하고, 특히 수중 굴절(물속 신체가 빛 굴절로 위치가 휘어 보이는 현상)까지 고려하려면 적외선·열화상 카메라 데이터를 함께 모으는 것도 정확도에 큰 도움이 됩니다.
파인튜닝 전략은 YOLO-seg나 Mask R-CNN을 COCO 사전학습 가중치에서 시작해 "사람" 클래스만 수영장 환경 이미지로 전이학습시키고, 수면선 분할은 별도 경량 U-Net을 처음부터 학습시키는 게 합리적이며, 익수자 판단 로직 자체는 단순 마스크 비율뿐 아니라 시간에 따른 움직임 패턴(정상 수영 vs 정지/허우적거림)까지 함께 분석하는 시계열 LSTM/Transformer를 추가하면 오탐을 크게 줄일 수 있습니다.