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

一种自动抓拍的方法、电子设备及存储介质与流程

2023-01-15 08:02:56 来源:中国专利 TAG:


1.本技术涉及终端技术领域,尤其涉及一种自动抓拍的方法、电子设备及存储介质。


背景技术:

2.随着电子设备的迭代更新,用户对于电子设备拍照性的要求也逐渐提高,例如,在某些场合中,存在抓拍个人或团体的运动画面的需求。
3.目前的运动抓拍方案,一般会采用人为操控的方式进行拍摄或者采用固定延时的方式进行抓拍,但这些实现方式操作比较复杂,抓拍过程比较繁琐,并且抓拍效果差,容易错失运动画面。


技术实现要素:

4.为了解决上述问题,本技术提供了一种自动抓拍的方法、电子设备及存储介质,操作简单,简化了抓拍过程,并且能够及时抓拍到运动画面。
5.第一方面,本技术提供了一种自动抓拍的方法,该方法应用于电子设备,该方法包括:响应于自动抓拍的请求,电子设备进入自动抓拍模式;然后计算电子设备获取的预览图像中的目标对象的运动幅度;判断预览图像中的目标对象的运动幅度是否满足预设条件;当目标对象的运动幅度满足预设条件时,控制电子设备完成对目标对象的自动抓拍。通过计算电子设备获取的预览图像中的目标对象的运动幅度,并判断预览图像中的目标对象的运动幅度是否满足预设条件,当目标对象的运动幅度满足预设条件时,也就是在目标对象处于运动状态时,进行目标对象的自动抓拍,实现了自动判定目标对象的运动,并可进行自动抓拍,从而使得运动抓拍过程实现方式更加简单、方便,并且能够及时抓拍到运动画面。
6.在一种可能的实现方式中,计算电子设备获取的预览图像中的目标对象的运动幅度,具体可以包括:依次对电子设备获取的每帧预览图像进行目标对象语义分割,以将每帧预览图像中的目标对象与背景进行分离;获取每帧预览图像对应的二值化矩阵,得到标签图序列;二值化矩阵的每个数值表示一个像素点,且表示目标对象包括的像素点的数值为第一数值,表示背景包括的像素点的数值为第二数值,每帧预览图像对应的二值化矩阵依次为标签图序列中的一个标签图;根据标签图序列中相邻的标签图的像素点的数值变化,计算电子设备获取的预览图像中的目标对象的运动幅度。如此可以根据标签图序列中相邻的标签图的像素点的数值变化,计算预览图像中的目标对象的运动幅度,以便进行目标对象的运动状态判断。
7.在一种可能的实现方式中,根据标签图序列中相邻的标签图的像素点的数值变化,计算电子设备获取的预览图像中的目标对象的运动幅度,具体可以采用以下方式:根据标签图序列中相邻的标签图中背景的像素点的变化,计算电子设备获取的预
览图像中的目标对象的运动幅度;背景的像素点的变化包括由第二数值变化为第一数值的像素点数量。如此,可以根据标签图序列中相邻的标签图中背景的像素点的变化,来进行目标对象的运动状态的判断。
8.在一种可能的实现方式中,判断预览图像中的目标对象的运动幅度是否满足预设条件,具体包括:获取标签图序列中相邻的标签图中目标对象的运动幅度值;判断是否存在连续的,且至少第一数量个运动幅度值均超过幅度阈值;若存在,则确定目标对象的运动幅度满足预设条件。当目标对象的运动幅度满足预设条件时认为目标对象处于运动状态。
9.在一种可能的实现方式中,判断预览图像中的目标对象的运动幅度是否满足预设条件,具体包括:获取标签图序列中相邻的标签图中目标对象的运动幅度值;判断连续获取到的第一预设数量个运动幅度值中,是否存在至少第二数量个运动幅度值超过幅度阈值;若存在,则确定目标对象的运动幅度满足预设条件,也就是确定目标对象处于运动状态。该实现方式提供了另一种判断目标对象是否处于运动状态的方法,只要连续获取到的第一预设数量个运动幅度值中,存在至少第二数量个运动幅度值超过幅度阈值就认为目标对象处于运动状态。
10.在一种可能的实现方式中,根据标签图序列中相邻的标签图的像素点的数值变化,计算电子设备获取的预览图像中的目标对象的运动幅度,具体包括:根据标签图序列中相邻的标签图中目标对象的像素点的变化,计算电子设备获取的预览图像中的目标对象的运动幅度;目标对象的像素点的变化包括由第一数值变化为第二数值的像素点数量,与由第二数值变换为第一数值的像素点数量之和。该方法可以根据目标对象的像素点的变化,来进行目标对象的运动状态的判断。
11.在一种可能的实现方式中,判断预览图像中的目标对象的运动幅度是否满足预设条件,具体包括:获取相邻的标签图中目标对象的像素点变化数量与单个标签图中总像素点数量的比例值;判断是否存在连续的,且至少第三数量个比例值均超过比例阈值;若存在,则确定目标对象的运动幅度满足预设条件,也就是确定目标对象处于运动状态。该实现方式提供了一种基于标签图中目标对象的像素点变化判断目标对象是否处于运动状态的方法,使得判断目标对象的运动状态的方式变得灵活多样。
12.在一种可能的实现方式中,判断预览图像中的目标对象的运动幅度是否满足预设条件,具体包括:获取相邻的标签图中目标对象的像素点变化数量与单个标签图中总像素点数量的比例值;判断连续获取到的第二预设数量个比例值中,是否存在至少第四数量个比例值超过比例阈值;若存在,则确定目标对象的运动幅度满足预设条件,也就是确定目标对象处于运动状态。该实现方式提供了另一种基于目标对象的像素点的变化判断目标对象是否处于运动状态的方式。
13.在一种可能的实现方式中,判断预览图像中的目标对象的运动幅度是否满足预设条件,具体包括:获取相邻的标签图中目标对象的像素点发生变化的总数量;判断是否存在连续
的,且至少第五数量个变化值均超过变化阈值;若存在,则确定目标对象的运动幅度满足预设条件,也就是确定目标对象处于运动状态。该实现方式提供了一种基于标签图中目标对象的像素点总数量的变化判断目标对象是否处于运动状态的方法,为判断目标对象是否处于运动状态提供了新的判断思路。
14.在一种可能的实现方式中,判断预览图像中的目标对象的运动幅度是否满足预设条件,具体包括:获取相邻的标签图中目标对象的像素点发生变化的总数量;判断连续获取到的第三预设数量个变化值中,是否存在至少第六数量个变化值超过变化阈值;若存在,则确定目标对象的运动幅度满足预设条件,即确定目标对象处于运动状态。
15.第二方面,本技术提供了一种电子设备,该电子设备包括:处理器、摄像头及存储器;响应于自动抓拍的请求,该电子设备进入自动抓拍模式;处理器用于计算摄像头获取的预览图像中的目标对象的运动幅度;处理器还用于判断预览图像中的目标对象的运动幅度是否满足预设条件;当目标对象的运动幅度满足预设条件时,摄像头用于完成对目标对象的自动抓拍;其中,在存储器中存储有一个或多个计算机程序,一个或多个计算机程序包括指令;当指令被处理器执行时,使得电子设备执行如上述第一方面中任一种可能的设计中所述的自动抓拍方法。
16.该电子设备通过计算获取的预览图像中的目标对象的运动幅度,并判断预览图像中的目标对象的运动幅度是否满足预设条件,当目标对象的运动幅度满足预设条件时,也就是在目标对象处于运动状态时,进行目标对象的自动抓拍,实现了自动判定目标对象的运动,并可进行自动抓拍,从而使得运动抓拍过程实现方式更加简单、方便,并且能够及时抓拍到运动画面,提升了电子设备的自动抓拍使用体验。
17.第三方面,本技术提供了一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,所述电子设备执行如上述第一方面中任一种可能的设计中所述的自动抓拍方法。
附图说明
18.图1为本技术实施例提供的一种电子设备的示意图;图2a为本技术实施例提供的电子设备的软件结构框图;图2b为本技术实施例提供的一种桌面界面的示意图;图2c为本技术实施例提供的一种相机界面的示意图;图3为本技术实施例提供的一种基于手机的运动人像抓拍方法时序图;图4a为本技术实施例提供的一种基于手机的运动人像抓拍方法的流程图;图4b为本技术实施例提供的一种输入训练模型的预览图像;图4c为本技术实施例提供的一种输出训练模型的分割图像;图5a为本技术实施例提供的一种相邻帧进行人像分割后的示意图;图5b为本技术实施例提供的一种相邻帧人像分割区域属性划分示意图;
图6a为本技术实施例提供的另一种基于手机的运动人像抓拍方法的流程图;图6b为本技术实施例提供的再一种基于手机的运动人像抓拍方法的流程图;图7为本技术实施例提供的一种基于手机的运动人像抓拍系统示意图。
具体实施方式
19.为了下述各实施例的描述清楚简洁,首先给出相关术语的简要介绍:抓拍是一种摄影技巧,抓拍可以理解为捕捉目标景物“刹那即逝”的影像。运动抓拍就是利用电子设备(例如智能手机)的高频拍照技术拍到运动时的瞬间。例如,在体操表演或运动赛场上,需要捕捉运动主体的出色镜头时会用到运动抓拍技术,但是在实际的运动抓拍过程中,一般会采用人工抓拍的方式,或者设置固定的延时进行抓拍,这种方式在进行抓拍的过程中操作繁琐,实现过程比较麻烦。但是对于人工抓拍的方式,受限于操作者的反应速度和注意力集中程度,容易错失运动画面;对于设定固定的延时的方式,由于难以精确估计出运动发生的时间,导致延时的设置不准确,同样容易错失运动画面。
20.有鉴于此,本技术实施例提供了一种自动抓拍的方法,该方法可以由电子设备执行。当用户控制电子设备进入运动抓拍模式后,不需要进行人工抓拍或者设置延时,首先计算所述电子设备获取的预览图像中的目标对象的运动幅度;并判断目标对象的运动幅度是否满足预设条件;当满足预设条件时,控制电子设备完成对目标对象的自动抓拍。通过计算电子设备获取的预览图像中的目标对象的运动幅度,并判断所述预览图像中的目标对象的运动幅度是否满足预设条件,当目标对象的运动幅度满足预设条件时,也就是在目标对象处于运动状态时,进行目标对象的自动抓拍,实现了自动判定目标对象的运动,并可进行自动抓拍,从而使得运动抓拍过程实现方式更加简单、方便,并且能够及时抓拍到运动画面。
21.在一些示例中,电子设备可以是相机、手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、手持计算机、上网本、个人数字助理(personal digital assistant,pda)、可穿戴电子设备、智能手表等设备,本技术对上述电子设备的具体形式不做特殊限制。为了使本领域技术人员更清楚地理解本技术的技术方案,下面首先说明应用该方案的电子设备的实现方式。
22.如图1所示,图1为本技术实施例提供的一种电子设备的结构示意图。
23.如图1所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
24.可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
25.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器
(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
26.电子设备可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
27.isp 用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
28.摄像头193用于捕获图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号加工处理得到yuv等格式的图像信号。在一些实施例中,电子设备可以包括1个或n个摄像头193,n为大于1的正整数。
29.下面说明电子设备的软件结构图。
30.电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的android系统为例,示例性说明电子设备100的软件结构。
31.如图2a所示,图2a为本发明实施例提供的电子设备100的软件结构框图。
32.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
33.应用程序层可以包括一系列应用程序包。
34.如图2a所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
35.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
36.如图2a所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器以及算法框架等。
37.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
38.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
39.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
40.电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
41.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
42.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
43.算法框架中包括用于实现本技术的自动抓拍方法的相关算法的框架,例如用于计算电子设备获取的预览图像中的目标对象的运动幅度的算法、用于判断预览图像中的目标对象的运动幅度是否满足预设条件的算法、用于当目标对象的运动幅度满足预设条件时,控制电子设备完成对目标对象的自动抓拍的算法等。
44.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
45.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
46.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
47.系统库可以包括多个功能模块。例如:表面1管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),二维图形引擎(例如:sgl)等。
48.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
49.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: mpeg4,h.264,mp3,aac,amr,jpg,png等。
50.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
51.二维图形引擎是二维绘图的绘图引擎。
52.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
53.下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
54.当触摸传感器180k接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。我们的方案主要改进的是应用程序框架层的算法框架,这个算法框架用于实现人像语义的分割、运动分析的判断。
55.人像语义的分割算法实现过程为将预览图片序列经过语义分割处理,得到语义标
签图序列,标签图中人像区域用“1”表示,背景区域用“0”表示,这种人像语义分割方法实现过程比较简单。然后进行人像运动分析,比较相邻的两幅标签图中的人像的运动幅度大小,当存在连续的至少第一数量个标签图中的人像的运动幅度大于运动阈值时,认为人像处于运动状态,相机开始进行人像抓拍。
56.如图2b所示,电子设备可以向用户呈现桌面界面的示意图,该桌面界面包括多个应用,用户可以点击应用的图标,电子设备基于用户对应用的图标的点击操作,启动该应用。基于此,用户可以点击相机应用的图标201,进而电子设备可以基于用户对相机应用的图标201的点击操作,启动相机应用。
57.如图2c所示,该图为本技术实施例提供的一种相机界面的示意图。电子设备可以提供多种拍照模式,例如前置hdr拍照模式、后置hdr拍照模式、运动抓拍模式等。
58.该相机界面包括拍摄控件210、模式选择控件220以及图像预览区230。其中,拍摄控件210用于触发拍照事件,模式选择控件220用于切换拍照模式,图像预览区230用于预览拍摄画面。
59.本技术实施例提供的运动自动抓拍的方法可应用于运动人像抓拍的应用场景中,还可应用于动物运动抓拍或交通工具运行抓拍等应用场景中,也即本技术的技术方案不限制抓拍的运动对象。
60.下面以本技术的方案应用于运动人像抓拍的应用场景为例,电子设备启动相机应用后,摄像头193开始采集包括有目标对象的预览图像序列,并存储在预备缓存(buffer)中,以便给用户进行预览或者供其他步骤使用。
61.当然,上述图2a所示仅仅为电子设备的设备形态为手机时的示例性说明。若电子设备是平板电脑,手持计算机,pda,可穿戴式设备(如:智能手表、智能手环)等其他设备形态时,电子设备的结构中可以包括比图2a中所示更少的结构,也可以包括比图2a中所示更多的结构,在此不作限制。
62.下面将结合附图,通过下述多个示例性实施例对本技术实施例进行举例说明。以下实施例中的方法均可以在具有上述硬件结构的电子设备中实现。
63.如图3所示,该图为本技术实施例提供的一种基于手机的运动人像抓拍方法时序图,该方法包括:s300、用户打开抓拍模式。
64.本实施例中用于进行人像抓拍的应用程序可以是手机系统自带的相机,也可以是其他的具有拍照功能的应用程序。
65.用户打开应用程序,选择运动抓拍模式选项,该应用程序进入运动抓拍模式。
66.s301、选择对应的相机镜头。
67.当用户打开应用程序,选择运动抓拍模式时,处理器响应于用户的请求,选择出与该模式对应的相机镜头,例如选择采用电子设备的后置摄像头进行抓拍。
68.s302、对应的相机输出预览图像。
69.当用户选择了运动抓拍模式后,相机获取到物体的预览图像,该预览图像也就是在相机应用程序此时使电子设备的屏幕中呈现的画面。
70.s303、将获取的预览图像发送给处理器。
71.相机将获取的预览图像发送给处理器,以供处理器对预览图像进行语义分割处
理。预览图像可以理解为预览图片序列,并存储在预备缓存(buffer)中。在本实施例中目标对象可以是人像。在一些示例中,预览图片序列可以如下表1所示:表1:预览图片序列采集的预览图片序列可以表示为f0,f1,f2,
…fn

