This week

There’ve been slightly fewer things to write about this past week. I did a little bit of work on the brambles (again), and otherwise have been trying to further the walkability project. In particular, I’ve been mostly unifying and optimizing the pipelines (so they’re not a headache to use and I can publish them), and trying to fit data into h3 - a hexagonal spatial indexing system.

Brambles

I did some more manual labor to improve bramble classification with TESSERA, particularly by manually choosing and labeling obvious examples which the model tended to classify as brambles. As previously discussed, labeling the other way around is much more complicated/impossible. For obvious reasons, it is also difficult to verify the validity of the classifications. Nonetheless, through this manual labeling, and by instead filtering by confidence thresholds generated by the KNN classifier, I obtained what could be much more realistic results.

h3

h3 is seemingly a really nice geospatial indexing system invented by Uber. Amongst other things, it is multi-resolution, with a uniform global grid, establishing easy search and gradient smoothing. The idea has been to use it in combination with the TESSERA & semantic context embeddings, to generate maps and path-finding frameworks that go beyond OSM transportation segments. h3’s hexagons can also go into a really high resolution (~0.9 square meters), but for my purposes and computational resources I have been mostly working with ~6.3 square meters.

To create the embeddings for the individual hexagons, I’ve been averaging the TESSERA embedding from the hexagons corners, and for the transportation segments, I’ve been querying OSM data for the points where the segment intersects the hexagon, plus one additional ~centroid point.

alt text
Hexagonal TESSERA embeddings, resolution 14/15.
alt text
Just out of curiosity - Hexagonal TESSERA embeddings, resolution 15/15 - no difference actually.
alt text
A sample of paths converted into the hexagonal indexing.