一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种安防监控系统及方法与流程

2021-10-19 23:38:00 来源:中国专利 TAG: 安防 监控系统 监控 方法


1.本发明涉及一种监控系统,特别是一种安防监控系统,同时本发明中还涉及一种安防监控方法。


背景技术:

2.监控摄像头在我国人口聚集处几乎随处可见,较为平民化,普通家庭也负担得起。但是在高校、公司、小区和宾馆这种户口高密度杂居的地点,为了节约成本,通常只会在公共走廊或过道上装少数监控摄像头。
3.虽然现在已经有公司将图像识别技术应用于监控查看过程中(例如华为公司的小豚当家ai全彩摄像头),可将存在运动物体的时间段的监控录像画面单独提取出来,大大缩短了监控录像的查看时间。但是由于图片噪声过大或者其他技术、成本相关问题,国内大部分公共场所监控录像观看方式目前主要还是以人力观看为主,效率很低。


技术实现要素:

4.本发明的目的是为了解决上述现有技术的不足而提供一种监控录像观看效率高、能够对案发时间进行及时估计或确定的一种安防监控系统及方法。
5.为了实现上述目的,本发明所设计的一种安防监控系统,包括以下部件:一个用于对数据进行处理的单片机;在单片机上连接有一个给单片机供电的直流电源;一个用于对数据信息进行无线传输的wifi模块;一个以上设于各个门上,并用于检测对应门开关状态的开关门传感器;一个用于储存数据信息的sd卡;一个以上并用于对周围环境进行监控的公共摄像头;以及一个通过自身的python环境程序可针对视频信息以及时间文本信息进行截取视频的服务器;其中,所述单片机通过i/o连接口与开关门传感器对应连接用于获取各个开关门传感器的数值,得到门开关状态以及屋内状态;所述单片机通过tcp/ip协议与wifi模块建立通信连接,获取时间信息;所述单片机通过spi接口协议与sd卡建立通信连接,并将开关门传感器传感到状态变化时的时间信息转换成文本存储在sd卡中;所述的sd卡通过读卡器与服务器连接实现数据传输;所述的wifi模块通过tcp/ip协议与服务器连接实现数据传输;所述公共摄像头获取的监控视频信息通过读卡器读取或tcp/ip协议无线传输的方式与服务器连接实现数据传输,在服务器内设置有对视频进行剪辑的ffmpeg开源库。
6.作为优选,为了及时查看数据,所述服务器还通过以太网或wifi传输连接有客户端。
7.作为优选,所述直流电源的供电电源为12v。
8.作为优选,所述的单片机为arduino nano的一款基于 microchip atmega 328p 8
位微控制芯片的智能硬件开发板。
9.本发明还公开了一种安防监控方法,包括所述的一种安防监控系统,其具体包括以下步骤:s1、将系统通电,程序初始化,各个开关门传感器处于待机状态来检测门被开关的状态,当门被开启瞬间,单片机通过wifi模块获取时间信息并转换成文本格式存储至sd卡中;s2、然后调用服务器上python环境中自带的“readline”函数并对时间文本信息进行读取,读取后对时间点信息进行两边取余量的计算,获得开门瞬间点前后的时间区间信息;s3、随后,将视频流信息导入至服务器上的python环境中,并调用服务器中的“ffmpeg”开源库,对视频流信息中开门瞬间点前后的时间区间段的视频进行剪辑,最终获得开关门前后特定的时间段视频。
10.作为优选,在步骤s1中的时间信息的表现形式采用字符串的形式,每个开关门时间点的格式为“xx:xx:xx”,分别对应一天中的小时:分钟:秒针。
11.作为优选,在步骤s2中两边取余量的计算的具体步骤如下:将时间点xx:xx:xx信息转化为时间区间信息“aa:aa:aa

