Eyeball Training - Can You Spot the AI Photo?
We all know AI images are becoming a problem for a lot of people.
I remember when the first fully computer-generated film hit the big screen. Final Fantasy. My grandparents were absolutely awed by it, and swore it was indistinguishable from reality except for a couple of small tells here and there. And I remember seeing commercials for it that did look insanely realistic. But today it looks dated and obvious. I feel that the more exposure I get to AI images, the better I will get at detecting them. insert that one meme about unconscious mastery and how arborists will know it's an oak by teh way it is
The project itself is really simple. Flip a coin, and fetch an image from a photos dataset or an AI dataset. Show the image, and have the user guess whether it is AI or not. Then, tell them the answer.
I like this simple project because it's useful to me and has so much potential for expansion.
Base features:
- Fetch and display an image and two buttons
- On guess, reveal correct answer and any associated/required metadata
Expanded features:
- Save guesses to a database and inform users of how they did
- Have a leaderboard, either with accounts or arcade-style entering initials with a high score
- Let users use Google or another provider to log in and save their results
- Display analytics about which regions do better at image detection
- Run models against the same dataset and save their guesses so people can see how they did versus the models
- Tutorial mode with a few images that have been analyzed by a person. Display images where features that give away AI have been tagged with tooltips
I chose to use AWS lambda functions because I didn't want the hassle of setting up a whole server and backend for just a couple of API calls and maybe CRUD functions, especially when the datasets play nicer with Python than Javascript.
I also chose to use a managed MongoDB Atlas instance because it's inexpensive and I've found it be pretty hassle-free.
Frontend is React Vite, because it's lightweight and I don't need all the API routing from NextJS.
The CSS framework is mantine. But Jessie, you're a frontend-heavy developer, why would you use a CSS framework? Because I'm not trying to do anything bespoke with these visuals. The focus is on the functionality, and I just want something fast and easy. Eventually the goal is to Ship of Theseus all of my projects by slowly replacing components with components from my personal library... but that's not the point of this project.