Skip to content

๐ŸŽฏThis project leverages TensorFlow.js ๐Ÿ–ฅ๏ธ and RetinaNet-SpineNet-49 ๐Ÿค– (retinanet_spinenet_mobile_coco) to build an AI-powered system capable of recognizing Rubik's Cube faces ๐Ÿง  & colors in real-time ๐ŸŽฒ.

License

Notifications You must be signed in to change notification settings

itsiiromiuy/model-rubik-cube-recognition-with-tensorflow.js-retinanet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

31 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

title emoji colorFrom colorTo sdk sdk_version app_file pinned license
Rubiks Cube Recognition
๐ŸŽฒ
blue
red
gradio
4.19.2
app.py
false
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

# 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

# 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 file for details.

๐Ÿ™ Acknowledgements

  • TensorFlow Model Garden - RetinaNet implementation
  • SpineNet - Backbone architecture
  • Gradio - Web interface framework
  • Hugging Face - Model hosting and deployment

๐Ÿ“ง Contact

๐Ÿ”— References


๐ŸŽฒ Ready to solve your Rubik's cube detection challenges!

About

๐ŸŽฏThis project leverages TensorFlow.js ๐Ÿ–ฅ๏ธ and RetinaNet-SpineNet-49 ๐Ÿค– (retinanet_spinenet_mobile_coco) to build an AI-powered system capable of recognizing Rubik's Cube faces ๐Ÿง  & colors in real-time ๐ŸŽฒ.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published