Application Interface Eagle Tracking Engine



Similar documents
Lecture 15. IP address space managed by Internet Assigned Numbers Authority (IANA)

1.3. Maximum or Minimum of a Quadratic Function. Investigate A

Internetworking and IP Address

Moven Studio realtime. streaming

Modbus and ION Technology

Mobile IP Network Layer Lesson 02 TCP/IP Suite and IP Protocol

Time Synchronization & Timekeeping

Algemene Theorie en Vaardigheden 2. April 2014 Theaterschool OTT-2 1

Vocabulary Cards and Word Walls Revised: June 29, 2011

NetPlug200 Nano.

Ethernet Port Quick Start Manual

RTP / RTCP. Announcements. Today s Lecture. RTP Info RTP (RFC 3550) I. Final Exam study guide online. Signup for project demos

Security Assessment Report

2. What is the maximum value of each octet in an IP address? A. 128 B. 255 C. 256 D. None of the above

The Elements of GigE Vision

Utility Programs Reference Manual 1 op_vuanim Utility

Network layer" 1DT066! Distributed Information Systems!! Chapter 4" Network Layer!! goals: "

Basler scout AREA SCAN CAMERAS

Application Note Gigabit Ethernet Port Modes

EZ-ZONE RMA & EtherNet/IP Configuration & Startup Using an Allen-Bradley CompactLogix PLC EtherNet/IP Fundamentals

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life

IP Networking Primer. Presented by: Michael Leary

RARP: Reverse Address Resolution Protocol

784 INTELLIGENT TRANSPORTATION SYSTEMS NETWORK DEVICES. (REV ) (FA ) (7-12)

How To Monitor And Test An Ethernet Network On A Computer Or Network Card

Expert Reference Series of White Papers. Binary and IP Address Basics of Subnetting

Introduction to IP v6

How To Design A 3D Model In A Computer Program

CS 43: Computer Networks IP. Kevin Webb Swarthmore College November 5, 2013

HDMI / Video Wall over IP Transmitter with PoE

Basler pilot AREA SCAN CAMERAS

Packet Tracer 3 Lab VLSM 2 Solution

Network Assessment Client Risk Report Demo

Voice over IP: RTP/RTCP The transport layer

Ethernet. Ethernet. Network Devices

Buurten van gemeente Groningen

GMP-Z Annex 15: Kwalificatie en validatie

Geometry for Computer Graphics

Getting to know your TI-83

Introduction to Network Security Lab 1 - Wireshark

Grandstream XML Application Guide Three XML Applications

VMware vcenter Log Insight User's Guide

Section 1.1. Introduction to R n

Data Storage 3.1. Foundations of Computer Science Cengage Learning

Network Simulation Traffic, Paths and Impairment

Advanced Networking Voice over IP: RTP/RTCP The transport layer

Basler beat AREA SCAN CAMERAS. High-resolution 12 MP cameras with global shutter

Efficient Addressing. Outline. Addressing Subnetting Supernetting CS 640 1

CMA5000 SPECIFICATIONS Gigabit Ethernet Module

IP address format: Dotted decimal notation:

RC8061 Pan and Tilt Camera Installation Guide

Voorbeeld. Preview ISO INTERNATIONAL STANDARD. Cranes Requirements for test loads

Wireless Day / Night Cloud Camera TV-IP751WIC (v1.0r)

Protocols. Packets. What's in an IP packet

Terminal Server Configuration and Reference Errata

Modbus and ION Technology

The Chinese market for environmental and water technology. Kansendossier China

AirCam OD-325HD-2.5MM

WN-200HD. 2 Mega-Pixels. 2.0 Mega Pixel Wireless 150Mbps IPCamera. High Quality 2.0 MegaPixel Image. Full Feature 150Mbps Wireless N Camera

diversifeye Application Note

APPENDIX B. Routers route based on the network number. The router that delivers the data packet to the correct destination host uses the host ID.

Basler. Line Scan Cameras

Gary Hecht Computer Networking (IP Addressing, Subnet Masks, and Packets)

Export of audit trail events from Salto software. Version 2.0

Three Key Design Considerations of IP Video Surveillance Systems

Network Layer IPv4. Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS. School of Computing, UNF

PART IV. Network Layer

IP Addressing. -Internetworking (with TCP/IP) -Classful addressing -Subnetting and Supernetting -Classless addressing

White paper. Latency in live network video surveillance

Chapter 3 Using Access Control Lists (ACLs)

Gigabit Ethernet and Pleora s iport Connectivity Solution

Integration SDK (HTTP API)

Unix System Administration

Overview of Computer Networks

A Practical Guide to Dutch Building Contracts

HDMI over IP Broadcasting System ITEM NO.: HE05BT, HE05BER HDMI Matrix over IP Broadcasting

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

500M Powerline Pass-Through Ethernet Bridge

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Chapter 11. User Datagram Protocol (UDP)

IP - The Internet Protocol

Using Zistos PNSC over BGAN

Chapter 4 Restricting Access From Your Network

OC810 Outdoor Camera Setup Guide

Transport and Network Layer

Manual. IP Sensor and Watchdog IPSW2210. I P S W M a n u a l P a g e 1. Relay Output. Power input. 12VDC adapter LED Indicators. 2 Dry.

Datasheet EdgeVision

Network and Host Addresses , Cisco Systems, Inc. All rights reserved. INTRO v1.0a 6-4

OC810 Outdoor Camera Installation Guide

UIP1868P User Interface Guide

Flexible and Flawless Get a hold of every critical moment instantly without compromise

RC8021 Indoor Camera Installation Guide

How To Plan Out Your Own Version Of Hpl (Dhcp) On A Network With A Network (Dns) On Your Network (Dhpl) On An Ipad Or Ipad On A Pc Or Ipa On A Server On A

SNMP and Network Management

Objectives of Lecture. Network Architecture. Protocols. Contents

Transcription:

Application Interface Eagle Tracking Engine System Eagle Tracking Engine Version 1.3 Author(s) Wojtek Zajdel Date 21-09-2011 Status 3rd released version EagleTrackingEngine, Application Interface, ver 1.3 1

Eagle Vision Systems B.V. Energiestraat 16B 1411 AT Naarden Tel: 035-6952818 Fax: 035-6953842 Email: info@eaglevision.nl Copyright Eagle Vision Systems B.V., 2010-2011 Alle rechten met betrekking tot de documentatie en de daarin beschreven software berusten bij Eagle Vision Systems B.V. Dit geldt ook voor eventuele aanvullengen of wijzigingen. Het gebruik van de in deze documentatie beschreven software is gebonden aan regels die worden omschreven in de licentiebepalingen. Reproductie van het materiaal, op welke wijze dan ook, is zonder voorafgaande schriftelijke toestemming uitdrukkelijk verboden. De informatie in deze documentatie kan zonder voorafgaande mededeling worden gewijzigd en impliceert geen enkele verplichting voor Eagle Vision. Scout is een gedeponeerd handelsmerk van Eagle Vision Systems B.V. EagleTrackingEngine, Application Interface, ver 1.3 2

1. APPLICATION OVERVIEW 1.1 Introduction EagleTrackingEngine is a software system for video surveillance with multiple cameras. The system measures trajectories of people visible in the tracking area. The measured trajectories are provided online to 3 rd party applications via a network interface. EagleTrackingEngine employs multiple stereo cameras for (pseudo) 3-dimensional measurements of trajectories. A person measurement includes location within a twodimensional ground plane, and a 3-dimensional bounding box (a cuboid) approximating person s volume. A time-stamped series of such measurements forms a trajectory. Trajectory measurements are streamed online to 3-rd party client applications via an Ethernet interface. The stream of measurements is organized into messages. Each message corresponds to one of tracking events, such as: a new track being created, an existing track being extended or finished. Each message is sent as a separate UDP datagram (packet) according UDP/IP transport protocol. 1.2 Tracking cycle 1.2.1 Track start Track start message is sent when a person is detected in a tracking area. For each trajectory the track-start message is sent once. At the start, the tracked person is given a unique identification number, referred to as track-id.. This number will be used by the system to identify the trajectory as long as the followed person remains visible in the tracking area. It may happen, that a person with a known track-id temporarily leaves the tracking area and reenters it later. At the reentry, the system will assign a different track-id number. Track id number will not be reused between persons. The system does not guarantee any specific order of the assigned track-id numbers. 1.2.2 Track step Track-step message is sent periodically with a fixed interval as long as the tracked person remains visible in the tracking area. The track-step message uses the track-id number to identify the person being tracked. EagleTrackingEngine, Application Interface, ver 1.3 3

