Skip to main content
Smart City

The camera trainer

How machine learning helps security cameras recognize vacant parking spaces

André-Luis Tournoux, an expert in video analytics, sits at a desk with an intelligent growth camera, a laptop and a miniature parking lot with miniature cars on it.

Seeing and understanding — that is the working principle behind intelligent security cameras such as the FLEXIDOME IP starlight 8000i. In this interview, the video analytics expert André-Luis Tournoux talks about why teaching a device is child’s play and what new possibilities this presents.

Intelligent software, sharp eye

How do you teach a child what a car looks like? Simple — show the kid a car. Courtesy of Bosch image-processing software, this proven method of early education is just as effective for security cameras. Called Camera Trainer, the software enables these cameras to learn. Embedded in devices such as the new FLEXIDOME IP starlight 8000i, the software opens the door to unprecedented applications. The latest-generation camera comes with some major upgrades — higher-definition images, optimized light sensitivity, remote setup via smartphone or tablet — but the most innovative feature of this camera generation is certainly Camera Trainer. André-Luis Tournoux helped develop the software at the Bosch location in Eindhoven, Netherlands.

The Flexidome IP starlight 8000i Dome security camera from Bosch with buildings in the background.
Inside, a machine learning algorithm is at work: the Bosch FLEXIDOME IP starlight 8000i.
André-Luis Tournoux sits on a bench and explains something to an audience.
André-Luis Tournoux explains the technology behind Camera Trainer.

Mr. Tournoux, what is Camera Trainer?
It’s a machine learning software embedded in high-end Bosch IP cameras for intelligent video surveillance systems and security systems. It teaches the camera to detect objects and states. If the camera recognizes a predefined scenario, it executes a predefined action, such as counting or triggering an alert in real time.

How do you train a camera?
Much like with many other types of machine learning software, you need sample images of objects. You have to show the camera which objects or situations are relevant. When using Camera Trainer, depending on the situation, between 25 and 250 samples will be enough for it to have learned what something looks like — a car, say.


sample images may be enough to teach a camera to recognize an object.

André-Luis Tournoux in the Bosch Building Technologies showroom in Eindhoven in front of several screens showing camera shots.
Everything under control: André-Luis Tournoux in the Bosch Building Technologies showroom in Eindhoven.

What roles do people and technology play here?
A computer program allows users to mark relevant things on images by simply dragging a box around them with a mouse. The system memorizes the objects’ outlines and can then recognize them on its own. This is what we call a positive sample. Negative samples are generated in an analogous way. These are any objects or backgrounds that are not the object in question.

Can you give us an example of an application?
This technology’s capabilities can be applied to various monitoring situations. For example, the camera can be trained to automatically detect if a parking space is occupied. For this purpose, vehicles are marked on images as positive samples, and free parking spaces as negative samples. This way, the camera learns what a car looks like and what an empty parking space looks like, and can subsequently distinguish between the two. The video camera can then automatically determine how many vacant parking spaces are available in a given area.

Parking-lot surveillance in three easy steps: how to train a camera

A miniature parking lot with toy cars on it from above. A white and blue marking around the parking spaces is to show how the camera trainer software is shown to recognize the parking spaces.
In principle, Camera Trainer learns everything it needs in three steps. In our example, we want the camera to recognize occupied parking spaces. The first step is to select the relevant area. In a configuration program, a mouse is used to mark the parking space.
A miniature parking lot with toy cars on it from above. A white-green marking around one of the toy cars is supposed to show how the camera trainer software is shown to recognize that of vehicles.
In the second step, the objects that need to be recognized are marked — in this case, vehicles. In other words, the machine learning software is taught what a car looks like. For this purpose, various cars are marked. This allows the software to learn their typical outlines.
A miniature parking lot with toy cars on it from above. A white and red marking around an unoccupied parking space is intended to show how the camera trainer software shows the detection of free parking spaces.
In the third step, the software is shown what is “not a car.” And in this case, “not a car” means a vacant parking space. Steps two and three are repeated until Camera Trainer is capable of making this distinction autonomously, and automatically flags cars and vacant parking spaces.
A miniature parking lot with toy cars on it from above. A marking of the parking lot and the individual vehicles shows how the camera recognizes the vehicles. The number of vehicles is shown in the top left corner of the screen.
Got it! The software has learned what a car and a vacant parking space look like. It now applies this knowledge. In our example here, the camera automatically counts the number of occupied spaces. The result is shown in the top left hand corner: there’s one car in the upper row, and two in the lower row.
A miniature parking lot with toy cars on it. A marking of the parking lot and the individual vehicles shows how the camera recognizes the vehicles. The number of vehicles is shown in the top left corner of the screen.
There are of course other interesting scenarios: for example, Camera Trainer can keep track of how long a car has been parked. Or it can sound the alarm if a car is suddenly no longer there, and has possibly been stolen.

What is so special about this video security system?
Two things. For one, intelligent video analytics tools are already very good at detecting moving objects. Gone are the days when people had to stare constantly at screens, concentrating hard on spotting any activity. Camera Trainer makes that job even easier and more efficient. Thanks to this new software, objects can now be detected and tracked even when they are not in motion. That’s new. This means cameras can now determine how long a car has occupied a parking space.

You said there were two things that were special
There isn’t very much computing power installed in security cameras. To be able to run machine learning algorithms in a camera is an outstanding achievement. Our technology can do it because users can run the Camera Trainer configurator on a standard computer to handle the relatively complex task of object and background detection, and then deploy this capability by uploading a slimmed-down version of the program to the camera. This is where we benefited from the extensive know-how within the company. Units such as Connected Mobility and Computer Vision from Bosch corporate research helped develop Camera Trainer. And product management in the Building Technologies division ensured that Camera Trainer could be integrated into the camera.

André-Luis Tournoux in conversation with a not visible conversation partner.

What will the next evolutionary step in smart security cameras be?
The safety and security industry will have to think differently about the way it develops solutions. With our new open camera platform, we are leading by example. It combines built-in intelligent video analytics with superb performance and the ability to freely add software apps. And as it runs on a commonly used operating system based on Android Open Source Project, it is accessible to anyone who wants to create and deploy customer-specific apps and services.


André-Luis Tournoux leaned at a table with small toy vehicles on it.

André-Luis Tournoux

Video analytics and BI business developer at Bosch Building Technologies

I’m constantly learning new things about IT and technical innovations.

For André-Luis Tournoux, the world is a village. The Frenchman studied applied mathematics, computational physics, and finance in Brazil and France, and joined Bosch in the Netherlands in 2017 after working in management and IT development. And when he isn’t working, he indulges in water sports or travels the world — the globetrotter has already visited 60 countries.

Share this on: