streetcomplete / StreetComplete

Easy to use OpenStreetMap editor for Android
https://streetcomplete.app
GNU General Public License v3.0
3.92k stars 358 forks source link

Possibility of completion by voice command (IA) #4719

Closed Breizhux closed 1 year ago

Breizhux commented 1 year ago

Hello, I would like to submit an idea to allow to complete openstreetmap easily and safely while driving a car. The idea is to be able to answer simple questions while we are on the spot. Your application does this very well, but is unusable if we are driving a car.

In fact, I think many users, like me, would like to contribute much more to openstreetmap. But this requires time and a minimum of investment. But when we drive a car, we don't do anything else but pay attention to the road, what a waste of time! But if a voice command system could use this time to contribute to openstreetmap without losing attention to the road (or even increasing it), it would greatly increase the answers to some types of questions as found on streetcomplete.

The idea would be to ask the questions, and formulate them so that they are answered with a small number of answers (typically yes/no). Why use few words for the answers: it would allow to have very small recognition models, while having a high recognition accuracy. The use of local models on the phone could be done in a second time.

It would also be necessary to have such a system running in the background in order to leave room for guidance applications (such as OSMAnd). Indeed, many users use a navigation application in the foreground. It would be a pity if the only time a voice contribution feature works is on routes we know.

Finally, it is noted that only certain types of questions can be asked, because they must be adapted to what is safely observable at the wheel of a car. For example, we can ask how fast a road is limited.

The advantages of such a feature are numerous. It would allow a contribution to openstreetmap in a much more playful way, extremely simple and with the help of a much larger number of users. Furthermore, we could detect road changes much faster if we analyze the driving behavior against the map data. Or it could also be done with the camera, but that seems more complex to me. Typically, if I am driving at 50km/h instead of 70, we could ask if the speed limit is still 70, and then ask if it is 50km/h if the answer was yes. Or if I slow down abnormally on a straight road, then accelerate again, ask if the road is still straight, or if a traffic circle or traffic light has been added. Finally, such a system would open wide the doors to an "overlay" for openstreetmap to collect traffic data (traffic jams, accidents, dangerous areas, etc.).

I have discussed this topic on several forums. Several people expressed their enthusiasm if such a project existed. I hope there is something to do with it.

This feature, although very ambitious, would, I think, be very much appreciated by many people.

Sincerely.

NB: For offline speech recognition on android, there is the project : vosk. It has the ability to do recognition on a large number of languages.

mnalis commented 1 year ago

I don't think that would be a good idea at all.

Humans are notoriously bad at overestimating their capabilities, especially when driving a vehicle. Nearly every driver will tell that they can multitask without it affecting their driving ability, but it has been shown time and again that is simply false.

This would seriously put people lives at risk. The more one thinks it wouldn't, the more it would actually. So please don't drive and multitask (at least until we get established working full self-driving cars which do not require human driver at all)

If you would like to map while driving in a car, take a passenger and let them map, and you concentrate on the driving. Or let them drive, and you concentrate on the mapping. In any case, one doing the driving should not be distracted by other tasks.

westnordost commented 1 year ago

Moreover, I have to say that this is simply out of scope. Very far out of scope.

In such a voice mode, no map would be shown (or at least not mandatory) as quests would automatically be selected by vicinity, similar to #48 which was also closed for being out of scope.

Hence, if no map is shown, any quest where geometry must be shown is incompatible with this UI approach. E.g "What's the surface here?" - from where to where on this road is exactly "here"? Or even "Does this bench have a backrest? - which one? There are several close to each other.

Very few quests remain that would be compatible with a voice-only control. And half of them would furthermore not be solvable from a moving car (e.g. "Does the toilet in this place have a baby changing table?")

The UI concept you are thinking of and could be more easily be bent into allowing voice-only control is one that has been implemented in https://github.com/Teester/Whats-Nearby Unfortunately it didn't really lift off as far as i know.

Breizhux commented 1 year ago

Thank you for your answers.

As far as attention is concerned, I don't think it's any more dangerous to answer yes or no questions from time to time than it is to have a conversation with your neighbor... Moreover, the study you sent me shows that it is this type of question that makes driving the least dangerous. But in our case, if the questions are about the road, it increases the attention on the road we are driving on. So I think the risk is very measured. Much more than a Waze that requires you to touch your phone, and yet waze is not known to have created a large number of accidents.

Then, I made it clear that all the questions must have an answer accessible to the driver. After thinking about it, it could even be interesting not to ask any question when driving in the city. And this for 2 reasons: for precision and security. Completing openstreetmap with simple questions decreases the precision of the answers, and the complexity of the answers. It will be much easier to answer if you are on foot. In the city, it's a good thing, there are people on foot who can contribute. The second reason is for security, because there is much more movement in the city than in the countryside, and therefore requires much more attention. So the goal is to get attention from time to time on the road when it is monotonous.

So I wasn't very specific. But when I posted my previous message, I had in mind to complete data on roads not frequented on foot, in the countryside or on highways in particular, I had not asked myself the question for the city. Personally, I only use OSMAnd as a GPS, and there are many errors on roads that are not very frequented on foot, or not at all because they are dangerous on foot.

So maybe it's time, like issue #48, to consider having an automatic question selection function depending on profile (car/bike/walking) and driving behavior. Because many errors would be solved quickly on roads that are not very frequented other than by car on openstreetmap. And since it is more dangerous in a car to note where there is an error and what the response to that error is, the maps remain wrong today. A well implemented solution would significantly boost the quality of navigation route calculations on openstreetmap data with correct data!

As far as the questions are concerned, they are obviously aimed at improving the road maps when I'm driving, and the detailed maps when I'm walking. It doesn't make sense to ask detailed questions if I'm driving...

Thank you for letting me know about this other project. I will ask them the same question.

Have a good one!

westnordost commented 1 year ago

If you want to contribute information on less travelled roads while driving, I'd suggest to look into mounting a (dash)cam on your vehicle to record photos automatically while driving and upload these to mapillary or kartaview. These pictures can then be used to efficiently add the missing information from your (or anyone else's) home computer.

westnordost commented 1 year ago

And the most helpful footages are of course 360° shots but no idea how to mount this safely in a car.

mnalis commented 2 months ago

As for video mapping, these days I'd suggest FOSS and decentralized solutions like Panoramax instead of closed sourcee Facebook's Mapillary or Kartaview...

For adding audio notes about missing features, audio mapping wiki might help