The system guarantees sending track-step messages with a fixed periodicity, but does not guarantee timely delivery. Message arrival will largely depend on network latency and throughput parameters. 1.2.3 Track stop The track-stop message is sent when the system stops tracking a person. This happens due to the following reasons: the tracked person leaves the tracking area the tracked person gets occluded by some other person or object the tracked person does not satisfy minimum height criterion (for example when the person bends or sits down). 1.2.4 Simultaneous trajectories The system can track multiple persons at the same time. When tracking multiple people, the tracking-related messages: track-start, track-stop, track-step will be generated simultaneously in order corresponding to the order of people appearing and disappearing in the tracking area. EagleTrackingEngine, Application Interface, ver 1.3 4

2. APPLICATION INTERFACE 2.1 Physical Interface 2.1.1 Physical layer Connection type: Physical link: Bandwidth: Transport layer: Ethernet Cat 5 Ethernet cable with two RJ45 connectors or wireless Ethernet connection IEEE 802.11b/g standard. 10 Mb/s (megabit per second) UDP / IP (User Datagram Protocol) 2.1.2 Transport layer Protocol: Mode IP broadcast port IP subnetwork SPI Scout IP address: UDP / IP (User Datagram Protocol) Broadcast to be defined to be defined to be defined 2.1.3 Application layer Protocol: Granularity Message size Formatting Frequency: Custom SPI-Comm protocol using UDP packets single UDP packet per tracking event variable selectable JSON or XML encoded structure, formatted as text with UTF8 encoding variable, approx 20 messages/trajectory/second EagleTrackingEngine, Application Interface, ver 1.3 5

2.2 General message formatting The SPI Comm can be configured to encode tracking messages using either JSON or XML data exchange format. Both formats deliver the same content. XML configuration XML version 1.0 Encoding UTF-8 Element attributes allowed, but discouraged JSON configuration JSON version 1.0 Encoding UTF-8 Definition See: http://www.json.org Number formatting Decimal separator dot Thousands separator not used Notation ordinary decimal notation Example 10230.45 (ten thousands two hundred thirty and fort five hundreds) Time formatting Time will be formatted using the following encoding (derived from ISO 8601standard) Syntax yyyymmddthhuuss.rrrrrrrr yyyy mm dd T hh uu ss rrrrrrrrr 4 digits, year 2 digits, month within the year 2 digits, day within the month fixed literal T 2 digits, hour within the day 2 digits, minute within the hour 2 digits, second within the minute 9 digits, microseconds within the second Example 20101004T121931.556875 represents 4 October 2010, UTC time 12:19:31 and 556875 microseconds. Time reference will be UTC (zero offset time zone). Consequently, time zone suffix will be omitted from formatted time representation. EagleTrackingEngine, Application Interface, ver 1.3 6

2.3 JSON Message definition A message is defined as a JSON structure with the following fields name/value pairs: Field Name Value format string Identifies message format version unsigned int (32 bit) Identifies message format message code unsigned int (32 bit) Message type track id unsigned int (32 bit) Unique id of the tracked person position xy array of 2 floats (each float is 32bit) 2D position of a person, relative to the system reference height floating-point number Height of a person timestamp iso utc formatted string Timestamp of the event, in coordinated universal time (UTC) reference, formatted as ISO time string. bbox xyzxyz array of 6 floats (each float is 32bit) Size and position of a 3D bounding box of the tracked person, relative the system reference. The following sections provide detailed definition of JSON message fields. 2.3.1.1 Format JSON field name format fixed value spi-comm string Indicates communication protocol version. 2.3.1.2 Version JSON field name version fixed value: 2 numeric, unsigned integer, 32 bit Indicates version of communication protocol version 2.3.1.3 Message code JSON field name message code 1001, 1002, 1003 numeric, unsigned integer, 32 bit of message. Encoding: 1001 Track-start message 1002 Track-step message 1003 Track-stop message. EagleTrackingEngine, Application Interface, ver 1.3 7

2.3.1.4 Track id JSON field name track id 0-4294967296 numeric, unsigned integer, 32 bit Trajectory identifier. 2.3.1.5 Position XY JSON field name position xy approx. (-10.0 10.0) - depending on tracking area array of two floating-point numbers The (x,y) coordinates of person position, relative to system coordinate system. Unit: meter. 2.3.1.6 Height JSON field name height approx. (0 3.0) - depending on tracked person floating point number Height of the tracked person, non-negative. Unit: meter. 2.3.1.7 Bounding box JSON field name bbox xyzxyz approx. (-10.0 10.0) - depending on tracking area array of six floating-point numbers This field indicates a 3-dimensional bounding box of the tracked person. The bounding box is given as two 3D dimensional points, in the following order: x_min x-coordinate of box minimum corner y_min y-coordinate of box minimum corner z_min z-coordinate of box minimum corner x_max x-coordinate of box maximum corner y_max y-coordinate of box maximum corner z_max z-coordinate of box maximum corner Unit: meter. 2.3.1.8 Timestamp JSON field name timestamp iso utc yyyymmddthhmmss.uuuuuu string Timestamp of the event in UTC reference. EagleTrackingEngine, Application Interface, ver 1.3 8

2.3.1.9 Example An example message formatted as a JSON structure: { } "bbox xyzxyz": [0.66, -0.13, 0.0, 0.96, 0.60, 1.54], "event type": 1001, "format": "evs-comm", "position xy": [0.59, 0.18], "height": 1.54, "timestamp iso utc": "20101004T121931.213125", "track id": 0, "version": 2 Notice that the format specification does not define the order of the fields in the structure. The client/receiver application should not assume any specific order of the fields in the message. EagleTrackingEngine, Application Interface, ver 1.3 9

2.4 XML Message definition Messages are encoded as composite XML elements, using the following syntax: <evs_data> <format> spi-comm </format> <version> Unsigned integer number </version> <time_utc> Time of measurement </time_utc> <message_code> Unsigned integer number </message_code> <track_id> Integer number </track_id> <x> Floating-point number </x> <y> Floating-point number </y> <h> Floating-point number </z> <bbox> <x_min> Floating-point number </x_min> <y_min> Floating-point number </y_min> <z_min> Floating-point number </z_min> <x_max> Floating-point number </x_max> <y_max> Floating-point number </y_max> <z_max> Floating-point number </z_max> </bbox> </evs_data> Element tag Value evs_data XML struct Represents whole message format spi-comm Fixed literal indicating format family version 2 Fixed value time_utc Text Time of measurement, message_code Unsigned integer Message code track_id Integer number Trajectory indentificator x,y,h Floating numbers Person location(x,y) and height(h), meters bbox XML struct Encapsulates person 3D bounding box x_min, y_min, z_min x_max, y_max, z_max Floating number 3D coordinates of bounding box minimum point Floating-pt. numbers 3D coordinates of bounding box maximum point EagleTrackingEngine, Application Interface, ver 1.3 10

The following sections provide detailed description of XML message definition. 2.4.1.1 Format XML tag name format fixed value spi-comm string Indicates communication protocol version. 2.4.1.2 Version XML tag name version fixed value: 2 numeric, unsigned integer, 32 bit Indicates version of communication protocol version 2.4.1.3 Message code XML tag name message_code 1001, 1002, 1003 numeric, unsigned integer, 32 bit of message. Encoding: 1001 Track-start message 1002 Track-step message 1003 Track-stop message. 2.4.1.4 Track id XML tag name track_id 0-4294967296 numeric, unsigned integer, 32 bit Trajectory identifier. 2.4.1.5 Position and height Position (x,y) and height (h) are represented by the following XML elements XML tag name x approx. (-10.0 10.0) - depending on tracking area floating-point number The X coordinate of person location within the SPI Comm coordinate system. Unit: meter. EagleTrackingEngine, Application Interface, ver 1.3 11

XML tag name y approx. (-10.0 10.0) - depending on tracking area floating-point number The Y coordinate of person location within the SPI Comm coordinate system. Unit: meter. XML tag name h approx. (.0 3.0) - depending on tracked person floating-point number Measured height of a person, non-negative, usually within 0-3 meters range. 2.4.1.6 Bounding box Bounding box approximates 3D dimensions of a tracked person as a 3D rectangular cuboid. The bounding box is represented as en XML structure with bbox element tag. The bbox XML structure encapsulates 6 elements representing (x,y,z) coordinates of two points that define the cuboid. XML tag name bbox XML struct Encapsulates coordinates of 3D rectangular cuboid (6 elements) XML tag name x_min y_min z_min x_max y_max z_max (all values in meters) floating-point number, x-coordinate of minimum cube vertex floating-point number, y-coordinate of minimum cube vertex floating-point number, z-coordinate of minimum cube vertex floating-point number, x-coordinate of maximum cube vertex floating-point number, y-coordinate of maximum cube vertex floating-point number, z-coordinate of maximum cube vertex 2.4.1.7 Timestamp XML tag name time_utc yyyymmddthhmmss.uuuuuu string Timestamp of the event in UTC reference. See general rules of time formatting. EagleTrackingEngine, Application Interface, ver 1.3 12

2.4.1.8 Example An example message formatted as an XML structure: <evs_data> <format> spi-comm </format> <version> 2 </version> <time_utc> 20101004T121931.213125 </time_utc> <message_code> 1001 </message_code> <track_id> 0 </track_id> <x> 0.59 </x> <y> 0.18 </y> <h> 1.89 </z> <bbox> <x_min> 0.66 </x_min> <y_min> -0.13 </y_min> <z_min> 0.0 </z_min> <x_max> 0.96 </x_max> <y_max> 0.60 </y_max> </bbox> </evs_data> <z_max> 1.89 </z_max> EagleTrackingEngine, Application Interface, ver 1.3 13

3. REFERENCE COORDINATE SYSTEM 3.1 Temporal reference All timestamps are expressed in UTC reference (Universal Coordinate Time), which is independent of local time zone and daylight settings. The SPI Comm applications can be time-synchronized with external systems using NTP network protocol. 3.2 Spatial coordinate system The SPI Scout system is using a 3-dimensional, right-handed, Cartesian coordinate system. All coordinates are expressed in meters. The X and Y axes define the ground plane of the coordinate system, the Z axis is the vertical axis. The coordinate system is chosen such that the center point (0,0,0) is visible at one of the cameras. The value range for the X and Y coordinates depends on the size of the visible area. In a typical configuration the X and Y coordinates fall into range from -10.0 to +10.0 meter. The Z-plane is chosen such that Z=0 corresponds to the ground floor. The value range for the Z coordinates is 0.0 to 3.0 meters. 3.2.1 Bounding box measurement Bounding box is a 3-dimenisonal cuboid, defined by two characteristic points: (a) the minimal point and (b) the maximal point as indicated in the Figure 1. The height of the bounding box corresponds to the height of the person. Z Z ground plane B Y A Y X X Figure (Left) Coordinate system and ground plane. (Right) Bounding box definition, A minimum point, B maximum point. EagleTrackingEngine, Application Interface, ver 1.3 14