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

基于TensorFlowLite的移动客户端智能跟随方法及装置与流程

2021-10-23 02:17:00 来源:中国专利 TAG:跟随 客户端 装置 智能 方法

基于tensorflowlite的移动客户端智能跟随方法及装置
技术领域
1.本发明属于物体识别跟随领域,尤其涉及一种基于tensorflowlite的移动客户端智能跟随方法及装置。


背景技术:

2.当今社会,直播类自媒体已经迅速蔓延至人民生活的方方面面,成为一种新的社交方式,又是一种新的经济形态;直播门槛低,人人能参与,直观性强,互动性强;直播的真实性和丰富性,区别于图文时代,所见即所得,真实再现直播场景,直播的多样性使得平台更加垂直丰富,直接增加了与消费者互动性,有效进行沟通交流。
3.直播现场的硬件设施主要包括带有直播app软件的手机和用于架设手机的稳定支架,现有技术存在的问题是:该稳定支架只能用于架设手机而不能控制手机旋转,当手机放在稳定支架上时,由于手机位置是固定的,使得手机摄像头能够拍摄的范围是有限的,往往人们只能拍摄固定范围的图像,如放置在桌上,拍摄手机正前方的画面是可以的,但如果拍摄对象移动到相机可拍摄的范围外,则无法记录到拍摄对象。也就是说,如果只是在手机上单纯开设一个抖音app并放到支架上,那就只能拍摄到一个固定的角度。


技术实现要素:

