Wykrywanie sęków (YOLOv8) na Jetson Orin Nano
Dziś wpis o moim pierwszym wytrenowanym modelu YOLO. To projekt, którym bawiłem się chwilę jakoś w połowie 2024 roku. Skorzystałem wtedy z YOLOv8-mono i uruchomiłem go na Jetson Orin Nano z podłączoną kamerą przemysłową USB. Do eksperymentów zainspirowała mnie wizyta u producenta maszyn do obróbki drewna.
Proces w skrócie wyglądał następująco:
Zacząłem od zgromadzenia bazy zdjęć. Znalazłem ich trochę w Internecie. Przerobiłem je również na mono, bo akurat taką kamerę miałem do dyspozycji:
Następnym krokiem było oznaczenie danych. Wykorzystałem do tego program "LabelImg":
Kolej na trening w chmurze. Wykorzystałem Google Colab do wykonania obliczeń. Efekty:
Na wykresach obserwujemy:
- Loss w dół (lewa strona): Model przestaje "strzelać na oślep" i robi coraz mniej prostych błędów.
- Precision w górę (prawa strona): Skuteczność rośnie – AI z każdą epoką coraz pewniej trafia w cel.
- Płaska linia na końcach: Widać, że pod koniec nic spektakularnego się już nie działo – model osiągnął swoje maksimum i sam przerwał trening, oszczędzając czas.
OK, spinamy w Pythonie w całość i oto efekt końcowy:
Sęki wydrukowane, ale na prawdziwych też działa! Mówię Wam, sprawdzałem (i czasami działa, trzeba tylko dobrze tam poustawiać :P).