CN108564057B - 一种基于opencv的人物相似度系统的建立方法 - Google Patents
一种基于opencv的人物相似度系统的建立方法 Download PDFInfo
- Publication number
- CN108564057B CN108564057B CN201810379409.7A CN201810379409A CN108564057B CN 108564057 B CN108564057 B CN 108564057B CN 201810379409 A CN201810379409 A CN 201810379409A CN 108564057 B CN108564057 B CN 108564057B
- Authority
- CN
- China
- Prior art keywords
- video
- image
- similarity
- frame
- opencv
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000009471 action Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 16
- 238000002360 preparation method Methods 0.000 claims abstract description 5
- 101100476202 Caenorhabditis elegans mog-2 gene Proteins 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 52
- 230000000877 morphologic effect Effects 0.000 claims description 21
- 238000005259 measurement Methods 0.000 claims description 11
- 230000007797 corrosion Effects 0.000 claims description 7
- 238000005260 corrosion Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 5
- 230000003628 erosive effect Effects 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000001303 quality assessment method Methods 0.000 claims description 3
- 238000011524 similarity measure Methods 0.000 claims description 2
- 230000003068 static effect Effects 0.000 claims description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 11
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000011410 subtraction method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/50—Constructional details
- H04N23/54—Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于opencv的人物相似度系统的建立方法,属于计算机图像处理技术领域。所述方法包括以下步骤:S10,通过opencv计算机视觉库所提供的API,用户点击相应的的演示视频;S20,用户准备完毕后,点击开始按钮开始进行两个视频流的逐帧动作相似度比对;S30,建立两条线程,开始逐帧读取视频图像;S40,生成两个opencv预置的MOG2图像背景减除学习模板,S50,将背景减除获得的图像进行相似度比对,采用结构相似性算法,对本地视频流和摄像头视频流去除背景后的二值化图像进行全参考的结构化相似度对比,S60,绘制处理后的相似度结果图像,相似度结果图像每两幅对比后更新一次。
Description
技术领域
本发明具体涉及一种基于opencv的人物相似度系统的建立方法,属于计算机图像处理技术领域。
背景技术
数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。
随着图像识别技术和背景减除的不断发展,利用这两种技术衍生出来的产品也越开越多。考虑到人们有各种各样对于肢体动作的学习需求,如对于舞蹈、武术、健身等动作,而在互联网上寻找这些的教程,用户自己并没有条件判断自己的肢体动作是否达到标准,而报名辅导班和聘请老师进行辅导的费用又十分昂贵。
发明内容
针对上述现有技术存在的缺陷,本发明目的在于提供一种基于opencv的衡量视频人物动作和摄像头中人物相似度系统的实现方法,通过采用OPENCV提供的计算机视觉处理方法,应用形态学的图像处理技术,结合全参考的图像对比算法,将两个视频流中的人物动作进行比对,并给出一个合理的相似度参考评价。
为实现上述目的,本发明的技术方案为:
所述方法包括以下步骤:
S10,通过opencv计算机视觉库所提供的API,用户点击相应的的演示视频,系统将根据演示视频在内存中的存储路径,从内存空间中读取预设的人物动作视频,通过opencv计算机视觉库所提供的API将视频文件以视频流的形式读入缓存区待用,通过opencv计算机视觉库所提供的API获取该视频的帧率,以保持帧读取的同步;
S20,打开摄像头,通过opencv计算机视觉库所提供的API,在android、java或c++软件运行平台,通过API读取摄像头视频流,并将摄像头视频流投射在投射在屏幕上,用户站于摄像头前,根据屏幕中的画面调整身体的位置,使身体完整位于摄像头正中央附近,用户准备完毕后,点击开始按钮开始进行两个视频流的逐帧动作相似度比对;
S30,建立两条线程,第一条线程用于按照一定的帧率逐帧读取本地视频,第二条线程用于以相同的帧率逐帧读取摄像头的视频流,线程建立完毕后,同时启动两条线程,开始逐帧读取视频图像;
S40,生成两个opencv预置的MOG2图像背景减除学习模板,其中一个模板用于处理本地视频流图像的背景减除,另一个模板用于处理摄像头视频流图像的背景减除,由模板中预设的学习算法,不断的将数目模板的帧流中前后两帧图像进行对比,输出去除背景的二值化图像,图像中只保留视频中的前景部分,二值化图像中,前景部分以白色表示,背景部分以黑色表示,得到二值化图像后,运用形态学的开闭算法去除图像当中的噪声,以提高背景减除的准确性,
S50,将背景减除获得的图像进行相似度比对,采用结构相似性算法,对本地视频流和摄像头视频流去除背景后的二值化图像进行全参考的结构化相似度对比,分别对比出亮度、对比度、结构三个相似度分量信息,用opencv预置的Scalar类将三个分量进行整合,最后输出一个用于代表两幅图像相似度的浮点数信息,完成图像相似度的对比,
S60,将图像处理结果百分化后保留两位小数,在视频画布的右上角距顶端25dp,距右侧100dp绘制处理后的相似度结果图像,相似度结果图像每两幅对比后更新一次。
进一步的,所述方法中步骤S10中所述的具体步骤为:
软件系统在后台预先架设好的服务器中下载服务器预置的视频,视频文件将会被下载到系统预设的某个默认路径文件夹中,视频将被下载完成时刻的时间戳为视频的文件名,且该名称唯一,同时软件系统将记录每一个下载完成文件的文件名,将文件和文件名形成一个映射,当用户点击相应的演示视频时,根据该映射寻找到对应的文件名,系统将预设的默认下载路径加上文件名构成完整的文件路径,软件系统根据该路径加载相应的视频文件。
进一步的,所述方法中步骤S10中用户点击的演示视频应符合以下要求:演示视频必须包含人物;演示视频的背景必须相对静止,噪声不能过高;演示视频的视频质量必须在720p以上以保证相似度识别的准确性;演示视频的人物需要处于视频图像正中央附近;演示视频的场景不能切换。
进一步的,所述方法中步骤S30中所述的线程建立的具体步骤为:S301,建立两个线程子类,其中第一个子类的线程方法中用于在S10中打开的本地视频流中,按获取的帧率换算成时间间隔,将帧率取倒数乘以500得到换算后的时间间隔,时间间隔以ms为单位,根据这个时间间隔不停地读取视频流中的图像,判断所读取的图像是否是视频的最后一帧,如果不是最后一帧,继续不断地读取,如果是最后一帧,将两个线程同时停止,动作相似度比对系统也停止工作;
S302、第二个子类的线程,用于在S20中打开的摄像头视频流中,获取视频流中的图像,获取视频流的图像按照一定时间间隔不停地获取,该时间间隔根据不同的平台分为两种情况:第一种情况是在android平台上,搭载该平台的设备本身就自带摄像头,其获取视频流的方式需要按系统自动回调获取,不需要开发者进行图片读取速度的控制;第二种情况是在系统设备不提供原生摄像头的情况下,需要将摄像头外接,这种情况下,线程中需要进行视频图像读取速度的控制,该帧率按照S301中换算得出的时间间隔获取摄像头视频流中的图像。
进一步的,所述方法中步骤S40中所述的形态学去噪法实施的具体步骤为:
S401,利用opencv提供的应用程序编程接口,产生一个3*3大小的椭圆形结构元素,作为形态学去噪算法的结构元素;
S402,首先进行形态学开运算操作,开运算首先进行形态学上的腐蚀操作,公式如下:
其中公式中A为将要进行腐蚀操作的图像,B为S41中生成的结构元素,移动结构B,如果结构B与图像A的交集完全属于图像A的区域内,则保留该位置点,所有满足条件的点构成结构A被结构B腐蚀的结果,
然后进行膨胀操作,公式如下:
将结构B在图像A上进行卷积操作,如果移动结构B的过程中,与图像A存在重叠区域则记录该位置,所有移动结构B与图像A存在交集的位置的集合为图像A在结构B作用下的膨胀结果,
开操作的作用是消除图像中细小的噪声,在纤细处分离物体个平滑较大物体的边缘;
S403,再进行形态学闭操作,闭操作首先进行膨胀操作,膨胀完成后再进行腐蚀操作,闭操作具有填充物体中细小的空洞,连接邻近物体和平滑边界的作用。
进一步的,所述方法中步骤S50中所述的结构相似性算法实现的具体步骤为:
S501,将图像信息分为结构、亮度、对比度三部分进行对比,首先对于离散信号,以平均灰度来作为亮度测量的估计:
亮度对比函数I(x,y)是关于x,y的二元函数,然后,由测量系统知道要把平均灰度值从信号中去除,对于离散信号,使用标准差来做对比度估量值,
对比度对比函数c(x,y)就是关于x,y的二元函数,信号被信号本身的标准差相除,结构对比函数就被定义成和的函数,最后,三个对比模块组合成一个完整的相似测量函数:
S(x,y)=f(l(x,y),c(x,y),s(x,y))
S(x,y)应该满足以下三个条件:
对称性;
有界性;
最大值唯一性,当且仅当x=y时,S(x,y)=1
定义三个对比函数,
亮度对比函数:
对比度对比函数:
结构对比函数:
其中:
将三个对比函数进行组合,得到SSIM指数函数:
S502,在S501中所述公式基础上μx,σx,σxy都加入一个8*8的方形窗,并且逐像素的遍历整幅图片,每一步计算,μx,σx,σxy和SSIM都是基于窗口内像素的,最终得到一个SSIM指数映射矩阵,由局部SSIM指数组成,使用11*11的对称高斯加权函W={wi|i=1,2,...,N}作为加权窗口,标准差为1.5,且
μx,σx,σxy的估计值表示为:
把K1设为0.01,K2设为0.03,然后用平均SSIM指数作为整幅图像的估计质量评价:
其中X,Y为图像,xi,yj为局部SSIM指数在映射中的位置,MN为局部窗口的数量。
本发明的有益效果在于:本发明的基于opencv的人物相似度系统的建立方法,开发一种可以比对两个视频中人物相似度的,并给出量化后可以供用户参考的相似度数值的方法,这种方法跟市面上流行的动作比对方法相比,其有益效果有:
(1)代码结构简单,比较轻量,核心算法代码仅百行;
(2)硬件要求低,只需要一台android或者linux设备外接摄像头即可使用,不需要使用大量复杂的硬件;
(3)识别效果较好,在人物主观评价角度,经测试,在摄像头拍摄的人物动作与视频中的人物动作相似时,相似度会保持在较高的水平,而动作明显不同时,相似度会有明显下降。
具体实施方式
下面对本发明的具体实施方式进行说明:
本发明一实施例的基于opencv的衡量视频人物动作和摄像头中人物相似度系统的实现方法,其包括以下步骤:
S10,通过opencv计算机视觉库所提供的API,用户点击相应的符合一定要求的演示视频,系统将根据演示视频在内存中的存储路径,从内存空间中读取预设的人物动作视频,通过opencv计算机视觉库所提供的API将视频文件以视频流的形式读入缓存区待用,通过opencv计算机视觉库所提供的API获取该视频的帧率,以保持帧读取的同步;
在具体应用实例中,读取视频的具体步骤为:
以android平台为例,用户点击想要播放的视频,根据点击视频,系统会找到与点击视频映射的视频本地存储路径,系统根据这个路径加载这个视频,将视频放到缓存区中待用,通过CV_CAP_PROP_FPS参数获取视频的帧率,再将帧率取倒数乘以500得到系统读取每一帧的间隔时长,单位为ms;
S20,打开摄像头,通过opencv计算机视觉库所提供的API,在不同的软件运行平台(android、java、c++等),以不同的API读取摄像头视频流,并将摄像头视频流投射在投射在屏幕上,用户站于摄像头前,根据屏幕中的画面调整身体的位置,使身体完整位于摄像头正中央附近,用户准备完毕后,点击开始按钮开始进行两个视频流的逐帧动作相似度比对;
在具体应用实例中,以android平台为例,Android平台中如果需要打开摄像头,通过实现opencv提供的JavaCamera类,在onCameraFrame()回调中获取到摄像头视频流中的帧数据,其帧率由android系统进行控制。用户在摄像头视频流投射到屏幕以后,站在摄像头前,调整自己的身体完整的位于视频的中心位置附近,准备完毕后,用户点击开始按钮开始动作相似度比对的操作;
S30,建立两条线程,其中一条线程用于按照一定的帧率逐帧读取本地视频。另一条线程用于以相同的帧率逐帧读取摄像头的视频流。线程建立完毕后,同时启动两条线程,开始逐帧读取视频图像;
例如在android系统中,本地视频流读取线程的建立由开发者自己决定,由于摄像头视频流的读取通过回调来获取,可采用直接在回调函数中进行读取的方式进行,这样可以保证读取的同步进行
S40,生成两个opencv预置的MOG2图像背景减除学习模板,其中一个模板用于处理本地视频流图像的背景减除,另一个模板用于处理摄像头视频流图像的背景减除,由模板中预设的学习算法,不断的将数目模板的帧流中前后两帧图像进行对比,输出去除背景的二值化图像,图像中只保留视频中的前景部分,二值化图像中,前景部分以白色表示,背景部分以黑色表示。得到二值化图像后,运用形态学的开闭算法去除图像当中的噪声,以提高背景减除的准确性。
在具体的例子中,将模板1用于本地视频流图像的训练,模板2用于摄像头视频流图像的训练,对传入模板中的图像调用opencv库中apply()方法可以获得训练以后去除背景的图像,此图像为一个二值化图像,白色部分代表原图的前景区域,黑色部分代表原图的背景区域,由于在现实中,得到的图像很有可能带有噪声,对图像分割结果可能会产生影响,故采用形态学的去噪手段,运用开运算去除图像中的一部分细小的噪声,再用闭运算对图像起到平滑的效果,以提高图像识别效果的准确性;
S50,将背景减除的方法进行相似度比对,采用结构相似性(structuralsimilarity)算法,对本地视频流和摄像头视频流去除背景后的二值化图像进行全参考的结构化相似度对比,分别对比出亮度、对比度、结构三个相似度分量信息,用opencv预置的Scalar类将三个分量进行整合,最后输出一个用于代表两幅图像相似度的浮点数信息,完成图像相似度的对比。
S60,将图像处理结果百分化后保留两位小数,在视频画布的右上角距顶端25dp,距右侧100dp绘制处理后的相似度结果,相似度结果每两幅图像对比后更新一次;
本发明的形态学去噪步骤流程,在上述实例的基础上,S40中所述的形态学去噪法实施的具体步骤为:
S401,利用opencv提供的应用程序编程接口,产生一个3*3大小的椭圆形结构元素,作为形态学去噪算法的结构元素;
S402,首先进行形态学开运算操作,开运算首先进行形态学上的腐蚀操作,公式如下:
其中公式中A为将要进行腐蚀操作的图像,B为S401中生成的结构元素,移动结构B,如果结构B与图像A的交集完全属于图像A的区域内,则保留该位置点,所有满足条件的点构成结构A被结构B腐蚀的结果。
然后进行膨胀操作,公式如下:
将结构B在图像A上进行卷积操作,如果移动结构B的过程中,与图像A存在重叠区域,则记录该位置,所有移动结构B与图像A存在交集的位置的集合为图像A在结构B作用下的膨胀结果。
开操作的作用是消除图像中细小的噪声,在纤细处分离物体个平滑较大物体的边缘;
S403,再进行形态学闭操作,闭操作首先进行膨胀操作,膨胀完成后再进行腐蚀操作,闭操作具有填充物体中细小的空洞,连接邻近物体和平滑边界的作用;
本发明图像相似度比对步骤,在上述实施例基础上,S50中所述的结构相似性算法实现的具体步骤为:
S501,将图像信息分为结构、亮度、对比度三部分进行对比。首先对于离散信号,以平均灰度来作为亮度测量的估计:
亮度对比函数l(x,y)是关于x,y的二元函数。然后,由测量系统知道要把平均灰度值从信号中去除,对于离散信号,可使用标准差来做对比度估量值。
对比度对比函数c(x,y)是关于x,y的二元函数。接下来,信号被信号本身的标准差相除,结构对比函数就被定义成和的函数。最后,三个对比模块组合成一个完整的相似测量函数:
s(x,y)=f(l(x,y),C(x,y),s(x,y)) (3)
S(x,y)应该满足以下三个条件:
(1)对称性
(2)有界性
(3)最大值唯一性,当且仅当x=y时,S(x,y)=1
定义三个对比函数。
亮度对比函数:
对比度对比函数:
结构对比函数:
其中:
将三个函数进行组合,得到SSIM指数函数:
1x y2
S502,在S501中所述公式基础上μx,σx,σxy都加入一个8*8的方形窗,并且逐像素的遍历整幅图片。每一步计算,μx,σx,σxy和SSIM都是基于窗口内像素的,最终得到一个SSIM指数映射矩阵,由局部SSIM指数组成。使用11*11的对称高斯加权函数W={wi|i=1,2,...,N}作为加权窗口,标准差为1.5,且
μx,σx,σxy的估计值表示为:
把K1设为0.01,K2设为0.03,然后用平均SSIM指数作为整幅图像的估计质量评价:
其中X,Y为图像,xi,yj为局部SSIM指数在映射中的位置,MN为局部窗口的数量。
本实施例提供的方法跟市面上流行的动作比对方法相比,其有益效果有:
1、用户的使用成本较低,该发明对于硬件的需求比较低,软件架构简单,十分轻量(核心功能代码只有100多行);
2、迎合现代人生活需求,如今的人们生活节奏快,生活压力大,人们大多由于工作学习或是财力原因没有条件专门请教练来练习舞蹈、武术等需要比较规范的动作要求的活动,而该发明只需要用户使用自家的智能电视安装该发明衍生的产品,即可通过预置的教学视频进行动作的相似度比对。
3、其识别结果具有主观客观参考性,本发明在图像对比方面采用了基于SSIM(structuralsimilarity)结构相似性指数的算法,SSIM经常与其他度量标准进行比较,包括更简单的度量标准,如MSE和PSNR,以及其他感知图像和视频质量度量标准。SSIM一再被证明在精度上明显优于MSE及其衍生物。
在实际测试中,动作接近时的相似度如下:
93.7643%
93.9866%
93.5723%
94.4022%
94.5475%
94.6801%
95.5384%
而动作有偏离时:
80.8693%
80.3786%
79.7377%
79.2446%
79.2259%
79.4668%
79.6504%
对通过这种方法可以制作出许多功能丰富的动作比对产品,极大地方便人们的生活。
对于动作识别的实现,主要采用以下几种技术手段:
1)基于OPENCV的图像背景减除
采用OPENCV提供的API,通过高斯背景减除模板,将一个视频流中的图像输入到模板中,在模板中将前后两帧图像进行比对,通过一个学习算法,输出去除背景后的二值化图像,前景部分以白色表示,背景部分以黑色表示;
提出的一种基于GMM(混合高斯模型)的算法,可以找出图像区域中更符合背景的区域,通过改进算法,实现了阴影检测,用C++代码实现其功能。
2)基于形态学运算的去噪方法
通过使用形态学的开运算,对图像中细小的颗粒噪声进行去噪处理,在通过闭运算达到平滑图像的作用,去除噪声,提高动作相似度比对的精准性;
3)基于SSIM算法的图像相似度比对
采用结构相似性(structuralsimilarity)算法,结构相似性(SSIM)指数是用于预测的数字电视和电影图片,以及其他类型的数字图像和视频的感知质量的方法。
SSIM用于测量两幅图像之间的相似度。SSIM指数是一个完整的参考指标;换句话说,图像质量的测量或预测基于作为参考的初始未压缩或无失真图像。SSIM旨在改进传统方法,如峰值信噪比(PSNR)和均方误差(MSE)
采用这种技术,在本地视频流和摄像头视频流去除背景后的二值化图像进行全参考的结构化相似度对比,分别对比出亮度、对比度、结构三个相似度分量信息,由于有三个参考信息,得出的结果无论从主观还是客观都有很大的参考价值。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种基于opencv的人物相似度系统的建立方法,其特征在于,所述方法包括以下步骤:
S10,通过opencv计算机视觉库所提供的API,用户点击相应的的演示视频,系统将根据演示视频在内存中的存储路径,从内存空间中读取预设的人物动作视频,通过opencv计算机视觉库所提供的API将视频文件以视频流的形式读入缓存区待用,通过opencv计算机视觉库所提供的API获取该视频的帧率,以保持帧读取的同步;
S20,打开摄像头,通过opencv计算机视觉库所提供的API,在android、java或c++软件运行平台,通过API读取摄像头视频流,并将摄像头视频流投射在投射在屏幕上,用户站于摄像头前,根据屏幕中的画面调整身体的位置,使身体完整位于摄像头正中央附近,用户准备完毕后,点击开始按钮开始进行两个视频流的逐帧动作相似度比对;
S30,建立两条线程,第一条线程用于按照一定的帧率逐帧读取本地视频,第二条线程用于以相同的帧率逐帧读取摄像头的视频流,线程建立完毕后,同时启动两条线程,开始逐帧读取视频图像;
S40,生成两个opencv预置的MOG2图像背景减除学习模板,其中一个模板用于处理本地视频流图像的背景减除,另一个模板用于处理摄像头视频流图像的背景减除,由模板中预设的学习算法,不断的将数目模板的帧流中前后两帧图像进行对比,输出去除背景的二值化图像,图像中只保留视频中的前景部分,二值化图像中,前景部分以白色表示,背景部分以黑色表示,得到二值化图像后,运用形态学的开闭算法去除图像当中的噪声,以提高背景减除的准确性,
S50,将背景减除获得的图像进行相似度比对,采用结构相似性算法,对本地视频流和摄像头视频流去除背景后的二值化图像进行全参考的结构化相似度对比,分别对比出亮度、对比度、结构三个相似度分量信息,用opencv预置的Scalar类将三个分量进行整合,最后输出一个用于代表两幅图像相似度的浮点数信息,完成图像相似度的对比,
S60,将图像处理结果百分化后保留两位小数,在视频画布的右上角距顶端25dp,距右侧100dp绘制处理后的相似度结果图像,相似度结果图像每两幅对比后更新一次。
2.如权利要求1所述的基于opencv的人物相似度系统的建立方法,其特征在于,所述方法中步骤S10中寻找演示视频在计算机文件系统中的路径的具体步骤为:
软件系统在后台预先架设好的服务器中下载服务器预置的视频,视频文件将会被下载到系统预设的某个默认路径文件夹中,视频将被下载完成时刻的时间戳为视频的文件名,且名称唯一,同时软件系统将记录每一个下载完成文件的文件名,将文件和文件名形成一个映射,当用户点击相应的演示视频时,根据该映射寻找到对应的文件名,系统将预设的默认下载路径加上文件名构成完整的文件路径,软件系统根据该路径加载相应的视频文件。
3.如权利要求1所述的基于opencv的人物相似度系统的建立方法,其特征在于,所述方法中步骤S10中用户点击的演示视频应符合以下要求:
演示视频必须包含人物;演示视频的背景必须相对静止,噪声不能过高;演示视频的视频质量必须在720p以上以保证相似度识别的准确性;演示视频的人物需要处于视频图像正中央附近;演示视频的场景不能切换。
4.如权利要求1所述的基于opencv的人物相似度系统的建立方法,其特征在于,所述方法中步骤S30中所述的线程建立的具体步骤为:
S301,建立两个线程子类,其中第一个子类的线程方法中用于在S10中打开的本地视频流中,按获取的帧率换算成时间间隔,将帧率取倒数乘以500得到换算后的时间间隔,时间间隔以ms为单位,根据这个时间间隔不停地读取视频流中的图像,判断所读取的图像是否是视频的最后一帧,如果不是最后一帧,继续不断地读取,如果是最后一帧,将两个线程同时停止,动作相似度比对系统也停止工作;
S302、第二个子类的线程,用于在S20中打开的摄像头视频流中,获取视频流中的图像,获取视频流的图像按照一定时间间隔不停地获取,该时间间隔根据不同的平台分为两种情况:第一种情况是在android平台上,搭载该平台的设备本身就自带摄像头,其获取视频流的方式按系统自动回调获取,不需要开发者进行图片读取速度的控制;第二种情况是在系统设备不提供原生摄像头的情况下,需要将摄像头外接,这种情况下,线程中需要进行视频图像读取速度的控制,该帧率按照S301中换算得出的时间间隔获取摄像头视频流中的图像。
5.如权利要求1所述的基于opencv的人物相似度系统的建立方法,其特征在于,所述方法中步骤S40中所述的形态学去噪法实施的具体步骤为:
S401,利用opencv提供的应用程序编程接口,产生一个3*3大小的椭圆形结构元素,作为形态学去噪算法的结构元素;
S402,首先进行形态学开运算操作,开运算首先进行形态学上的腐蚀操作,公式如下:
其中公式中A为将要进行腐蚀操作的图像,B为S41中生成的结构元素,移动结构B,如果结构B与图像A的交集完全属于图像A的区域内,则保留该位置点,所有满足条件的点构成结构A被结构B腐蚀的结果,
然后进行膨胀操作,公式如下:
将结构B在图像A上进行卷积操作,如果移动结构B的过程中,与图像A存在重叠区域,则记录该位置,所有移动结构B与图像A存在交集的位置的集合为图像A在结构B作用下的膨胀结果,
开操作的作用是消除图像中细小的噪声,在纤细处分离物体个平滑较大物体的边缘;
S403,再进行形态学闭操作,闭操作首先进行膨胀操作,膨胀完成后再进行腐蚀操作,闭操作具有填充物体中细小的空洞,连接邻近物体和平滑边界的作用。
6.如权利要求1所述的基于opencv的人物相似度系统的建立方法,其特征在于,所述方法中步骤S50中所述的结构相似性算法实现的具体步骤为:
S501,将图像信息分为结构、亮度、对比度三部分进行对比,首先对于离散信号,以平均灰度来作为亮度测量的估计:
亮度对比函数l(x,y)是关于x,y的二元函数,然后,由测量系统知道要把平均灰度值从信号中去除,对于离散信号,使用标准差来做对比度估量值,
对比度对比函数c(x,y)关于x,y的二元函数,信号被信号本身的标准差相除,结构对比函数就被定义成和的函数,最后,三个对比模块组合成一个完整的相似测量
函数:
S(x,y)=f(l(x,y),c(x,y),s(x,y))
S(x,y)应该满足以下三个条件:
对称性;
有界性;
最大值唯一性,当且仅当x=y时,S(x,y)=1
定义三个对比函数,
亮度对比函数:
对比度对比函数:
结构对比函数:
其中:
将三个对比函数进行组合,得到SSIM指数函数:
S502,在S501中所述公式基础上μx,σx,σxy都加入一个8*8的方形窗,并且逐像素的遍历整幅图片,每一步计算,
μx,σx,σxy和SSIM都是基于窗口内像素的,最终得到一个SSIM指数映射矩阵,由局部SSIM指数组成,使用11*11的对称高斯加权函数W={wi|i=1,2,...,N}作为加权窗口,标准差为1.5,且
μx,σx,σxy的估计值表示为:
把K1设为0.01,K2设为0.03,然后用平均SSIM指数作为整幅图像的估计质量评价:
其中X,Y为图像,xi,yj为局部SSIM指数在映射中的位置,MN为局部窗口的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810379409.7A CN108564057B (zh) | 2018-04-25 | 2018-04-25 | 一种基于opencv的人物相似度系统的建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810379409.7A CN108564057B (zh) | 2018-04-25 | 2018-04-25 | 一种基于opencv的人物相似度系统的建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108564057A CN108564057A (zh) | 2018-09-21 |
CN108564057B true CN108564057B (zh) | 2022-05-13 |
Family
ID=63536567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810379409.7A Expired - Fee Related CN108564057B (zh) | 2018-04-25 | 2018-04-25 | 一种基于opencv的人物相似度系统的建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108564057B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376705A (zh) * | 2018-11-30 | 2019-02-22 | 努比亚技术有限公司 | 舞蹈训练评分方法、装置及计算机可读存储介质 |
CN109902564B (zh) * | 2019-01-17 | 2021-04-06 | 杭州电子科技大学 | 一种基于结构相似性稀疏自编码网络的异常事件检测方法 |
CN110033463B (zh) | 2019-04-12 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 一种前景数据生成及其应用方法、相关装置和系统 |
CN112309181A (zh) * | 2020-10-23 | 2021-02-02 | 百色学院 | 一种舞蹈教学辅助方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179401A (zh) * | 2013-03-19 | 2013-06-26 | 燕山大学 | 多智能体协同视频采集与图像信息拼接处理方法及装置 |
CN107301377A (zh) * | 2017-05-26 | 2017-10-27 | 浙江大学 | 一种基于深度相机的人脸与行人感知系统 |
CN107564004A (zh) * | 2017-09-21 | 2018-01-09 | 杭州电子科技大学 | 一种基于计算机辅助跟踪的篡改视频标注方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392418B2 (en) * | 2009-06-25 | 2013-03-05 | University Of Tennessee Research Foundation | Method and apparatus for predicting object properties and events using similarity-based information retrieval and model |
-
2018
- 2018-04-25 CN CN201810379409.7A patent/CN108564057B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179401A (zh) * | 2013-03-19 | 2013-06-26 | 燕山大学 | 多智能体协同视频采集与图像信息拼接处理方法及装置 |
CN107301377A (zh) * | 2017-05-26 | 2017-10-27 | 浙江大学 | 一种基于深度相机的人脸与行人感知系统 |
CN107564004A (zh) * | 2017-09-21 | 2018-01-09 | 杭州电子科技大学 | 一种基于计算机辅助跟踪的篡改视频标注方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108564057A (zh) | 2018-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108564057B (zh) | 一种基于opencv的人物相似度系统的建立方法 | |
CN106951346B (zh) | 一种响应时间的测试方法和装置 | |
KR100981003B1 (ko) | 동체화상추출장치 및 프로그램을 기록한 컴퓨터 판독 가능한 기록매체 | |
Sarel et al. | Separating transparent layers through layer information exchange | |
CN112308095A (zh) | 图片预处理及模型训练方法、装置、服务器及存储介质 | |
US11516554B2 (en) | Method and system for enhancing sound and picture quality based on scene recognition, and display | |
US20060088210A1 (en) | Video image quality | |
US20070189627A1 (en) | Automated face enhancement | |
WO2014187223A1 (en) | Method and apparatus for identifying facial features | |
CN110033463B (zh) | 一种前景数据生成及其应用方法、相关装置和系统 | |
CN107273895B (zh) | 用于头戴式智能设备的视频流实时文本识别及翻译的方法 | |
WO2021169396A1 (zh) | 一种媒体内容植入方法以及相关装置 | |
CN112261477A (zh) | 视频处理方法及装置、训练方法和存储介质 | |
CN113705510A (zh) | 目标识别跟踪的方法、装置、设备及存储介质 | |
US20230353702A1 (en) | Processing device, system and method for board writing display | |
WO2023001110A1 (zh) | 神经网络训练方法、装置及电子设备 | |
US20230085231A1 (en) | Electromagnetic susceptibility testing method based on computer-vision | |
CN115909486A (zh) | 一种基于YOLOv5、TFLite量化和移动端部署的引体向上视觉识别计数系统 | |
CN114943663A (zh) | 一种教学系统 | |
Ellahi et al. | A machine-learning framework to predict TMO preference based on image and visual attention features | |
CN112511719B (zh) | 屏幕内容视频运动类型的判断方法 | |
US20230334886A1 (en) | Video processing method and related devices | |
Michenthaler | Automated scoring in climbing competitions | |
TWI820889B (zh) | 圖像處理方法及其裝置 | |
Cloramidina et al. | High Dynamic Range (HDR) Image Quality Assessment: A Survey |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220513 |
|
CF01 | Termination of patent right due to non-payment of annual fee |