4.本发明为解决现有技术存在的问题,提出一种基于tensorflowlite的移动客户端智能跟随方法及装置,目的在于解决现有技术的直播类软件受限于手机放置的位置、只能拍摄到一个固定的角度的问题。
5.本发明为解决其技术问题采用以下技术方案
6.一种基于tensorflowlite的移动客户端智能跟随方法,包括以下步骤:
7.步骤一、打开手机app软件建立设备之间的ble连接;
8.步骤二、用户从app上选定当前屏幕上待拍摄追踪的目标类型;
9.步骤三、app转入后台,并抓取前台屏幕上其他直播类app软件正在拍摄的内容;
10.步骤四、图像预处理;
11.步骤五、调用tensorflowlite算法识别图像;
12.步骤六、识别结果坐标转换;
13.步骤七、控制设备旋转;
14.其特征在于:所述app软件从后台抓取屏幕的内容,并控制设备转动,使被跟踪目标类型一直处于拍摄的中心。
15.所述步骤一的具体过程如下:
16.1)在手机上安装智能跟拍app软件;
17.2)将手机放在可带动手机转动的支撑设备上;
18.2)app启动后,主动开启ble搜索,扫描附近的设备,当发现与此app配套的支撑装置时,主动发起连接,与支撑装置建立ble连接,用于后续发送旋转控制指令。
19.所述步骤二的具体过程如下:
20.1)app软件在开始识别目标前,由用户从手机屏幕上指定将要识别的目标类别,目标类别可以是人脸、人形、猫、狗动物等;
21.2)所述可识别的目标分类包括但不限于以上几种分类,tensorflowlite通过机器学习可以识别各种物体,因此可识别的目标分类可以根据需求的不同进行替换。
22.所述步骤三的具体过程如下:
23.1)用户选择目标类别后,app软件从前台转入后台运行;
24.2)后台app软件启动程序准备抓取当前屏幕的内容;
25.3)前台开启其他直播类app,后台app获取其他直播类app正在拍摄的内容,该正在拍摄的内容包括用户选择的目标类别。
26.所述步骤四的具体过程如下:
27.1)对步骤三获取到的图像数据进一步处理,通过mediacodec类创建一个解码器对象;
28.2)将图像数据交由解码器对象解码,即可获得yuv颜色格式的图像数据。
29.所述步骤五的具体过程如下:
30.1)将解码后的图像数据交由tensorflowlite;
31.2)根据用户所选择的目标分类,使用相应的模型进行识别;
32.3)tensorflowlite在识别出结果后,通过方法回调将识别结果告知app。
33.所述步骤六的具体过程如下:
34.1)根据手机屏幕的大小与图像的大小计算缩放比例,按比例放大识别结果的坐标系;
35.2)坐标系转换公式为:
36.新识别结果坐标x=(手机屏幕宽度
÷
480)x识别结果坐标x;
37.新识别结果坐标y=(手机屏幕高度
÷
640)x识别结果坐标y。
38.所述步骤七的具体过程如下:
39.1)计算手机屏幕中心线;
40.2)使用步骤六中转换过的坐标计算出目标矩形在坐标系中的中心线;
41.3)若目标矩形的中心线与手机屏幕中心线的距离大于手机屏幕宽度的十分之一时,则通过ble向设备发送开始旋转的指令,当检测到目标矩形的中心线与手机屏幕中心线的距离小于手机屏幕宽度的十分之一时,则通过ble向设备发送停止开始旋转指令。
42.一种智能跟踪装置,其特征在于,该装置包括用于架设移动终端且带动移动终端旋转的支撑装置、以及支撑装置上带有跟随拍摄功能的app软件的移动终端,所述的支撑装置和带有跟随拍摄功能的app软件的移动终端通过蓝牙通讯,所述带有跟随拍摄功能的app软件为基于tensorflowlite算法的跟拍软件;所述支撑装置包括底座、底座上方的转动支架;所述转动支架包括支架臂、手机夹、角度转轴,支架壁上方设有手机夹、支架壁下方设有角度转轴,转动支架通过角度转轴与底座相连接;所述底座上设有带动角度转轴转动电机驱动装置,该电机驱动装置接收跟随拍摄app软件指令,从而带动角度转轴转动。
43.所述带有跟随拍摄功能的app软件包括初始化模块、用户标定目标类型模块、后台抓取屏幕内容模块、图像预处理模块、使用tensorflowlite算法识别图像模块、识别结果坐
标转换模块、目标位置偏离屏幕中心计算模块、控制设备旋转模块;所述初始化模块用于通过ble技术将移动终端与支撑装置建立连接,并按照约定的协议发送旋转指令对支撑装置进行控制;所述用户标定目标类型模块用于在手机屏幕的列表上选择目标类型;所述后台抓取屏幕内容模块利用android系统提供的功能从后台提取前台屏幕上的图像数据;所述图像预处理模块用于对屏幕抓取的图像数据交由解码器对象解码,从而获得yuv颜色格式的图像数据、并将解码后的图像数据交由tensorflowlite;所述使用tensorflowlite算法识别图像模块用于对用户所选择的目标分类,使用相应的模型进行识别;所述的识别结果坐标转换模块用于将图像坐标系与手机屏幕坐标系取得一致,以实现按比例放大识别结果;所述目标位置偏离屏幕中心计算模块用于计算目标中心点到屏幕中心点的偏离位置;所述控制设备旋转模块用于根据偏离位置控制支撑装置转动角度。
44.本发明的优点效果
45.1、本发明将初始化模块、用户标定目标类型模块、后台抓取屏幕内容模块、图像预处理模块、使用tensorflowlite识别图像模块、识别结果坐标转换模块、目标位置偏离中心计算模块、控制设备扭转模块进行有机组合,组合以后各个模块相互支持、相互依赖,解决了现有技术的直播软件受限于手机可以拍摄的范围或手机放置的位置、只能拍摄到一个固定的角度的问题,组合以后的效果要比组合以前的效果优越得多,具有突出的实质性特点和显著进步。
46.2、本发明克服了传统的从摄像头获取图像数据的偏见,采用本领域技术人员不容易想到的从后台抓取屏幕内容的方法:利用android系统提供的一个准许app拥有截取屏幕或者是记录系统音频的能力类mediaprojection,调用mediaprojection类对象的createvirtualdisplay方法,将surface对象做为参数传入,通过surface对象获取到屏幕图像内容并进行编码。本发明采用后台抓取屏幕内容代替前台抓取屏幕内容、可旋转角度的支撑装置代替固定角度的支撑装置,取得了预料不到的效果:帮助第三方直播类软件扩大了的拍摄范围,只要将载有直播app和本发明app的手机放在本发明的支撑装置上,并完成双方的蓝牙通讯,就可以控制该手机向左偏转、向右偏转、向上偏转、向下偏转,从而扩大第三方直播类软件的拍摄范围。
附图说明
47.图1为本发明移动客户端和支撑设备蓝牙通讯示意图;
48.图2为本发明用于移动客户端的跟拍支撑设备示意图;
49.图3为本发明跟随拍摄app软件功能模块示意图;
50.图4为本发明基于tensorflowlite的移动客户端跟随拍摄方法流程图;
51.图中,1:支撑装置;2:带有跟随拍摄app软件的移动终端;
[0052]1‑
1:底座;1

