AIでCoD配信のキル候補を245件→99件まで絞った方法|HSV色解析×キルフィード検出
※この記事の前提になる無料版はこちら → https://note.com/akito_gamedoga/n/n1cb06ad989e6
配信をしていると、「キルした場面だけを自動で抜き出せたら楽なのに」と思うことがあります。
僕も最初は、AIや画像処理を使えば、CoDのキルシーンくらい簡単に検出できると思っていました。
でも実際にやってみると、かなり難しかったです。
キル表示だけを拾おうとしても、アシスト、目標占領、スコア加算、ロード画面、爆発エフェクトなど、似たような色のUIが大量に出てきます。
その結果、最初は245件も候補が出てしまい、人間が確認するにはかなり面倒な状態でした。
そこから、黄色スコア表示だけを見るのではなく、ピンクのキルフィードや赤いポップアップも組み合わせて、最終的に99件まで候補を絞り込みました。
この記事では、そのときに使った考え方と実装ロジックをまとめます。
完璧な自動編集ツールではありません。
ただ、「AIや画像処理で配信素材の確認作業を軽くする」ための現実的な方法としては、かなり使える考え方だと思っています。
はじめに
前回の記事(導入編 ¥300)で紹介したパイプラインの「キル検出」部分を、この記事で徹底解説します。
導入編では「HSV色検出+キルフィード二重確認」と一言で片付けましたが、実際はかなり泥臭い調整の積み重ねです。
この記事を読めば、自分でもCoD(あるいは他のFPS)用のキル検出スクリプトを組むための考え方が分かるようになります。
先に結論: このロジックでキル候補を245件→99件まで絞り込み
v1(黄色スコアのみ) → v4(黄色+ピンクキルフィード+赤ポップアップ)まで改良した結果:
| バージョン | 検出イベント数 | ユーザー体感精度 |
|---|---|---|
| v1 (黄色のみ) | 245 | 半分がアシストや目標占領(誤検出) |
| v2 (+赤popup) | 180 | それでも4割誤検出 |
| v4 (+ピンクフィード) | 99 | 目視確認しやすい候補まで圧縮 |
v1で245イベント検出されていたものが、v4では99に絞り込まれたのが重要です。「黄色っぽいUIが出た瞬間を全部拾う」のではなく、「キルの可能性が高い候補だけを残す」方向に寄せています。
ここで大事なのは、完全自動で100点判定することではなく、人間が最後に確認しやすい量までノイズを削ることです。ショート動画運用では、この方が現実的に回せます。
なぜCoDのキル検出は難しいのか
普通に考えると「画面中央にキル表示が出るから、そこの色を見ればいい」だけに思えます。
でも実際にやってみると、一般的な色検出では誤検出だらけになります。原因は3つ:
原因1: CoDの画面にはキル以外にも黄色UIが大量にある
アシスト +25 (他人のキルを手伝った時)
目標占領 (ドミネーション等)
ダメージボーナス
ストリーク発動
ミッション達成
マップUI
これらが全部「黄色系テキスト」で表示されるので、色だけで区別できません。
原因2: ゲーム中の環境がそもそも黄色い
スタジアムマップ(照明で画面全体が黄色)
砂漠マップ
夕日が差す時間帯
火炎系の爆発エフェクト
Fallout系コラボのロード画面 ← これが一番厄介
特にFallout Vault Boyのロード画面は、画面全体が黄色で塗り潰されます。普通の色検出だと「+100キルが1万個出た」みたいな誤検出になります。
原因3: 配信録画のフレーム間ジャッジが必要
1フレーム見るだけでは「これはキルUIか、背景か」を判断できません。
UI黄色: ピクセル数が150〜1500くらい(テキストなので細い)
環境黄色: ピクセル数が1500以上(塗り潰し)
持続的黄色: 4秒以上ずっと黄色 = ロード画面確定
時間方向の文脈が必要です。
解決アプローチ: 3つのUI要素を同時に監視
CoDには「自分が倒したときだけ発生する」UIが3つあります:
黄色スコアポップアップ (画面中央やや右 - 「+100 ELIMINATION」のテキスト)
ピンクキルフィード (画面左側 - 自分のプレイヤー名だけピンクで強調される)
赤「敵ダウン」ポップアップ (画面右上 - 敵アイコンと共に出る)
この3つの同時発生を確認すれば、アシスト・目標占領・環境黄色などほぼ全ての誤検出を弾けます。
特にピンクキルフィードが決定打です。なぜなら:
CoDのキルフィードでは、自分が関わったキルだけがピンクで強調表示される仕様になっていて、アシストでは強調されない
つまりピンクキルフィードの新規エントリ = 自分の純粋なキル、と断言できる強力なシグナルなんです。
ここから先では、実際にどの画面範囲を見て、どのHSV閾値で判定し、どのように誤検出を除外したのかをコード例つきで解説します。
実装: 黄色スコアポップアップの検出
ここから先は
¥ 500
この記事が気に入ったらチップで応援してみませんか?
