Scavengers Reign Flux

詳細

ファイルをダウンロード

モデル説明

このモデルは、MAXで放送されたTV番組『Scavengers Reign』(2023年)からのランダムなスクリーンショット209枚を用いて学習されました。キャプションにはGPT-4oを使用しました。

私は、24GBのLoRA設定のデフォルト設定のほとんどをそのまま維持しましたが、ステップ数だけを4,000ステップに設定しました。

ワークフロー

  1. 短いPythonスクリプトを使用して、MP4ファイルから1,000枚のランダムな画像を抽出しました。

  2. その後、czkawka(GitHub)を使用して、重複または類似した画像を削除しました。

  3. 登場人物の出現リストを作成し、モデル内のバイアスを避けるために最も頻繁に登場するものを除外しました。

  4. その後、すべての画像を手動でチェックし、最も審美性の高い209枚を選択しました。

  5. キャプションにはカスタムGPT(Scavengers Reign GPT)を使用しました。

  6. 最後に、ostris ai-toolkit(GitHub)を使用してモデルを学習しました。

コード:

import cv2
import random

mp4_directory = ''
output_directory = ''
frames_to_extract = 120
base_name = "Random_screenshot"
list_of_random_frames = []
frame_distance = 100
first_frame = 0 

count = 0

vidcap = cv2.VideoCapture(mp4_directory)
totalFrames = vidcap.get(cv2.CAP_PROP_FRAME_COUNT)
while count < frames_to_extract:
    count += 1
    count_str = str(count)
    frames_skipped = -1
    while True:
        randomFrameNumber = random.randint(0, totalFrames)
        frames_skipped +=1
        if frames_skipped > 0:
            print(f"Frame Skipped {frames_skipped}")
        if all(abs(randomFrameNumber - frame) > frame_distance and randomFrameNumber> first_frame for frame in list_of_random_frames):
            break
    list_of_random_frames.append(randomFrameNumber)
    photo_output = output_directory + base_name + count_str + ".png"
    vidcap.set(cv2.CAP_PROP_POS_FRAMES,randomFrameNumber)
    success, image = vidcap.read()
    if success:
        cv2.imwrite(photo_output, image)
    print(f"Saving image to: {photo_output}")

PS: データセットをご希望の方はお気軽にお問い合わせください。CivitAIが著作権の問題に巻き込まれないようにしたいだけです。

このモデルで生成された画像

画像が見つかりません。