Vandalism detection API

Check surveillance images for vandalism or freshly damaged property.

What it detects

Review walls, entrances and shared spaces for graffiti, broken glass or someone damaging property.

Detection
Graffiti being sprayed or fresh on a surface, broken glass, or someone visibly damaging property.
Outside the definition
No vandalism or fresh damage. Old weathering, posted signs or murals.

Send a camera image.

Set KIRKWOOD_API_KEY on your server. Save a frame as frame.jpg.

Python POST /v1/analyze
import base64
import json
import os
import urllib.request

with open("frame.jpg", "rb") as frame:
    image = base64.b64encode(frame.read()).decode()

body = json.loads('''{
  "images": [
    "<BASE64_JPEG>"
  ],
  "tags": [
    "vandalism"
  ],
  "detections": {
    "return_boxes": true
  }
}''')
body["images"] = [image]
request = urllib.request.Request(
    "https://app.kirkwood.ai/v1/analyze",
    data=json.dumps(body).encode(),
    headers={
        "Authorization": "Bearer " + os.environ["KIRKWOOD_API_KEY"],
        "Content-Type": "application/json",
    },
    method="POST",
)
with urllib.request.urlopen(request, timeout=120) as response:
    print(json.dumps(json.load(response), indent=2))

Read the result

Read tags.vandalism.answer and p_yes. A positive result can concern fresh damage as well as an action occurring in the image.

Camera setup

Include existing murals, signs and ordinary weathering in tests. Use views where the relevant surfaces and actions can be seen.

Try it on your footage.

Upload an image and select “Vandalism”. Run analysis.

Approved account required. Analysis uses credit. Images are retained for annotation and training.

Open the live Playground

API pricing

Billed per image analyzed. Contact us for your rate.

Request pricing

Before you integrate

The tag does not determine who caused damage or when it occurred. Old weathering, posted signs and murals are outside its positive definition.

Does someone have to be spray-painting right now?

No. The definition also includes fresh graffiti or broken glass. It is not limited to catching the action as it happens.

API guide