1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIは曖昧な「不適切表現」を検出してライブ配信ポロリを防げるのか? Jev・SAMで検証してみた

1
Last updated at Posted at 2026-10-20

概要

生成したフィギュア動画で、Jev・SAM・SAM Agentによる検出とモザイク処理を比較しました。
「SNSに不適切なところ」という曖昧な指示と、露出部位を具体的に指定した場合の結果を紹介します。

まずはモザイク動画と結果

左上が元映像、右上がSAM、左下がSAM Agent、右下がJevです。
青い実線はフィギュア(figure)、赤い破線は不適切表現または肌の露出部位。
2種類の検出を別々に実行して重ね、色塗りはせず、赤枠の矩形全体にモザイクをかけています。
肌の形に沿ったマスクではありません。

肌動画:「SNSに不適切なところを探して」

赤枠の元の指示は以下です。過度な肌の露出や裸、性的表現、暴力・流血など、SNSに不適切な視覚表現を広く指定しています。

入力prompt
Visual content inappropriate for social media, including excessive skin exposure, nudity, sexual content, graphic violence, gore, and other inappropriate visual expressions

肌動画・不適切表現:検出枠とモザイクの比較

曖昧な指示にも反応しますが、SAM Agentでも途中でモザイクが外れます。

肌動画:「フィギュアの胸・腹・腕の露出した肌を探して」

赤枠の指示を以下に変更し、フィギュアの胸・腹・腕の露出した肌を具体的に指定しました。

入力prompt
exposed skin on the figurine's chest, abdomen and arms

肌動画・露出部位を明示:検出枠とモザイクの比較

対象を具体化すると、全方式で検出が増えました。
ただし、SAMは露出前にも反応しました。

メカ動画:「SNSに不適切なところを探して」

赤枠には最初の肌動画と同じ不適切表現のプロンプトを使い、内部がメカの映像でも反応するかを確認しました。

入力prompt
Visual content inappropriate for social media, including excessive skin exposure, nudity, sexual content, graphic violence, gore, and other inappropriate visual expressions

メカ動画:検出枠とモザイクの比較

フィギュアには青枠が出ますが、不適切表現では全方式で検出0件でした。

ここまでの結果のまとめ

SAM AgentとJevは、「SNSに不適切なところ」という対象が曖昧な文章でも、画像から該当すると判断した領域を検出できました。
ただし、肌の露出後119フレームのうち、不適切表現で検出できたのはSAM Agentが109フレーム、Jevが14フレームで、今回の条件ではJevは見逃しが大幅に多い結果でした。
肌動画では、対象を具体的に指定すると全方式で検出が増えました。
ただし、SAMは露出前にも反応し、SAM AgentとJevは露出後も途中でモザイクが外れました。
メカ動画の不適切表現は全方式で検出0件でした。

実験設定と検出方法

入力は生成したフィギュア動画2本で、どちらも1280×720・24fps・145フレーム、約6.04秒です。
各フレームを静止画として判定し、検出したBounding Boxの矩形内にモザイクをかけています。

検出条件は、物体を指定する figure、曖昧な目的を指定する「SNSに不適切な表現」、具体的に指定する「胸・腹・腕の露出した肌」の3種類です。
不適切表現と部位指定は同じ意味ではなく、指示の具体性による違いを比較しています。

方式 検出方法
SAM SAM 3.1に元の指示をそのまま渡す
SAM Agent Qwenが指示を具体化し、SAM 3.1の候補を確認。1フレームでLLM最大3回、SAM最大2回
Jev 存在確率と位置を同時に質問。存在確率0.80以上、Box信頼度0.60以上で採用

SAM AgentはSAM 3のAgent設計を参考にした独自実装です。
公式実装の完全な再現ではなく、モデルと呼び出し回数の制限は今回の実験設定です。

入力動画・ソースコード・設定・完成動画とGIF・検出数の集計は、実装リポジトリで公開しています。

検出数の比較

3条件の検出数と、肌の露出前・露出後に分けた結果は、GitHubの比較表にまとめています。

肌の部位指定でSAM AgentとJevが最初に検出した **frame 26(27枚目、約1.08秒)**を基準に、次の2区間で集計します。

  • 肌露出前:frame 0〜25。
  • 肌露出後:frame 26〜144。
    この検証では、肌露出後の119フレームをすべて検出対象と仮定します。

