鉄拳8のリプレイで表示されるHUDの内容をCSVで出力して解析するツール群です。
Pythonで作ったスクリプトをPyinstallerで実行ファイル化(exe)してます。
ソースコードはgithubで公開してます。
Pyinstallerで実行ファイル化(exe)を作っているので起動が遅いです。Python環境を構築できる人はコードで実行した方が処理が速いです。
これらのツールを使ったことによる生じた事故等については、その理由を問わず、利用者は自己の責任と費用において解決するものとし、ツール開発者は一切の責任を負わないものとします。
4個のツール(+α)で鉄拳8のリプレイ動画の情報を解析します。
このツールと同階層にある"mov"というフォルダにあるMP4形式で保存されたリプレイ動画について、ラウンド開始時の "ファイト" の掛け声でラウンド単位で動画分割します。
ラウンドごとに分割した動画は同階層の"work"というフォルダに {元のファイル名}_round{番号}.mp4 という名前で保存されます。
掛け声のファイルは著作権的に私が配布できないため、ご自身で用意して "fight.wav" というファイル名でこのツールと同じフォルダに配置してください。
掛け声の音声ファイルを作成する支援ツールは最後に記載します。
同階層にある"work"というフォルダにラウンドごとに切り出された {元のファイル名}_round{番号}.mp4 というファイル名のMP4動画からラウンド終了時の"KO"の掛け声より後ろの部分を削除します。
これはKO以降はHUDデータが表示されず無駄なので処理を軽くするために行います。
掛け声のファイルは著作権的に私が配布できないため、ご自身で用意して "KO.wav" というファイル名でこのツールと同じフォルダに配置してください。
掛け声の音声ファイルを作成する支援ツールは最後に記載します。
同階層の"work"フォルダに配置された3840×2160の画面サイズで60フレームで保存された状態のリプレイ動画すべてについて、コマンド入力履歴とHUDデータを抽出してCSVで出力します。
HUDで表示されるデータをTessearact OCRでOCRします。コマンド入力はResnet18をファインチューニングしたモデルを用いて画像識別してデータ化します。
同梱のファイル、arrow_classifier.pthがレバー入力の画像識別モデル、button_classifier.pthがボタン入力のの画像識別モデルです。
このツールを使う前に先にTessearact OCRをインストールしてください。
私はTessearact OCRをこの素晴らしいサイトを参考にインストールしました。
Tessearact OCRをインストールしたらこの素晴らしい記事を参考に日本語対応させてください。
普通にインストールしたら言語データjpn.traineddata、jpn_vert.traineddataを
"C:\Program Files\Tesseract-OCR\tessdata"
に配置するだけでokなはずです。
PySimpleGUIを使って簡単なGUIを作ってます。実行する際に処理するPCの環境・パワーに応じて、Tessearact OCRの実行ファイルの絶対パス、処理に使うスレッド数、処理時に動画を分割する数を指定してください。
普通にインストールしたらTessearact OCRの実行ファイルの絶対パスは
"C:\Program Files\Tesseract-OCR\tesseract.exe"
になると思います。
スレッド数はご利用のPCのコア数に応じて指定してください。
処理対象の動画を全てメモリ上で処理するためメモリが少ないPCで使う時は動画の分割処理数を大きくしてください。
"HUDデータ抽出処理開始"ボタンを押すと処理がはじまります。CSVファイルは detect_results_{元の動画ファイル名}_round{番号}.csv というファイル名で"work"フォルダに出力されます。
結構時間がかかるので、鉄拳8を遊び終わって寝る前にこのツールを実行して寝ている間に負けた試合のリプレイ動画を解析しておく感じになると思います。
出力されたCSVの各カラムの内容は以下です。
ダウンロードしたファイルを解凍して、以下のようなフォルダ構造になっている前提で使い方を説明します。
"fight.wav" 、"KO.wav" は前述のNo0_video2wav.exeを使うなどして作成してください。
なお、各ツールを実行した際にウィルスソフトが誤検知する場合があります。その場合は手動で対象から外してご利用ください。
Pyinstallerを使ってマルウェアを作る犯罪者が多いようでウィルスソフトがPyinstallerのヘッダ情報を不正なソフトだと誤検知するらしいです。
上の画像みたくコマンド入力履歴とHUDを表示させた状態のリプレイ動画を3840×2160の画面サイズで60フレームで保存してください。上下左右に黒枠が出ないように録画してください。上下左右に黒枠があるとデータ抽出ができなくなります。
私はNVIDAのグラボを使っているのでGeForce Experienceを使ってリプレイ動画を保存してます。
Alt + F9 で録画できて便利ですよね。
"mov"フォルダにMP4形式のリプレイ動画に配置して No1_mov_spliter.exe を実行してください。
ラウンド単位で動画分割されたクリップ動画が"work"フォルダに保存されます。
Pyinstallerを使って作成しているので1.63GBあります。
Download the tool: CheckTekken8.zip
TOPにもどる: Back to Home