Alarm Verification

Simplistic motion detection generates many false alarms and lots of wasted operator’s time. Reject probable false alarms with Video Alarm Verification before they are presented to an operator. Add an overlay to the video to show where motion was detected for faster operator review. Video Alarm Verification ignores frequent causes of false alarms. Works with any video.

  • Integrates with your alarm monitoring platform or video management system to cut alarms handled and handling time
  • Works with as few as 3 low resolution images
  • Outdoor environmental factor rejection

Using Alarm Verification

To use Alarm Verification you need to upload a short video clip to the Alarm Verification service, typically the alarm clip raised by a basic motion detector. The service will analyze your video and output a probability of it being a real alarm: 0 for a highly-probable false alarm, and 100 for a highly-probable real alarm. An alarm is typically considered real if it contains some homogeneous shapes moving around, as it could indicate a threat for a remote monitoring operator to validate. You can then decide to display or not the alarm to the operator by simply using a threshold on the output probability level. The service will also add onto the original video clip and overlay to indicate where the original motion was in order to draw the operator’s attention, allowing him to discard the alarm faster.

The video clip should be no more than 1000 images in length.

Request an Alarm Verification

Request a Alarm Verification on the supplied video clip.

POST /alarm_verification
POST /alarm_verification/ HTTP/1.1
Host: api.videoai.net
Authorization: Basic XXXXX

Example request:

$ curl -L -H "Authorization: Basic XXXX" -F video=@alarm.avi  http://api.videoai.net/alarm_verification

Example response:

HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 223
Server: Werkzeug/0.10.4 Python/2.7.6
Date: Thu, 10 Sep 2015 14:13:46 GMT
{
  "status": "success",
  "task": {
    "analytic": "alarm_verification",
    "complete": false,
    "job_id": "wWmmL73nQHJFjVU6PDvsij",
    "message": "In progress.",
    "start_time": "Thu, 10 Sep 2015 14:13:46 GMT"
  }
}

Check Job Status

Get the status of a particular Alarm Verification.

GET /alarm_verification/(string: job_id)
GET /alarm_verification/(string:job_id) HTTP/1.1
Host: api.videoai.net
Authorization: Basic XXXXX

Example request:

$ curl -L -H "Authorization: Basic XXXX" http://api.videoai.net/alarm_verification/wWmmL73nQHJFjVU6PDvsij

Example response:

HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 608
Server: Werkzeug/0.10.4 Python/2.7.6
Date: Thu, 10 Sep 2015 14:14:04 GMT
{
  "status": "success",
  "task": {
    "analytic": "alarm_verification",
    "complete": true,
    "finish_time": "Thu, 10 Sep 2015 14:14:03 GMT",
    "frames": 0,
    "frames_processed": -1,
    "input_video": "parkingLot.avi",
    "job_id": "wWmmL73nQHJFjVU6PDvsij",
    "message": "Probability of alarm on 100%",
    "probability": 100,
    "resolution": "352x288@5.0fps",
    "results_video": "http://192.168.90.53:5000/results/253/wWmmL73nQHJFjVU6PDvsij/alarm_verification_wWmmL73nQHJFjVU6PDvsij.m4v",
    "start_frame": 0,
    "start_time": "Thu, 10 Sep 2015 14:13:46 GMT",
    "success": true
  }
}

Job History

Get the status of the last 50 Alarm Verification tasks submitted.

GET /alarm_verification
GET /alarm_verification HTTP/1.1
Host: api.videoai.net
Authorization: Basic XXXXX

Example request:

$ curl -L -H "Authorization: Basic XXXX" http://api.videoai.net/alarm_verification

Example response:

HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 21785
Server: Werkzeug/0.10.4 Python/2.7.6
Date: Thu, 10 Sep 2015 14:27:20 GMT
{
  "status": "success",
  "tasks": [
    {
      "analytic": "alarm_verification",
      "complete": true,
      "finish_time": "Thu, 10 Sep 2015 14:14:03 GMT",
      "frames": 0,
      "frames_processed": -1,
      "input_video": "parkingLot.avi",
      "job_id": "wWmmL73nQHJFjVU6PDvsij",
      "message": "Probability of alarm on 100%",
      "probability": 100,
      "resolution": "352x288@5.0fps",
      "results_video": "http://192.168.90.53:5000/results/253/wWmmL73nQHJFjVU6PDvsij/alarm_verification_wWmmL73nQHJFjVU6PDvsij.m4v",
      "start_frame": 0,
      "start_time": "Thu, 10 Sep 2015 14:13:46 GMT",
      "success": true
    },
    {
      "analytic": "alarm_verification",
      "complete": true,
      "finish_time": "Thu, 10 Sep 2015 14:01:04 GMT",
      "frames": 0,
      "frames_processed": -1,
      "input_video": "parkingLot.avi",
      "job_id": "YDAH9uSckygdqGaDJqqweB",
      "message": "Probability of alarm on 100%",
      "probability": 100,
      "resolution": "352x288@5.0fps",
      "results_video": "http://192.168.90.53:5000/results/253/YDAH9uSckygdqGaDJqqweB/alarm_verification_YDAH9uSckygdqGaDJqqweB.m4v",
      "start_frame": 0,
      "start_time": "Thu, 10 Sep 2015 14:00:46 GMT",
      "success": true
    }, ...
  ]
}