Artificial Intelligence, Video Analytics, AI Intelligence Hub, Video Surveillance, AI Live Insight

Multi-Camera Triangulation: Following a Person or Object Across Your Cameras

Multi-Camera Triangulation: Following a Person or Object Across Your Cameras

A person comes to attention on one of your cameras. Either a member of staff reported them or a rule drawn on that camera flagged them. The footage shows them clearly enough to work from, and it still does not tell you who they are. What you are holding is one person, on one camera, at one moment.

The moment they leave the frame the question becomes what happened before and after it. Did they move further into the site, did they leave, and which way did they go. That one recording answers none of it, and neither does any single camera on its own. The answer is spread across whichever other cameras happened to be looking, and nothing in your system has put those pieces next to each other.

Then there is history. This may not be their first visit, and if it is not, the earlier visit was recorded. The cameras were running that day as well, and they kept what passed in front of them without anyone deciding it mattered. So the footage of that day is sitting in your recordings with nothing at all connecting it to today. Every visit stays an isolated clip, not because anything was missed, but because nothing has ever joined one to the next.

Finally there is whatever was with them. A vehicle they got into or out of is the obvious case. A bag they were carrying, or a weapon in frame, is the same kind of thread. Each of those has a history of its own. That vehicle may have been at this site before, or at another site entirely, on days that have nothing to do with the one you are looking at. The same is true of the bag. Nothing in that original sighting reaches any of it, and that is the whole problem.

What a camera recording actually contains

Nothing joins those recordings to each other, because a recording is a stream of frames with a time against it and nothing else. It carries no index, no list of what appeared and when, and no entry saying a person was ever there. A recorder was built to keep what it was sent, and keeping is all it does.

So forty cameras produce forty separate streams and nobody ever needed them joined. A question that spans two cameras has therefore always been answered by hand, with an investigator opening both and comparing them by eye. That works well enough for one pair of cameras and one afternoon. It does not work for forty cameras across three weeks, which is why most questions of that shape are never asked.

A single sighting tells you that something was in this place at this second, which is a fact rather than an answer. Connecting two sightings means establishing that the thing in the first is the thing in the second. Do that reliably and the sightings stop being separate events. A set of them becomes a route, a longer set becomes a history, and two things sighted together become a relationship. That is triangulation. Everything after this turns on what could tie one observation to another.

How every detected thing gets an identifier

For two sightings to be tied together, each thing in them has to carry a mark that separates it from every other thing the cameras saw. It cannot be a label anybody wrote, because no operator was standing there to write one. It has to come from the camera itself. It has to be specific to that one person or that one car, not to a type of either. The cameras have been producing exactly that all along, before your case existed.

While a camera runs detection, it picks out the things it has been set to look for: a person, a car, a bag, a weapon. For each one a model computes a vector embedding, and that embedding is the object's unique identifier. It is not a name and it is not a description. It is a value derived from what the object looked like, and two things that looked alike produce values that sit close together. Cross-camera tracking covers what an embedding is made of, and why closeness between two of them is allowed to stand as an identity claim.

Ten people in a frame produces ten unique identifiers, one for each. A person with a car behind them produces two. No name is involved at any point. Nobody is enrolled, no photograph is supplied, and no decision is taken in advance about who or what will matter later.

Connecting two sightings means comparing their identifiers. The second camera computes its own, and the two are measured against each other. They are never identical, because the light differs, the angle differs and the object has moved between them. Two different people do not land close together by accident, which is what lets the comparison work at all. Nearness therefore means sameness far more often than it means coincidence, and that is why a threshold exists and why the line has to be drawn somewhere.

A description cannot do this work. A record saying "man in a black jacket" returns every man in a black jacket. The vocabulary is coarse, and there are only so many words in it. Two people a witness would describe identically still produce different identifiers. The value comes from what the camera saw rather than from a category chosen off a list. A description narrows a crowd and leaves you fifty candidates. An identifier picks one out of it.

From here on the work runs on identifiers, and every detected thing carries one. The vehicle this person arrived in has one exactly as the person does, and so does anything they were carrying. That is why those threads stay reachable at all. The person comes first, and an identifier answers where they went after that camera lost them.

Building the route across your cameras

The work runs in four steps, and three of them have already happened.

The cameras wrote the record. Every detected thing has an identifier stored against a camera and a second. All of it was put there as the footage recorded, with nothing about your case shaping any of it.

You pick the one you want. Open the recording where the person appears and identify them in it. That gives you a single identifier to work from, and it is the only step that needs a person.

That identifier is compared against its neighbors. Not against a description and not against a list of attributes, but against the identifiers the adjacent cameras hold, using the same arithmetic every time.

A set of appearances comes back, each one a camera and a time. Put them in time order and you have a route.

The third step is where the reach is decided. A camera's pipeline shares what it computed with the pipelines next to it. So the person is looked for on the cameras around the one that saw them, and then on the cameras around those. A route is built hop by hop rather than in one sweep. That is deliberate rather than a limit waiting to be lifted. Comparing against every camera in an estate costs in proportion to the estate rather than to the question. It also returns candidates the person could not physically have reached.

So the chain is what the route rests on. A camera not running detection for that class computes nothing, so the person passes it and the hop does not happen. Where coverage stops between two sightings, nothing was written and nothing can be recovered. The route between those two points is an inference rather than a record, and whether it is a reasonable one depends on where those cameras physically sit. A list of camera names cannot tell you that and a map can. You now know where the person went, and you do not yet know whether they had been there before.

Searching recordings for earlier appearances

This is the same four steps with a wider time range. The question changes from where did they go to where have they already been. Searching what was recorded runs on a different part of the platform. VIDIZMO AI Live Insight reads the live cameras, while questions about recordings go to AI Intelligence Hub, which works through the footage you already hold. Since most investigation concerns an event that has already happened, this is the half doing most of the work.

An answer also takes longer to arrive. Where a period of footage has already been processed, the comparison in the third step runs against identifiers that exist, and it comes back like any other search. Where it has not, a job computes them first, and the time that takes grows with how much you point it at. A month of four cameras is a very different proposition from a month of four hundred. The habit worth having is to decide which cameras and which periods matter, and to have them processed before a case needs them.

Footage that no longer exists cannot be searched, so how long your recordings are kept decides how far back any of this reaches. What analysis can still do with an incident already recorded covers that limit, and the rest of what decides whether a search of an earlier week finds anything. You now have this person's movements across weeks. Whatever was with them is still a blank.

Connecting a person to what was recorded alongside them

A set of sightings becomes a case at this point, and it does so because identifiers are not given only to people. Whatever else a camera was set to watch for carries one on exactly the same basis. A vehicle does, and so does a bag, a weapon or a piece of protective equipment. None of those identifiers was created for your investigation. All of them were written as the footage was recorded, by a system with no idea any of it would ever matter.

So when the person and a vehicle appear on the same camera at the same second, both identifiers sit in that one record. The same holds for the person and a bag they were not carrying when they arrived. It holds for that bag and whoever is seen with it four hours later. The pairing is recorded rather than reconstructed later by a reviewer. It did not need an operator to be watching at the time, and it did not need a guess. Both identifiers were written only because that footage had been processed for those classes. What analysis can still do with an incident already recorded covers what has to have run before a recording holds anything at all.

Some things carry a second identifier as well as the first. Text visible in a frame is read off whatever the camera was set to detect, and emitted as its own event. A license plate is the case that matters most in an investigation. Where a different kind of marking matters, the object class has to be added rather than the reading of it. A number on a shipping container is not read today for that reason. Every read above the confidence threshold is kept, whether or not it matched anything on a watchlist. The watchlist decides what raises an alert, not what gets captured. A plate that becomes interesting three weeks from now was still read and still stored at the time, even though it was on no list then.

From here each of those is simply another thing with an identifier. The four steps apply to them without modification, so a vehicle has a route across your cameras and a history in your recordings, and so does a bag. Either can be asked where else it has been, and when. What you cannot do is ask the question the other way round. A pairing is something you read off a record you are already looking at, and there is no way to ask which pairs recur across your cameras. Recurrence is therefore something a reviewer establishes by looking rather than something a search hands back. That is the route, the history and what was with them, all of it out of one sighting. What is left is whether any of it reaches beyond the building you started in.

What reaches another site, and what does not

Following the person by appearance does not reach another site. The comparison runs between neighboring cameras, so an identifier travels outward one camera at a time and stops where the cameras stop. A site on the other side of the country has no camera adjacent to anything here, so there is no hop to make. A question spanning two distant sites is not one comparison, and no setting turns it into one.

Searching what you already hold is a different matter. A search returns what the person running it is allowed to see. Where your organization keeps several systems, someone entitled to more than one can search across them as a single library. A plate read at one site and the same plate read at another are both findable that way. A plate is text, and a text search does not care where the camera was. That is a search over what was recorded rather than a match between two appearances.

So the reach of a case across sites depends on which question you are asking. If it rests on following somebody by appearance, the answer is bounded by where the cameras are and how they sit relative to each other. If it rests on something with a name or a string attached, a plate or an enrolled face, the boundary is entitlement rather than geography. Whoever administers your systems can tell you where that boundary falls. That is the case worked as far as it goes, and the person's name was never known at any point in it.

Starting from a name or a license plate you already have

Sometimes you do know. The name is in a previous report, the photograph is in a file, or the plate is written on an incident form. You can then start from the name rather than from a clip. An administrator enrolls the person in the gallery with reference photographs. From then on, each camera running detection compares the faces it sees against that gallery on its own. For a vehicle the equivalent is putting the plate on a watchlist, and the shape of it does not change.

The cameras also tell you instead of waiting to be asked. A face that matches raises an alert, and so does a plate. You are no longer asking a question after the fact. You are being told.

Knowing in advance changes nothing about the work that follows it. Once a thing carries an identifier, the four steps run the same way whichever route you arrived by. Finding every recording a person appears in covers enrolment in full, including what a gallery record holds and who ought to decide who goes into it.

Not knowing in advance costs you the alert. It does not cost you the record. The person was still detected and given an identifier, and so was the car. That happens whether or not either was ever put on a list. Enrolment buys you the alert and the name, and the record was being written regardless.

When the system tells you instead of you asking

Every move so far began with an investigator asking a question. The record also works in the other direction, telling you when something meets a condition set beforehand. Cameras run unwatched almost everywhere. A site with a few hundred of them rarely has more than a couple of people at the desk. Most of what is recorded is never seen by anyone.

Five things can bring something to attention. A class you are watching for appears in frame. A rule you drew on one camera fires. A condition you wrote across several cameras fires. A person walks in and reports it. Or something matches a list you made in advance.

They differ in how much setting up each needs, and in how good a starting point each one leaves you. Only the last arrives with a name attached, and only a rule knows the exact second it fired. How an incident on camera becomes known covers all five in detail. Correlating a line stop with what the cameras saw works through one condition spanning two cameras and ten minutes. All of it rests on four things being true in your deployment.

Four things your deployment needs

Three of the four are yours to fix rather than your supplier's.

Detection has to be running on the cameras that matter, and this one governs everything else. A camera not running detection records video and produces no identifier. A person can walk past it and never appear in any answer. That can often be corrected later by processing the footage again, for as long as the footage still exists. Entrances, exits and boundary points are where to start, because any route through a building has to pass through them.

Your clocks have to agree. Appearances come back with times on them, and putting them into order assumes those times mean the same thing. A recorder running a few seconds out will place two sightings in the wrong sequence, and no warning appears when it does. The fix is disciplined Network Time Protocol synchronization against a reliable source such as the NIST internet time service. It is the requirement most often assumed and least often checked.

Cameras have to be on a map. A list tells you the person appeared on four cameras. Whether that is a plausible route depends on where those four physically are. Adding coordinates is a survey done once, usually at installation.

Access has to be set up so the people who need to search can. Reach follows permission. The practical question is not only what the system is able to do, but who in your organization is able to ask it.

Two of these are worth checking this week, because neither requires a purchase. Confirm that your recorders agree on the time. Find out whether your sites run as one system or several. The other two, detection coverage and a camera map, are answered against your own estate rather than in the abstract. A walkthrough of AI Live Insight with your team is where that gets done.

New hardware is not part of it either. VIDIZMO AI Live Insight is that retrofit. It reads the cameras and video management system you already own, over standard Real-Time Streaming Protocol and ONVIF interfaces. Our article on pulling live streams from your VMS into AI analytics covers what that involves.

What the record proves, and what it does not

Everything above establishes where something was and when. It establishes nothing about why. Take the case as it now stands. The record says this person walked through the lobby at two in the afternoon. It says this car was in frame at the same second. It says both were at the loading bay the previous Tuesday. Each of those has a camera and a time behind it, and each will hold up.

The record does not say the two arrived together. It does not say the car is theirs. It does not say what either of them was doing, or why, or whether they are connected at all beyond having been in one frame.

Reading intent into two things in one frame is a judgment, and the judgment belongs to the person reviewing the footage. It has to be made by watching, not by reading a results page. A record that presents the judgment as though the system produced it will not survive being questioned six months later.

The four steps produce a short, ordered set of moments worth looking at, drawn out of an estate far too large to watch. Deciding what those moments mean is still the work. It is simply work that can now be done in an afternoon rather than not at all.

One obligation follows from that result. A reconstruction assembled from several cameras contains people unconnected to the case, and results leave the building. They go to a prosecutor, an insurer, a regulator or a records request. Our guide on what to look for in video redaction software covers the obligation that creates.

For how all of this sits in a wider camera program, see video intelligence.

TopicsArtificial IntelligenceVideo AnalyticsAI Intelligence HubVideo SurveillanceAI Live Insight

You may also like

What Is a Real-Time Crime Center? A Guide for Cities and Counties

What Is a Real-Time Crime Center? A Guide for Cities and Counties

Somewhere in the last two years, someone probably asked your department whether it should have a real-time crime ...

Staffing a Real-Time Crime Center When Software Does the Watching

Staffing a Real-Time Crime Center When Software Does the Watching

Most chiefs who hear a pitch for a real-time crime center ask the same question before any other, which is whether they ...

RTCC, EOC or Situational Awareness Center: What Each Room Is For

RTCC, EOC or Situational Awareness Center: What Each Room Is For

Walk into a real-time crime center, then into a city's emergency operations center, and you will see much the same ...

See all posts

See it on your own content

Tell us what you are trying to solve and we will show you how it works on your infrastructure.