产学研创新服务平台(开云优惠体育网页版入口)
专利申请类型:发明专利;专利名称:基于计算机视觉的手机PIN锁屏密码识别方法及系统
专利类型:发明专利
专利申请号:CN202210246096.4
专利申请(专利权)人:西安电子开云优惠体育网页版入口大学
权利人地址:陕西省西安市太白南路2号西安电子开云优惠体育网页版入口大学
专利发明(设计)人:曹进,昝晓勇,郭振洋,李晖
专利摘要:本发明属于视频分析技术领域,公开了一种基于计算机视觉的手机PIN锁屏密码识别方法及系统,收集包含用户通过PIN码解锁手机屏幕过程的视频,检测视频帧中出现的指尖和数字键位置,并根据检测情况自动判断是否属于解锁过程;根据检测出的指尖位置计算触摸点并使用光流算法辅助完成对指尖运动的追踪;根据局部数字键位置计算整体键盘布局,存在遮挡时使用仿射映射原理微调键盘位置;使用光流法计算指尖运动参数,并根据速度和加速度判断指尖的移动或按下状态;最后通过位置和运动状态计算可能按下的数字序列,在解锁过程结束后,输出用户最有可能按下的三组PIN序列。本发明使用机器学习算法代替手工处理的步骤从而降低识别成本。
主权利要求:
1.一种基于计算机视觉的手机PIN锁屏密码识别方法,其特征在于,所述基于计算机视觉的手机PIN锁屏密码识别方法包括用户通过PIN码解锁手机屏幕过程的视频,检测视频帧中出现的指尖和数字键位置,并根据检测情况自动判断是否属于解锁过程;根据检测出的指尖位置计算触摸点并使用光流算法辅助完成对指尖运动的追踪;根据局部数字键位置计算整体键盘布局,存在遮挡时使用仿射映射原理微调键盘位置;使用光流法计算指尖运动参数,并根据速度和加速度判断指尖的移动或按下状态;最后通过位置和运动状态计算可能按下的数字序列,在解锁过程结束后,输出用户最有可能按下的三组PIN序列;
所述基于计算机视觉的手机PIN锁屏密码识别方法具体包括以下步骤:
步骤一,获取包含用户通过PIN码解锁手机屏幕过程的视频,该视频可以来自于摄像头,也可以来自于智能手机等拥有拍摄功能的设备;
步骤二,检测视频帧中出现的指尖和数字键1、3、8位置,并根据检测情况自动判断当前帧是否属于解锁过程;
步骤三,针对获取到的指尖位置矩形框,计算指尖的触摸点并使用光流算法辅助完成对指尖运动的追踪;
步骤四,针对获取到的数字键1、3、8位置矩形框,计算出整体键盘布局,存在遮挡时使用仿射映射原理微调键盘位置;
步骤五,使用光流法计算指尖运动参数,并根据速度和加速度判断指尖的移动或按下状态;
步骤六,当指尖触摸点位于数字键盘某个键的矩形框中时,根据位置和指尖运动参数计算该键被按下的概率并保存;
步骤七,计算过程逐帧进行直到解锁过程结束,此时根据已保存的数字键序列及其概率输出最有可能的三组PIN序列;
所述步骤二使用YOLO系列目标检测算法检测出指尖、数字键1、3、4共四个目标位置,将同时检测出指尖和数字键位置的帧作为解锁流程的开始,将连续5帧未检测出数字键位置作为解锁流程的结束。
2.如权利要求1所述的基于计算机视觉的手机PIN锁屏密码识别方法,其特征在于,所述步骤三对YOLO模型输出的指尖位置矩形框进行二次定位,依次对图像进行灰度化处理,检测指尖轮廓并对轮廓进行椭圆拟合,将椭圆的中心视为指尖触摸点;并在模型输出位置的准确度过低时使用L?K光流算法作为辅助追踪手段,在时间维度上判断指尖位置。
3.如权利要求1所述的基于计算机视觉的手机PIN锁屏密码识别方法,其特征在于,所述步骤六的计算为加分机制,当指尖触摸点经过某一数字键位置时该键被记录并获得默认得分0,当指尖的运动在该键范围内出现先减速后加速趋势时,认为该键被按下1次并将该键的得分加1;分数越高视为该键被按下或被多次按下的概率越高。
4.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1 3~任意一项所述基于计算机视觉的手机PIN锁屏密码识别方法的步骤。
5.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1 3任意一项所述基于计算机视觉的手机PIN锁屏密码识别方~法的步骤。
6.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现权利要求1 3~任意一项所述基于计算机视觉的手机PIN锁屏密码识别方法的步骤。
7.一种实施权利要求1 5任意一项所述基于计算机视觉的手机PIN锁屏密码识别方法~的手机PIN锁屏密码识别系统,其特征在于,所述手机PIN锁屏密码识别系统包括:目标位置检测模块,用于检测检测目标位置和判断解锁流程的开始与结束;使用YOLO系列目标检测算法用于识别指尖、数字键1、3、8共四个目标在视频每一帧中出现的位置;当同时检测到指尖与数字键时视为解锁流程的开始,当连续5帧未检测到数字键盘时视为解锁流程的结束;
指尖定位与追踪模块,用于对指尖触摸点进行准确定位和追踪;使用边缘检测和椭圆拟合算法对YOLO模型输出的指尖位置矩形框进行二次定位,将椭圆的中心视为指尖触摸点;使用L?K光流算法作为辅助追踪手段,当YOLO输出的指尖矩形框准确度过低时通过光流算法在时间维度上判断指尖位置;
键盘布局计算模块,用于计算数字键盘的整体布局以及存在遮挡情况时键盘布局的估算;利用手机数字键盘的相同布局特性,通过数字键1、3、8的位置去计算数字键0 9的所有~位置;存在遮挡时、通过仿射映射原理,将前一帧计算的布局映射到当前。
按键动态识别模块,用于计算手指运动参数,并根据运动参数和位置判断手指移动或按下的状态,最终筛选出用户输入的PIN序列。
8.一种移动设备,其特征在于,所述移动设备安装有权利要求7所述的手机PIN锁屏密码识别系统。 说明书 : 基于计算机视觉的手机PIN锁屏密码识别方法及系统技术领域[0001] 本发明属于视频分析技术领域,尤其涉及一种基于计算机视觉的手机PIN锁屏密码识别方法及系统。背景技术[0002] 目前,移动设备如智能手机、可穿戴设备和平板电脑已经成为无处不在的计算和通信平台,在日常生活中扮演着越来越重要的角色,而它们安全性也越来越被重视。PIN是一种兼顾安全性和便捷性的身份认证方式,因此是大多数手机锁屏的默认解锁方式。PIN一般由固定4位或者6位数字构成,大大降低了使用者的记忆负:褪淙胧奔,但相对的也增加了安全风险,易受猜测攻击或者肩窥攻击。随着开云优惠体育网页版入口的进步,技术加持下的肩窥攻击变的更加难以防范,公共场所的监控摄像头或是常见的智能手机均可以轻易拍下用户的解锁过程,于是攻击者从肉眼观察的肩窥攻击方式转变成了偷拍用户解锁的过程并从视频中研究获取隐私信息。基于视频侧信道的分析已经被证明可以有效地重建基于PIN或文本的密码。相关安全研究人员运用计算机视觉领域的轨迹追踪以及特征提取算法来推断用户在计算机键盘上输入的文本以及手机的PIN锁屏密码和图案密码。通过轨迹追踪算法可以追踪用户的手指运动轨迹以及其他感兴趣的目标,分析手指运动特征从而推测出用户的输入。然而轨迹追踪算法的使用条件为需要手动剪切视频片段,并在片段的起始帧上手动标记出目标位置,这使得相关方案针对视频中的每一次解锁流程都需要手动剪辑并标注需要跟踪的目标。这使得分析成本过高,同时人工的干预也使得分析识别效率受到限制。需要找到一种方法,能够完成解锁视频片段的自动识别和目标检测,将需要人工参与的步骤自动化。这需要使用基于深度学习的目标检测算法,通过预选收集的数据完成对模型的训练,从而能够自动检测。然而自动流程的重点在于通用性,这使得本发明需要解决不同手机型号,不同解锁姿势对识别的造成的影响,从而获得较高的识别成功率。[0003] 通过上述分析,现有技术存在的问题及缺陷为:现有的基于计算机视觉的分析识别方法普遍存在需要人工参与的步骤,如视频剪辑,在起始帧上进行目标标注以及对视频中设备型号的判断和对键盘布局的查询,因此分析成本过高,同时也限制了识别的效率。发明内容[0004] 针对现有技术存在的问题,本发明提供了一种基于计算机视觉的手机PIN锁屏密码识别方法及系统。[0005] 本发明是这样实现的,一种基于计算机视觉的手机PIN锁屏密码识别方法,所述基于计算机视觉的手机PIN锁屏密码识别方法包括用户通过PIN码解锁手机屏幕过程的视频,检测视频帧中出现的指尖和数字键位置,并根据检测情况自动判断是否属于解锁过程;根据检测出的指尖位置计算触摸点并使用光流算法辅助完成对指尖运动的追踪;根据局部数字键位置计算整体键盘布局,存在遮挡时使用仿射映射原理微调键盘位置;使用光流法计算指尖运动参数,并根据速度和加速度判断指尖的移动或按下状态;最后通过位置和运动状态计算可能按下的数字序列,在解锁过程结束后,输出用户最有可能按下的三组PIN序列。[0006] 进一步,所述基于计算机视觉的手机PIN锁屏密码识别方法具体包括以下步骤:[0007] 步骤一,获取包含用户通过PIN码解锁手机屏幕过程的视频,视频中需要出现较清晰的用户的手指和解锁屏幕,除此之外对拍摄距离、角度以及设备型号均为限制,因此该视频可以来自于监控摄像头,也可以来自于智能手机等常见的拥有拍摄功能的设备;[0008] 步骤二,检测视频帧中出现的指尖和数字键1、3、8位置,并根据检测情况自动判断当前帧是否属于解锁过程,此步骤将检测出一段长视频中包含的一段或多段解锁流程,并针对每段流程完成输入PIN的识别与计算;[0009] 步骤三,针对获取到的指尖位置矩形框,计算指尖的触摸点从而达到获得更加准确的指尖定位。并使用光流算法辅助完成对指尖运动的追踪,从而增加视频中目标的检测成功率;[0010] 步骤四,针对获取到的数字键1、3、8位置矩形框,计算出整体键盘布局,通过局部估计整体的方式利用了键盘的空间布局特性,因此适用于不同型号或大小的设备识别。同时在存在遮挡时使用仿射映射原理微调键盘位置;[0011] 步骤五,使用光流法计算指尖运动参数,并根据速度和加速度判断指尖的移动或按下状态;[0012] 步骤六,当指尖触摸点位于数字键盘某个键的矩形框中时,根据位置和指尖运动参数计算该键被按下的概率并保存,此步骤借助已计算获得的位置信息和运动参数,在时间和空间两个维度上判断从而获得更加准确的按键状态;[0013] 步骤七,计算过程逐帧进行直到解锁过程结束,此时根据已保存的数字键序列及其概率输出最有可能的三组PIN序列。[0014] 进一步,所述步骤二使用YOLO系列目标检测算法检测出指尖、数字键1、3、4共四个目标位置,将同时检测出指尖和数字键位置的帧作为解锁流程的开始,将连续5帧未检测出数字键位置作为解锁流程的结束。[0015] 进一步,所述步骤三对YOLO模型输出的指尖位置矩形框进行二次定位,依次对图像进行灰度化处理,检测指尖轮廓并对轮廓进行椭圆拟合,将椭圆的中心视为指尖触摸点;并在模型输出位置的准确度过低时使用L?K光流算法作为辅助追踪手段,在时间维度上判断指尖位置。[0016] 进一步,所述步骤六的计算为加分机制,当指尖触摸点经过某一数字键位置时该键被记录并获得默认得分0,当指尖的运动在该键范围内出现先减速后加速趋势时,认为该键被按下1次并将该键的得分加1;分数越高视为该键被按下或被多次按下的概率越高。[0017] 本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于计算机视觉的手机PIN锁屏密码识别方法的步骤。[0018] 本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述基于计算机视觉的手机PIN锁屏密码识别方法的步骤。[0019] 本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述基于计算机视觉的手机PIN锁屏密码识别方法的步骤。[0020] 本发明的另一目的在于提供一种实施所述基于计算机视觉的手机PIN锁屏密码识别方法的手机PIN锁屏密码识别系统,所述手机PIN锁屏密码识别系统包括:[0021] 目标位置检测模块,用于检测检测目标位置和判断解锁流程的开始与结束;使用YOLO系列目标检测算法用于识别指尖、数字键1、3、8共四个目标在视频每一帧中出现的位置;当同时检测到指尖与数字键时视为解锁流程的开始,当连续5帧未检测到数字键盘时视为解锁流程的结束;[0022] 指尖定位与追踪模块,用于对指尖触摸点进行准确定位和追踪;使用边缘检测和椭圆拟合算法对YOLO模型输出的指尖位置矩形框进行二次定位,将椭圆的中心视为指尖触摸点;使用L?K光流算法作为辅助追踪手段,当YOLO输出的指尖矩形框准确度过低时通过光流算法在时间维度上判断指尖位置;[0023] 键盘布局计算模块,用于计算数字键盘的整体布局以及存在遮挡情况时键盘布局的估算;利用手机数字键盘的相同布局特性,通过数字键1、3、8的位置去计算数字键0~9的所有位置;存在遮挡时、通过仿射映射原理,将前一帧计算的布局映射到当前。籟0024] 按键动态识别模块,用于计算手指运动参数,并根据运动参数和位置判断手指移动或按下的状态,最终筛选出用户输入的PIN序列。[0025] 本发明的另一目的在于提供一种移动设备,所述移动设备安装有所述的手机PIN锁屏密码识别系统。[0026] 结合上述的技术方案和解决的技术问题,请从以下几方面分析本发明所要保护的技术方案所具备的优点及积极效果为:[0027] 第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:[0028] 本发明重点解决的是以往视频分析方案中需要人工参与而导致的成本和效率问题。引入基于深度学习的目标检测模型后大大降低了人工成本,使得方案具备了对大规模视频数据分析计算的潜力。[0029] 第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:[0030] 本发明使用机器学习算法代替手工处理的步骤从而降低识别成本,同时不再限制手机设备的型号从而提升了方法的通用性,对相关安全方面的研究具有重要意义。本发明在保持识别准确率的前提下,训练目标检测模型完成对手指的自动检测以及解锁片段的自动识别,代替手工处理步骤从而降低识别成本。同时不再限制手机设备的型号从而提升方法的通用性。[0031] 第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:[0032] (1)本发明的技术方案转化后的预期收益和商业价值为:[0033] 本发明涉及用户隐私安全,主要用于安全性研究或者辅助相关安防人员完成视频分析。[0034] (2)本发明的技术方案填补了国内外业内技术空白:[0035] 基于深度学习的目标检测算法在工业界有着广泛的应用,如人脸识别、无人驾驶、监控安全等。但是技术的发展具有两面性,人工智能技术在为人们生活带来便利的同时也带来了隐私泄露风险。[0036] 人工智能技术导致的隐私泄露问题并没有受到广泛重视,目前国内外的安全研究中,基于视频的分析方案中普遍需要人工辅助完成,如视频剪辑,关键点标注等。本发明通过训练YOLO模型完成了对传统方案的自动化改造,证明了人工智能技术在此领域的应用潜力,一旦技术遭到滥用将会对公众隐私产生巨大威胁。[0037] 该方案一方面提醒公众警惕技术发展带来的隐私泄露风险,另一方面也为相关安防人员或安全研究人员提供了新的分析工具和研究思路。附图说明[0038] 图1是本发明实施例提供的基于计算机视觉的手机PIN锁屏密码识别方法的流程图;[0039] 图2是本发明实施例提供的基于计算机视觉的手机PIN锁屏密码识别系统的结构示意图;[0040] 图3是本发明实施例提供的基于计算机视觉的手机PIN锁屏密码识别系统的原理图;[0041] 图4是本发明实施例提供的基于计算机视觉的手机PIN锁屏密码识别系统的实验场景图;[0042] 图5是本发明实施例提供的基于计算机视觉的手机PIN锁屏密码识别系统的运行效果图;[0043] 图中:1、目标位置检测模块;2、指尖定位与追踪模块;3、键盘布局计算模块;4、按键动态识别模块。具体实施方式[0044] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0045] 一、解释说明实施例。为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。[0046] 如图1所示,本发明实施例提供的基于计算机视觉的手机PIN锁屏密码识别方法包括以下步骤:[0047] S101:获取包含用户通过PIN码解锁手机屏幕过程的视频,该视频可以来自于摄像头,也可以来自于智能手机等拥有拍摄功能的设备;[0048] S102:检测视频帧中出现的指尖和数字键1、3、8位置,并根据检测情况自动判断当前帧是否属于解锁过程;[0049] S103:针对获取到的指尖位置矩形框,计算指尖的触摸点并使用光流算法辅助完成对指尖运动的追踪;[0050] S104:针对获取到的数字键1、3、8位置矩形框,计算出整体键盘布局,存在遮挡时使用仿射映射原理微调键盘位置;[0051] S105:使用光流法计算指尖运动参数,并根据速度和加速度判断指尖的移动或按下状态;[0052] S106:当指尖触摸点位于数字键盘某个键的矩形框中时,根据位置和指尖运动参数计算该键被按下的概率并保存;[0053] S107:计算过程逐帧进行直到解锁过程结束,此时根据已保存的数字键序列及其概率输出最有可能的三组PIN序列。[0054] 如图2所示,本发明实施例提供的基于计算机视觉的手机PIN锁屏密码识别系统包括:[0055] 目标位置检测模块1,用于检测检测目标位置和判断解锁流程的开始与结束。使用YOLO系列目标检测算法用于识别指尖、数字键1、3、8共四个目标在视频每一帧中出现的位置;当同时检测到指尖与数字键时视为解锁流程的开始,当连续5帧未检测到数字键盘时视为解锁流程的结束。[0056] 指尖定位与追踪模块2,用于对指尖触摸点进行准确定位和追踪。使用边缘检测和椭圆拟合算法对YOLO模型输出的指尖位置矩形框进行二次定位,将椭圆的中心视为指尖触摸点;使用L?K光流算法作为辅助追踪手段,当YOLO输出的指尖矩形框准确度过低时通过光流算法在时间维度上判断指尖位置。[0057] 键盘布局计算模块3,用于计算数字键盘的整体布局以及存在遮挡情况时键盘布局的估算。利用手机数字键盘的相同布局特性,通过数字键1、3、8的位置去计算数字键0~9的所有位置;存在遮挡时、通过仿射映射原理,将前一帧计算的布局映射到当前帧。[0058] 按键动态识别模块4,用于计算手指运动参数,并根据运动参数和位置判断手指移动或按下的状态,最终筛选出用户输入的PIN序列。[0059] 二、应用实施例。为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。[0060] 监控安全:该方案可以辅助有权查看视频监控的安防人员,完成对视频的分析。[0061] 隐私保护:针对市面上的监控摄像头,使用本方案识别到用户解锁流程时可以针对性的对用户做出警示,或是对源视频目标位置完成打码等数据脱敏处理。三、实施例相关效果的证据。本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。[0062] 如图4所示,测试视频可以来自于监控摄像头或用于拍照功能的智能手机,视频中可能会存在用户解锁手机的片段。则此类视频被用于进行PIN锁屏密码识别,以自动分析出用户输入的PIN序列。[0063] 如图5所示,方案的仿真实现中,实验者使用食指进行手机解锁,输入序列为456789,在其解锁过程中输出相关模块运行状态,其中红色矩形框为检测或计算出的数字键位置范围,绿色圆点为根据指尖矩形框位置计算出的指尖触摸点。解锁流程中指尖的运动参数如速度、加速度会被计算,同时结合位置信息计算出按下的数字键。[0064] 应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD?ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。[0065] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
专利地区:陕西
专利申请日期:2022-03-14
专利公开日期:2024-11-29
专利公告号:CN114820720B