72.s304、对预览图像进行人像语义分割处理,得到标签图序列。
73.本实施例中处理器可以将多张预览图像经过人像语义分割网络进行处理,将人像和背景进行分离,并将人像区域用第一数值“1”表示,将背景区域用第二数值“0”表示,得到标签图序列。
74.对相机获取的预览图像进行目标对象语义分割处理,目的在于将图像中的目标对象与背景进行区分,并将区分后的目标对象和背景以二值化矩阵进行表示。
75.进行目标对象语义分割处理时,会利用预先建立的目标对象分割模型,该目标对象分割模型的训练数据由目标对象样本集构成,目标对象样本中的目标对象区域与背景区域需要标注为不同的类别,以通过该训练数据完成对上述目标对象分割模型的训练。
76.在获得已训练的目标对象分割模型之后,利用目标对象分割模型对相机获取的预览图像进行分割处理,可得到标签图序列。二值化矩阵即为标签图,下面具体说明。
77.二值化(image binarization)就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。二值图像每个像素只有两种取值:要么纯黑,要么纯白。实际应用中,一般采用阈值法进行二值化。
78.在计算机视觉里,一般用矩阵来表示图像,在这个矩阵中,每一个像素就是矩阵中的一个元素,而在三通道的彩色图像中,每个元素是由三个数字组成的元组。
79.而本技术中的二值化矩阵的每个元素,代表了图像的一个像素点是否为目标对象区域中的像素点,若是,则用第一数值表示,若否,则该像素点位于背景区域,用第二数值表示。
80.s305、对标签图序列进行人像运动分析。
81.处理器根据所述标签图序列中相邻的标签图的像素点的数值变化,计算所述电子设备获取的预览图像中的目标对象的运动幅度,对标签图序列进行人像运动分析,人像运动分析即是进行人像运动状态判断。在一种可能的实现方式中,具体可以根据所述标签图序列中相邻的标签图中所述背景的像素点的变化,计算所述电子设备获取的预览图像中的目标对象的运动幅度。背景的像素点的变化包括由所述第二数值变化为所述第一数值的像素点数量,当标签图中的人像的运动幅度大小满足预设条件时,确定人像处于运动状态。其中,背景的像素点的变化越大,表征运动幅度越大。
82.在另一种可能的实现方式中,还可以根据所述标签图序列中相邻的标签图中所述目标对象的像素点的变化,计算所述电子设备获取的预览图像中的目标对象的运动幅度。目标对象的像素点的变化包括由第一数值变化为第二数值的像素点数量,与由第二数值变换为所述第一数值的像素点数量之和,当标签图中的人像的运动幅度大小满足预设条件时,认为人像处于运动状态。其中,像素点数量之和越大,表征运动幅度越大。
83.在又一些可能的实现方式中,还可以根据所述标签图序列中相邻的所述标签图中目标对象的像素点总数量的变化,计算电子设备获取的预览图像中的目标对象的运动幅
度。当标签图中的人像的运动幅度大小满足预设条件时,认为人像处于运动状态。其中,目标对象的像素点总数量的变化越大,表征运动幅度越大。
84.s306、当人像处于运动状态时,处理器向相机发送抓拍指令。
85.s307、相机进行抓拍。
86.相机响应于处理器的抓拍指令,进行人像抓拍。
87.该实施例中,用户打开抓拍模式后,处理器自动采集目标对象,并将自动采集的目标对象的预览图像经过语义分割网络进行处理,得到目标对象与背景分割后的标签图序列,即分割语义标签图序列;然后对计算得到的分割语义标签图序列中人像的运动状态进行分析。如此,通过目标对象的运动状态的判断,当识别到目标对象运动时自动抓拍,运动抓拍过程实现起来更加简单、高效。
88.下面具体说明处理器进行语义分割和运动分析的实现过程,也即具体说明图3中s304和s305的实现方式。
89.如图4a所示,该图为本技术实施例提供的一种基于手机的运动人像抓拍方法流程图,该方法包括:s401、将采集的预览图像进行处理,得到分割语义标签图序列。
90.首先将采集的预览图片进行人像分割。这里使用到了人像分割技术,人像分割技术可以精准识别图像中的人体轮廓边界,将人体轮廓与图像背景进行分离,实现像素级分割。
91.在一些实施例中,预先建立人像分割模型,该人像分割模型的训练数据由人像样本集构成,人像样本中的人体区域与背景区域需要标注为不同的类别,以通过该训练数据完成对上述人像分割模型的训练。在获得已训练的人像分割模型之后,利用上述人像分割模型对上述处理后的图像进行分割处理,可得到已分割图像。训练好的人像分割模型预先被存储在电子设备上,待使用时进行调用。
92.例如,参见图4b、4c,图4b为输入人像分割模型的图像,也即为一帧预览图像;图4c为人像分割模型输出的图像,图4c中黑色部分为背景区域,白色部分为人像区域。
93.在对图像进行分割处理之后,还需要对经过分割处理的图像通过人像语义分割网络进行处理,得到人像语义标签图序列。
94.经过图像分割之后将人像与背景分离,即人像部分为白色区域,背景部分为黑色区域,然后将分离后的图像转化为二值化矩阵,该二值化矩阵的每个元素表示一个像素点,且表示目标对象包括的像素点的元素为第一数值,表示所述背景包括的像素点的元素为第二数值,每帧所述预览图像对应的二值化矩阵依次为所述标签图序列中的一个标签图。
95.仅作为示例,第一数值可以为“1”,第二数值可以为“0”,“0”用于表示背景区域,“1”用于表示人像区域。也就是在人像部分和背景部分添加标签以进行区分。针对此过程举例说明一下,例如,分割得到的图像为像素规格是256*256的图像,经过人像语义分割网络处理后得到的会是一个256*256的二值化矩阵,人像部分取值为1,背景部分取值为0。
96.上述实施例中人像语义分割网络可以采用u-net网络,u-net 网络相比于其他人像语义分割网络获取人像语义标签图的速度更快。
97.上述将采集的预览图片序列经过人像分割处理和经过人像语义分割网络处理后得到人像语义分割标签图序列l0,l1,l2,

