Giter Club home page Giter Club logo

noiseplanet's Introduction

linkedin blog

hei, I'm arthurdjn 🍁

I'm Arthur Dujardin, a deep learning engineer specialized in computer vision based in Paris, FR. I enjoy experimenting from latest research papers and designing engaging and creative AI applications.

I am interested in computer vision, natural language processing, reinforcement learning, and generative models applied to healthcare, space or arts. I contribute to open source projects or sometimes I build my own during my free time.


My Skills

noiseplanet's People

Contributors

arthurdjn avatar smermet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

noiseplanet's Issues

matching.match doesn't return edge for some GPS points

Hello again! Thanks a lot for your support during usage of "noiseplanet"!
When I use matching.match, it sometimes doesn't return edges
I plotted my GPS track data with the help of folium (1 photo, this is the part where noiseplanet didn't return edges)
image

and plotted this GPS track with the help of returned edges (2 photo , this is the part where noiseplanet didn't return edges)
image

I would like to share with my google colab notebook
I implemented this code, where network_type is 'drive' :
G = ox.graph_from_point(POINT, dist = AO, network_type="drive", simplify=False, retain_all=True, truncate_by_edge=True)

https://colab.research.google.com/drive/184UWW4xIOUlP8Gi7bPlM6_76VWOAlcsp?usp=sharing

algorithm

Hello! Dear developers! is there full information about algorithm of noiseplanet ?
Thank you!

Not working with latest OSMnx release

Error

AttributeError: module 'OSMnx' has no attribute 'get_nearest_edges'

raised in

/noiseplanet/matcher/model/nearest.py", line 87, in match_nearest_edge

Are there any plans updating this to work with the latest OSMnx version?

Does the input track data have to be WGS84?

Hi, dear developer! I tried your example and I changed the input track to my data expressed by WGS84 coordinates as follows,

track=np.array([[104.02605, 30.62130], [104.02590, 30.62138], [104.02548, 30.62161], [104.02529, 30.62170], [104.02522, 30.62175]])
But an error was reported, I wonder the reason for this? By the way, how can I import the 'plot_html' package?
2022-09-29 142938

Exception raised when no matching node is found

matching.match(graph, track, method='hmm') raises an exception when no matching node is found and stops the program. Can we skip the point is there is no matching node found in order to prevent the program from ending?

hmm model misses out last few gps points

Hi Guys

I am trying to use the hmm model for map-matching. After running the hmm algo for various datasets, I found out that the algorithm does not match the last few data points (gps) to desired road nodes. It maps these data points to the road nodes occurring much before it.
Please find the screenshots. The highlights portion in blue color shows the points which are not matched properly.
hmm_matched_plot
hmm_matched_plot2

Thanks
~ Akshay

Index is out of bounds

import numpy as np
from noiseplanet.matcher.model.route import route_from_track, graph_from_track
from noiseplanet.matcher import matching
import pandas as pd

track = np.array([[22.268942156, 114.184837977],
[22.26886763, 114.184626828],
[22.26876443, 114.184181684],
[22.268763939, 114.184155534],
[22.268766766, 114.184134369],
[22.268774784, 114.184118914],
[22.268783376, 114.184106381],
[22.268798513, 114.184089471],
[22.26892887, 114.18396158],
[22.269265791, 114.183630446],
[22.269747789, 114.183162936],
[22.270157877, 114.182682855]])
graph = matching.model.graph_from_track(track)
track_coor, route_corr, edgeid, stats = matching.match(graph, track, method='hmm')

error:

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-1-b90d1030b8a8> in <module>
     17 [22.270157877, 114.182682855]])
     18 graph = matching.model.graph_from_track(track)
---> 19 track_coor, route_corr, edgeid, stats = matching.match(graph, track, method='hmm')

~/nb/p/py/noiseplanet/noiseplanet/matcher/matching.py in match(graph, track, method)
     61         track_corr, route_corr, edgeid, stats = model.match_nearest_edge(graph, track)
     62     elif method == 'hmm':
