Opis bloczków
Sesja
Jest to podstawowy bloczek definiujący sesję. Jest to rodzaj pętli, która w każdej iteracji pobiera klatkę ze strumienia, stosuje do niej silnik wnioskowania i zwraca otrzymane predykcje.
WEJŚCIE:
Wnioskowanie - silnik wnioskowania z określonego bloczku modelu detekcji lub klasyfikacji.
WYJŚCIE:
Predykcje - rozpoznania zawierające kategorie obiektów, ich współrzędne, liczbę i informacje o klatce, w której wystąpiły.
Model
Model wytrenowany w ONESTEP AI i gotowy do przeprowadzenia na nim wnioskowania. Istnieją dwa rodzaje modeli: detekcja i klasyfikacja.
WYJŚCIE:
Wnioskowanie - silnik wnioskowania danego modelu.
Wyzwalacz predykcji
Blok odpowiedzialny za filtrowanie predykcji otrzymanych z sesji, przetwarzanie ich i ewentualnie tworzenie zdarzenia predykcji, jeśli spełnione są warunki określone przez parametry.
Istnieje siedem wyzwalaczy predykcji:
- Relacja - obiekt klasy X został znaleziony powyżej/poniżej/obok obiektu klasy Y.
- Ilość - było dokładnie/więcej niż/mniej niż X przedstawicieli klasy Y.
- Rozmiar - obiekt klasy X ma rozmiar (wysokość x szerokość) dokładnie/więcej/mniej niż YxZ.
- Lokalizacja - obiekt klasy X znajdował się wewnątrz / na zewnątrz obszaru zainteresowania.
- Prędkość - obiekt klasy X pokrył Y% obszaru w czasie krótszym/dłuższym niż Z.
- Transformacja - transformacja reprezentacji klasowej obiektu z X do Y (na przykład mamy klasy STOJĄCY-CZŁOWIEK i LEŻĄCY-CZŁOWIEK, a obiekt zmienia się z jednego stanu w drugi).
- Przekroczenie linii - obiekt klasy X przekroczył predefiniowaną linię w jednym z dwóch kierunków.
WEJŚCIE:
Predykcje - lista rozpoznań pochodzących z Sesji.
WYJŚCIE:
Zdarzenie przewidywane - zdarzenie składające się ze skorelowanych predykcji, znacznika czasu i ewentualnie innych metadanych, które mogą być istotne dla przetwarzania końcowego algorytmu.
Agregator
Bloczek, który grupuje (agreguje) zdarzenia pochodzące z wyzwalaczy predykcji.
WEJŚCIE:
Zdarzenie przewidywane - konkretne zdarzenie związane z predykcjami pochodzącymi z sesji.
WYJŚCIE:
Agreguj - agregat łączący wszystkie zdarzenia wejściowe.
Wyzwalacze agregacji
Wyzwalacz działający na zagregowanych zdarzeniach. Analizuje on związek między zdarzeniami predykcji z uwzględnieniem czasu. Istnieją cztery wyzwalacze agregacji:
- Ilość zdarzeń - wystąpiło dokładnie/więcej niż/mniej niż X zdarzeń predykcyjnych typu Y.
- Sekwencja zdarzeń - zdarzenie, które występuje, gdy wcześniej wystąpiła określona sekwencja zdefiniowanych tutaj zdarzeń predykcji.
- Czas między zdarzeniami - między predykcjami zdarzenia typu X wystąpiły dokładnie/więcej/mniej niż czas Y.
- Przedział czasu - zdarzenie, które występuje bezwarunkowo raz na określony czas (nie dotyczy zdarzeń predykcji).
WEJŚCIE:
Agreguj - zgrupowane (zagregowane) zdarzenia.
WYJŚCIE:
Zdarzenie agregacji - nowe zdarzenie składające się ze skorelowanych zdarzeń predykcji i predykcji.
Działania
Jest to bloczek, który definiuje reakcję algorytmu po wystąpieniu zdarzenia predykcji lub agregacji. W zależności od tego, które zdarzenie jest z nim powiązane, odpowiednie zmienne wynikające z metadanych tego zdarzenia będą dostępne w zmiennych zdarzenia.
Istnieją cztery akcje:
- Wyślij HTTP - wysłanie żądania HTTP typu GET/POST z możliwymi dodatkowymi parametrami.
- Wyślij e-mail - wysyła wiadomość e-mail o określonej treści na podany adres.
- Wyślij sms - wysyłanie wiadomości sms o określonej treści na podany numer.
- Zrób zrzut ekranu - zapisz zrzut ekranu ze strumienia po wystąpieniu zdarzenia.
WEJŚCIE:
Zdarzenie predykcji - zdarzenie predykcji pochodzące z wyzwalacza predykcji.
Zdarzenie agregacji - zdarzenie agregacji pochodzące z wyzwalacza agregacji.
Relacje między bloczkami
- Podstawowym i niezbędnym bloczkiem do stworzenia algorytmu jest Sesja. Do każdej Sesji musimy podłączyć dokładnie jeden Model.
- Jeśli do Sesji podłączony jest Wyzwalacz Predykcji, algorytm pozostaje wersją roboczą, dopóki nie podłączymy do niego bloczku Akcji lub Agregatora wraz z Wyzwalaczem agregacji i Akcją.
- Do jednej Sesji można podłączyć wiele Wyzwalaczy Predykcji, ale każdy Wyzwalacz Predykcji jest podłączony tylko do jednej Sesji.
- Do jednego Agregatora można podłączyć wiele Wyzwalaczy Predykcji i odwrotnie.
- Wiele Wyzwalaczy Agregacji może być połączonych z jednym Agregatorem, ale każdy Wyzwalacz Agregacji jest połączony tylko z jednym Agregatorem.
- Wyzwalacz Predykcji i Wyzwalacz Agregacji mogą być połączone z wieloma Akcjami, ale każda Akcja ma dokładnie jeden Wyzwalacz.