Kecerdasan Buatan: Server
Tentang
Agent DVR terintegrasi sepenuhnya dengan server AI seperti DeepStack AI, CodeProject AI, PlateRecognizer.com, Claude, Gemini, OpenAI (ChatGPT) dan LLM lokal seperti Ollama, vLLM dan LM Studio untuk menambahkan penyaringan peringatan cerdas, pengenalan objek, pengenalan adegan, dan kontrol peristiwa cerdas.
Selain DeepStack dan CodeProject AI, Anda juga dapat menggunakan server AI lain yang mendukung API yang sama:
Pengenalan Objek & Penglihatan Komputer
- https://codeproject.github.io/ - Server Pemrosesan AI berbasis GPU/CPU Lintas Platform
- https://docs.platerecognizer.com/ - Server Pengenalan Plat Nomor (API berbasis Web)
- https://github.com/runningman84/docker-coral-rest-server - Model tensorflow-lite di RPi (atau Linux/Mac) dengan akselerasi dari stik USB Coral
- https://github.com/robmarkcole/coral-pi-rest-server/ - Model tensorflow-lite di akselerator USB Coral melalui aplikasi Flask
- https://github.com/xnorpx/blue-candle - Server pengenalan objek super kecil
Layanan AI Cloud
- https://platform.openai.com/ - API OpenAI (ChatGPT, GPT-4 Vision) untuk analisis gambar dan obrolan
- https://console.anthropic.com/ - API Anthropic Claude untuk penalaran lanjutan dan pemahaman gambar
- https://ai.google.dev/ - API Google Gemini untuk kemampuan AI multimodal
- https://docs.anthropic.com/ - Dokumentasi API Claude
- https://platform.openai.com/docs/ - Dokumentasi API OpenAI
- https://ai.google.dev/gemini-api/docs - Dokumentasi API Gemini
Server AI Lokal (LLMs)
- https://ollama.com/ - Ollama: Jalankan model bahasa besar secara lokal
- https://docs.vllm.ai/ - vLLM: Inferensi dan penyajian LLM throughput tinggi
- https://lmstudio.ai/ - LM Studio: Aplikasi desktop yang mudah digunakan untuk LLM lokal
- https://github.com/ollama/ollama - Repositori GitHub Ollama
- https://github.com/vllm-project/vllm - Repositori GitHub vLLM
Menambahkan model AI
Untuk menambahkan file model Anda sendiri ke dalam Agent DVR, pergi ke Pengaturan Server > Pengaturan AI dan klik Konfigurasi di bawah Model AI. Agent dilengkapi dengan dua model pra-bangun yang telah dioptimalkan untuk kinerja Agent DVR.
Sebelum Anda mengonfigurasi model, Anda perlu menambahkannya ke folder Model Agent DVR. Ini biasanya ditemukan di Agent/Media/Models/ONNX (jalur dapat bervariasi tergantung OS). Jalur lengkap ditampilkan di halaman Tambah Model jika Anda tidak yakin. Agent menggunakan model .onnx. Anda dapat mengonversi format model AI lainnya ke ONNX menggunakan alat Python.
Setelah Anda membangun dan menyalin model, menambahkannya ke Agent sangat mudah - klik untuk menambahkan model:
- Nama: Berikan nama untuk model Anda - ini bisa berupa apa saja yang Anda suka.
- File Model: Pilih nama file model yang Anda salin ke dalam folder.
- Label: Masukkan daftar label (atau "kelas") yang dicari model Anda dalam format CSV tanpa tanda kutip (spasi akan dipangkas secara otomatis).
- Tata Letak: Pilih apakah model Anda adalah NCHW atau NHWC. Sebagian besar model adalah NCHW jika Anda tidak yakin.
- Urutan Saluran: Pilih jika model Anda menginginkan gambar dalam RGB atau BGR. Sebagian besar model menggunakan RGB. Jika model Anda adalah saluran tunggal (grayscale) ini akan diabaikan.
- Normalisasi: Pilih bagaimana data harus dinormalisasi sebelum digunakan dalam model Anda. Sebagian besar model menggunakan normalisasi 0-1 (bagi nilai piksel dengan 255).
- Pad Gambar: Ini mengontrol apakah gambar harus direntangkan ke dimensi input atau dipadding dengan bilah hitam. Biasanya lebih baik untuk mempadding gambar demi akurasi.
- Memiliki NMS: Centang ini jika model Anda sudah melakukan Non-Maximum Suppression secara internal. Jika tidak, Agent akan melakukan NMS sendiri. NMS mengontrol bagaimana kotak hasil difilter.
- NMS Default: Atur pembatas tumpang tindih untuk NMS (default adalah tumpang tindih 45%).
Setelah Anda menambahkan model Anda, itu akan tersedia untuk digunakan di tab Pengenalan Objek perangkat Anda. Jika Anda mengalami masalah, Anda dapat kembali ke konfigurasi model dan melakukan perubahan. Agent juga mendukung memuat ulang file model, sehingga Anda dapat menyalinnya dengan versi baru saat sedang berjalan.
Mengatur Server AI
Untuk mengatur Server AI, klik ikon di kiri atas antarmuka utama Agent DVR. Kemudian klik Pengaturan di bawah Konfigurasi, pilih Pengaturan AI dari menu dropdown, dan klik Konfigurasi di bawah Server AI.
Agent DVR terintegrasi dengan CodeProject.AI untuk berbagai fitur AI termasuk pengenalan objek, pengenalan wajah, ALPR (Pengenalan Plat Nomor Otomatis), dan super resolusi (peningkatan). PlateRecognizer.com juga didukung sebagai penyedia ALPR. CodeProject.AI bersifat open source, gratis, dan kompatibel dengan sebagian besar platform.
Untuk memulai, instal server AI untuk platform Anda dan hubungkan Agent DVR ke server tersebut dengan mengklik tombol Konfigurasi dan kemudian Tambah.
Anda dapat menambahkan sebanyak mungkin server AI ke Agent DVR sesuai kebutuhan. Kamera di Agent DVR dapat dikonfigurasi untuk menggunakan server AI yang berbeda untuk setiap fungsi, atau Anda dapat menggunakan satu server AI untuk semua tugas.
Mengonfigurasi Server Anda
- Nama: Beri nama server Anda, misalnya, Penangkap Kucing.
- URL Server AI: Masukkan URL server AI Anda, misalnya, http://localhost:32168/
- Kunci API: Masukkan kunci Anda jika sudah diatur (opsional).
- Waktu Habis: Waktu habis dalam detik untuk permintaan server.
- Penundaan Ulang: Waktu dalam detik sebelum mencoba ulang permintaan yang gagal ke server ini.
Klik OK untuk menyimpan pengaturan Anda.
Menggunakan OpenAI
Untuk mengatur OpenAI ("Chat GPT") untuk menjawab pertanyaan tentang apa yang terjadi dalam feed video Anda, navigasikan ke Pengaturan Server - Server AI dan pilih "Open AI" di bawah Tanyakan AI.
- URL: Masukkan URL untuk layanan tersebut. Defaultnya adalah "https://api.openai.com/v1/chat/completions".
- Kunci API OpenAI: Setelah mendaftar dengan OpenAI, buka Halaman Kunci API dan buat kunci rahasia baru. Salin dan tempel kunci ini ke dalam bidang yang ditentukan.
- Model: Tentukan model yang akan digunakan. Defaultnya adalah gpt-4o. OpenAI mungkin menghapus atau mengubahnya nanti.
- Token Maksimum: Ini menetapkan penggunaan token maksimum per permintaan. Jika Anda mengalami masalah, periksa log di /logs.html karena ini mungkin terkait dengan penggunaan token.
Saat OpenAI sudah dikonfigurasi, lihat Tanyakan AI untuk petunjuk tentang cara menggunakannya untuk menjawab pertanyaan umum tentang apa yang terjadi dalam feed kamera Anda.
Menggunakan Claude
Untuk mengatur Claude AI agar dapat menjawab pertanyaan tentang apa yang terjadi dalam umpan video Anda, navigasikan ke Pengaturan Server - Server AI dan pilih "Claude" di bawah Tanyakan AI.
- URL: Masukkan URL ke layanan. Defaultnya adalah "https://api.anthropic.com/v1/messages".
- Kunci API Claude: Setelah mendaftar untuk Claude, kunjungi Halaman Kunci API API dan buat kunci rahasia baru. Salin dan Tempel kunci ini ke dalam kolom.
- Versi: Tentukan versi yang akan digunakan. Defaultnya adalah 2023-06-01 Ini mungkin dihapus atau diubah suatu saat oleh Anthropic.
- Model: Tentukan model yang akan digunakan. Default saat penulisan ini adalah claude-3-sonnet-20240229.
- Maksimum Token: Ini mengontrol pengeluaran token maksimum per permintaan. Periksa log di /logs.html jika Anda mengalami masalah karena mungkin terkait dengan pengeluaran token.
Saat Claude sudah dikonfigurasi, lihat Tanyakan AI untuk cara menggunakannya dalam mengenali skenario umum dalam umpan kamera Anda.
Menggunakan Gemini
Untuk mengatur Gemini agar dapat menjawab pertanyaan tentang apa yang terjadi dalam umpan video Anda, navigasikan ke Pengaturan Server - Server Kecerdasan Buatan dan pilih "Gemini" di bawah Tanyakan Kecerdasan Buatan.
- URL: Masukkan URL ke layanan. Defaultnya adalah "https://generativelanguage.googleapis.com".
- Kunci API Gemini: Setelah mendaftar untuk Gemini, kunjungi Halaman Kunci API API Keys Page dan buat kunci rahasia baru. Salin dan Tempel kunci ini ke dalam bidang.
- Versi: Tentukan versi yang akan digunakan. Defaultnya adalah v1beta. Ini mungkin dihapus atau diubah pada suatu saat oleh Google.
- Model: Tentukan model yang akan digunakan. Defaultnya saat ini adalah gemini-1.5-flash.
- Maksimum Token: Ini mengontrol pengeluaran token maksimum per permintaan. Periksa log di /logs.html jika Anda mengalami masalah karena mungkin terkait dengan pengeluaran token.
Saat Gemini sudah dikonfigurasi, lihat Tanyakan Kecerdasan Buatan untuk cara menggunakannya untuk mengenali skenario umum dalam umpan kamera Anda.
Menggunakan Server LLM Lain
Mulai dari v6.5.3.0+, Anda dapat menggunakan server LLM lokal Anda sendiri (seperti vLLM, Ollama, dan LM Studio) untuk mendeskripsikan gambar yang ditangkap Agent DVR dari kamera Anda dalam peristiwa Peringatan dan menjawab pertanyaan tentang apa yang terjadi dalam aliran video Anda. Lihat AI Describe dan Ask AI.
Untuk mengonfigurasi server AI lokal, pergi ke Pengaturan Server - Server AI dan klik tombol Konfigurasi di samping LLM yang ingin Anda gunakan (Ollama, vLLM, atau LM Studio).
- URL: Tentukan endpoint di mana server LLM Anda berjalan. URL default adalah:
- Ollama:
http://localhost:11434/api/chat - vLLM:
http://localhost:8000/v1/chat/completions - LM Studio:
http://localhost:1234/v1/chat/completions
- Ollama:
- API Key: Jika server LLM Anda memerlukan otentikasi, masukkan kunci API di sini. Sebagian besar server lokal tidak memerlukan ini kecuali dikonfigurasi secara khusus.
- Model: Pilih model yang mampu visi untuk digunakan dalam analisis gambar. Anda harus sudah mengunduh dan memuat model ini di server LLM Anda. Pilihan populer termasuk:
- Model LLaVA (visi tujuan umum)
- Qwen2-VL (kinerja tinggi)
- Llama 3.2 Vision (terbaru dari Meta)
- Temperature: Mengontrol kreativitas vs. akurasi dalam respons (0.0-1.0). Nilai yang lebih rendah (0.3-0.4) menghasilkan deskripsi yang lebih faktual dan konsisten. Nilai yang lebih tinggi (0.6-0.8) menghasilkan respons yang lebih bervariasi dan kreatif. Disarankan: 0.4 untuk analisis kamera keamanan.
- Max Tokens: Jumlah maksimum kata/token dalam respons AI. Nilai yang lebih tinggi memungkinkan deskripsi yang lebih rinci tetapi memerlukan waktu lebih lama untuk dihasilkan. Disarankan: 300-500 untuk analisis gambar yang mendetail, 150-250 untuk deskripsi singkat.
- top_p: Mengontrol keberagaman respons dengan membatasi pemilihan kosakata (0.0-1.0). Nilai yang lebih rendah menggunakan kata-kata yang lebih umum, nilai yang lebih tinggi memungkinkan kosakata yang lebih bervariasi. Disarankan: 0.9 untuk keseimbangan yang baik antara akurasi dan bahasa alami.
- top_k: Membatasi model untuk memilih dari K kata berikutnya yang paling mungkin. Nilai yang lebih rendah (20-40) menghasilkan respons yang lebih terfokus, nilai yang lebih tinggi (80-100) memungkinkan lebih banyak variasi. Disarankan: 50 untuk deskripsi gambar yang dapat diandalkan.
Menggunakan PlateRecognizer.com
Untuk mengonfigurasi LPR (ANPR atau Pengenalan Plat Nomor) di Agent DVR, pergi ke Pengaturan Server - Pengaturan AI dan masukkan detail di bawah Pengenal Plat. Daftar untuk Uji Coba Gratis di Plate Recognizer. Tidak memerlukan kartu kredit.
- URL: Masukkan URL ke layanan. Default adalah "https://api.platerecognizer.com/v1/plate-reader/", atau gunakan server Anda sendiri jika meng-host instansi Anda sendiri.
- Token: Setelah mendaftar Plate Recognizer, kunjungi Halaman Akun dan salin Token API.
- Wilayah: Biarkan kosong untuk default atau masukkan daftar CSV dari wilayah.
- Konfig: Masukkan nilai konfigurasi tambahan dari dokumen jika diperlukan.
Menggunakan DoubleTake
DoubleTake adalah platform sumber terbuka yang menyediakan API terpadu untuk memproses pengenalan wajah menggunakan:
- CompreFace
- Amazon Rekognition
- DeepStack
- CodeProject.AI Server
- Facebox
Anda perlu menginstal dan mengonfigurasi DoubleTake dengan opsi pengenalan wajah yang Anda pilih.
Setelah DoubleTake diatur, buka Agent DVR dan pergi ke Pengaturan Server - Server AI dan klik tombol Konfigurasi di sebelah DoubleTake.
Masukkan URL ke server doubletake Anda (misalnya http://localhost:3000/) dan kata sandi Anda jika sudah diatur.
Klik OK kemudian edit kamera dan pergi ke Pengenalan Wajah. Atur opsi Server AI ke DoubleTake dan konfigurasi pengenalan wajah sesuai kebutuhan.