A custom CNN-based CAPTCHA solver for image-based CAPTCHAs, built from scratch using Keras.
This project implements a convolutional neural network to automatically solve image-based CAPTCHAs. I designed and trained a simple custom CNN architecture.
Model Architecture:
- Custom CNN designed specifically for CAPTCHA character recognition
- Built using Keras/TensorFlow
- Trained on synthetically generated CAPTCHA dataset (captcha library)
- View the full data table here
- View the google sheets here (calculations)
Data Pipeline:
- CAPTCHA generation for creating training data
- Image preprocessing (grayscale conversion) to improve model performance
Key Features:
- Basic end-to-end solution from data generation to trained model
- Benchmarking results available in
/resultsfolder - Simple, lightweight architecture focused on understanding functionality
- Framework: Keras/TensorFlow
- Image Processing: OpenCV (grayscale preprocessing)
- Dataset Generation: captcha
captcha-slayer/
├── results/ # Benchmark images and performance metrics
├── [model files] # Trained model weights
├── [training code] # Dataset generation and training pipeline
└── README.md
Performance benchmarks and accuracy metrics can be found in the /results folder, including visual demonstrations of the model's predictions.
- Designing CNN architectures from documentation
- Building basic data pipelines for ML training
- Simple image preprocessing techniques for improving model accuracy
- Expand support for different CAPTCHA types
- Optimize model architecture for better accuracy
- Clean up dependencies and document them
# 1. Create a virtual environment
python -m venv venv
# 2. Activate the environment
# On Windows: .\venv\Scripts\activate
# On macOS/Linux: source venv/bin/activate
# 3. Install requirements
pip install -r requirements.txt
