One of the main use cases of Fyma is gathering live movement data from video streams. We do so with the use of object detection models and virtual sensors. These are the components you can choose after adding the camera to Fyma platform.
Object Detection Models
Model is a neural network responsible for detecting object from video frames.
Our models have been trained to recognize patterns in urban and indoor areas. Creating a one-size-fits-all model is nearly impossible. That's why we have different types of models such as
- outdoor: detects light and heavy traffic, micormobility and people in changeing lighting conditions
- people: specifically optimised for detecting people in unchanging lighting conditions, such as malls and museums
- top-down: optimised for detecting people in retail from top-down angle. This is useful when camera angle is low
- age: estimates whether the person detected is a child or adult
- gender: estimates whether the person detected is male or female
Virtual sensors: Gates and Zones
In the camera edit mode there is a section called “Tools”. We call them virtual sensors and these help you gather detailed information about your areas of interest. With virtual sensors you can define specific areas within the camera's field such as streets, doors, parks etc. The list in endless. Our algorithms initially detect the object, and when it crosses the defined sensor, we count the object.
Object is counted for when the center middle point of the object crosses the gate or zone.
Gate sensor is exactly what it sounds like - a gate. You can draw a line on the camera’s field of view and if an object crosses that line (or..goes through the gate 😉), that object is counted. You have to give the gate a name as well. Gates also have the capability to show direction of travel. Each gate has an A side and a B side. It is possible to filter out if objects cross from:
- A -> B
- B -> A
Side A and B are assigned automatically based on the slope of the gate. These are shown on the video preview as well.
Zone sensors allow you to define an area instead of just a line (gate). Zone sensors count how many objects enter this specific area as well as save the amount of time each object stays in the area.
Virtual sensors: naming
We suggest you to keep the name of the gate or zone short and unique. This name will later be used in the data analytics part to filter out the data corresponding to that paricular gate or zone. Since the names will be represented in the output data, it is easier and more understandable to query names that do not include "-", spaces, or special characters. All of those are allowed on our platform, but without those your own process is easier.
Virtual sensors: positioning
Correct object capture by Fyma requires proper positioning of virtual sensors
Counting accuracy is influenced by factors such as weather, distance from camera centerpoint, camera feed quality and model quality, with the latter continuously improving. Weather is the most challenging factor. Correct counting may be affected if feed is obscured by rain, snow, hail, etc. If the objects in video feed are not visible, models cannot count them.
When placing the counterlines, note that if the counterline is put to a position, which is very cornered or far, also then can the counterline counting be affected.
- Choose the feed where you need counterlines.
- Analyse the feed you want to study - what is the main focus of counting? Is it the road, sidewalk? What are the main trajectories objects move on - all this can be understood visually in a matter of minutes.
- Place the counterlines as shown as on an example down below (IMAGE 1):
- Counterline needs to be placed as centre of the feed as possible and a bit wider than the original length of the road/sidewalk. This will make sure that our object detection and tracking is able to understand the object the best.
- Make sure that counterline places are not intervening with any of the other objects that are crossing streets you do not wish to count with the specific counterline - it will double count or include objects you do not want in your data.
- Note also, that if the road/sidewalk is two-ways then one counterline should be used, because our counterlines store the direction they were crossed. This is why counterlines have A and B sides - we store movement from A→B, B→A, A→A, B→B. Longer lines preserve more data and there is no possibility that one object will be counted twice on one road or missed, because they drove on an unusual trajectory. (IMAGE 3 pink, purple and red lines)
- Placing polygons - area of your interest counts how many objects crossed the polygon and also their approximate time of being in that polygon.
If you want to understand from where the object entered the polygon, add extra counterlines in the edges of the polygon (IMAGE 3)
IMAGE 1 - Suitable linecounter position examples - lines are well defined. They capture objects in the centre of the frame (object is the most understandable and visible - object has enough distinguishing features)
IMAGE 2 - Poor linecounter position examples - lines too far (objects small), lines too short (might miss objects), lines on the edge of the frame (detection of half-objects is difficult - might miss object)
IMAGE 3 - Polygon example - to understand where objects enter the polygon, extra counterlines have been added
Virtual sensors: editing and deleting
Deleting a sensor
You can delete a sensor by clicking on its name X in the "My cameras" edit camera specific view. A pop up will appear to make sure you did not delete anything by accident.
Editing a sensor
Currently we do not allow editing of the preexisting sensors. To edit a preexisting sensor you essentially have to delete it first. If you create a sensor with the same exact name as it was previously, the data will be collected under the same sensor. A sensor with a new name, is counted as a completly new sensor (even if you just fixed a typo in the name). In data they will be represented separately.
If you want to edit the gate or zone, and for example change its location:
- Copy the name of the sensor you want to edit
- Delete the current zone/gate
- Create a new sensor in the correct location and assign it the previous name