Logo

dev-resources.site

for different kinds of informations.

YOLO V5 running on an Android phone Part 1(train model)

Published at
1/26/2024
Categories
yolov5
android
beginners
tutorial
Author
kyrierui
Categories
4 categories in total
yolov5
open
android
open
beginners
open
tutorial
open
Author
8 person written this
kyrierui
open
YOLO V5 running on an Android phone Part 1(train model)

Kia Ora!
Recently in our AI project, we have been working on monitoring river heights using the Yolo algorithm. It sends an alert like a server when the river height exceeds a certain safe range.
Today I am bringing you a share on how to deploy the Yolo algorithm program using an Android phone

Image description

My main development environment is currently an M1 chip MAC, and I often encounter all kinds of bugs on Yolo v8 (but I already have a solution, I'll organize it and update it later), so for today's demo tutorial we're going to start with Yolo v5. I'd like to thank this YouTuber, whose video solved a very large number of problems for me:
https://www.youtube.com/watch?v=zs43IrWTzB0

I won't go over the steps to install Yolo v5, you can easily find their repository on Git Hub.
For labelling and processing the data I used: roboflow
This page is very user-friendly for all versions of Yolo support. There are also many open-source datasets available.

Use the dataset to train:



!python train.py --img 640 ---batch 16 --epochs 10 --data DataSet/data.yaml --weights yolov5s.pt


Enter fullscreen mode Exit fullscreen mode

Validate using the dataset:



!python detect.py --source DataSet/valid/images --weights runs/train/exp/weights/best.pt


Enter fullscreen mode Exit fullscreen mode

After completing the training, we need to export to the tflite format



!python export.py --weights runs/train/exp/weights/best.pt --include tflite


Enter fullscreen mode Exit fullscreen mode

This concludes our training of the model and I can't wait to try it out:



!python detect.py --source 0 --weights runs/train/exp/weights/best.pt


Enter fullscreen mode Exit fullscreen mode

Image description
This way we have our own model, and of course we are able to achieve better performance through various manipulations of the dataset during the training process.

Featured ones: