Walking incorrectly identified as cycling/transport

Since the upgrade to Arc 3.6.0 I have noticed new behaviour in the app when tracking my activities.

While walking and looking at the app, it is typically showing me as either ‘cycling’ or ‘transport’ rather than walking. I’ve been using the app for a few months and have not seen this behaviour before - it has always shown me as ‘walking’ while walking.

I can correct it while still walking, by tapping on the line I have created and adjusting the activity, and it will then be the correct activity but perhaps 100-200m later, it will show the subsequent travel as ‘cycling’ again. If I leave it to autocorrect at the end of the activity, it doesn’t self-correct in more than a few cases.

For example, I was walking today which flagged as cycling. I corrected it to walking, and the new travel was still considered cycling so I didn’t correct it again. The app later has updated the incorrect choice of cycling to the correct choice of walking, except for part in the middle where it has declared it to be ‘transport’.

This is new behaviour so perhaps there is a refined maximum speed in 3.6.0 and my fast walking is being misidentified because of my personal speed? I am not a professional speedwalker, I just don’t dawdle along, but it’s a bit annoying to need to keep changing back when it wasn’t happening previously.

Thoughts welcomed!

Hm. I have a theory about what’s happening!

Arc 3.6.0 doesn’t change any of the activity type detection system - that stuff is all almost completely unchanged. However one of the improvements in Arc 3.6.0 is reduced path smoothing, due to newer iPhones producing much less erratic location data. Newer phones provide less noisy, chaotic location data, so Arc’s recording engine doesn’t have to as aggressively smooth it out like it had to before. I suspect what’s happening is this new, more accurate sample data is confusing the activity type classifiers that have been trained on your previous data, so the classifiers are temporarily befuddled.

The good news is those activity type models get updated in a background each day, to keep up with any confirms/corrects you’ve done. So hopefully within a few days the models will be updated to understand what the new, more accurate data looks like, and stop being confused by it.

At least, that’s my best guess at this stage. Nothing else related to that stuff has changed at all, so if it’s not that then it’ll be me that’s very confused!

Anyway, if I’m right about the cause then it should self correct within a few days. Fingers crossed.

1 Like

Thanks @matt. It’s an interesting theory and in the absence of anything better, let’s go with that. I’ll try for a week and then report back if it is improving or still problematic.

I’m using an iPhone 11 Pro, for reference.

2 Likes

It hasn’t been a week but this was a weird screenshot showing the changes between car (black), plane (purple) and bicycle (teal) at breakneck speed!

If that was a real flight, it would have been extremely turbulent!!

It’s all been corrected to car subsequently, which took a bit of fuss and some of them changed back to incorrect modes of transport, but the record from that day seems accurate now. I’ve been updating incorrect segments every day, so here’s hoping for a better outcome within the next few days because it’s a nuisance at the moment.

Hm. I would’ve expected it to adapt around the change within only a few days. On my test devices I did notice 1-2 days of weirdness when I made the latest changes to recording smoothing.

Although… I have been tweaking that smoothing over the past year, since the last public release, so the change would’ve been incremental on my test devices and for private beta testers, but a much bigger single change for everyone else. I wonder if that’s why it’s being such an extreme shock to the activity type classifier.

Fingers crossed the classifier models don’t take much longer to adapt. They definitely will, but it’s clearly taking longer than I expected :thinking:

1 Like

Aside: One of the weird things I learnt about transport data while building the activity type classifier system some years back is that airplanes spend the majority of their time moving very slowly, and at ground/sea level. Most of their time is spent moving slowly around airports, rather than flying! Which explains why the classifier sometimes makes the ostensibly nonsense guess of “is this an airplane?” Heh.

1 Like

It keep second-guessing itself too. I walked this morning and was recorded as a weird combo of walking + cycling + running + car. I left the app open for a while and it slowly updated itself to mostly walking after “importing” was flashing many times in quick succession. Great, I thought, it’s learning.

3 hours later I open the daily timeline again and it’s converted almost entirely to cycling + car for no obvious reason. :man_facepalming:

I’ve forced it to accept walking now, and hopefully it stays that way. :crossed_fingers:

General update: it is still recognising 90% of my walking as cycling. I’m not sure why I am the only person experiencing this problem.

Is there any way that Arc could ease in the transition? Have the smoother start as aggressive as it used to be, and then get less aggressive over a week or so?

That way people won’t be bombarded with incorrect classifications, they’ll just see slight more unconfirmed trips while everything is adjusting themselves.

As an update, the recognition of transport modes has not improved. This morning I walked 3 km at a steady pace, and have been recognised as cycling.

Over the weekend, I drove to a nearby forest and walked on hiking trails. The app recognised the driving time as a combination of cycling / transport / walking / car, while the walking itself was recognised as cycling / walking / transport. I am needing to classify every single activity closely, including splitting activities and flagging data as bogus, which was not the case before 3.6.0.

If I’m right about it not taking long, then it’s already too late for considering that kind of transition. It should have adjusted by now. Though judging by @moo’s experiences, for some it’s taking longer than I expected.

Hmm. I wonder if something else is going on. Some other problem. I’ll have a think - maybe there’s some other change that could be causing it. Nothing’s come to mind so far, but… it’s definitely taking longer to adjust than I thought…

As an update, today I walked and drove my car which created 19 instances of movement between places. 2 of them were correctly identified and 17 had to be corrected.

Walking was mainly identified incorrectly as cycling.

Driving my car was incorrectly identified as cycling or transport in all but one movement sequence.

Hmm. Do you think it’s improving at all? Or still just as bad as right after the update?

Aside: “Transport” is a special case label, there to show that Arc has such low confidence in its guess that it’s not even going to show you what it guessed. You shouldn’t typically see “transport” for routes you regularly travel. Which makes me wonder if something else is going wrong, and my hunch on the cause is incorrect…

No, I don’t think it’s improved much since the upgrade - certainly not a significant difference from the first day as far as I can tell.

Ugh. Then either my guess on the cause is wrong, or it’s taking way way longer than I thought.

I’d like to send you a private beta build that includes Arc’s new, unreleased Core ML activity types classifier system, if that’s okay. If that fixes the problem… actually I’m not sure if that’ll even help me narrow down what the problem is. But if it fixes the problem that’s progress!

There’s no risk with installing the private beta. It’s all rock solid safe. It’s just got a few unreleased features in it, and some debug views (that you can comfortably ignore).

If that’s cool with you, I’ll send the invite to your gmail address.

That’s fine with me, thanks. Sorry for this being such a nuisance.

No worries! It’s all part of the debugging process :grin:

1 Like

The recent change for choosing ‘stationary’ over ‘bogus’ has probably helped a bit with the chaos of GPS drift around my place of work. That doesn’t seem to have any impact on the categorisation of movement between places, but I have seen some improvement through that process of ‘stationary’.

Oddly, before 3.6.0 I didn’t ever categorise or correct anything except wild multi-kilometre spikes which were clearly wrong.

1 Like