Traffic counting using neural networks: how and where it is applied

Neural networks are used to count people in public transport, in a store, on the road, and in other situations

queue length: 8

Where and why are counting using neural networks used?

Cash register
40% of buyers are ready to refuse goods if the queue at the checkout seems to them long. Neural networks predict and   count the number of people at the cash desk to prevent the formation of queues and   evenly distribute the load on   cashiers.

On the bus
With the help of neural networks, they count traffic in a bus, shop or cafe. Thanks to this data, the owners of establishments predict revenue.

For assessing the profitability of a retail outlet
Neural networks determine the number of people who pass along the  street. Based on these data, you can calculate the profitability of opening a cafe, shop or other business in this place.

For designing routes
With the help of neural networks, you can analyze the movement of people in a city, a shopping center or a warehouse. This will help you build the best route or increase conversion.

Our cases

The problem of carriers on urban and intercity routes is inattentive or unscrupulous conductors who do not collect part of the proceeds. At the request of one of these organizations, we developed a solution that counts the number of passengers on a bus and helps the carrier not lose money.

Bus Passenger Counting

Bus passenger counting demonstration

First iteration
We installed a camera in front of the door and trained the system to recognize the contours of people.
The system determined the number of passengers with an accuracy of 80%.
Poor quality of detection of objects in buses. Dense crowds of people do not allow you to correctly distinguish people separately. Solutions work well for low crowding. In the case of high crowding, the figures merge into one or simply get lost.
Low quality of feature extraction for assigning object uniqueness. The system does not take into account the uniqueness of people.

Second iteration
Then we changed our approach and installed cameras over the passengers' heads. As a result, the accuracy increased to 90%.
We were also able to assign unique IDs to passengers and count not only people who entered and exited, but also determined their route of travel for passengers.

During the development process, we tried and changed several approaches
Mistakes and Solutions
10% of errors arose due to the growth of passengers. For the calculation, we used a virtual threshold. When the passenger's head crossed it, we recorded the entrance or exit, but due to different heights, it was not possible to find a perfectly adjusted threshold. To solve this problem, we moved the cameras above the threshold of the bus. This helped increase the counting accuracy to 99%.

Third iteration
We have prepared a solution for deployment in buses. The main task is to form a software and hardware complex so that it can be placed directly on the bus and so that the processing speed is in real time.
For this, they rewrote from Python to C ++. Conducted tests of the software and hardware architecture of CUDA and NPU.
We checked the work on various single-board computers.
As a result, the system placed in the bus filmed video, counted passengers and threw off reports when a WiFi connection appeared.

Counting people in line
Our neural network counts people in line by photo or video and helps to avoid overload at the checkout or in any other public place.

Counting people in line
Our neural network counts people in line by photo or video and helps to avoid overload at the checkout or in any other public place.

queue length: 5