O programie
Agent DVR w pełni integruje się z serwerami AI takimi jak DeepStack AI, CodeProject AI, PlateRecognizer.com, Claude, Gemini, OpenAI (ChatGPT) i lokalne LLMs takie jak Ollama, vLLM i LM Studio, aby dodać inteligentne filtrowanie alertów, rozpoznawanie obiektów, rozpoznawanie scen i inteligentną kontrolę zdarzeń.
Poza DeepStack i CodeProject AI możesz również korzystać z innych serwerów AI obsługujących ten sam interfejs API:
Rozpoznawanie obiektów i widzenie komputerowe
- https://codeproject.github.io/ - Wieloplatformowy serwer przetwarzania AI oparty na GPU/CPU
- https://docs.platerecognizer.com/ - Serwer rozpoznawania tablic rejestracyjnych (internetowy interfejs API)
- https://github.com/runningman84/docker-coral-rest-server - Modele Tensorflow-lite na RPi (lub Linux/Mac) z przyspieszeniem ze szmaragdowego klucza USB
- https://github.com/robmarkcole/coral-pi-rest-server/ - Modele Tensorflow-lite na akceleratorze Coral USB przez aplikację Flask
- https://xnorpx.github.io/blue-onyx/ - Usługa detekcji obiektów Blue Onyx
Usługi AI w Chmurze
- https://platform.openai.com/ - Interfejs API OpenAI (ChatGPT, GPT-4 Vision) do analizy obrazów i rozmów
- https://console.anthropic.com/ - Interfejs API Anthropic Claude do zaawansowanego wnioskowania i rozumienia obrazów
- https://ai.google.dev/ - Interfejs API Google Gemini do multimodalnych możliwości AI
- https://docs.anthropic.com/ - Dokumentacja interfejsu API Claude
- https://platform.openai.com/docs/ - Dokumentacja interfejsu API OpenAI
- https://ai.google.dev/gemini-api/docs - Dokumentacja interfejsu API Gemini
Lokalne serwery AI (LLMs)
- https://ollama.com/ - Ollama: Uruchamiaj duże modele językowe lokalnie
- https://docs.vllm.ai/ - vLLM: Wnioskowanie LLM i obsługiwanie o wysokiej przepustowości
- https://lmstudio.ai/ - LM Studio: Łatwa w użyciu aplikacja pulpitu do lokalnych LLMs
- https://github.com/ollama/ollama - Repozytorium GitHub Ollama
- https://github.com/vllm-project/vllm - Repozytorium GitHub vLLM
Dodawanie modeli AI
Niestandardowe modele AI umożliwiają rozszerzenie możliwości detekcji obiektów Agent DVR poza wbudowane opcje, na przykład rozpoznawanie zwierząt, pojazdów dostawczych lub czegokolwiek innego, co wytrenowany model potrafi znaleźć. Aby dodać własne pliki modelu do Agent DVR, przejdź do Ustawienia serwera > Ustawienia AI i kliknij Rozpoznawanie obiektów pod Modele AI. Agent zawiera dwa wstępnie skonfigurowane modele, które zostały dostrojone pod kątem wydajności dla Agent DVR.
Zanim skonfigurujesz model, musisz dodać go do folderu Modele Agent DVR (zobacz budowanie modeli AI). Zwykle znajduje się on w lokalizacji Agent/Multimedia/Modele/ONNX (ścieżka może się różnić w zależności od systemu operacyjnego). Pełna ścieżka jest wyświetlana na stronie Dodaj model, jeśli masz wątpliwości. Agent używa modeli .onnx. Możesz konwertować inne formaty modeli AI na ONNX za pomocą narzędzi Python.
Po zbudowaniu i skopiowaniu modelu dodanie go do Agent jest proste - kliknij, aby dodać model:
- Nazwa: Nadaj nazwę swojemu modelowi - może to być cokolwiek lubisz.
- Opis: Opcjonalny opis tego, co robi model.
- Plik modelu: Wybierz nazwę pliku modelu, którą skopiowałeś do folderu.
- Etykiety: Wprowadź listę etykiet (lub "klas"), których szuka Twój model w formacie CSV bez cudzysłowów (spacje są automatycznie usuwane).
- Układ: Wybierz, czy Twój model jest NCHW czy NHWC. Większość modeli to NCHW, jeśli nie jesteś pewny.
- Kolejność kanałów: Wybierz, czy Twój model chce obrazy w RGB czy BGR. Większość modeli używa RGB. Jeśli Twój model jest pojedynczym kanałem (skala szarości), zostanie to zignorowane.
- Normalizuj: Wybierz sposób normalizacji danych przed użyciem w modelu. Większość modeli używa Rescalingu (0-1), który dzieli wartości pikseli przez 255.
- Dopasuj obraz (Pad): Kontroluje, czy obraz powinien być rozciągnięty do wymiarów wejściowych czy wyrównany czarnymi pasami. Zwykle lepiej jest wyrównać obrazy dla dokładności.
- Posiada NMS: Zaznacz to, jeśli Twój model już wykonuje Non-Maximum Suppression wewnętrznie. W przeciwnym razie Agent będzie wykonywać NMS sam. NMS kontroluje sposób filtrowania prostokątów wyników.
- Domyślny NMS: Ustaw ogranicznik nakładania się dla NMS (domyślnie 45% nakładania się).
Po dodaniu modelu będzie on dostępny do użytku w karcie Rozpoznawanie obiektów urządzenia. Jeśli napotkasz problemy, możesz wrócić do konfiguracji modelu i wprowadzić zmiany. Agent obsługuje również ponowne załadowanie pliku modelu, dzięki czemu możesz go zastąpić nową wersją, gdy jest on aktualnie uruchomiony.
Konfigurowanie Serwerów AI
Aby skonfigurować Serwery AI, kliknij ikonę w górnym prawym rogu głównego interfejsu Agent DVR. Następnie kliknij Ustawienia w obszarze Konfiguracja, wybierz Ustawienia AI z menu rozwijanego i kliknij Serwery AI.
Agent DVR integruje się z CodeProject.AI dla różnych funkcji sztucznej inteligencji, w tym rozpoznawania obiektów, rozpoznawania twarzy, ALPR (Automatyczne rozpoznawanie tablic rejestracyjnych) i super-rozdzielczości (ulepszanie). PlateRecognizer.com jest również obsługiwany jako dostawca ALPR. CodeProject.AI jest otwartym kodem źródłowym, bezpłatny i kompatybilny z większością platform.
Na początek zainstaluj serwer AI dla swojej platformy i połącz Agent DVR z nim, klikając Serwery AI, a następnie Dodaj.
Możesz dodać do Agent DVR tyle serwerów AI, ile potrzebne. Kamery w Agent DVR można skonfigurować do używania różnych serwerów AI dla każdej funkcji, lub możesz użyć jednego serwera AI dla wszystkich zadań.
Konfigurowanie serwera
- Nazwa: Nazwij serwer, np. Łowca kotów.
- Adres URL serwera AI: Wprowadź adres URL serwera AI, np. http://localhost:32168/
- Klucz API: Wprowadź swój klucz, jeśli jest skonfigurowany (opcjonalnie).
- Limit czasu: Limit czasu w sekundach dla żądań serwera.
- Opóźnienie ponownej próby: Czas w sekundach przed ponowieniem nieudanego żądania do tego serwera.
Kliknij OK, aby zapisać ustawienia.
Korzystanie z OpenAI
Aby skonfigurować OpenAI ("ChatGPT") do odpowiadania na pytania dotyczące tego, co dzieje się w Twoim strumieniu wideo, przejdź do Ustawienia serwera - Ustawienia AI i wybierz "OpenAI" w sekcji Zapytaj AI.
- URL: Wprowadź adres URL usługi. Wartość domyślna to "https://api.openai.com/v1/responses".
- Klucz API OpenAI: Po zarejestrowaniu się w OpenAI przejdź do strony Klucze API i wygeneruj nowy klucz tajny. Skopiuj i wklej ten klucz w wyznaczone pole.
- Model: Określ model do użycia. Wartość domyślna to gpt-5.4-mini. OpenAI może usunąć lub zmienić to w przyszłości.
- Maks. tokeny: To ustawia maksymalne użycie tokenów na żądanie. Jeśli napotkasz problemy, sprawdź dzienniki na stronie /logs.html, ponieważ może to być związane z użyciem tokenów.
Po skonfigurowaniu OpenAI zapoznaj się z sekcją Zapytaj AI, aby uzyskać instrukcje dotyczące sposobu użycia go do odpowiadania na ogólne pytania dotyczące tego, co dzieje się w strumieniu kamery.
Korzystanie z Claude
Aby skonfigurować Claude AI do udzielania odpowiedzi na pytania dotyczące tego, co dzieje się w transmisji wideo, przejdź do Ustawienia serwera - Ustawienia AI i wybierz "Claude" w obszarze Zapytaj AI.
- URL: Wprowadź adres URL usługi. Domyślnie jest to "https://api.anthropic.com/v1/messages".
- Klucz API Claude: Po zarejestrowaniu się w Claude odwiedź stronę Klucze API i utwórz nowy klucz tajny. Skopiuj i wklej ten klucz do pola.
- Wersja: Określ wersję API do użycia. Domyślnie jest to 2023-06-01. Ta wersja może być usunięta lub zmieniona w pewnym momencie przez Anthropic.
- Model: Określ model do użycia. Domyślnie w chwili pisania jest to claude-sonnet-4-6 (Claude Sonnet 4.6).
- Maks. tokeny: To steruje maksymalnym wydatkiem tokenów na żądanie. Sprawdź dzienniki w /logs.html jeśli masz problemy, ponieważ mogą być związane z wydatkami tokenów.
Po skonfigurowaniu Claude zobacz Zapytaj AI, aby dowiedzieć się, jak używać go do rozpoznawania ogólnych scenariuszy w transmisji kamery.
Korzystanie z Gemini
Aby skonfigurować Gemini do odpowiadania na pytania dotyczące tego, co dzieje się w strumieniu wideo, przejdź do Ustawienia serwera - Ustawienia AI i wybierz "Gemini" w sekcji Zapytaj AI.
- URL: Wprowadź adres URL usługi. Domyślnie jest to "https://generativelanguage.googleapis.com".
- Klucz API Gemini: Po zarejestrowaniu się w usłudze Gemini odwiedź stronę Kluczy API i utwórz nowy klucz tajny. Skopiuj i wklej ten klucz do pola.
- Wersja: Określ wersję API do użycia. Domyślnie jest to v1beta. Ta wersja może zostać w pewnym momencie usunięta lub zmieniona przez Google.
- Model: Określ model do użycia. Domyślnie w momencie pisania jest to gemini-2.5-flash. Po wprowadzeniu klucza API Agent będzie wyświetlać modele wizyjne dostępne dla Twojego konta.
- Maks. tokeny: To steruje maksymalnym wydatkiem tokenów na żądanie. Sprawdź dzienniki w /logs.html jeśli masz problemy, ponieważ mogą być związane z wydatkami tokenów.
Po skonfigurowaniu Gemini zapoznaj się z sekcją Zapytaj AI, aby dowiedzieć się, jak jej używać do rozpoznawania ogólnych scenariuszy w strumieniu wideo z kamery.
Korzystanie z innych serwerów LLM
Możesz używać własnych lokalnych serwerów LLM (takich jak vLLM, Ollama i LM Studio) do opisywania obrazów przechwytywanych przez Agent DVR z kamer w zdarzeniach alertów oraz udzielania odpowiedzi na pytania dotyczące tego, co dzieje się w strumieniach wideo. Zobacz Opisz i Zapytaj AI.
Aby skonfigurować lokalny serwer AI, przejdź do Ustawienia serwera - Ustawienia AI i kliknij przycisk Konfiguruj obok wybranego LLM (Ollama, vLLM lub LM Studio).
- URL: Określ punkt końcowy, w którym działa Twój serwer LLM. Domyślne adresy URL to:
- Ollama:
http://localhost:11434/api/chat - vLLM:
http://localhost:8000/v1/chat/completions - LM Studio:
http://localhost:1234/v1/chat/completions
- Ollama:
- Klucz API: Jeśli Twój serwer LLM wymaga uwierzytelnienia, wpisz tutaj klucz API. Większość serwerów lokalnych tego nie wymaga, chyba że zostały do tego specjalnie skonfigurowane.
- Model: Wybierz model obsługujący wizję do analizy obrazów. Musisz wcześniej pobrać i załadować ten model na swoim serwerze LLM. Agent sugeruje kilka popularnych opcji, w tym:
- Modele Qwen VL (wysoka wydajność)
- Gemma 4 (dobry zakres rozmiarów)
- Llama 3.2 Vision (Meta)
- Mistral Small 3.1
- moondream (bardzo mały, dobry dla sprzętu niskiej klasy, tylko Ollama)
- Temperatura: Kontroluje kreatywność w stosunku do dokładności w odpowiedziach (0,0-1,0). Niższe wartości (0,3-0,4) generują bardziej faktyczne, spójne opisy. Wyższe wartości (0,6-0,8) tworzą bardziej zróżnicowane, kreatywne odpowiedzi. Zalecane: 0,4 dla analizy kamer monitoringu.
- Maks. tokeny: Maksymalna liczba słów/tokenów w odpowiedzi AI. Wyższe wartości pozwalają na bardziej szczegółowe opisy, ale trwają dłużej do wygenerowania. Zalecane: 300-500 dla szczegółowej analizy obrazu, 150-250 dla krótkich opisów.
- top_p: Kontroluje różnorodność odpowiedzi poprzez ograniczenie wyboru słownictwa (0,0-1,0). Niższe wartości używają bardziej typowych słów, wyższe wartości pozwalają na bardziej zróżnicowane słownictwo. Zalecane: 0,9 dla dobrej równowagi między dokładnością a naturalnym językiem.
- top_k: Ogranicza model do wyboru z K najbardziej prawdopodobnych następnych słów. Niższe wartości (20-40) generują bardziej skoncentrowane odpowiedzi, wyższe wartości (80-100) pozwalają na większą różnorodność. Zalecane: 50 dla wiarygodnych opisów obrazów.
Korzystanie z PlateRecognizer.com
Aby skonfigurować LPR (ANPR lub rozpoznawanie tablic rejestracyjnych) w Agent DVR, przejdź do Ustawienia serwera - Ustawienia AI i wprowadź szczegóły w sekcji Plate Recognizer. Załóż konto na bezpłatny okres próbny na stronie Plate Recognizer. Karta kredytowa nie jest wymagana.
- URL: Wprowadź adres URL usługi. Domyślna wartość to "https://api.platerecognizer.com/v1/plate-reader/" lub używaj własnego serwera, jeśli hostowana jest własna instancja.
- Token: Po zarejestrowaniu się w Plate Recognizer przejdź do strony Konto i skopiuj Token API.
- Regiony: Pozostaw puste dla wartości domyślnej lub wprowadź rozdzielaną przecinkami listę regionów.
- Konfiguracja: W razie potrzeby wprowadź dodatkowe wartości konfiguracyjne z dokumentacji.
Używanie DoubleTake
DoubleTake to platforma Open Source, która zapewnia ujednolicone API do przetwarzania rozpoznawania twarzy przy użyciu:
- CompreFace
- Amazon Rekognition
- DeepStack
- CodeProject.AI Server
- Facebox
Musisz instalować i konfigurować DoubleTake przy użyciu preferowanych opcji rozpoznawania twarzy.
Po skonfigurowaniu DoubleTake otwórz Agent DVR i przejdź do Ustawienia serwera - Ustawienia AI i kliknij przycisk Konfiguruj obok DoubleTake.
Wpisz adres URL serwera doubletake (np. http://localhost:3000/) i hasło, jeśli zostało ustawione.
Kliknij OK, następnie edytuj kamerę i przejdź do Rozpoznawania twarzy. Ustaw opcję Serwer AI na DoubleTake i skonfiguruj rozpoznawanie twarzy stosownie do potrzeb.
Zarządzanie modułami AI
Na liście serwerów AI (przywołanej powyżej) masz opcje umożliwiające konfigurowanie, testowanie, edytowanie i usuwanie serwerów AI. Kliknij przycisk Konfiguruj , aby wyświetlić moduły dostępne lub zainstalowane na wybranym serwerze.
Agent DVR pobiera bieżącą listę modułów z Twojego serwera i udostępnia interfejs użytkownika do instalacji, odinstalowywania, konfigurowania i testowania każdego modułu. Zapewniana jest obsługa wszystkich domyślnych modułów CodeProject.AI, chociaż Agent DVR wykorzystuje tylko ich podzbiór.
Aby korzystać z ALPR (Automatic License Plate Recognition), Super-rozdzielczości lub Rozpoznawania twarzy w Agent DVR, musisz zainstalować odpowiedni moduł z tej strony. Zazwyczaj domyślne ustawienia wystarczają dla tych modułów, ale możesz je skonfigurować, klikając na ikonę pod każdym modułem.