As part of a recent team project, we were tasked with creating a system to recognize 30 heroes from very popular films. Due to an NDA, we can't disclose the specific heroes we worked with, but the challenges and solutions we encountered can be shared. With a tight deadline and no access to additional development resources to work with AI, we needed a solution that was both quick and effective. After doing some research, we decided to try out Google's Teachable Machine, a tool designed for users to train machine learning models without the need for coding or specialized AI knowledge. Here's a breakdown of how it works, my team's experience, and what we learned during the process.
⏱️ Project Timeline: Quick Results with Teachable Machine
One of the most impressive aspects of using Teachable Machine was how quickly we could move from concept to working model. Here's a breakdown of the timeline and what we were able to accomplish:
Day 1: Initial Work Version
On the very first day, we had a functional version up and running. In just a few hours, we were able to start uploading images, training the model, and testing its recognition capabilities.
Days 2–7: Iterating and Testing with Different Models
Over the course of the next week, we tested different image datasets and fine-tuned the model. Even without any prior experience with AI or machine learning, we were able to experiment with various model configurations and identify which performed best. This iterative process allowed us to refine our model and enhance its accuracy. Within just 1–2 weeks, we had a surprisingly robust AI model that could recognize our heroes with a high degree of accuracy.
Weeks 2+: Scaling and Refining
After the initial successful setup, we continued to improve the model by adding more images, and experimenting with different techniques (like green screen and varying lighting conditions). Within a couple of weeks, we had a model that was not only accurate but also versatile enough to be used in a wide range of scenarios.
Teachable Machine proved that with minimal experience, you can develop an AI model that works well and is ready to be deployed everywhere, from apps to websites, in just a short amount of time.
⚡ The Roadblocks We Encountered
As our project progressed, we started to run into a few issues. While the initial setup was quick and easy, we quickly realized that the task at hand was more challenging than we had anticipated.
One of the main hurdles came from the image quality. Some of the heroes we were trying to recognize were depicted in very small images - smaller than a matchbox, in fact. This posed a problem for many phones, which struggled to focus on such small objects. The lack of focus made it difficult for Teachable Machine to properly recognize them, and we found ourselves battling blurry images and inconsistent recognition.
Adding to the complexity was the similarity between certain heroes. Some of the characters had very similar features or outfits, which made it harder for Teachable Machine to differentiate them. The model occasionally misidentified one hero for another, especially when using images found online that were not perfectly framed or cropped.
Finally, we discovered that even small variations in image backgrounds could throw off the model. The more diverse images we could use for each hero, the better. This meant gathering images from the internet that showcased each hero in different lighting, angles, and poses, which helped the model learn to distinguish them more accurately.
💡 How We Adapted and Improved
While the challenges were certainly frustrating at times, they also pushed us to be creative in finding solutions.
- Better Camera Focus: We quickly realized that having a phone with a better camera made a noticeable difference.
- Green Screen Technology: We experimented with using a green screen (chromakey), which allowed us to isolate the heroes from their backgrounds.
- Diverse Image Collection: In addition to the standard hero images, we used different images from the internet that looked similar to the heroes in our dataset. These were added as a separate class to help the model distinguish between the real heroes and potential look-alikes.
- Images of Heroes on Hand: We also anticipated that clients would likely scan images of the heroes from physical sources, so we added images with the hero on hand to the dataset.
🔍 How It Worked for Us: From Single Link to Hero-Specific Links
Initially, we had the idea to create a single link, /hero
, where users could scan any hero they had. The idea was that the model would recognize and match all heroes from one central link. However, this approach didn't work as expected. Sometimes, the model misidentified characters, and it became unclear which hero the model was trying to recognize.
To address this issue, we switched to a specific link. Instead of using a single /hero
link, we assigned each hero a unique identifier (e.g., /hero/:id
). This change allowed us to compare the predictions made by the model with the actual IDs it returned (as classnames). By comparing the :id
from the link with the ID given by the model, we could accurately determine which hero had been recognized correctly and which hadn't.
🏁 Final Thoughts
In the end, we successfully created a working model using Teachable Machine. The process wasn't without its challenges, but through experimentation and persistence, we were able to improve the recognition accuracy. Teachable Machine proved to be a great solution for our time-sensitive project, allowing us to develop and deploy a model quickly without requiring additional AI expertise. It's a fantastic tool for anyone looking to explore machine learning in a straightforward, hands-on way.
Our team truly enjoyed working on this project, and the experience was incredibly rewarding. The process taught us a lot about machine learning and problem-solving in real-time. We're excited to continue improving the model, exploring new use cases, and sharing our insights. Expect to see more posts from us as we dive deeper into AI and share our experiences with these exciting technologies.
Top comments (0)