hmnshudhmn24/real-fake-ai-generated-art-images
๐จ Real and Fake (AI-Generated) Art Images Dataset 21,642 balanced images โ 10,821 real artworks and 10,821 AI-generated images โ for training models to distinguish authentic art from GAN-generated fakes. ๐งญ Overview This dataset is part of the FauxFinder project, designed to build advanced models capable of distinguishing between authentic artworks and AI-generated images. Ideal for binary classification, GAN research, and computer vision benchmarking.โฆ See the full description on the dataset page: https://huggingface.co/datasets/hmnshudhmn24/real-fake-ai-generated-art-images.
๐จ Real and Fake (AI-Generated) Art Images Dataset
21,642 balanced images โ 10,821 real artworks and 10,821 AI-generated images โ for training models to distinguish authentic art from GAN-generated fakes.
๐งญ Overview
This dataset is part of the FauxFinder project, designed to build advanced models capable of distinguishing between authentic artworks and AI-generated images. Ideal for binary classification, GAN research, and computer vision benchmarking.
๐๏ธ Classes
โ Key Features
- Perfectly balanced classes (10,821 each)
- All images resized to 256ร256 pixels
- Ready for CNN and deep learning pipelines
- Diverse art styles, genres, and periods
- Diverse GAN architectures for fake images
๐ Dataset Structure
Data/ โโโ REAL/ # 10,821 authentic artwork images โ โโโ image1.jpg โ โโโ image2.jpg โ โโโ ... โโโ FAKE/ # 10,821 AI-generated images โ โโโ image1.jpg โ โโโ image2.jpg โ โโโ ...
โก Quick Start
import os import pandas as pd from PIL import Image import matplotlib.pyplot as plt
Build dataset dataframe
data = [] for label in ["REAL", "FAKE"]: for file in os.listdir(f"Data/{label}"): data.append({"filename": file, "label": label})
df = pd.DataFrame(data) print(df["label"].value_counts())
Display sample image
img = Image.open("Data/REAL/image1.jpg") plt.imshow(img) plt.title("Real Artwork") plt.axis("off") plt.show()
๐ง Recommended Setup
from sklearn.modelselection import traintest_split
80-20 train-test split
traindf, testdf = traintestsplit( df, testsize=0.2, randomstate=42, stratify=df["label"] ) print(f"Train: {len(traindf)} | Test: {len(testdf)}")
๐ก Use Cases
- Real vs AI-generated art classification
- GAN output detection research
- Binary image classification practice
- Transfer learning with ResNet, EfficientNet, ViT
- Deepfake detection in artistic domain
- Benchmarking CNN architectures
