作者:
劉吉英特爾創(chuàng)新大使
AI_GUARD是一個(gè)基于Intel x86 CPU + IntelArc GPU(A370M)硬件平臺(tái),實(shí)現(xiàn)大模型(Qwen)+小模型+私域數(shù)據(jù)庫融合的在線AI監(jiān)管系統(tǒng)平臺(tái)。該平臺(tái)以YOLO算法為核心,實(shí)現(xiàn)了在不同需求場(chǎng)景下,識(shí)別異常并記錄的功能,同時(shí)可結(jié)合大語言模型進(jìn)行綜合管理,提供問詢等便利服務(wù)。在本文中,我們將使用OpenVINO 2024.4.0部署 AI_GUARD實(shí)現(xiàn)智能在線監(jiān)管系統(tǒng)平臺(tái):
操作系統(tǒng)(OS):
Ubuntu 22.04.5 LTS (Jammy Jellyfish)
使用OpenVINO 2024.4.0部署 AI_GUARD全部源碼(MIT協(xié)議):
gitee地址:
https://gitee.com/QinkSkye/AI_GUARD.git
本項(xiàng)目已發(fā)布版本及大模型(Qwen2.5 7B)docker鏡像鏈接如下:
AI_GUARD_Management:
https://pan.baidu.com/s/1YS-DrHqHQ7_3SXIjXxtmqw?pwd=mu44
1OpenVINO 介紹
英特爾發(fā)行版OpenVINO 工具套件基于oneAPI而開發(fā),可以加快高性能計(jì)算機(jī)視覺和深度學(xué)習(xí)視覺應(yīng)用開發(fā)速度工具套件,適用于從邊緣到云的各種英特爾平臺(tái)上,幫助用戶更快地將更準(zhǔn)確的真實(shí)世界結(jié)果部署到生產(chǎn)系統(tǒng)中。通過簡(jiǎn)化的開發(fā)工作流程,OpenVINO 可賦能開發(fā)者在現(xiàn)實(shí)世界中部署高性能應(yīng)用程序和算法。
2024年9月19日,英特爾發(fā)布了OpenVINO 2024.4版本,該版本引入了一系列新特性和優(yōu)化。本次更新以最大限度減少代碼更改的同時(shí),增加了生成式人工智能(GenAI)覆蓋范圍和框架集成,不僅支持GLM-4-9B Chat, MiniCPM-1B, Llama 3 和 3.1, Phi-3-Mini, Phi-3-Medium 以及YOLOX-s模型,并新增了一系列值得關(guān)注的Notebook,還與Hugging Face合作,更新了Optimum-Intel解決方案,使得在利用Hugging Face API運(yùn)行模型的同時(shí),能夠使用OpenVINO 高效地導(dǎo)出和壓縮模型,以供OpenVINO GenAI套件API使用。在模型優(yōu)化和內(nèi)存管理方面,OpenVINO 2024.4版本有效降低了AI部署的成本,優(yōu)化了內(nèi)存使用,并顯著減少了延遲。因篇幅有限,無法詳細(xì)描述新版本的所有特性與優(yōu)化,詳情請(qǐng)進(jìn)入官方網(wǎng)址查看:https://www.intel.cn/content/www/cn/zh/developer/articles/releasenotes/openvino/2024-4.html。
2AI_GUARD介紹
AI_GUARD是一種智能在線監(jiān)管系統(tǒng)平臺(tái),由研揚(yáng)科技AI LAB實(shí)驗(yàn)室開發(fā)。它能在不同需求場(chǎng)景下,通過加載不同的模型,識(shí)別特定目標(biāo),保證7x24小時(shí)智能化管理的同時(shí),降低人員成本和運(yùn)維負(fù)荷。
該項(xiàng)目的核心思想在于,使用大模型作為決策層,提供問詢和數(shù)據(jù)庫管理;使用專用小模型實(shí)現(xiàn)快速目標(biāo)檢測(cè),實(shí)時(shí)高效,可在此基礎(chǔ)上加上實(shí)際應(yīng)用場(chǎng)景的控制邏輯,實(shí)現(xiàn)AI自制管理,將一些低階非關(guān)鍵決策交給大模型處理,高階安全性問題及時(shí)匯報(bào)給專人管理。在此項(xiàng)目中使用vLLM作為大模型的推理服務(wù)后端,采用docker部署,極大的方便和簡(jiǎn)化了開發(fā)流程和周期。
通過這種技術(shù),AI_GUARD能精確識(shí)別、記錄特定目標(biāo),并將結(jié)果實(shí)時(shí)推送至Web端,用戶可通過瀏覽器、app等程序輕松查看情況,并做出對(duì)應(yīng)處理。項(xiàng)目中,私域數(shù)據(jù)庫和大模型結(jié)合的實(shí)現(xiàn)方式,讓用戶不再需要對(duì)數(shù)據(jù)庫進(jìn)行復(fù)雜操作與計(jì)算,僅需向大模型詢問“X年X月X日共有多少條記錄”等問題,便可得知對(duì)應(yīng)記錄和答案。
總的來說,AI_GUARD智能在線監(jiān)管系統(tǒng)平臺(tái)能在工廠生產(chǎn)管理、醫(yī)院病患看護(hù)、高端居住區(qū)管理等多個(gè)場(chǎng)景大展身手,應(yīng)用前景十分廣泛,在降低管理成本和難度上有明顯優(yōu)勢(shì),是促進(jìn)各項(xiàng)產(chǎn)業(yè)數(shù)字化、智能化的好幫手。
3模型獲取
Ultralytics 提供了一系列用于計(jì)算機(jī)視覺任務(wù)的工具,包括目標(biāo)檢測(cè)、圖像分類、語義分割和人臉識(shí)別等。這些工具基于流行的深度學(xué)習(xí)框架如PyTorch,并通過簡(jiǎn)化復(fù)雜任務(wù)的實(shí)現(xiàn)過程,使用戶能夠更輕松地進(jìn)行模型訓(xùn)練和性能評(píng)估。
首先安裝Ultralytics 環(huán)境:Ultralytics 可以通過pip安裝,在環(huán)境中輸入以下指令即可:
pip install ultralytics
然后通過Python導(dǎo)出模型:模型導(dǎo)出代碼如下所示:
from ultralytics import YOLO # 加載官方模型 model = YOLO('yolov8n.pt') # 導(dǎo)出模型 model.export(format='onnx')
模型導(dǎo)出后結(jié)構(gòu)如下圖所示:
然后根據(jù)官方教程,安裝OpenVINO 2024.4版本,教程網(wǎng)址如下(建議安裝路徑為 /opt/Intel/ openvino_2024):https://docs.openvino.ai/2024/get-started/install-openvino/install-openvino-linux.html
安裝完成后,運(yùn)行以下命令,獲取OpenVINO 格式的模型
mo命令
處理后,可得到后綴名為.bin、.xml的兩個(gè)新文件,模型結(jié)構(gòu)如下圖所示:
4項(xiàng)目獲取
【源碼下載和配置】
AI_GUARD項(xiàng)目架構(gòu)如下圖所示:
首先使用Git克隆項(xiàng)目源碼。輸入以下指令:
git clone 命令git clone
https://gitee.com/QinkSkye/AI_GUARD.git
代碼下載完成后,使用Qt6.7.2打開CMakeList.txt文件,如下圖所示:
選擇X86架構(gòu),并按需選擇編譯模式后,項(xiàng)目文件如圖所示:
QT需要的模塊:
Multimedia、MultimediaWidgets、
WebEngineWidgets、Sql
本項(xiàng)目依賴以下C++第三方開源庫:
FFmpeg 下載地址:
https://ffmpeg.org/download.html
Opencv下載地址
https://opencv.org/releases/
Protobuf 下載地址:
https://github.com/golang/protobuf
PresenterAgent 下載地址:
https://gitee.com/ascend/samples/blob/v0.4.0/
cplusplus/environment/presenteragent_install/
README_200DK_CN.md
本項(xiàng)目對(duì)PresenterAgent庫進(jìn)行了一定改造,部署時(shí)請(qǐng)以本項(xiàng)目倉庫中的PresenterAgent的內(nèi)容為準(zhǔn)。
以上開源庫,均已在git倉庫,上傳編譯后文件。從git下載項(xiàng)目源碼后,依賴項(xiàng)所在文件夾
如圖所示:
5OpenVINO 推理方法
C++ 初始化 OpenVINO Runtime Core ov::Core core;
編譯模型
ov::CompiledModel compiled_model = core.compile_model(model_path, device_name);
創(chuàng)建推理請(qǐng)求
ov::InferRequest infer_request = compiled_model.create_infer_request()
處理圖像
cv::Mat letterbox_img = letterbox(srcImg); blob = cv::blobFromImage(letterbox_img, 1.0 / 255.0, cv::Size(model_width, model_height), cv::Scalar(), true);
輸入數(shù)據(jù)
auto input_port = compiled_model.input(); ov::Tensor input_tensor(input_port.get_element_type(), input_port.get_shape(), blob.ptr()); infer_request.set_input_tensor(input_tensor);
開始推理
infer_request.start_async();
獲取推理結(jié)果
auto output = infer_requestVec[0].get_output_tensor(0); auto output_shape =output.get_shape();
后處理
cv::Mat output_buffer(output_shape[1], output_shape[2], CV_32F, data); cv::transpose (output_buffer, output_buffer); Postprocess (scale, output_buffer, srcImg
以上是使用OpenVINO API 進(jìn)行推理的部分代碼,具體實(shí)現(xiàn)可以下載項(xiàng)目源碼進(jìn)行查看。
6項(xiàng)目運(yùn)行演示
配置好項(xiàng)目后,點(diǎn)擊運(yùn)行,如下圖所示,本項(xiàng)目主要包含五個(gè)部分,分別為大模型對(duì)話及管理區(qū)域、車輛車牌識(shí)別子系統(tǒng)、跌倒檢測(cè)子系統(tǒng)、安全帽反光衣識(shí)別子系統(tǒng)、區(qū)域入侵識(shí)別子系統(tǒng)。
采用OpenVINO 軟件包提供的vehicle-license-plate-detection-barrier-0106模型進(jìn)行車輛車牌檢測(cè),license-plate-recognition-barrier-0001模型進(jìn)行車牌號(hào)識(shí)別,支持實(shí)時(shí)車牌識(shí)別,并通過SQLite數(shù)據(jù)庫存儲(chǔ)每個(gè)識(shí)別的車牌號(hào)信息,包括識(shí)別時(shí)間、車牌號(hào)以及車牌圖像的路徑,與大模型結(jié)合后,用戶可以直接通過大模型查詢指定時(shí)間的車輛進(jìn)入情況,方便后期查詢和管理識(shí)別記錄。
跌倒檢測(cè)子系統(tǒng)基于 YOLOv5 深度學(xué)習(xí)模型,結(jié)合 Intel 的 OpenVINO 工具套件優(yōu)化模型,提高推理速度,用于實(shí)時(shí)檢測(cè)視頻流中的跌倒事件,同時(shí)集成了 SQLite 數(shù)據(jù)庫,用于存儲(chǔ)檢測(cè)到的跌倒事件信息。該系統(tǒng)不僅能實(shí)時(shí)檢測(cè)跌倒行為,還能將關(guān)鍵數(shù)據(jù)記錄到本地?cái)?shù)據(jù)庫中,為后續(xù)分析改進(jìn)場(chǎng)所布局,預(yù)防并減少跌倒提供可靠的數(shù)據(jù)支持。系統(tǒng)旨在提高跌倒檢測(cè)的精度和效率,適用于監(jiān)控場(chǎng)景中需要實(shí)時(shí)安全預(yù)警的應(yīng)用,例如養(yǎng)老院、醫(yī)院和智能家居等場(chǎng)景。
安全帽反光衣識(shí)別子系統(tǒng)利用 YOLOv5 深度學(xué)習(xí)模型,實(shí)現(xiàn)對(duì)視頻流中的安全帽與反光衣的精準(zhǔn)識(shí)別,使用 OpenVINO 優(yōu)化模型提高推理速度,滿足設(shè)備上的實(shí)時(shí)計(jì)算需求。通過 SQLite 數(shù)據(jù)庫存儲(chǔ)檢測(cè)到的違規(guī)記錄,包括時(shí)間戳、檢測(cè)對(duì)象類別(安全帽/反光衣)以及圖片截幀。支持查詢以及導(dǎo)出功能,方便后續(xù)的安全管理和審核。集成大語言模型,提供智能化的用戶交互功能,例如基于自然語言查詢檢測(cè)結(jié)果、生成檢測(cè)報(bào)告等。適用于工地、工廠和其他需要安全裝備檢測(cè)的場(chǎng)景。
區(qū)域入侵識(shí)別子系統(tǒng)采用YOLO v8模型,可對(duì)指定區(qū)域進(jìn)行框選,并對(duì)框選區(qū)域進(jìn)行目標(biāo)檢測(cè)識(shí)別,同時(shí)會(huì)將識(shí)別到的異常記錄進(jìn)數(shù)據(jù)庫,方便查閱及后續(xù)邏輯控制和警報(bào)系統(tǒng)的聯(lián)動(dòng)。
在使用時(shí),用戶可以根據(jù)自己需求,選擇待推理數(shù)據(jù),支持圖片、視頻、RTSP、攝像頭四種輸入方式,然后點(diǎn)擊“Start”按鈕,即可開始推理,并將結(jié)果上傳至網(wǎng)頁。如有其余疑問,請(qǐng)打開項(xiàng)目倉庫中“用戶手冊(cè).txt”文件,查詢對(duì)應(yīng)條目。
7總結(jié)
隨著技術(shù)的不斷進(jìn)步和完善,我們有理由相信,未來的安防系統(tǒng)將更加智能、高效,為人們的生活和工作提供更堅(jiān)實(shí)的保障。此項(xiàng)目的實(shí)施是對(duì)未來智慧城市建設(shè)和公共安全管理理念的一次重要探索,隨著更多類似智能系統(tǒng)的推廣和應(yīng)用,我們期待看到一個(gè)更加智慧化、人性化的社會(huì)安全管理體系逐漸成形。
-
英特爾
+關(guān)注
關(guān)注
61文章
10196瀏覽量
174706 -
AI
+關(guān)注
關(guān)注
88文章
35164瀏覽量
280041 -
大模型
+關(guān)注
關(guān)注
2文章
3146瀏覽量
4076 -
OpenVINO
+關(guān)注
關(guān)注
0文章
115瀏覽量
484
原文標(biāo)題:開發(fā)者實(shí)戰(zhàn)|大模型+小模型,實(shí)現(xiàn)AI智能監(jiān)管
文章出處:【微信號(hào):英特爾物聯(lián)網(wǎng),微信公眾號(hào):英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問STM32部署機(jī)器學(xué)習(xí)算法硬件至少要使用哪個(gè)系列的芯片?
【大聯(lián)大世平Intel?神經(jīng)計(jì)算棒NCS2試用申請(qǐng)】在樹莓派上聯(lián)合調(diào)試Intel?神經(jīng)計(jì)算棒NCS2部署OpenVINO
如何在RDKx3部署docker鏡像?
醫(yī)療廢物在線監(jiān)管系統(tǒng)整體介紹

醫(yī)療廢物智能在線監(jiān)管系統(tǒng)實(shí)現(xiàn)醫(yī)療廢物可視化

醫(yī)療廢物智能在線監(jiān)管系統(tǒng)讓醫(yī)廢管理可視化

醫(yī)療廢物在線監(jiān)管系統(tǒng)平臺(tái)

醫(yī)療廢物在線監(jiān)管系統(tǒng)平臺(tái)

醫(yī)療廢物在線監(jiān)管平臺(tái)搭建對(duì)醫(yī)廢管理的效用

醫(yī)療廢物在線監(jiān)管系統(tǒng)打造醫(yī)廢信息化管理平臺(tái)

OpenVINO賦能BLIP實(shí)現(xiàn)視覺語言AI邊緣部署
OpenVINO? 賦能 BLIP 實(shí)現(xiàn)視覺語言 AI 邊緣部署

使用OpenVINO C# API部署YOLO-World實(shí)現(xiàn)實(shí)時(shí)開放詞匯對(duì)象檢測(cè)

評(píng)論