ln,即得到的是二值化矩阵的序列。
98.s402、获取标签图序列中相邻的标签图中目标对象的运动幅度值。
99.参见图5a,图5a为本技术实施例提供的一种相邻帧进行人像分割后的示意图。
100.理论上分析可得,当人物处于运动状态时,在s402中对人像进行人像分割后,相邻两幅图片的分割后人像位置示意图如图5a所示,白色区域代表人像,黑色区域代表背景,左边的白色区域代表前一张图片人像所在图片中的位置,右面的白色区域代表后一张图片人像所在图片中的位置,通过相邻两幅图片的人像位置比较可以得知人像的运动幅度。
101.具体地,可以参见图5b,图5b为本技术实施例提供的相邻帧人像分割区域属性划分示意图,图5b中的重叠区域表示两帧图像中人像的重叠区域,运动区域表示人像在相邻帧间的运动幅度。
102.基于以上的分析,本技术实施例通过计算得到的分割语义标签图序列中的相邻两幅图片的运动幅度值,然后根据计算得出的运动幅度值做进一步的判断。计算得到的分割语义标签图序列中的相邻两幅图片的运动幅度值的具体实现方式可以采用以下途径:对于人像语义分割标签图序列l0,l1,l2,

ln,首先计算n*l
k-1
lk并得到混淆矩阵r,混淆矩阵具体参见表2,其中n代表类别数,本技术实施例中的分割语义标签图序列中只有人像和背景两种类别,故n的值为2。k为整数且k=1,2,

