Insect Detect
Allgemeines
Hier beschreibe ich die Umsetzung (erstmal nur Nachbau) des Projektes Insect Detect, zu finden auf Github
Inititiert durch einen Kollegen, der im Rahmen seiner Taetigkeit beim Biosphärenreservat Bliesgau ein Projekt zur Erfassung von Insekten (Voegel, Fledermaeuse, ...) angestoszen hat, habe ich im ersten Schritt eine eigene (Hardware-)Variante des Projektes auf Github umgesetzt und werde dieses als Basis für zukünftige Adaptionen nutzen.
Stueckliste
| Komponente | Kosten (ca.) | Full Setup | Minimal Setup | Test Setup |
|---|---|---|---|---|
| OAK-1 Auto-Focus (OpenCV AI Kit) | 145,99 € | * | * | * |
| Raspberry Pi Zero 2 W | ~22,00 € | * | * | * |
| Micro SDXC card 256 GB | 28,99 € | * | ||
| Micro SDHC Card 32 GB | 8,95 € | * | * | * |
| Micro USB to USB A adapter, angled | 5,50 € | * | * | |
| Micro USB to USB A adapter | 1,85 € | * | * | |
| USB A to micro USB cable, 20 cm, angled | 5,60 € | * | ||
| RPi Power Supply | 7,99 € | * | ||
| RPi CPU Heatsink | 1,20 € | * | * | |
| RPi Header | 0,95 € | * | * | |
| RPi Stacking Header | 1,60 € | * | * | |
| RPi Spacer Bolts 10 mm | 3,50 € | * | * | |
| RPi Spacer Bolts 20 mm | 2,60 € | * | * | |
| Thermal Pad (1 mm) 50x50 mm (optional) | 4,79 € | 2 | 1 | |
| PiJuice Zero UPS pHAT | 54,23 € | * | * | |
| PiJuice 12,000mAh LiPo Battery | 39,40 € | * | * | |
| Fibox PC 162513 Enclosure | 89,99 € | * | * | |
| Fibox TM 1625 Mounting Plate | 7,49 € | * | * | |
| Cable Gland PG 13.5 | 0,99 € | * | * | |
| Cable Gland PG 13.5 Locknut | 0,27 € | * | * | |
| Stainless Steel Cable Tie | 3,90 € | * | 8 | 6 |
| Cable Tie Mount | 0,99 € | * | 8 | 6 |
| Acrylic Glas (2 mm) 40x40 mm | ~5,00 € | * | * | |
| EPDM Sealing Strip 20x5 mm | 6,25 € | * | * | |
| Silica Gel Pack 50 g | 15,99 € | * | * | |
| Solar Panel 6V 9W | 98,30 € | * | * | |
| Solar Panel Bracket, Medium (optional) | 11,75 € | * | * | |
| Solar Panel Extension Cable, 1 ft | ~7,00 € | * | * | |
| Solar Panel Micro USB Adapter | 3,88 € | * | * | |
| Voltaic 12,800mAh Li-Ion Battery | 83,55 € | * | ||
| 2x Heatsink 40x30 mm (optional) | 2,35 € | * | ||
| HPL Sheet (4 mm) 350x250 mm | ~5,00 € | * | ||
| Aluminium Square Tube (23.5x23.5 mm), 1.5 m | ~16,00 € | * | ||
| 4x M4 20 mm Screws (internal hexagon) | ~2,00 € | * | ||
| 7x M4 40 mm Screws | ~3,00 € | * | ||
| 2x M4 60 mm Screws | ~2,00 € | * | ||
| 21x M4 Hex Nuts | ~3,00 € | * | ||
| 18x Flat Washer (e.g. M4 15 mm) | ~3,00 € | * | ||
| Pipe Clamp (60.3 mm) 70 mm + screws & nuts | 5,09 € | * | ||
| Pipe Clamp (60.3 mm) 350 mm + screws & nuts | 7,81 € | * | ||
| Flower Platform (e.g. 350x200 mm) | ~17,00 € | * | ||
| Total cost | ~704 € | 531 € | 187 € | |
| Total cost with optional components | ~730 € | 547 € |
Hardware
Der Arbeitsablauf ist grob gesagt: Kamera (Luxonis) -> MicroPC (SBC Raspi (Zero)) -> PC (Linux, Win, Mac).
Kamera
Der Kamera (OAK-1 von Luxonis) hat eine besondere Bedeutung, da sie als eine der wenigen (?) Kameras durch die eingebaute VPU (Vision Processing Unit) Myriad X [1] eine Vorverarbeitung (Object Detection) des Videomaterials durchfuehrt und der nachgeschalteten Einheit bereits fertige Trackingdaten zur Verfuegung stellt.
RasPi
Zum Raspi Zero gibt es eigentlich nicht viel Neues zu sagen. Bei der Wahl des USV-Moduls sollte man berueckichtigen, dass das PiJuice Zero UPS pHAT schwer oder gar nicht mehr zu beziehen ist.
Da ich eines davon noch besitze hier eine kleine Anleitung zur Inbetriebnahme.
Die IP-Adresse des Pi wird im LoginScreen (HDMI) angezeigt.
Im Wesentlichen laufen hier 2 Programme.
- Das Python Programm webapp.py, welches eine Webschnittstelle zum Pi herstellt.
- Das Python Programm trigger_capture.py, welches die "Detections" als Dateien (meta in einem Ordner
Notebook
Zur Auswertung der gespeicherten Daten (jpg-captures und metadata.csv) von der SDCard des Raspi.
Die Anforderungen an die Hardware:
- USB 3
- Outdoor-Modell
- lange Akkulaufzeit
- LTE
to be continued ...
Software
chris@worker:~/YOLOv5-cls> python3.12 -m virtualenv env_yolov5 created virtual environment CPython3.12.11.final.0-64 in 207ms
creator CPython3Posix(dest=/home/chris/YOLOv5-cls/env_yolov5, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/chris/.local/share/virtualenv) added seed packages: pip==25.2 activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator