CN111008305B - 一种视觉搜索方法、装置以及电子设备 - Google Patents
一种视觉搜索方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN111008305B CN111008305B CN201911204967.0A CN201911204967A CN111008305B CN 111008305 B CN111008305 B CN 111008305B CN 201911204967 A CN201911204967 A CN 201911204967A CN 111008305 B CN111008305 B CN 111008305B
- Authority
- CN
- China
- Prior art keywords
- frame image
- tracking
- algorithm
- target
- displacement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 170
- 230000008569 process Effects 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000006073 displacement reaction Methods 0.000 claims description 133
- 238000005457 optimization Methods 0.000 claims description 76
- 238000001514 detection method Methods 0.000 claims description 37
- 238000013136 deep learning model Methods 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 19
- 238000013140 knowledge distillation Methods 0.000 claims description 9
- 239000000758 substrate Substances 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/97—Determining parameters from multiple pictures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种视觉搜索方法、装置以及电子设备,涉及图像处理技术领域。具体实现方案为:确定视觉搜索流程中的第一对象,第一对象在视觉搜索流程中的功耗大于视觉搜索流程中的第二对象的功耗,第一对象包括程序和算法中的至少一项,第二对象包括程序和算法至少一项;采用第一对象的优化对象进行视觉搜索,优化对象运算速度高于第一对象运算速度,和/或,优化对象在单位时间内的总运算次数少于第一对象在单位时间内的总运算次数。由于优化对象运算速度高于第一对象运算速度,和/或,优化对象在单位时间内的总运算次数少于第一对象在单位时间内的总运算次数,可提高视觉搜索的运算速度或/和减少视觉搜索过程中的运算次数,从而可减少功耗。
Description
技术领域
本申请涉及计算机技术中的图像处理技术领域,尤其涉及一种视觉搜索方法、装置以及电子设备。
背景技术
视觉搜索是一种以图像、视频等视觉内容作为搜索输入源,利用视觉识别相关技术,将输入的视觉内容识别检索,并返回检索到的相关图像、文字等多种形态结果的技术。随着视觉识别技术的不断发展,越来越多的用户在移动终端上通过视觉搜索技术,来满足感知周边物体的搜索需求。
然而,在视觉搜索过程中,是以图像或视频等视觉内容作为输入进行视觉搜索,需要较大的功耗,即功耗较大。
发明内容
本申请提供一种视觉搜索方法、装置和电子设备,以解决在视觉搜索过程中功耗较大的问题。
第一方面,本申请一个实施例提供一种视觉搜索方法,包括:
确定视觉搜索流程中的第一对象,其中,所述第一对象在所述视觉搜索流程中的功耗大于所述视觉搜索流程中的第二对象的功耗,其中,所述第一对象包括程序和算法中的至少一项,所述第二对象包括程序和算法至少一项;
采用所述第一对象的优化对象进行视觉搜索,其中,所述优化对象运算速度高于所述第一对象运算速度,和/或,所述优化对象在单位时间内的总运算次数少于所述第一对象在所述单位时间内的总运算次数。
上述实施例的视觉搜索方法中,首先可确定视觉搜索流程中功耗大于所述视觉搜索流程中的第二对象的功耗的第一对象,即可确定视觉搜索流程中功耗较大的第一对象。然后基于第一对象的优化对象进行视觉搜索。由于所述优化对象运算速度高于所述第一对象运算速度,和/或,所述优化对象在单位时间内的总运算次数少于所述第一对象在所述单位时间内的总运算次数,可提高视觉搜索的运算速度或/和减少视觉搜索过程中的运算次数,从而可减少功耗。
可选的,所述优化对象包括对所述第一对象包括的程序和算法中的至少一项的内容进行优化得到的对象;或者
所述优化对象包括对所述第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象;或者
所述优化对象包括对所述第一对象包括的程序和算法中的至少一项的内容进行优化,以及对所述第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象。
优化对象可以是对第一对象包括的程序和算法中的至少一项的内容进行优化得到的对象,也可以是对所述第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象,也可以是对所述第一对象包括的程序和算法中的至少一项的内容进行优化,以及对所述第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象,既可进行内容优化,还可进行调度优化,可提高通过优化对象进行视觉搜索过程中的速度或/和减少运算次数,减少功耗。
可选的,所述对所述第一对象包括的程序和算法中的至少一项的调度进行优化,包括:
降低对所述第一对象包括的程序和算法中的至少一项的调度频次。
可通过降低对所述第一对象包括的程序和算法中的至少一项的调度频次实现对第一对象的调度优化,通过降低调度频次,减少运算总次数,从而减少功耗。
可选的,所述第一对象包括跟踪算法,所述优化对象包括对所述跟踪算法的调度进行优化得到的优化跟踪算法;
所述采用所述第一对象的优化对象进行视觉搜索,包括:
获取第i帧图像,所述i为正整数;
对所述第i帧图像进行目标检测,以获得所述第i帧图像中目标的位置;
采用所述优化跟踪算法进行目标跟踪,其中,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的部分帧图像进行目标跟踪。
采用优化后的优化跟踪算法进行跟踪,以减少功耗。
可选的,所述优化对象包括:依据所述第i帧图像和N个前序帧图像的像素总位移,对所述跟踪算法的调度进行优化得到的优化跟踪算法,其中,所述N个前序帧图像为采集时间在所述第i帧图像的采集时间之前采集的N帧图像,所述N为正整数。
通过像素总位移优化跟踪算法的调度,所述第i帧图像和N个前序帧图像的像素总位移可反映一段时间内的运动情况,像素总位移越大,则运动程度越大,像素总位移越小,则运动程度越小,即图像相对稳定,通过优化跟踪算法的调度实现,平衡为减少跟踪偏移和跟丢的情况和减少功耗的平衡。
可选的,在所述像素总位移小于第一预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第一部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第一预设位移,且小于第二预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第二部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第二预设位移,且小于第三预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第三部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第三预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第四部分帧图像进行目标跟踪;
其中,所述第一预设位移、第二预设位移、第三预设位移和第四预设位移依次增大,所述第一部分帧图像、第二部分帧图像、第三部分帧图像和第四部分帧图像的帧数数量依次增多。
在本实施例中,像素总位移处于不同范围,对应确定不同的跟踪频次,从而可对不同数量的帧图像进行跟踪。即像素总位移越大,运动越大,跟踪频次越大,对后续越多的帧图像进行跟踪,像素总位移越小,运动越小,越稳定,跟踪平次越小,对后续越少的帧图像进行跟踪,如此,既可减少跟踪偏移和更丢的情况,也兼顾了功耗问题,实现稳定时少跟踪,运动时多跟踪,使功耗和跟踪结果的平衡。
第二方面,本申请一个实施例还提供一种视觉搜索装置,包括:
对象确定模块,用于确定视觉搜索流程中的第一对象,其中,所述第一对象在所述视觉搜索流程中的功耗大于所述视觉搜索流程中的第二对象的功耗,其中,所述第一对象包括程序和算法中的至少一项,所述第二对象包括程序和算法至少一项;
搜索模块,用于采用所述第一对象的优化对象进行视觉搜索,其中,所述优化对象运算速度高于所述第一对象运算速度,和/或,所述优化对象在单位时间内的总运算次数少于所述第一对象在所述单位时间内的总运算次数。
可选的,所述优化对象包括对所述第一对象包括的程序和算法中的至少一项的内容进行优化得到的对象;或者
所述优化对象包括对所述第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象;或者
所述优化对象包括对所述第一对象包括的程序和算法中的至少一项的内容进行优化,以及对所述第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象。
可选的,所述对所述第一对象包括的程序和算法中的至少一项的调度进行优化,包括:
降低对所述第一对象包括的程序和算法中的至少一项的调度频次。
可选的,所述第一对象包括跟踪算法,所述优化对象包括对所述跟踪算法的调度进行优化得到的优化跟踪算法;
所述搜索模块,包括:
图像获取模块,用于获取第i帧图像,所述i为正整数;
目标检测模块,用于对所述第i帧图像进行目标检测,以获得所述第i帧图像中目标的位置;
跟踪模块,用于采用所述优化跟踪算法进行目标跟踪,其中,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的部分帧图像进行目标跟踪。
可选的,所述优化对象包括:依据所述第i帧图像和N个前序帧图像的像素总位移,对所述跟踪算法的调度进行优化得到的优化跟踪算法,其中,所述N个前序帧图像为采集时间在所述第i帧图像的采集时间之前采集的N帧图像,所述N为正整数。
可选的,在所述像素总位移小于第一预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第一部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第一预设位移,且小于第二预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第二部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第二预设位移,且小于第三预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第三部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第三预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第四部分帧图像进行目标跟踪;
其中,所述第一预设位移、第二预设位移、第三预设位移和第四预设位移依次增大,所述第一部分帧图像、第二部分帧图像、第三部分帧图像和第四部分帧图像的帧数数量依次增多。
第三方面,本申请一个实施例还提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请各实施例提供的方法。
第四方面,本申请一个实施例还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请各实施例提供的方法。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请一个实施例的视觉搜索方法的流程示意图;
图2是用来实现本申请实施例的视觉搜索方法的视觉搜索装置的框图之一;
图3是用来实现本申请实施例的视觉搜索方法的视觉搜索装置的框图之二;
图4是可以实现本申请实施例的视觉搜索方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1所示,根据本申请的实施例,本申请提供一种视觉搜索方法,可应用于电子设备,电子设备可以是移动终端等,该方法包括:
步骤S101:确定视觉搜索流程中的第一对象。
视觉搜索是一种以图像、视频等视觉内容作为搜索输入源,利用视觉识别相关技术,将输入的视觉内容识别检索,并返回相关图像、文字等多种形态结果的技术。在进行视觉搜索过程中部分过程可包括目标检测、目标识别以及目标跟踪等过程。
其中,第一对象在视觉搜索流程中的功耗大于视觉搜索流程中的第二对象的功耗,其中,第一对象包括程序和算法中的至少一项,第二对象包括程序和算法至少一项。
在视觉搜索过程中,涉及较多的程序和算法,电子设备在执行视觉搜索涉及的程序和算法过程中,需要功耗。在本实施例中,为减少功耗,首先需要确定在视觉搜索流程中的功耗大于视觉搜索流程中的第二对象的功耗的第一对象,也即是确定视觉搜索流程中功耗较大的第一对象。
步骤S102:采用第一对象的优化对象进行视觉搜索。
其中,优化对象运算速度高于第一对象运算速度,和/或,优化对象在单位时间内的总运算次数少于第一对象在单位时间内的总运算次数。
确定功耗较大的第一对象后,利用的是第一对象的优化对象进行视觉搜索,优化对象即为第一对象进行优化后的结果。在本实施例中,优化对象运算速度可高于第一对象运算速度,采用优化对象进行视觉搜索,可提高视觉搜索的运算速度,从而减少功耗。优化对象在单位时间内的总运算次数也少于第一对象在单位时间内的总运算次,采用优化对象进行视觉搜索,可减少视觉搜索过程中的运算次数,从而减少功耗。另外,优化对象运算速度可高于第一对象运算速度,以及优化对象在单位时间内的总运算次数可少于第一对象在单位时间内的总运算次数,如此,采用优化对象进行视觉搜索,不但可提高觉搜索的运算速度,而且可减少视觉搜索过程中的运算次数,从而减少功耗。
上述实施例的视觉搜索方法中,首先可确定视觉搜索流程中功耗大于视觉搜索流程中的第二对象的功耗的第一对象,即可确定视觉搜索流程中功耗较大的第一对象。然后基于第一对象的优化对象进行视觉搜索。由于优化对象运算速度高于第一对象运算速度,和/或,优化对象在单位时间内的总运算次数少于第一对象在单位时间内的总运算次数,可提高视觉搜索的运算速度或/和减少视觉搜索过程中的运算次数,从而可减少功耗。
在一个实施例中,优化对象包括对第一对象包括的程序和算法中的至少一项的内容进行优化得到的对象;或者
优化对象包括对第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象;或者
优化对象包括对第一对象包括的程序和算法中的至少一项的内容进行优化,以及对第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象。
即在本实施例中,优化对象可以是对第一对象包括的程序和算法中的至少一项的内容进行优化得到的对象,程序是由程序内容构成,算法是有算法内容构成,对程序的内容进行优化可以理解为对程序本身所涉及的程序内容的优化,对算法的内容进行优化可以理解为对程序本身所涉及的算法内容的优化。通过对内容的优化,提高运行速度,从而减少功耗。
优化对象也可以是对第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象,对程序或算法的调度可以理解为安排程序或算法执行,例如,对于算法A,对算法A的调度即安排算法A执行,则会有算法A的执行过程。对程序或算法的调度进行优化可以理解为使对程序或算法的调度更加合理,例如,可减少对程序或算法的调度次数,以避免对程序或算法的较多调度,从而减少功耗。
另外,优化对象也可以是对第一对象包括的程序和算法中的至少一项的内容进行优化,以及对第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象,既进行内容优化又进行调度优化,可提高通过优化对象进行视觉搜索过程中的速度以及减少运算次数,减少功耗。
在一个实施例中,对第一对象包括的程序和算法中的至少一项的内容进行优化包括:对第一对象包括的程序和算法中的至少一项的深度学习模型进行网络结构裁剪或知识蒸馏优化处理。
即第一对象包括深度学习模型,进行内容优化过程中,可以包括对深度学习模型进行网络结构裁剪或知识蒸馏优化处理,优化对象则包括经过网络结构裁剪或知识蒸馏处理的深度学习模型,可简化深度学习模型结构,使其涉及的模型参数数量减少,从而在利用优化后的深度学习模型进行目标检测过程中可减少计算量,从而可提高运行速度,从而可减小功耗。在一个示例中,深度学习模型可以包括yolo模型(一种端到端的目标检测模型)。
在一个实施例中,对第一对象包括的程序和算法中网络结构裁剪或知识蒸馏优化处理的至少一项的调度进行优化,包括:降低对第一对象包括的程序和算法中的至少一项的调度频次。
即可通过降低对第一对象包括的程序和算法中的至少一项的调度频次实现对第一对象的调度优化,通过降低调度频次,减少运算总次数,从而减少功耗。
在一个实施例中,对第i帧图像进行目标检测,还可获得目标区域。在获得目标区域之后,还可以包括:对目标区域进行目标识别得到识别结果;显示识别结果。识别结果可以是类别等。在得到识别结果之后可显示识别结果,以便用户查看。对第二深度学习模型进行网络结构裁剪或知识蒸馏优化处理,即可实现对第二深度学习模型的内容优化。在一个示例中,第一对象还可以包括第二深度学习模型(区别于进行目标检测的深度学习模型),可通过第二深度学习模型对对目标区域进行目标识别得到识别结果,以提高识别准确性。在一个示例中,第二深度学习模型可以采用mobilenet模型。
在一个实施例中,第一对象包括跟踪算法,优化对象包括对跟踪算法的调度进行优化得到的优化跟踪算法。
在本实施例中,采用第一对象的优化对象进行视觉搜索,包括:获取第i帧图像,i为正整数;对第i帧图像进行目标检测,以获得第i帧图像中目标的位置;采用优化跟踪算法进行目标跟踪,其中,优化跟踪算法用于基于第i帧图像中目标的位置,对第i帧图像的后续的部分帧图像进行目标跟踪。
在基于视频进行视觉搜索过程中,针对视频中的帧图像进行视觉搜索,若需要进行视觉搜索,可在电子设备打开视觉搜索应用,启动摄像头采集视频,上述第i帧图像为视频中的一帧图像。在获得第i帧图像后,即可对第i帧图像进行目标检测,从而提取出第i帧图像中目标的位置。可利用目标检测模型对第i帧图像进行目标检测,目标检测模型多样,在一个示例中,可通过深度学习模型对第i帧图像进行目标检测。然后,可利用优化跟踪算法进行目标跟踪,其中,优化跟踪算法用于基于第i帧图像中目标的位置,对第i帧图像的后续的部分帧图像进行目标跟踪。由于优化跟踪算法进行了调度优化,从而可对跟踪过程的执行次数实现优化。在一个示例中,是优化了跟踪算法的调度频次,即降低调度频次,从而可减少算法运行次数,以减少功耗。
在一个实施例中,优化对象包括:依据第i帧图像和N个前序帧图像的像素总位移,对跟踪算法的调度进行优化得到的优化跟踪算法,其中,N个前序帧图像为采集时间在第i帧图像的采集时间之前采集的N帧图像,N为正整数。
可以理解,通过像素总位移优化跟踪算法的调度,第i帧图像和N个前序帧图像的像素总位移可反映一段时间内的运动情况,像素总位移越大,则运动程度越大,为减少跟踪偏移和跟丢的情况,可优化调度,使跟踪算法调度的更频繁,即跟踪较多的帧图像。像素总位移越小,则运动程度越小,即图像相对稳定,为减少功耗,可优化调度,使跟踪算法调度的更少,即跟踪较少的帧图像。在一个示例中,N个前序帧图像可以为采集时间在第i帧图像的采集时间之前连续采集的N帧图像,如此,能更准确地确定图像的运动情况,从而更准确地对跟踪算法的调度进行优化。
在一个示例中,第i帧图像和N个前序帧图像的像素总位移可以理解为第i帧图像和N个前序帧图像中每两个相邻帧图像之间的图像像素位移之和,两个相邻帧图像之间的图像像素位移可以为两个相邻帧图像之间每个像素点之间的位移之和,优选的,两个相邻帧图像之间的图像像素位移也可以为两个相邻帧图像之间目标像素点之间的位移之和,其中,目标像素点可以为目标的角点,如此,无需对每个像素点进行位移计算,减少计算量,减少功耗。
在一实施例中,在像素总位移小于第一预设位移的情况下,优化跟踪算法用于基于第i帧图像中目标的位置,对第i帧图像的后续的第一部分帧图像进行目标跟踪;或者
在像素总位移大于或等于第一预设位移,且小于第二预设位移的情况下,优化跟踪算法用于基于第i帧图像中目标的位置,对第i帧图像的后续的第二部分帧图像进行目标跟踪;或者
在像素总位移大于或等于第二预设位移,且小于第三预设位移的情况下,优化跟踪算法用于基于第i帧图像中目标的位置,对第i帧图像的后续的第三部分帧图像进行目标跟踪;或者
在像素总位移大于或等于第三预设位移的情况下,优化跟踪算法用于基于第i帧图像中目标的位置,对第i帧图像的后续的第四部分帧图像进行目标跟踪;
其中,第一预设位移、第二预设位移、第三预设位移和第四预设位移依次增大,第一部分帧图像、第二部分帧图像、第三部分帧图像和第四部分帧图像的帧数数量依次增多。
在本实施例中,像素总位移处于不同范围,对应确定不同的跟踪频次,从而可对不同数量的帧图像进行跟踪。即像素总位移越大,运动越大,跟踪频次越大,对后续越多的帧图像进行跟踪,像素总位移越小,运动越小,越稳定,跟踪平次越小,对后续越少的帧图像进行跟踪,如此,既可减少跟踪偏移和更丢的情况,也兼顾了功耗问题,实现稳定时少跟踪,运动时多跟踪,使功耗和跟踪结果的平衡。
在确定像素总位移之后,即可利用像素总位移确定跟踪频次系数,再跟踪频次系数以及预设帧图像采集频次,确定第一跟踪频次。也就是说,第一跟踪频次与跟踪频次系数以及预设帧图像采集频次有关,即第一跟踪频次与像素总位移有关,使跟踪频次与位移相联,提高跟踪频次的准确性。跟踪频次系数越大,第一跟踪频次越大,即第一跟踪频次与跟踪频次系数正相关。
在一个实施例中,跟踪算法可以采用LK光流法,LK光流法中涉及滑动窗口,利用LK光流法进行跟踪过程中,滑动窗口的大小影响跟踪过程中需要求解方程组的数量,从而影响功耗。在本实施例中,对LK光流法优化得到优化LK光流法,优化LK光流法中的滑动窗口为经验值,即优化LK光流法的滑动窗口为一个经验值,以减少功耗。
下面以一个具体实施例对上述目标跟踪过程加以说明。
首先,功耗问题可包括GPU功耗和CPU功耗,可分别优化GPU功耗和CPU功耗。具体地,GPU功耗和CPU功耗优化又可拆分为单次运算功耗、指定时间内的连续运算总次数两个关键方面进行优化。对功耗的量化可用下述3个公式概括:
T时间内总功耗=GPU总功耗+CPU总功耗;
T时间内GPU总功耗=单次GPU运算功耗*T时间内GPU连续运算总次数;
T时间内CPU总功耗=单次CPU运算功耗*T时间内CPU连续运算总次数。
其中,*表示乘号。可先对实时视觉搜索中功耗较大的程序或/和算法进行定位,对于每个功耗较大的程序或算法,进行如下操作:优化程序或算法,提升单次运算速度;对程序或算法的调度进行优化,减少T时间内该程序或算法的总运算次数。具体过程如下:
1)分析程序源代码及借助Xcode profile等工具对实时视觉搜索中使用GPU运算、使用CPU运算的程序或算法进行定位;
2)对使用GPU运算的程序或算法,进行如下操作:
a)对使用GPU运算的程序或算法,提升单次运算速度;
b)对使用GPU运算的程序或算法,减少T时间内的总运算次数;
3)对使用CPU运算的程序或算法,进行如下操作:
a)对使用CPU运算的程序或算法,提升单次运算速度;
b)对使用CPU运算的程序或算法,减少T时间内的总运算次数。
下面以一个视觉搜索过程中目标跟踪的具体示例进行说明。
首先,分析程序源代码及借助Xcode profile等工具分析,发现目标检测、目标识别等深度学习算法运行于GPU上,且功耗较大。而运行于CPU上的跟踪算法功耗较大。
可预先对使用GPU运算的目标检测、目标识别算法,进行如下操作:
对目标检测的第一深度学习模型和对目标识别的第二深度学习模型,采取特定网络结构裁剪、知识蒸馏等手段减少参与运算的参数个数,同时将深度学习模型采取多线程并行计算的方式,提升GPU的单次运算速度。
在对目标检测、目标识别的深度学习模型的周期性调度优化上,采取自适应检测、识别技术,减少不必要的目标检测、目标识别运算。具体可通过检测帧图像是否满足预设触发条件,若满足,则表示图像比较稳定,可进行目标检测以及目标识别,若不满足,则表示图像不稳定,则对该帧图像不进行目标检测和目标识别。即对第i帧图像进行目标检测,可以包括:在第i帧图像满足预设触发条件的情况下,对第i帧图像进行目标检测。在一个示例中,触发条件,可以包括第i帧图像的采集时间与前一次进行目标检测的时间的时间差超过第一预设时长,可以理解每间隔第一预设时长可进行一次目标检测。或者,预设触发条件还可以包括:第i帧图像与第i-1帧图像之间的位移小于预设位移阈值且对第i-1帧图像未进行目标检测,如此,可避免在不稳定的情况下(位移大于或等于预设位移阈值,表示存在一定的运动,不稳定)进行目标检测,也可避免在稳定进行多次检测,减少检测次数,从而减少功耗。
对使用CPU运算的跟踪算法,进行如下操作:
对跟踪运算的滑动窗口进行调整,减少需要求解的方程组个数,提升单次运算速度。例如,可将滑动窗口调整为一个经验值。
对跟踪运算总次数的缩减,目前采用的跟踪方法中容易会使得跟踪的每两帧图像之间的图像位移过大,造成跟踪偏移、跟丢的问题,本申请采取“稳定时多降频,运动时少降频”的方案,兼顾了功耗与跟踪效果的平衡。
具体地,记当前时刻为t,对图像运动的观察窗口为k,在[t-k,t]时间区间内,[t-k,t]内有M帧图像,M帧图像的像素总位移记为st。可以理解,若当前时刻的帧图像为第i帧图像,则M帧图像包括第i帧图像和N个前序帧图像。
在确定像素总位移之后,即可利用像素总位移确定跟踪频次系数,再跟踪频次系数以及预设帧图像采集频次,确定第一跟踪频次。也就是说,第一跟踪频次与跟踪频次系数以及预设帧图像采集频次有关,即第一跟踪频次与像素总位移有关,使跟踪频次与位移相联,提高跟踪频次的准确性。跟踪频次系数越大,第一跟踪频次越大,即第一跟踪频次与跟踪频次系数正相关。
可以理解,st<α记为图像绝对稳定,α<=st<β记为图像在观察窗口内相对稳定,β<=st<γ记为图像相对运动,γ<=st<θ记为图像快速运动。α为第一预设位移,β为第二预设位移,γ为第三预设位移,θ为第四预设位移。
检测到图像在观察窗口内处于稳定、相对稳定、相对运动、快速运动时,分别采取跟踪频次系数a处理,a∈{a1、a2、a3、a4},其中a1<a2<a3<a4,a1为第一预设系数,a2为第二预设系数,a3为第三预设系数,a4为第四预设系数。第一跟踪频次为预设帧图像采集频次乘以跟踪频次系数a。然后可基于第一跟踪频次进行目标跟踪,降低跟踪频次,减少功耗。
第一部分帧图像的帧数数量与a1有关,第二部分帧图像的帧数数量与a2有关,第三部分帧图像的帧数数量与a3有关,第四部分帧图像的帧数数量与a4有关。根据上述不同的跟踪频次系数,得到的第一预设系数不同,则第一跟踪频次不同,部分帧图像的帧数数量即与第一跟踪频次相关,第一跟踪频次越大,部分帧图像的帧数数量越大。
为使得不同性能的电子设备拥有较好的跟踪效果,上述a1、a2、a3、a4在不同性能的电子设备上可取值不同。以低端性能电子设备X为例,在实时视频内对以30FPS输入的每帧图像做跟踪运算,将会造成CPU的吞吐阻塞,不仅造成CPU功耗上升,还使得跟踪运算频次远远低于30FPS。从而,可进行降频处理,使其每秒帧跟踪的帧图像减少,从而减少功耗。
如图2所示,在一个实施例中,本申请还提供一种视觉搜索装置200,该装置包括:
对象确定模块210,用于确定视觉搜索流程中的第一对象,其中,第一对象在视觉搜索流程中的功耗大于视觉搜索流程中的第二对象的功耗,其中,第一对象包括程序和算法中的至少一项,第二对象包括程序和算法至少一项;
搜索模块220,用于采用第一对象的优化对象进行视觉搜索,其中,优化对象运算速度高于第一对象运算速度,和/或,优化对象在单位时间内的总运算次数少于第一对象在单位时间内的总运算次数。
在一个实施例中,优化对象包括对第一对象包括的程序和算法中的至少一项的内容进行优化得到的对象;或者
优化对象包括对第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象;或者
优化对象包括对第一对象包括的程序和算法中的至少一项的内容进行优化,以及对第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象。
在一个实施例中,对第一对象包括的程序和算法中的至少一项的内容进行优化包括:
对第一对象包括的程序和算法中的至少一项的深度学习模型进行网络结构裁剪或知识蒸馏优化处理。
在一个实施例中,对第一对象包括的程序和算法中的至少一项的调度进行优化,包括:
降低对第一对象包括的程序和算法中的至少一项的调度频次。
如图3所示,在一个实施例中,第一对象包括跟踪算法,优化对象包括对跟踪算法的调度进行优化得到的优化跟踪算法;
搜索模块220,包括:
图像获取模块221,用于获取第i帧图像,i为正整数;
目标检测模块222,用于对第i帧图像进行目标检测,以获得第i帧图像中目标的位置;
跟踪模块223,用于采用优化跟踪算法进行目标跟踪,其中,优化跟踪算法用于基于第i帧图像中目标的位置,对第i帧图像的后续的部分帧图像进行目标跟踪。
在一个实施例中,优化对象包括:依据第i帧图像和N个前序帧图像的像素总位移,对跟踪算法的调度进行优化得到的优化跟踪算法,其中,N个前序帧图像为采集时间在第i帧图像的采集时间之前采集的N帧图像,N为正整数。
在一个实施例中,在像素总位移小于第一预设位移的情况下,优化跟踪算法用于基于第i帧图像中目标的位置,对第i帧图像的后续的第一部分帧图像进行目标跟踪;或者
在像素总位移大于或等于第一预设位移,且小于第二预设位移的情况下,优化跟踪算法用于基于第i帧图像中目标的位置,对第i帧图像的后续的第二部分帧图像进行目标跟踪;或者
在像素总位移大于或等于第二预设位移,且小于第三预设位移的情况下,优化跟踪算法用于基于第i帧图像中目标的位置,对第i帧图像的后续的第三部分帧图像进行目标跟踪;或者
在像素总位移大于或等于第三预设位移的情况下,优化跟踪算法用于基于第i帧图像中目标的位置,对第i帧图像的后续的第四部分帧图像进行目标跟踪;
其中,第一预设位移、第二预设位移、第三预设位移和第四预设位移依次增大,第一部分帧图像、第二部分帧图像、第三部分帧图像和第四部分帧图像的帧数数量依次增多。
上述各实施例的视觉搜索装置为实现上述各实施例的视觉搜索方法的装置,技术特征对应,技术效果对应,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图4所示,是根据本申请实施例的视觉搜索方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,该电子设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图4中以一个处理器401为例。
存储器402即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的视觉搜索方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的视觉搜索方法。
存储器402作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的视觉搜索方法对应的程序指令/模块(例如,附图2所示的对象确定模块210、和搜索模块220)。处理器401通过运行存储在存储器402中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的视觉搜索方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据键盘显示的电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至键盘显示的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
视觉搜索方法的电子设备还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置403可接收输入的数字或字符信息,以及产生与键盘显示的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,能够在电子设备的宽度大于第一预设宽度的情况下,生成第一子键盘和第二子键盘,并间隔显示第一子键盘以及第二子键盘,即第一子键盘以及第二子键盘之间存在间隔,则用户无需在间隔中进行按键操作,使用户在操作过程中容易触达键盘中的按键,可缩短用户对键盘的操作路径,进而提高输入效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种视觉搜索方法,其特征在于,所述方法包括:
确定视觉搜索流程中的第一对象,其中,所述第一对象在所述视觉搜索流程中的功耗大于所述视觉搜索流程中的第二对象的功耗,其中,所述第一对象包括程序和算法中的至少一项,所述第二对象包括程序和算法至少一项;
采用所述第一对象的优化对象进行视觉搜索,其中,所述优化对象运算速度高于所述第一对象运算速度,和/或,所述优化对象在单位时间内的总运算次数少于所述第一对象在所述单位时间内的总运算次数;
所述优化对象包括对所述第一对象包括的程序和算法中的至少一项的内容进行优化得到的对象;
所述对第一对象包括的程序和算法中的至少一项的内容进行优化包括:对第一对象包括的程序和算法中的至少一项的深度学习模型进行网络结构裁剪或知识蒸馏优化处理;
所述采用所述第一对象的优化对象进行视觉搜索,包括:
获取第i帧图像,所述i为正整数;
在第i帧图像满足预设触发条件的情况下,对第i帧图像进行目标检测;
在第i帧图像不满足所述预设触发条件的情况下,不对所述第i帧图像进行目标检测;
所述预设触发条件包括:第i帧图像与第i-1帧图像之间的位移小于预设位移阈值且对第i-1帧图像未进行目标检测。
2.根据权利要求1所述的方法,其特征在于,所述优化对象包括对所述第一对象包括的程序和算法中的至少一项的内容进行优化,以及对所述第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象。
3.根据权利要求2所述的方法,其特征在于,
所述对所述第一对象包括的程序和算法中的至少一项的调度进行优化,包括:
降低对所述第一对象包括的程序和算法中的至少一项的调度频次。
4.根据权利要求2或3所述的方法,其特征在于,所述第一对象包括跟踪算法,所述优化对象包括对所述跟踪算法的调度进行优化得到的优化跟踪算法;
采用所述优化跟踪算法进行目标跟踪,其中,所述优化跟踪算法用于基于所述第i帧图像中目标的位置,对所述第i帧图像的后续的部分帧图像进行目标跟踪。
5.根据权利要求4所述的方法,其特征在于,所述优化对象包括:依据所述第i帧图像和N个前序帧图像的像素总位移,对所述跟踪算法的调度进行优化得到的优化跟踪算法,其中,所述N个前序帧图像为采集时间在所述第i帧图像的采集时间之前采集的N帧图像,所述N为正整数。
6.根据权利要求5所述的方法,其特征在于,在所述像素总位移小于第一预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第一部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第一预设位移,且小于第二预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第二部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第二预设位移,且小于第三预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第三部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第三预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第四部分帧图像进行目标跟踪;
其中,所述第一预设位移、第二预设位移、第三预设位移和第四预设位移依次增大,所述第一部分帧图像、第二部分帧图像、第三部分帧图像和第四部分帧图像的帧数数量依次增多。
7.一种视觉搜索装置,其特征在于,所述装置包括:
对象确定模块,用于确定视觉搜索流程中的第一对象,其中,所述第一对象在所述视觉搜索流程中的功耗大于所述视觉搜索流程中的第二对象的功耗,其中,所述第一对象包括程序和算法中的至少一项,所述第二对象包括程序和算法至少一项;
搜索模块,用于采用所述第一对象的优化对象进行视觉搜索,其中,所述优化对象运算速度高于所述第一对象运算速度,和/或,所述优化对象在单位时间内的总运算次数少于所述第一对象在所述单位时间内的总运算次数;
所述优化对象包括对所述第一对象包括的程序和算法中的至少一项的内容进行优化得到的对象;
所述对第一对象包括的程序和算法中的至少一项的内容进行优化包括:对第一对象包括的程序和算法中的至少一项的深度学习模型进行网络结构裁剪或知识蒸馏优化处理;
所述采用所述第一对象的优化对象进行视觉搜索,包括:
获取第i帧图像,所述i为正整数;
在第i帧图像满足预设触发条件的情况下,对第i帧图像进行目标检测;
在第i帧图像不满足所述预设触发条件的情况下,不对所述第i帧图像进行目标检测;
所述预设触发条件包括:第i帧图像与第i-1帧图像之间的位移小于预设位移阈值且对第i-1帧图像未进行目标检测。
8.根据权利要求7所述的装置,其特征在于,所述优化对象包括对所述第一对象包括的程序和算法中的至少一项的内容进行优化,以及对所述第一对象包括的程序和算法中的至少一项的调度进行优化得到的对象。
9.根据权利要求8所述的装置,其特征在于,
所述对所述第一对象包括的程序和算法中的至少一项的调度进行优化,包括:
降低对所述第一对象包括的程序和算法中的至少一项的调度频次。
10.根据权利要求8或9所述的装置,其特征在于,所述第一对象包括跟踪算法,所述优化对象包括对所述跟踪算法的调度进行优化得到的优化跟踪算法;
跟踪模块,用于采用所述优化跟踪算法进行目标跟踪,其中,所述优化跟踪算法用于基于所述第i帧图像中目标的位置,对所述第i帧图像的后续的部分帧图像进行目标跟踪。
11.根据权利要求10所述的装置,其特征在于,所述优化对象包括:依据所述第i帧图像和N个前序帧图像的像素总位移,对所述跟踪算法的调度进行优化得到的优化跟踪算法,其中,所述N个前序帧图像为采集时间在所述第i帧图像的采集时间之前采集的N帧图像,所述N为正整数。
12.根据权利要求11所述的装置,其特征在于,在所述像素总位移小于第一预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第一部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第一预设位移,且小于第二预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第二部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第二预设位移,且小于第三预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第三部分帧图像进行目标跟踪;或者
在所述像素总位移大于或等于第三预设位移的情况下,所述优化跟踪算法用于基于所述第i帧图像中所述目标的位置,对所述第i帧图像的后续的第四部分帧图像进行目标跟踪;
其中,所述第一预设位移、第二预设位移、第三预设位移和第四预设位移依次增大,所述第一部分帧图像、第二部分帧图像、第三部分帧图像和第四部分帧图像的帧数数量依次增多。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述权利要求1-6中任意一项的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行所述权利要求1-6中任意一项的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204967.0A CN111008305B (zh) | 2019-11-29 | 2019-11-29 | 一种视觉搜索方法、装置以及电子设备 |
JP2020082447A JP2021086602A (ja) | 2019-11-29 | 2020-05-08 | 視覚探索方法、装置および電子機器 |
US16/871,206 US11704813B2 (en) | 2019-11-29 | 2020-05-11 | Visual search method, visual search device and electrical device |
EP20173873.9A EP3828733B1 (en) | 2019-11-29 | 2020-05-11 | Visual search method, visual search device and electrical device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204967.0A CN111008305B (zh) | 2019-11-29 | 2019-11-29 | 一种视觉搜索方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111008305A CN111008305A (zh) | 2020-04-14 |
CN111008305B true CN111008305B (zh) | 2023-06-23 |
Family
ID=70112212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911204967.0A Active CN111008305B (zh) | 2019-11-29 | 2019-11-29 | 一种视觉搜索方法、装置以及电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11704813B2 (zh) |
EP (1) | EP3828733B1 (zh) |
JP (1) | JP2021086602A (zh) |
CN (1) | CN111008305B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230229628A1 (en) * | 2022-01-14 | 2023-07-20 | Xetdata Inc. | Content-addressed storage using content-defined trees |
CN117687772A (zh) * | 2023-07-31 | 2024-03-12 | 荣耀终端有限公司 | 一种算法调度方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016034008A1 (zh) * | 2014-09-04 | 2016-03-10 | 华为技术有限公司 | 一种目标跟踪方法及装置 |
CN110197121A (zh) * | 2019-04-24 | 2019-09-03 | 上海理工大学 | 基于DirectShow的运动目标检测方法、运动目标检测模块及监控*** |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005309777A (ja) * | 2004-04-21 | 2005-11-04 | Toyota Motor Corp | 画像処理方法 |
CN100359536C (zh) * | 2006-03-02 | 2008-01-02 | 复旦大学 | 基于自适应卡尔曼初始搜索位置选取的图像跟踪算法 |
JP5683851B2 (ja) * | 2009-08-20 | 2015-03-11 | 株式会社ザクティ | 撮像装置及び画像処理装置 |
MX2012009579A (es) * | 2010-02-19 | 2012-10-01 | Toshiba Kk | Sistema de rastreo de objetos en movimiento y metodo de rastreo de objetos en movimiento. |
CN101986348A (zh) * | 2010-11-09 | 2011-03-16 | 上海电机学院 | 一种视觉目标识别与跟踪方法 |
JP2012133759A (ja) * | 2010-11-29 | 2012-07-12 | Canon Inc | 侵入物体の検知を行うことができる物体追尾装置、物体追尾方法及び記憶媒体 |
GB201208088D0 (en) * | 2012-05-09 | 2012-06-20 | Ncam Sollutions Ltd | Ncam |
EP2770783B1 (en) * | 2013-02-21 | 2018-06-20 | Apple Inc. | A wearable information system having at least one camera |
US20140376773A1 (en) * | 2013-06-21 | 2014-12-25 | Leap Motion, Inc. | Tunable operational parameters in motion-capture and touchless interface operation |
CN104731784B (zh) | 2013-12-18 | 2019-03-26 | 中兴通讯股份有限公司 | 视觉搜索方法、***以及移动终端 |
US10346465B2 (en) * | 2013-12-20 | 2019-07-09 | Qualcomm Incorporated | Systems, methods, and apparatus for digital composition and/or retrieval |
US9791541B2 (en) * | 2014-12-19 | 2017-10-17 | The Boeing Company | System and method to improve object tracking using multiple tracking systems |
CN104915969B (zh) * | 2015-05-21 | 2019-01-18 | 云南大学 | 一种基于粒子群优化的模版匹配跟踪方法 |
US10586102B2 (en) * | 2015-08-18 | 2020-03-10 | Qualcomm Incorporated | Systems and methods for object tracking |
CN105491336B (zh) | 2015-12-08 | 2018-07-06 | 成都芯软科技发展有限公司 | 一种低功耗图像识别模块 |
CN105718866B (zh) | 2016-01-15 | 2019-02-01 | 北京大学 | 一种视觉目标检测与识别方法 |
CN106210808B (zh) * | 2016-08-08 | 2019-04-16 | 腾讯科技(深圳)有限公司 | 媒体信息投放方法、终端、服务器及*** |
CN106558064A (zh) * | 2016-12-07 | 2017-04-05 | 江南大学 | 一种基于元胞量子行为粒子群算法的目标跟踪方法 |
WO2019127227A1 (en) * | 2017-12-28 | 2019-07-04 | Intel Corporation | Vehicle sensor fusion |
CN108282597A (zh) * | 2018-01-05 | 2018-07-13 | 佛山市顺德区中山大学研究院 | 一种基于fpga的实时目标追踪***和方法 |
CN108320301B (zh) * | 2018-01-26 | 2022-03-18 | 西安电子科技大学 | 一种基于跟踪学习检测的目标跟踪优化方法 |
US11205274B2 (en) * | 2018-04-03 | 2021-12-21 | Altumview Systems Inc. | High-performance visual object tracking for embedded vision systems |
WO2020000382A1 (en) * | 2018-06-29 | 2020-01-02 | Hangzhou Eyecloud Technologies Co., Ltd. | Motion-based object detection method, object detection apparatus and electronic device |
US11010905B2 (en) * | 2018-09-07 | 2021-05-18 | Apple Inc. | Efficient object detection and tracking |
CN109558505A (zh) * | 2018-11-21 | 2019-04-02 | 百度在线网络技术(北京)有限公司 | 视觉搜索方法、装置、计算机设备及存储介质 |
CN109978922A (zh) * | 2019-04-03 | 2019-07-05 | 北京环境特性研究所 | 一种基于梯度信息的目标实时跟踪方法及装置 |
CN110147750B (zh) * | 2019-05-13 | 2021-08-24 | 深圳先进技术研究院 | 一种基于运动加速度的图像搜索方法、***及电子设备 |
CN110349190B (zh) * | 2019-06-10 | 2023-06-06 | 广州视源电子科技股份有限公司 | 自适应学习的目标跟踪方法、装置、设备及可读存储介质 |
CN110490905A (zh) * | 2019-08-15 | 2019-11-22 | 江西联创精密机电有限公司 | 一种基于YOLOv3和DSST算法的目标跟踪方法 |
IT201900018821A1 (it) * | 2019-10-15 | 2021-04-15 | Sisvel Tech S R L | Method and apparatus for pruning neural networks |
CN110826344B (zh) * | 2019-10-24 | 2022-03-01 | 北京小米智能科技有限公司 | 神经网络模型压缩方法、语料翻译方法及其装置 |
-
2019
- 2019-11-29 CN CN201911204967.0A patent/CN111008305B/zh active Active
-
2020
- 2020-05-08 JP JP2020082447A patent/JP2021086602A/ja active Pending
- 2020-05-11 US US16/871,206 patent/US11704813B2/en active Active
- 2020-05-11 EP EP20173873.9A patent/EP3828733B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016034008A1 (zh) * | 2014-09-04 | 2016-03-10 | 华为技术有限公司 | 一种目标跟踪方法及装置 |
CN110197121A (zh) * | 2019-04-24 | 2019-09-03 | 上海理工大学 | 基于DirectShow的运动目标检测方法、运动目标检测模块及监控*** |
Non-Patent Citations (2)
Title |
---|
Energy efficient surveillance system using WVSN with reweighted sampling in modified fast Haar wavelet transform domain;R. Monika, R. Hemalatha & S. Radha;《SpringerLink》;全文 * |
面向移动增强现实的场景识别与跟踪注册技术研究;桂振文;《中国博士学位论文全文数据库》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP3828733B1 (en) | 2023-09-13 |
JP2021086602A (ja) | 2021-06-03 |
US11704813B2 (en) | 2023-07-18 |
CN111008305A (zh) | 2020-04-14 |
US20210166401A1 (en) | 2021-06-03 |
EP3828733A1 (en) | 2021-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102528748B1 (ko) | 지식 그래프를 구축하는 방법, 장치, 기기 및 저장 매체 | |
CN110659600B (zh) | 物体检测方法、装置及设备 | |
US11074437B2 (en) | Method, apparatus, electronic device and storage medium for expression driving | |
CN111524166B (zh) | 视频帧的处理方法和装置 | |
CN111722245B (zh) | 定位方法、定位装置和电子设备 | |
CN110968718B (zh) | 目标检测模型负样本挖掘方法、装置及电子设备 | |
CN110826507B (zh) | 人脸检测方法、装置、设备及存储介质 | |
CN111275190B (zh) | 神经网络模型的压缩方法及装置、图像处理方法及处理器 | |
EP3866065B1 (en) | Target detection method, device and storage medium | |
CN111008305B (zh) | 一种视觉搜索方法、装置以及电子设备 | |
CN112148160B (zh) | 浮窗显示方法、装置、电子设备和计算机可读存储介质 | |
CN112825013A (zh) | 终端设备的控制方法和装置 | |
US20210334985A1 (en) | Method and apparatus for tracking target | |
CN111601013B (zh) | 用于处理视频帧的方法和装置 | |
CN111680600A (zh) | 人脸识别模型处理方法、装置、设备和存储介质 | |
CN111784757A (zh) | 深度估计模型的训练方法、深度估计方法、装置及设备 | |
CN111626263A (zh) | 一种视频感兴趣区域检测方法、装置、设备及介质 | |
CN112508964B (zh) | 图像分割方法、装置、电子设备和存储介质 | |
CN111696134B (zh) | 一种目标检测方法、装置以及电子设备 | |
CN111680599B (zh) | 人脸识别模型处理方法、装置、设备和存储介质 | |
CN111638787B (zh) | 用于展示信息的方法和装置 | |
CN112270303A (zh) | 图像识别方法、装置以及电子设备 | |
CN111160552A (zh) | 负采样处理方法、装置、设备和计算机存储介质 | |
CN110798681A (zh) | 成像设备的监测方法、装置和计算机设备 | |
CN112565605B (zh) | 图像显示方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |