Camera health monitoring API
Check for camera views too damaged, blocked or blurred to monitor.
What it detects
Flag unusable camera views for maintenance.
- Detection
- Severe corruption, blockage, blur, or black or blank output makes the view unusable for monitoring people and activity.
- Outside the definition
- The scene can still be monitored. A few lines, small glitches, noise, glare or low resolution alone do not count.
Send a camera image.
Set KIRKWOOD_API_KEY on your server. Save a frame as frame.jpg.
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": [
"camera_issue"
],
"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
The camera_issue tag returns an answer and probability. Use it to route a frame to a camera maintenance queue.
Camera setup
Include healthy low-resolution footage and small glitches as comparisons. Test views that are fully blocked, severely blurred or corrupted.
Try it on your footage.
Upload an image and select “Camera issue”. Run analysis.
Approved account required. Analysis uses credit. Images are retained for annotation and training.
Open the live PlaygroundBefore you integrate
A few lines, noise or glare do not count if the scene can still be monitored. A disconnected camera that sends no frame needs a separate heartbeat check.
Will a few bad pixels trigger a camera issue?
That is outside the tag’s positive definition. The view must be materially unusable for monitoring people and activity.