시험에서 확인한 결론
LaMa로 가시 글자는 대부분 지워졌습니다. 추가된 숨은 신호는 LaMa·DnCNN 처리와 그 조합을 거친 7개 시험 조건에서 검출됐습니다. 그러나 작은 자르기 후 재확대에는 모두 실패했습니다. 이 기능은 제거 방지나 소유권 인증을 보장하지 않습니다.
같은 조건에서 숨은 신호만 뺀 대조군을 사용했습니다. 가시 글자의 잔존과 숨은 신호 검출은 서로 다른 결과입니다.
조건과 판정
- 실사: OpenCV 공개 vtest.avi의 첫 4초와 30초 지점의 4초. 합성: testsrc2와 어두운 단색 장면. 768×576, 12 fps, 조건별 4초입니다. 독립적인 7개 원본이 아니라 총 4개 장면을 7가지 설정과 조합했습니다.
- default는 분산형, 불투명도 21%, 밀도 100%, 추적 켜짐. strong은 강력형, 불투명도 45%, 밀도 150%입니다. 모든 결과는 H.264로 저장했습니다.
- 숨은 신호: 배포본별 무작위 키, 8개 주파수 중 블록별 선택, 인코딩 전 최대 ±2/255. 키는 ML 모델에 주지 않았습니다.
- LaMa: 정확한 렌더러 지지 영역에 2px 여유를 준 마스크. 336프레임에 프레임별 추론. 마스크 밖 픽셀은 그대로 보존합니다. 자동 워터마크 위치 탐지나 시간축 영상 복원 모델 시험은 아닙니다.
- DnCNN color blind: 화면 전체에 적용. 조건별 균등 간격 12프레임, 총 84프레임씩 단독 및 LaMa 이후 처리. 새 MP4는 3 fps로 저장해 같은 4초 구간을 유지했습니다. 시간축 자연스러움을 평가한 시험은 아닙니다.
- 검사: 실제 앱이 영상 전체 구간에서 최대 12프레임을 추출합니다. 유효 프레임이 8개 이상이고, 점수 6 이상인 프레임이 75% 이상이면 검출입니다. 3 fps 출력은 마지막 시점의 프레임이 없어 11개가 검사됐습니다. 점수는 확률이 아니며 반복 프레임은 독립 증거가 아닙니다.
| 시험 조건 | 출력 직후 | 무신호 대조 | LaMa | DnCNN | LaMa→DnCNN | 노이즈 제거+CRF28 | 4px 자르기+CRF28 |
|---|
| default_fixed | 검출34.02 · 12/12 | 미검출1.03 · 0/12 | 검출28.73 · 12/12 | 검출32.13 · 11/11 | 검출27.94 · 11/11 | 검출27.74 · 12/12 | 미검출0.78 · 0/12 |
|---|
| default_moving | 검출30.71 · 12/12 | 미검출-0.86 · 0/12 | 검출27.16 · 12/12 | 검출28.60 · 11/11 | 검출26.17 · 11/11 | 검출20.13 · 12/12 | 미검출-0.07 · 0/12 |
|---|
| default_wave | 검출31.53 · 12/12 | 미검출-0.65 · 0/12 | 검출26.88 · 12/12 | 검출29.19 · 11/11 | 검출26.55 · 11/11 | 검출23.11 · 12/12 | 미검출1.03 · 0/12 |
|---|
| strong_wave | 검출21.37 · 12/12 | 미검출-0.34 · 0/12 | 검출19.62 · 12/12 | 검출19.18 · 11/11 | 검출19.36 · 11/11 | 검출12.94 · 12/12 | 미검출0.11 · 0/12 |
|---|
| heldout_wave | 검출33.93 · 12/12 | 미검출-1.11 · 0/12 | 검출29.47 · 12/12 | 검출32.61 · 11/11 | 검출28.88 · 11/11 | 검출25.12 · 12/12 | 미검출0.00 · 0/12 |
|---|
| animation_wave | 검출45.34 · 12/12 | 미검출0.34 · 0/12 | 검출22.16 · 12/12 | 검출12.20 · 11/11 | 검출11.91 · 11/11 | 검출17.55 · 12/12 | 미검출-0.24 · 0/12 |
|---|
| dark_wave | 검출48.45 · 12/12 | 미검출0.33 · 0/12 | 검출72.34 · 12/12 | 검출45.40 · 11/11 | 검출72.61 · 11/11 | 검출18.11 · 12/12 | 미검출0.30 · 0/12 |
|---|
각 셀: 검출 여부 / 중앙 점수 · 기준 이상 프레임 수/읽은 프레임 수. hqdn3d=2:2:3:3, CRF 28; 자르기는 사방 4px 후 768×576으로 재확대했습니다.
시청 품질과 대조 시험
동일 가시 문구·동일 ID·동일 인코딩 경로에서 미세 신호만 0으로 바꾼 대조군과 비교했습니다. 아래 수치는 숨은 신호와 그에 따른 코덱 출력 변화까지 포함합니다. 원본 영상 대비 품질이나 육안상 완전한 비가시성을 뜻하지 않습니다.
| 조건 | PSNR (dB) | SSIM (휘도) | 파일 크기 변화 |
|---|
| default_fixed | 39.60 | 0.9733 | +2.1% |
|---|
| default_moving | 36.93 | 0.9602 | +1.0% |
|---|
| default_wave | 38.66 | 0.9679 | +4.3% |
|---|
| strong_wave | 36.50 | 0.9712 | +2.8% |
|---|
| heldout_wave | 38.79 | 0.9696 | +1.5% |
|---|
| animation_wave | 38.87 | 0.9841 | +9.0% |
|---|
| dark_wave | 43.14 | 0.9727 | +45.0% |
|---|
무신호 대조 영상·원본·대조 영상의 노이즈 제거 처리에서 신호를 검출하지 않았습니다. 각 조건의 한 프레임에 100개 잘못된 키를 적용한 700회 시험에서 점수 6 이상은 0회였습니다. 이 작은 표본은 실제 오검출률을 보장하지 않습니다.
확인된 한계
- 4px 자르기 후 재확대에서 7개 조건 모두 미검출입니다. 위치 이동·회전·종횡비 변경을 자동 복구하지 않습니다.
- 알려진 8개 주파수를 억제하는 키 없는 표적 처리에서도 일부 장면이 미검출됐습니다. 다중 주파수 신호도 제거 불가능하지 않습니다.
- 강한 압축, 다른 AI 복원기, 플랫폼 업로드 변환, 화면 촬영은 이 결과로 일반화할 수 없습니다. 최신 모델 전체를 시험한 결과가 아닙니다.
- 검사 키는 따로 백업해야 합니다. 키 보유나 신호 검출은 원본 소유권·배포 기록의 진위를 인증하지 않습니다.