本发明涉及计算机远程管理领域,尤其涉及一种基于深度学习的光标检测方法及系统。
背景技术:
1、ipkvm 通过硬件级的远程键盘、视频和鼠标控制(kvm)为远程办公和远程工作地点提供支持,可使 it 管理员像亲自到场一样管理电脑。类似于远程桌面,远程桌面是通过安装在被控端的软件将系统当前画面通过网络传输到控制端,控制端的软件通过网络将键盘鼠标等指令发送到被控端的软件中,被控端接收后再执行;而ipkvm通过将被控主机的hdmi输出及usb接入一个采集控制的设备,该设备会采集主机hdmi视频的输出并发送到控制端,控制端通过网络将键盘鼠标的指令下发到采集控制设备,采集控制设备通过usb模拟鼠标键盘的方式将指令传到被控端主机上,从而实现远程控制。
2、现有的ipkvm方案不进行光标识别,通常只采集被控端的桌面视频信号,然后将被控端的画面显示在控制端上,但是画面经过网络传输后会有一定的延迟,而控制端的鼠标操控的延迟会比较低,两者之间的操作不同步导致用户操作不顺畅。为了减少这种延迟感,提出了一种新方案,即在控制端画面中叠加一个超低延迟的光标,但这就引出了两个问题:第一,叠加的光标状态无法与被控端的光标同步,只能保持默认的光标状态;第二,因为网络延迟、画面延迟等因素如果远程操控者移动鼠标过快会导致被控端桌面中的光标跟不上,桌面中会同时存在两个光标,影响观感。因此,需要一种新的方案来解决ipkvm方案中控制端画面里鼠标延迟大,鼠标状态不同步的问题。
技术实现思路
1、为解决上述问题,本发明提供了一种基于深度学习的光标检测方法及系统,通过目标检测及图像修复技术,将原画面中的光标去除,并进行重新合成,解决了ipkvm方案中控制端画面里鼠标延迟大,鼠标状态不同步的问题。
2、为实现上述目的,本发明提供以下技术方案:
3、一种基于深度学习的光标检测方法,应用于受控端和控制端,包括以下步骤:
4、s1.获取受控端的光标位置及受控端画面,根据光标位置确定受控端画面中的光标识别区域;
5、s2.利用目标检测法对光标识别区域中的光标进行检测,获取光标的图像与状态;
6、s3.根据光标的图像与位置对受控端画面中的光标进行去除,获得去除光标的受控端残缺画面;
7、s4.利用图像修复法对去除光标的受控端残缺画面进行修复,得到不包含光标的受控端画面;
8、s5.将不包含光标的受控端画面传输至控制端,根据受控端的光标状态,生成光标图像,根据控制端的光标位置将光标图像添加至控制端画面进行同步。
9、进一步地,在步骤s1中,所述根据光标位置确定受控端画面中的光标识别区域包括:以光标位置为中心,框选一个矩形区域作为所述光标识别区域。
10、进一步地,在步骤s2中,利用目标检测法对光标识别区域进行检测,其具体实现过程,包括以下步骤:利用目标检测法识别出光标识别区域中的光标及光标的状态,当同一个光标识别区域中识别出两个及以上个光标时,从识别出的光标中选择置信度最高的两个光标,根据受控端光标尺寸对置信度最高的两个光标进行尺寸匹配,将与受控端光标尺寸最匹配的检测结果作为光标图像。
11、进一步地,在步骤s3中,根据光标的图像与位置对受控端画面中的光标进行去除,其具体实现过程,包括以下步骤:根据光标图像及位置建立与光标形状与位置相同的遮罩层,将遮罩层与受控端画面合并,得到去除光标的受控端残缺画面。
12、进一步地,在步骤s4中,利用图像修复法对去除光标的受控端残缺画面进行修复之前,还包括:对受控端残缺画面进行归一化操作,所述归一化操作的公式为:
13、,
14、其中,处表示归一化后的受控端残缺画面中,位置为的像素值,表示去除光标的受控端残缺画面中,位置为处的像素值,表示去除光标的受控端残缺画面的像素值最大值,表示去除光标的受控端残缺画面的像素值最小值。
15、进一步地,在步骤s4中,利用图像修复法对去除光标的受控端残缺画面进行修复,其具体实现过程,包括以下步骤:
16、s41.构建图像修复模型,所述图像修复模型包括生成器、鉴别器、生成器损失函数和鉴别器损失函数,所述生成器用于根据输入生成器的数据生成图像,所述鉴别器用于鉴别输入鉴别器的图像是否为生成器生成的图像,所述生成器损失函数用于衡量生成器生成图像的损失,鉴别器损失函数用于鉴别器鉴别结果的损失;
17、s42.对图像修复模型中的生成器和鉴别器进行训练,直至生成器损失达到最小化的同时鉴别器损失最大化,结束训练,得到训练好的图像修复模型
18、s43.向训练好的图像修复模型中的生成器输入去除光标的受控端残缺画面,生成器输出修复画面。
19、进一步地,在步骤s4中,所述得到不包含光标的受控端画面,具体实现过程包括:根据光标图像及位置对修复画面进行裁剪,得到与光标图像尺寸相同的修复补丁图像,将修复补丁图像与去除光标的受控端残缺画面进行合并,得到不包含光标的受控端画面。
20、进一步地,在步骤s5中,将不包含光标的受控端画面传输至控制端,还包括对不包含光标的受控端画面进行压缩,得到压缩后的不包含光标的受控端画面,将压缩后的不包含光标的受控端画面传输至控制端。
21、进一步地,在步骤s1中,所述获取受控端的光标位置,具体包括:监控受控端hid设备的输入来获取受控端的光标位置。
22、通过上述技术方案,本发明通过目标检测,检测并去除受控端画面中的光标,再对去除后的画面进行修复并传输至控制端,从而将控制端的光标重新同步至画面中,使得控制端画面中的光标能够及时反馈,提高光标同步的及时性和准确性。
1.一种基于深度学习的光标检测方法,应用于受控端和控制端,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于深度学习的光标检测方法,其特征在于,在步骤s1中,所述根据光标位置确定受控端画面中的光标识别区域包括:以光标位置为中心,框选一个矩形区域作为所述光标识别区域。
3.根据权利要求1所述的一种基于深度学习的光标检测方法,其特征在于,在步骤s2中,利用目标检测法对光标识别区域进行检测,其具体实现过程,包括以下步骤:利用目标检测法识别出光标识别区域中的光标及光标的状态,当同一个光标识别区域中识别出两个及以上个光标时,从识别出的光标中选择置信度最高的两个光标,根据受控端光标尺寸对置信度最高的两个光标进行尺寸匹配,将与受控端光标尺寸最匹配的检测结果作为光标图像。
4.根据权利要求1所述的一种基于深度学习的光标检测方法,其特征在于,在步骤s3中,根据光标的图像与位置对受控端画面中的光标进行去除,其具体实现过程,包括以下步骤:根据光标图像及位置建立与光标形状与位置相同的遮罩层,将遮罩层与受控端画面合并,得到去除光标的受控端残缺画面。
5.根据权利要求1所述的一种基于深度学习的光标检测方法,其特征在于,在步骤s4中,利用图像修复法对去除光标的受控端残缺画面进行修复之前,还包括:对去除光标的受控端残缺画面进行归一化操作,所述归一化操作的公式为:
6.根据权利要求5所述的一种基于深度学习的光标检测方法,其特征在于,在步骤s4中,利用图像修复法对去除光标的受控端残缺画面进行修复,其具体实现过程,包括以下步骤:
7.根据权利要求6所述的一种基于深度学习的光标检测方法,其特征在于,在步骤s4中,所述得到不包含光标的受控端画面,具体实现过程包括:根据光标图像及位置对修复画面进行裁剪,得到与光标图像尺寸相同的修复补丁图像,将修复补丁图像与去除光标的受控端残缺画面进行合并,得到不包含光标的受控端画面。
8.根据权利要求1所述的一种基于深度学习的光标检测方法,其特征在于,在步骤s5中,将不包含光标的受控端画面传输至控制端,还包括对不包含光标的受控端画面进行压缩,得到压缩后的不包含光标的受控端画面,将压缩后的不包含光标的受控端画面传输至控制端。
9.根据权利要求1所述的一种基于深度学习的光标检测方法,其特征在于,在步骤s1中,所述获取受控端的光标位置,具体包括:监控受控端hid设备的输入来获取受控端的光标位置。
10.一种基于深度学习的光标检测系统,应用于受控端和控制端,其特征在于,包括: