Valós idejű gyomfelismerés és számlálás neurális háló segítségével beágyazott Linux rendszeren
- GCC 10.0+ (13.2.1 használtam)
- OpenCV 4.5+ (4.8.1 használtam)
Linuxon:
g++ -std=c++14 cpp/yolo.cpp cpp/log.cpp -o xy `pkg-config --cflags --libs opencv4`
./xy <input_video_filename> <output_video_filename>
vagy ha RTX videókártya van a számítógépben:
./xy <input_video_filename> <output_video_filename> cuda
- A program elindítja a GPS-t(ha van), betölti a neurális hálót és megnyitja a videófájlt.
- Létrehozz egy log.csv fájlt amiben később menti majd, a GPS szerinti gyomok számát.
- Framenként keresi a képeken a gyomokat.
- Ha van gyom akkor elmenti a log.csv-be, és készít egy másolatot a videóról amit elment.
A GPS szálkezelve van, és mutex-el védve, hogy ne crasheljen el ha a másik szálon éppen olvasnánk miközben a másik szál írja.
Netron alkalmazás segítségével meglehet nyitni a betanított neurális hálózatot és meglehet nézni az outputot:
A képen látszik, hogy dimenzió 25200 és 6 sor van.
Doxygennel le generáltam hozzá némi dokumentációt.
https://github.com/ultralytics/yolov5
https://universe.roboflow.com/td/g3_weeds
https://universe.roboflow.com/garbage-time/weedbot-luupi
https://universe.roboflow.com/weed-detector-wcwse/weed-detection-ha0nz
https://universe.roboflow.com/elf-lh29c/weeddetectorv1