생성된 피규어 영상에서 Jev, SAM, SAM Agent를 이용한 탐지 및 모자이크 처리를 비교했습니다.
'SNS에 부적절한 부분'이라는 모호한 지시와 노출 부위를 구체적으로 지정했을 때의 결과를 소개합니다.
왼쪽 위가 원본 영상, 오른쪽 위가 SAM, 왼쪽 아래가 SAM Agent, 오른쪽 아래가 Jev입니다.
파란색 실선은 피규어, 빨간색 파선은 SNS 조건 또는 피부 노출 부위입니다.
두 가지 종류의 탐지를 별도로 실행하여 겹쳤으며, 색칠은 하지 않고 빨간 상자 직사각형 전체에 모자이크를 했습니다.
피부 형태를 따른 마스크는 아닙니다.
모호한 지시에도 반응하지만, SAM Agent에서도 중간에 모자이크가 풀리는 경우가 있었습니다.
대상을 구체화하면 모든 방식에서 탐지가 증가했습니다.
다만, SAM은 노출 전에도 반응했습니다.
모호한 목적을 전달할지, 대상을 구체적으로 지정할지에 따라 결과가 크게 달라집니다.
피규어에는 파란 상자가 나타나지만, SNS 조건에서는 모든 방식에서 탐지가 0건이었습니다.
입력은 생성된 피규어 영상 2개로, 둘 다 1280×720・24fps・145프레임, 약 6.04초입니다.
각 프레임을 정지 이미지로 판정하고, 탐지한 Bounding Box 직사각형 내에 모자이크를 했습니다.
탐지 조건은 물체를 지정하는 figure, 모호한 목적을 지정하는 'SNS에 부적절한 표현', 구체적으로 지정하는 '가슴・배・팔의 노출된 피부' 3가지입니다.
SNS 조건과 부위 지정은 같은 의미가 아니며, 지시의 구체성에 따른 차이를 비교하고 있습니다.
| 방식 | 탐지 방법 |
|---|
| SAM | SAM 3.1에 원본 지시를 그대로 전달 |
| ... | |
| SAM Agent는 SAM 3의 Agent 설계를 참고한 독자적인 구현입니다. | |
공식 구현을 완벽하게 재현한 것이 아니며, 모델과 호출 횟수 제한은 이번 실험 설정입니다.
입력 영상・소스 코드・설정・완성 영상과 GIF・탐지 건수 집계는 구현 레포지토리에 공개하고 있습니다.
- 입력 영상: 검증에 사용한 2개의 원본 영상.
- 비교 조건 및 프롬프트 전문: 각 방식에 전달한 원본 지시와 실행 설정.
- 탐지 건수 집계・완성 영상・GIF: 3가지 조건의 결과와 집계 기준.
- 실행・검증 절차: API에서의 탐지, 비교 영상 생성, 타입 체크・테스트 실행 방법.
집계 JSON과 파일의 SHA-256은 manifest.json에 수록되어 있습니다.
API의 원본 로그와 프레임별 판정 캐시는 공개 대상에 포함하지 않았습니다.
따라서 같은 입력으로 재검증할 수는 있지만, 다시 API 탐지가 필요하며, 게재 결과와 완전히 일치한다고 보장할 수는 없습니다.
3가지 조건의 탐지 건수와 피부 노출 전・후로 나눈 결과는 GitHub의 비교표에 정리되어 있습니다.
피부 부위 지정으로 SAM Agent와 Jev가 처음 탐지한 **frame 26 (27번째, 약 1.08초)**을 기준으로 다음 2구간에서 집계합니다.
- 피부 노출 전: frame 0~25. -
- 피부 노출 후: frame 26~144.
이 검증에서는 피부 노출 후의 119프레임을 모두 탐지 대상으로 가정했습니다.
'탐지'는 상자가 1개 이상 있는 프레임 수, '놓침(미탐)'은 피부 노출 후에 상자가 없는 프레임 수입니다.
사람 손의 정답 마스크에 의한 평가가 아니며, 상자의 위치・범위나 SNS 규정 적합성 여부는 채점하지 않았습니다.
| 탐지 조건 | 방식 | 피부 노출 전 탐지 / 26 | 피부 노출 후 탐지 / 119 | 놓침(미탐) |
|---|---|
| SNS 조건 | SAM | 0 | 0 | 119 |
| ... |
영상과 음성에 지연(ディレイ)을 두어 판정이 끝날 때까지 기다리면, 모자이크를 적용한 후 방송할 수 있습니다.
아래는 SAM 3.1에 fal.ai, Agent의 LLM으로 OpenRouter 경유 Qwen을 이용한 이번 구성에서의 프레임당 평균 처리 시간입니다. API 통신 및 대기 시간을 포함합니다.
| 방식 | SNS 조건 | 노출 부위 명시 |
|---|
| SAM | 1.87초 | 3.40초 |
| ... | | |
| 디레이의 길이는 처리 시간의 편차와 병렬 처리 수에 맞춰 결정합니다. | | |
속도를 높이려면, SAM을 로컬 GPU에서 구동하거나, Agent의 LLM을 응답 속도가 빠른 모델로 교체하는 방법 등이 고려될 수 있습니다.
1280×720・24fps 전체 프레임을 판정하면 1시간에 86,400프레임입니다.
게재된 GIF의 320p・20fps가 아니라, 탐지 시점의 원본 영상을 기준으로 합니다.
피부 영상으로 기록한 API 호출 횟수와 토큰량을 바탕으로, 동일한 처리를 1시간 지속했을 경우의 API 이용료를 추산했습니다.
| 채택하는 방식 | SNS 조건만 / 시간 | 노출 부위 명시만 / 시간 | figure+SNS 조건 / 시간 |
|---|---|---|
| SAM | $864.00 | $864.00 | $1,728.00 |
| ... |
배포 용도에서는, 한 방식으로 가릴 대상만 판정하는 구성이 후보가 됩니다.
오른쪽 열은 비교 영상과 마찬가지로 figure와 SNS 조건을 개별적으로 탐지할 경우입니다.
세 가지 방식 모두 두 조건을 처리하면, 총 약 $3,676.92 / 시간이 됩니다.
요금은 2026년 10월 20일에 확인했습니다.
산출 방법은 다음과 같습니다.
SAM: fal.ai는 리퀘스트당 $0.01.
fal.ai 요금 -
SAM Agent: SAM 요금 + OpenRouter의 LLM 요금.
SNS 조건에서는 SAM을 141회 호출했고, LLM 기록상 요금은 약 $0.02였습니다.
대상 없음으로 조기 종료되거나 재탐지가 있기 때문에 영상에 따라 달라집니다.
Qwen3.7 Flash 요금 -
Jev: 입력 1,000만 토큰당 $0.42, 출력 무료.
SNS 조건의 입력 403,933 토큰을 기반으로 외삽했습니다.
존재 확인과 Box는 동일한 리퀘스트입니다.
Jev 요금
충분한 처리 능력과 API 이용 한도를 확보할 수 있다는 전제 하의 추산입니다.
세금・환율・결제 수수료, 배포 서버, 저장・전송, 인코딩 비용은 포함하지 않았습니다.
Jev・SAM・SAM Agent로 탐지 및 모자이크 처리를 비교하여, 지시의 구체성에 따라 결과가 달라지는 것을 확인할 수 있었습니다.
비용도 추산할 수 있었으며, Jev라면 비교적 저렴하게 자동 모자이크를 구현할 수 있을 것 같습니다.
다음으로는 OBS 등에 통합하여 잠들지 않는 24시간 스트리머를 노출되는 순간부터 보호해 보고 싶습니다.