2:转动支架;1
‑2‑
1:支架壁;1
‑2‑
2:手机夹;1
‑2‑
3:角度转轴;1
‑2‑
4:锁钮;1

3:开机按键;1
‑3‑
1:蓝牙指示灯;1
‑3‑
2:拍摄指示灯;
具体实施方式
[0053]
本发明设计原理
[0054]
1、本发明的两个关键点:第一,app后台抓取屏幕内容;第二、控制手机旋转。这两
个关键点是本发明区别于现有技术的特定技术特征。实现app后台抓取屏幕内容的意义在于:极大地扩大了应用范围,由于app在后台运行,并不影响在前台开启的任何第三方直播类软件,可以帮助前台任何第三方直播类软件提高视频拍摄效果,第三方直播类软件视频不再仅限于对目标物当前一个固定角度拍摄,而是对目标物的跟随拍摄。当待拍摄物体移动到屏幕以外时,可以通过控制手机转动的方法跟踪拍摄,使得待拍摄物体始终保持在拍摄画面的中心。这一功能的开发解决了长期以来主播人做主播时其活动范围只能限定在在手机正前方的难题,使得主播人在做直播时可以根据需要灵活地在直播间来回走动变换位置,扩大了主播人做主播时的活动场景,有效提高了直播效果。
[0055]
2、本发明app和第三方直播类app的关系:通过用户选择的目标类型关联本发明app和第三方直播app。在本发明app中,用户选择待拍摄追踪的目标类型,例如目标类型是“人脸”或者“人形”,后台app根据用户选择的目标类型,在前台打开的第三方直播内容中进行目标类别“人脸”或“人形”的搜索和跟踪。
[0056]
3、app后台抓取屏幕内容的设计原理:本发明利用了android系统提供的两个类实现后台抓取屏幕内容。mediaprojection:是android系统提供的一个准许app拥有截取屏幕或者是记录系统音频的能力类;mediacodec:是android系统提供的用于对音视频进行编解码的类,它通过访问底层的codec来实现编解码的功能。具体如下:
[0057]
1)在app中创建mediaprojection类对象,通过mediacodec类创建一个编码器对象,指定编码器对象的编码格式为video/avc,码率为4000000,帧率为30,宽度为480,高度为640。并通过编码器对象创建一个surface对象,调用mediaprojection类对象的createvirtualdisplay方法,将surface对象做为参数传入,开始抓取屏幕图像内容,通过surface编码器对象可以获取到屏幕图像内容,并进行编码。此方式抓取屏幕内容app可以在后台运行,因此在开始抓取屏幕内容后即可开启其他app,如系统相机或其他具有拍摄功能的app等,即可获取其他app正在拍摄的内容。其中,video/avc:一种视频编码格式;码率:数据传输时单位时间传送的数据位数;帧率:是以帧称为单位的位图图像连续出现在显示器上的频率;yuv:是一种颜色编码方法,常使用在各个视频处理组件中。
[0058]
2)通过surface编码器对象编码后的屏幕图像的图像数据,tensorflowlite无法直接使用,需要进一步处理。通过mediacodec类创建一个解码器对象,指定解码器对象的解码格式为video/avc,解码输出的颜色格式为yuv,宽度为480,高度为640。将编码器对象编码后的图像数据交由mediacodec类创建解码器对象解码,即可获得yuv颜色格式的图像数据。
[0059]
3、app控制手机旋转的设计原理:app当发现前台屏幕中的目标类别偏离中心点超出一定范围时才会控制手机旋转,因此,控制手机旋转需要两步:
[0060]
第一步是计算两个中心点的偏离位置。所述两个中心点一个是矩形框中心点,另一个是屏幕中心点:由于目标在识别结果的坐标系中是以矩形的形式存在,因此矩形框中心点就是目标中心点。首先需要计算出手机屏幕的中心线,然后使用转换过的坐标计算出目标矩形在坐标系中的中心线,若目标矩形的中心线与手机屏幕中心线的距离大于手机屏幕宽度的十分之一时,则通过ble向设备发送开始旋转的指令,当检测到目标矩形的中心线与手机屏幕中心线的距离小于手机屏幕宽度的十分之一时,则通过ble向设备发送停止开始旋转指令。所述的旋转包括向左、向右、向上、向下旋转。
[0061]
所述转换过的坐标是指:由于手机屏幕和图像屏幕的分辨率不一致,为了完整显示手机屏幕的图像,需要图像屏幕按照手机屏幕进行放大或缩小,放大或缩小的标准是不产生图像的拉伸。根据手机屏幕的大小与图像的大小计算缩放比例,本实施例记载的是按比例放大识别结果的坐标系,坐标系转换公式为:
[0062]
新识别结果坐标x=(手机屏幕宽度
÷
480)x识别结果坐标x
[0063]
新识别结果坐标y=(手机屏幕高度
÷
640)x识别结果坐标y
[0064]
第二步是根据两个中心点的偏离位置控制手机旋转。当发现目标类别向左、或向右、或向上、或向下偏离中心点到达一定范围时,控制手机作出同方向的向左、向右、向上、向下旋转,以此实现目标类别总是位于拍摄画面的中心。手机旋转的同时,app实时计算目标类别偏离中心的位置,直到目标类别的偏离达到允许范围内时停止手机的旋转。
[0065]
基于以上发明原理,本发明设计了一种基于tensorflowlite的移动客户端智能跟随方法,该方法是基于一种智能跟踪装置,该装置包括用于架设移动终端且带动移动终端旋转的支撑装置、以及支撑装置上带有跟随拍摄功能的app软件的移动终端,所述的支撑装置和带有跟随拍摄功能的app软件的移动终端通过蓝牙通讯,所述带有跟随拍摄功能的app软件为基于tensorflowlite算法的跟拍软件;所述支撑装置包括底座、底座上方的转动支架;所述转动支架包括支架臂、手机夹、角度转轴,支架壁上方设有手机夹、支架壁下方设有角度转轴,转动支架通过角度转轴与底座相连接;所述底座上设有带动角度转轴转动电机驱动装置,该电机驱动装置接收跟随拍摄app软件指令,从而带动角度转轴转动。所述带有跟随拍摄功能的app软件包括初始化模块、用户标定目标类型模块、后台抓取屏幕内容模块、图像预处理模块、使用tensorflowlite算法识别图像模块、识别结果坐标转换模块、目标位置偏离屏幕中心计算模块、控制设备旋转模块;所述初始化模块用于通过ble技术将移动终端与支撑装置建立连接,并按照约定的协议发送旋转指令对支撑装置进行控制;所述用户标定目标类型模块用于在手机屏幕的列表上选择目标类型;所述后台抓取屏幕内容模块利用android系统提供的功能从后台提取前台屏幕上的图像数据;所述图像预处理模块用于对屏幕抓取的图像数据交由解码器对象解码,从而获得yuv颜色格式的图像数据、并将解码后的图像数据交由tensorflowlite;所述使用tensorflowlite算法识别图像模块用于对用户所选择的目标分类,使用相应的模型进行识别;所述的识别结果坐标转换模块用于将图像坐标系与手机屏幕坐标系取得一致,以实现按比例放大识别结果;所述目标位置偏离屏幕中心计算模块用于计算目标中心点到屏幕中心点的偏离位置;所述控制设备旋转模块用于根据偏离位置控制支撑装置转动角度。
[0066]
本发明一种基于tensorflowlite的移动客户端智能跟随方法,包括以下步骤:
[0067]
步骤一、打开手机app软件建立设备之间的ble连接;
[0068]
具体过程如下:
[0069]
1)在手机上安装智能跟随app软件;
[0070]
2)将手机放在可带动手机转动的支撑设备上;
[0071]
2)app启动后,主动开启ble搜索,扫描附近的设备,当发现与此app配套的支撑装置时,主动发起连接,与支撑装置建立ble连接,用于后续发送旋转控制指令。
[0072]
步骤二、用户从app上选定当前屏幕上待拍摄追踪的目标类型;
[0073]
具体过程如下:
[0074]
1)app软件在开始识别目标前,由用户从手机屏幕上指定将要识别的目标类别,目标类别可以是人脸、人形、猫、狗动物等;
[0075]
2)所述可识别的目标分类包括但不限于以上几种分类,tensorflowlite通过机器学习可以识别各种物体,因此可识别的目标分类可以根据需求的不同进行替换。
[0076]
补充说明:
[0077]
用户选择目标类型时,限定该类型的目标对象在第三方直播画面中只有一个,如:选择人脸或人形的目标类型时,画面中只有1个人脸或1个人形。
[0078]
步骤三、app转入后台,并抓取前台屏幕上其他直播类app软件正在拍摄的内容;
[0079]
具体过程如下:
[0080]
1)用户选择目标类别后,app软件从前台转入后台运行;
[0081]
2)后台app软件启动程序准备抓取当前屏幕的内容;
[0082]
补充说明:
[0083]
在app中创建mediaprojection类对象,通过mediacodec类创建一个编码器对象,通过编码器对象创建一个surface对象,调用mediaprojection类对象的createvirtualdisplay方法,将surface对象做为参数传入,开始抓取屏幕图像内容,通过surface编码器对象可以获取到屏幕图像内容,并进行编码。
[0084]
3)前台开启其他直播类app,后台app获取其他直播类app正在拍摄的内容,该正在拍摄的内容包括用户选择的目标类别。
[0085]
步骤四、图像预处理;
[0086]
具体过程如下:
[0087]
1)对步骤三获取到的图像数据进一步处理,通过mediacodec类创建一个解码器对象;
[0088]
2)将图像数据交由解码器对象解码,即可获得yuv颜色格式的图像数据。
[0089]
步骤五、调用tensorflowlite算法识别图像;
[0090]
具体过程如下:
[0091]
1)将解码后的图像数据交由tensorflowlite;
[0092]
2)根据用户所选择的目标分类,使用相应的模型进行识别;
[0093]
3)tensorflowlite在识别出结果后,通过方法回调将识别结果告知app。
[0094]
补充说明:
[0095]
所述的tensorflowlite识别结果为识别到的目标类别在图像上的坐标。
[0096]
步骤六、识别结果坐标转换;
[0097]
具体过程如下:
[0098]
1)根据手机屏幕的大小与图像的大小计算放大比例,按比例放大识别结果的坐标系;
[0099]
2)坐标系转换公式为:
[0100]
新识别结果坐标x=(手机屏幕宽度
÷
480)x识别结果坐标x;
[0101]
新识别结果坐标y=(手机屏幕高度
÷
640)x识别结果坐标y。
[0102]
补充说明:
[0103]
上述公式中“识别结果坐标”为图像上的坐标,该图像上的坐标为解码后交由
tensorflowlite识别出的坐标,所述“新识别结果坐标”为屏幕上的坐标,屏幕上的坐标需要进行换算。
[0104]
步骤七、控制设备旋转;
[0105]
具体过程如下:
[0106]
1)计算手机屏幕中心线;
[0107]
2)使用步骤六中转换过的坐标计算出目标矩形在坐标系中的中心线;
[0108]
3)若目标矩形的中心线与手机屏幕中心线的距离大于手机屏幕宽度的十分之一时,则通过ble向设备发送开始旋转的指令,当检测到目标矩形的中心线与手机屏幕中心线的距离小于手机屏幕宽度的十分之一时,则通过ble向设备发送停止开始旋转指令。
[0109]
本发明并不限于上述具体实施方式,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