Skip to content

Created alongside thesis for a school project. Custom principle of sensor fusion used for tree detection, orchard map creation and picture extraction of individual trees used for further analysis.

Notifications You must be signed in to change notification settings

disruspect/tree_photo_extraction

Repository files navigation

This program was developed as a part of thesis for a project implementing Agriculture 4.0 principles. In this project, a garden robot equipped with various sensors drives arround a row of trees and scans it. Based on the scanning, the data is processed and plotted onto a map. The resulting map is then supplemented with cropped images of individual trees for further analysis and processing. The rest of the README.md explains program structure and used variable parameters in czech language primarily for usage by coworkers.

Program má stále strukturu z vývojové části pro kontrolu mezivýsledků.

SYSTEMATICKÝ POSTUP SPOUŠTĚNÍ SKRIPTŮ:

stručný popis skripů + správné pořadí spouštění - vstupy a výstupy viz schéma.png 

složka data_memory jednotlivé výstupy z jednotlivých částí programu - možná simulace každého zvlášť 

data_gathering

sběr dat, formátování, ukládání do listů

data_merging

časové sjednocení pose3d, gps a lidar dat - interpolace

main fusion

fuze informaci o pozici robota - gps + pose3d
detekce stromů na základě center shluků v lidarových měřeních

lidarmap_cleaner

filtrování málo frekventovaných identifikátorů
určení souřadnic stromů z lidarové mapy

amap_maker

tvorba apriorni mapy ze znamych gps souradnic sloupů a známého počtu stromů v poli

camera_track

tvorba mapy z kamerových dat
detekce kmenů stromů na snímcích
následné určení souřadnic stromů pomocí známé vzdálenosti stromové řady a vlastností kamery

cameramap_cleaner

filtrování málo frekventovaných identifikátorů
určení souřadnic stromů z kamerové mapy

map_fusion

kombinace tří vstupních map na základě metody dva ze tří
tvorba výsledné mapy

photo_extractor

využití známých souřadníc stromů pro zisk oříznutých snímků
tvorba výsledné struktury tree_list

SHRNUTÍ A MOTIVACE ZA VÝVOJEM PROGRAMU Cílem vývoje bylo využít dat ze senzorů zahradního robota pro tvorbu mapy sadu a extrakci fotografií jednotlivých stromů. Vstupem je soubor .log produkovaný systémem osgar. Aktuální verze programu využívá dat z října 2022.

Pro implementaci na novych datech třeba zjistit strukturu logu a názvy kanálů: python3 -m osgar.logger NÁZEVLOGU.log

SEZNAM NASTAVITELNÝCH PARAMETRŮ:

main_fusion

max_range = 1700
min_range = 400
angle_range_low = 315
angle_range_high = 540
	- analýza pouze specifické oblasti z lidaru
	- vhodné zkontrolovat správnost určování shluků při změně

centlowlim = -150
centhighlim = 150
	- hledání shluků pouze v oblasti kolmo k robotovi
minclusterpoints = 10
maxclusterpoints = 120
	- min a max počty bodů v clusterech, pokud jsou mimo oblast, jsou zanedbávané

ident_limit = 200
	- pro indetifikaci - maximální možný rozdíl mezi predikovanou pozicí posledního centra a skutečnou pozicí na novém snímku
	- zbytečně vysoké, většinou do pár cm.
weight_pose3d = 0.1
weight_gps = 0.9
	- váhy zdrojů informací o pozici pro fúzi

lidarmap_cleaner

minimal_occurence = 4
	-pokud se strom nevyskytne minimálně 4x v listu je zanedbán

amap_maker

num_poles =3
	-definice velikosti analyzovaného pole

camera_track

distortion limit = 200
	-obdoba centerlowlim, centerhighlim - omezení se na střed snímku

map_fusion

lidar_weight = 0.3
camera_weight = 0.3
amap_weight = 0.4
	-váhy pro fúzi
merge_limit = 200
	-max vzdálenost pro zjištění odpovídajících stromů v jednotlivých listech

photo_extractor

correction = 30
	- ručně zvoleno pro dosažení odpovídajícíh výsledků na jednotlivých kamerách, které jsou v reálu vyoseny, ideálně = 0
default_crop
	- pokud YOLO nenajde strom, ořizne defaultní část
nazev_stromu
	- zvolene pojmenovavaní vysledných fotografií

About

Created alongside thesis for a school project. Custom principle of sensor fusion used for tree detection, orchard map creation and picture extraction of individual trees used for further analysis.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages