Buckets:
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "id": "0e1c3714", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import os\n", | |
| "import pandas as pd\n", | |
| "\n", | |
| "VIDEO_BASE = \"/mnt/data/xinyuy/datasets/OpenVE-3M/videos\"" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "id": "a3a53864", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>video</th>\n", | |
| " <th>prompt</th>\n", | |
| " <th>original_video</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>global_style/83e667e84c450c3f843ea6bb711a233f.mp4</td>\n", | |
| " <td>Apply the afternoon aesthetic to this video, e...</td>\n", | |
| " <td>global_style/e7420d872d566e9042a422e69019c968.mp4</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>global_style/a403d71fbdde8824db6fa6c8c53549d7.mp4</td>\n", | |
| " <td>Apply the Sketch Style to this video, ensuring...</td>\n", | |
| " <td>global_style/8e653d462a859685a1a2bf7b25cb0973.mp4</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>global_style/7731fa36ce3e201a8c5a3a282677fb25.mp4</td>\n", | |
| " <td>Apply the Blue Hour aesthetic to this video, e...</td>\n", | |
| " <td>global_style/8e653d462a859685a1a2bf7b25cb0973.mp4</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>global_style/6a0465b6135505d3440aec5cafaa5721.mp4</td>\n", | |
| " <td>Apply the Cyberpunk animation style to this vi...</td>\n", | |
| " <td>global_style/8e653d462a859685a1a2bf7b25cb0973.mp4</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>global_style/a97ae02adf13fc5f767ea645e43253ec.mp4</td>\n", | |
| " <td>Apply the Blue Hour aesthetic to this video, e...</td>\n", | |
| " <td>background_change/cce8c9e239fbbd6ca0f3abe034b2...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>431665</th>\n", | |
| " <td>global_style/1114734ba933f489a218e9e739df44c3.mp4</td>\n", | |
| " <td>Convert this Pointillism-animated video back t...</td>\n", | |
| " <td>global_style/07d6f18a1ddf50588d1ca9be526494eb.mp4</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>431666</th>\n", | |
| " <td>global_style/1114734ba933f489a218e9e739df44c3.mp4</td>\n", | |
| " <td>Convert this Pop Art-animated video back to a ...</td>\n", | |
| " <td>global_style/f9582468abae7103fb8653b837b0e23f.mp4</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>431667</th>\n", | |
| " <td>global_style/1114734ba933f489a218e9e739df44c3.mp4</td>\n", | |
| " <td>Convert this Thick-paint Hand-drawn video back...</td>\n", | |
| " <td>global_style/57c18a0df38eacf3f58a5a4024657ec5.mp4</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>431668</th>\n", | |
| " <td>global_style/1114734ba933f489a218e9e739df44c3.mp4</td>\n", | |
| " <td>Convert this Ghibli-animated video back to a l...</td>\n", | |
| " <td>global_style/17e1332ac8e2966274bc911315bdb71e.mp4</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>431669</th>\n", | |
| " <td>global_style/1114734ba933f489a218e9e739df44c3.mp4</td>\n", | |
| " <td>Convert this Chinese Ink Wash-animated video b...</td>\n", | |
| " <td>global_style/d9bd63b9f7cbd7189322dad70437c10f.mp4</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>431670 rows × 3 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " video \\\n", | |
| "0 global_style/83e667e84c450c3f843ea6bb711a233f.mp4 \n", | |
| "1 global_style/a403d71fbdde8824db6fa6c8c53549d7.mp4 \n", | |
| "2 global_style/7731fa36ce3e201a8c5a3a282677fb25.mp4 \n", | |
| "3 global_style/6a0465b6135505d3440aec5cafaa5721.mp4 \n", | |
| "4 global_style/a97ae02adf13fc5f767ea645e43253ec.mp4 \n", | |
| "... ... \n", | |
| "431665 global_style/1114734ba933f489a218e9e739df44c3.mp4 \n", | |
| "431666 global_style/1114734ba933f489a218e9e739df44c3.mp4 \n", | |
| "431667 global_style/1114734ba933f489a218e9e739df44c3.mp4 \n", | |
| "431668 global_style/1114734ba933f489a218e9e739df44c3.mp4 \n", | |
| "431669 global_style/1114734ba933f489a218e9e739df44c3.mp4 \n", | |
| "\n", | |
| " prompt \\\n", | |
| "0 Apply the afternoon aesthetic to this video, e... \n", | |
| "1 Apply the Sketch Style to this video, ensuring... \n", | |
| "2 Apply the Blue Hour aesthetic to this video, e... \n", | |
| "3 Apply the Cyberpunk animation style to this vi... \n", | |
| "4 Apply the Blue Hour aesthetic to this video, e... \n", | |
| "... ... \n", | |
| "431665 Convert this Pointillism-animated video back t... \n", | |
| "431666 Convert this Pop Art-animated video back to a ... \n", | |
| "431667 Convert this Thick-paint Hand-drawn video back... \n", | |
| "431668 Convert this Ghibli-animated video back to a l... \n", | |
| "431669 Convert this Chinese Ink Wash-animated video b... \n", | |
| "\n", | |
| " original_video \n", | |
| "0 global_style/e7420d872d566e9042a422e69019c968.mp4 \n", | |
| "1 global_style/8e653d462a859685a1a2bf7b25cb0973.mp4 \n", | |
| "2 global_style/8e653d462a859685a1a2bf7b25cb0973.mp4 \n", | |
| "3 global_style/8e653d462a859685a1a2bf7b25cb0973.mp4 \n", | |
| "4 background_change/cce8c9e239fbbd6ca0f3abe034b2... \n", | |
| "... ... \n", | |
| "431665 global_style/07d6f18a1ddf50588d1ca9be526494eb.mp4 \n", | |
| "431666 global_style/f9582468abae7103fb8653b837b0e23f.mp4 \n", | |
| "431667 global_style/57c18a0df38eacf3f58a5a4024657ec5.mp4 \n", | |
| "431668 global_style/17e1332ac8e2966274bc911315bdb71e.mp4 \n", | |
| "431669 global_style/d9bd63b9f7cbd7189322dad70437c10f.mp4 \n", | |
| "\n", | |
| "[431670 rows x 3 columns]" | |
| ] | |
| }, | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "data = pd.read_csv(\"/mnt/data/xinyuy/datasets/OpenVE-3M/csv_files/global_style.csv\", sep=';')\n", | |
| "data" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "id": "38958e1e", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Rows with both videos present: 394608\n", | |
| "Sampled rows: 3000\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>video</th>\n", | |
| " <th>prompt</th>\n", | |
| " <th>original_video</th>\n", | |
| " <th>video_new</th>\n", | |
| " <th>original_video_new</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>global_style/814188fd4735efdd3c260cec0f03b3a3.mp4</td>\n", | |
| " <td>Convert this Pointillist-animated video back t...</td>\n", | |
| " <td>global_style/e7389a9efe300e7d4a91d98e4ebfebf6.mp4</td>\n", | |
| " <td>global_style_new/814188fd4735efdd3c260cec0f03b...</td>\n", | |
| " <td>global_style_new/e7389a9efe300e7d4a91d98e4ebfe...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>global_style/dd148415e0fe4034045a5439024ca1e2.mp4</td>\n", | |
| " <td>Convert this Pop Art-animated video back to a ...</td>\n", | |
| " <td>global_style/9a03e30089e89abaf70c04f1ed9eeb43.mp4</td>\n", | |
| " <td>global_style_new/dd148415e0fe4034045a5439024ca...</td>\n", | |
| " <td>global_style_new/9a03e30089e89abaf70c04f1ed9ee...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>global_style/3cdec01290635be73e3ea74f5084b621.mp4</td>\n", | |
| " <td>Convert this Watercolor-animated video back to...</td>\n", | |
| " <td>global_style/2bcb82fa2fab9d83c1dd7819dea39c04.mp4</td>\n", | |
| " <td>global_style_new/3cdec01290635be73e3ea74f5084b...</td>\n", | |
| " <td>global_style_new/2bcb82fa2fab9d83c1dd7819dea39...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>global_style/39b458db24d1fa3b7e6c16abad7f3703.mp4</td>\n", | |
| " <td>Apply the Cyberpunk animation style to this vi...</td>\n", | |
| " <td>global_style/b9fa7a81a5c7d4a186acb3f0493baab2.mp4</td>\n", | |
| " <td>global_style_new/39b458db24d1fa3b7e6c16abad7f3...</td>\n", | |
| " <td>global_style_new/b9fa7a81a5c7d4a186acb3f0493ba...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>global_style/47a665d5e1b37e12acbb85ae0dceaf93.mp4</td>\n", | |
| " <td>Convert this Pointillism-animated video back t...</td>\n", | |
| " <td>global_style/5e178a2897fc0e2aae492469fdbde46f.mp4</td>\n", | |
| " <td>global_style_new/47a665d5e1b37e12acbb85ae0dcea...</td>\n", | |
| " <td>global_style_new/5e178a2897fc0e2aae492469fdbde...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2995</th>\n", | |
| " <td>global_style/e8622072645a94ff434e5a7e5ce91510.mp4</td>\n", | |
| " <td>Convert this pixel-animated video back to a li...</td>\n", | |
| " <td>global_style/fc5385060928135b2db87c8bc4eb9448.mp4</td>\n", | |
| " <td>global_style_new/e8622072645a94ff434e5a7e5ce91...</td>\n", | |
| " <td>global_style_new/fc5385060928135b2db87c8bc4eb9...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2996</th>\n", | |
| " <td>global_style/992f7794f0e35240e62d7d283e986752.mp4</td>\n", | |
| " <td>Convert this Impressionist-animated video back...</td>\n", | |
| " <td>global_style/63cc47e5c5f38b17b63eb2cd45562a7d.mp4</td>\n", | |
| " <td>global_style_new/992f7794f0e35240e62d7d283e986...</td>\n", | |
| " <td>global_style_new/63cc47e5c5f38b17b63eb2cd45562...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2997</th>\n", | |
| " <td>global_style/debe2b117fcc0752f201904d43b71a02.mp4</td>\n", | |
| " <td>Convert this Surrealist-animated video back to...</td>\n", | |
| " <td>global_style/a2daf1c0fe2c9a4a0af43c49725d6311.mp4</td>\n", | |
| " <td>global_style_new/debe2b117fcc0752f201904d43b71...</td>\n", | |
| " <td>global_style_new/a2daf1c0fe2c9a4a0af43c49725d6...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2998</th>\n", | |
| " <td>global_style/694bfd703d3bf0761bc76d259626a155.mp4</td>\n", | |
| " <td>Convert this Cyberpunk-animated video back to ...</td>\n", | |
| " <td>global_style/8b23c21c80dffd4776560915ef69aad9.mp4</td>\n", | |
| " <td>global_style_new/694bfd703d3bf0761bc76d259626a...</td>\n", | |
| " <td>global_style_new/8b23c21c80dffd4776560915ef69a...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2999</th>\n", | |
| " <td>global_style/1184ab8dbb76861df69a68e2f79cb521.mp4</td>\n", | |
| " <td>Convert this Pixel-animated video back to a li...</td>\n", | |
| " <td>global_style/82816e8a35fdc651dc2aeeaad67d5d8f.mp4</td>\n", | |
| " <td>global_style_new/1184ab8dbb76861df69a68e2f79cb...</td>\n", | |
| " <td>global_style_new/82816e8a35fdc651dc2aeeaad67d5...</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>3000 rows × 5 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " video \\\n", | |
| "0 global_style/814188fd4735efdd3c260cec0f03b3a3.mp4 \n", | |
| "1 global_style/dd148415e0fe4034045a5439024ca1e2.mp4 \n", | |
| "2 global_style/3cdec01290635be73e3ea74f5084b621.mp4 \n", | |
| "3 global_style/39b458db24d1fa3b7e6c16abad7f3703.mp4 \n", | |
| "4 global_style/47a665d5e1b37e12acbb85ae0dceaf93.mp4 \n", | |
| "... ... \n", | |
| "2995 global_style/e8622072645a94ff434e5a7e5ce91510.mp4 \n", | |
| "2996 global_style/992f7794f0e35240e62d7d283e986752.mp4 \n", | |
| "2997 global_style/debe2b117fcc0752f201904d43b71a02.mp4 \n", | |
| "2998 global_style/694bfd703d3bf0761bc76d259626a155.mp4 \n", | |
| "2999 global_style/1184ab8dbb76861df69a68e2f79cb521.mp4 \n", | |
| "\n", | |
| " prompt \\\n", | |
| "0 Convert this Pointillist-animated video back t... \n", | |
| "1 Convert this Pop Art-animated video back to a ... \n", | |
| "2 Convert this Watercolor-animated video back to... \n", | |
| "3 Apply the Cyberpunk animation style to this vi... \n", | |
| "4 Convert this Pointillism-animated video back t... \n", | |
| "... ... \n", | |
| "2995 Convert this pixel-animated video back to a li... \n", | |
| "2996 Convert this Impressionist-animated video back... \n", | |
| "2997 Convert this Surrealist-animated video back to... \n", | |
| "2998 Convert this Cyberpunk-animated video back to ... \n", | |
| "2999 Convert this Pixel-animated video back to a li... \n", | |
| "\n", | |
| " original_video \\\n", | |
| "0 global_style/e7389a9efe300e7d4a91d98e4ebfebf6.mp4 \n", | |
| "1 global_style/9a03e30089e89abaf70c04f1ed9eeb43.mp4 \n", | |
| "2 global_style/2bcb82fa2fab9d83c1dd7819dea39c04.mp4 \n", | |
| "3 global_style/b9fa7a81a5c7d4a186acb3f0493baab2.mp4 \n", | |
| "4 global_style/5e178a2897fc0e2aae492469fdbde46f.mp4 \n", | |
| "... ... \n", | |
| "2995 global_style/fc5385060928135b2db87c8bc4eb9448.mp4 \n", | |
| "2996 global_style/63cc47e5c5f38b17b63eb2cd45562a7d.mp4 \n", | |
| "2997 global_style/a2daf1c0fe2c9a4a0af43c49725d6311.mp4 \n", | |
| "2998 global_style/8b23c21c80dffd4776560915ef69aad9.mp4 \n", | |
| "2999 global_style/82816e8a35fdc651dc2aeeaad67d5d8f.mp4 \n", | |
| "\n", | |
| " video_new \\\n", | |
| "0 global_style_new/814188fd4735efdd3c260cec0f03b... \n", | |
| "1 global_style_new/dd148415e0fe4034045a5439024ca... \n", | |
| "2 global_style_new/3cdec01290635be73e3ea74f5084b... \n", | |
| "3 global_style_new/39b458db24d1fa3b7e6c16abad7f3... \n", | |
| "4 global_style_new/47a665d5e1b37e12acbb85ae0dcea... \n", | |
| "... ... \n", | |
| "2995 global_style_new/e8622072645a94ff434e5a7e5ce91... \n", | |
| "2996 global_style_new/992f7794f0e35240e62d7d283e986... \n", | |
| "2997 global_style_new/debe2b117fcc0752f201904d43b71... \n", | |
| "2998 global_style_new/694bfd703d3bf0761bc76d259626a... \n", | |
| "2999 global_style_new/1184ab8dbb76861df69a68e2f79cb... \n", | |
| "\n", | |
| " original_video_new \n", | |
| "0 global_style_new/e7389a9efe300e7d4a91d98e4ebfe... \n", | |
| "1 global_style_new/9a03e30089e89abaf70c04f1ed9ee... \n", | |
| "2 global_style_new/2bcb82fa2fab9d83c1dd7819dea39... \n", | |
| "3 global_style_new/b9fa7a81a5c7d4a186acb3f0493ba... \n", | |
| "4 global_style_new/5e178a2897fc0e2aae492469fdbde... \n", | |
| "... ... \n", | |
| "2995 global_style_new/fc5385060928135b2db87c8bc4eb9... \n", | |
| "2996 global_style_new/63cc47e5c5f38b17b63eb2cd45562... \n", | |
| "2997 global_style_new/a2daf1c0fe2c9a4a0af43c49725d6... \n", | |
| "2998 global_style_new/8b23c21c80dffd4776560915ef69a... \n", | |
| "2999 global_style_new/82816e8a35fdc651dc2aeeaad67d5... \n", | |
| "\n", | |
| "[3000 rows x 5 columns]" | |
| ] | |
| }, | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "N_SAMPLE = 3000 # Change this to adjust the number of sampled rows\n", | |
| "\n", | |
| "def remap(path):\n", | |
| " # Remap CSV paths from 'global_style/' to actual folder 'global_style_new/'\n", | |
| " return path.replace('global_style/', 'global_style_new/', 1)\n", | |
| "\n", | |
| "def file_exists(rel_path):\n", | |
| " return os.path.exists(os.path.join(VIDEO_BASE, rel_path))\n", | |
| "\n", | |
| "# Apply path remapping\n", | |
| "data['video_new'] = data['video'].apply(remap)\n", | |
| "data['original_video_new'] = data['original_video'].apply(remap)\n", | |
| "\n", | |
| "# Keep only rows where both video and original_video exist in global_style_new\n", | |
| "mask = data['video_new'].apply(file_exists) & data['original_video_new'].apply(file_exists)\n", | |
| "filtered = data[mask].reset_index(drop=True)\n", | |
| "print(f\"Rows with both videos present: {len(filtered)}\")\n", | |
| "\n", | |
| "# Randomly sample N rows\n", | |
| "sampled = filtered.sample(n=N_SAMPLE, random_state=42).reset_index(drop=True)\n", | |
| "print(f\"Sampled rows: {len(sampled)}\")\n", | |
| "sampled" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "id": "4c79fa2d", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>video</th>\n", | |
| " <th>prompt</th>\n", | |
| " <th>original_video</th>\n", | |
| " <th>video_new</th>\n", | |
| " <th>original_video_new</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>global_style/0c73fecdd340eed24a6724b05c23741d.mp4</td>\n", | |
| " <td>Apply an afternoon aesthetic to this video, en...</td>\n", | |
| " <td>global_style/01060e6d2ace4126efc152fa89e700a9.mp4</td>\n", | |
| " <td>global_style_new/0c73fecdd340eed24a6724b05c237...</td>\n", | |
| " <td>global_style_new/01060e6d2ace4126efc152fa89e70...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>global_style/0b339757ea63ce1955bef1418fe6228c.mp4</td>\n", | |
| " <td>Apply the Afternoon lighting and atmospheric s...</td>\n", | |
| " <td>global_style/006511a51d1d337278bf4d4897159f7d.mp4</td>\n", | |
| " <td>global_style_new/0b339757ea63ce1955bef1418fe62...</td>\n", | |
| " <td>global_style_new/006511a51d1d337278bf4d4897159...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>global_style/0579b49a5179bfb07290e5bdbb769eb4.mp4</td>\n", | |
| " <td>Apply the sketch style to this video, maintain...</td>\n", | |
| " <td>global_style/01c601b6e9c90bd4ded77e8c184fe81b.mp4</td>\n", | |
| " <td>global_style_new/0579b49a5179bfb07290e5bdbb769...</td>\n", | |
| " <td>global_style_new/01c601b6e9c90bd4ded77e8c184fe...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>global_style/055231136a07ddc0e21d7c884d32b3a2.mp4</td>\n", | |
| " <td>Apply the morning aesthetic to this video, ens...</td>\n", | |
| " <td>global_style/081d28e6186144e8e70fc31dbab5bdf2.mp4</td>\n", | |
| " <td>global_style_new/055231136a07ddc0e21d7c884d32b...</td>\n", | |
| " <td>global_style_new/081d28e6186144e8e70fc31dbab5b...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>global_style/0a78085032ed023ce7a316bac5ff5824.mp4</td>\n", | |
| " <td>Apply the soft, golden-hour aesthetic of early...</td>\n", | |
| " <td>global_style/01b9b74b17621232d51c75d6634af0c3.mp4</td>\n", | |
| " <td>global_style_new/0a78085032ed023ce7a316bac5ff5...</td>\n", | |
| " <td>global_style_new/01b9b74b17621232d51c75d6634af...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>925</th>\n", | |
| " <td>global_style/00e2200c4adab7daabb8376d3eb897a8.mp4</td>\n", | |
| " <td>Convert this Sketch-style video back to a live...</td>\n", | |
| " <td>global_style/04a444420a251d839e92d564f6c3367e.mp4</td>\n", | |
| " <td>global_style_new/00e2200c4adab7daabb8376d3eb89...</td>\n", | |
| " <td>global_style_new/04a444420a251d839e92d564f6c33...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>926</th>\n", | |
| " <td>global_style/00568a326871e41011905ced311f80c7.mp4</td>\n", | |
| " <td>Convert this Cyberpunk-animated video back to ...</td>\n", | |
| " <td>global_style/0b8a6c8cf8c5c03e90b250c671214cb8.mp4</td>\n", | |
| " <td>global_style_new/00568a326871e41011905ced311f8...</td>\n", | |
| " <td>global_style_new/0b8a6c8cf8c5c03e90b250c671214...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>927</th>\n", | |
| " <td>global_style/00568a326871e41011905ced311f80c7.mp4</td>\n", | |
| " <td>Convert this Pop Art-animated video back to a ...</td>\n", | |
| " <td>global_style/042af9944fe81ef54fa1d1cb94b4e5c0.mp4</td>\n", | |
| " <td>global_style_new/00568a326871e41011905ced311f8...</td>\n", | |
| " <td>global_style_new/042af9944fe81ef54fa1d1cb94b4e...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>928</th>\n", | |
| " <td>global_style/069e222fa557fb4a1c302280d68b8d35.mp4</td>\n", | |
| " <td>Convert this Cartoon-animated video back to a ...</td>\n", | |
| " <td>global_style/0c40bccec7530952971aa0befa8a6a87.mp4</td>\n", | |
| " <td>global_style_new/069e222fa557fb4a1c302280d68b8...</td>\n", | |
| " <td>global_style_new/0c40bccec7530952971aa0befa8a6...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>929</th>\n", | |
| " <td>global_style/069e222fa557fb4a1c302280d68b8d35.mp4</td>\n", | |
| " <td>Convert this Ghibli-animated video back to a l...</td>\n", | |
| " <td>global_style/0816c9484138f17025c8c897021148d8.mp4</td>\n", | |
| " <td>global_style_new/069e222fa557fb4a1c302280d68b8...</td>\n", | |
| " <td>global_style_new/0816c9484138f17025c8c89702114...</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>930 rows × 5 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " video \\\n", | |
| "0 global_style/0c73fecdd340eed24a6724b05c23741d.mp4 \n", | |
| "1 global_style/0b339757ea63ce1955bef1418fe6228c.mp4 \n", | |
| "2 global_style/0579b49a5179bfb07290e5bdbb769eb4.mp4 \n", | |
| "3 global_style/055231136a07ddc0e21d7c884d32b3a2.mp4 \n", | |
| "4 global_style/0a78085032ed023ce7a316bac5ff5824.mp4 \n", | |
| ".. ... \n", | |
| "925 global_style/00e2200c4adab7daabb8376d3eb897a8.mp4 \n", | |
| "926 global_style/00568a326871e41011905ced311f80c7.mp4 \n", | |
| "927 global_style/00568a326871e41011905ced311f80c7.mp4 \n", | |
| "928 global_style/069e222fa557fb4a1c302280d68b8d35.mp4 \n", | |
| "929 global_style/069e222fa557fb4a1c302280d68b8d35.mp4 \n", | |
| "\n", | |
| " prompt \\\n", | |
| "0 Apply an afternoon aesthetic to this video, en... \n", | |
| "1 Apply the Afternoon lighting and atmospheric s... \n", | |
| "2 Apply the sketch style to this video, maintain... \n", | |
| "3 Apply the morning aesthetic to this video, ens... \n", | |
| "4 Apply the soft, golden-hour aesthetic of early... \n", | |
| ".. ... \n", | |
| "925 Convert this Sketch-style video back to a live... \n", | |
| "926 Convert this Cyberpunk-animated video back to ... \n", | |
| "927 Convert this Pop Art-animated video back to a ... \n", | |
| "928 Convert this Cartoon-animated video back to a ... \n", | |
| "929 Convert this Ghibli-animated video back to a l... \n", | |
| "\n", | |
| " original_video \\\n", | |
| "0 global_style/01060e6d2ace4126efc152fa89e700a9.mp4 \n", | |
| "1 global_style/006511a51d1d337278bf4d4897159f7d.mp4 \n", | |
| "2 global_style/01c601b6e9c90bd4ded77e8c184fe81b.mp4 \n", | |
| "3 global_style/081d28e6186144e8e70fc31dbab5bdf2.mp4 \n", | |
| "4 global_style/01b9b74b17621232d51c75d6634af0c3.mp4 \n", | |
| ".. ... \n", | |
| "925 global_style/04a444420a251d839e92d564f6c3367e.mp4 \n", | |
| "926 global_style/0b8a6c8cf8c5c03e90b250c671214cb8.mp4 \n", | |
| "927 global_style/042af9944fe81ef54fa1d1cb94b4e5c0.mp4 \n", | |
| "928 global_style/0c40bccec7530952971aa0befa8a6a87.mp4 \n", | |
| "929 global_style/0816c9484138f17025c8c897021148d8.mp4 \n", | |
| "\n", | |
| " video_new \\\n", | |
| "0 global_style_new/0c73fecdd340eed24a6724b05c237... \n", | |
| "1 global_style_new/0b339757ea63ce1955bef1418fe62... \n", | |
| "2 global_style_new/0579b49a5179bfb07290e5bdbb769... \n", | |
| "3 global_style_new/055231136a07ddc0e21d7c884d32b... \n", | |
| "4 global_style_new/0a78085032ed023ce7a316bac5ff5... \n", | |
| ".. ... \n", | |
| "925 global_style_new/00e2200c4adab7daabb8376d3eb89... \n", | |
| "926 global_style_new/00568a326871e41011905ced311f8... \n", | |
| "927 global_style_new/00568a326871e41011905ced311f8... \n", | |
| "928 global_style_new/069e222fa557fb4a1c302280d68b8... \n", | |
| "929 global_style_new/069e222fa557fb4a1c302280d68b8... \n", | |
| "\n", | |
| " original_video_new \n", | |
| "0 global_style_new/01060e6d2ace4126efc152fa89e70... \n", | |
| "1 global_style_new/006511a51d1d337278bf4d4897159... \n", | |
| "2 global_style_new/01c601b6e9c90bd4ded77e8c184fe... \n", | |
| "3 global_style_new/081d28e6186144e8e70fc31dbab5b... \n", | |
| "4 global_style_new/01b9b74b17621232d51c75d6634af... \n", | |
| ".. ... \n", | |
| "925 global_style_new/04a444420a251d839e92d564f6c33... \n", | |
| "926 global_style_new/0b8a6c8cf8c5c03e90b250c671214... \n", | |
| "927 global_style_new/042af9944fe81ef54fa1d1cb94b4e... \n", | |
| "928 global_style_new/0c40bccec7530952971aa0befa8a6... \n", | |
| "929 global_style_new/0816c9484138f17025c8c89702114... \n", | |
| "\n", | |
| "[930 rows x 5 columns]" | |
| ] | |
| }, | |
| "execution_count": 17, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "filtered" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "id": "1cf8e9bf", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "id": "e637793b", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "\n", | |
| "=== Common Style (19) ===\n", | |
| " 1. Abstract Art\n", | |
| " 2. Ancient Style\n", | |
| " 3. Cartoon\n", | |
| " 4. Chinese Ink Wash Painting\n", | |
| " 5. Cubist\n", | |
| " 6. Cyberpunk\n", | |
| " 7. Ghibli\n", | |
| " 8. Gongbi\n", | |
| " 9. Impressionist\n", | |
| " 10. Oil Painting\n", | |
| " 11. Pixel Art\n", | |
| " 12. Pointillist\n", | |
| " 13. Pop Art\n", | |
| " 14. Sketch\n", | |
| " 15. Steampunk\n", | |
| " 16. Surrealist\n", | |
| " 17. Thick-Paint Hand-Drawn\n", | |
| " 18. Ukiyoe\n", | |
| " 19. Watercolor\n", | |
| "\n", | |
| "=== Time Of Day (1) ===\n", | |
| " 1. Dawn\n", | |
| "\n", | |
| "=== Weather (3) ===\n", | |
| " 1. Rainy\n", | |
| " 2. Snowy\n", | |
| " 3. Sunny\n", | |
| "\n", | |
| "\n", | |
| "grouped = {'common_style': ['Abstract Art', 'Ancient Style', 'Cartoon', 'Chinese Ink Wash Painting', 'Cubist', 'Cyberpunk', 'Ghibli', 'Gongbi', 'Impressionist', 'Oil Painting', 'Pixel Art', 'Pointillist', 'Pop Art', 'Sketch', 'Steampunk', 'Surrealist', 'Thick-Paint Hand-Drawn', 'Ukiyoe', 'Watercolor'], 'time_of_day': ['Dawn'], 'weather': ['Rainy', 'Snowy', 'Sunny']}\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "import re\n", | |
| "import pandas as pd\n", | |
| "\n", | |
| "BENCH_CSV = \"/home/xinyuy/dataset_processing/OpenVE-3M/OpenVE-Bench/benchmark_videos.csv\"\n", | |
| "\n", | |
| "df = pd.read_csv(BENCH_CSV)\n", | |
| "gs = df[df['edited_type'] == 'global_style'].copy()\n", | |
| "\n", | |
| "# ── Step 1: extract style name from prompt ───────────────────────────────────\n", | |
| "_STOP = r'(?:\\s+(?:aesthetic|animation style|animation|style|Style|visual style|visual|look|filter|effect|technique|art style|principles|to this)|\\s*,|\\s*\\.)'\n", | |
| "\n", | |
| "def extract_style(prompt):\n", | |
| " m = re.search(r'Apply (?:the |a |an )(.+?)' + _STOP, prompt)\n", | |
| " if m:\n", | |
| " return m.group(1).strip().strip(\"'\\\"\")\n", | |
| " m2 = re.search(r'Apply (?:the |a |an )((?:\\S+ ?){1,3})', prompt)\n", | |
| " return m2.group(1).strip().strip(\"'\\\"\") if m2 else None\n", | |
| "\n", | |
| "gs['style_raw'] = gs['prompt'].apply(extract_style)\n", | |
| "\n", | |
| "# ── Step 2: normalize to canonical names ────────────────────────────────────\n", | |
| "_NORMALIZE = {\n", | |
| " # Common styles\n", | |
| " 'dynamic': 'Abstract Art', # \"dynamic aesthetic of abstract art\"\n", | |
| " 'principles of abstract art': 'Abstract Art',\n", | |
| " 'Aesthetic Ancient-style': 'Ancient Style',\n", | |
| " 'iconic Ghibli': 'Ghibli',\n", | |
| " 'Studio Ghibli': 'Ghibli',\n", | |
| " 'traditional Gongbi painting': 'Gongbi',\n", | |
| " 'sketch': 'Sketch',\n", | |
| " 'Thick-paint Hand-drawn': 'Thick-Paint Hand-Drawn',\n", | |
| " 'pixel': 'Pixel Art',\n", | |
| " 'retro pixel': 'Pixel Art',\n", | |
| " 'oil painting': 'Oil Painting',\n", | |
| " # Weather conditions\n", | |
| " 'snowy': 'Snowy',\n", | |
| " 'immersive snowy': 'Snowy',\n", | |
| " 'immersive Snowy': 'Snowy',\n", | |
| " 'enchanting': 'Snowy', # \"enchanting, wintry 'Snowy' style\"\n", | |
| " 'seamless rainy': 'Rainy',\n", | |
| " 'Rainy': 'Rainy',\n", | |
| " 'Sunny': 'Sunny',\n", | |
| " 'sunny': 'Sunny',\n", | |
| " \"'Sunny'\": 'Sunny',\n", | |
| " # Times of day\n", | |
| " 'dawn': 'Dawn',\n", | |
| " 'soft': 'Dawn', # \"soft, warm aesthetic/ambiance of dawn\"\n", | |
| "}\n", | |
| "\n", | |
| "def normalize(raw):\n", | |
| " return _NORMALIZE.get(raw, raw) if raw else None\n", | |
| "\n", | |
| "gs['style'] = gs['style_raw'].apply(normalize)\n", | |
| "\n", | |
| "# ── Step 3: assign group ─────────────────────────────────────────────────────\n", | |
| "WEATHER = {'Sunny', 'Rainy', 'Snowy'}\n", | |
| "TIME_OF_DAY = {'Dawn', 'Morning', 'Afternoon', 'Blue Hour', 'Golden Hour'}\n", | |
| "\n", | |
| "def assign_group(style):\n", | |
| " if style in WEATHER:\n", | |
| " return 'weather'\n", | |
| " if style in TIME_OF_DAY:\n", | |
| " return 'time_of_day'\n", | |
| " return 'common_style'\n", | |
| "\n", | |
| "gs['group'] = gs['style'].apply(assign_group)\n", | |
| "\n", | |
| "# ── Step 4: print grouped results ───────────────────────────────────────────\n", | |
| "for grp in ['common_style', 'time_of_day', 'weather']:\n", | |
| " styles = sorted(gs[gs['group'] == grp]['style'].dropna().unique(), key=str.lower)\n", | |
| " label = grp.replace('_', ' ').title()\n", | |
| " print(f\"\\n=== {label} ({len(styles)}) ===\")\n", | |
| " for i, s in enumerate(styles, 1):\n", | |
| " print(f\" {i:2d}. {s}\")\n", | |
| "\n", | |
| "# ── Step 5: summary dict ─────────────────────────────────────────────────────\n", | |
| "grouped = {\n", | |
| " grp: sorted(gs[gs['group'] == grp]['style'].dropna().unique().tolist(), key=str.lower)\n", | |
| " for grp in ['common_style', 'time_of_day', 'weather']\n", | |
| "}\n", | |
| "print(\"\\n\\ngrouped =\", grouped)\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "id": "22a22d08", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array(['Impressionist', 'Ukiyoe', 'Cyberpunk', 'Steampunk', 'Sketch',\n", | |
| " 'Aesthetic Ancient-style', 'Studio Ghibli', 'dynamic',\n", | |
| " 'Watercolor', 'sketch', 'soft', 'pixel', 'sunny', 'Cartoon',\n", | |
| " 'snowy', 'immersive snowy', 'Sunny', 'seamless rainy',\n", | |
| " 'iconic Ghibli', 'dawn', 'Gongbi', 'Rainy', 'Surrealist', 'Cubist',\n", | |
| " 'traditional Gongbi painting', 'Ghibli', 'enchanting',\n", | |
| " 'Pointillist', 'Pop Art', 'principles of abstract art',\n", | |
| " 'oil painting', 'immersive Snowy', 'retro pixel',\n", | |
| " 'Chinese Ink Wash Painting', 'Thick-Paint Hand-Drawn',\n", | |
| " 'Thick-paint Hand-drawn'], dtype=object)" | |
| ] | |
| }, | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "gs['style_raw'].unique()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "id": "c76290db", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "id": "6d2d953e", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "\n", | |
| "=== Common Style — 1020 styles, 353,679 total samples ===\n", | |
| " Style Count\n", | |
| " ------------------------------ --------\n", | |
| " Sketch 20,783\n", | |
| " Pop Art 19,867\n", | |
| " Cyberpunk 18,680\n", | |
| " Watercolor 18,558\n", | |
| " Steampunk 18,239\n", | |
| " Impressionist 17,953\n", | |
| " Ghibli 16,461\n", | |
| " Ukiyoe 15,499\n", | |
| " Cartoon 15,217\n", | |
| " Gongbi 14,188\n", | |
| " Cubist 13,866\n", | |
| " Pointillist 13,632\n", | |
| " Surrealist 12,449\n", | |
| " Abstract Art 12,364\n", | |
| " Oil Painting 12,290\n", | |
| " Aesthetic Ancient 11,179\n", | |
| " Chinese Ink Wash Painting 9,942\n", | |
| " Thick-Paint Hand-Drawn 8,778\n", | |
| " Pixel 8,639\n", | |
| " oil-painted 7,341\n", | |
| " thick-paint hand-drawn 7,239\n", | |
| " Aesthetic Ancient-styled 5,335\n", | |
| " abstract art 4,358\n", | |
| " cartoon 3,947\n", | |
| " Thick-paint Hand-drawn animated 3,358\n", | |
| " surrealist 2,932\n", | |
| " abstract 2,631\n", | |
| " pixel art 2,471\n", | |
| " warm 2,107\n", | |
| " pixelated 1,781\n", | |
| " watercolor 1,732\n", | |
| " rainy 1,349\n", | |
| " Pixel-styled 1,317\n", | |
| " Abstract Art-styled 1,168\n", | |
| " Ancient Style 1,074\n", | |
| " Impressionist-styled 1,060\n", | |
| " dynamic Pop Art 1,038\n", | |
| " bright 929\n", | |
| " Oil Painting-styled 796\n", | |
| " Impressionism 756\n", | |
| " Chinese Ink Wash Painting-styled 739\n", | |
| " Thick-paint Hand-drawn styled 589\n", | |
| " Oil-Painted 533\n", | |
| " Gongbi painting 464\n", | |
| " afternoon lighting 451\n", | |
| " Cartoon-styled 435\n", | |
| " Cubism 422\n", | |
| " sunlit 421\n", | |
| " afternoon lighting and color palette 407\n", | |
| " dynamic sketch 399\n", | |
| " thick-paint hand-drawn animated 367\n", | |
| " Pixel Art 339\n", | |
| " Surrealism 335\n", | |
| " Surrealist-styled 322\n", | |
| " Thick-Paint Hand-Drawn animated 317\n", | |
| " consistent rainy 268\n", | |
| " afternoon lighting and 265\n", | |
| " pixel-art 244\n", | |
| " afternoon lighting and atmospheric 230\n", | |
| " Impressionist artistic 224\n", | |
| " Thick-paint Hand-drawn Style 223\n", | |
| " cyberpunk 213\n", | |
| " rainy weather 211\n", | |
| " abstractly animated 205\n", | |
| " thick-paint hand-drawn styled 197\n", | |
| " Blue Hour cinematic 193\n", | |
| " dynamic rainy 189\n", | |
| " sunny day 189\n", | |
| " abstractly styled 186\n", | |
| " Sketch Style 178\n", | |
| " surrealistic 170\n", | |
| " abstract art-styled 169\n", | |
| " dynamic Cyberpunk 165\n", | |
| " Pop Art-styled 158\n", | |
| " vibrant 153\n", | |
| " snowy winter 151\n", | |
| " Cyberpunk-styled 149\n", | |
| " consistent snowy 149\n", | |
| " Ukiyo-e 140\n", | |
| " Sketch-styled 132\n", | |
| " enchanting snowy 130\n", | |
| " pixel-art styled 130\n", | |
| " detailed sketch 129\n", | |
| " afternoon lighting and color 128\n", | |
| " Blue Hour artistic 124\n", | |
| " Chinese Ink Wash animated 113\n", | |
| " traditional Gongbi 112\n", | |
| " retro Pixel 106\n", | |
| " gentle 105\n", | |
| " pointillist 105\n", | |
| " Thick-Paint Hand-drawn 103\n", | |
| " rainy atmosphere 100\n", | |
| " cohesive rainy 96\n", | |
| " serene 96\n", | |
| " realistic rainy 95\n", | |
| " rainy-day 93\n", | |
| " snowy landscape 90\n", | |
| " Watercolor painting 87\n", | |
| " dynamic snowy 81\n", | |
| " pixel-styled 80\n", | |
| " dynamic Sketch 78\n", | |
| " principles of Abstract Art 75\n", | |
| " Chinese Ink Wash-styled 72\n", | |
| " dynamic Cubist 72\n", | |
| " abstract-styled 71\n", | |
| " thick-paint animated 70\n", | |
| " early morning 66\n", | |
| " cohesive snowy 65\n", | |
| " sunny-day 65\n", | |
| " animated sketch 63\n", | |
| " oil painting-styled 63\n", | |
| " Oil-Painting-styled 60\n", | |
| " ink-wash animated 60\n", | |
| " Pointillist-styled 58\n", | |
| " classic pixel 58\n", | |
| " seamless 58\n", | |
| " Pointillism artistic 57\n", | |
| " pixel-art animated 57\n", | |
| " watercolor painting 55\n", | |
| " Snowy winter 53\n", | |
| " Pixel Style 52\n", | |
| " Ukiyo-e animated 52\n", | |
| " Ukiyoe Style style 52\n", | |
| " surrealist-styled 49\n", | |
| " Chinese Ink Wash Painted 48\n", | |
| " Impressionist painting 48\n", | |
| " dawn-inspired 48\n", | |
| " Chinese Ink Wash Painting Style style 47\n", | |
| " Surrealistic 46\n", | |
| " Sketch Style style 45\n", | |
| " surreal 44\n", | |
| " Surrealist artistic 42\n", | |
| " Pixel-art 40\n", | |
| " Ghibli Style style 39\n", | |
| " Surrealist cinematic 39\n", | |
| " Pixel-Styled 38\n", | |
| " Surreal 38\n", | |
| " enchanting Snowy 38\n", | |
| " immersive rainy 38\n", | |
| " iconic Pixel 37\n", | |
| " Ukiyoe-styled 36\n", | |
| " authentic afternoon 36\n", | |
| " cinematic oil painting 36\n", | |
| " sketched 36\n", | |
| " video into a Sketch Style style 36\n", | |
| " Cartoon Style 35\n", | |
| " Thick-Paint Hand-Drawn styled 35\n", | |
| " hand-drawn sketch 34\n", | |
| " meticulous Gongbi 34\n", | |
| " serene morning 34\n", | |
| " afternoon lighting and color grading 33\n", | |
| " sketch-style 33\n", | |
| " classic Pixel 32\n", | |
| " Impressionism style 31\n", | |
| " Thick-paint Hand-drawn Style style 31\n", | |
| " Gongbi-styled 30\n", | |
| " Sketch-Styled 30\n", | |
| " Thick-Paint Hand-drawn animated 30\n", | |
| " dynamic Steampunk 30\n", | |
| " dynamic abstract 30\n", | |
| " realistic rainy atmosphere 30\n", | |
| " sketch-styled 30\n", | |
| " Abstract Art style 29\n", | |
| " Snowy' winter 29\n", | |
| " pixel art-styled 29\n", | |
| " radiant 29\n", | |
| " Cyberpunk Style style 28\n", | |
| " Oil-Painting styled 28\n", | |
| " consistent 28\n", | |
| " gritty 28\n", | |
| " intricate Gongbi 28\n", | |
| " Pointillism style 27\n", | |
| " afternoon lighting and atmospheric conditions 27\n", | |
| " dynamic and non-representational 27\n", | |
| " dynamic cartoon 27\n", | |
| " early-morning 27\n", | |
| " ink-wash styled 27\n", | |
| " rainy day 27\n", | |
| " video into a Aesthetic Ancient 27\n", | |
| " Cartoon Style style 26\n", | |
| " Gongbi Style style 26\n", | |
| " Oil Painting Style style 26\n", | |
| " Surrealism style 26\n", | |
| " cinematic Steampunk 26\n", | |
| " steampunk 26\n", | |
| " video into a Ghibli Style style 26\n", | |
| " afternoon lighting and ambiance 25\n", | |
| " cartoon-styled 25\n", | |
| " sunny cinematic 25\n", | |
| " Ukiyoe artistic 24\n", | |
| " Pixel Style style 23\n", | |
| " Ukiyoe woodblock print 23\n", | |
| " Watercolor Style style 23\n", | |
| " dynamic and expressive abstract 23\n", | |
| " oil painting artistic 23\n", | |
| " realistic snowy 23\n", | |
| " video into a Impressionism style 23\n", | |
| " video into a Thick-paint Hand-drawn Style style 23\n", | |
| " Pointillism-styled 22\n", | |
| " Watercolor-styled 22\n", | |
| " intricate Steampunk 22\n", | |
| " rainy atmospheric 22\n", | |
| " Sketch Animation 21\n", | |
| " Sunny' lighting and color 21\n", | |
| " consistent sketch 21\n", | |
| " consistent sunny 21\n", | |
| " dynamic Cubism 21\n", | |
| " sunny weather 21\n", | |
| " traditional sketch 21\n", | |
| " video into a Ukiyoe Style style 21\n", | |
| " Pixel-art styled 20\n", | |
| " Rainy weather 20\n", | |
| " afternoon golden-hour 20\n", | |
| " ink wash 20\n", | |
| " fragmented 19\n", | |
| " rich Steampunk 19\n", | |
| " traditional Chinese Gongbi painting 19\n", | |
| " video into a Cyberpunk Style style 19\n", | |
| " wintery snowy 19\n", | |
| " Oil-Painting animated 18\n", | |
| " Pixel Art-styled 18\n", | |
| " classic cartoon 18\n", | |
| " ink-washed 18\n", | |
| " video into a Oil Painting Style style 18\n", | |
| " video into a Pointillism style 18\n", | |
| " Chinese ink wash painting 17\n", | |
| " Pop Art style 17\n", | |
| " seamless snowy 17\n", | |
| " video into a Chinese Ink Wash Painting Style style 17\n", | |
| " Afternoon lighting and color palette 16\n", | |
| " Chinese Ink Wash painting 16\n", | |
| " Oil-Painting 16\n", | |
| " afternoon ambiance 16\n", | |
| " dynamic and expressive Abstract Art 16\n", | |
| " iconic Pop Art 16\n", | |
| " meticulous Gongbi painting 16\n", | |
| " natural 16\n", | |
| " rainy scene 16\n", | |
| " realistic morning 16\n", | |
| " 2D cartoon 15\n", | |
| " Cubism style 15\n", | |
| " Impressionism-styled 15\n", | |
| " Steampunk Style style 15\n", | |
| " atmospheric snowy 15\n", | |
| " golden-hour afternoon 15\n", | |
| " smooth 15\n", | |
| " video into a Abstract Art style 15\n", | |
| " video into a Pop Art style 15\n", | |
| " vivid 15\n", | |
| " Afternoon lighting 14\n", | |
| " Sunny' lighting and color palette 14\n", | |
| " classic oil painting 14\n", | |
| " classic sketch 14\n", | |
| " dynamic and expressive 14\n", | |
| " serene Morning 14\n", | |
| " signature Ghibli 14\n", | |
| " video into a Pixel Style style 14\n", | |
| " wintery 14\n", | |
| " Chinese ink wash 13\n", | |
| " Pixel art 13\n", | |
| " Steampunk-styled 13\n", | |
| " cinematic Oil Painting 13\n", | |
| " crisp 13\n", | |
| " dynamic and illustrative Sketch 13\n", | |
| " iconic pixel 13\n", | |
| " immersive 13\n", | |
| " late afternoon 13\n", | |
| " lifelike rainy 13\n", | |
| " rainy cinematic 13\n", | |
| " traditional Chinese Gongbi 13\n", | |
| " traditional Ukiyoe 13\n", | |
| " video into a Surrealism style 13\n", | |
| " video into a Watercolor Style style 13\n", | |
| " Chinese Ink Wash Animated 12\n", | |
| " detailed Steampunk 12\n", | |
| " intricate Gongbi painting 12\n", | |
| " realistic 12\n", | |
| " rich 12\n", | |
| " vibrant 'Sunny 12\n", | |
| " wintry 12\n", | |
| " Afternoon lighting and color 11\n", | |
| " Impressionist video 11\n", | |
| " afternoon lighting and atmosphere 11\n", | |
| " afternoon lighting and atmospheric qualities 11\n", | |
| " dynamic Rainy 11\n", | |
| " dynamic oil painting 11\n", | |
| " luminous 11\n", | |
| " rainy ambiance 11\n", | |
| " snowy cinematic 11\n", | |
| " video into a Cartoon Style style 11\n", | |
| " wintry snowy 11\n", | |
| " Cartoon Animation 10\n", | |
| " aesthetic ancient 10\n", | |
| " atmospheric rainy 10\n", | |
| " authentic rainy 10\n", | |
| " dynamic Abstract Art 10\n", | |
| " dynamic Watercolor 10\n", | |
| " enchanting morning 10\n", | |
| " ethereal dawn 10\n", | |
| " immersive snowy environment 10\n", | |
| " natural afternoon 10\n", | |
| " rainy environment 10\n", | |
| " serene snowy 10\n", | |
| " traditional Chinese Ink Wash Painting 10\n", | |
| " vibrant Sunny 10\n", | |
| " video into a Steampunk Style style 10\n", | |
| " abstract animated 9\n", | |
| " cohesive 9\n", | |
| " dynamic morning 9\n", | |
| " dynamic rainy weather 9\n", | |
| " nostalgic Pixel 9\n", | |
| " radiant Sunny 9\n", | |
| " snowy environment 9\n", | |
| " sunny lighting and color palette 9\n", | |
| " video into a Gongbi Style style 9\n", | |
| " Afternoon lighting and atmospheric 8\n", | |
| " Chinese ink wash animated 8\n", | |
| " abstract-art styled 8\n", | |
| " afternoon-lit 8\n", | |
| " classic pixel art 8\n", | |
| " consistent rainy atmosphere 8\n", | |
| " cyberpunk-styled 8\n", | |
| " detailed 8\n", | |
| " dynamic 'Sunny 8\n", | |
| " dynamic Sunny 8\n", | |
| " dynamic watercolor 8\n", | |
| " immersive snowy landscape 8\n", | |
| " morning atmosphere 8\n", | |
| " morning-inspired 8\n", | |
| " retro pixel art 8\n", | |
| " tranquil 8\n", | |
| " Cubist-styled 7\n", | |
| " aesthetic of a sunlit afternoon 7\n", | |
| " afternoon lighting and color scheme 7\n", | |
| " animated Sketch 7\n", | |
| " authentic rainy atmosphere 7\n", | |
| " cinematic Blue Hour 7\n", | |
| " detailed Gongbi 7\n", | |
| " detailed line art sketch 7\n", | |
| " dynamic and expressive Sketch 7\n", | |
| " dynamic and immersive rainy 7\n", | |
| " elaborate Steampunk 7\n", | |
| " ethereal 7\n", | |
| " natural morning 7\n", | |
| " pointillism 7\n", | |
| " retro Pixel Art 7\n", | |
| " snowy weather 7\n", | |
| " sunny outdoor 7\n", | |
| " surrealist animated 7\n", | |
| " vibrant afternoon 7\n", | |
| " watercolor-styled 7\n", | |
| " 8-bit pixel 6\n", | |
| " Chinese Ink Wash styled 6\n", | |
| " Cyberpunk video 6\n", | |
| " Pixel-style 6\n", | |
| " Pointillism painting 6\n", | |
| " Thick-Paint Hand-drawn styled 6\n", | |
| " afternoon lighting and atmospheric characteristics 6\n", | |
| " cinematic snowy 6\n", | |
| " classic afternoon 6\n", | |
| " dynamic Snowy 6\n", | |
| " dynamic and expressive sketch 6\n", | |
| " dynamic rainy atmosphere 6\n", | |
| " energetic Pop Art 6\n", | |
| " fluid 6\n", | |
| " luminous Morning 6\n", | |
| " morning ambiance 6\n", | |
| " tranquil morning 6\n", | |
| " video into a Cubism style 6\n", | |
| " Blue Hour stylization 5\n", | |
| " Cyberpunk cinematic 5\n", | |
| " Oil Painting artistic 5\n", | |
| " Pixel-Style 5\n", | |
| " Pixel-art animated 5\n", | |
| " Sketch-style 5\n", | |
| " Snowy artistic 5\n", | |
| " Surrealist animated 5\n", | |
| " aesthetic of a bright 5\n", | |
| " afternoon light 5\n", | |
| " animated cartoon 5\n", | |
| " artistic sketch 5\n", | |
| " bright afternoon 5\n", | |
| " captivating snowy 5\n", | |
| " classic Oil Painting 5\n", | |
| " cohesive morning 5\n", | |
| " cohesive rainy atmosphere 5\n", | |
| " consistent cartoon 5\n", | |
| " consistent rainy weather 5\n", | |
| " dynamic Pixel 5\n", | |
| " dynamic and illustrative sketch 5\n", | |
| " dynamic and non-representational abstract 5\n", | |
| " early dawn 5\n", | |
| " immersive Rainy 5\n", | |
| " immersive snowy atmosphere 5\n", | |
| " snowy artistic 5\n", | |
| " sunlit 'Sunny 5\n", | |
| " sunny lighting 5\n", | |
| " traditional Oil Painting 5\n", | |
| " traditional oil painting 5\n", | |
| " 2D sketch 4\n", | |
| " Chinese Ink Wash Animation 4\n", | |
| " Chinese ink wash-painted 4\n", | |
| " Dawn-inspired 4\n", | |
| " Gongbi-painted 4\n", | |
| " Oil Painting Style 4\n", | |
| " Oil-Painted animated 4\n", | |
| " Pixel Animation 4\n", | |
| " Pop Art video 4\n", | |
| " Sketch Style animated 4\n", | |
| " ancient 4\n", | |
| " atmospheric 4\n", | |
| " atmospheric dawn 4\n", | |
| " classic Pixel Art 4\n", | |
| " delicate 4\n", | |
| " detailed and precise Gongbi 4\n", | |
| " dynamic and 4\n", | |
| " dynamic and immersive snowy 4\n", | |
| " dynamic yet natural snowy 4\n", | |
| " elegant Gongbi 4\n", | |
| " hand-drawn cartoon 4\n", | |
| " iconic Studio Ghibli 4\n", | |
| " lifelike snowy 4\n", | |
| " luminous Sunny 4\n", | |
| " meticulous sketch 4\n", | |
| " oil-painted animated 4\n", | |
| " photorealistic afternoon 4\n", | |
| " photorealistic snowy 4\n", | |
| " radiant 'Sunny 4\n", | |
| " realistic dawn 4\n", | |
| " realistic rainy-day 4\n", | |
| " realistic snowy environment 4\n", | |
| " richly detailed Steampunk 4\n", | |
| " seamless cartoon 4\n", | |
| " surrealist cinematic 4\n", | |
| " timeless Oil Painting 4\n", | |
| " timeless afternoon 4\n", | |
| " vibrant Watercolor 4\n", | |
| " 2D pixel 3\n", | |
| " Chinese ink wash painting-styled 3\n", | |
| " Gongbi artistic 3\n", | |
| " Oil Painted 3\n", | |
| " Pointillist artistic 3\n", | |
| " Rainy atmosphere 3\n", | |
| " Rainy cinematic 3\n", | |
| " Sketch-Style 3\n", | |
| " Snowy landscape 3\n", | |
| " Snowy video 3\n", | |
| " Sunny' lighting 3\n", | |
| " Sunny' lighting and color grading 3\n", | |
| " Thick Paint Hand-drawn 3\n", | |
| " Ukiyo-e styled 3\n", | |
| " Watercolor video 3\n", | |
| " aesthetic ancient-styled 3\n", | |
| " afternoon lighting and atmospheric quality 3\n", | |
| " artistic Watercolor 3\n", | |
| " authentic morning 3\n", | |
| " charming 3\n", | |
| " cinematic Surrealist 3\n", | |
| " cinematic morning 3\n", | |
| " cinematic sketch 3\n", | |
| " classical oil painting 3\n", | |
| " consistent morning 3\n", | |
| " detailed and vivid Gongbi 3\n", | |
| " dynamic and eye-catching Pop Art 3\n", | |
| " dynamic and graphic Pop Art 3\n", | |
| " dynamic and immersive Cyberpunk 3\n", | |
| " dynamic and immersive Rainy 3\n", | |
| " dynamic and radiant Sunny 3\n", | |
| " dynamic sunny 3\n", | |
| " enchanting watercolor 3\n", | |
| " ethereal morning 3\n", | |
| " golden afternoon 3\n", | |
| " high-fidelity sketch 3\n", | |
| " iconic Pixel Art 3\n", | |
| " immersive Cyberpunk 3\n", | |
| " late-afternoon 3\n", | |
| " meticulous and vivid Gongbi 3\n", | |
| " moody 3\n", | |
| " nostalgic Pixel Art 3\n", | |
| " professional sketch 3\n", | |
| " seamless sketch 3\n", | |
| " serene Blue Hour 3\n", | |
| " serene dawn 3\n", | |
| " snowy ambiance 3\n", | |
| " snowy atmosphere 3\n", | |
| " snowy scene 3\n", | |
| " sunny lighting and warm color palette 3\n", | |
| " sunny outdoor lighting 3\n", | |
| " timeless oil painting 3\n", | |
| " tranquil snowy 3\n", | |
| " ukiyo-e animated 3\n", | |
| " vibrant pixel 3\n", | |
| " 8-bit Pixel 2\n", | |
| " Aesthetic Ancient cinematic 2\n", | |
| " Aesthetic Ancient-style to each frame of this video 2\n", | |
| " Afternoon ambiance 2\n", | |
| " Afternoon lighting and 2\n", | |
| " Afternoon lighting and ambiance 2\n", | |
| " Blue Hour lighting 2\n", | |
| " Cubist artistic 2\n", | |
| " Impressionism artistic 2\n", | |
| " Impressionist cinematic 2\n", | |
| " Rainy Weather 2\n", | |
| " Rainy-style 2\n", | |
| " Sunny' cinematic 2\n", | |
| " Sunny' day 2\n", | |
| " Sunny' lighting and 2\n", | |
| " Surrealism-styled 2\n", | |
| " Thick Paint Hand Drawn 2\n", | |
| " Thick Paint Hand-drawn animated 2\n", | |
| " Thick-Paint Hand-Drawn Style 2\n", | |
| " Thick-paint animated 2\n", | |
| " Ukiyoe woodblock 2\n", | |
| " Watercolor Animation 2\n", | |
| " Watercolor Art 2\n", | |
| " abstract-art animated 2\n", | |
| " abstractly stylized 2\n", | |
| " aesthetic ancient-style 2\n", | |
| " aesthetic of a morning scene 2\n", | |
| " aesthetic of a sunny day 2\n", | |
| " aesthetic of a vibrant afternoon 2\n", | |
| " aesthetic of dawn 2\n", | |
| " afternoon atmosphere 2\n", | |
| " afternoon lighting and color palette to each frame of this video 2\n", | |
| " afternoon scene 2\n", | |
| " analytical Cubist 2\n", | |
| " ancient-styled 2\n", | |
| " artistic Oil Painting 2\n", | |
| " atmospheric Blue Hour 2\n", | |
| " atmospheric Rainy 2\n", | |
| " atmospheric Snowy 2\n", | |
| " authentic afternoon lighting and color palette 2\n", | |
| " authentic snowy 2\n", | |
| " bold 2\n", | |
| " bright and cheerful Sunny 2\n", | |
| " bright and sunlit Sunny 2\n", | |
| " bright and warm Sunny 2\n", | |
| " cartoon sketch 2\n", | |
| " cinematic Cyberpunk 2\n", | |
| " cinematic Surrealism 2\n", | |
| " cinematic Watercolor 2\n", | |
| " classic Gongbi 2\n", | |
| " cohesive rainy-day 2\n", | |
| " consistent afternoon 2\n", | |
| " consistent afternoon lighting and color palette 2\n", | |
| " consistent pixel 2\n", | |
| " consistent rainy-day 2\n", | |
| " dawn-inspired artistic 2\n", | |
| " detailed and vibrant Gongbi 2\n", | |
| " detailed and vibrant Gongbi painting 2\n", | |
| " distinctive Ghibli 2\n", | |
| " dynamic Impressionist 2\n", | |
| " dynamic Sketch Animation 2\n", | |
| " dynamic Thick-paint Hand-drawn 2\n", | |
| " dynamic and charming cartoon 2\n", | |
| " dynamic and fluid sketch 2\n", | |
| " dynamic and imaginative abstract 2\n", | |
| " dynamic and immersive 'Morning 2\n", | |
| " dynamic and immersive Abstract Art 2\n", | |
| " dynamic and immersive Snowy 2\n", | |
| " dynamic line art and sketch 2\n", | |
| " dynamic line art sketch 2\n", | |
| " dynamic pixel 2\n", | |
| " dynamic thick-paint hand-drawn 2\n", | |
| " dynamic yet consistent snowy 2\n", | |
| " early morning dawn 2\n", | |
| " elegant and precise Gongbi 2\n", | |
| " essence of a morning scene 2\n", | |
| " ethereal Dawn 2\n", | |
| " ethereal snowy 2\n", | |
| " evocative snowy 2\n", | |
| " illustrative sketch 2\n", | |
| " immersive 'Rainy 2\n", | |
| " immersive 'Snowy 2\n", | |
| " immersive snowy winter 2\n", | |
| " ink wash-styled 2\n", | |
| " lively cartoon 2\n", | |
| " loose 2\n", | |
| " mid-afternoon 2\n", | |
| " midday afternoon 2\n", | |
| " natural afternoon lighting and color palette 2\n", | |
| " naturalistic rainy 2\n", | |
| " naturalistic snowy 2\n", | |
| " nostalgic pixel 2\n", | |
| " opulent 2\n", | |
| " painterly Watercolor 2\n", | |
| " pixel art transformation 2\n", | |
| " precise Gongbi 2\n", | |
| " radiant afternoon 2\n", | |
| " rainy artistic 2\n", | |
| " realistic rainy video 2\n", | |
| " realistic rainy weather 2\n", | |
| " realistic snowy atmosphere 2\n", | |
| " seamless morning 2\n", | |
| " seamless rainy atmosphere 2\n", | |
| " serene and luminous 2\n", | |
| " serene morning ambiance 2\n", | |
| " sketch-style transformation 2\n", | |
| " sketched animation 2\n", | |
| " soft-morning 2\n", | |
| " sunlit cinematic 2\n", | |
| " sunny ambiance 2\n", | |
| " surrealist artistic 2\n", | |
| " surrealistically animated 2\n", | |
| " tender 2\n", | |
| " thick-paint hand-drawn style 2\n", | |
| " timeless 2\n", | |
| " timeless Ukiyoe 2\n", | |
| " timeless cartoon 2\n", | |
| " tranquil Morning 2\n", | |
| " vibrant Pop Art 2\n", | |
| " vibrant and nostalgic Pixel 2\n", | |
| " vibrant and sunlit Sunny 2\n", | |
| " vintage pixel 2\n", | |
| " 2D Cartoon 1\n", | |
| " 2D animated sketch 1\n", | |
| " 2D line-art sketch 1\n", | |
| " 2D pixel art 1\n", | |
| " 8-bit Pixel Art 1\n", | |
| " 8-bit or 16-bit pixel 1\n", | |
| " 8-bit or retro pixel 1\n", | |
| " Abstract 1\n", | |
| " Abstract Art video 1\n", | |
| " Abstract Art-infused 1\n", | |
| " Abstract Art-inspired 1\n", | |
| " Abstract Expressionist 1\n", | |
| " Aesthetic Ancient artistic 1\n", | |
| " Aesthetic Ancient-style frame-by-frame 1\n", | |
| " Afternoon golden-hour 1\n", | |
| " Afternoon light and atmosphere 1\n", | |
| " Afternoon lighting and atmospheric conditions 1\n", | |
| " Afternoon lighting and color grading to each frame of this video 1\n", | |
| " Ancient 1\n", | |
| " Blue Hour cinematographic 1\n", | |
| " Blue Hour lighting and color palette 1\n", | |
| " Cartoon-Style 1\n", | |
| " Cartoon-Styled 1\n", | |
| " Chinese Ink Wash Animated Video back to a live-action, photorealistic format. Methodically strip away the ink wash animation style, restoring real-world textures, natural lighting, and lifelike details in every frame. It is critical that the temporal continuity, motion sequences, and all narrative elements remain identical to the original 1\n", | |
| " Chinese Ink Wash Animated Video back to a live-action, photorealistic format. Meticulously strip away the animated ink wash elements—including stylized brushwork, monochromatic tints, and painterly effects—restoring real-world textures, natural lighting, and crisp details. Ensure that every frame retains the original temporal flow, motion sequences, and narrative rhythm, avoiding any flickering or jarring shifts in visual consistency that would disrupt the 1\n", | |
| " Chinese Ink Wash Animated Video back to a live-action, photorealistic format. Systematically remove the ink wash effects and animated style elements, restoring real-world textures, lighting, and color palettes to each frame. The temporal flow, motion, and all narrative elements must remain completely unchanged, ensuring the final 1\n", | |
| " Chinese Ink Wash Animated Video back to a live-action, photorealistic format. Systematically strip away the ink wash animations, restoring real-world textures, lighting, and color palettes in every frame. The temporal continuity, motion dynamics, and all narrative elements must remain unaltered to ensure the 1\n", | |
| " Chinese Ink Wash Painting (Sumi-e) 1\n", | |
| " Chinese Ink Wash Video back to a live-action, photorealistic format. Gradually strip away the ink wash style across all frames, restoring natural textures, accurate lighting, and lifelike colors. It is critical to maintain the temporal flow, motion, and all narrative elements exactly as they were in the original 1\n", | |
| " Cubist video 1\n", | |
| " Cyberpunk stylization 1\n", | |
| " Gongbi-inspired 1\n", | |
| " Gongbi-style 1\n", | |
| " Impressionist art movement 1\n", | |
| " Impressionist artistic approach 1\n", | |
| " Impressionist film 1\n", | |
| " Impressionist motion picture 1\n", | |
| " Impressionistic 1\n", | |
| " Ink Wash 1\n", | |
| " Oil Painting cinematic 1\n", | |
| " Oil Painting video 1\n", | |
| " Pointillist animated 1\n", | |
| " Pointillist painting 1\n", | |
| " Rainy Day 1\n", | |
| " Rainy video 1\n", | |
| " Snowy Environment 1\n", | |
| " Snowy atmospheric 1\n", | |
| " Snowy weather 1\n", | |
| " Snowy' artistic 1\n", | |
| " Snowy' environment 1\n", | |
| " Snowy' scene 1\n", | |
| " Steampunk film 1\n", | |
| " Sunny day 1\n", | |
| " Sunny lighting and color palette 1\n", | |
| " Sunny' stylistic treatment 1\n", | |
| " Surreal-styled 1\n", | |
| " Surrealistically animated 1\n", | |
| " Surrealistically styled 1\n", | |
| " Thick Paint Hand-Drawn 1\n", | |
| " Thick Paint Hand-Drawn animated 1\n", | |
| " Ukiyo-e-styled 1\n", | |
| " Ukiyoe animated 1\n", | |
| " Ukiyoe-aesthetic 1\n", | |
| " Victorian-inspired Steampunk 1\n", | |
| " Watercolor artistic 1\n", | |
| " Watercolor artistry 1\n", | |
| " abstract-art 1\n", | |
| " aesthetic 1\n", | |
| " aesthetic of a bright afternoon 1\n", | |
| " aesthetic of a calm morning 1\n", | |
| " aesthetic of a natural afternoon setting 1\n", | |
| " aesthetic of a snowy landscape 1\n", | |
| " aesthetic of a tranquil morning 1\n", | |
| " aesthetic of a vivid afternoon 1\n", | |
| " aesthetic of rainy weather 1\n", | |
| " afternoon golden hour 1\n", | |
| " afternoon light and ambiance 1\n", | |
| " afternoon lighting and color characteristics 1\n", | |
| " afternoon lighting and environmental conditions 1\n", | |
| " afternoon lighting and tonal 1\n", | |
| " afternoon setting 1\n", | |
| " afternoon time-of-day 1\n", | |
| " afternoon-inspired 1\n", | |
| " afternoon-style 1\n", | |
| " analytical and fragmented Cubist 1\n", | |
| " animated Gongbi 1\n", | |
| " animated Gongbi painting 1\n", | |
| " animated Pointillism 1\n", | |
| " animated Ukiyoe 1\n", | |
| " anime-inspired Cartoon 1\n", | |
| " artful Oil Painting 1\n", | |
| " artistic 1\n", | |
| " artistic Ukiyo-e 1\n", | |
| " atmospheric and luminous qualities of dawn 1\n", | |
| " atmospheric essence of dawn 1\n", | |
| " atmospheric morning 1\n", | |
| " atmospheric qualities of dawn 1\n", | |
| " authentic Gongbi 1\n", | |
| " authentic afternoon ambiance 1\n", | |
| " authentic afternoon lighting and atmospheric 1\n", | |
| " authentic rainy ambiance 1\n", | |
| " authentic rainy-day 1\n", | |
| " authentic snowy atmosphere 1\n", | |
| " authentic sunny 1\n", | |
| " bold Cubist 1\n", | |
| " bold and non-representational Abstract Art 1\n", | |
| " bright afternoon lighting 1\n", | |
| " bright and luminous Sunny 1\n", | |
| " bright and sunlit 'Sunny 1\n", | |
| " bright and sunny 1\n", | |
| " bright and vivid Sunny 1\n", | |
| " captivating Snowy 1\n", | |
| " cartoonish rendering 1\n", | |
| " characteristic afternoon lighting 1\n", | |
| " characteristic afternoon lighting—warm 1\n", | |
| " characteristics of abstract art 1\n", | |
| " charming cartoon 1\n", | |
| " cinematic 1\n", | |
| " cinematic Cartoon 1\n", | |
| " cinematic Impressionist 1\n", | |
| " cinematic Pop Art 1\n", | |
| " cinematic Sketch 1\n", | |
| " cinematic rainy 1\n", | |
| " classic 2D cartoon 1\n", | |
| " classic Chinese Ink Wash Painting 1\n", | |
| " classic Impressionist 1\n", | |
| " classic Sketch 1\n", | |
| " classic Steampunk 1\n", | |
| " classic Ukiyoe 1\n", | |
| " classic Ukiyoe woodblock 1\n", | |
| " classic Watercolor 1\n", | |
| " classic watercolor 1\n", | |
| " clean 1\n", | |
| " cohesive Snowy 1\n", | |
| " cohesive cartoon 1\n", | |
| " cohesive rainy day 1\n", | |
| " cohesive rainy weather 1\n", | |
| " cohesive sketch 1\n", | |
| " cohesive snowy artistic 1\n", | |
| " cold 1\n", | |
| " consistent 'Snowy 1\n", | |
| " consistent Cartoon 1\n", | |
| " consistent Rainy 1\n", | |
| " consistent Snowy 1\n", | |
| " consistent sketch-style 1\n", | |
| " consistent snowy winter 1\n", | |
| " consistent sunlit 1\n", | |
| " consistent sunny ambiance to every frame of this video 1\n", | |
| " dawn atmosphere 1\n", | |
| " dawn lighting and color palette 1\n", | |
| " dawn-style 1\n", | |
| " detailed Oil Painting 1\n", | |
| " detailed and deliberate Gongbi 1\n", | |
| " detailed and dynamic Gongbi 1\n", | |
| " detailed and industrial Steampunk 1\n", | |
| " detailed and meticulous Gongbi 1\n", | |
| " detailed and precise Gongbi painting 1\n", | |
| " distinct 1\n", | |
| " dreamlike 1\n", | |
| " dreamlike and irrational Surrealist 1\n", | |
| " dreamy 1\n", | |
| " dreamy watercolor 1\n", | |
| " dynamic 'Rainy 1\n", | |
| " dynamic 'Snowy 1\n", | |
| " dynamic 2D sketch 1\n", | |
| " dynamic 2D/3D cartoon 1\n", | |
| " dynamic Chinese Ink Wash Painting 1\n", | |
| " dynamic Morning 1\n", | |
| " dynamic Pixel Animation 1\n", | |
| " dynamic Pixel Art 1\n", | |
| " dynamic Pop Art video 1\n", | |
| " dynamic Rainy Weather 1\n", | |
| " dynamic Ukiyoe 1\n", | |
| " dynamic Ukiyoe-inspired 1\n", | |
| " dynamic and atmospheric 1\n", | |
| " dynamic and atmospheric Chinese Ink Wash Painting 1\n", | |
| " dynamic and atmospheric Rainy 1\n", | |
| " dynamic and authentic rainy atmosphere 1\n", | |
| " dynamic and cheerful Sunny 1\n", | |
| " dynamic and detailed Sketch 1\n", | |
| " dynamic and experimental 1\n", | |
| " dynamic and expressive Cartoon 1\n", | |
| " dynamic and expressive language of abstract art 1\n", | |
| " dynamic and fluid Sketch 1\n", | |
| " dynamic and fluid abstract 1\n", | |
| " dynamic and fragmented 1\n", | |
| " dynamic and fragmented Cubist 1\n", | |
| " dynamic and free-form abstract 1\n", | |
| " dynamic and futuristic Cyberpunk 1\n", | |
| " dynamic and geometric 1\n", | |
| " dynamic and gritty Cyberpunk 1\n", | |
| " dynamic and hand-drawn 1\n", | |
| " dynamic and high-contrast Cyberpunk 1\n", | |
| " dynamic and iconic Pop Art 1\n", | |
| " dynamic and imaginative Abstract Art 1\n", | |
| " dynamic and immersive 'Rainy 1\n", | |
| " dynamic and immersive Gongbi 1\n", | |
| " dynamic and immersive Watercolor 1\n", | |
| " dynamic and immersive snowy environment 1\n", | |
| " dynamic and immersive snowy landscape 1\n", | |
| " dynamic and innovative Cubist 1\n", | |
| " dynamic and innovative abstract 1\n", | |
| " dynamic and interpretive 1\n", | |
| " dynamic and interpretive abstract 1\n", | |
| " dynamic and luminous 'Sunny 1\n", | |
| " dynamic and luminous qualities of a sunny day 1\n", | |
| " dynamic and neon-drenched Cyberpunk 1\n", | |
| " dynamic and non-representational language of abstract art 1\n", | |
| " dynamic and playful Cartoon 1\n", | |
| " dynamic and radiant 'Sunny 1\n", | |
| " dynamic and sketch-inspired 1\n", | |
| " dynamic and tactile Oil Painting 1\n", | |
| " dynamic and tactile sketch 1\n", | |
| " dynamic and unconventional 1\n", | |
| " dynamic and unconventional abstract 1\n", | |
| " dynamic and uplifting Sunny 1\n", | |
| " dynamic and visionary abstract 1\n", | |
| " dynamic and vivid Pop Art 1\n", | |
| " dynamic and vivid Sunny 1\n", | |
| " dynamic brushstroke and ink wash 1\n", | |
| " dynamic brushwork and atmospheric color blending of Impressionist paintings 1\n", | |
| " dynamic language of abstract art 1\n", | |
| " dynamic lighting and atmospheric qualities of dawn 1\n", | |
| " dynamic line art and sketch-style shading 1\n", | |
| " dynamic morning transformation 1\n", | |
| " dynamic rainy ambiance 1\n", | |
| " dynamic rainy video 1\n", | |
| " dynamic rainy-day 1\n", | |
| " dynamic sketch-style transformation 1\n", | |
| " dynamic yet cohesive snowy 1\n", | |
| " dynamic yet seamless rainy 1\n", | |
| " dynamic yet serene Chinese Ink Wash 1\n", | |
| " dynamic yet serene Chinese Ink Wash Painting 1\n", | |
| " dynamic yet tender watercolor 1\n", | |
| " dynamic yet tranquil snowy 1\n", | |
| " dystopian Cyberpunk 1\n", | |
| " elegant and meticulous Gongbi 1\n", | |
| " enchanting 'Morning 1\n", | |
| " enchanting Morning 1\n", | |
| " enchanting dawn 1\n", | |
| " enchanting snowy winter 1\n", | |
| " energetic 'Sunny 1\n", | |
| " essence of Chinese Ink Wash Painting 1\n", | |
| " essence of Chinese Ink Wash Painting to each frame of this video 1\n", | |
| " ethereal Morning 1\n", | |
| " ethereal Snowy 1\n", | |
| " ethereal qualities of dawn 1\n", | |
| " ethereal watercolor 1\n", | |
| " experimental Cubist 1\n", | |
| " expressive and unconventional 1\n", | |
| " fluid 2D cartoon 1\n", | |
| " fluid and dreamy Watercolor 1\n", | |
| " fragmented and geometric 1\n", | |
| " frame-by-frame sketch 1\n", | |
| " gentle morning 1\n", | |
| " geometric abstraction and fragmented forms of Cubism 1\n", | |
| " geometric and fragmented 1\n", | |
| " golden hour 1\n", | |
| " golden hour/sunlit 1\n", | |
| " golden-hour sunny 1\n", | |
| " gradual 1\n", | |
| " grand 1\n", | |
| " graphic 1\n", | |
| " hand-drawn Sketch 1\n", | |
| " hand-drawn pixel 1\n", | |
| " highly realistic rainy 1\n", | |
| " iconic Cubist 1\n", | |
| " iconic Cyberpunk 1\n", | |
| " iconic pixel art 1\n", | |
| " immersive Aesthetic Ancient 1\n", | |
| " immersive rainy scene 1\n", | |
| " immersive snowy ambiance 1\n", | |
| " immersive snowy scene 1\n", | |
| " immersive watercolor 1\n", | |
| " ink-painted 1\n", | |
| " ink-wash 1\n", | |
| " ink-wash-styled 1\n", | |
| " intricate and detailed Gongbi 1\n", | |
| " intricate and meticulously detailed Gongbi 1\n", | |
| " intricate and retro-futuristic Steampunk 1\n", | |
| " intricate sketch 1\n", | |
| " lifelike morning 1\n", | |
| " luminous and atmospheric 1\n", | |
| " luminous and tranquil 1\n", | |
| " luminous and tranquil dawn 1\n", | |
| " luminous dawn 1\n", | |
| " magical snowy 1\n", | |
| " meticulous and vibrant Gongbi 1\n", | |
| " meticulous line art and shading 1\n", | |
| " meticulously crafted snowy 1\n", | |
| " morning lighting and 1\n", | |
| " morning lighting and atmospheric 1\n", | |
| " morning lighting and color palette 1\n", | |
| " morning scene 1\n", | |
| " natural afternoon lighting 1\n", | |
| " natural afternoon lighting and atmospheric qualities 1\n", | |
| " natural morning atmosphere 1\n", | |
| " oil 1\n", | |
| " oil painting stylization 1\n", | |
| " opulent oil painting 1\n", | |
| " painterly 1\n", | |
| " painterly Impressionist 1\n", | |
| " painterly Watercolor illustration 1\n", | |
| " painterly oil 1\n", | |
| " photorealistic dawn 1\n", | |
| " pointillist-styled 1\n", | |
| " precise 1\n", | |
| " precise Gongbi painting 1\n", | |
| " precise and detailed Gongbi 1\n", | |
| " precise and elaborate Gongbi 1\n", | |
| " precise and vivid Gongbi 1\n", | |
| " radiant 'Sunny' day 1\n", | |
| " radiant Sunny day 1\n", | |
| " radiant and warm 1\n", | |
| " radiant morning 1\n", | |
| " radiant sunny 1\n", | |
| " rainy atmosphere to the video 1\n", | |
| " rainy video 1\n", | |
| " realistic Rainy 1\n", | |
| " realistic morning ambiance 1\n", | |
| " realistic morning atmosphere 1\n", | |
| " realistic morning progression 1\n", | |
| " realistic morning transformation 1\n", | |
| " realistic rainy ambiance 1\n", | |
| " realistic rainy day 1\n", | |
| " realistic rainy scene 1\n", | |
| " realistic snowy ambiance 1\n", | |
| " realistic snowy overlay 1\n", | |
| " retro 1\n", | |
| " retro 8-bit or 16-bit pixel 1\n", | |
| " retro Pixel Animation 1\n", | |
| " retro-futuristic Pixel Art 1\n", | |
| " revolutionary Cubist 1\n", | |
| " seamless rainy environment 1\n", | |
| " seamless rainy transformation 1\n", | |
| " seamless rainy weather 1\n", | |
| " serene and atmospheric Snowy 1\n", | |
| " serene and luminous morning 1\n", | |
| " serene and luminous qualities of a morning scene 1\n", | |
| " serene and radiant morning 1\n", | |
| " serene and wintry snowy 1\n", | |
| " serene snowy atmosphere 1\n", | |
| " serene snowy landscape 1\n", | |
| " serene snowy scene 1\n", | |
| " serene snowy winter 1\n", | |
| " sketch-style artistic treatment 1\n", | |
| " sketch-style rendering 1\n", | |
| " sketched animated 1\n", | |
| " smooth Pixel 1\n", | |
| " snowy environmental 1\n", | |
| " snowy stylization 1\n", | |
| " snowy video 1\n", | |
| " snowy winter landscape 1\n", | |
| " soft golden-hour 1\n", | |
| " soft morning 1\n", | |
| " striking Cyberpunk 1\n", | |
| " studio-quality cartoon 1\n", | |
| " studio-quality sketch 1\n", | |
| " stylized morning 1\n", | |
| " sun-drenched Afternoon 1\n", | |
| " sunlit afternoon 1\n", | |
| " sunlit golden hour 1\n", | |
| " sunny illumination 1\n", | |
| " sunny lighting and ambiance 1\n", | |
| " sunny lighting and color 1\n", | |
| " sunny lighting and warm 1\n", | |
| " surreal-styled 1\n", | |
| " surrealistically styled 1\n", | |
| " thick-paint hand-drawn artistic 1\n", | |
| " thick-paint hand-drawn-styled 1\n", | |
| " timeless Pixel Art 1\n", | |
| " timeless Ukiyoe artistic 1\n", | |
| " timeless sketch 1\n", | |
| " traditional Chinese Ink Wash 1\n", | |
| " traditional Chinese ink wash painting 1\n", | |
| " traditional Sketch Animation 1\n", | |
| " traditional Ukiyoe woodblock print 1\n", | |
| " traditional Watercolor painting 1\n", | |
| " traditional hand-drawn sketch 1\n", | |
| " tranquil ambiance of early morning dawn 1\n", | |
| " tranquil and radiant morning 1\n", | |
| " vibrant Afternoon 1\n", | |
| " vibrant Cartoon 1\n", | |
| " vibrant Pixel 1\n", | |
| " vibrant Sketch 1\n", | |
| " vibrant and immersive Ghibli 1\n", | |
| " vibrant and immersive Watercolor 1\n", | |
| " vibrant and luminous Sunny 1\n", | |
| " vibrant and painterly Watercolor 1\n", | |
| " vibrant and whimsical Watercolor 1\n", | |
| " vintage pixel art 1\n", | |
| " visual language of Ukiyoe 1\n", | |
| " visually captivating snowy 1\n", | |
| " visually immersive snowy 1\n", | |
| " visually striking Surrealist 1\n", | |
| " vivid Steampunk 1\n", | |
| " vivid Sunny 1\n", | |
| " vivid afternoon 1\n", | |
| " vivid and gritty Cyberpunk 1\n", | |
| " warm and radiant Morning 1\n", | |
| " warm and soft Dawn 1\n", | |
| " watercolor artistic 1\n", | |
| " whimsical yet realistic snowy 1\n", | |
| " winter wonderland 1\n", | |
| " wintery Snowy 1\n", | |
| " wintry Snowy 1\n", | |
| "\n", | |
| "=== Time Of Day — 5 styles, 27,599 total samples ===\n", | |
| " Style Count\n", | |
| " ------------------------------ --------\n", | |
| " Blue Hour 9,054\n", | |
| " Dawn 8,034\n", | |
| " Afternoon 5,387\n", | |
| " Morning 5,109\n", | |
| " Golden Hour 15\n", | |
| "\n", | |
| "=== Weather — 3 styles, 11,575 total samples ===\n", | |
| " Style Count\n", | |
| " ------------------------------ --------\n", | |
| " Sunny 6,337\n", | |
| " Snowy 4,975\n", | |
| " Rainy 263\n", | |
| "\n", | |
| "Total rows: 394,608 | Unrecognized: 1,755\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "import re\n", | |
| "import pandas as pd\n", | |
| "\n", | |
| "CSV_PATH = \"/mnt/data/xinyuy/datasets/OpenVE-3M/csv_files/global_style.csv\"\n", | |
| "gs_full = filtered.copy() # Use the filtered DataFrame from earlier steps\n", | |
| "\n", | |
| "\n", | |
| "# ── Extract style from both prompt directions ─────────────────────────────────\n", | |
| "_STOP = r'(?:\\s+(?:aesthetic|animation style|animation|style|Style|visual style|visual|look|filter|effect|technique|art style|principles|to this)|\\s*,|\\s*\\.)'\n", | |
| "\n", | |
| "def extract_style(prompt):\n", | |
| " # Forward: \"Apply the X style/aesthetic to this video...\"\n", | |
| " m = re.search(r'Apply (?:the |a |an )(.+?)' + _STOP, prompt)\n", | |
| " if m:\n", | |
| " return m.group(1).strip().strip(\"'\\\"\")\n", | |
| " m2 = re.search(r'Apply (?:the |a |an )((?:\\S+ ?){1,4})', prompt)\n", | |
| " if m2:\n", | |
| " return m2.group(1).strip().strip(\"'\\\"\")\n", | |
| " # Reverse: \"Convert this X-animated / X-style video back to...\"\n", | |
| " m3 = re.search(r'Convert this (.+?)(?:-animated|-style\\b| video\\b)', prompt)\n", | |
| " if m3:\n", | |
| " return m3.group(1).strip().strip(\"'\\\"\")\n", | |
| " return None\n", | |
| "\n", | |
| "gs_full['style_raw'] = gs_full['prompt'].apply(extract_style)\n", | |
| "\n", | |
| "# ── Normalize to canonical names ──────────────────────────────────────────────\n", | |
| "_NORMALIZE = {\n", | |
| " 'dynamic': 'Abstract Art',\n", | |
| " 'principles of abstract art': 'Abstract Art',\n", | |
| " 'Aesthetic Ancient-style': 'Ancient Style',\n", | |
| " 'iconic Ghibli': 'Ghibli',\n", | |
| " 'Studio Ghibli': 'Ghibli',\n", | |
| " 'traditional Gongbi painting':'Gongbi',\n", | |
| " 'sketch': 'Sketch',\n", | |
| " 'Pointillism': 'Pointillist',\n", | |
| " 'Thick-paint Hand-drawn': 'Thick-Paint Hand-Drawn',\n", | |
| " 'pixel': 'Pixel',\n", | |
| " 'retro pixel': 'Pixel',\n", | |
| " 'oil painting': 'Oil Painting',\n", | |
| " 'Chinese Ink Wash': 'Chinese Ink Wash Painting',\n", | |
| " 'snowy': 'Snowy',\n", | |
| " 'immersive snowy': 'Snowy',\n", | |
| " 'immersive Snowy': 'Snowy',\n", | |
| " 'enchanting': 'Snowy',\n", | |
| " 'seamless rainy': 'Rainy',\n", | |
| " 'sunny': 'Sunny',\n", | |
| " \"'Sunny'\": 'Sunny',\n", | |
| " 'dawn': 'Dawn',\n", | |
| " 'soft': 'Dawn',\n", | |
| " 'morning': 'Morning',\n", | |
| " 'afternoon': 'Afternoon',\n", | |
| " 'golden-hour': 'Golden Hour',\n", | |
| " 'blue hour': 'Blue Hour',\n", | |
| "}\n", | |
| "\n", | |
| "gs_full['style'] = gs_full['style_raw'].apply(lambda r: _NORMALIZE.get(r, r) if r else None)\n", | |
| "\n", | |
| "# ── Assign group ──────────────────────────────────────────────────────────────\n", | |
| "WEATHER = {'Sunny', 'Rainy', 'Snowy'}\n", | |
| "TIME_OF_DAY = {'Dawn', 'Morning', 'Afternoon', 'Blue Hour', 'Golden Hour'}\n", | |
| "\n", | |
| "def assign_group(s):\n", | |
| " if s in WEATHER: return 'weather'\n", | |
| " if s in TIME_OF_DAY: return 'time_of_day'\n", | |
| " return 'common_style'\n", | |
| "\n", | |
| "gs_full['group'] = gs_full['style'].apply(assign_group)\n", | |
| "\n", | |
| "# ── Count samples per style ───────────────────────────────────────────────────\n", | |
| "counts = (\n", | |
| " gs_full.groupby(['group', 'style'])\n", | |
| " .size()\n", | |
| " .reset_index(name='count')\n", | |
| " .sort_values(['group', 'count'], ascending=[True, False])\n", | |
| ")\n", | |
| "\n", | |
| "for grp in ['common_style', 'time_of_day', 'weather']:\n", | |
| " sub = counts[counts['group'] == grp]\n", | |
| " label = grp.replace('_', ' ').title()\n", | |
| " total = sub['count'].sum()\n", | |
| " print(f\"\\n=== {label} — {len(sub)} styles, {total:,} total samples ===\")\n", | |
| " print(f\" {'Style':<30} {'Count':>8}\")\n", | |
| " print(f\" {'-'*30} {'-'*8}\")\n", | |
| " for _, row in sub.iterrows():\n", | |
| " print(f\" {row['style']:<30} {row['count']:>8,}\")\n", | |
| "\n", | |
| "print(f\"\\nTotal rows: {len(gs_full):,} | Unrecognized: {gs_full['style'].isna().sum():,}\")\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "id": "f39002e4", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": "import re\nimport pandas as pd\n\ngs_full = filtered.copy() # Use the filtered DataFrame from earlier steps\n\nCANONICAL_19 = {\n 'Abstract Art', 'Ancient Style', 'Cartoon', 'Chinese Ink Wash Painting',\n 'Cubist', 'Cyberpunk', 'Ghibli', 'Gongbi', 'Impressionist', 'Oil Painting',\n 'Pixel Art', 'Pointillist', 'Pop Art', 'Sketch', 'Steampunk', 'Surrealist',\n 'Thick-Paint Hand-Drawn', 'Ukiyoe', 'Watercolor',\n}\n\n_STOP = r'(?:\\s+(?:aesthetic|animation style|animation|style|Style|visual style|visual|look|filter|effect|technique|art style|principles|to this)|\\s*,|\\s*\\.)'\n\ndef extract_style(prompt):\n m = re.search(r'Apply (?:the |a |an )(.+?)' + _STOP, prompt)\n if m:\n return m.group(1).strip().strip(\"'\\\"\")\n m2 = re.search(r'Apply (?:the |a |an )((?:\\S+ ?){1,4})', prompt)\n if m2:\n return m2.group(1).strip().strip(\"'\\\"\")\n m3 = re.search(r'Convert this (.+?)(?:-animated|-style\\b| video\\b)', prompt)\n if m3:\n return m3.group(1).strip().strip(\"'\\\"\")\n return None\n\n_NORMALIZE = {\n 'dynamic': 'Abstract Art',\n 'principles of abstract art': 'Abstract Art',\n 'Aesthetic Ancient-style': 'Ancient Style',\n 'iconic Ghibli': 'Ghibli',\n 'Studio Ghibli': 'Ghibli',\n 'traditional Gongbi painting': 'Gongbi',\n 'sketch': 'Sketch',\n 'Pointillism': 'Pointillist',\n 'Thick-paint Hand-drawn': 'Thick-Paint Hand-Drawn',\n 'pixel': 'Pixel Art',\n 'retro pixel': 'Pixel Art',\n 'Pixel': 'Pixel Art',\n 'oil painting': 'Oil Painting',\n 'Chinese Ink Wash': 'Chinese Ink Wash Painting',\n}\n\ngs_full['style_raw'] = gs_full['prompt'].apply(extract_style)\ngs_full['style'] = gs_full['style_raw'].apply(lambda r: _NORMALIZE.get(r, r) if r else None)\n\n# Keep only forward \"Apply\" rows belonging to the 19 canonical common styles\ngs_common = gs_full[\n gs_full['style'].isin(CANONICAL_19) &\n gs_full['prompt'].str.startswith('Apply')\n]\n\ncounts = (\n gs_common.groupby('style')\n .size()\n .reset_index(name='count')\n .sort_values('count', ascending=False)\n .reset_index(drop=True)\n)\n\nprint(f\"Total samples across 19 common styles: {counts['count'].sum():,}\\n\")\nprint(f\"{'#':<4} {'Style':<30} {'Count':>8}\")\nprint(f\"{'-'*4} {'-'*30} {'-'*8}\")\nfor i, row in counts.iterrows():\n print(f\"{i+1:<4} {row['style']:<30} {row['count']:>8,}\")\n" | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "id": "a4682599", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Total selected: 5,700 rows across 19 styles\n", | |
| "\n", | |
| "Style Count\n", | |
| "------------------------------ ------\n", | |
| "Abstract Art 300\n", | |
| "Ancient Style 300\n", | |
| "Cartoon 300\n", | |
| "Chinese Ink Wash Painting 300\n", | |
| "Cubist 300\n", | |
| "Cyberpunk 300\n", | |
| "Ghibli 300\n", | |
| "Gongbi 300\n", | |
| "Impressionist 300\n", | |
| "Oil Painting 300\n", | |
| "Pixel Art 300\n", | |
| "Pointillist 300\n", | |
| "Pop Art 300\n", | |
| "Sketch 300\n", | |
| "Steampunk 300\n", | |
| "Surrealist 300\n", | |
| "Thick-Paint Hand-Drawn 300\n", | |
| "Ukiyoe 300\n", | |
| "Watercolor 300\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>video</th>\n", | |
| " <th>prompt</th>\n", | |
| " <th>original_video</th>\n", | |
| " <th>style</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>global_style/8354af4891886eea085457db98fd317b.mp4</td>\n", | |
| " <td>Apply the Abstract Art style to this video, en...</td>\n", | |
| " <td>global_style/36cd98124521acf09ba57176a1e85304.mp4</td>\n", | |
| " <td>Abstract Art</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>global_style/2080460ad59fb6ec789e455d788fb207.mp4</td>\n", | |
| " <td>Convert this Abstract Art-animated video back ...</td>\n", | |
| " <td>global_style/dacbbb8491a330022d506c4aa8846ed9.mp4</td>\n", | |
| " <td>Abstract Art</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>global_style/9387b1b8c25adebcc97e0ceaafe03929.mp4</td>\n", | |
| " <td>Apply the Abstract Art style to this video, en...</td>\n", | |
| " <td>global_style/c97c87d8fda13db6351e942eaff71bae.mp4</td>\n", | |
| " <td>Abstract Art</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>global_style/0184a61f173859df0b8cc96a938fdf05.mp4</td>\n", | |
| " <td>Apply the Abstract Art style to this video, en...</td>\n", | |
| " <td>global_style/e314f2590d6eccb9f9b5e61eff9983e1.mp4</td>\n", | |
| " <td>Abstract Art</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>global_style/0ac80386b96eb2dcf2b9aaa83c61d465.mp4</td>\n", | |
| " <td>Apply a dynamic, realistic rainy effect to thi...</td>\n", | |
| " <td>global_style/eb2ea99b28e17c0a6683044befcda135.mp4</td>\n", | |
| " <td>Abstract Art</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " video \\\n", | |
| "0 global_style/8354af4891886eea085457db98fd317b.mp4 \n", | |
| "1 global_style/2080460ad59fb6ec789e455d788fb207.mp4 \n", | |
| "2 global_style/9387b1b8c25adebcc97e0ceaafe03929.mp4 \n", | |
| "3 global_style/0184a61f173859df0b8cc96a938fdf05.mp4 \n", | |
| "4 global_style/0ac80386b96eb2dcf2b9aaa83c61d465.mp4 \n", | |
| "\n", | |
| " prompt \\\n", | |
| "0 Apply the Abstract Art style to this video, en... \n", | |
| "1 Convert this Abstract Art-animated video back ... \n", | |
| "2 Apply the Abstract Art style to this video, en... \n", | |
| "3 Apply the Abstract Art style to this video, en... \n", | |
| "4 Apply a dynamic, realistic rainy effect to thi... \n", | |
| "\n", | |
| " original_video style \n", | |
| "0 global_style/36cd98124521acf09ba57176a1e85304.mp4 Abstract Art \n", | |
| "1 global_style/dacbbb8491a330022d506c4aa8846ed9.mp4 Abstract Art \n", | |
| "2 global_style/c97c87d8fda13db6351e942eaff71bae.mp4 Abstract Art \n", | |
| "3 global_style/e314f2590d6eccb9f9b5e61eff9983e1.mp4 Abstract Art \n", | |
| "4 global_style/eb2ea99b28e17c0a6683044befcda135.mp4 Abstract Art " | |
| ] | |
| }, | |
| "execution_count": 8, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "SAMPLES_PER_STYLE = 300\n", | |
| "\n", | |
| "used_originals = set()\n", | |
| "selected = []\n", | |
| "\n", | |
| "# Shuffle style order so no single style has a systematic advantage\n", | |
| "styles_shuffled = sorted(CANONICAL_19) # deterministic order; shuffle below\n", | |
| "rng = pd.Series(styles_shuffled).sample(frac=1, random_state=42).tolist()\n", | |
| "\n", | |
| "for style in rng:\n", | |
| " style_df = gs_common[gs_common['style'] == style].copy()\n", | |
| " # Exclude rows whose original_video is already claimed by another style\n", | |
| " available = style_df[~style_df['original_video'].isin(used_originals)]\n", | |
| " \n", | |
| " if len(available) < SAMPLES_PER_STYLE:\n", | |
| " print(f\"WARNING: {style!r} only has {len(available)} non-overlapping rows (need {SAMPLES_PER_STYLE})\")\n", | |
| " sampled = available.sample(frac=1, random_state=42)\n", | |
| " else:\n", | |
| " sampled = available.sample(n=SAMPLES_PER_STYLE, random_state=42)\n", | |
| " \n", | |
| " used_originals.update(sampled['original_video'].tolist())\n", | |
| " selected.append(sampled)\n", | |
| "\n", | |
| "final_df = pd.concat(selected).reset_index(drop=True)\n", | |
| "\n", | |
| "# Verify no original_video appears in more than one style group\n", | |
| "assert final_df.groupby('original_video')['style'].nunique().max() == 1, \"overlap detected!\"\n", | |
| "\n", | |
| "print(f\"Total selected: {len(final_df):,} rows across {final_df['style'].nunique()} styles\\n\")\n", | |
| "print(f\"{'Style':<30} {'Count':>6}\")\n", | |
| "print(f\"{'-'*30} {'-'*6}\")\n", | |
| "for style, grp in final_df.groupby('style'):\n", | |
| " print(f\"{style:<30} {len(grp):>6}\")\n", | |
| "\n", | |
| "final_df[['video', 'prompt', 'original_video', 'style']].head()\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "id": "46732185", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Done. Copied: 11400 | Missing: 0\n", | |
| "Manifest saved to /home/xinyuy/dataset_processing/OpenVE-3M/Style-Tranfer/manifest.csv\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>style</th>\n", | |
| " <th>index</th>\n", | |
| " <th>renamed_video</th>\n", | |
| " <th>renamed_org</th>\n", | |
| " <th>original_video</th>\n", | |
| " <th>original_org</th>\n", | |
| " <th>prompt</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>Abstract Art</td>\n", | |
| " <td>0</td>\n", | |
| " <td>abstract_000.mp4</td>\n", | |
| " <td>abstract_000_org.mp4</td>\n", | |
| " <td>global_style/8354af4891886eea085457db98fd317b.mp4</td>\n", | |
| " <td>global_style/36cd98124521acf09ba57176a1e85304.mp4</td>\n", | |
| " <td>Apply the Abstract Art style to this video, en...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>Abstract Art</td>\n", | |
| " <td>1</td>\n", | |
| " <td>abstract_001.mp4</td>\n", | |
| " <td>abstract_001_org.mp4</td>\n", | |
| " <td>global_style/2080460ad59fb6ec789e455d788fb207.mp4</td>\n", | |
| " <td>global_style/dacbbb8491a330022d506c4aa8846ed9.mp4</td>\n", | |
| " <td>Convert this Abstract Art-animated video back ...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>Abstract Art</td>\n", | |
| " <td>2</td>\n", | |
| " <td>abstract_002.mp4</td>\n", | |
| " <td>abstract_002_org.mp4</td>\n", | |
| " <td>global_style/9387b1b8c25adebcc97e0ceaafe03929.mp4</td>\n", | |
| " <td>global_style/c97c87d8fda13db6351e942eaff71bae.mp4</td>\n", | |
| " <td>Apply the Abstract Art style to this video, en...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>Abstract Art</td>\n", | |
| " <td>3</td>\n", | |
| " <td>abstract_003.mp4</td>\n", | |
| " <td>abstract_003_org.mp4</td>\n", | |
| " <td>global_style/0184a61f173859df0b8cc96a938fdf05.mp4</td>\n", | |
| " <td>global_style/e314f2590d6eccb9f9b5e61eff9983e1.mp4</td>\n", | |
| " <td>Apply the Abstract Art style to this video, en...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>Abstract Art</td>\n", | |
| " <td>4</td>\n", | |
| " <td>abstract_004.mp4</td>\n", | |
| " <td>abstract_004_org.mp4</td>\n", | |
| " <td>global_style/0ac80386b96eb2dcf2b9aaa83c61d465.mp4</td>\n", | |
| " <td>global_style/eb2ea99b28e17c0a6683044befcda135.mp4</td>\n", | |
| " <td>Apply a dynamic, realistic rainy effect to thi...</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " style index renamed_video renamed_org \\\n", | |
| "0 Abstract Art 0 abstract_000.mp4 abstract_000_org.mp4 \n", | |
| "1 Abstract Art 1 abstract_001.mp4 abstract_001_org.mp4 \n", | |
| "2 Abstract Art 2 abstract_002.mp4 abstract_002_org.mp4 \n", | |
| "3 Abstract Art 3 abstract_003.mp4 abstract_003_org.mp4 \n", | |
| "4 Abstract Art 4 abstract_004.mp4 abstract_004_org.mp4 \n", | |
| "\n", | |
| " original_video \\\n", | |
| "0 global_style/8354af4891886eea085457db98fd317b.mp4 \n", | |
| "1 global_style/2080460ad59fb6ec789e455d788fb207.mp4 \n", | |
| "2 global_style/9387b1b8c25adebcc97e0ceaafe03929.mp4 \n", | |
| "3 global_style/0184a61f173859df0b8cc96a938fdf05.mp4 \n", | |
| "4 global_style/0ac80386b96eb2dcf2b9aaa83c61d465.mp4 \n", | |
| "\n", | |
| " original_org \\\n", | |
| "0 global_style/36cd98124521acf09ba57176a1e85304.mp4 \n", | |
| "1 global_style/dacbbb8491a330022d506c4aa8846ed9.mp4 \n", | |
| "2 global_style/c97c87d8fda13db6351e942eaff71bae.mp4 \n", | |
| "3 global_style/e314f2590d6eccb9f9b5e61eff9983e1.mp4 \n", | |
| "4 global_style/eb2ea99b28e17c0a6683044befcda135.mp4 \n", | |
| "\n", | |
| " prompt \n", | |
| "0 Apply the Abstract Art style to this video, en... \n", | |
| "1 Convert this Abstract Art-animated video back ... \n", | |
| "2 Apply the Abstract Art style to this video, en... \n", | |
| "3 Apply the Abstract Art style to this video, en... \n", | |
| "4 Apply a dynamic, realistic rainy effect to thi... " | |
| ] | |
| }, | |
| "execution_count": 9, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "import os\n", | |
| "import shutil\n", | |
| "\n", | |
| "OUT_DIR = \"/home/xinyuy/dataset_processing/OpenVE-3M/Style-Tranfer\"\n", | |
| "VIDEO_BASE = \"/mnt/data/xinyuy/datasets/OpenVE-3M/videos\"\n", | |
| "\n", | |
| "STYLE_PREFIX = {\n", | |
| " 'Abstract Art': 'abstract',\n", | |
| " 'Ancient Style': 'ancient',\n", | |
| " 'Cartoon': 'cartoon',\n", | |
| " 'Chinese Ink Wash Painting': 'chinese_ink_wash',\n", | |
| " 'Cubist': 'cubist',\n", | |
| " 'Cyberpunk': 'cyberpunk',\n", | |
| " 'Ghibli': 'ghibli',\n", | |
| " 'Gongbi': 'gongbi',\n", | |
| " 'Impressionist': 'impressionist',\n", | |
| " 'Oil Painting': 'oil_painting',\n", | |
| " 'Pixel Art': 'pixel_art',\n", | |
| " 'Pointillist': 'pointillist',\n", | |
| " 'Pop Art': 'pop_art',\n", | |
| " 'Sketch': 'sketch',\n", | |
| " 'Steampunk': 'steampunk',\n", | |
| " 'Surrealist': 'surrealist',\n", | |
| " 'Thick-Paint Hand-Drawn': 'thick_paint',\n", | |
| " 'Ukiyoe': 'ukiyoe',\n", | |
| " 'Watercolor': 'watercolor',\n", | |
| "}\n", | |
| "\n", | |
| "def resolve(rel_path):\n", | |
| " \"\"\"Map CSV-relative path to absolute path, trying global_style_new first.\"\"\"\n", | |
| " remapped = rel_path.replace('global_style/', 'global_style_new/', 1)\n", | |
| " full = os.path.join(VIDEO_BASE, remapped)\n", | |
| " if os.path.exists(full):\n", | |
| " return full\n", | |
| " fallback = os.path.join(VIDEO_BASE, rel_path)\n", | |
| " return fallback if os.path.exists(fallback) else None\n", | |
| "\n", | |
| "os.makedirs(OUT_DIR, exist_ok=True)\n", | |
| "\n", | |
| "missing, copied = 0, 0\n", | |
| "mapping_rows = [] # for a manifest CSV\n", | |
| "\n", | |
| "for style, grp in final_df.groupby('style'):\n", | |
| " prefix = STYLE_PREFIX[style]\n", | |
| " for idx, (_, row) in enumerate(grp.iterrows()):\n", | |
| " stem = f\"{prefix}_{idx:03d}\"\n", | |
| "\n", | |
| " src_edited = resolve(row['video'])\n", | |
| " src_original = resolve(row['original_video'])\n", | |
| "\n", | |
| " dst_edited = os.path.join(OUT_DIR, f\"{stem}.mp4\")\n", | |
| " dst_original = os.path.join(OUT_DIR, f\"{stem}_org.mp4\")\n", | |
| "\n", | |
| " for src, dst in [(src_edited, dst_edited), (src_original, dst_original)]:\n", | |
| " if src is None:\n", | |
| " print(f\"MISSING: {row['video'] if dst == dst_edited else row['original_video']}\")\n", | |
| " missing += 1\n", | |
| " else:\n", | |
| " shutil.copy2(src, dst)\n", | |
| " copied += 1\n", | |
| "\n", | |
| " mapping_rows.append({\n", | |
| " 'style': style,\n", | |
| " 'index': idx,\n", | |
| " 'renamed_video': os.path.basename(dst_edited),\n", | |
| " 'renamed_org': os.path.basename(dst_original),\n", | |
| " 'original_video': row['video'],\n", | |
| " 'original_org': row['original_video'],\n", | |
| " 'prompt': row['prompt'],\n", | |
| " })\n", | |
| "\n", | |
| "mapping_df = pd.DataFrame(mapping_rows)\n", | |
| "mapping_df.to_csv(os.path.join(OUT_DIR, \"manifest.csv\"), index=False)\n", | |
| "\n", | |
| "print(f\"Done. Copied: {copied} | Missing: {missing}\")\n", | |
| "print(f\"Manifest saved to {OUT_DIR}/manifest.csv\")\n", | |
| "mapping_df.head()\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "id": "17426cfb", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "flexvideo", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.10.20" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 5 | |
| } |
Xet Storage Details
- Size:
- 119 kB
- Xet hash:
- 14501dfd7691ded67d63f0a1d16403e1ea85538c982ba9de668e0a19d46c6eb9
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.