Door Counting with Lidar and the Problem of Start-Stop Asymmetry
Track breakage is a big problem in flow analytics and lidar data quality, and it impacts the most complex use-cases in people-measurement – especially full journey tracking. In this post, though, I’m going to cover a subtle characteristic (it isn’t really a data quality issue in the traditional sense) of lidar data that can impact the simplest people-measurement use-case there is: measuring door counts. You may think that lidar isn’t a great technology choice for door-counting because it’s too expensive. And you’d be right (though that may be changing as price-points drop on very large volumes). But that doesn’t mean that lidar sensors aren’t used for door counting.
If we’re deploying a measurement system to measure an entrance, we’ll deploy camera. It’s cheaper for a small area and it is at least as accurate. Camera systems do an almost perfect job of door counting – so you really can’t improve on them much. They’re also less complex, more reliable than mechanical lidar, and don’t require additional software or an on-premises processor. All of that makes camera a slam-dunk for traditional door-counting which is why it’s the default technology choice.
On the other hand, if we’re measuring a complete space, we might use lidar or camera. The choice depends on a bunch of environmental factors including the size of the location, the height of the ceilings, and the mounting flexibility. Regardless of which technology we choose, we’ll measure the full customer journey in the location, from entrance to exit. That’s far more powerful than mere door-counting. But you know what? Part of that measurement is generating door-counting reports! Because there is no simpler way to understand total traffic than to count entrance crosses and even if you are doing full journey analytics, total traffic is important.
When we do this, we don’t dedicate a specific lidar sensor to detect line crosses. We just map the doors and rely on our view of the entire coverage area to detect when people enter or exit. But because entrances are directional (enters and exits aren’t the same thing), we can’t rely on our traditional metrics for every area (like visits) to do the job. So, while a traditional map of a space (like a store) will have the entrance areas marked out we’ll typically add a second map (our platform allows multiple maps of the same space) specifically dedicated to door counting. On that map, we’ll create virtual doors – the areas we want to track for threshold crossings.
Then we’ll use that map to generate door count specific information like this:
So, what’s the problem?
Well, when we first set up the logic for door counting and started to use it, we often found that our exit counts were suspiciously higher than our entrance counts. To figure out why, we used our journey playback tool in a special mode we call Start-Stop. In Start-Stop mode, journey playback doesn’t show the full path of a visitor. It draws a green dot for where the visitor started and a red dot for where a visitor stopped. If we’re doing a good job stitching, all the red and green dots will be in the entrances. But Stop-Start also turned out to be useful for figuring out what was happening in our virtual door-counting:
领英推荐
As you can see, the red dots go out to the very edge of the coverage map. The lidar system follows people right up to the furthest point of measurement. But notice how the green dots tend to appear considerably further inside the store. This is the problem we call Start-Stop asymmetry, and it has a simple explanation.
It’s obvious from the Start-Stop playback that the lidar sensors “see” past where most of the green dots originate. But we don’t typically see people entering there – only exiting. That’s because most lidar Perception systems take between 1-2 seconds to identify a point cloud in the data and start to transmit it. When a person leaves the area, that’s not an issue. The software has been tracking them all along and it follows them right to the edge of visibility. But when a person enters – particularly if they enter quickly, then they may cross the entrance area before they are identified as a person object.
When we first started setting up virtual doors, we tended to make the areas too small or put the crossing zones (to pick up direction) in the wrong place and we’d lose some of that bleed over. In fact, that’s also why we moved from just using Entrances in the normal map to a dedicated mapping layer. To make the doors big enough, we needed to map areas that were sometimes larger than what we wanted to allocate to the Entrance in the metrics. By having a dedicated mapping layer, we could make the metric Entrances whatever size we wanted and still get accurate door-counting.
The lesson here is simple. If you’re doing thresholds, throughput or door-counting for an area at the end of the coverage map, you need to think about the start-stop asymmetry. You may well need to place your entrance / exit lines in different places or draw them differently. Chances are that exits will be trivial to measure but entrances not so much.
Start and Stop asymmetries also make stitching quite a bit more complicated. Track breakage would be much less problematic if there wasn’t a re-acquisition time for the new object after an obstruction. That re-acquisition time can double or triple the distance gap in a stitch and make doing it correctly a lot harder. Unfortunately, that’s not something you can do much about. It’s just part of the problem of stitching.
In a very related fashion, Start/Stop can make it much harder to stitch sessions with long time gaps because an object was stable for a long time. Suppose, for example, that a car pulls into a curbside parking space. It may be there for hours – and during that time it will likely disappear from the lidar. No problem, you think. When the car pulls away, we’ll just stitch it to the original track. We even have a special LONG stitch for this kind of situation that can be triggered for specific areas like parking spaces. But if the car doesn’t have to back out slowly, it may merge into a lane in about the time it takes to be acquired. Suddenly the stitch is much less straightforward. We see this problem for people, too, in places where they may sit for long periods of time (like slot machines in casinos or seats at a food court). In the 1-2 seconds it takes the Perception software to start tracking a new moving object, a person may well have moved from their seated location into a stream of traffic. That enormously complicates potential stitching.
Fixing these kinds of problems is best done in the Perception software where you have control over the amount of time the system will hold an unmoving object and, in some cases, the frame rate of the system (which can help with faster object identification). Just be aware that it will never be perfect or instantaneous.
Start-Stop asymmetries are a fact of life in people-measurement, and your best defense against them is to understand why/when they happen so you can adjust your mapping/metrics accordingly!