Protest at Slavija on Saturday 23 May: an analysis of turnout (and propaganda) through artificial intelligence

By Biagio Carrano

A sparse and violent gathering, or a peaceful demonstration attended by more than 100,000 people, at the end of which outside provocateurs caused disturbances?

Even regarding the rally called by the opposition in Slavija Square in Belgrade on Saturday, 23 May, the Serbian government and opposition once again confirmed that they see reality through diametrically opposed lenses; how distorted those lenses are by propaganda is for voters and outside observers to judge.

The opposition estimated that as many as 200,000 people packed Slavija Square, Nemanjina Street and Kralja Milana Street last Saturday for the demonstration “Me and You, Slavija”. Informer, led by the infamous Dragan J. Vučićević, responded by claiming that, thanks to crowd-counting software, it had managed to calculate the exact number of attendees – excluding those merely passing through the square for other reasons: just 25,259 people.

The police recorded the presence of 34,200 demonstrators. The Archive of Public Gatherings estimated attendance at between 180,000 and 190,000 people. RTS placed strong emphasis on the clashes that occurred at the end of the protest, reporting the police figures and relegating the story from the day’s leading headlines.

Who is right? Numbers are never just numbers. After months in which there had been an undeniable decline in protest demonstrations, last Saturday’s event was a test for the opposition and its ability still to mobilise Serbian citizens. A flop would have encouraged the government to bring forward the date of new elections; a success would likely have persuaded the President of the Republic to delay them for as long as possible in order to consolidate his electoral base.

Pro-government websites are promoting a clear narrative: the opposition has lost public support and has become hostage to violent groups eager to find any excuse to clash with the police, accusing the demonstrators of being Ustaše – that is, pro-Croatian Nazi collaborators. The various opposition groups, meanwhile, needed to prove that they still possessed the credibility to bring people together.

So, how many people actually took to the streets in Belgrade last Saturday against the government? Serbian Monitor also turned to artificial intelligence, submitting various photographs published by news websites and Instagram to Claude.

The images submitted to Anthropic’s platform were four in total: one was a frame from a drone video also shared by Savo Manojlović’s Instagram account; the second was published on the website of the opposition newspaper Danas; the third came from RTS, the state broadcaster controlled by the government, during its live coverage of the protest; and the fourth was published by Informer in the article mentioned above.

Below are the assessments of the individual images.

Frame from the drone footage published by several Instagram accounts:

“This is an enormous crowd: an aerial shot of what appears to be a large gathering/protest in central Belgrade. A precise count is impossible from a single photograph like this, but I can provide a rough estimate based on crowd-density analysis. The crowd occupies what appears to be the equivalent of several city blocks and open spaces. Using standard crowd-estimation methods (around 2–4 people per square metre depending on density), this image appears to show between 80,000 and 150,000 people, possibly even more depending on how far the crowd extends beyond the frame.

 The densest central areas (around what appears to be the park/square) show high density (around 4 people/m²), while the edges and streets display a more dispersed distribution (around 1–2 people/m²). This is unquestionably a significant turnout, however one chooses to look at it.”

 

 

 

Photograph published on 24 May on the online edition of Danas:

“This is an aerial shot of Slavija Square in Belgrade, clearly taken during the same event. The circular fountain provides an excellent reference point for estimating scale.

Here is my approximate analysis:

The fountain circle has a diameter of roughly 30–35 metres and is mostly clear, with only a few people inside it.

The dense crowd surrounding it fills the entire square and extends into at least four or five radiating streets. Density in the ring immediately around the fountain is very high, around 4 people per m². Further away, density falls to around 2–2.5 people per m².

Estimating the visible crowd area at roughly 25,000–35,000 m², with an average density of approximately 2.5–3 people/m², the image shows around 70,000–100,000 people in this frame alone, and the crowd clearly continues beyond the edges of the photograph, particularly at the upper left and upper right.

Combined with the wider aerial photograph you initially shared (which showed additional heavily crowded areas in the surrounding parks and boulevards), it is highly likely that the total number present was well into six figures.“This is another angle of Slavija Square, taken from a lower viewpoint, looking towards the fountain and the buildings on the opposite side. The Serbian flags are everywhere in this photograph.

Observations on crowd density:

The foreground and middle background show extremely dense crowding: this is what crowd researchers call ‘full-capacity’ density, around 4–5 people per m². People are shoulder to shoulder with very little visible space between them. Near the fountain (in the centre background), density decreases slightly to around 3 people per m².

Estimate of visible area:

This frame captures roughly the southern half of the square. The visible crowd area is approximately 15,000–20,000 m². With an average density of around 4 people/m² (this angle shows the densest sections), that amounts to approximately 60,000–80,000 people in this frame alone.

A key detail: compared with the previous drone footage (taken from above), this lower angle compresses depth and makes it harder to see how far the crowd extends; people can still be seen continuing towards the buildings and into side streets that are not fully visible here.

Across all three images, the data are consistent with a total gathering of over 100,000-150,000 people in Slavija and the surrounding area. A truly impressive turnout!”

Photograph published by RTS during its live coverage of the demonstration on 23 May:

“Here is another angle of Slavija Square, taken from a lower viewpoint, overlooking the fountain and the buildings in the distance. Serbian flags are everywhere.

Observations on crowd density:

The foreground and middle background show extremely high density: what crowd researchers describe as ‘full-capacity’ density, around 4–5 people per m². People are shoulder to shoulder, with almost no visible space between them. Near the fountain (in the centre background), density decreases slightly to around 3 people per m².

Estimate of visible area:

This frame captures roughly the southern half of the square. The visible crowd area is around 15,000–20,000 m². With an average density of about 4 people/m² (this angle shows the densest sections), this corresponds to roughly 60,000–80,000 people in this frame alone.

Key detail: compared with the earlier drone footage (taken from above), this lower angle compresses depth and makes it harder to judge how far the crowd extends: people can be seen continuing all the way to the buildings and into side streets that are not fully visible here.

All three images are consistent with a total gathering of 100,000–150,000 people in and around Slavija. A genuinely massive turnout.”

Photograph published by Informer:

“The automatic count of 11,414 people in the final image appears credible and genuine: the green-dot detection pattern is consistent with real AI-based crowd-counting software, and the density matches what is visible. However, the photograph was taken at 17:30 on 23 May, which appears to have been well before peak attendance.

The evidence:

Lighting in the other three photographs shows late-afternoon/golden-hour sunlight (probably between 19:00 and 20:00), meaning the crowd had at least another 1.5–2 hours to grow.

The difference in density is striking: at 17:30, large stretches of pavement can still be seen between groups, whereas in the later images the square is packed shoulder to shoulder with almost no visible ground.

This is only one sector (‘01’) of a grid made up of multiple sections, so even at 17:30 this did not represent the full count for the area.

Therefore, if someone were to use this image to claim that ‘only around 11,000 people turned up’, that would be misleading: it is merely a partial snapshot from an early stage. The later images you shared are consistent with a vastly larger crowd at the event’s peak.”

As always, presenting a single frame – one fragment of reality – does not necessarily distort the broader truth of events; it simply presents facts at a particular moment and in a particular situation, so that the reader or viewer bases their judgement only on that fragment rather than on a fuller and longer-term assessment.

It nevertheless seems clear that the figures communicated by the police and by Informer are significantly lower than those derived from Claude’s analysis. We have already touched on the political significance of such figures. If one were to draw a conclusion, it might be said that the opposition has shown itself to be alive – as has disinformation. How both sides manage to capitalise over the coming months on what they demonstrated over the weekend will form an important part of the country’s political life in the months ahead.

Share this post

Leave a Reply

Your email address will not be published. Required fields are marked *

scroll to top