Savant, một khuôn khổ để phân tích video

Đã học

khuôn khổ Savant

Hệ thống giám sát và trinh sát không phải là mới Nó không phải là gần đây, vì các hệ thống này đã được sử dụng trong nhiều năm và đã phát triển cùng với những cải tiến trong cả phát triển phần cứng và phần mềm.

Hai năm trước Tôi đã viết blog một chút về OpenCV, thư viện thị giác máy tính đa nền tảng miễn phí (bạn có thể xem chi tiết bài viết Trong liên kết sau), điều mà vào thời điểm đó có vẻ cực kỳ thú vị đối với tôi vì nó có thể được triển khai trên Raspberry Pi và vào thời điểm đó, tôi có thói quen thử nghiệm một số lượng lớn các dự án và hệ thống trên RPi của mình.

mởCV
Bài viết liên quan:
OpenCV một thư viện để nhận dạng đối tượng trong hình ảnh và máy ảnh

Lý do đề cập đến điều này và cố gắng không ra khỏi chủ đề của bài viết hôm nay, đó là nhiều người nghĩ rằng việc triển khai một hệ thống kiểu này có thể cực kỳ tốn kém hoặc thậm chí rất phức tạp. Điều này trên thực tế không đạt đến một điểm nhất định, vì người ta có thể hỗ trợ các dự án nguồn mở, nhưng nó đòi hỏi một số kiến ​​thức nhất định và trên hết là sự kiên nhẫn.

Chính vì vậy ngày nay Hãy nói về một dự án như vậy và cá nhân điều đó có vẻ rất tốt và mạnh mẽ. Dự án mà chúng ta sẽ nói về Savant, một framework được viết bằng Python và giúp NVIDIA DeepStream dễ sử dụng hơn cho các kỹ sư máy học

Savant là một khung cấp rất cao trên DeepStream, ẩn tất cả nội bộ của Gstreamer khỏi nhà phát triển và cung cấp các công cụ thiết thực để triển khai các ứng dụng AI phát trực tuyến trong cuộc sống thực. Sử dụng mô hình Nvidia PeopleNet tiêu chuẩn để phát hiện mọi người và khuôn mặt của họ và đặc biệt ở những nơi áp dụng các quy định về quyền riêng tư, khuôn khổ cho phép theo dõi và làm mờ khuôn mặt.

Trong số các đặc điểm nổi bật so với Savant là ví dụ suy luận cực kỳ nhanh, Bởi vì nó dựa trên Nvidia DeepStream và mang lại hiệu suất trên phần cứng Nvidia tương thích với bộ tăng tốc trung tâm dữ liệu, bo mạch chuyên nghiệp, máy tính để bàn và NVIDIA Jetson.

Một tính năng khác là nó có Hỗ trợ tích hợp OpenCV CUDA nhờ đó bạn có thể áp dụng các bộ lọc OpenCV CUDA và làm việc với các trình quét GpuMat một cách hiệu quả mà không cần giảm tải các khung hình nặng cho RAM CPU.

Bên cạnh đó, có API phát trực tuyến cho phép Savant hoạt động như một máy chủ suy luận thông qua 0MQ và Apache AVRO. Với điều này, dữ liệu truyền được gửi đến máy chủ và được tiêu thụ từ nó bằng bộ điều hợp.

Các đặc điểm khác nổi bật từ Savant:

  • Hỗ trợ Python và ML.
  • Khung có sẵn dưới dạng bộ chứa Docker cho thời gian chạy x86 và Nvidia Jetson.
  • Hoạt động trên Edge và Core
  • Công suất và hoạt động có độ trễ thấp, savant hỗ trợ các hoạt động có độ trễ thấp có lợi
  • Bộ điều hợp để truy cập các nguồn phương tiện khác nhau như RTSP hoặc tệp video
  • Nó cho phép bạn xây dựng các đường ống cho các môi trường mà việc xử lý nhận biết vòng quay là rất quan trọng.

Về việc triển khai dự án, bạn nên biết rằng cả Savant và các bộ điều hợp của nó đều được phân phối dưới dạng hình ảnh Docker. Vì vậy, để triển khai quy trình, bạn lấy hình ảnh cơ sở, thêm các mô hình AI và mã tùy chỉnh với các thành phần phụ thuộc bổ sung, sau đó xây dựng hình ảnh kết quả. Một số đường ống không yêu cầu phụ thuộc bổ sung có thể được triển khai bằng cách chỉ định các thư mục có mô hình và chức năng người dùng trong hình ảnh docker.

Đối với một phần của cấu hình môi trường Savant, bắt buộc phải cài đặt sẵn một số phụ thuộc và công cụ, vì điều cực kỳ cần thiết là các phụ thuộc DeepStream phải được đáp ứng.

Các phụ thuộc là:

  • git
  • git-lfs
  • quăn lại
  • docker
  • trình điều khiển nvidia
  • Bộ công cụ vùng chứa Nvidia

Vì quá trình thực hiện môi trường đòi hỏi rất nhiều, tôi mời bạn nếu bạn quan tâm, vui lòng tham khảo hướng dẫn Savant Trong liên kết sau đây. 


Thêm vào danh sách nguồn ưu tiên trên Google.