It’s Jane! Or How to Identify a Turtle in a Photo
10 ноября, 2024 | Нет комментариевMeet Jane! She lives in Shark Bay on the beautiful island of Koh Tao (Thailand). The best time to meet her is around lunchtime, when the delicious seaweed is clearly visible 🙂
Yes, I really am a turtle. But was it always like that? Let’s ask Ginger
Am I 59% bird? Ginger doesn’t seem happy with the result…
Let’s try to explain to Ginger why this could happen.
Hi, Ginger!
Do you know why the neural network suddenly mistook you for a bird? I thought about it a bit and found a few reasons!
First, the neural network we’re using might not be the best fit for identifying turtles. It could be trained on general images of different animals and birds, but it doesn’t really know your special turtle features. You and I know that every turtle has its own unique head shape and shell pattern, but the neural network seems clueless about that.
Second, the quality of your photo wasn’t the best, and that can really confuse the neural network. Imagine if the details in the photo are blurry, or the lighting makes your head look more like a wing – the neural network might decide it’s looking at a bird! It just sees spots and lines, like on a painting, and tries to guess from there.
And maybe you were facing the wrong way in the photo, too. Neural networks are often trained to see turtles from certain angles – like from the top or the side. If you’re turned differently, and especially if you tilt your head, it’s harder for it to recognize you. That’s how the mix-up happens!
No worries, though! We’ll fix all this and teach it how to spot turtles properly, so it knows what special turtles like you and I really look like!
Okay, Jane, I’m turned around and ready to try again! I’ll stay still, facing forward this time — no confusing angles. Let’s see if this finally helps me recognize the turtle I am!
So, we decided to use a different neural network called YOLO11, but this time we’re going to train it from scratch with about 300 specially labeled pictures of turtles. These are photos where each of us is clearly marked, showing off our unique turtle faces!
Now, when we say the network “trains,” what we mean is it learns from each picture, figuring out patterns in our heads and shell designs. This process goes through epochs—an epoch is when the network looks at every picture in our set once and tries to learn something from it. Imagine flipping through a whole album of turtle pictures; after looking through each photo, you’d start to see what makes us turtles unique, right? Well, our YOLO11 network did that 50 times! Each time, it looked a little closer, improving its «turtle-spotting» skills.
And here’s the cool part: we also used augmentation. That means we didn’t just show YOLO11 the same pictures over and over; we made fun changes to each one—like flipping them, changing the brightness, or zooming in a bit. It’s like giving YOLO11 a bunch of creative photos of us from every angle and light. This way, no matter how we’re turned or where the light hits, it’ll still know it’s looking at a turtle!
With all this extra learning, our YOLO11 will be ready to recognize any turtle, even in tricky photos. So next time, Ginger, it’ll know right away that you’re a one-of-a-kind turtle and not some random bird!
Hmm, Jane, you know, I still have my doubts about this working. YOLO11 has already learned to recognize me, but it still can’t find my face! I’m right there in all those photos, but it keeps getting confused and sees something different. What if we keep training and training, and it still doesn’t learn to tell me apart from a bird?
Look, Ginger! It seems YOLO11 finally recognizes you, especially around your head, where it is 95% sure it sees a turtle. But it also picked another part of the image with less confidence, only 57%, which means it is not quite sure that this part is a turtle.
This means that we should pay attention to areas with high probability, for example, the 95% block around your head. When the probability is high, it means that the neural network is more likely to recognize you correctly. So for the final result, we will choose the areas with the highest percentages. This way, we can be sure that it is really you!
I’m really happy with the results! The new version is working great! Now, I’m a little hungry…
I will be waiting for the version that can find me in photos and tell me apart from my friends. I’m sure the next version will be even cooler!
Of course, Ginger, the sequel will be coming soon. In the meantime, you can take a look at the original neural network and the developer’s resume. Who knows, maybe you’ll get some inspiration while waiting! Don’t worry, we won’t leave you hungry for too long!
Github: https://github.com/IAD/tao-turtles-recognition
Resume: https://bit.ly/igor-golang