-
-
AI AMULET Hybrid detects key regions and analyzes multiple amulet features using YOLO Parts and DINOv2.
-
Users can capture or select a clear, full-view image of a Thai amulet for analysis.
-
The app presents an AI-based authenticity likelihood score with a clear preliminary result.
-
AI AMULET installed as an Android application for real-world mobile testing.
-
The AI identifies Phra Rod and its pattern, then enables detailed feature analysis.
Project name
AI AMULET
Elevator pitch
AI-powered Thai amulet analysis that identifies amulet types, recognizes Phra Rod patterns, and evaluates authenticity-related visual features.
Inspiration
Thai amulets are more than collectible objects. They represent history, craftsmanship, local knowledge, faith, and cultural identity. However, learning how to identify amulet types, patterns, and important visual characteristics normally requires many years of experience.
As younger generations become increasingly connected to technology, I wanted to create a tool that makes traditional Thai amulet knowledge easier to access and understand.
AI AMULET began with a personal goal: to use artificial intelligence to help preserve this knowledge while giving collectors and learners a structured second opinion. The application does not replace qualified experts. Instead, it provides visual analysis and probability-based information that users can consider alongside expert examination.
What it does
AI AMULET is a mobile application that analyzes a photograph of a Thai amulet through a multi-stage computer vision pipeline.
The system:
- Detects and crops the amulet from the submitted image.
- Identifies the supported Thai amulet type.
- For Phra Rod amulets, predicts the pattern or “pim.”
- Routes the image to the correct specialized analysis pipeline.
- Detects important visual regions such as the arch, base, bodhi details, armpit area, and other pattern-specific landmarks.
- Evaluates the whole amulet and individual regions using specialized AI models.
- Combines the results into a probability-based authenticity-related score and an understandable mobile result.
Different amulet patterns require different visual evidence, so AI AMULET uses a registry-based architecture that allows each supported pattern to have its own detector, models, scoring weights, and analysis rules.
The displayed result is decision-support information, not a guarantee or official certificate of authenticity.
How we built it
The project uses a Flutter mobile application connected to a Python FastAPI backend.
Its computer vision pipeline combines:
- YOLO models for amulet and landmark detection.
- DINOv2-based models for image classification and visual-feature comparison.
- Dedicated two-class models that estimate genuine-side probabilities for important amulet regions.
- A model registry that routes each amulet type and pattern to the correct models.
- Weighted score fusion that combines whole-image and part-level evidence.
- A REST API that connects the mobile interface to the AI inference pipeline.
I used Codex with GPT-5.6 as my development partner throughout Build Week. Codex helped me understand and navigate a growing codebase, create Python training and evaluation tools, audit datasets, prevent data leakage, build model registries, debug FastAPI endpoints, connect the Flutter application to the backend, and prepare the project for testing.
Codex did not decide the product concept or the domain rules. I defined the idea, selected the important amulet characteristics, reviewed the datasets, evaluated real-world results, chose the scoring weights, and made the final product decisions. Codex helped transform those decisions into a functioning application.
Challenges we ran into
My biggest personal challenge was that I did not come from a programming background and had only recently started using generative AI. I also do not speak English fluently. Before using Codex, turning this idea into a complete mobile and AI system would have been extremely difficult for me.
The technical challenges included:
- Limited data for rare Thai amulet patterns.
- Genuine and imitation amulets that appear extremely similar.
- Preventing images of the same physical amulet from leaking across training and evaluation datasets.
- Producing consistent crops for small visual landmarks.
- Designing different analysis rules for different patterns.
- Combining results from multiple models without presenting misleading certainty.
- Connecting a mobile application to AI models running through a backend server.
- Testing the same photograph consistently across devices and network conditions.
To address these problems, I organized data by physical amulet identity, separated validation and hidden test sets, created dedicated models for difficult regions, measured class-specific errors, and treated uncertain probability ranges carefully.
Accomplishments that we're proud of
I am proud that AI AMULET became a working end-to-end prototype rather than remaining only an idea.
The project can receive a photograph from a mobile application, detect the amulet, identify its supported type and pattern, route it through specialized models, analyze important visual regions, and return an understandable probability-based result.
I am especially proud of building a modular architecture. New amulet patterns can be added through their own detector, models, configuration, and scoring logic without rebuilding the entire application.
Most importantly, I proved to myself that someone without traditional software-development experience can still create a complex AI product by combining domain knowledge, persistence, careful testing, and Codex.
This project is the beginning of a larger goal: preserving Thai cultural knowledge and creating more transparent, testable, and accessible tools for the Thai amulet community.
What we learned
I learned that building an AI product requires much more than training a model with a high accuracy number.
Dataset quality, physical-object identity, image cropping, routing logic, class balance, hidden testing, real-world photographs, uncertainty, user-interface wording, server reliability, and ethical limitations are all equally important.
I also learned that one universal model is not always the best solution. Different Thai amulet patterns contain different evidence, so specialized models and pattern-specific scoring can be more useful than forcing every amulet through the same analysis.
Codex changed how I approach software development. Instead of needing to memorize every programming language first, I could focus on clearly describing the problem, defining the system behavior, reviewing the generated implementation, testing results, and improving one component at a time.
The most important lesson was that AI can help people turn knowledge from their own culture and experience into functioning technology—even when they are starting without a formal programming background.
Built With
- computer-vision
- dinov2
- fastapi
- flutter
- gpt
- machine-learning
- openai-codex
- python
- pytorch
- yolo
Log in or sign up for Devpost to join the conversation.