Skip to content

maskboyAvi/AdobeGensolve

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

62 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


DoodleFix: Algorithms for regularizing shapes, analyzing symmetry and completing complex doodles.

DoodleFix Logo

DoodleFix is your go-to tool for transforming distorted shapes into their closest geometric forms while ensuring symmetry in the refined shapes.

Watch the Demo Β· Report a Bug Β· Request a Feature

Table of Contents

  1. About The Project
  2. Key Features
  3. Built With
  4. Shape Classification and Transformation
  5. Getting Started
  6. CLI Commands
  7. License
  8. Contributing
  9. Team Members

About the Project

DoodleFix leverages advanced deep learning and geometric algorithms to transform hand-drawn doodles into perfectly regularized shapes. By classifying shapes using a custom ResNet-based CNN, the system corrects irregularities, identifies symmetry, and even completes missing parts. The final output showcases a harmonious collection of flawless geometric figures, demonstrating the power of AI in creative and technical shape analysis. An impressive blend of art and technology!

Check out our demo here.

Our Mission

Our mission is to blend the power of AI with creative expression, transforming irregular doodles into perfect geometric forms. We aim to push the boundaries of shape recognition and correction, turning every sketch into a masterpiece of symmetry and precision.

(back to top)

WorkFLow

flowchart flowchart2

Key Features

  • πŸ”§ Irregular Shape Identification: Detect and classify various irregular doodle shapes, including polygons, stars, and more. Utilize advanced image processing to handle diverse and complex forms.

  • πŸ”§ Shape Regularization: Transform identified shapes into regular geometric forms. Ensure shapes are correctly represented by applying algorithms to correct distortions and irregularities.

  • πŸ”§ Symmetry Analysis: Evaluate shapes for symmetry along multiple axes. Display symmetry results visually and use these insights to complete and enhance the shapes.

  • πŸ”§ Shape Completion and Occlusion Handling: Fill in incomplete shapes and reveal any occluded parts based on detected symmetry. Ensure that all visible and hidden portions are accurately represented.

  • πŸ”§ Multi-Class Classification: Use a custom CNN model to classify shapes into predefined categories such as Square, Circle, Star, Rectangle, and polygons. Handle edge cases with high accuracy.

  • πŸ”§ Visual Representation and Correction: Provide visual feedback by displaying regularized shapes and their symmetry on a unified image. Correct shapes to ensure they meet predefined geometric criteria.

(back to top)

Built With

Python TensorFlow scikit-learn Jupyter Notebook Anaconda Poetry OpenCV Keras Matplotlib NumPy Pandas

Open Source Pre-trained Models:

(back to top)

How DoodleFix Works πŸ€”

Step 1: Finding Connected Components

  • Detect and extract distinct shapes from the doodle using connected component analysis. This process involves identifying and labeling clusters of black pixels to determine individual shapes.

DoodleFix making sad circle into happy one

Step 2: Classifying Shapes with CNN

  • Apply a custom CNN model to classify each identified shape into predefined categories such as Square, Circle, Star, Rectangle, or Polygon. The model processes black-and-white images of each shape to determine its class.

DoodleFix making sad circle into happy one

Step 3: Applying Shape Regularization

  • Use algorithms to transform classified shapes into their correct geometric representations. Regularize the shapes by correcting distortions and aligning them to standard geometric forms.

DoodleFix making sad circle into happy one Description of the second image Description of the third image

DoodleFix making sad circle into happy one

Step 4: Symmetry Analysis

  • Analyze the regularized shapes for symmetry along multiple axes. This step ensures that shapes are balanced and complete by checking and visualizing symmetry.

DoodleFix making sad circle into happy one Description of the second image Description of the third image

Step 5: Shape Completion and Occlusion Fixing

  • Fill in incomplete shapes and reveal occluded parts based on the detected symmetry. This process ensures that all visible and hidden portions of the shapes are accurately reconstructed and completed.

DoodleFix making sad circle into happy one

For more detailed setup instructions, refer to our documentation.

(back to top)

Getting Started

Installation Instructions

To set up DoodleFix on your local machine, follow these steps:

  1. Install Python 3.8 or higher: Download and install Python if you haven't already.

  2. Clone the repository:

    git clone https://github.com/maskboyAvi/AdobeGensolve.git
  3. Navigate to the project directory:

    cd AdobeGensolve
  4. Install dependencies:

    pip install -r requirements.txt
  5. Navigate to Regularization directory:

    cd Regularize
  6. Run the main.ipynb after specifying path of csv file

Example Usage

To see DoodleFix in action, check out our demo or refer to the detailed example usage guide:

(back to top)

License

DoodleFix is licensed under the MIT license. For more information, please see the LICENSE file in the repository.

(back to top)

Contributing

We welcome contributions! For detailed instructions on how to contribute, please refer to the Contributing Guide in our documentation.

(back to top)

Meet the Team

(back to top)


About

Adobe Gensolve hackathon.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published