prysma-detector / detector.py
kaykyramos's picture
Initial commit
9104dbe
import argparse
import os
import warnings
from transformers import SwinForImageClassification, AutoImageProcessor
from PIL import Image
import torch
warnings.filterwarnings("ignore")
os.environ["TRANSFORMERS_VERBOSITY"] = "error"
def classify_image(image_path):
model = SwinForImageClassification.from_pretrained("./")
processor = AutoImageProcessor.from_pretrained("./", use_fast=False)
image = Image.open(image_path).convert("RGB")
inputs = processor(images=image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
predicted_class = torch.argmax(logits, dim=1).item()
label = model.config.id2label[predicted_class]
return "Real" if label == "human" else "Fake"
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Detecta se uma imagem é real ou gerada por IA.")
parser.add_argument("--image", type=str, required=True, help="Caminho para a imagem a ser analisada.")
args = parser.parse_args()
result = classify_image(args.image)
print(result)