Why Raven?
Why did the raven become a style guru? Because it always knows how to "feather" the nest!
But jokes apart, navigating the maze of beard styles can be as tricky as finding a feather in a bird's nest(pun intended). Raven simplifies the grooming journey, ensuring your facial game is always on point.
What it does
Raven employs advanced image manipulation techniques and algorithms for facial parameter detection, identifying key structural areas, and analyzing curves. Leveraging mathematical concepts like polynomial approximation and Gaussian distribution, the algorithm extensively explores its database to provide personalized suggestions for the ideal beard style.
Raven's interactive UI allows the user to upload a picture, generate the best style and subsequently save the image, giving a seamless user experience.
Or, for those who speak better emoji than code: π¨ π πΈ π π§ββοΈ π π
How we built it
We used Java/JavaCV to code the backend, making use of existing public algorithms such as Kazumi's algorithm and CascadeClassifier. We curated a database of different beard types and styles from Adobe. For the frontend, we used JavaFX to code the UI, allowing the user to upload, generate and save images with just a click of a button.
Challenges we ran into
We ran into a plethora of different challenges when coding Raven. For starters, we faced a high image processing time initially, after which we used a multi-thread system to allow the UI to run on a single thread and the backend on another to allow a swift and seamless image processing time.
Secondly, whilst implementing the facial hair overlay step, we faced errors with proper alignment and sizing. We had to adjust and implement stricter manipulation techniques such as coordinate mapping and structure cropping to ensure the facial hair aligns with the curves of the face all within 24H which surely will a memory we never forget.
Accomplishments that we're proud of
We are proud of every step that we accomplished through the journey of Raven. Our notable achievements include the implementation of a multi-thread system which has significantly reduced our image processing time.
We are particularly proud of browsing mathematical models such as Gaussian Distribution and coordinate systems and using their knowledge to alleviate our implementation of Raven's image processing capability.
What we learned
We gained a deep insight into computer image processing and analysis. We learnt some important techniques to manipulate pictures, extract required areas of the face and use certain key facial parameters to add any overlays on the face.
All in all, since most of us were first time hackers, we learnt how to carry out such a task within 24 hours while keeping ourselves cool and open to learning something new every 30 minutes.
Sustainability
The idea of making Raven sustainable was key to us. We believe that by implementing a more optimized and efficient algorithm, we bring a more cost-effective and less computational-costing solution to the table. Furthermore, this shift from on-paper facial hair suggestions to digital suggestions reduces the need for paper in general.
What's next for Raven
We could definitely extend this idea to add any overlays on the face in the future. This could include suggestions for the most suitable nose/lip accessories, head hair, face tattoos etc. Conclusively, Raven has the potential to be a one-stop-shop for any style suggester.
Credentials
1) Kazumis Algorithm: βFace Alignment with Part-Based Modelingβ - Vahid Kazemi link 2) Haar Cascades Frontal Algorithm: link
Log in or sign up for Devpost to join the conversation.