,n。
103.表2:混淆矩阵上述表2中第一行代表前一帧图像中人像区域与背景区域经过人像语义分割网络后得到的矩阵值,人像区域用数字1代替,背景区域用数字0代替;该图中第一列为与前一帧相邻的后一帧图像中人像区域与背景区域经过人像语义分割网络后得到的矩阵值,同样的,人像区域用数字1代替,背景区域用数字0代替。
104.据此,可以理解得到的混淆矩阵r中各部分的含义。
105.其中,混淆矩阵r中的11部分为l
k-1
中代表人像的区域与lk中代表人像的部分重叠的部分;混淆矩阵r中的10部分为l
k-1
中代表人像的区域与lk中代表背景的部分重叠的部分;混淆矩阵r中的01部分为l
k-1
中代表背景的区域与lk中代表人像的部分重叠的部分;混淆矩阵r中的00部分为l
k-1
中代表背景的区域与lk中代表背景的部分重叠的部分。
106.混淆矩阵r算法实现方式可以结合n*l
k-1
lk的计算结果,根据python中的基本函数np.bincount得到第一处理结果,再将第一处理结果利用reshape函数进行处理可以得到混淆矩阵r。
107.得到混淆矩阵r后,利用公式r=r
01
/(r
11
r
10
)计算相邻两帧间的人像运动幅度大小。该人像运动幅度大小反映的是标签图序列中相邻的标签图中所述背景的像素点的变化占标签图中所有像素点的比例,其中,背景的像素点的变化包括由所述第二数值变化为所述第一数值的像素点数量。可以理解的是,r
01
、r
11
、r
10
的数值可以根据每个位置像素灰度值发生变化的数量进行计算得到。以图5b为例,可以理解为相邻两帧图像的人像运动幅度大小相当于图5b中白色区域的面积、重叠区域的面积与运动区域的面积之和的比值。
108.s403、当连续获取到至少第一数量个运动幅度值均超过幅度阈值时,确定目标对
象处于运动状态。
109.本技术实施例中判断标签图序列中的相邻的两幅标签图中人像的运动幅度值是否超过幅度阈值,仅作为示例,第一数量可以设置为10,幅度阈值可以设置为0.1;获取到第一个运动幅度值超过幅度阈值时,可以采用计数器计数的方式,控制计数器加一,当获取的下一个运动幅度值也超过幅度阈值时,计数器再加一,当获取的连续的10个运动幅度值均超过幅度阈值时,计数器累积计数到10,确定目标对象处于运动状态,电子设备进行抓拍并存储抓拍的影像。当计数器未计数到10,例如,当计数器计数到6,下一个获取的运动幅度值未超过幅度阈值,则计数器清零;直到获取到运动幅度值超过幅度阈值时,重新进行累积计数。
110.在另一种可能的实现方式中,进行人像运动分析时,可以首先设置判断的预览图片第一预设数量,例如可以设置判断的预览图片的第一预设数量为100张,当相邻的两幅图片的人像运动幅度超过幅度阈值时,可以令计数器加一;当100张图片中有超过第二数量个图片中人像运动幅度超过幅度阈值就认为人像处于运动状态,例如,当计数器累积计数超过90时就认为人像处于运动状态。
111.进一步地,当判定目标对象处于运动状态时,开始进入抓拍模式。本技术可选的实施例,判定目标对象是否处于运动状态可以是实时判定的,在每一次抓拍之前都要判断目标对象是否处于运动状态,如果处于运动状态,则进行抓拍操作,如果不处于运动状态则停止抓拍。例如,在抓拍的过程中,处于运动状态的目标对象突然处于静止状态了,则停止抓拍,直到再次检测到目标对象处于运动状态时,再次进行抓拍。
112.基于上述内容描述,本技术实施例提供了一种运动自动抓拍的方法,该方法通过对分割语义标签图序列计算相邻两幅图片的人像运动幅度值,并判断运动幅度值是否超过幅度阈值;并判断是否存在连续的超过一定数量的标签图中人像的运动幅度超过幅度阈值,如果存在,则判定图片中的人像处于运动状态。如此,通过判断相邻图片的人像运动幅度是否超过阈值,并判断是否有超过数量阈值的连续的图片的人像运动幅度超过幅度阈值,来进行人像运动状态的判定,实现了自动判定目标对象的运动,并可进行自动抓拍,从而使得运动抓拍过程实现方式更加简单、方便。
113.下面说明处理器对预览图像进行语义分割处理和运动分析的另一种实现方式,也即具体说明图3中s304和s305的另一种实现方式。本实施例与图4a所示的方法流程主要的区别是对预览图像进行运动分析的方式不同。
114.具体本实施例是根据所述标签图序列中相邻的所述标签图中所述目标对象的像素点变化数量,对所述标签图序列进行运动分析,所述像素点变化数量为相邻的所述标签图中,由所述第一数值变化为所述第二数值的元素数量,与由所述第二数值变换为所述第一数值的元素数量之和。本实施例中,仅作为示例,第一数值设为“1”,第二数值设为“0”。
115.如图6a所示,该图为本技术实施例提供的另一种基于手机的运动人像抓拍方法流程图,该方法包括:s401、将采集的预览图像进行处理,得到分割语义标签图序列。
116.首先将采集的预览图片进行人像分割。这里使用到了人像分割技术,人像分割技术可以精准识别图像中的人体轮廓边界,将人体轮廓与图像背景进行分离,实现像素级分割。
117.该步骤的具体实现过程参见图4a中的s401,在此不再赘述。
118.s402、获取相邻的所述标签图中所述目标对象的像素点变化数量与单个所述标签图中总像素点数量的比例值。
119.在本技术实施例中得到的分割语义标签图序列中的图片为由“0”、“1”构成的矩阵,用“0”来代表背景区域,“1”用来代表人像区域,当人像的状态发生变化时,图像的像素也会发生变化,对应的矩阵也会发生变化。例如,当上一帧图像中的人像区域在下一帧图像中变化为背景区域,对应的是矩阵中数值的变化,即上一帧的矩阵中数值“1”变为了数值“0”。此种方法判断人像运动状态时以像素为参考对象,以像素点的变化衡量人像的运动状态,例如,一张图片的总像素点数量为1000,当相邻的两幅图片中有超过800个像素点发生变化,计算像素点发生变化的数量与单个所述标签图中总像素点数量的比例值。
120.s403、当连续获取到至少第三数量个所述比例值均超过比例阈值时,确定所述目标对象处于运动状态。
121.本技术实施例中获取相邻的所述标签图中所述目标对象的像素点变化数量与单个所述标签图中总像素点数量的比例值,仅作为示例,该比例阈值可以设置为80%。判断是否存在连续的至少第三数量个所述比例值均超过比例阈值,仅作为示例,第三数量可以设置为10,第三数量可以等于第一数量,也可以不等于第一数量;判断是否存在超过10张连续的图片中的人像的像素点发生变化的数量的比例超过比例阈值。如果存在连续的至少第三数量个所述比例值均超过比例阈值,则判定人像处于运动状态。执行图3中的s306及后续步骤。如果不存在,表示此时人像未发生运动,返回s401。
122.基于上述内容描述,本技术实施例提供了另一种运动自动抓拍的方法,该方法通过对分割语义标签图序列计算相邻两幅图片的人像的像素点发生变化的数量的比例,然后判断标签图中人像的像素点发生变化的数量的比例是否超过预设阈值;并判断是否存在连续的超过一定数量的标签图中人像的像素发生变化的数量的比例超过比例阈值,如果存在,则判定图片中的人像处于运动状态。如此,通过判断是否存在超过一定数量的标签图中人像的像素发生变化的数量的比例超过比例阈值,来进行人像运动状态的判定,实现了自动判定目标对象的运动,并可进行自动抓拍,从而使得运动抓拍过程实现方式更加简单、方便。
123.在另一种可能的实现方式中,进行人像运动分析时,当连续获取到的第二预设数量个所述比例值中,存在至少第四数量个所述比例值超过比例阈值时,确定所述目标对象处于运动状态。
124.本技术实施例中获取相邻的所述标签图中所述目标对象的像素点变化数量与单个所述标签图中总像素点数量的比例值,仅作为示例,该比例阈值可以设置为80%。判断是否存在至少第四数量个所述比例值超过比例阈值,仅作为示例,第二预设数量可以设为100,第四数量可以设置为70,第二预设数量可以等于第一预设数量,也可以不等于第一预设数量;第四数量可以等于第二数量,也可以不等于第二数量;判断是否存在超过70张图片中的人像的像素点发生变化的数量的比例超过比例阈值。如果存在至少第四数量个所述比例值超过比例阈值时,则判定人像处于运动状态。如果不存在,表示此时人像未发生运动。
125.下面说明处理器对预览图像进行语义分割处理和运动分析的另一种实现方式,也即具体说明图3中s304和s305的另一种实现方式。本实施例与图4a、图6a所示的方法流程主
要的区别是对预览图像进行运动分析的方式不同。
126.本实施例是根据所述标签图序列中相邻的所述标签图中所述目标对象的像素点总数量,对所述标签图序列进行运动分析。
127.如图6b所示,该图为本技术实施例提供的再一种基于手机的运动人像抓拍方法流程图,该方法包括:s401、将采集的预览图像进行处理,得到分割语义标签图序列。
128.首先将采集的预览图片进行人像分割。这里使用到了人像分割技术,人像分割技术可以精准识别图像中的人体轮廓边界,将人体轮廓与图像背景进行分离,实现像素级分割。
129.该步骤的具体实现过程参见图4a中的s401,在此不再赘述。
130.s402、获取相邻的所述标签图中所述目标对象的像素点发生变化的总数量。
131.s403、当连续获取到至少第五数量个所述变化值均超过变化阈值时,确定所述目标对象处于运动状态。
132.本技术实施例中仅作为示例,第五数量可以设为10,变化阈值可以设为3000;同样采用计数器计数的方式,当连续获取到10张标签图中的像素点的总数量的变化值超过3000时,认为人像处于运动状态。当计数器未计数到10的过程中,若获取的下一张标签图中的像素点的总数量的变化值未超过3000,计数器清零,直到获取到下一张标签图中的像素点的总数量的变化值超过3000时,重新计数。
133.本技术实施例中获取相邻的所述标签图中像素点的总数量的变化值,然后判断标签图中像素点的总数量的变化值是否超过预设阈值;并判断是否存在连续的超过一定数量的标签图中像素点的总数量的变化值超过预设阈值;如果存在,则判定图片中的人像处于运动状态。如果不存在,表示此时人像未发生运动。如此,通过判断是否存在连续的超过一定数量的标签图中像素点的总数量的变化值超过预设阈值,来进行人像运动状态的判定,实现了自动判定目标对象的运动,并可进行自动抓拍,从而使得运动抓拍过程实现方式更加简单、方便。
134.在另一种可能的实现方式中,进行人像运动分析时,当连续获取到的第三预设数量个所述变化值中,存在至少第六数量个所述变化值超过变化阈值时,确定所述目标对象处于运动状态。本技术实施例中仅作为示例,第三预设数量可以设为100,第六数量可以设为80,当100张标签图中有至少80张标签图中像素点的总数量的变化值超过变化阈值,就认为人像处于运动状态。否则,认为人像处于非运动状态。
135.在另一种可能的实现方式中,实际应用中,也可以根据背景中发生变化的像素点数量,或者背景和目标对象共同发生变化的像素点数量之和进行判断,具体的判断方法也可以采用上述两种情况,即第一种判断是否存在连续获取到至少第五数量个所述变化值均超过变化阈值,进而判断人像的运动状态。第二种为判断连续获取到的第三预设数量个所述变化值中,是否存在至少第六数量个所述变化值超过变化阈值,进而判断人像的运动状态。
136.在一些可能的实现方式中,本技术提供的运动抓拍方法,还可以应用于动物运动抓拍的场景中,具体的步骤流程如上述应用于人像运动抓拍的场景,区别点在于在进行图像分割模型训练时,此时用到的训练数据由动物样本集构成,同样地,需要对动物样本中的
动物区域与背景区域标注为不同的类别,通过此动物样本数据完成对动物分割模型的训练,然后在获得了已训练的动物分割模型后,利用获取的动物分割模型对图像进行分割,得到分割图像。该分割图像同样可以设置为动物区域为白色区域,背景区域为黑色区域的图像。后续对得到的动物分割图像进行与人像分割图像同样的处理,处理流程与上述处理人像分割图像的实施例的方法流程类似,在此不再赘述。
137.进一步地,在一些可能的实现方式中,本技术提供的运动抓拍方法,还可以应用于交通工具运动抓拍的场景中,具体的步骤流程如上述应用于人像运动抓拍的场景,区别点在于在进行图像分割模型训练时,此时用到的训练数据由交通工具样本集构成,同样地,需要对交通工具样本中的交通工具区域与背景区域标注为不同的类别,通过此交通工具样本数据完成对交通工具分割模型的训练,然后在获得了已训练的交通工具分割模型后,利用获取的交通工具分割模型对图像进行分割,得到分割图像。该分割图像同样可以设置为交通工具区域为白色区域,背景区域为黑色区域的图像。
138.后续对得到的交通工具分割图像进行与人像分割图像同样的处理,处理流程与上述处理人像分割图像的实施例的方法流程类似,在此不再赘述。
139.可以理解的是,本技术提供的方法,应用场景不仅限于人像运动场景、动物运动场景、交通工具运行场景,还可以应用于其他场景,具体可以结合应用场景,根据影像的主体特征进行模型训练,以实现影像主体与背景的分离,然后同样可以采用上述实施例中提及的方法判断影像主体的运动状态,当判定为运动状态时进行运动抓拍,如此可以简化抓拍流程,使得抓拍实现方式更加方便快捷。
140.本技术实施例提供的一种基于手机的运动人像抓拍方法流程,该方法包括:响应于自动抓拍的请求,所述电子设备进入自动抓拍模式。
141.当用户想要对目标对象进行运动抓拍时,首先需要控制电子设备进入自动抓拍模式。例如,电子设备为手机,用户首先需要打开相机应用,然后选择自动抓拍模式,相机应用才会进行后续的目标对象的运动状态判断。
142.计算所述电子设备获取的预览图像中的目标对象的运动幅度。
143.相机进入自动抓拍模式后,相机开始获取预览图像,预览图像也就是在相机中呈现的画面。然后根据相邻的预览图像中的目标对象的相对变化情况,计算目标对象的运动幅度。
144.判断所述预览图像中的目标对象的运动幅度是否满足预设条件。
145.计算得到目标对象的运动幅度后,判断运动幅度是否满足预设条件,预设条件用于限定目标对象是否处于运动状态,例如预设条件可以为运动幅度是否满足预设阈值,满足预设阈值的预览图像的数量是否达到一定数量等。
146.当所述目标对象的运动幅度满足预设条件时,控制所述电子设备完成对所述目标对象的自动抓拍。
147.当目标对象的运动幅度满足预设条件时,也就是目标对象处于运动状态时,电子设备会自动进行目标对象的自动抓拍。
148.本技术实施例通过计算电子设备获取的预览图像中的目标对象的运动幅度,并判断所述预览图像中的目标对象的运动幅度是否满足预设条件,当目标对象的运动幅度满足预设条件时,也就是在目标对象处于运动状态时,进行目标对象的自动抓拍,实现了自动判
定目标对象的运动,并可进行自动抓拍,从而使得运动抓拍过程实现方式更加简单、方便,并且能够及时抓拍到运动画面。
149.如图7所示,该图为本技术实施例提供的一种基于手机的运动人像抓拍系统示意图,该系统包括摄像头模块701,人像语义分割模块702,运动分析模块703,抓拍模块704。
150.其中,摄像头模块701用于采集预览图像并将其发送至人像语义分割模块702。具体操作过程为摄像头模块进入自动抓拍模式后,采集镜头前的预览图像,并将采集的预览图像发送至人像语义分割模块702。
151.然后人像语义分割模块702用于图像的语义分割处理。具体操作过程为:接收预览图像后,将预览图像中的图像序列进行人像分割处理,将人像与背景分离,并将人像区域用数字“1”表示,背景区域用数字“0”表示,图像经过人像语义分割模块处理后得到人像语义分割标签图序列;然后将人像语义分割标签图序列发送至运动分析模块703。
152.运动分析模块703用于根据所述标签图序列中相邻的标签图中所述目标对象的相对变化,对所述标签图序列进行运动分析,并将运动分析结果发送至抓拍模块704。
153.抓拍模块704根据运动分析模块703输出的人像处于运动状态的判定结果进行抓拍动作,并进行存储等操作。
154.本技术实施例提供的一种基于手机的运动人像抓拍系统,用于进行运动人像的自动抓拍,通过并将自动采集的目标对象的预览图像经过语义分割网络进行处理,得到目标对象与背景分割后的标签图序列,即分割语义标签图序列;然后对计算得到的分割语义标签图序列中人像的运动状态进行分析。如此,通过目标对象的运动状态的判断,当识别到目标对象运动时自动抓拍,运动抓拍过程实现起来更加简单、高效。
155.本技术实施例提供一种电子设备,包括处理器、摄像头及存储器,响应于自动抓拍的请求,该电子设备进入自动抓拍模式;处理器计算摄像头获取的预览图像中的目标对象的运动幅度,并判断预览图像中的目标对象的运动幅度是否满足预设条件;当目标对象的运动幅度满足预设条件时,摄像头完成对目标对象的自动抓拍;其中,在存储器中存储有一个或多个计算机程序,一个或多个计算机程序包括指令;当指令被处理器执行时,使得电子设备执行如上述实施例中任一种可能的设计中所述的自动抓拍方法。
156.本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中包括指令,当上述指令在电子设备上运行时,使得该电子设备执行图3、图4a、图6a、图6b中的相关方法步骤,以实现上述实施例中的方法。
157.本实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如图3、图4a、图6a、图6b中的相关方法步骤,以实现上述实施例中的方法。
158.本技术是参照根据本技术实施例的方法、电子设备和程序产品的流程图和/或方框图来描述的。应理解可由程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些程序指令到可编程数据处理设备的处理器以产生一个机器,使得通过可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
159.可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术
来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。存储介质的例子包括,但不限于相变内存 (phase change random access memory,pram)、静态随机存取存储器 (static random-access memory,sram)、动态随机存取存储器 (dynamic random access memory,dram)、其他类型的随机存取存储器 (random access memory,ram)、只读存储器 (read-only memory,rom)、电可擦除可编程只读存储器 (electrically erasable programmable read-only memory,eeprom)等。
160.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献