Przykłady algorytmów

Przykłady algorytmów

1. Monitorowanie ruchu batoników na taśmie produkcyjnej

Wyobraźmy sobie scenariusz, w którym musimy monitorować batoniki poruszające się wzdłuż taśmy produkcyjnej. Celem jest określenie, czy batonik przesunie się całkowicie w ciągu 3 sekund lub przekroczy zdefiniowany próg rozmiaru więcej niż 50 razy. Jeśli któryś z tych warunków zostanie spełniony, wysłane zostanie powiadomienie SMS. Proces ten można zautomatyzować za pomocą następującego algorytmu:

Struktura algorytmu

  1. Dodaj bloczek Model, aby przeprowadzić wnioskowanie:
  • Kliknij przycisk Dodaj model i wybierz model detekcji obiektów zdolny do identyfikowania batoników,

  • Upewnij się, że model został prawidłowo wytrenowany i zawiera odpowiednie kategorie.

  1. Dodaj bloczek Sesji:
  • Połącz bloczek Sesja z bloczkiem Model. Sesja definiuje pętlę, która pobiera klatkę ze strumienia, stosuje silnik wnioskowania i zwraca przewidywania.
  1. Dodaj wyzwalacze przewidywań:
  • Dodaj Wyzwalacz prędkości, aby zidentyfikować batoniki poruszające się w całości po taśmie produkcyjnej w ciągu 3 sekund,

  • Skonfiguruj następujące elementy:

    • Kategorie: Wybierz odpowiednie kategorie batoników,

    • Sekundy: Ustaw na 3,

    • Odległość: Ustaw na 100%,

  • Dodaj Wyzwalacz rozmiaru, aby zidentyfikować batoniki przekraczające określone progi rozmiaru,

  • Skonfiguruj następujące elementy:

    • Kategorie: Wybierz odpowiednie kategorie batoników,

    • Operator: Ustaw na „większy niż”,

    • Wysokość: Ustaw na 80%,

    • Szerokość: Ustaw na 30%,

  • Podłącz oba wyzwalacze przewidywania do bloku Sesja.

  1. Dodaj Zdarzenie predykcji:
  • Dodaj bloczek akcji Wyślij sms, aby wysyłać powiadomienia w czasie rzeczywistym na określony numer telefonu,

  • Podłącz wyzwalacz Prędkości do bloczku akcji Wyślij sms,

  • Skonfiguruj następujące elementy:

    • Lista numerów telefonów: Dodaj numer telefonu odbiorcy,

    • Treść SMS: Ustaw wiadomość (np. „Linia produkcyjna porusza się zbyt szybko”).

  1. Dodaj bloczek Agregator:

Podłącz bloczek Agregator do bloku wyzwalacza Rozmiaru. Bloczek ten grupuje (agreguje) zdarzenia pochodzące z wyzwalaczy predykcji.

  1. Dodaj Wyzwalacz gregacji:
  • Dodaj blok Ilości zdarzeń, aby śledzić, kiedy naruszenia rozmiaru wystąpią więcej niż 50 razy dla pojedynczego batonika,

  • Skonfiguruj następujące elementy:

    • Operator: Ustaw na „większy niż”

    • Liczba: Ustaw na 50.

  1. Dodaj kolejne Zdarzenie predykcji:
  • Dodaj blok akcji Wyślij sms, aby wysyłać powiadomienia w czasie rzeczywistym na określony numer telefonu,

  • Połącz blok Ilości zdarzeń z blokiem akcji Wyślij sms,

  • Skonfiguruj następujące elementy:

    • Lista numerów telefonów: Dodaj numer telefonu odbiorcy,

    • Treść SMS: Ustaw wiadomość (np. „Batoniki poruszające się na taśmociągu są za duże.”)

2. Analiza ilości kart

Załóżmy, że naszym celem jest określenie ilości określonych kart przechwyconych przez górną i prawą kamerę. Algorytm może mieć następującą strukturę:

Struktura algorytmu

  1. Dodaj dwa bloczki Modeli, aby przeprowadzić wnioskowanie:
  • Dodaj jeden bloczek modelu dla górnej kamery i drugi dla prawej kamery,

  • Wybierz modele detekcji obiektów zdolne do rozpoznawania symboli kart,

  • Upewnij się, że modele zostały prawidłowo wytrenowane i zawierają odpowiednie kategorie.

  1. Dodaj dwa bloczki Sesji:

Każdy bloczek Sesja powinien być połączony z jednym blokiem Modelu. Sesja definiuje pętlę, która pobiera ramkę ze strumienia, stosuje silnik wnioskowania i zwraca przewidywania.

  1. Dodaj dwa wyzwalacze predykcji:
  • Dodaj dwa wyzwalacze Ilości, jeden dla górnej kamery i jeden dla prawej kamery,

  • Skonfiguruj następujące elementy:

    • Kategoria: Wybierz odpowiednie symbole kart,

    • Operator: Ustaw na „większe niż”,

    • Liczba: Ustaw na 1,

  • Każdy blok wyzwalacza Ilości powinien być połączony z jednym blokiem Sesji.

  1. Dodaj bloczek Agregator:

Połącz bloczek Agregator z bloczkami wyzwalaczy Ilości. Bloczek ten grupuje (agreguje) zdarzenia pochodzące z wyzwalaczy predykcji.

  1. Dodaj Wyzwalacz agregacji:
  • Dodaj blok Ilości zdarzeń, aby śledzić, kiedy naruszenia ilości występują więcej niż 1 raz,

  • Skonfiguruj następujące elementy:

    • Operator: Ustaw na „większy niż”,

    • Liczba: Ustaw na 1,

    • Włącz Uwzględniaj tylko zdarzenia związane z tym samym obiektem.

  1. Dodaj Zdarzenie predykcji:
  • Dodaj bloczek akcji Zrób zrzut ekranu, aby zapisać obraz wykrytych kart,

  • Połącz bloczek Ilości zdarzeń z blokiem akcji Zrób zrzut ekranu,

  • Skonfiguruj następujące elementy:

    • Ścieżka względna: Dodaj ścieżkę względną i użyj zmiennych, takich jak OccurredEventsNames i EventsDetailsJson, aby dynamicznie generować ścieżki plików.