itsyuimorii's picture
Upload folder using huggingface_hub
5197766 verified
---
title: Rubiks Cube Recognition
emoji: ๐ŸŽฒ
colorFrom: blue
colorTo: red
sdk: gradio
sdk_version: 4.19.2
app_file: app.py
pinned: false
license: apache-2.0
---
# ๐ŸŽฒ Rubik's Cube Recognition with TensorFlow RetinaNet
This is a deep learning model that can recognize and analyze Rubik's cubes in images. The model is built using TensorFlow and RetinaNet architecture for object detection.
## ๐Ÿš€ Features
- **Real-time Detection**: Upload images of Rubik's cubes for instant analysis
- **Multi-class Recognition**: Detect cube faces and 6 different color tiles
- **Interactive Interface**: Simple and intuitive Gradio web interface
- **Advanced AI**: Powered by RetinaNet with SpineNet-49 backbone
## ๐ŸŽฏ How to Use
1. **Upload**: Click "Upload Rubik's Cube Image" and select your image
2. **Analyze**: Click "๐Ÿ” Analyze Image" or wait for automatic processing
3. **Results**: View detection results and visualization with bounding boxes
## ๐Ÿ”ฌ Technical Details
- **Framework**: TensorFlow 2.15+ with Gradio interface
- **Architecture**: RetinaNet with SpineNet-49 backbone
- **Input Size**: 640ร—640 pixels
- **Classes**: 7 total (1 face + 6 color tiles)
- **Colors Detected**: Red, White, Blue, Orange, Green, Yellow
## ๐ŸŒŸ Model Architecture
### RetinaNet-SpineNet-49
- **Base Model**: RetinaNet for object detection
- **Backbone**: SpineNet-49 for feature extraction
- **Input Resolution**: 640ร—640ร—3
- **Output**: Bounding boxes with class predictions and confidence scores
### Detection Classes
1. `face` - Rubik's cube face
2. `red_tile` - Red color tile
3. `white_tile` - White color tile
4. `blue_tile` - Blue color tile
5. `orange_tile` - Orange color tile
6. `green_tile` - Green color tile
7. `yellow_tile` - Yellow color tile
## ๐Ÿ“Š Performance Metrics
| Metric | Target | Status |
|--------|--------|--------|
| mAP@0.5 | >0.85 | In Training |
| Inference Speed | <100ms | Optimized |
| Accuracy | >90% | Evaluating |
## ๐Ÿ› ๏ธ Local Development
```bash
# Clone the repository
git clone https://huggingface.co/spaces/itsyuimorii/rubiks-cube-recognition
cd rubiks-cube-recognition
# Install dependencies
pip install -r requirements.txt
# Run the application
python app.py
```
## ๐Ÿ“ Project Structure
```
rubiks-cube-recognition/
โ”œโ”€โ”€ app.py # Main Gradio application
โ”œโ”€โ”€ requirements.txt # Python dependencies
โ”œโ”€โ”€ README.md # This file
โ”œโ”€โ”€ configs/ # Model configurations
โ”‚ โ””โ”€โ”€ retinanet_config.py
โ”œโ”€โ”€ src/ # Source code
โ”‚ โ”œโ”€โ”€ data/ # Data processing utilities
โ”‚ โ””โ”€โ”€ model/ # Model training and inference
โ””โ”€โ”€ images/ # Training and test datasets
โ”œโ”€โ”€ train/ # Training images and annotations
โ”œโ”€โ”€ test/ # Test images and annotations
โ””โ”€โ”€ valid/ # Validation images and annotations
```
## ๐ŸŽฎ Demo Status
โš ๏ธ **Note**: This is a demo version. The complete trained model is currently being developed. The interface will show a preview of the detection capabilities.
## ๐Ÿ“ Dataset Information
- **Format**: COCO annotation format
- **Image Size**: 640ร—640 pixels
- **Training Images**: 50+ annotated cube images
- **Classes**: 7 object classes (face + 6 colors)
- **Annotation Tool**: LabelMe
## ๐Ÿ”ง Training Pipeline
```python
# Training command
python src/model/trainer.py --config configs/retinanet_config.py
# Inference command
python src/model/visualize.py --image path/to/cube_image.jpg
```
## ๐Ÿค Contributing
Contributions are welcome! Areas for improvement:
- Additional training data
- Model optimization
- UI/UX enhancements
- Performance improvements
## ๐Ÿ“„ License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
## ๐Ÿ™ Acknowledgements
- **TensorFlow Model Garden** - RetinaNet implementation
- **SpineNet** - Backbone architecture
- **Gradio** - Web interface framework
- **Hugging Face** - Model hosting and deployment
## ๐Ÿ“ง Contact
- **GitHub**: [@itsyuimorii](https://github.com/itsyuimorii)
- **Hugging Face**: [@itsyuimorii](https://huggingface.co/itsyuimorii)
## ๐Ÿ”— References
- [RetinaNet Paper](https://arxiv.org/abs/1708.02002)
- [SpineNet Architecture](https://arxiv.org/abs/1912.05027)
- [TensorFlow Object Detection API](https://github.com/tensorflow/models/tree/master/research/object_detection)
- [LabelMe Annotation Tool](https://github.com/wkentaro/labelme)
---
*๐ŸŽฒ Ready to solve your Rubik's cube detection challenges!*