「検出」は枠が1個以上あるフレーム数、「見逃し」は肌露出後に枠がないフレーム数です。
人手の正解マスクによる評価ではなく、枠の位置・範囲やSNS規約への適否は採点していません。

肌動画

検出条件 方式 肌露出前の検出 / 26 肌露出後の検出 / 119 見逃し
不適切表現 SAM 0 0 119
不適切表現 SAM Agent 0 109 10
不適切表現 Jev 0 14 105
露出部位を明示 SAM 26 119 0
露出部位を明示 SAM Agent 0 116 3
露出部位を明示 Jev 0 94 25

未検出の理由にも違いがあります。

  • SAM Agent:不適切表現では「フィギュアなので不適切とは言えない」と判断した例があります。
    部位指定では、腕だけの候補を胸・腹も覆えていないとして不採用にした例もあり、未検出すべてが画像認識の失敗とは限りません。
  • Jev:部位指定での未検出は、存在確率を満たしたものの、Box信頼度が閾値未満だったためです。

メカ動画の結果

肌の露出がないメカ動画では、不適切表現の検出は全方式で0件でした。
一方、同じ動画の figure は全方式で検出できました(145フレーム中、SAMは145、SAM Agentは140、Jevは145)。

ライブ配信に組み込むには

映像と音声をバッファにため、AIの判定とモザイク処理が終わってから配信する構成を考えます。
遅延を許容し、必要な処理能力を確保できれば、SAM Agentも配信フィルターの候補になります。
ただし、見逃しや枠の範囲不足は遅延だけでは解決しません。

今回のフレーム処理をライブ配信に組み込む構成案です。

映像・音声を保持し、AIの判定後にモザイク処理して配信する構成案

映像と音声にディレイを設け、判定が終わるまで待たせれば、モザイクを反映してから配信できます。
以下は、SAM 3.1にfal.ai、AgentのLLMにOpenRouter経由のQwenを利用した、今回の構成での1フレームあたりの平均処理時間です。API通信や待ち時間も含みます。

方式 不適切表現 露出部位を明示
SAM 1.87秒 3.40秒
SAM Agent 12.07秒 15.08秒
Jev 0.41秒 0.34秒

ディレイの長さは、処理時間のばらつきと並列処理数に合わせて決めます。
高速化するなら、SAMをローカルGPUで動かす、AgentのLLMを応答の速いモデルに替える、といった方法が考えられます。

現在の構成で1時間配信すると、いくらかかるか

1280×720・24fpsで1対象を全フレーム判定する場合を試算します。
肌動画の不適切表現145フレームの実測から、1時間分(86,400フレーム)へ換算しました。単価は2026年10月20日の確認値です。

req=リクエスト、M token=100万トークン、frame=フレーム。

方式・課金項目 単価 実測平均
SAM $0.01 /req 1 req/frame
SAM Agent:SAM $0.01 /req 141 ÷ 145 ≒ 0.972 req/frame
SAM Agent:LLM 入力:$0.03 /M token
出力:$0.13 /M token
入出力合算 約$0.000148 /frame
Jev 入力:$0.042 /M token
出力:無料
403,933 ÷ 145 ≒ 2,786 token/frame

SAM AgentのLLM費用は、APIに記録された利用料を使っています。

方式 計算($/frame) 1時間分の計算 1時間あたりの料金
SAM 1 × 0.01 = 0.01 0.01 × 86,400 $864.00
SAM Agent 0.972 × 0.01 + 0.000148 ≒ 0.009872 0.009872 × 86,400 $852.94
Jev 2,786 × 0.042 ÷ 10⁶ ≒ 0.000117 0.000117 × 86,400 $10.10

映像や呼び出し回数によって利用料は変わります。税・手数料や配信設備など、API以外の費用は含みません。

Jevは約 \$10/時間 と比較的安価ですが、SAM・SAM Agentは約 \$850〜\$860/時間となり、この構成で継続配信するには料金面が厳しそうです。

まとめ

Jev・SAM・SAM Agentで検出とモザイク処理を比較し、指示の具体性によって結果が変わることを確認できました。
費用も試算でき、Jevであれば比較的安価に自動モザイクを実現できそうです。
次はOBSなどに組み込む方法を作り、24時間配信者のポロリやVtuberのうっかり顔出しを守ってみたいですね。

参考資料

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?