---> 63         track_corr, route_corr, edgeid, stats = model.match_leuven(graph, track)
     64     return track_corr, route_corr, edgeid, stats
     65 

~/nb/p/py/noiseplanet/noiseplanet/matcher/model/leuven.py in match_leuven(graph, track)
    123         lon_corr.append(lon)
    124 
--> 125         _, _, distance = geod.inv(track[idx][1], track[idx][0], lon, lat)
    126         proj_dist[idx] += distance
    127 

IndexError: index 12 is out of bounds for axis 0 with size 12

PS:
Origin issue is from user @1213314896

#11 (comment)

error during usage of noiseplanet.matcher.matching.match(graph, track, method='hmm')

Hello dear developers! Thank for your work! I am trying to implement noiseplanet in my master thesis. I tried to use noiseplanet.matcher.matching.match(graph, track, method='hmm') to receive nearest edges for GPS points. While using this package I get this error "IndexError: index 29 is out of bounds for axis 0 with size 29". Could you help with that?
Thanks in advance

Recalling noiseplanet.matcher

I am not able to call planet matcher as I am getting the following

from noiseplanet.matcher import matching
Traceback (most recent call last):

  File "/var/folders/dz/vjf334f52x1c7_l620cdd9480000gn/T/ipykernel_23100/48599818.py", line 1, in <module>
    from noiseplanet.matcher import matching

ModuleNotFoundError: No module named 'noiseplanet.matcher'

Index out of range HMM

I am getting an error of "list index out of range" in this part of the code "edgeid[I] != edgeid[i+1]"

image

I already tried to change the array but it didn't work.

This is happening because the function match below is returning an empty list. Do you know why this is happening?

image

'Index' object has no attribute 'upsert'

Hello there,

I'm trying to use noiseplanet to correct GPS corrd.
However, when using hmm method it returns this error message.

Any ideas?

Thanks

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_23918/3256148260.py in <module>
----> 1 track_coor, route_corr, edgeid, stats = matching.match(graph, lat_long_data_old, method='hmm')

~/anaconda3/envs/data-env/lib/python3.9/site-packages/noiseplanet/matcher/matching.py in match(graph, track, method)
     61         track_corr, route_corr, edgeid, stats = model.match_nearest_edge(graph, track)
     62     elif method == 'hmm':
---> 63         track_corr, route_corr, edgeid, stats = model.match_leuven(graph, track)
     64     return track_corr, route_corr, edgeid, stats
     65 

~/anaconda3/envs/data-env/lib/python3.9/site-packages/noiseplanet/matcher/model/leuven.py in match_leuven(graph, track)
     94         lat = graph.nodes[node]['y']
     95         lon = graph.nodes[node]['x']
---> 96         map_con.add_node(node, (lat, lon))
     97     edges_id = list(graph.edges)
     98     for edge in edges_id:

~/anaconda3/envs/data-env/lib/python3.9/site-packages/leuvenmapmatching/map/inmem.py in add_node(self, node, loc)
    191             if type(node) is not int:
    192                 raise Exception(f"Rtree index only supports integer keys for vertices")
--> 193             self.rtree.upsert(node, (loc[0], loc[1], loc[0], loc[1]))
    194 
    195     def del_node(self, node):

AttributeError: 'Index' object has no attribute 'upsert'

Hi, dear developer, I have a quick question

微信截图
Hi, dear developer, I have a quick question,Hello, dear developer, I am a college student from China, I have a small problem, I am still running the example you gave, but there is an error in the process of running, I don't know what the problem is, I hope to get your reply, thank you!

Incorrect Map Matching Results

I am getting the following result when matching gps with nearest method
image

To reproduce the above,

import numpy as np
from noiseplanet.matcher import matching
from noiseplanet.ui.foroute import plot_html

track = np.load('track.npy')
np.save('track.npy', track)
graph = matching.model.graph_from_track(track)
track_corr, route_corr, edgeid, stats = matching.match(
    graph, track, method='nearest')
plot_html(
    track, track_corr=track_corr, route_corr=route_corr,
    proj=True, show_graph=True)

where track.npy is attached in track.zip.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.