bb:bb:bb”。
12.作为优选,在步骤s1中单片机每天只向服务器发送一次数据,因此可以省略日期信息。
13.本发明得到的一种安防监控系统及方法,具有以下技术效果:(1)解决案发时间难以估计或确定的问题:本实施例通过设置在门上的开关门传感器即接触传感器可以获得门被开启的信号,将这个信号连接至带有无线数据传输模块(wifi模块)的微型单片机可获得门被开启的时间,假设门被开启的时间在大部分情况下为案件发生时间,因此能够对案发时间进行及时估计或确定;(2)解决监控录像观看效率低下的问题:将某一扇门上记录的门被开启瞬间的时间文本信息导入并标记至楼道公共监控摄像头录制的视频的相应时间点处,并在获得的时间信息两边设置适当的余度,获得一个时间区间集合,接着用服务器python语言对时间区间集合的监控视频进行提取观看,且只观看提取后的视频加快了监控录像的观看效率,使得监控录像观看效率高;(3)解决利用图像识别技术提取监控视频不精炼的问题:记录的时间文本信息为每扇门开启瞬间的时间信息,解决了房外无关人员频繁走动对视频提取的干扰;(4)解决成本过高的问题:只利用了公共监控摄像头,减少了成本,以及监控录像所消耗的存储空间。
附图说明
14.图1是一种安防监控系统的系统示意图;图2是一种安防监控系统的内部流程示意图。
15.图中:单片机1、直流电源2、wifi模块3、开关门传感器4、sd卡5、公共摄像头6、服务器7、ffmpeg开源库8、客户端9。
具体实施方式
16.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都应该属于本发明保护的范围。
17.如图1所示,本发明提供的一种安防监控系统,包括以下部件:一个用于对数据进行处理的单片机1;在单片机1上连接有一个给单片机1供电的直流电源2;一个用于对数据信息进行无线传输的wifi模块3;一个以上设于各个门上,并用于检测对应门开关状态的开关门传感器4;一个用于储存数据信息的sd卡5;一个以上并用于对周围环境进行监控的公共摄像头6;以及一个通过自身的python环境程序可针对视频信息以及时间文本信息进行截取视频的服务器7;其中,所述单片机1通过i/o连接口与开关门传感器4对应连接用于获取各个开关门传感器4的数值,得到门开关状态以及屋内状态;所述单片机1通过tcp/ip协议与wifi模块3建立通信连接,获取时间信息;所述单片机1通过spi接口协议与sd卡5建立通信连接,并将开关门传感器4传感到状态变化时的时间信息转换成文本存储在sd卡5中;所述的sd卡5通过读卡器与服务器7连接实现数据传输;所述的wifi模块3通过tcp/ip协议与服务器7连接实现数据传输;所述公共摄像头6获取的监控视频信息通过读卡器读取或tcp/ip协议无线传输的方式与服务器7连接实现数据传输,在服务器7内设置有对视频进行剪辑的ffmpeg开源库8。
18.作为优选,为了及时查看数据,所述服务器7还通过以太网或wifi传输连接有客户端9。
19.作为优选,所述直流电源2的供电电源为12v。
20.作为优选,所述的单片机1为arduino nano 是一款基于 microchip atmega 328p 8位微控制芯片的智能硬件开发板,尺寸小巧功能强悍,可轻松存储几个月的时间信息,进一步实现节约成本。
21.如图2所示,本实施例还公开了一种安防监控方法,采用上述一种安防监控系统,其具体包括以下步骤:s1、将系统通电,程序初始化,各个开关门传感器4处于待机状态来检测门被开关的状态,当门被开启瞬间,单片机1通过wifi模块3获取时间信息并转换成文本格式存储至sd卡5中;此步骤中时间信息的表现形式采用字符串的形式,每个开关门时间点的格式为“xx:xx:xx”,分别对应一天中的小时:分钟:秒针;另外,因单片机1每天只向服务器7发送一次数据,因此省略日期信息;s2、然后调用服务器7上python环境中自带的“readline”函数并对时间文本信息进行读取,读取后对时间点信息进行两边取余量的计算,获得开门瞬间点前后的时间区间信息,即将前述步骤中时间点xx:xx:xx信息转化为时间区间信息“aa:aa:aa

bb:bb:bb”;s3、随后,将视频流信息导入至服务器7上的python环境中,并调用服务器7中的
int(time2_list[2])
ꢀꢀꢀꢀꢀꢀꢀꢀ
# calculate hh, mm, and ss of timestamp difference.
ꢀꢀꢀꢀꢀꢀꢀꢀ
diff = time2_s
ꢀ‑ꢀ
time1_s
ꢀꢀ
# total timestamp difference (seconds).
ꢀꢀꢀꢀꢀꢀꢀꢀ
diff_h = int(diff / 3600)
ꢀꢀꢀꢀꢀꢀꢀꢀ
diff_m = int((diff % 3600) / 60)
ꢀꢀꢀꢀꢀꢀꢀꢀ
diff_s = int(diff % 60)
ꢀꢀꢀꢀꢀꢀꢀꢀ
# concatenate hh, mm, and ss of timestamp difference.
ꢀꢀꢀꢀꢀꢀꢀꢀ
diff_str = str(diff_h).zfill(2) ':' str(diff_m).zfill(2) ':' str(diff_s).zfill(2)
ꢀꢀꢀꢀꢀꢀꢀꢀ
return diff_str
ꢀꢀꢀꢀ
# part 1 set the path of input and output media.
ꢀꢀꢀꢀ
input_media = 'media/demo.mp4'
ꢀꢀꢀꢀ
# download link: null (the length of input video in this demo should be longer than 12min).
ꢀꢀꢀꢀ
output_path = 'media/clips_video/'
ꢀꢀꢀꢀ
output_name = 'clip_'
ꢀꢀꢀꢀ
output_type = '.mp4'
ꢀꢀꢀꢀ
# check if the output folder exists. if so, delete it and create an empty one.
ꢀꢀꢀꢀ
if os.path.exists(output_path) is true:
ꢀꢀꢀꢀꢀꢀꢀꢀ
shutil.rmtree(output_path)
ꢀꢀꢀꢀ
os.mkdir(output_path)
ꢀꢀꢀꢀ
# part 2 set the cutting points of original media.
ꢀꢀꢀꢀ
# the start points of clips.
ꢀꢀꢀꢀ
list_start = ['00:00:45', '00:02:07', '00:10:02', '00:11:17']
ꢀꢀꢀꢀ
# the end points of clips.
ꢀꢀꢀꢀ
list_end = ['00:01:29', '00:02:40', '00:10:30', '00:11:51']
ꢀꢀꢀꢀ
# check the start and end points of original media.
ꢀꢀꢀꢀ
if len(list_start) != len(list_end):
ꢀꢀꢀꢀꢀꢀꢀꢀ
print('error: start points are not matched with end points.')
ꢀꢀꢀꢀ
else:
ꢀꢀꢀꢀꢀꢀꢀꢀ
num_clip = len(list_start)
ꢀꢀꢀꢀ
# part 3 cut original media with ffmpeg command.
ꢀꢀꢀꢀ
# $ ffmpeg
ꢀ‑
i in.mpn
ꢀ‑
ss [start]
ꢀ‑
to [end] out.mpn
ꢀꢀꢀꢀ
# note:
ꢀꢀꢀꢀ
#
ꢀꢀꢀꢀ
'[start]'
ꢀ‑ꢀ
the start point of original media 'in.mpn'.
ꢀꢀꢀꢀ
#
ꢀꢀꢀꢀ
'[start]'
ꢀ‑ꢀ
the format is 'hh:mm:ss.xxx' or 'nnn', '00:01:15.000' or '75'.
ꢀꢀꢀꢀ
#
ꢀꢀꢀꢀ
'[end]'
ꢀꢀꢀ‑ꢀ
the end point of original media 'in.mpn'.
ꢀꢀꢀꢀ
#
ꢀꢀꢀꢀ
'[end]'
ꢀꢀꢀ‑ꢀ
the format is 'hh:mm:ss.xxx' or 'nnn', '00:01:25.000' or '85'.
ꢀꢀꢀꢀ
# note:
ꢀꢀꢀꢀ
#
ꢀꢀꢀꢀꢀ
setting '

i in.mpn' before '

ss [start]' avoids inaccurate clips.
ꢀꢀꢀꢀ
#
ꢀꢀꢀꢀꢀ
removing 'copy' re

encodes clips and avoids black screen/frames.
ꢀꢀꢀꢀ
#
ꢀꢀꢀꢀꢀ
removing 'copy' leads to high cpu load and long operating time.
ꢀꢀꢀꢀ
for t in range(num_clip):
ꢀꢀꢀꢀꢀꢀꢀꢀ
tag_start = list_start[t] '.000'
ꢀꢀꢀꢀꢀꢀꢀꢀ
tag_end = list_end[t] '.000'
ꢀꢀꢀꢀꢀꢀꢀꢀ
# generate the path for saving output media.
ꢀꢀꢀꢀꢀꢀꢀꢀ
output_file = output_path output_name str(t 1) output_type
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
# generate the command for processing input media.
ꢀꢀꢀꢀꢀꢀꢀꢀ
cmd = 'ffmpeg
ꢀ‑
i ' input_media '
ꢀ‑
ss ' tag_start '
ꢀ‑
to ' tag_end ' ' output_file
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
# execute the (terminal) command within python.
ꢀꢀꢀꢀꢀꢀꢀꢀ
subprocess.call(cmd, shell=true)本发明一种安防监控系统及方法的工作时具体方式如下:将系统通电,程序初始化,传感器检测门被开关的状态,当门被开启瞬间,单片机通过wifi模块获取时间信息并转换成文本格式存储至sd卡,此时的时间信息的表现形式为字符串,每个开关门时间点的格式为“xx:xx:xx”,分别对应一天中的小时:分钟:秒针;本实施例的时间以24小时制,然后调用服务器7上python环境中自带的“readline”函数并对时间文本信息进行读取,读取后对时间点信息进行两边取余量的计算,即,将时间点xx:xx:xx信息转化为时间区间信息“aa:aa:aa

bb:bb:bb”,若开门时间点为08:20:23,在本实施例中设定余量的取值为开门时间的前后15分钟(余量取值还可以是开门时间的前后20分钟、5分钟或者30分钟等,可根据实际情况预先设定),因此转化后的时间区间信息为08:05:23

08:35:23,获得开门瞬间点前后的时间区间信息;随后,将视频流信息导入至服务器7上的python环境中,并调用服务器7中的“ffmpeg”开源库8即可对视频流信息进行“08:05:23

08:35:23”时间段的剪辑,最终获得开关门前后特定的时间段视频。
[0025]
本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本技术相同或相近似的技术方案,均应该落在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献