Packages

package schema

please see nv.schema , which is used @since v1.0

this is kept for backward compatibility and is used for json based pipeline

the key classes representing the json schema

Calibration
Message
Frame and
Behavior

There are two schema for sending messages perception layer to Message broker (kafka or IOT hub), The two schema are represented by Message and Frame. Frame is concise in terms amount of bytes sent over the network

User can configure to use either of the Messaging schema

jBehavior is specific to the domain we are dealing with, represent object movement & state over period of times

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. schema
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class jAisle(id: String, name: String, level: String, coordinate: jCoordinate) extends Product with Serializable
  2. case class jAnalyticsModule(id: String = null, description: String = null, source: String = null, version: String = null, info: jAnalyticsModuleInfo = jAnalyticsModuleInfo()) extends Product with Serializable

    Analytics Module to be nested in every message, example below

    Analytics Module to be nested in every message, example below

    "analyticsModule": {
    			"id": "module-id",
    			"description": "Vehicle Detection and License Plate Recognition",
    			"source": "OpenALR",
    			"version": "3.0"
    }
  3. case class jAnalyticsModuleInfo(clusterIndex: Int = -1, clusterModel: String = null) extends Product with Serializable

    additional analytics information like clusterIndex, relative deviation

  4. case class jBbox(topleftx: Double, toplefty: Double, bottomrightx: Double, bottomrighty: Double) extends Product with Serializable
  5. case class jBehavior(id: String, start: Timestamp = null, end: Timestamp = null, timestamp: Timestamp = null, locations: GeoLocation = null, smoothLocations: GeoLocation = null, edges: Array[String] = null, distance: Double = 0, speed: Double = 0, speedOverTime: Array[Double] = null, timeInterval: Double = 0, bearing: Double = 0, direction: String = null, length: Int = 0, place: jPlace = null, sensor: jSensor = null, analyticsModule: jAnalyticsModule = null, object: jObject = null, event: jEvent = null, videoPath: String = null, pose: Array[jPose] = null, gesture: Array[jGesture] = null, gaze: Array[jGaze] = null) extends Product with Serializable

    represent object Behavior, and comprise of attributes from object movement + jObject appearance with highest confidence + jSensor + jPlace + jPose + jGesture + jGaze

    represent object Behavior, and comprise of attributes from object movement + jObject appearance with highest confidence + jSensor + jPlace + jPose + jGesture + jGaze

    the JSON representation of this object Behavior message is stored in persistent store like Elasticsearch for search and indexing

    id

    : object id, usually a combination of sensorId + objectId

    start

    : start timestamp of the trajectory

    end

    : end timestamp

    locations

    representing array of [lon,lat] or [x,y]

    smoothLocations

    representing smoothened array of [lon,lat] or [x,y]

    edges

    road network edges, only applicable for geo coordinates

    distance

    traveled in meters

    speed

    avg speed in mph

    speedOverTime

    speed over a period of time

    bearing

    angle

    direction

    N, S, E or W based on bearing

    length

    length of number of object detections

    place

    place where object was detected

    sensor

    Sensor

    object

    Object

    event

    Event

    videoPath

    URL of the video if stored

    pose

    array of pose estimations

    gesture

    array of gesture estimations

    gaze

    array of gaze estimations

  6. case class jCoordinate(x: Double, y: Double, z: Double) extends Product with Serializable

    Coordinate : in 3D

    Coordinate : in 3D

    Since

    v0.1

  7. case class jEntrance(name: String, lane: String, level: String, coordinate: jCoordinate) extends Product with Serializable
  8. case class jEvent(id: String, type: String) extends Product with Serializable
  9. case class jGaze() extends Product with Serializable
  10. case class jGesture() extends Product with Serializable
  11. case class jKeyPoint(name: String, coordinate: jCoordinate, confidence: Double) extends Product with Serializable

    KeyPoint : representing KeyPoint of an object detected

    KeyPoint : representing KeyPoint of an object detected

    name

    of the KeyPoint, can be nose, left-eye, right-eye

    confidence

    detection confidence of the body part

    Since

    v0.2

  12. case class jLocation(lat: Double, lon: Double, alt: Double) extends Product with Serializable
  13. case class jMessage(messageid: String, mdsversion: String, timestamp: Timestamp, place: jPlace, sensor: jSensor, analyticsModule: jAnalyticsModule, object: jObject, event: jEvent, videoPath: String) extends Product with Serializable

    Message representing an object detected

    Message representing an object detected

    messageid

    unique id of the message

    mdsversion

    schema version

    timestamp

    camera timestamp when the object was detected

    place

    place where object was detected

    sensor

    primarily camera sensor

    analyticsModule

    the analytics module used in detection

    object

    details of the object detection

    event

    event associated , example moving, parked etc

    videoPath

    associated URL of the video if any

    Since

    v0.1

  14. case class jObject(id: String, vehicle: jVehicle = null, person: jPerson = null, bbox: jBbox, signature: Array[Double], speed: Double, direction: Double, orientation: Double, location: jLocation, coordinate: jCoordinate) extends Product with Serializable
  15. case class jParkingSpot(id: String, type: String, level: String, coordinate: jCoordinate) extends Product with Serializable
  16. case class jPerson(gender: String, age: Double, hair: String, cap: String, apparel: String, height: Double, confidence: Double) extends Product with Serializable

    Person example

    Person example

       "person": {
    "gender": "male",
    "age": 45,
    "hair": "black",
    "cap": "none",
    "apparel": "formal",
    "confidence": 0.9779,
    },
  17. case class jPlace(id: String, name: String, type: String, location: jLocation, aisle: jAisle) extends Product with Serializable

    *

    *

    Describing a scene needs describing where the scene is happening – place, what is happening in terms of events, and who are the objects participating in the event. note coordinate(x,y,z) are in meters

    Json representation of Place

    "place": {
        "id": "string",
        "name": "endeavor",
        "type": "building/garage",
        "location": {
            "lat": 37.37060687475246,
            "lon": -121.9672466762127,
            "alt": 0.00
        },
        "entrance": {
            "name": "walsh",
            "lane": "lane1",
            "level": "P2",
             "coordinate": {
                              "x": 1.0,
                              "y": 2.0,
                              "z": 3.0
                          }
                      }
          }
  18. case class jPose(type: String, bbox: Array[Double], keyPoints: Array[jKeyPoint]) extends Product with Serializable

    Pose : representing body pose of an object detected

    Pose : representing body pose of an object detected

    type

    can be pose2D or pose3D

    bbox

    array of double

    keyPoints

    array of KeyPoints

    Since

    v0.2

  19. case class jSensor(id: String, type: String, location: jLocation, description: String, coordinate: jCoordinate) extends Product with Serializable

    Sensor object to be nested in every message, example

    Sensor object to be nested in every message, example

    "sensor": {
    			"id": "string",
    			"type": "Camera/Puck",
    			"location": {
    			"lat": 45.99,
    			"lon": 35.54,
    			"alt": 79.03
    },
    "coordinate": {
    			"x": 5.2,
    			"y": 10.1,
    			"z": 11.2
    },
    "description": "Entrance of Endeavor Garage Right Lane"
    }
  20. case class jVehicle(type: String, make: String, model: String, color: String, confidence: Double, license: String, licenseState: String) extends Product with Serializable

    Vehicle example

    Vehicle example

    "vehicle": {
    "type": "sedan",
    "make": "Bugatti",
    "model": "M",
    "color": "blue",
    "confidence": 0.8205,
    "license": "CGP93S",
    "licenseState": "CA"
    }

Value Members

  1. object AnomalyEventType extends Enumeration

Inherited from AnyRef

Inherited from Any

Ungrouped