背景介绍
近来,我们搭建了针对实验测量场景的数字孪生项目,其核心主要包含:1.物理量采集:获取应力应变、温度以及振动幅值等物理量;2.视频监控:通过网络摄像头获取实验场地的实时状态,后续用AI算法进行无人坚守,自动获取实验进程;3.数字孪生:通过已搭建的E-twin数字孪生平台,将传感器获取的数据传递给数字孪生体,实现孪生体的动态刷新。项目将高精度的采集技术与AI图像识别进行深度整合,为航天试验提供了全方位、实时的数据支持,本文主要展示视频监控及AI算法处理相关的工作,具体内容如下所示:

网络摄像头
近来,我们购买了多款网络摄像头,分别具有不同焦距、不同的像素以及不同的价格等,具体如下图所示。我们购买的摄像头采用12V电源供电,具备wifi、4G模块和有线多种联网方式,将视频实时共享给用户。

RTSP协议
一般情况下,摄像机都配有上位机软件,用户可以获取最新图像。然而上位机软件一般不具备AI模型部署能力,无法从图像中提取最新实验状态,需要实验员不断的查看实验进程(想起以前做疲劳试验,实验大多进行10天左右,需要实验员几个小时看一下实验进程,还是有些繁琐)。网络摄像头支持RTSP、FTP以及NTP等多种协议(上述海康的摄像头还支持tcp、http等协议)。项目中将网关作为处理平台,通过RTSP获取摄像头的视频流,后续利用AI算法进行处理,部分代码如下:
import cv2
# RTSP地址
rtsp_url = "rtsp://192.168.0.121:554/user=admin&password=&channel=1&stream=0.sdp?"
# 打开RTSP流
cap = cv2.VideoCapture(rtsp_url)
将摄像头和网关接入同一个局域网,后续编写python代码,实现视频流的获取及图像的自动识别。