Documentation for Axxon One 1.0.

Previous page Next page

Na stronie:

Dodatkowe warunki mogą być dodane do wszystkich typów zapytań. Warunki są zawsze łączone z zapytaniem poprzez logiczne “AND”. Przykładowo zapytanie “obiekt o wysokości nie większej niż jedna czwarta ramki, który przebywa w polu widzenia kamery przez 5 sekund” wyglądałoby następująco:

 {
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0.3, 0.3],
                [0.7, 0.3],
                [0.7, 0.7],
                [0.3, 0.7]
            ]
        }
    ],
    "objectProperties": {
        "size": {
            "height": [0, 0.25]
        }
    },
    "conditions": {
        "duration": 5
    }
}

Typ obiektu (objectProperties/category)

Obiekt może być porzucony lub poruszający się (twarz, człowiek, grupa, pojazd). W zapytaniu typ porzucony nie może zostać umieszczony wraz z innymi typami obiektów (w innym przypadku warunek o porzuconym typie obiektu zostanie zignorowane).

Wyszukiwanie porzuconych obiektów w dowolnym punkcie ramki wygląda następująco:


 {
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0, 0],
                [1, 0],
                [1, 1],
                [0, 1]
            ]
        }
    ],
    "objectProperties": {
        "category": ["abandoned"],
    }
}

Wyszukiwanie osoby lub małej grupy osób przekraczających linię może mieć następującą konstrukcję:

 {
    "queryType": "line",
    "figures": [
        {
            "shape": [
                [0.5, 0.8],
                [0.5, 0.2]
            ]
        }
    ]
    "objectProperties": {
        "category": ["human", "group"],
    }
}

Wielkość obiektu (objectProperties/size)

Ustala minimalną oraz maksymalną wysokość oraz szerokość obiektu.

Uwaga!

Minimalne wartości muszą być mniejsze niż 1; maksymalne wartości muszą być większe od 0.


Przykładowo, aby wyszukać obiekty nie większe niż jedna czwarta wysokości ramki, można skorzystać z następującego zapytania:

{
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0.3, 0.3],
                [0.7, 0.3],
                [0.7, 0.7],
                [0.3, 0.7]
            ]
        }
    ],
    "objectProperties": {
        "size": {
            "width": [0, 1],
            "height": [0, 0.25]
        }
    }
}

Określenie wielkości w obu osiach nie jest wymagane; zapytanie może wyglądać także następująco:

 {
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0.3, 0.3],
                [0.7, 0.3],
                [0.7, 0.7],
                [0.3, 0.7]
            ]
        }
    ],
    "objectProperties": {
        "size": {
            "height": [0, 0.25]
        }
    }
}

Kolor obiektu (objectProperties/color)

Pozwala na ustalenie minimalnych oraz maksymalnych koordynat koloru obiektu w przestrzeni HSV. Odcień jest wyznaczany w stopniach (od 0 do 360), saturacja oraz jasność – w ułamkach od 0 do 1.

Zapytanie o jasnozielone obiekty w strefie może mieć następującą strukturę:

 {
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0.3, 0.3],
                [0.7, 0.3],
                [0.7, 0.7],
                [0.3, 0.7]
            ]
        }
    ],
    "objectProperties": {
        "color": {
            "hue": [75, 135],
            "saturation": [0.5, 1],
            "brightness": [0.5, 1]
        }
    }
}

W przestrzeni HSV kolory ciemnie lub niemal czarne mogą posiadać dowolny odcień oraz saturację. Aby wyszukać czarne obiekty, zapytanie powinno wyglądać następująco:

{
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0.3, 0.3],
                [0.7, 0.3],
                [0.7, 0.7],
                [0.3, 0.7]
            ]
        }
    ],
    "objectProperties": {
        "color": {
            "hue": [0, 360],
            "saturation": [0, 1],
            "brightness": [0, 0.2]
        }
    }
}

To samo zapytanie dla białych obiektów:

 {
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0.3, 0.3],
                [0.7, 0.3],
                [0.7, 0.7],
                [0.3, 0.7]
            ]
        }
    ],
    "objectProperties": {
        "color": {
            "hue": [0, 360],
            "saturation": [0, 0.1],
            "brightness": [0.8, 1]
        }
    }
}

Prędkość (conditions/velocity)

Określa minimalną oraz maksymalną prędkość obiektu.

Jest ona mierzona w fragmencie ramki na sekundę – prędkość poruszającego się obiektu, który przeszedł z lewego krańca ramki do prawego krańca ramki w czasie 1 sekundy to 1.

 {
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0.3, 0.3],
                [0.7, 0.3],
                [0.7, 0.7],
                [0.3, 0.7]
            ]
        }
    ],
    "conditions": {
        "velocity": [0.25, 1]
    }
}

Kierunki (conditions/directions)

Określa kierunek obiektu jako tabelę kątów. Kąty są mierzone w radianach; są one zliczane z osi zwróconej na prawo zgodnie z ruchem wskazówek zegara.

Zapytanie, by zwrócić obiekty poruszające się w prawo ±45° ma następującą strukturę:

{
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0.3, 0.3],
                [0.7, 0.3],
                [0.7, 0.7],
                [0.3, 0.7]
            ]
        }
    ],
    "conditions": {
        "directions": [
            [315, 45]
        ]
    }
}

Kąt 45° - 315° określa wszystkie kierunki oprócz kierunku "w prawo".

Jeśli niezbędne jest wyszukanie obiektu poruszającego się głównie w osi pionowej, dwa kąty muszą zostać określone;

 {
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0.3, 0.3],
                [0.7, 0.3],
                [0.7, 0.7],
                [0.3, 0.7]
            ]
        }
    ],
    "conditions": {
        "directions": [
            [315, 45],
            [135, 225]
        ]
    }
}

Czas trwania (conditions/duration)

Ustala czas (w sekundach), przez który obiekt musi spełniać wszystkie warunki w zapytaniu.

Korzystając z tego warunku, można utworzyć zapytanie typu “długie przebywanie w strefie”:

 {
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0.3, 0.3],
                [0.7, 0.3],
                [0.7, 0.7],
                [0.3, 0.7]
            ]
        }
    ],
    "conditions": {
        "duration": 5
    }
}

Liczba obiektów (condtions/count)

Określa minimalną ilość wymaganych obiektów, które muszą jednocześnie spełnić inne podane warunki.

Jest to zwykle wykorzystywane w celu wyszukiwania dużej liczby obiektów w strefie. Przykład:

 {
    "queryType": "zone",
    "figures": [
        {
            "shape": [
                [0.3, 0.3],
                [0.7, 0.3],
                [0.7, 0.7],
                [0.3, 0.7]
            ]
        }
    ],
    "conditions": {
        "count": 3
    }
}
  • No labels