一种基于区域偏移的识别方法及终端转让专利

申请号 : CN201810961006.3

文献号 : CN110858404A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑先木熊伟吴丽娟

申请人 : 福州瑞芯微电子股份有限公司

摘要 :

本发明提供一种基于区域偏移的识别方法及终端,以不同的视角分别获取包含一预设点的待测区域的第一视图和第二视图;在两个视图中分别以所述预设点的位置作为参照点,基于相同的参照规则确定一预设大小的第一区域;确定两个视图中的第一区域之间的偏移,根据所述偏移确定所述预设点是否与所述待测区域接触;能够更准确的判断预设点与待测区域是否接触,并且具有更强的鲁棒性,将上述识别方法和识别终端应用于需要点读交互的场景,提高了点读的通用性和灵活性,能够很好地适用于各种需要点读的场景。

权利要求 :

1.一种基于区域偏移的识别方法,其特征在于,包括步骤:S1、以不同的视角分别获取包含一预设点的待测区域的第一视图和第二视图;

S2、在两个视图中分别以所述预设点的位置作为参照点,基于相同的参照规则确定一预设大小的第一区域;

S3、确定两个视图中的第一区域之间的偏移,根据所述偏移确定所述预设点是否与所述待测区域接触。

2.根据权利要求1所述的基于区域偏移的识别方法,其特征在于,所述步骤S3中确定两个视图中的第一区域之间的偏移包括:在其中一个视图中跟踪另一个视图的第一区域,得到第二区域,确定所述一个视图中的第一区域和第二区域的偏移。

3.根据权利要求2所述的基于区域偏移的识别方法,其特征在于,所述步骤S3中采用光流跟踪算法在所述一个视图中跟踪另一个视图的第一区域,得到第二区域。

4.根据权利要求1至3中任一项所述的基于区域偏移的识别方法,其特征在于,所述步骤S3中根据所述偏移确定所述预设点是否与所述待测区域接触包括:判断所述偏移是否小于一预设值,若是,则所述预设点与所述待测区域接触,否则,所述预设点与所述待测区域不接触。

5.根据权利要求1所述的基于区域偏移的识别方法,其特征在于,所述步骤S1和S2之间还包括步骤:S12、在两个视图中分别定位出所述预设点的位置。

6.根据权利要求5所述的基于区域偏移的识别方法,其特征在于,所述步骤S12中采用物体定位算法定位出所述预设点的位置。

7.根据权利要求6所述的基于区域偏移的识别方法,其特征在于,所述物体定位算法包括形态学定位算法或机器学习定位算法。

8.根据权利要求5至7中任一项所述的基于区域偏移的识别方法,其特征在于,所述步骤S1与S12之间还包括步骤:对其中一个视图做投影变换,使其与另一个视图匹配。

9.根据权利要求6至7中任一项所述的基于区域偏移的识别方法,其特征在于,所述待测区域包含一移动体,所述预设点设置在所述移动体的一端或为所述移动体的一个端点,所述移动体上设置有一预设标记。

10.根据权利要求9所述的基于区域偏移的识别方法,其特征在于,采用形态学定位算法定位出所述预设点的位置包括:确定所述预设标记在视图中的所在区域第三区域;

根据所述第三区域确定所述预设标记的方向;

削弱第三区域中与所述预设标记方向不一致的像素点的梯度向量对应的梯度值,得到第四区域;

利用二值化算法提取所述第四区域的连通区域,根据所述连通区域确定所述预设点的位置。

11.根据权利要求10所述的基于区域偏移的识别方法,其特征在于,所述确定预设标记的方向包括:根据视图中所述第一区域的轮廓的走向确定所述预设标记的第一方向;

根据视图中所述第一区域内的各像素点的梯度确定所述预设标记的第二方向;

根据所述第一方向和第二方向确定所述预设标记的方向。

12.根据权利要求9所述的基于区域偏移的识别方法,其特征在于,采用机器学习定位算法定位出所述预设点的位置包括:所述机器学习定位算法载入预训练的机器学习模型,所述机器学习模型用于对所述预设标记进行检测、识别和定位;

将包含所述预设点的视图输入所述机器学习定位算法;

接收机器学习定位算法根据所述包含预设点的视图计算出的预设点的位置;

根据所述计算出的预设点的位置计算所述预设点在原始视图中的位置。

13.一种基于区域偏移的识别终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:S1、以不同的视角分别获取包含一预设点的待测区域的第一视图和第二视图;

S2、在两个视图中分别以所述预设点的位置作为参照点,基于相同的参照规则确定一预设大小的第一区域;

S3、确定两个视图中的第一区域之间的偏移,根据所述偏移确定所述预设点是否与所述待测区域接触。

14.根据权利要求13所述的基于区域偏移的识别终端,其特征在于,所述步骤S3中确定两个视图中的第一区域之间的偏移包括:在其中一个视图中跟踪另一个视图的第一区域,得到第二区域,确定所述一个视图中的第一区域和第二区域的偏移。

15.根据权利要求14所述的基于区域偏移的识别终端,其特征在于,所述步骤S3中采用光流跟踪算法在所述一个视图中跟踪另一个视图的第一区域,得到第二区域。

16.根据权利要求13至15中任一项所述的基于区域偏移的识别终端,其特征在于,所述步骤S3中根据所述偏移确定所述预设点是否与所述待测区域接触包括:判断所述偏移是否小于一预设值,若是,则所述预设点与所述待测区域接触,否则,所述预设点与所述待测区域不接触。

17.根据权利要求13所述的基于区域偏移的识别终端,其特征在于,所述步骤S1和S2之间还包括步骤:S12、在两个视图中分别定位出所述预设点的位置。

18.根据权利要求17所述的基于区域偏移的识别终端,其特征在于,所述步骤S12中采用物体定位算法定位出所述预设点的位置。

19.根据权利要求18所述的基于区域偏移的识别终端,其特征在于,所述物体定位算法包括形态学定位算法或机器学习定位算法。

20.根据权利要求17至19中任一项所述的基于区域偏移的识别终端,其特征在于,所述步骤S1与S12之间还包括步骤:对其中一个视图做投影变换,使其与另一个视图匹配。

21.根据权利要求18至19中任一项所述的基于区域偏移的识别终端,其特征在于,所述待测区域包含一移动体,所述预设点设置在所述移动体的一端或为所述移动体的一个端点,所述移动体上设置有一预设标记。

22.根据权利要求21所述的基于区域偏移的识别终端,其特征在于,采用形态学定位算法定位出所述预设点的位置包括:确定所述预设标记在视图中的所在区域第三区域;

根据所述第三区域确定所述预设标记的方向;

削弱第三区域中与所述预设标记方向不一致的像素点的梯度向量对应的梯度值,得到第四区域;

利用二值化算法提取所述第四区域的连通区域,根据所述连通区域确定所述预设点的位置。

23.根据权利要求22所述的基于区域偏移的识别终端,其特征在于,所述确定预设标记的方向包括:根据视图中所述第三区域的轮廓的走向确定所述预设标记的第一方向;

根据视图中所述第三区域内的各像素点的梯度确定所述预设标记的第二方向;

根据所述第一方向和第二方向确定所述预设标记的方向。

24.根据权利要求21所述的基于区域偏移的识别终端,其特征在于,采用机器学习定位算法定位出所述预设点的位置包括:所述机器学习定位算法载入预训练的机器学习模型,所述机器学习模型用于对所述预设标记进行检测、识别和定位;

将包含所述预设点的视图输入到所述机器学习定位算法;

接收机器学习定位算法根据所述包含预设点的视图计算出的预设点的位置;

根据所述计算出的预设点的位置计算所述预设点在原始视图中的位置。

说明书 :

一种基于区域偏移的识别方法及终端

技术领域

[0001] 本发明涉及图像识别领域,尤其涉及一种基于区域偏移的识别方法及终端。

背景技术

[0002] 现有技术中,点读机或点读笔都是要事先制作与待点读的书本对应的音频文件,然后将与音频文件对应的标识码对应分布于待点读的书本的各个页中,当与点读机对应的识别笔或点读笔的笔头在书本中识别到对应的标识码时,即读出与所述标识码对应的音频文件,所以现有的点读机或点读笔并不是识别书本上的实际内容,而是识别书本上的标识码,并且需要适配的识别笔才能实现点读。
[0003] 因此,现有的点读机或点读笔存在如下缺陷:第一,不具有通用性,只有与所述点读机或点读笔适配的书本才具备点读功能;第二,不具有灵活性,只有识别到书本上的识别码,才能实现点读,并且读的内容并不是笔头对应位置处的书本实际内容,而是笔头识别的识别码对应的内容,而不能实现随意的点哪就读哪。

发明内容

[0004] 本发明所要解决的技术问题是:提供一种判断准确的基于区域偏移的识别方法及终端,能够提高点读的通用性和灵活性,适用于各种需要点读的场景。
[0005] 为了解决上述技术问题,本发明采用的一种技术方案为:
[0006] 一种基于区域偏移的识别方法,包括步骤:
[0007] S1、以不同的视角分别获取包含一预设点的待测区域的第一视图和第二视图;
[0008] S2、在两个视图中分别识别出所述预设点的位置,并分别以所述预设点的位置作为参照点,基于相同的参照规则确定一预设大小的第一区域;
[0009] S3、确定两个视图中的第一区域之间的偏移,根据所述偏移确定所述预设点是否与所述待测区域接触。
[0010] 进一步的,所述步骤S3中确定两个视图中的第一区域之间的偏移包括:
[0011] 在其中一个视图中跟踪另一个视图的第一区域,得到第二区域,确定所述一个视图中的第一区域和第二区域的偏移。
[0012] 进一步的,所述步骤S3中采用光流跟踪算法在所述一个视图中跟踪另一个视图的第一区域,得到第二区域。
[0013] 进一步的,所述步骤S3中根据所述偏移确定所述预设点是否与所述待测区域接触包括:
[0014] 判断所述偏移是否小于一预设值,若是,则所述预设点与所述待测区域接触,否则,所述预设点与所述待测区域不接触。
[0015] 进一步的,所述步骤S1和S2之间还包括步骤:
[0016] S12、在两个视图中分别定位出所述预设点的位置。
[0017] 进一步的,所述步骤S12中采用物体定位算法定位出所述预设点的位置。
[0018] 进一步的,所述物体定位算法包括形态学定位算法或机器学习定位算法。
[0019] 进一步的,所述步骤S1与S12之间还包括步骤:
[0020] 对其中一个视图做投影变换,使其与另一个视图匹配。
[0021] 进一步的,所述待测区域包含一移动体,所述预设点设置在所述移动体的一端或为所述移动体的一个端点,所述移动体上设置有一预设标记。
[0022] 进一步的,采用形态学定位算法定位出所述预设点的位置包括:
[0023] 确定所述预设标记在视图中的所在区域第三区域;
[0024] 根据所述第三区域确定所述预设标记的方向;
[0025] 削弱第三区域中与所述预设标记方向不一致的像素点的梯度向量对应的梯度值,得到第四区域;
[0026] 利用二值化算法提取所述第四区域的连通区域,根据所述连通区域确定所述预设点的位置。
[0027] 进一步的,所述确定预设标记的方向包括:
[0028] 根据视图中所述第三区域的轮廓的走向确定所述预设标记的第一方向;
[0029] 根据视图中所述第三区域内的各像素点的梯度确定所述预设标记的第二方向;
[0030] 根据所述第一方向和第二方向确定所述预设标记的方向。
[0031] 进一步的,采用机器学习定位算法定位出所述预设点的位置包括:
[0032] 所述机器学习定位算法载入预训练的机器学习模型,所述机器学习模型用于对所述预设标记进行检测、识别和定位;
[0033] 将包含所述预设点的视图输入到所述机器学习定位算法;
[0034] 接收机器学习定位算法根据所述包含预设点的视图计算出的预设点的位置;
[0035] 根据所述计算出的预设点的位置计算所述预设点在原始视图中的位置。
[0036] 为了解决上述技术问题,本发明采用的另一种技术方案为:
[0037] 一种基于区域偏移的识别终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0038] S1、以不同的视角分别获取包含一预设点的待测区域的第一视图和第二视图;
[0039] S2、在两个视图中分别以所述预设点的位置作为参照点,基于相同的参照规则确定一预设大小的第一区域;
[0040] S3、确定两个视图中的第一区域之间的偏移,根据所述偏移确定所述预设点是否与所述待测区域接触。
[0041] 进一步的,所述步骤S3中确定两个视图中的第一区域之间的偏移包括:
[0042] 在其中一个视图中跟踪另一个视图的第一区域,得到第二区域,确定所述一个视图中的第一区域和第二区域的偏移。
[0043] 进一步的,所述步骤S3中采用光流跟踪算法在所述一个视图中跟踪另一个视图的第一区域,得到第二区域。
[0044] 进一步的,所述步骤S3中根据所述偏移确定所述预设点是否与所述待测区域接触包括:
[0045] 判断所述偏移是否小于一预设值,若是,则所述预设点与所述待测区域接触,否则,所述预设点与所述待测区域不接触。
[0046] 进一步的,所述步骤S1和S2之间还包括步骤:
[0047] S12、在两个视图中分别定位出所述预设点的位置。
[0048] 进一步的,所述步骤S12中采用物体定位算法定位出所述预设点的位置。
[0049] 进一步的,所述物体定位算法包括形态学定位算法或机器学习定位算法。
[0050] 进一步的,所述步骤S1与S12之间还包括步骤:
[0051] 对其中一个视图做投影变换,使其与另一个视图匹配。
[0052] 进一步的,所述待测区域包含一移动体,所述预设点设置在所述移动体的一端或为所述移动体的一个端点,所述移动体上设置有一预设标记。
[0053] 进一步的,采用形态学定位算法定位出所述预设点的位置包括:
[0054] 确定所述预设标记在视图中的所在区域第三区域;
[0055] 根据所述第三区域确定所述预设标记的方向;
[0056] 削弱第三区域中与所述预设标记方向不一致的像素点的梯度向量对应的梯度值,得到第四区域;
[0057] 利用二值化算法提取所述第四区域的连通区域,根据所述连通区域确定所述预设点的位置。
[0058] 进一步的,所述确定预设标记的方向包括:
[0059] 根据视图中所述第三区域的轮廓的走向确定所述预设标记的第一方向;
[0060] 根据视图中所述第三区域内的各像素点的梯度确定所述预设标记的第二方向;
[0061] 根据所述第一方向和第二方向确定所述预设标记的方向。
[0062] 进一步的,采用机器学习定位算法定位出所述预设点的位置包括:
[0063] 所述机器学习定位算法载入预训练的机器学习模型,所述机器学习模型用于对所述预设标记进行检测、识别和定位;
[0064] 将包含所述预设点的视图输入到所述机器学习定位算法;
[0065] 接收机器学习定位算法根据所述包含预设点的视图计算出的预设点的位置;
[0066] 根据所述计算出的预设点的位置计算所述预设点在原始视图中的位置。
[0067] 本发明的有益效果在于:在针对包含一预设点的同一待测区域的不同视角的两张视图中,分别比对在相应的视图中以该预设点的位置作为参照点并基于相同的参照规则确定出的一预设大小的第一区域之间的偏移,根据该偏移能够准确判断预设点是否与待测区域接触,相较于现有技术中的基于某个特定的特征点匹配或者基于双目测距来判断是否接触,具有更准确的判断和更强的鲁棒性,将上述识别方法和识别终端应用于需要点读的场景,直接根据预设点是否与待测区域接触的准确判断,来确定是否读出预设点与待测区域接触处的内容,能够点读任意载体上的内容,并且能够实现随意的点哪就读哪,提高了点读的通用性和灵活性,能够很好地适用于各种需要点读的场景。

附图说明

[0068] 图1为本发明实施例的一种基于区域偏移的识别方法的步骤流程图;
[0069] 图2为本发明实施例的一种基于区域偏移的识别终端的结构示意图;
[0070] 图3为本发明实施例的包含预设标记的待测区域的示意图;
[0071] 图4为本发明实施例的待测区域的梯度图;
[0072] 图5为本发明实施例的确定出预设标记所在区域的效果图;
[0073] 图6为本发明实施例的对预设标记进行二值化处理后的效果图;
[0074] 图7为本发明实施例的在预设标记附近存在干扰区域的效果图;
[0075] 图8为本发明实施例的对预设标记所在区域进行膨胀处理后的效果图;
[0076] 图9为本发明实施例的根据区域跟踪进行是否接触的判断的效果图;
[0077] 标号说明:
[0078] 1、一种基于区域偏移的识别终端; 2、存储器; 3、处理器。

具体实施方式

[0079] 为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0080] 本发明提出的基于区域偏移的识别方法及终端可以实现在任意表面上交互,能够适用于任何需要实现交互的场景,比如点读机、虚拟键盘、虚拟鼠标、互动投影、VR场景、AR场景、MR场景等,下面结合具体的应用场景来说明。
[0081] 请参照图1,一种基于区域偏移的识别方法,包括步骤:
[0082] S1、以不同的视角分别获取包含一预设点的待测区域的第一视图和第二视图;
[0083] 其中,可以通过将两个摄像头设置于不同的位置来实现对同一待测区域的不同视角的获取,所述两个摄像头可以上下排列,左右排列,并列排列,间隔排列,无间隔排列等,只要两个摄像头是处于不同的位置即可,具体的排列方式可以视具体的应用场景而进行不同的调整;
[0084] 所述预设点可以根据具体的应用场景选定,比如在点读机中,可以设置所述预设点为笔尖或手指指尖,所述的待测区域即为书本;在虚拟键盘或虚拟鼠标场景,可以设置所述预设点为手指指尖,所述的待测区域即为虚拟键盘或虚拟鼠标;
[0085] S2、在两个视图中分别以所述预设点的位置作为参照点,基于相同的参照规则确定一预设大小的第一区域;
[0086] 具体的,所述预设点在两个视图中都有对应的位置,在两个视图中分别以所述预设点的位置作为参照点,沿着相同的方向移动相同的距离,确定出一预设大小的第一区域,也就是说在两个视图中确定出的第一区域与相应视图中的预设点的位置之间的相对位置关系是相同的,比如在点读机应用场景中,摄像图呈左右并列方式排列,左视图中是在笔尖正下方距离笔尖3个像素点处画出70*20像素点区域,作为左视图的第一区域,相应的,在右视图中也是在笔尖正下方距离笔尖3个像素点处画出70*20像素点区域,作为右视图的第一区域;
[0087] 其中,所述第一区域的大小、形状以及相对所述预设点的位置均是可以根据实际情况的需要进行调整的,优选的,所述第一区域不要包括所述预设点在内以提高后续进行区域比较以确定偏移时的准确度;
[0088] S3、确定两个视图中的第一区域之间的偏移,根据所述偏移确定所述预设点是否与所述待测区域接触;
[0089] 可选的,所述两个视图中的第一区域之间的偏移,指的是两个视图中的第一区域沿着排列的两个摄像头之间的连线方向的偏移,比如,如果两个摄像头相对于所述待测区域是左右并列排列,则偏移是沿着左右方向,即水平方向的偏移。
[0090] 在另一个可选的实施例中,在确定两个视图中的第一区域之间的偏移时,可以通过在其中一个视图跟踪另一个视图的第一区域,得到第二区域,确定所述一个视图中的第一区域和第二区域的偏移,从而能够直观、方便、准确地确定出两个视图中的第一区域之间的偏移;
[0091] 其中,可以基于相应区域中的内容的一致性来实现不同视图间区域的跟踪。
[0092] 在另一个可选的实施例中,可以采用一些高效的跟踪算法实现不同视图间区域的跟踪,优选的,使用光流跟踪算法,也可以使用其它跟踪算法,比如粒子滤波、SAMF、GOTURN、KCF、MOSSE等。
[0093] 在另一个可选的实施例中,根据所述偏移确定所述预设点是否与所述待测区域接触,具体的确定方式是:
[0094] 判断所述偏移是否小于一预设值,若是,则所述预设点与所述待测区域接触,否则,所述预设点与所述待测区域不接触;
[0095] 其中所述预设值的确定与两个摄像头之间的位置有关,如果两个摄像头的位置比较远,则所述预设值就设置得比较大,如果两个摄像头紧挨着,则相应的预设值也较小,比如,在点读机场景,如果摄像头是呈左右无间隔排列,则可以设置预设值为3像素点,如果两个视图中的第一区域之间沿水平方向的偏移小于3像素点,则可以确定所述笔尖与书本接触,否则,所述笔尖不与书本接触。
[0096] 在另一个可选的实施例中,在上述实施例的步骤S1和S2之间还包括步骤:
[0097] S12、在两个视图中分别定位出所述预设点的位置;
[0098] 即先在两个视图中分别识别定位出所述预设点的位置,再根据定位出的位置进行预设点是否与待测区域接触的判断;
[0099] 优选的,采用物体定位算法定位出所述预设点的位置,所述物体定位算法包括形态学定位算法或机器学习定位算法。
[0100] 在另一个可选的实施例中,在上述实施例的S1和S12之间还包括步骤:
[0101] 对其中一个视图做投影变换,使其与另一个视图匹配;
[0102] 由于本方案中是从不同的视角获取两个视图,视角的不同会导致摄像头拍摄得到的成像会有所不同,为了提高后续的跟踪精度,可以通过投影变换,使得两个视图匹配,比如,在点读机应用场景,当书本上有个正方形,通过左右摄像头拍摄,则所述正方形在得到的两个左右视图中会变成不一样的四边形,为了保证左右视图中书本画面的一致性,可以通过投影变换将其中一个视图的四边形拉成与另一个视图中的一样。
[0103] 在另一个可选的实施例中,为了实现在待测区域任意位置的判断,待测区域包含一个移动体,所述预设点设置在所述移动体的一端或为所述移动体的一个端点,比如在点读机中,可以设置移动体为笔或手指,相应的预设点即为笔尖或手指指尖,在虚拟键盘或虚拟鼠标场景,可以设置移动体为手指,相应的预设点即为手指指尖;
[0104] 为了识别出移动体,可以在移动体上设置一预设标记,预设标记优选使用亮度深浅相间的条纹或彩虹色相间的条纹,根据所述预设标记与移动体上的预设点距离预设距离,这样当移动体在待测区域移动时,可以通过对其上的预设标记点定位,继而判断出预设点所在位置,所述预设标记可以根据实际情况需要设置,只要能够通过识别算法将其与待测区域区分开就可以,比如,在点读机应用场景,笔即为移动体,笔尖为预设点,为了快速定位出移动中的笔的笔尖,可以在距离笔尖预设距离的笔试缠绕一预设标记,所述预设标记如图3所示,可以是由黑白条纹交错排列而成,所述黑白条纹在所述移动体上分别缠绕成环状,由于黑白条纹的梯度值很大,并且有规律,这样通过图像识别就能够很容易定位出待测区域中所述预设标记的位置;
[0105] 在另一个可选的实施例中,在两个视图中分别采用形态学定位算法定位出所述预设点在对应视图中的位置,具体的包括如下步骤:
[0106] S121、确定所述预设标记在视图中的所在区域第三区域:
[0107] 具体的,根据预设标记的不同可以采用不同的方法进行确定,对于本发明实施例列举的用由黑白条纹交错排列而成的预设标记,可以通过计算视图中各个像素点的梯度值,根据各个点的梯度值确定出黑白条纹在视图中所在的区域第三区域;
[0108] 可以通过下述公式计算出视图中各个像素点的梯度值:
[0109] dx(i,j)=I(i+1,j)-I(i,j);
[0110] dy(i,j)=I(i,j+1)-I(i,j);
[0111] G(i,j)=|dx(i,j)|+|dy(i,j)|;
[0112] 式中,(i,j)表示的是像素点的坐标,I(i,j)表示坐标(i,j)处的像素点的像素值,dx(i,j)表示的是坐标(i,j)处的像素点x方向的梯度,dy(i,j)表示的是坐标(i,j)处的像素点y方向的梯度,G(i,j)表示坐标(i,j)处的像素点的梯度值;
[0113] 根据计算出的各个像素点的梯度值,得到与所述视图对应的第一梯度图,如图4所示;
[0114] 确定所述第一梯度图中最大梯度值对应的像素点,在以所述像素点为中心的预设区域中,选取梯度值大于一预设阈值的所有像素点,由选取的所有像素点围成第三区域,如图5所示,白色区域记为黑白条纹所在的区域,其中,所述预设区域以及预设阈值可以根据实际情况需要进行设定,所述预设区域以及预设阈值的确定与预设标记在待检测区域中所占的比例有关;
[0115] S122、根据所述第三区域确定所述预设标记的方向:
[0116] 具体的,根据所述第三区域中的所有像素点确定所述预设标记的方向,通过计算第三区域中的所有像素点的坐标的协方差矩阵,确定该协方差矩阵较大特征值对应的特征向量,该特征向量即为预设标记的方向向量,该特征向量的方向即为预设标记的方向,也就是在点读机场景中黑白条纹所在的笔的方向,具体的计算如下所示:
[0117] 设第三区域中一共有N个坐标点,各个坐标点的坐标为(Xi,Yi)T,0<i≤N;
[0118] N个点的平均坐标为 计算 则协方差矩阵为:
[0119] C=[V0,V1,V2,...,VN]·[V0,V1,V2,...,VN]T;
[0120] 其中,C为2×2的矩阵,计算出C的特征值t1、t2,及其对应的特征向量p1、p2;若t1>t2,则笔的方向向量p=p1,否则,p=p2;
[0121] S123、削弱第三区域中与所述预设标记方向不一致的像素点的梯度向量对应的梯度值,得到第四区域;
[0122] 具体的,在所述第三区域中,将每一个像素的梯度向量(dxi,dyi)分别乘以所述预设标记的方向向量的单位向量,实现对第三区域中与所述预设标记方向不一致的像素点的梯度向量对应的梯度值的削弱,由于两个向量相乘得到的是一个数值,如果两个向量方向不一致,并且其中一个向量是单位向量的情况下,则会对另一个向量对应的模值起到削弱作用,如果两个向量的方向垂直,则相乘结果直接为零,在进行削弱处理后,得到的是第三区域中对应每个像素点的梯度值,由计算出的每个像素点的梯度值及其对应的像素点构成第四区域,通过削弱处理能够提高后续的预设点的定位精度;
[0123] S124、利用二值化算法提取所述第四区域的连通区域,根据所述连通区域确定所述预设点的位置:
[0124] 具体的,第四区域中每个像素点的像素值即为步骤S123削弱处理后得到的对应的梯度值,可以预设一个像素值阈值,在第四区域中将所有大于所述像素值阈值的像素点的像素值设置为255,将所有小于或等于所述像素值阈值的像素点的像素值设置为0,所述像素值阈值可以根据实际情况需要进行设定;
[0125] 对第四区域进行二值化处理后,即能够获得多个沿着笔的方向排列的连通区域,如图6所示,由于笔尖是位于预设标记的一端,在确定出笔的方向以及连通区域后,为了快速判断出离笔更近的是哪一个连通区域,可以实现在所述预设标记上设置一些特征,根据该特征能够快速准确地判断出离笔更近的连通区域,比如可以根据条纹的粗细、颜色变化、特殊图像(正方形、圆形等)等特征来确定特殊标记的哪一端是笔尖所在处;
[0126] 在提取出离笔尖最近的连通区域后,根据所述最近的连通区域的最大跨度的中心像素点的坐标、所述第三区域的方向以及所述预设距离即能够确定所述预设点的位置,即笔尖的位置。
[0127] 在另一个可选的实施例中,为了提高所判断出的预设标记所在区域的准确性,在根据所述第三区域确定所述预设标记的方向的步骤中,先根据第三区域的轮廓的走向确定所述预设标记的第一方向,可以采用上个实施例中所述的方法来确定;
[0128] 接着根据所述第三区域内的各个像素点的梯度确定所述预设标记的第二方向;
[0129] 最后根据所述第一方向和第二方向确定所述预设标记的方向;
[0130] 具体的,可以将所述第三区域均分成多个子区域块,根据每个子区域块的各个像素点的梯度向量,计算该子区域块的方向,具体的计算方式可以是计算该子区域块中各个像素点的梯度向量的协方差矩阵,确定该协方差矩阵较大特征值对应的特征向量,该特征向量即为该子区域块的方向向量,该特征向量的方向即为该子区域块的方向;
[0131] 统计算出的各个子区域块中方向与第一方向相同的子区域块所占的百分比,若该百分比小于一预设百分比,则所判断出的第三区域并不是所述预设标记所在的区域,需要重新寻找直至找到所述预设标记所在的区域,可以是在所述第一梯度图中去除所述第三区域,并返回执行确定所述第一梯度图中最大梯度值对应的像素点以及后续步骤,否则,所述第三区域为所述预设标记所在的区域,确定第一方向为所述预设标记的方向。
[0132] 在另一个可选的实施例中,由于尽管削弱了第三区域中与所述预设标记方向不一致的像素点的梯度向量对应的梯度值,但是在所述预设标记的附近可能会存在一些干扰区域,如图7所示,为了将非预设标记的干扰区域去除,可以在对第四区域进行二值化处理后,统计各个连通区域的像素点个数,在二值化处理后的第四区域中去除像素个数小于预设个数的连通区域,得到第五区域,然后在第五区域上寻找最接近预设点的连通区域,并基于该最接近预设点的连通区域确定预设点的位置。
[0133] 在另一个可选的实施例中,在去除了预设标记附近的可能存在的干扰区域后,如果干扰区域足够大,则也不能被滤除,因此,为了进一步提高后续定位的准确性,可以根据所述第五区域中各个连通区域的最大跨度以及最大跨度对应的两个端的像素点去除非所述预设标记上的连通区域,得到第六区域;
[0134] 具体的,可以根据两个连通区域之间的上述确定出的两个端的像素点是否能够形成一个矩形以及形成的矩形的相关性来确定所述连通区域是否为预设标记上的连通区域;
[0135] 得到第六区域后,然后在第六区域上寻找最接近预设点的连通区域,并基于该最接近预设点的连通区域确定预设点的位置。
[0136] 在另一个可选的实施例中,为了进一步提高后续定位的精度,可以在确定出第六区域后,根据第六区域的轮廓的走向重新确定所述预设标记的方向,具体的确定方式可以是计算第六区域中的所有像素点的坐标的协方差矩阵,确定该协方差矩阵较大特征值对应的特征向量,该特征向量即为预设标记的方向向量,该特征向量的方向即为预设标记的方向。
[0137] 在另一个可选的实施例中,在确定了第三区域后,对所述第三区域进行膨胀处理,优选的,可以在该区域按米字型往8个方向各扩大一个像素,得到膨胀处理后的第三区域,以保证预设标记都落在所述第三区域中,图8为在图5基础上进行膨胀处理后的效果图。
[0138] 在另一个可选的实施例中,在两个视图中分别采用机器学习定位算法定位出所述预设点在对应视图中的位置,具体的包括如下步骤:
[0139] 所述机器学习定位算法载入预训练的机器学习模型,所述机器学习模型用于对所述预设标记进行检测、识别和定位,也就是说事先对机器学习模型进行训练,使其能够实现对包含预设标记的图像的检测、识别和定位;
[0140] 将包含所述预设点的视图输入到所述机器学习定位算法;
[0141] 其中,输入到机器学习定位算法的视图,可选的,可以进行预处理操作,比如图像3A变换等;
[0142] 接收机器学习定位算法根据所述包含预设点的视图计算出的预设点的位置;
[0143] 根据所述计算出的预设点的位置计算所述预设点在原始视图中的位置;
[0144] 由于机器学习定位算法处理后得到的预设点的位置会与原始视图有一定的偏移,所以在接收到机器学习定位算法的计算结果后,需要根据预知的偏移量计算出所述预设点在原始视图中的位置;
[0145] 通过采用机器学习定位算法,能够将本发明的定位方法应用于深度学习检测笔的定位,所述机器学习定位算法不限于CNN、基于颜色的区域分割、深度图、类哈尔特征、boosting、HOG、SVM、规则学习等具体算法。
[0146] 在点读机的应用场景中,在定位出笔尖的位置之后,即可以采用基于区域跟踪来实现对笔尖是否接触书本的判断,图9所示为效果图,图中较浅颜色的框即为前面实施例中该视图中的第一区域,较深颜色的框即为前面实施例中该视图中的第二区域,可以看到,两个区域在水平方向具有一定偏移。
[0147] 在上述实施例中对于预设点的定位的步骤也可以独立出来,适用于其他需要识别、定位预设点的场景,比如在各种应用到图像识别的领域,可以根据本发明的上述定位算法实现对目标点的定位。
[0148] 此外,由于本发明采用的是基于物体的定位算法,并不像现有常用定位算法需要事先进行标定,并找到投影方程,并且由于不同屏幕投影方程并不同,所以现有的定位方法并无法适用弯曲面的是否接触的判断,而只能在一个平面进行判断,而本发明的上述方法由于不需要事先标定,可以在弯曲的面上进行判断是否接触。
[0149] 在另一个可选的实施例中,如图2所示,提供了一种基于区域偏移的识别终端1,包括存储器2、处理器3及存储在存储器2上并可在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现上述各个方法实施例的步骤。
[0150] 综上所述,本发明提供的一种基于区域偏移的识别方法及终端,在针对包含一预设点的同一待测区域的不同视角的两张视图中,在两张视图中先通过基于物体的定位算法分别定位出所述预设点的位置,然后比对在相应的视图中以该预设点的位置作为参照点并基于相同的参照规则确定出的一预设大小的第一区域之间的偏移,根据该偏移能够准确判断预设点是否与待测区域接触,相较于现有技术中的基于某个特定的特征点匹配或者基于双目测距来判断是否接触,具有更准确的判断和更强的鲁棒性,并且也有更大的通用性,能够适用于各种类型的面的接触与否的判断,将上述识别方法和识别终端应用于需要点读交互的场景,直接根据预设点是否与待测区域接触的准确判断,来确定是否读出预设点与待测区域接触处的内容,能够点读任意载体上的内容,并且能够实现随意的点哪就读哪,提高了点读的通用性和灵活性,能够很好地适用于各种需要点读的场景。
[0151] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。