CN113077396B - 直线段检测方法及装置、计算机可读介质和电子设备 - Google Patents
直线段检测方法及装置、计算机可读介质和电子设备 Download PDFInfo
- Publication number
- CN113077396B CN113077396B CN202110335166.9A CN202110335166A CN113077396B CN 113077396 B CN113077396 B CN 113077396B CN 202110335166 A CN202110335166 A CN 202110335166A CN 113077396 B CN113077396 B CN 113077396B
- Authority
- CN
- China
- Prior art keywords
- straight line
- line segment
- frame image
- current frame
- detection
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 165
- 238000012937 correction Methods 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000001914 filtration Methods 0.000 claims abstract description 30
- 230000008859 change Effects 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 11
- 230000014759 maintenance of location Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000005452 bending Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000013112 stability test Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- 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/10004—Still image; Photographic image
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/44—Morphing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本公开提供一种直线段检测方法、直线段检测装置、计算机可读介质和电子设备,涉及图像处理技术领域。该方法包括:对当前帧图像进行直线段检测得到直线段集合,并获取当前帧图像在视频中的前一帧图像对应的对象畸变校正网格;基于对象畸变校正网格对直线段集合进行滤除,得到目标直线段集合。本公开通过前一帧图像的人脸畸变网格点指导当前帧图像中的直线段的保留与剔除,可以提高显著直线的检出数量和检测效率;同时,可以避免无效直线的检测,进而提高检测结果的准确性。
Description
技术领域
本公开涉及图像处理技术领域,具体涉及一种直线段检测方法、直线段检测装置、计算机可读介质和电子设备。
背景技术
用户在使用手机、平板电脑等设备中的相机应用进行人像拍照或者摄影时,靠近图像边缘的人脸会发生变形,这是由于相机成像过程中的透视投影导致的透视变形。由于人眼对于人脸、人物等图像的畸变较为敏感,因此需要对人脸、人物图像等进行畸变校正,以避免透视投影导致的透视变形。
在相关技术中,在对人脸或人物图像进行畸变校正时,往往会导致图像中的直线在校正后发生弯曲、错位等变形的现象。为了避免这一问题,需要对图像中比较明显的显著直线进行检测,以便于对图像中的显著直线进行保护,进而避免人脸畸变校正导致显著直线变形的现象。
发明内容
本公开的目的在于提供一种直线段检测方法、直线段检测装置、计算机可读介质和电子设备,进而至少在一定程度上提高显著直线的检出数量和检测效率。
根据本公开的第一方面,提供一种直线段检测方法,应用于视频的直线检测,包括:对当前帧图像进行直线段检测得到直线段集合,并获取当前帧图像在视频中的前一帧图像对应的对象畸变校正网格;基于对象畸变校正网格对直线段集合进行滤除,得到目标直线段集合。
根据本公开的第二方面,提供一种直线段检测装置,应用于视频的直线检测,包括:直线段检测模块,用于对当前帧图像进行直线段检测得到直线段集合,并获取当前帧图像在视频中的前一帧图像对应的对象畸变校正网格;直线段滤除模块,用于基于对象畸变校正网格对直线段集合进行滤除,得到目标直线段集合。
根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法。
根据本公开的第四方面,提供一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的方法。
本公开的一种实施例所提供的直线段检测方法,通过对当前帧图像进行直线段检测,并基于前一帧图像对应的对象畸变校正网格对直线段进行滤除,可以得到目标直线段集合。通过前一帧图像的人脸畸变网格点指导当前帧图像中的直线段的保留与剔除,可以提高显著直线的检出数量和检测效率;同时,可以避免无效直线的检测,进而提高检测结果的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;
图2示出了可以应用本公开实施例的一种电子设备的示意图;
图3示意性示出本公开示例性实施例中一种直线段检测方法的流程图;
图4示意性示出本公开示例性实施例中一种直线段重叠关系的示意图;
图5示意性示出一种畸变校正之前的原始网格;
图6示意性示出本公开示例性实施例中一种进行对象畸变校正之后的对象畸变校正网格;
图7示意性示出本公开示例性实施例中一种基于对象畸变校正网格对直线段集合进行滤除的方法的流程图;
图8示意性示出本公开示例性实施例中另一种直线段检测方法的流程图;
图9示意性示出本公开示例性实施例中直线段检测装置的组成示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种直线段检测方法及装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种具有图像处理功能的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
本公开实施例所提供的直线段检测方法一般由终端设备101、102、103中执行,相应地,直线段检测方法装置一般设置于终端设备101、102、103中。但本领域技术人员容易理解的是,本公开实施例所提供的直线段检测方法也可以由服务器105执行,相应的,直线段检测方法装置也可以设置于服务器105中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是用户通过终端设备101、102、103采集包含人像的视频,然后通过网络104发送至服务器105,服务器105通过本公开实施例所提供的直线段检测方法进行直线检测后,将检测结果发送给终端设备101、102、103等。
本公开的示例性实施方式提供一种用于实现直线段检测方法的电子设备,其可以是图1中的终端设备101、102、103或服务器105。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行直线段检测方法。
下面以图2中的移动终端200为例,对电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图2中的构造也能够应用于固定类型的设备。在另一些实施方式中,移动终端200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。各部件间的接口连接关系只是示意性示出,并不构成对移动终端200的结构限定。在另一些实施方式中,移动终端200也可以采用与图2不同的接口连接方式,或多种接口连接方式的组合。
如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、通用串行总线(Universal Serial Bus,USB)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏290、摄像模组291、指示器292、马达293、按键294以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括陀螺仪传感器2801、深度传感器2802、压力传感器2803等。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(Application Processor,AP)、调制解调处理器、图形处理器(Graphics ProcessingUnit,GPU)、图像信号处理器(Image Signal Processor,ISP)、控制器、视频编解码器、数字信号处理器(Digital Signal Processor,DSP)、基带处理器和/或神经网络处理器(Neural-Network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
NPU为神经网络(Neural-Network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。在一些实施例中,NPU可以用于进行人脸识别得到人脸区域,或者还可以用于进行人像分割,得到人像区域和背景区域。
处理器210中设置有存储器。存储器可以存储用于实现六个模块化功能的指令:检测指令、连接指令、信息管理指令、分析指令、数据传输指令和通知指令,并由处理器210来控制执行。
移动终端200通过GPU、显示屏290及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏290和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。在一些实施例中,GPU可以用于对图像进行对象畸变校正,得到对象畸变校正网格。
陀螺仪传感器2801可以用于确定移动终端200的运动姿态。在一些实施方式中,可以通过陀螺仪传感器2801确定移动终端200围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器2801可以用于拍摄防抖、导航、体感游戏场景等。在一些实施例中,陀螺仪传感器2801可以用于获取拍摄当前帧图像时相机的标准位姿参数,以及拍摄检测范围中的各帧图像时相机的检测位姿参数,以便于确定相机稳定性。
深度传感器2802用于获取景物的深度信息。在一些实施例中,深度传感器可以设置于摄像模组291。
压力传感器2803用于感受压力信号,可以将压力信号转换成电信号。
此外,还可以根据实际需要在传感器模块280中设置其他功能的传感器,例如气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器、骨传导传感器等。
在相关技术中,为了能够对视频进行对象畸变校正,往往会采用以下几类方式对图像中的直线进行检查:
一类时对图像机械能处理获取显著边界点集合,然后在点的集合中进行拟合找到直线段,如霍夫变换法;一类是对图像进行处理得到边缘段集合,然后再在边缘段集合中找到是直线段的部分,如LSD(a Line Segment Detector,直线段检测算法);最后一类是计算图像中一些最有可能成为边缘的锚点,然后连接锚点形成链,最后将链分割成一个或多个直线段,如EDLines。
然而上述三类方法的检测过程均存在不同的问题。例如,第一类方法常常会将非连续的线段组合在一起,产生大量的错误检测结果;同时,由于需要对图像中的随机点集进行计算,因此可能存在大量的重复性计算,导致计算效率低;第二类方法需要获取整个图像的边缘段集合,再在边缘段集合中找到是直线的部分,相当于检测了大量非直线的边缘,检测耗时较长;第三类方法虽然速度快,但容易受到噪声和遮挡物的影响,导致同一直线被断开等无法准确检测显著直线的问题。
基于上述一个或多个问题,本示例实施方式提供了一种直线段检测方法。该直线段检测方法可以应用于视频的直线段检测中。参考图3所示,该直线段检测方法可以包括以下步骤S310和S320:
在步骤S310中,对当前帧图像进行直线段检测得到直线段集合,并获取当前帧图像在视频中的前一帧图像对应的对象畸变校正网格。
在一示例性实施例中,在对当前帧图像进行直线段检测时,可以输出当前帧图像中各条直线段的起始坐标、终止坐标、直线段长度、直线响应强度等属性信息。需要说明的是,步骤S310中的直线段检测是对当前帧图像中的直线段的初始检测,为了提高直线段检测的速度,可以采用EDLines等快速检测直线的方法。
进一步的,在一示例性实施例中,在对当前帧图像进行直线段检测时,可以先对当前帧图像进行对象分割,以获取分割后得到的背景区域,然后对背景区域进行直线段检测,得到直线段集合。由于进行对象畸变矫正通常不会对对象所在区域造成影响,因此可以通过对当前帧图像进行对象分割,滤除对象所在区域,对当前帧图像中对象之外背景区域进行直线段检测,可以降低进行直线段检测的计算量,节约计算资源。
需要说明的是,在进行对象分割时,为了保证对象的完整性,还可以对需要分割的对象进行一定程度的扩大,以便于剔除被遮挡的区域,减少计算量。例如,在对象为人脸时,可以将整个人像分割开来,剔除人像遮挡的区域,进而减少了检测直线段的计算量。
可以将人脸扩大为整个人像进行分割,进而滤除掉人的身体部分,避免对人的身体部分进行直线段检测。
在一示例性实施例中,由于用户通常会更关注拍摄清晰的图像中的直线段,因此在对当前帧图像进行直线段检测之前,可以先对当前帧图像进行稳定性的检测。在当前帧图像的稳定性较好时,用户对直线段的关注度相对较高,因此可以继续执行直线段检测的步骤;反之,在当前帧图像的稳定性较差时,其拍摄的包含对象在内的场景很可能也处于模糊状态。在这种情况下,用户对当前帧图像中的直线段关注度较低,因此可以忽略当前帧图像,不对其执行直线段检测的步骤。通过对当前帧图像的稳定性进行检测,可以有选择的针对视频中用户对直线段关注度较高的图像进行直线段检测,进而加快了对整个视频的直线段检测过程。
在一示例性实施例中,由于当前帧图像的稳定性通常与其前后连续的多帧图像相关,因此在检测当前帧图像的稳定性时,可以通过设定的预设范围在视频中确定当前帧图像对应的检测范围,然后基于当前帧图像和检测范围内的各帧图像确定当前帧图像的稳定性。其中,预设范围可以视频中在当前帧图像前后预设帧数范围内的图像。例如,假设当前帧为视频中的第20帧图像,预设范围为前后5帧,则可以将第15帧至第25帧之间的,除去当前帧图像之外的图像作为检测范围。
需要说明是,预设范围还可以根据不同的视频,以及对视频处理的要求进行不同的设定,本公开对此不做特殊限定。例如,在对视频进行实时处理时,由于还没有获取到当前帧图像之后的图像,因此可以将预设范围设定为当前帧图像的前20帧图像(在当前帧图像为第21帧图像时,检测范围为视频的第1至第20帧图像)。
在一示例性实施例中,上述当前帧图像的稳定性可以包括对象稳定性。由于进行直线段检测的目的是为了进行对象畸变校正时对直线段进行保护。在当前帧图像中的对象稳定性较差,即对象本身出现模糊状态时,用户对对象的关注度降低,对应的可能不需要进行对象畸变校正,因此也不需要进行直线段检测。基于此,在检测当前帧图像的稳定性时,可以进行对象稳定性的检测。
具体的,在对当前帧图像进行对象稳定性的检测时,可以对当前帧图像进行对象检测,以获取各个检测图像中对象所在的对象区域。然后按照各个检测图像在视频中的顺序,分别计算各检测图像对应的对象区域的位置变化量;其中,位置变化量是指当前帧检测图像相对于当前帧检测图像的前一帧检测图中,对象所在的对象区域的位置变化量。在得到检测范围内的各检测图像对应的对象区域的位置变化量后,判断各个位置变化量是否满足第一预设条件,并在所有的位置变化量均满足第一预设条件时,确定当前帧图像处于对象稳定状态。
需要说明的是,在一些实施例中,当前帧图像中可能存在多个对象,此时在进行对象识别时,需要针对不同的对象做不同的标记。在计算位置变动量时,可以根据标记对不同图像中对应的对象进行位置变动量计算。
举例而言,假设预设范围为当前帧图像及其前20帧图像,第一预设条件为小于50像素,当前帧图像中包括对象a和对象b。此时,若当前帧图像为第21帧图像,则当前帧图像对应的检测范围则为第1帧图像至第20帧图像以及当前帧图像(第21帧图像)。此时,针对第1帧至第21帧的检测图像进行对象检测,得到每一帧检测图像中对象a的位置1和对象b的位置2。然后,按照每一帧检测图像在视频中的顺序,计算该帧检测图像中的对象区域相对与前一帧检测图像的对象区域的位置变化量。例如,第15帧检测图像中对象a的位置为x区域,在第14帧检测图像中对象a的位置为y区域(y区域为相对于x区域向左平移2个像素的区域),则第15帧检测图像对应的位置变化量为2个像素。若根据第1帧至第21帧检测图像计算得到的20个位置变化量均小于50个像素,则可以认为当前帧图像处于对象稳定状态。
需要说明的是,上述第一预设条件可以根据对象区域的不同表示方式进行不同的设定。例如,对象区域若可以通过中心点坐标确定,则预设条件可以是针对坐标设定的条件。本公开对此不做特殊限定。
在一示例性实施例中,上述稳定性还可以包括相机稳定性。由于相机的稳定性为拍摄图像稳定性的基础,在相机稳定性较差时,可能出现图像整体处于模糊的状态。此时用户对图像整体的关注度均降低,对应的可能也不需要进行对象畸变矫正,因此也不需要进行直线段检测。基于此,在检测当前帧图像的稳定性时,可以进行相机稳定性的检测。
具体的,在对当前帧图像进行相机稳定性的检测时,可以先获取拍摄检测范围内各检测图像时,拍摄使用的相机对应的位姿参数。然后按照检测图像在视频中的顺序,计算各检测图像对应的位姿参数变化量。之后,判断各检测图像对应的位姿参数变化量是否满足第二预设条件,并在检测范围内所有检测图像对应的位姿参数变化量均满足第二预设条件时,确定当前帧图像处于相机稳定状态。
其中,位姿参数变化量是指拍摄当前帧检测图像时的位姿参数相对于拍摄当前帧检测图像的前一帧检测图像时的位姿参数的变化量。例如,检测范围为第1帧图像至第20帧图像以及当前帧图像(第21帧图像)时,拍摄第13帧和第14帧检测图像时的位姿参数分别为c和d,则第14帧检测图像对应的位姿参数变化量即为∣d-c∣。需要说明的是,相机拍摄时包括的位姿参数可能有很多。例如,位姿参数可以是陀螺仪参数。针对不同的位姿参数,可以选择其中的一个或多个关键参数分别计算变化量,并针对一个或多个关键参数设定第二预设条件,以根据第二预设条件和位姿参数变化量确定相机稳定性。本公开对位姿参数的选择和第二预设条件的设定不做特殊限定。
在一示例性实施例中,在基于对象畸变校正网格对直线段集合进行滤除之前,还可以先根据直线段集合中各个直线段之间的位置关系对直线段进行合并。
具体的,针对直线段集合中的每个直线段,可以先在直线段集合中的剩余直线段中确定该直线段对应的相邻直线段集合,然后再在相邻直线段集合中的相邻直线段筛选满足第三位置关系的相邻直线段作为待合并直线集合,最后将该集合中的待合并直线段与该直线段合并为一条直线段。
其中,相邻直线段集合中的相邻直线段是指剩余直线段中,两个端点之一与该直线段的两个端点之一的距离小于预设阈值的直线段。具体的,在确定相邻直线段集合时,针对每个直线段,可以计算剩余直线段与该直线段的最短距离,并在最短距离小于预设阈值时,将剩余直线段确定为该直线段对应的相邻直线段。其中,最短距离是指剩余直线段的两个端点与直线段两个端点之间的距离的最小值。例如,直线段包括两个端点1和2,剩余直线段包括两个端点3和4。其中,端点1和3,端点1和4,端点2和3,以及端点2和4共可以计算出4个距离,在这4个距离中的最小值即为上述最短距离。
需要说明的是,在实际确定最短距离时,可以先通过直线段与剩余直线段的位置关系确定剩余直线段上离直线段较近的一个端点,然后再计算最短距离。
其中,需要合并的待合并直线段通常为与直线段方向一致,且没有重叠的相邻直线段,因此可以基于直线段与相邻直线段的位置关系进一步确定待合并直线段。举例而言,第三位置关系可以设置为:与直线段的夹角小于预设夹角,且与直线段没有重叠关系的相邻直线段。其中,直线段与相邻直线段的重叠关系是指其横坐标或纵坐标之一相同。参照图4所示,410中两条直线段的横、纵坐标均没有相同之处,因此没有重叠关系,420中两条直线段的横坐标部分重叠,属于半重叠关系,430中两条直线段中一条直线段的横坐标被另一条直线段的横坐标完全覆盖,属于完全重叠关系。
在步骤S320中,基于对象畸变校正网格对直线段集合进行滤除,得到目标直线段集合。
其中,对象畸变校正网格是指对靠近图像边缘的对象进行畸变校正后得到的对象畸变校正网格。例如,图5为畸变校正之前的原始网格,图6则为对对象进行畸变校正之后的对象畸变校正网格,可以看到图6中对象畸变校正网格在对象所在的对象区域内出现了变形。本公开所需的即为图6所示的进行畸变校正之后的对象畸变校正网格。
在一示例性实施例中,基于对象畸变校正网格对直线段集合进行滤除时,参照图7所示,可以包括以下步骤S710和S720:
在步骤S710中,根据对象畸变校正网格确定当前帧图像对应的变形区域。
在一示例性实施例中,在进行对象畸变校正时,畸变校正网格点中变形较大区域对周围的直线段影响最大。此时,可以根据前一帧图像对应的对象畸变校正网格中变形较大的区域确定当前帧图像对应的变形较大的变形区域。具体的,可以先确定前一帧图像对应的对象畸变校正网格中各个网格点在矫正后的前一帧图像中的坐标,然后根据坐标计算各个网格点对应的变形系数,并根据变形系数在前一帧图像中确定变形较大的变形区域。由于前一帧进行畸变校正时,变形较大的变形区域通常与当前帧图像中需要校正的区域相似。例如,前一帧图像的对象畸变校正网格变形较大的区域为包围了对象a的区域,则可以将当前帧图像中包围对象a的区域作为变形较大的变形区域。
其中,网格点对应的变形系数用于表示各个网格点的变形程度。
举例而言,对象畸变校正网格可以表示为mesh_x与mesh_y。其中,mesh_x中的每个元素记录校正后图像中的各个网格点的x坐标,mesh_y中的每个元素记录校正后图像中的各个网格点的y坐标。对mesh_x逐列计算每个元素在y方向与邻近元素的绝对值之差并求均值,如可以选取与向上1个或多个网格点,1个或多个网格点的x坐标之差,并保存为meshWeight_x。同理,对mesh_y逐行计算每个元素在x方向与邻近元素的绝对值之差并求均值,并保存为meshWeight_y。通过上述计算得到的meshWeight_x或meshWeight_y可以表示网格点包含区域的变形程度。当meshWeight_x或meshWeight_y大于设定阈值时,说明网格点所包含的区域在x轴方向或y周方向的变形较大,此时,可以将网格点包含的区域作为变形区域。
由于对象校正对背景区域的影响是在一定范围内的,通过前一帧图像的校正情况,即畸变校正网格点,可以有效过滤掉变形不大的非变形区域中的直线段,以降低后续对直线段进行处理的计算量。
在步骤S720中,根据当前帧图像对应的变形区域与直线段集合中各个直线段之间的位置关系对直线段集合进行滤除。
在一示例性实施例中,在确定了当前帧图像对应的变形区域后,可以根据变形区域与各个直线段之间的位置关系对直线段集合进行滤除。具体的,针对直线段集合中的每个直线段若该直线段上有任意一个点在变形较大的变形区域内,则证明该直线段可能会受到对象畸变校正的影响,因此需要将这些直线保留在直线段集合中;反之,当直线段上的任意一个点均不在变形区域内,则可以证明该直线段不受对象畸变校正的影响,因此可以将该直线段从直线段集合中删除。
举例而言,针对每个直线段,可以先计算直线段起点和直线段终点是否在变形区域内,如果在变形区域内,则保留该直线段。针对未被保留的剩余直线段,将其离散化为一系列的点,然后计算这些点是否位于变形区域,如果有至少一个点位于变形区域内,则将该直线段保留。若上述两次计算后直线段仍未被保留,则将该直线段从直线段集合中删除,得到目标直线段。
在一示例性实施例中,在得到目标直线段集合之后,还可以根据当前帧图像中包含对象的对象区域对目标直线段进行进一步的筛选。具体的,可以先在当前帧图像中确定包含对象的对象区域,然后根据对象区域与目标直线段之间的位置关系对目标直线段集合进行筛选。
在一示例性实施例中,在需要进行对象畸变校正的对象为人脸时,上述对象区域可以包括人脸区域。对应的,根据人脸区域对目标直线段集合进行筛选时,可以将与人脸区域的位置关系满足第一位置条件的目标直线段保留,并删除剩余目标直线段,得到筛选后的目标直线段。
进一步的,在对象为人脸时,该人脸对应的人像可能受到影响。例如,针对人脸进行畸变校正时,对脖子等靠近人脸的区域也有影响。因此,对象区域还可以包括人像区域。此时,在删除剩余目标直线段之前,可以根据剩余目标直线段与人脸区域和人像区域的位置关系再做一次筛选,将剩余目标直线段中与人脸区域和人像区域的位置关系满足第二位置条件的目标直线段保留。
其中,在校正对象为人脸时,人脸区域附近的直线段很可能受到影响,因此可以将第一位置条件设置为包括范围较宽的条件。例如,第一位置条件可以是一个端点与人脸区域相交的直线段,或者直线段上与人脸区域距离最近的一点与人脸区域的距离小于预设距离等。而由于人像区域附近的直线段受到影响的可能较小,因此可以将第二位置条件设置为包括2个与人像区域相交的交点的直线段、或者包括2个分别与人脸区域和人像区域相交的交点的直线段。
此外,由于用户对图像中的短直线关注度较低,为了避免目标直线段集合中出现较多的短直线,因此可以通过预设长度对目标直线段集合中的各个目标直线段进行筛选。举例而言,可以在目标直线段的长度小于预设长度时,将其从目标直线段集合中删除;在目标直线段的长度大于等于预设长度时,保留该目标直线段。
需要说明的是,在得到目标直线段集合之后,可以基于目标直线段集合对当前帧图像进行对象畸变校正,进而得到当前帧图像对应的对象畸变校正网格,便于在对当前帧图像的后一帧图像进行直线段检测时,可以根据当前帧图像对应的对象畸变校正网格进行滤除。
此外,在一些实施例中,基于位置关系对直线段进行合并的过程还可以用于对目标直线段进行合并。例如,在基于对象畸变校正网格对直线段集合进行滤除之后,在根据对象区域与目标直线段集合中各个目标直线段之间的位置关系对目标直线段集合进行筛选之前,还可以对目标直线段进行合并的过程。
以下以对象为人脸为例,参照图8所示,对本公开实施例的技术方案进行详细阐述:
步骤S801,获取当前帧图像;
步骤S803,判断当前帧图像的人像稳定性和相机稳定性。
针对人像稳定性,判断当前帧图像以及当前帧图像之前的连续20帧图像中检测到的每个人脸区域的位置,相对于其前一帧图像中对应人脸区域位置的位置变化量是否小于50个像素点。若得到的20个位置变化量均小于50个像素点,则可以认为当前帧图像处于人像稳定状态。
针对相机稳定性,获取拍摄当前帧图像以及当前帧图像之前的连续30帧图像的陀螺仪数据,判断当前帧图像以及当前帧图像之前的连续30帧图像中的每一帧与前一帧图像之间的陀螺仪数据变化量是否满足第二预设条件,如果均满足则可以确定当前帧图像处于相机稳定状态。
需要说明的是,在进行上述两种稳定性检测时,针对不同稳定性的检测可以选择不同的检测范围,如上述的20帧和30帧。
步骤S805,对当前帧图像进行对象分割得到背景区域。
在检测对象为人脸时,可以将人脸扩大为人像,对当前帧图像进行人像分割,得到的除人像以外的背景区域。
步骤S807,对背景区域进行直线段检测。
对背景区域进行直线段检测后,可以输出背景区域包括的各条直线段的起始坐标、终止坐标、直线响应强度、直线长度等属性。
步骤S809,根据检测出的直线段集合中各个直线段之间的位置关系对直线段进行合并。
针对直线段集合中的每条直线段进行如下处理(以下以直线L为例进行说明):
根据直线段集合中除去直线段L的剩余直线段与直线段L的位置关系,确定剩余直线段的两个端点中哪个端点距离直线段L较近,然后计算该端点与直线段L的两个端点的距离,并取其中的较小值作为剩余直线段与直线段L的最短距离。在最短距离小于预设阈值时将该剩余直线段确定为直线段L对应的相邻直线段。针对所有剩余直线段做上述判断可以得到直线段L对应的相邻直线段集合;随后,在相邻直线段集合中抽取与直线L夹角小于预设夹角且与直线段没有重叠关系的相邻直线段作为待合并直线段,并将待合并直线段与直线L合并为一条直线。
步骤S811,通过前一帧图像的人脸畸变校正网格对进行直线段合并后的直线段集合进行滤除。
将人脸畸变校正网格表示为mesh_x与mesh_y。mesh_x中的每个元素记录校正后前一帧图像中的各个网格点的x坐标,mesh_y中的每个元素记录校正后前一帧图像中的各个网格点的y坐标。对mesh_x逐列计算每个元素在y方向与邻近元素的绝对值之差并求均值,如可以选取与向上2个网格点,向下2个网格点的x坐标之差,并保存为meshWeight_x。同理,对mesh_y逐行计算每个元素在x方向与邻近元素的绝对值之差并求均值,并保存为meshWeight_y。对其中大于设定阈值的网格点所包含的区域,作为网格变形较大的变形区域R。
针对直线段集合中的每条直线段,计算直线段的起点与终点是否在变形区域R内,若在则保留该直线段,若不在则将该直线段离散化为一系列的点,每个点之间的间隔可以自定义,计算是否有直线段上的点位于变形区域R,若有则保留该直线段,否则将该直线段从直线段集合中剔除。对直线段集合中的每条直线段进行上述操作,得到目标直线段集合。
步骤S813,通过预设长度、人脸区域和人像区域对目标直线段集合进行进一步筛选。
具体的,针对每条目标直线段,确定直线段与人脸区域和人像区域的位置关系,保留有一个端点与人像区域相交并且与人脸区域相交的目标直线段,保留两端点均与人像区域相交的目标直线段,保留人脸区域附近的目标直线段,同时将保留的目标直线段中长度小于预设长度的目标直线段删除,得到筛选后的目标直线段集合。
步骤S815,基于得到的目标直线段集合对当前帧图像进行人脸畸变校正。
具体的,对当前帧图像进行人脸畸变校正时,对目标直线段集合中的每条目标直线段进行保护,保持目标直线段集合中每条目标直线段上各点间的相对位置不变,使得校正后的当前帧图像中同一直线不会出现弯曲、错位等变形。需要说明的是,在对当前帧图像进行人脸畸变校正之后,可以得到校正后的人脸畸变校正网格,在对当前帧图像的后一帧图像进行直线段检测时,可以以当前帧图像对应的人脸畸变校正网格为前一帧图像对应的人脸畸变校正网格对直线段集合进行滤除。
综上,本示例性实施方式中,基于对象分割对当前帧图像中对象进行滤除,可以将直线段检测区域缩小至背景区域,有效降低计算量;对相邻的直线段进行合并,可以在实现长直线检测效果的基础上,提高了检测效率;此外,利用前一帧的对象畸变校正网格对直线段集合进行滤除,可以有效提升显著直线的检出数量,避免短直线、弱直线和无效直线的检测,避免了计算量的大幅提升。
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,参考图9所示,本示例的实施方式中还提供一种直线段检测装置900,包括直线段检测模块910和直线段滤除模块920。其中:
直线段检测模块910可以用于对当前帧图像进行直线段检测得到直线段集合,并获取当前帧图像在视频中的前一帧图像对应的对象畸变校正网格。
直线段滤除模块920可以用于基于对象畸变校正网格对直线段集合进行滤除,得到目标直线段集合。
在一示例性实施例中,直线段检测模块910可以用于对当前帧图像进行对象分割,以获取当前帧图像中对象所在区域之外的背景区域;对背景区域进行直线段检测得到直线段集合。
在一示例性实施例中,直线段滤除模块920可以用于根据对象畸变校正网格确定当前帧图像对应的变形区域;根据当前帧图像对应的变形区域与直线段集合中各个直线段之间的位置关系对直线段集合进行滤除。
在一示例性实施例中,直线段滤除模块920可以用于确定对象畸变校正网格中各个网格点在校正后的前一帧图像中的坐标;根据坐标计算各个网格点对应的变形系数,并根据变形系数确定前一帧图像对应的变形区域;根据前一帧图像对应的变形区域确定当前帧图像对应的变形区域。
在一示例性实施例中,直线段滤除模块920可以用于针对直线段集合中的每个直线段,在直线段上的任意一点均不在当前帧图像对应的变形区域内时,将直线段从直线段集合中删除。
在一示例性实施例中,直线段滤除模块920可以用于在当前帧图像中确定包含对象的对象区域;根据对象区域与目标直线段集合中各个目标直线段之间的位置关系对目标直线段集合进行筛选。
在一示例性实施例中,直线段滤除模块920可以用于将目标直线段集合中与人脸区域的位置关系满足第一位置条件的目标直线段保留,并删除剩余目标直线段得到筛选后的目标直线段。
在一示例性实施例中,直线段滤除模块920可以用于将剩余直线段中与人像区域的位置关系满足第二位置条件的目标直线段保留
在一示例性实施例中,直线段滤除模块920可以用于根据预设长度对目标直线段集合中的各个目标直线段进行筛选。
在一示例性实施例中,直线段检测装置900还可以包括直线段合并模块,直线段合并模块可以用于根据直线段集合中各个直线段之间的位置关系对直线段进行合并。
在一示例性实施例中,直线段合并模块可以用于针对直线段集合中的每个直线段,在直线段集合中的剩余直线段中确定直线段对应的相邻直线段集合;将相邻直线段集合中与直线段之间的位置关系满足第三位置关系的相邻直线段作为待合并直线段,得到待合并直线段集合;将待合并直线段集合中的待合并直线段与直线段合并为一条直线段。
在一示例性实施例中,直线段合并模块可以用于计算剩余直线段与直线段之间的最短距离,在最短距离小于预设阈值时,将最短距离对应的剩余直线段确定为相邻直线段。
在一示例性实施例中,直线段检测装置900还可以包括稳定性检测模块,稳定性检测模块可以用于检测当前帧图像的稳定性,并在当前帧图像处于稳定状态时,控制直线段检测模块910对当前帧图像进行直线段检测。
在一示例性实施例中,稳定性检测模块可以用于根据预设范围在视频中确定当前帧图像对应的检测范围;基于检测范围确定当前帧图像的稳定性。
在一示例性实施例中,稳定性检测模块可以用于对检测范围内的各检测图像进行对象检测,以获取各检测图像对应的对象区域;按照检测图像在视频中的顺序,计算各检测图像对应的对象区域的位置变化量;其中,位置变化量为当前帧检测图像对应的对象区域相对于前一帧检测图像对应的对象区域的位置变化量;在所有位置变化量均满足第一预设条件时,确定当前帧图像处于对象稳定状态。
在一示例性实施例中,稳定性检测模块可以用于获取拍摄检测范围内各检测图像时相机的位姿参数;按照检测图像在视频中的顺序,计算各检测图像对应的位姿参数变化量;其中,位姿参数变化量为当前帧检测图像对应的位姿参数相对于前一帧检测图像对应的位姿参数的变化量;在所有位姿参数变化量满足第二预设条件时,确定当前帧图像处于相机稳定状态。
在一示例性实施例中,直线段检测装置900还可以包括畸变校正模块,畸变校正模块可以用于基于目标直线段集合对当前帧图像进行对象畸变校正,得到当前帧图像对应的对象畸变校正网格,以使后一帧图像基于当前帧图像对应的对象畸变校正网格进行滤除。
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图3、图7或图8中任意一个或多个步骤。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (19)
1.一种直线段检测方法,其特征在于,应用于视频的直线检测,所述方法包括:
对当前帧图像进行直线段检测得到直线段集合,并获取所述当前帧图像在所述视频中的前一帧图像对应的对象畸变校正网格;
基于所述对象畸变校正网格对所述直线段集合进行滤除,得到目标直线段集合;
其中,所述基于所述对象畸变校正网格对所述直线段集合进行滤除,包括:
根据所述对象畸变校正网格确定所述当前帧图像对应的变形区域;
根据所述当前帧图像对应的变形区域与所述直线段集合中各个直线段之间的位置关系对所述直线段集合进行滤除。
2.根据权利要求1所述的方法,其特征在于,所述对当前帧图像进行直线段检测得到直线段集合,所述方法还包括:
对所述当前帧图像进行对象分割,以获取所述当前帧图像中所述对象所在区域之外的背景区域;
对所述背景区域进行直线段检测得到直线段集合。
3.根据权利要求1所述的方法,其特征在于,所述根据所述对象畸变校正网格确定所述当前帧图像对应的变形区域,包括:
确定所述对象畸变校正网格中各个网格点在校正后的所述前一帧图像中的坐标;
根据所述坐标计算各个所述网格点对应的变形系数,并根据所述变形系数确定所述前一帧图像对应的变形区域;
根据所述前一帧图像对应的变形区域确定所述当前帧图像对应的变形区域。
4.根据权利要求1所述的方法,其特征在于,所述根据所述当前帧图像对应的变形区域与所述直线段集合中各个直线段之间的位置关系对所述直线段集合进行滤除,包括:
针对所述直线段集合中的每个直线段,在所述直线段上的任意一点均不在所述当前帧图像对应的变形区域内时,将所述直线段从所述直线段集合中删除。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述当前帧图像中确定包含对象的对象区域;
根据所述对象区域与所述目标直线段集合中各个目标直线段之间的位置关系对所述目标直线段集合进行筛选。
6.根据权利要求5所述的方法,其特征在于,在所述对象为人脸时,所述对象区域包括人脸区域;
所述根据所述对象区域与所述目标直线段集合中各个目标直线段之间的位置关系对所述目标直线段集合进行筛选,包括:
将所述目标直线段集合中与所述人脸区域的位置关系满足第一位置条件的目标直线段保留,并删除剩余目标直线段得到筛选后的目标直线段。
7.根据权利要求6所述的方法,其特征在于,所述对象区域还包括人像区域;
在所述删除剩余目标直线段得到筛选后的目标直线段之前,所述方法还包括:
将所述剩余目标直线段中与所述人像区域的位置关系满足第二位置条件的目标直线段保留。
8.根据权利要求5所述的方法,其特征在于,在所述根据所述对象区域与所述目标直线段集合中各个目标直线段之间的位置关系对所述目标直线段集合进行筛选之前,所述方法还包括:
根据预设长度对所述目标直线段集合中的各个所述目标直线段进行筛选。
9.根据权利要求1所述的方法,其特征在于,在所述基于所述对象畸变校正网格对所述直线段集合进行滤除之前,所述方法还包括:
根据所述直线段集合中各个直线段之间的位置关系对所述直线段进行合并。
10.根据权利要求9所述的方法,其特征在于,所述根据所述直线段集合中各个直线段之间的位置关系对所述直线段进行合并,包括:
针对所述直线段集合中的每个所述直线段,在所述直线段集合中的剩余直线段中确定所述直线段对应的相邻直线段集合;
将所述相邻直线段集合中与所述直线段之间的位置关系满足第三位置关系的相邻直线段作为待合并直线段,得到待合并直线段集合;
将所述待合并直线段集合中的待合并直线段与所述直线段合并为一条直线段。
11.根据权利要求10所述的方法,其特征在于,所述在所述直线段集合中的剩余直线段中确定所述直线段对应的相邻直线段集合,包括:
计算所述剩余直线段与所述直线段之间的最短距离,在所述最短距离小于预设阈值时,将所述最短距离对应的剩余直线段确定为相邻直线段。
12.根据权利要求1所述的方法,其特征在于,在所述对当前帧图像进行直线段检测得到直线段集合之前,所述方法还包括:
检测所述当前帧图像的稳定性,并在所述当前帧图像处于稳定状态时,对所述当前帧图像进行直线段检测。
13.根据权利要求12所述的方法,其特征在于,所述检测所述当前帧图像的稳定性,包括:
根据预设范围在所述视频中确定所述当前帧图像对应的检测范围;
基于所述检测范围确定所述当前帧图像的稳定性。
14.根据权利要求13所述的方法,其特征在于,所述稳定性包括对象稳定性;
所述基于所述检测范围确定所述当前帧图像的稳定性,包括:
对所述检测范围内的各检测图像进行对象检测,以获取各所述检测图像对应的对象区域;
按照所述检测图像在所述视频中的顺序,计算各所述检测图像对应的对象区域的位置变化量;其中,所述位置变化量为当前帧检测图像对应的对象区域相对于前一帧检测图像对应的对象区域的位置变化量;
在所有所述位置变化量均满足第一预设条件时,确定所述当前帧图像处于对象稳定状态。
15.根据权利要求14所述的方法,其特征在于,所述稳定性包括相机稳定性;
所述基于所述检测范围确定所述当前帧图像的稳定性,包括:
获取拍摄所述检测范围内各检测图像时相机的位姿参数;
按照所述检测图像在所述视频中的顺序,计算各所述检测图像对应的位姿参数变化量;其中,所述位姿参数变化量为当前帧检测图像对应的位姿参数相对于前一帧检测图像对应的位姿参数的变化量;
在所有所述位姿参数变化量满足第二预设条件时,确定所述当前帧图像处于相机稳定状态。
16.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述目标直线段集合对所述当前帧图像进行对象畸变校正,得到所述当前帧图像对应的对象畸变校正网格,以使后一帧图像基于所述当前帧图像对应的对象畸变校正网格进行滤除。
17.一种直线段检测装置,其特征在于,应用于视频的直线检测,包括:
直线段检测模块,用于对当前帧图像进行直线段检测得到直线段集合,并获取所述当前帧图像在所述视频中的前一帧图像对应的对象畸变校正网格;
直线段滤除模块,用于基于所述对象畸变校正网格对所述直线段集合进行滤除,得到目标直线段集合;
其中,所述直线段滤除模块基于所述对象畸变校正网格对所述直线段集合进行滤除,包括:
根据所述对象畸变校正网格确定所述当前帧图像对应的变形区域;
根据所述当前帧图像对应的变形区域与所述直线段集合中各个直线段之间的位置关系对所述直线段集合进行滤除。
18.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至16中任一项所述的方法。
19.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至16任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110335166.9A CN113077396B (zh) | 2021-03-29 | 2021-03-29 | 直线段检测方法及装置、计算机可读介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110335166.9A CN113077396B (zh) | 2021-03-29 | 2021-03-29 | 直线段检测方法及装置、计算机可读介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113077396A CN113077396A (zh) | 2021-07-06 |
CN113077396B true CN113077396B (zh) | 2024-05-17 |
Family
ID=76611175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110335166.9A Active CN113077396B (zh) | 2021-03-29 | 2021-03-29 | 直线段检测方法及装置、计算机可读介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113077396B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022541B (zh) * | 2022-05-30 | 2024-05-03 | Oppo广东移动通信有限公司 | 视频畸变校正方法及装置、计算机可读介质和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110473159A (zh) * | 2019-08-20 | 2019-11-19 | Oppo广东移动通信有限公司 | 图像处理方法和装置、电子设备、计算机可读存储介质 |
CN110689501A (zh) * | 2019-09-29 | 2020-01-14 | 京东方科技集团股份有限公司 | 一种畸变校正方法、装置、电子设备及计算机可读存储介质 |
CN111008605A (zh) * | 2019-12-09 | 2020-04-14 | Oppo广东移动通信有限公司 | 人脸图像中直线处理方法、装置、终端设备和存储介质 |
CN111080542A (zh) * | 2019-12-09 | 2020-04-28 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备以及存储介质 |
CN111507924A (zh) * | 2020-04-27 | 2020-08-07 | 北京百度网讯科技有限公司 | 视频帧的处理方法和装置 |
-
2021
- 2021-03-29 CN CN202110335166.9A patent/CN113077396B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110473159A (zh) * | 2019-08-20 | 2019-11-19 | Oppo广东移动通信有限公司 | 图像处理方法和装置、电子设备、计算机可读存储介质 |
CN110689501A (zh) * | 2019-09-29 | 2020-01-14 | 京东方科技集团股份有限公司 | 一种畸变校正方法、装置、电子设备及计算机可读存储介质 |
CN111008605A (zh) * | 2019-12-09 | 2020-04-14 | Oppo广东移动通信有限公司 | 人脸图像中直线处理方法、装置、终端设备和存储介质 |
CN111080542A (zh) * | 2019-12-09 | 2020-04-28 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备以及存储介质 |
CN111507924A (zh) * | 2020-04-27 | 2020-08-07 | 北京百度网讯科技有限公司 | 视频帧的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113077396A (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112733820B (zh) | 障碍物信息生成方法、装置、电子设备和计算机可读介质 | |
CN110619656B (zh) | 基于双目摄像头的人脸检测跟踪方法、装置及电子设备 | |
CN110062157B (zh) | 渲染图像的方法、装置、电子设备和计算机可读存储介质 | |
CN113658065B (zh) | 图像降噪方法及装置、计算机可读介质和电子设备 | |
CN111986214B (zh) | 一种地图中人行横道的构建方法和电子设备 | |
CN113902636A (zh) | 图像去模糊方法及装置、计算机可读介质和电子设备 | |
CN111753766B (zh) | 一种图像处理方法、装置、设备及介质 | |
CN114882576B (zh) | 人脸识别方法、电子设备、计算机可读介质和程序产品 | |
CN113077396B (zh) | 直线段检测方法及装置、计算机可读介质和电子设备 | |
CN108229281B (zh) | 神经网络的生成方法和人脸检测方法、装置及电子设备 | |
CN109981989B (zh) | 渲染图像的方法、装置、电子设备和计算机可读存储介质 | |
CN113205011B (zh) | 图像掩膜确定方法及装置、存储介质和电子设备 | |
CN111814811B (zh) | 图像信息提取方法、训练方法及装置、介质和电子设备 | |
CN112258647B (zh) | 地图重建方法及装置、计算机可读介质和电子设备 | |
CN113902932A (zh) | 特征提取方法、视觉定位方法及装置、介质和电子设备 | |
WO2024140154A1 (zh) | 视线检测方法、装置、电子设备及存储介质 | |
CN110047126B (zh) | 渲染图像的方法、装置、电子设备和计算机可读存储介质 | |
CN110222576B (zh) | 拳击动作识别方法、装置和电子设备 | |
CN113592777B (zh) | 双摄拍照的图像融合方法、装置和电子系统 | |
CN113963000B (zh) | 图像分割方法、装置、电子设备及程序产品 | |
CN112950516B (zh) | 图像局部对比度增强的方法及装置、存储介质及电子设备 | |
CN111815656B (zh) | 视频处理方法、装置、电子设备和计算机可读介质 | |
CN110807728B (zh) | 对象的显示方法、装置、电子设备及计算机可读存储介质 | |
CN114494148A (zh) | 数据解析方法、系统、设备及存储介质 | |
CN114973344A (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 |