WO2021027070A1 - Deep learning-based ellipse recognition method - Google Patents

Deep learning-based ellipse recognition method Download PDF

Info

Publication number
WO2021027070A1
WO2021027070A1 PCT/CN2019/113241 CN2019113241W WO2021027070A1 WO 2021027070 A1 WO2021027070 A1 WO 2021027070A1 CN 2019113241 W CN2019113241 W CN 2019113241W WO 2021027070 A1 WO2021027070 A1 WO 2021027070A1
Authority
WO
WIPO (PCT)
Prior art keywords
edge
curve
ellipse
pixel
image
Prior art date
Application number
PCT/CN2019/113241
Other languages
French (fr)
Chinese (zh)
Inventor
徐静
陈恳
刘炽成
Original Assignee
清华大学
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 清华大学 filed Critical 清华大学
Publication of WO2021027070A1 publication Critical patent/WO2021027070A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components

Definitions

  • This application relates to the technical field of pattern recognition, and specifically to an ellipse recognition method based on deep learning.
  • ellipse recognition Since the ellipse is one of the most common geometric figures, ellipse recognition has become the basis of many computer vision applications. For example, ellipse recognition can be used in surface inspection, camera calibration, object distinction, eye capture, road sign recognition and classification. Therefore, it is very important to recognize the ellipse robustly and stably from the image.
  • the existing ellipse recognition algorithms are roughly divided into two categories, one is the ellipse recognition algorithm based on Hough transform, and the other is the ellipse recognition algorithm based on edge tracking.
  • the ellipse recognition algorithm based on Hough transform is not only inefficient, but also inaccurate, which makes it difficult to be used in an industrial generation environment.
  • the existing ellipse recognition algorithms based on edge tracking are all based on the image gradient to identify the edge, and then based on the edge to identify the ellipse. For pictures in the industrial environment, because the image gradient noise is more, the image edge cannot be well recognized only based on the image gradient.
  • none of the existing ellipse recognition algorithms based on edge tracking can well recognize small ellipses (ellipses whose semi-major axis is less than 10 pixels in the image).
  • This application uses deep learning algorithms to identify edge images, which can overcome the problem of image gradient noise.
  • Edge tracking algorithms are used to identify ellipses on edge images, which optimizes the recognition of small ellipses, and can achieve high precision and high recall. High application value.
  • This application proposes an ellipse recognition method based on deep learning, which is characterized in that the method is divided into two stages of deep learning training and edge tracking to identify ellipses, including the following steps:
  • the network has 14 layers of neurons, the first 7 layers of the network are compressed layers, the input image size of each layer of the compressed layer is reduced in turn in a half way, and the next 7 layers are generating layers, generating layers The input image size of each layer is expanded in a doubling manner.
  • the output image size of the 7th generation layer is the same as the input image size; the network outputs a total of 8 images, assuming the input image size is W ⁇ W, then 8 output
  • step 2-2) Perform morphological slimming processing on the image O a0 obtained in step 2-1) to obtain an edge image with a width of 1 pixel;
  • step 2-2 Perform edge tracking on the edge image with a width of 1 pixel in step 2-2); the specific steps are as follows:
  • Randomly select 2-2) Obtain an unused pixel in the edge image as a seed pixel, the seed pixel contains no more than two 8-connected neighbors;
  • step 2-3-5 If the boundary pixel contains more than two or less than two 8-connected neighbors, the edge tracking of the connection direction between the seed pixel and the boundary pixel is ended, and step 2-3-5); if the boundary pixel contains two 8-connected neighbors , The 8-connected neighbors of the two 8-connected neighbors of the boundary pixel that are not on the current edge curve are regarded as the new boundary pixels, and the current edge curve is added to step 2-3-4);
  • step 2-3-5) If the seed pixel has only one 8-connected neighbor, then use the current edge curve that has completed edge tracking in step 2-3-4) as the edge curve of the seed pixel, and proceed to step 2-4); if the seed pixel If there are two 8-connected neighbors, select another 8-connected neighbor of the seed pixel as the new boundary pixel, repeat 2-3-2) to 2-3-4), initialize a new current edge curve, and complete the seed pixel Edge tracking in the direction of the connection with the new boundary pixel, and finally the two current edge curves that have completed edge tracking in steps 2-3-4) and 2-3-5) are spliced into an edge curve of the seed pixel;
  • step 2-7) For each end point of each edge curve processed in step 2-6), calculate the edge curve connected to the end point to obtain a smooth curve, and sort the calculated edge curves from large to small in length, Take the edge curve with the largest length as the neighbor curve of the end point;
  • step 2-8) Randomly select an edge curve from the edge curves processed in step 2-6), splice the neighboring curve of the end along any end of the edge curve, and then continue with the end of the neighboring curve that is not used for splicing Splice the corresponding neighbor curves, and then go down in turn until the splicing is impossible, save the selected edge curve and the curve group obtained after each splicing respectively, and obtain the intermediate process curve group corresponding to the edge curve and the final splicing result curve group;
  • step 2-13) Select the ellipses sorted in step 2-12) in order and make a judgment: if the edge curves used by the selected ellipse are not consumed, the ellipse is retained and the edges used to fit the ellipse are consumed at the same time Curve; otherwise delete the ellipse; after all ellipses are judged, the ellipse finally retained is the result of step 2-1) to obtain the ellipse recognition corresponding to the image.
  • a deep neural network can be trained to recognize edge images in a high-noise environment, and then edge tracking algorithms can be used to identify ellipses from edge images.
  • This application is suitable for identifying ellipses in an industrial environment, can well deal with the problems of high noise in industrial environment images and many small ellipses, and has high recognition result accuracy and recall rate, and has high application value.
  • FIG 1 is an overall flowchart of an embodiment of the present application
  • Fig. 2 is a schematic diagram of a deep neural network structure according to an embodiment of the present application.
  • This application proposes an ellipse recognition method based on deep learning, which is divided into two stages of deep learning training and edge tracking to identify ellipses.
  • the overall process is shown in Figure 1, including the following steps:
  • the input of the deep neural network is an image containing an ellipse, and the output is an edge image corresponding to the input image.
  • the network has 14 layers of neurons.
  • the first 7 layers of the network are compressed layers.
  • the input image size of each layer of the compressed layer is reduced in a half way.
  • the next 7 layers are generating layers.
  • the input image size of each layer of the generating layer is doubled.
  • the method is successively expanded, and the output image size of the seventh generation layer is the same as the input image size.
  • Each layer is connected to an output module except the merged layer (the layer represented by the two rectangles superimposed in Figure 2).
  • the network outputs a total of 8 images.
  • 8 output images O d0 , O d1 , O d2 , O d3 , O u3 , O u2 , O u1 , O u0 are respectively W ⁇ W, 0.5W ⁇ 0.5W, 0.25W ⁇ 0.25W, 0.125W ⁇ 0.125W, 0.125W ⁇ 0.125 W, 0.25W ⁇ 0.25W, 0.5W ⁇ 0.5W, W ⁇ W;
  • FIG. 2 is a schematic diagram of a result of a deep neural network according to an embodiment of the application.
  • 1 is the input image
  • 2 is the output image of each layer.
  • Pool,/2 is the half-pooling layer
  • Conv is the convolutional layer
  • Conv,/2 is the half-convolutional layer
  • Trans,X2 is the double generation layer
  • X 0 ,i is the i-th input image
  • X 1,i , X 2,i , X 3,i are the images reduced to one-half, one-quarter, and one-eighth of X 0,i respectively
  • Z dj ,i is the intermediate variable of the compression layer
  • Z uj,i is the intermediate variable of the generation layer
  • O dj,i is the output of the compression layer
  • O uj,i is the output of the generation layer
  • each training input image corresponds to 8 output edge images of different sizes.
  • the i-th training input image as X 0,i
  • the image size with subscript j is 0.5 j of the original image
  • step 2-2 Morphologically thinning the image O a0 obtained in step 2-1) to obtain an edge image with a width of 1 pixel;
  • step 2-2 Perform edge tracking on the edge image with a width of 1 pixel in step 2-2); the specific steps are as follows:
  • Randomly select 2-2) Obtain an unused pixel in the edge image (all pixels of the edge image are not used in the initial state) as the seed pixel, and the seed pixel must satisfy No more than two 8-connected neighbors, 8-connected neighbors are pixels that share an edge or a corner with the pixel;
  • boundary pixel contains more than two or less than two 8-connected neighbors, then end the edge tracking in the direction of the connection between the seed pixel and the boundary pixel, and proceed to step 2-3-5); if the boundary pixel contains exactly two 8-connected neighbors Neighbors, the 8-connected neighbors of the two 8-connected neighbors of the boundary pixel that are not on the current edge curve are used as the new boundary pixels, and the current edge curve is added to step 2-3-4);
  • step 2-3-5) If the seed pixel has only one 8-connected neighbor, then use the current edge curve that has completed edge tracking in step 2-3-4) as the edge curve of the seed pixel, and proceed to step 2-4); if the seed pixel If there are two 8-connected neighbors, select another 8-connected neighbor of the seed pixel as the new boundary pixel, repeat 2-3-2) to 2-3-4), initialize a new current edge curve, and complete the seed pixel Edge tracking in the direction of the connection with the new boundary pixel, and finally the two current edge curves that have completed edge tracking in steps 2-3-4) and 2-3-5) are spliced into an edge curve of the seed pixel;
  • step 2-7) For each end point of each edge curve processed in step 2-6), calculate the edge curve that can be connected to the end point to obtain a smooth curve, and sort the calculated edge curves from large to small in length , Take the edge curve with the largest length as the neighbor curve of the end point;
  • step 2-13) Select the sorted ellipses in step 2-12) in order and make a judgment: if none of the edge curves used by the selected ellipse are consumed, the ellipse is retained and the ellipse used for fitting the ellipse is consumed at the same time Edge curve; otherwise delete the ellipse (that is, if all or part of the edge curve fitting the ellipse has been consumed, delete the ellipse); after all ellipses are judged, the final ellipse remaining is step 2-1) Get the image The result of corresponding ellipse recognition.
  • This application uses a deep neural network to recognize edge images, and uses an edge tracking algorithm to recognize ellipses, and realizes ellipse recognition based on deep learning.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

A deep learning-based ellipse recognition method, belonging to the technical field of pattern recognition. Said method comprises: in a deep learning training stage, first acquiring an image containing an ellipse, and constructing a training data set after labeling edges, then establishing a deep neural network, and using the training data set to perform iterative training on the deep neural network, so as to obtain a trained network; and in an edge tracking and ellipse recognition stage, inputting, into the trained network, an image to be recognized, outputting a predicted edge image by the network, and then recognizing the ellipse in the edge image by using an edge tracking algorithm, so as to complete the recognition.

Description

一种基于深度学习的椭圆识别方法An ellipse recognition method based on deep learning
相关申请的交叉引用Cross references to related applications
本申请基于申请号为:201910732288.4,申请日为2019年8月9日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。This application is based on a Chinese patent application filed with the application number: 201910732288.4, and the filing date is August 9, 2019, and claims the priority of the Chinese patent application. The entire content of the Chinese patent application is hereby incorporated by reference into this application.
技术领域Technical field
本申请涉及模式识别技术领域,具体而言,涉及一种基于深度学习的椭圆识别方法。This application relates to the technical field of pattern recognition, and specifically to an ellipse recognition method based on deep learning.
背景技术Background technique
由于椭圆是最常见的几何图形之一,椭圆识别成为了许多计算机视觉应用的基础。例如椭圆识别可以用于表面检查,相机标定,物体区分,眼睛捕捉,道路交通标志识别和分类等领域。因此,从图像中鲁棒并稳定的识别椭圆是十分重要的。Since the ellipse is one of the most common geometric figures, ellipse recognition has become the basis of many computer vision applications. For example, ellipse recognition can be used in surface inspection, camera calibration, object distinction, eye capture, road sign recognition and classification. Therefore, it is very important to recognize the ellipse robustly and stably from the image.
现有的椭圆识别算法大致分为两类,一类是基于霍夫变换的椭圆识别算法,另一类是基于边缘跟踪的椭圆识别算法。基于霍夫变换的椭圆识别算法不仅效率低下,精度也不高,难以用于工业生成环境。而现有的基于边缘跟踪的椭圆识别算法都是基于图像梯度识别边缘,再基于边缘识别椭圆,对于工业环境的图片,由于图像梯度噪声较多,仅仅基于图像梯度无法很好识别图像边缘。此外,现有的基于边缘跟踪的椭圆识别算法都无法很好识别小椭圆(图像中半长轴小于10个像素的椭圆)。The existing ellipse recognition algorithms are roughly divided into two categories, one is the ellipse recognition algorithm based on Hough transform, and the other is the ellipse recognition algorithm based on edge tracking. The ellipse recognition algorithm based on Hough transform is not only inefficient, but also inaccurate, which makes it difficult to be used in an industrial generation environment. The existing ellipse recognition algorithms based on edge tracking are all based on the image gradient to identify the edge, and then based on the edge to identify the ellipse. For pictures in the industrial environment, because the image gradient noise is more, the image edge cannot be well recognized only based on the image gradient. In addition, none of the existing ellipse recognition algorithms based on edge tracking can well recognize small ellipses (ellipses whose semi-major axis is less than 10 pixels in the image).
发明内容Summary of the invention
本申请的目的是为克服已有技术的不足之处,提出一种基于深度学习的椭圆识别方法。本申请采用深度学习算法识别边缘图像,可以克服图像梯度噪声多的问题,采用边缘跟踪算法在边缘图像上识别椭圆,优化了对小椭圆的识别,可以做到高精度,高召回率,有很高的应用价值。The purpose of this application is to overcome the shortcomings of the prior art and propose an ellipse recognition method based on deep learning. This application uses deep learning algorithms to identify edge images, which can overcome the problem of image gradient noise. Edge tracking algorithms are used to identify ellipses on edge images, which optimizes the recognition of small ellipses, and can achieve high precision and high recall. High application value.
本申请提出一种基于深度学习的椭圆识别方法,其特征在于,该方法分为深度学习训练和边缘跟踪识别椭圆两个阶段,包括以下步骤:This application proposes an ellipse recognition method based on deep learning, which is characterized in that the method is divided into two stages of deep learning training and edge tracking to identify ellipses, including the following steps:
1)深度学习训练阶段;具体步骤如下:1) Deep learning training stage; the specific steps are as follows:
1-1)采集M张包含椭圆的图像作为训练输入图像,对每张训练输入图像包含的所有边缘信息进行人工标注,标注完毕后得到对应的边缘图像作为训练目标图像;每张训练输入图像和对应训练目标图像组成一个训练样本,所有训练样本构成训练数据集;1-1) Collect M images containing ellipses as training input images, manually label all the edge information contained in each training input image, and obtain the corresponding edge image as the training target image after labeling; each training input image and Form a training sample corresponding to the training target image, and all training samples form a training data set;
1-2)构建深度神经网络;该网络具有14层神经元,网络前7层为压缩层,压缩层每层的输入图像尺寸按照折半的方式依次减小,后面7层为生成层,生成层的每层输入图像尺寸按照翻倍的方式依次扩大,第7层生成层的输出图像尺寸和输入的图像尺寸一致;网络一共输出8幅图像,假设输入图像尺寸为W×W,则8幅输出图像O d0,O d1,O d2,O d3,O u3,O u2,O u1,O u0的尺寸分别W×W,0.5W×0.5W,0.25W×0.25W,0.125W×0.125W,0.125W×0.125W,0.25W×0.25W,0.5W×0.5W,W×W;其中,O dj,i为压缩层的输出,O uj,i为生成层的输出,j=0,1,2,3代表图像相比原始图像尺寸折半的次数; 1-2) Build a deep neural network; the network has 14 layers of neurons, the first 7 layers of the network are compressed layers, the input image size of each layer of the compressed layer is reduced in turn in a half way, and the next 7 layers are generating layers, generating layers The input image size of each layer is expanded in a doubling manner. The output image size of the 7th generation layer is the same as the input image size; the network outputs a total of 8 images, assuming the input image size is W×W, then 8 output The dimensions of the images O d0 , O d1 , O d2 , O d3 , O u3 , O u2 , O u1 , O u0 are respectively W×W, 0.5W×0.5W, 0.25W×0.25W, 0.125W×0.125W, 0.125 W×0.125W, 0.25W×0.25W, 0.5W×0.5W, W×W; among them, O dj,i is the output of the compression layer, O uj,i is the output of the generation layer, j=0,1,2 ,3 represents the number of times the image is halved compared to the original image size;
1-3)利用训练数据集对深度神经网络进行迭代训练,得到训练完毕的深度神经网络;具体步骤如下:1-3) Use the training data set to perform iterative training on the deep neural network to obtain the trained deep neural network; the specific steps are as follows:
1-3-1)随机初始化1-2)中建立的深度神经网络的参数,将初始深度神经网络作为当前神经网络;1-3-1) Randomly initialize the parameters of the deep neural network established in 1-2), and use the initial deep neural network as the current neural network;
1-3-2)令i=1;1-3-2) Let i=1;
1-3-3)利用当前深度神经网络预测训练数据集中每个训练输入图像对应的输出边缘图像;将第i幅训练输入图像记为X 0,i,深度神经网络预测的8幅输出边缘图像分别为O dj,i和O uj,i,j=0,1,2,3; 1-3-3) Use the current deep neural network to predict the output edge image corresponding to each training input image in the training data set; record the i-th training input image as X 0,i , the 8 output edge images predicted by the deep neural network Respectively O dj,i and O uj,i , j=0,1,2,3;
1-3-4)将第i幅训练输入图像X 0,i对应的训练目标图像Y 0,i连续折半降采样得到Y j,i,j=0,1,2,3,其中Y 0,i尺寸为W×W,,则Y j,i尺寸为0.5 jW×0.5 jW; 1-3-4) the first web training input image i X 0, i corresponding to the target image training Y 0, i consecutive binary down-sampled Y j, i, j = 0,1,2,3 , where Y 0, The size of i is W×W, then the size of Y j,i is 0.5 j W×0.5 j W;
1-3-5)利用输出边缘图像O dj,i,O uj,i和训练目标图像Y j,i构造多层误差L i,表达式如下: 1-3-5) Using the output edge image O dj,i , O uj,i and the training target image Y j,i to construct a multi-layer error Li , the expression is as follows:
Figure PCTCN2019113241-appb-000001
Figure PCTCN2019113241-appb-000001
1-3-6)利用梯度下降算法通过最小化L i对当前深度神经网络的参数进行更新,得到更新后的当前深度神经网络; 1-3-6) Use the gradient descent algorithm to update the parameters of the current deep neural network by minimizing L i to obtain the updated current deep neural network;
1-3-7)令i=i+1,然后重新返回步骤1-3-3),利用梯度下降等算法通过最小化L i对当前深度神经网络进行迭代训练,直至所有训练样本都遍历一遍之后,重新返回步骤1-3-2)进行下一轮迭代训练直至平均误差
Figure PCTCN2019113241-appb-000002
连续5轮迭代训练不再下降,其中N为训练样本数量;取L avg最小时的深度神经网络为训练完毕的深度神经网络;
1-3-7) Let i=i+1, and then go back to step 1-3-3), use gradient descent and other algorithms to iteratively train the current deep neural network by minimizing L i until all training samples are traversed After that, return to step 1-3-2) for the next iteration of training until the average error
Figure PCTCN2019113241-appb-000002
There is no decline in 5 consecutive rounds of iterative training, where N is the number of training samples; the deep neural network when Lavg is the smallest is the deep neural network that has been trained;
2)边缘跟踪识别椭圆;具体步骤如下:2) Edge tracking to identify the ellipse; the specific steps are as follows:
2-1)任意获取一张图像X a0(将该图像输入步骤1)的训练完毕的深度神经网络,得到该网络第7层生成层输出图像O a02-1) Acquire an image X a0 (input the image into step 1) of the trained deep neural network arbitrarily, and obtain the output image O a0 of the 7th generation layer of the network;
2-2)对步骤2-1)得到的图像O a0进行形态学瘦身处理,得到宽度为1个像素的边缘图像; 2-2) Perform morphological slimming processing on the image O a0 obtained in step 2-1) to obtain an edge image with a width of 1 pixel;
2-3)对步骤2-2)中宽度为1个像素的边缘图像进行边缘跟踪;具体步骤如下:2-3) Perform edge tracking on the edge image with a width of 1 pixel in step 2-2); the specific steps are as follows:
2-3-1)随机选取2-2)得到边缘图像里一个未被使用过的像素作为种子像素,该种子像素含有不多于两个8连通邻居;2-3-1) Randomly select 2-2) Obtain an unused pixel in the edge image as a seed pixel, the seed pixel contains no more than two 8-connected neighbors;
2-3-2)初始化一条不含任何像素的空曲线作为当前边缘曲线,选择种子像素的任一个8连通邻居作为边界像素,并将该边界像素加入到当前边缘曲线中,所有加入当前边缘曲线的像素为已使用像素;2-3-2) Initialize an empty curve without any pixels as the current edge curve, select any 8-connected neighbor of the seed pixel as the boundary pixel, and add the boundary pixel to the current edge curve, all add the current edge curve The pixels are used pixels;
2-3-3)对边界像素进行判定:2-3-3) Judge the boundary pixels:
若边界像素含有多于两个或少于两个8连通邻居,则结束种子像素与边界像素的连线方向的边缘跟踪,进入步骤2-3-5);若边界像素含有两个8连通邻居,则将边界像素两个8连通邻居中不在当前边缘曲线上的8连通邻居作为新的边界像素,并加入当前边缘曲线,进入步骤2-3-4);If the boundary pixel contains more than two or less than two 8-connected neighbors, the edge tracking of the connection direction between the seed pixel and the boundary pixel is ended, and step 2-3-5); if the boundary pixel contains two 8-connected neighbors , The 8-connected neighbors of the two 8-connected neighbors of the boundary pixel that are not on the current edge curve are regarded as the new boundary pixels, and the current edge curve is added to step 2-3-4);
2-3-4)重复步骤2-3-3),直到结束种子像素与边界像素的连线方向的边缘跟踪,进入步骤2-3-5);2-3-4) Repeat steps 2-3-3) until the edge tracking in the direction of the connection between the seed pixel and the boundary pixel ends, and then proceed to step 2-3-5);
2-3-5)若种子像素只有1个8联通邻居,则将步骤2-3-4)完成边缘跟踪的当前边缘曲线作为该种子像素的边缘曲线,进入步骤2-4);若种子像素有两个8连通邻居,则选取种子像素的另一个8连通邻居作为新的边界像素,重复2-3-2)到2-3-4),初始化一条新的当前边缘曲线,并完成种子像素与新的边界像素的连线方向的边缘跟踪,最后分别将步骤2-3-4)和2-3-5)完成边缘追踪的两条当前边缘曲线拼接成一条该种子像素的边缘曲线;2-3-5) If the seed pixel has only one 8-connected neighbor, then use the current edge curve that has completed edge tracking in step 2-3-4) as the edge curve of the seed pixel, and proceed to step 2-4); if the seed pixel If there are two 8-connected neighbors, select another 8-connected neighbor of the seed pixel as the new boundary pixel, repeat 2-3-2) to 2-3-4), initialize a new current edge curve, and complete the seed pixel Edge tracking in the direction of the connection with the new boundary pixel, and finally the two current edge curves that have completed edge tracking in steps 2-3-4) and 2-3-5) are spliced into an edge curve of the seed pixel;
2-4)从步骤2-2)的边缘图像中随机选取一个新的未被使用过的像素,重复步骤2-3),直到所有未被使用的像素得到对应的边缘曲线;2-4) Randomly select a new unused pixel from the edge image in step 2-2), and repeat steps 2-3) until all unused pixels get the corresponding edge curve;
2-5)扫描步骤2-4)得到的每条边缘曲线,在每条边缘曲线中曲率超过设定曲率阈值的地方断开该边缘曲线;2-5) Scan each edge curve obtained in step 2-4), and disconnect the edge curve where the curvature of each edge curve exceeds the set curvature threshold;
2-6)从步骤2-5)处理完毕的边缘曲线中删除直线度超过设定直线度阈值的边缘曲线;2-6) Delete the edge curves whose straightness exceeds the set straightness threshold from the edge curves processed in step 2-5);
2-7)对步骤2-6)处理完毕的每条边缘曲线的每个端点,计算与该端点相连得到平滑曲线的边缘曲线,并对计算得到的边缘曲线按照长度从大到小进行排序,取其中长度最大的边缘曲线作为该端点的邻居曲线;2-7) For each end point of each edge curve processed in step 2-6), calculate the edge curve connected to the end point to obtain a smooth curve, and sort the calculated edge curves from large to small in length, Take the edge curve with the largest length as the neighbor curve of the end point;
2-8)从步骤2-6)处理完毕的边缘曲线中随机取一条边缘曲线,沿该边缘曲线任一个端点拼接该端点的邻居曲线,然后将对该邻居曲线未被用于拼接的端点继续拼接对应的邻居曲线,依次往下,直到无法拼接为止,将选取的边缘曲线以及每次拼接后得到的曲线组分别进行保存,得到该边缘曲线对应的中间过程曲线组以及最终拼接结果曲线组;2-8) Randomly select an edge curve from the edge curves processed in step 2-6), splice the neighboring curve of the end along any end of the edge curve, and then continue with the end of the neighboring curve that is not used for splicing Splice the corresponding neighbor curves, and then go down in turn until the splicing is impossible, save the selected edge curve and the curve group obtained after each splicing respectively, and obtain the intermediate process curve group corresponding to the edge curve and the final splicing result curve group;
2-9)重复步骤2-8),直到得到所有边缘曲线分别对应的中间过程曲线组以及最终拼接结果曲线组;2-9) Repeat steps 2-8) until the intermediate process curve group and the final splicing result curve group corresponding to all the edge curves are obtained;
2-10)计算步骤2-9)得到的每个曲线组的旋转角度,计算方法为从该曲线组的一个端 点开始,沿着曲线累加旋转角度,直到该曲线组的另一个端点,累计的旋转角度记为该曲线组的旋转角度;2-10) Calculate the rotation angle of each curve group obtained in step 2-9). The calculation method is to start from one end of the curve group and accumulate the rotation angle along the curve until the other end of the curve group. The rotation angle is recorded as the rotation angle of the curve group;
利用每个曲线组的旋转角度对所有曲线组进行筛选:若曲线组的旋转角度小于150度或大于400度则该曲线组是非法组合,将该曲线组删除;Use the rotation angle of each curve group to filter all curve groups: if the rotation angle of the curve group is less than 150 degrees or greater than 400 degrees, the curve group is an illegal combination, and the curve group is deleted;
2-11)对经过步骤2-10)筛选完毕后的每个曲线组拟合对应的椭圆,计算该曲线组上的像素到拟合对应椭圆的距离并进行判定:若到拟合对应椭圆距离小于一个像素距离的像素数量占所有像素数量低于设定的比例阈值则删除该椭圆,否则保留该椭圆;2-11) Fit the corresponding ellipse to each curve group after screening in step 2-10), calculate the distance from the pixel on the curve group to the fitted corresponding ellipse and judge: if the distance to the fitted corresponding ellipse If the number of pixels with a distance of less than one pixel to all pixels is lower than the set ratio threshold, the ellipse will be deleted, otherwise the ellipse will be retained;
2-12)对经过2-11)处理完毕的所有椭圆计算对应曲线组中像素到该椭圆距离小于一个像素距离的像素数量除以该椭圆周长的比值,按比值从大到小排序所有椭圆;2-12) For all ellipses processed in 2-11), calculate the ratio of the number of pixels whose distance from the pixel to the ellipse in the corresponding curve group is less than one pixel distance divided by the circumference of the ellipse, and sort all ellipses in descending order of the ratio. ;
2-13)按顺序依次选取步骤2-12)中排序后的椭圆并进行判定:若选取的椭圆所用到的边缘曲线都未被消耗,则保留该椭圆,同时消耗拟合该椭圆所用的边缘曲线;否则删除该椭圆;对所有椭圆判定完毕后,最终保留的椭圆即为步骤2-1)获取图像对应的椭圆识别的结果。2-13) Select the ellipses sorted in step 2-12) in order and make a judgment: if the edge curves used by the selected ellipse are not consumed, the ellipse is retained and the edges used to fit the ellipse are consumed at the same time Curve; otherwise delete the ellipse; after all ellipses are judged, the ellipse finally retained is the result of step 2-1) to obtain the ellipse recognition corresponding to the image.
本申请的特点及有益效果在于:The features and beneficial effects of this application are:
本申请通过训练一个深度神经网络,可实现高噪音环境下边缘图像的识别,然后利用边缘跟踪算法,可以从边缘图像中识别椭圆。本申请适合用于工业环境识别椭圆,能很好处理工业环境图像高噪音以及小椭圆较多的问题,且识别结果精度和召回率高,有很高的应用价值。In this application, a deep neural network can be trained to recognize edge images in a high-noise environment, and then edge tracking algorithms can be used to identify ellipses from edge images. This application is suitable for identifying ellipses in an industrial environment, can well deal with the problems of high noise in industrial environment images and many small ellipses, and has high recognition result accuracy and recall rate, and has high application value.
附图说明Description of the drawings
图1本申请实施例的整体流程图;Figure 1 is an overall flowchart of an embodiment of the present application;
图2本申请实施例的深度神经网络结构示意图。Fig. 2 is a schematic diagram of a deep neural network structure according to an embodiment of the present application.
具体实施方式detailed description
本申请提出一种基于深度学习的椭圆识别方法,下面结合附图和具体实施例对本申请进一步详细说明如下。This application proposes an ellipse recognition method based on deep learning. The application will be further described in detail below with reference to the drawings and specific embodiments.
本申请提出一种基于深度学习的椭圆识别方法,分为深度学习训练和边缘跟踪识别椭圆两个阶段,整体流程如图1所示,包括以下步骤:This application proposes an ellipse recognition method based on deep learning, which is divided into two stages of deep learning training and edge tracking to identify ellipses. The overall process is shown in Figure 1, including the following steps:
1)深度学习训练阶段;具体步骤如下:1) Deep learning training stage; the specific steps are as follows:
1-1)采集包含椭圆的图像作为训练输入图像,数量越多越好,本实施例采用81张网络收集的包含椭圆的图像作为训练输入图像,尺寸从200像素到1000像素均有覆盖,并对每张训练输入图像包含的所有边缘信息(不限于椭圆)进行人工标注,标注完毕后得到对应的 边缘图像作为训练目标图像;每张训练输入图像和对应训练目标图像组成一个训练样本,所有训练样本构成训练数据集;1-1) Collect images containing ellipses as training input images. The more the number, the better. In this embodiment, 81 images containing ellipses collected by the network are used as training input images. The size ranges from 200 pixels to 1000 pixels. Manually label all the edge information (not limited to ellipse) contained in each training input image, and get the corresponding edge image as the training target image after labeling; each training input image and the corresponding training target image form a training sample, all training The samples constitute the training data set;
1-2)构建深度神经网络;深度神经网络的输入为包含椭圆的图像,输出为输入图像对应的边缘图像。该网络具有14层神经元,网络前7层为压缩层,压缩层每层的输入图像尺寸按照折半的方式依次减小,后面7层为生成层,生成层的每层输入图像尺寸按照翻倍的方式依次扩大,第7层生成层的输出图像尺寸和输入的图像尺寸一致。其中除合并层(图2中两长方形叠加形式表示的层)之外每层都接有一个输出模块,网络一共输出8幅图像,假设输入图像尺寸为W×W,则8幅输出图像O d0,O d1,O d2,O d3,O u3,O u2,O u1,O u0的尺寸分别W×W,0.5W×0.5W,0.25W×0.25W,0.125W×0.125W,0.125W×0.125W,0.25W×0.25W,0.5W×0.5W,W×W; 1-2) Construct a deep neural network; the input of the deep neural network is an image containing an ellipse, and the output is an edge image corresponding to the input image. The network has 14 layers of neurons. The first 7 layers of the network are compressed layers. The input image size of each layer of the compressed layer is reduced in a half way. The next 7 layers are generating layers. The input image size of each layer of the generating layer is doubled. The method is successively expanded, and the output image size of the seventh generation layer is the same as the input image size. Each layer is connected to an output module except the merged layer (the layer represented by the two rectangles superimposed in Figure 2). The network outputs a total of 8 images. Assuming the input image size is W×W, then 8 output images O d0 , O d1 , O d2 , O d3 , O u3 , O u2 , O u1 , O u0 are respectively W×W, 0.5W×0.5W, 0.25W×0.25W, 0.125W×0.125W, 0.125W×0.125 W, 0.25W×0.25W, 0.5W×0.5W, W×W;
图2为本申请实施例的深度神经网络结果示意图。其中1为输入图像,2为各层的输出图像。其中Pool,/2为折半池化层,Conv为卷积层,Conv,/2为折半卷积层,Trans,X2为翻倍生成层,Same相连的两个图形代表同一个中间变量;X 0,i为第i幅输入图像,X 1,i,X 2,i,X 3,i分别为X 0,i缩小到二分之一、四分之一、八分之一的图像;Z dj,i为压缩层的中间变量,Z uj,i为生成层的中间变量,O dj,i为压缩层的输出,O uj,i为生成层的输出,其中j=0,1,2,3,代表图像相比原始输入图像尺寸折半的次数; FIG. 2 is a schematic diagram of a result of a deep neural network according to an embodiment of the application. Among them, 1 is the input image, and 2 is the output image of each layer. Among them, Pool,/2 is the half-pooling layer, Conv is the convolutional layer, Conv,/2 is the half-convolutional layer, Trans,X2 is the double generation layer, and the two graphics connected by Same represent the same intermediate variable; X 0 ,i is the i-th input image, X 1,i , X 2,i , X 3,i are the images reduced to one-half, one-quarter, and one-eighth of X 0,i respectively; Z dj ,i is the intermediate variable of the compression layer, Z uj,i is the intermediate variable of the generation layer, O dj,i is the output of the compression layer, O uj,i is the output of the generation layer, where j=0,1,2,3 , Represents the number of times the image is halved compared to the original input image size;
1-3)利用训练数据集对深度神经网络进行迭代训练,得到训练完毕的深度神经网络;具体步骤如下:1-3) Use the training data set to perform iterative training on the deep neural network to obtain the trained deep neural network; the specific steps are as follows:
1-3-1)随机初始化1-2)中建立的深度神经网络的参数,或者用一些成熟初始化算法。将初始深度神经网络作为当前神经网络;1-3-1) Randomly initialize the parameters of the deep neural network established in 1-2), or use some mature initialization algorithms. Use the initial deep neural network as the current neural network;
1-3-2)令i=1;1-3-2) Let i=1;
1-3-3)利用当前深度神经网络预测训练数据集中每个训练输入图像对应的输出边缘图像,其中每幅训练输入图像对应8幅不同尺寸的输出边缘图像。将第i幅训练输入图像记为X 0,i,深度神经网络预测的8幅输出边缘图像分别为O dj,i(j=0,1,2,3)和O uj,i(j=0,1,2,3),下标带j的图像尺寸为原始图像的0.5 j1-3-3) Using the current deep neural network to predict the output edge image corresponding to each training input image in the training data set, where each training input image corresponds to 8 output edge images of different sizes. Denote the i-th training input image as X 0,i , and the 8 output edge images predicted by the deep neural network are O dj,i (j=0,1,2,3) and O uj,i (j=0 ,1,2,3), the image size with subscript j is 0.5 j of the original image;
1-3-4)将第i幅训练输入图像X 0,i对应的训练目标图像Y 0,i连续折半降采样得到Y j,i(j=1,2,3),其中j代表折半降采样的次数,其中Y 0,i尺寸为W×W,,则Y j,i尺寸为0.5 jW×0.5 jW; 1-3-4) the first web training input image i X 0, i corresponding to the target image training Y 0, i consecutive binary down-sampled Y j, i (j = 1,2,3 ), where j represents a binary drop The number of samplings, where Y 0,i size is W×W, then Y j,i size is 0.5 j W×0.5 j W;
1-3-5)利用输出边缘图像O dj,i,O uj,i和训练目标图像Y j,i构造多层误差L i,表达式如下: 1-3-5) Using the output edge image O dj,i , O uj,i and the training target image Y j,i to construct a multi-layer error Li , the expression is as follows:
Figure PCTCN2019113241-appb-000003
Figure PCTCN2019113241-appb-000003
1-3-6)利用梯度下降算法通过最小化L i对当前深度神经网络的参数进行更新,得到更 新后的当前深度神经网络,可以根据内存情况设置批量更新,本实施例为每张图像更新一次; 1-3-6) Use the gradient descent algorithm to update the parameters of the current deep neural network by minimizing L i to obtain the updated current deep neural network. Batch update can be set according to the memory situation. This embodiment updates each image once;
1-3-7)令i=i+1,然后重新返回步骤1-3-3),利用梯度下降等算法通过最小化L i对当前深度神经网络进行迭代训练,直至所有训练样本都遍历一遍之后,重新返回步骤1-3-2)进行下一轮迭代训练直至到平均误差
Figure PCTCN2019113241-appb-000004
(其中N为训练数据集中训练样本数量)连续5轮迭代训练不再下降,取L avg最小时的深度神经网络为训练完毕的深度神经网络;
1-3-7) Let i=i+1, and then go back to step 1-3-3), use gradient descent and other algorithms to iteratively train the current deep neural network by minimizing L i until all training samples are traversed After that, return to step 1-3-2) for the next iteration of training until the average error is reached
Figure PCTCN2019113241-appb-000004
(Where N is the number of training samples in the training data set) 5 consecutive rounds of iterative training no longer drop, take the deep neural network when Lavg is the smallest as the trained deep neural network;
2)边缘跟踪识别椭圆;具体步骤如下:2) Edge tracking to identify the ellipse; the specific steps are as follows:
2-1)任意获取一张图像X a0,将该图像输入步骤1)的训练完毕的深度神经网络,得到该网络第7层生成层输出图像O a0;其中,图像X a0可以是任意途径获得的图像; 2-1) Obtain an image X a0 arbitrarily, and input the image into the trained deep neural network of step 1) to obtain the output image O a0 of the 7th generation layer of the network; where the image X a0 can be obtained in any way Image;
2-2)对步骤2-1)得到的图像O a0进行形态学瘦身处理(morphologically thinning),得到宽度为1个像素的边缘图像; 2-2) Morphologically thinning the image O a0 obtained in step 2-1) to obtain an edge image with a width of 1 pixel;
2-3)对步骤2-2)中宽度为1个像素的边缘图像进行边缘跟踪;具体步骤如下:2-3) Perform edge tracking on the edge image with a width of 1 pixel in step 2-2); the specific steps are as follows:
2-3-1)随机选取2-2)得到边缘图像里一个未被使用过的像素(该边缘图像在初始状态下所有像素均未被使用)作为种子像素,同时该种子像素需满足只含有不多于两个8连通邻居,8连通邻居为与该像素共享一条边或一个角点的像素;2-3-1) Randomly select 2-2) Obtain an unused pixel in the edge image (all pixels of the edge image are not used in the initial state) as the seed pixel, and the seed pixel must satisfy No more than two 8-connected neighbors, 8-connected neighbors are pixels that share an edge or a corner with the pixel;
2-3-2)初始化一条不含任何像素的空曲线作为当前边缘曲线,选择种子像素的任一个8连通邻居作为边界像素,并将该边界像素加入到当前边缘曲线中(曲线由像素组成,加入就是把像素放到曲线里面,相当于曲线变长了一个像素),所有加入当前边缘曲线的像素均被认为已使用;2-3-2) Initialize an empty curve without any pixels as the current edge curve, select any 8-connected neighbor of the seed pixel as the boundary pixel, and add the boundary pixel to the current edge curve (the curve is composed of pixels, Adding is to put pixels in the curve, which is equivalent to the curve lengthening by one pixel), all pixels added to the current edge curve are considered used;
2-3-3)对边界像素进行判定:2-3-3) Judge the boundary pixels:
若边界像素含有多于两个或少于两个8连通邻居,那么结束种子像素与边界像素的连线方向的边缘跟踪,进入步骤2-3-5);若边界像素含有恰好两个8连通邻居,则将边界像素两个8连通邻居中不在当前边缘曲线上的8连通邻居作为新的边界像素,并加入当前边缘曲线,进入步骤2-3-4);If the boundary pixel contains more than two or less than two 8-connected neighbors, then end the edge tracking in the direction of the connection between the seed pixel and the boundary pixel, and proceed to step 2-3-5); if the boundary pixel contains exactly two 8-connected neighbors Neighbors, the 8-connected neighbors of the two 8-connected neighbors of the boundary pixel that are not on the current edge curve are used as the new boundary pixels, and the current edge curve is added to step 2-3-4);
2-3-4)重复步骤2-3-3),直到结束种子像素与边界像素的连线方向的边缘跟踪,进入步骤2-3-5);2-3-4) Repeat steps 2-3-3) until the edge tracking in the direction of the connection between the seed pixel and the boundary pixel ends, and then proceed to step 2-3-5);
2-3-5)若种子像素只有1个8联通邻居,则将步骤2-3-4)完成边缘跟踪的当前边缘曲线作为该种子像素的边缘曲线,进入步骤2-4);若种子像素有两个8连通邻居,则选取种子像素的另一个8连通邻居作为新的边界像素,重复2-3-2)到2-3-4),初始化一条新的当前边缘曲线,并完成种子像素与新的边界像素的连线方向的边缘跟踪,最后分别将步骤2-3-4)和2-3-5)完成边缘追踪的两条当前边缘曲线拼接成一条该种子像素的边缘曲线;2-3-5) If the seed pixel has only one 8-connected neighbor, then use the current edge curve that has completed edge tracking in step 2-3-4) as the edge curve of the seed pixel, and proceed to step 2-4); if the seed pixel If there are two 8-connected neighbors, select another 8-connected neighbor of the seed pixel as the new boundary pixel, repeat 2-3-2) to 2-3-4), initialize a new current edge curve, and complete the seed pixel Edge tracking in the direction of the connection with the new boundary pixel, and finally the two current edge curves that have completed edge tracking in steps 2-3-4) and 2-3-5) are spliced into an edge curve of the seed pixel;
2-4)从步骤2-2)的边缘图像中随机选取一个新的未被使用过的像素,重复步骤2-3),直到所有未被使用的像素得对应的边缘曲线,至此,得到一系列的边缘曲线;2-4) Randomly select a new unused pixel from the edge image in step 2-2), repeat steps 2-3), until all unused pixels have corresponding edge curves, so far, a The edge curve of the series;
2-5)扫描步骤2-4)得到的每条边缘曲线,在每条边缘曲线中曲率超过设定曲率阈值的地方断开该边缘曲线得到多条边缘曲线,具体曲率阈值根据应用场景进行选择(本实施例取阈值为两倍平均值);2-5) Scan each edge curve obtained in step 2-4), and disconnect the edge curve where the curvature exceeds the set curvature threshold in each edge curve to obtain multiple edge curves. The specific curvature threshold is selected according to the application scenario (In this embodiment, the threshold is twice the average value);
2-6)从步骤2-5)处理完毕的边缘曲线中删除直线度超过设定直线度阈值的边缘曲线,直线度阈值根据具体应用场景调节(本实施例取0.9);2-6) Delete edge curves whose straightness exceeds the set straightness threshold from the edge curves processed in step 2-5), and the straightness threshold is adjusted according to specific application scenarios (0.9 in this embodiment);
2-7)对步骤2-6)处理完毕的每条边缘曲线的每个端点,计算可以与该端点相连得到平滑曲线的边缘曲线,并对计算得到的边缘曲线按照长度从大到小进行排序,取其中长度最大的边缘曲线作为该端点的邻居曲线;2-7) For each end point of each edge curve processed in step 2-6), calculate the edge curve that can be connected to the end point to obtain a smooth curve, and sort the calculated edge curves from large to small in length , Take the edge curve with the largest length as the neighbor curve of the end point;
2-8)从步骤2-6)处理完毕的边缘曲线中随机取一条边缘曲线,沿该边缘曲线任一个端点拼接该端点的邻居曲线,然后将对该邻居曲线未被用于拼接的端点继续拼接对应的邻居曲线,依次往下,直到无法拼接为止,将选取的边缘曲线以及每次拼接后得到的曲线组分别进行保存,得到该边缘曲线对应的中间过程曲线组以及最终拼接结果曲线组;例如若某条边缘曲线的最终拼接结果曲线组[P 1,P 2,P 3]存在,那么中间过程[P 1]和[P 1,P 2]也被保留,其中P 1为随机选取的一条边缘曲线,P 2为P 1一个端点的邻居曲线,P 3为P 2未被用于拼接的端点对应的邻居曲线。 2-8) Randomly select an edge curve from the edge curves processed in step 2-6), splice the neighboring curve of the end along any end of the edge curve, and then continue with the end of the neighboring curve that is not used for splicing Splice the corresponding neighbor curves, and then go down in turn until the splicing is impossible, save the selected edge curve and the curve group obtained after each splicing respectively, and obtain the intermediate process curve group corresponding to the edge curve and the final splicing result curve group; For example, if the final splicing result curve group [P 1 ,P 2 ,P 3 ] of a certain edge curve exists, then the intermediate process [P 1 ] and [P 1 ,P 2 ] are also retained, where P 1 is randomly selected An edge curve, P 2 is the neighbor curve of one end of P 1 , and P 3 is the neighbor curve corresponding to the end of P 2 that is not used for splicing.
2-9)重复步骤2-8),直到所有边缘曲线分别对应的中间过程曲线组以及最终拼接结果曲线组;至此,得到一系列曲线组合;2-9) Repeat steps 2-8) until all the edge curves correspond to the intermediate process curve group and the final splicing result curve group; so far, a series of curve combinations are obtained;
2-10)计算步骤2-9)得到的每个曲线组的旋转角度,计算方法为从该曲线组的一个端点开始,沿着曲线累加旋转角度,直到该组合的另一个端点,累计的旋转角度记为该曲线组的旋转角度;2-10) Calculate the rotation angle of each curve group obtained in step 2-9). The calculation method is to start from one end of the curve group and accumulate the rotation angle along the curve until the other end of the combination, the cumulative rotation The angle is recorded as the rotation angle of the curve group;
利用每个曲线组的旋转角度对所有曲线组进行筛选:若曲线组的旋转角度小于150度或大于400度则被认为该曲线组是非法组合,将该曲线组删除;Use the rotation angle of each curve group to filter all curve groups: if the rotation angle of the curve group is less than 150 degrees or greater than 400 degrees, the curve group is considered to be an illegal combination, and the curve group is deleted;
2-11)对经过步骤2-10)筛选完毕后的每个曲线组拟合对应的椭圆,计算该曲线组上的像素到拟合对应椭圆的距离,其中到拟合对应椭圆距离小于一个像素距离的像素数量占所有像素数量的比例不得低于设定的比例阈值,若小于一个像素距离的像素数量占所有像素数量低于设定的比例阈值则删除该椭圆,否则保留该椭圆(具体阈值选择根据实际应用场景决定,本实施例比例阈值取值为0.5);2-11) Fit the corresponding ellipse to each curve group after screening in step 2-10), and calculate the distance from the pixel on the curve group to the fitted corresponding ellipse, where the distance to the fitted corresponding ellipse is less than one pixel The ratio of the number of distance pixels to the number of all pixels shall not be lower than the set ratio threshold. If the number of pixels less than one pixel distance to the number of all pixels is lower than the set ratio threshold, the ellipse will be deleted, otherwise the ellipse will be retained (specific threshold The selection is determined according to actual application scenarios, and the ratio threshold value in this embodiment is 0.5);
2-12)对经过2-11)处理完毕的所有椭圆计算对应曲线组中像素到该椭圆距离小于一个像素距离的像素数量除以该椭圆周长的比值,并按比值从大到小排序所有椭圆;2-12) For all ellipses processed in 2-11), calculate the ratio of the number of pixels whose distance from the pixel to the ellipse in the corresponding curve group is less than one pixel distance divided by the circumference of the ellipse, and sort all by the ratio from largest to smallest oval;
2-13)按顺序依次选取步骤2-12)中排序后的椭圆并进行判定:若选取的椭圆所用到的边缘曲线都未被消耗,则保留该椭圆,同时消耗拟合该椭圆所用到的边缘曲线;否则删除该椭圆(即如果拟合该椭圆的边缘曲线全部或部分被消耗过,则删除该椭圆);对所有椭圆判 定完毕后,最终保留的椭圆即为步骤2-1)获取图像对应的椭圆识别的结果。2-13) Select the sorted ellipses in step 2-12) in order and make a judgment: if none of the edge curves used by the selected ellipse are consumed, the ellipse is retained and the ellipse used for fitting the ellipse is consumed at the same time Edge curve; otherwise delete the ellipse (that is, if all or part of the edge curve fitting the ellipse has been consumed, delete the ellipse); after all ellipses are judged, the final ellipse remaining is step 2-1) Get the image The result of corresponding ellipse recognition.
本申请利用深度神经网络识别边缘图像,利用边缘跟踪算法识别椭圆,实现了基于深度学习的椭圆识别。This application uses a deep neural network to recognize edge images, and uses an edge tracking algorithm to recognize ellipses, and realizes ellipse recognition based on deep learning.

Claims (1)

  1. 一种基于深度学习的椭圆识别方法,其特征在于,该方法分为深度学习训练和边缘跟踪识别椭圆两个阶段,包括以下步骤:An ellipse recognition method based on deep learning, characterized in that the method is divided into two stages of deep learning training and edge tracking to identify ellipse, including the following steps:
    1)深度学习训练阶段;具体步骤如下:1) Deep learning training stage; the specific steps are as follows:
    1-1)采集M张包含椭圆的图像作为训练输入图像,对每张训练输入图像包含的所有边缘信息进行人工标注,标注完毕后得到对应的边缘图像作为训练目标图像;每张训练输入图像和对应训练目标图像组成一个训练样本,所有训练样本构成训练数据集;1-1) Collect M images containing ellipses as training input images, manually label all the edge information contained in each training input image, and obtain the corresponding edge image as the training target image after labeling; each training input image and Form a training sample corresponding to the training target image, and all training samples form a training data set;
    1-2)构建深度神经网络;该网络具有14层神经元,网络前7层为压缩层,压缩层每层的输入图像尺寸按照折半的方式依次减小,后面7层为生成层,生成层的每层输入图像尺寸按照翻倍的方式依次扩大,第7层生成层的输出图像尺寸和输入的图像尺寸一致;网络一共输出8幅图像,假设输入图像尺寸为W×W,则8幅输出图像O d0,O d1,O d2,O d3,O u3,O u2,O u1,O u0的尺寸分别W×W,0.5W×0.5W,0.25W×0.25W,0.125W×0.125W,0.125W×0.125W,0.25W×0.25W,0.5W×0.5W,W×W;其中,O dj,i为压缩层的输出,O uj,i为生成层的输出,j=0,1,2,3代表图像相比原始图像尺寸折半的次数; 1-2) Build a deep neural network; the network has 14 layers of neurons, the first 7 layers of the network are compressed layers, the input image size of each layer of the compressed layer is reduced in turn in a half way, and the next 7 layers are generating layers, generating layers The input image size of each layer is expanded in a doubling manner. The output image size of the 7th generation layer is the same as the input image size; the network outputs a total of 8 images, assuming the input image size is W×W, then 8 output The dimensions of the images O d0 , O d1 , O d2 , O d3 , O u3 , O u2 , O u1 , O u0 are respectively W×W, 0.5W×0.5W, 0.25W×0.25W, 0.125W×0.125W, 0.125 W×0.125W, 0.25W×0.25W, 0.5W×0.5W, W×W; among them, O dj,i is the output of the compression layer, O uj,i is the output of the generation layer, j=0,1,2 ,3 represents the number of times the image is halved compared to the original image size;
    1-3)利用训练数据集对深度神经网络进行迭代训练,得到训练完毕的深度神经网络;具体步骤如下:1-3) Use the training data set to perform iterative training on the deep neural network to obtain the trained deep neural network; the specific steps are as follows:
    1-3-1)随机初始化1-2)中建立的深度神经网络的参数,将初始深度神经网络作为当前神经网络;1-3-1) Randomly initialize the parameters of the deep neural network established in 1-2), and use the initial deep neural network as the current neural network;
    1-3-2)令i=1;1-3-2) Let i=1;
    1-3-3)利用当前深度神经网络预测训练数据集中每个训练输入图像对应的输出边缘图像;将第i幅训练输入图像记为X 0,i,深度神经网络预测的8幅输出边缘图像分别为O dj,i和O uj,i,j=0,1,2,3; 1-3-3) Use the current deep neural network to predict the output edge image corresponding to each training input image in the training data set; record the i-th training input image as X 0,i , the 8 output edge images predicted by the deep neural network Respectively O dj,i and O uj,i , j=0,1,2,3;
    1-3-4)将第i幅训练输入图像X 0,i对应的训练目标图像Y 0,i连续折半降采样得到Y j,i,j=0,1,2,3,其中Y 0,i尺寸为W×W,,则Y j,i尺寸为0.5 jW×0.5 jW; 1-3-4) the first web training input image i X 0, i corresponding to the target image training Y 0, i consecutive binary down-sampled Y j, i, j = 0,1,2,3 , where Y 0, The size of i is W×W, then the size of Y j,i is 0.5 j W×0.5 j W;
    1-3-5)利用输出边缘图像O dj,i,O uj,i和训练目标图像Y j,i构造多层误差L i,表达式如下: 1-3-5) Using the output edge image O dj,i , O uj,i and the training target image Y j,i to construct a multi-layer error Li , the expression is as follows:
    Figure PCTCN2019113241-appb-100001
    Figure PCTCN2019113241-appb-100001
    1-3-6)利用梯度下降算法通过最小化L i对当前深度神经网络的参数进行更新,得到更新后的当前深度神经网络; 1-3-6) Use the gradient descent algorithm to update the parameters of the current deep neural network by minimizing L i to obtain the updated current deep neural network;
    1-3-7)令i=i+1,然后重新返回步骤1-3-3),利用梯度下降等算法通过最小化L i对当前深度神经网络进行迭代训练,直至所有训练样本都遍历一遍之后,重新返回步骤1-3-2)进 行下一轮迭代训练直至平均误差
    Figure PCTCN2019113241-appb-100002
    连续5轮迭代训练不再下降,其中N为训练样本数量;取L avg最小时的深度神经网络为训练完毕的深度神经网络;
    1-3-7) Let i=i+1, and then go back to step 1-3-3), use gradient descent and other algorithms to iteratively train the current deep neural network by minimizing L i until all training samples are traversed After that, return to step 1-3-2) for the next iteration of training until the average error
    Figure PCTCN2019113241-appb-100002
    There is no decline in 5 consecutive rounds of iterative training, where N is the number of training samples; the deep neural network when Lavg is the smallest is the deep neural network that has been trained;
    2)边缘跟踪识别椭圆;具体步骤如下:2) Edge tracking to identify the ellipse; the specific steps are as follows:
    2-1)任意获取一张图像X a0(将该图像输入步骤1)的训练完毕的深度神经网络,得到该网络第7层生成层输出图像O a02-1) Acquire an image X a0 (input the image into step 1) of the trained deep neural network arbitrarily, and obtain the output image O a0 of the 7th generation layer of the network;
    2-2)对步骤2-1)得到的图像O a0进行形态学瘦身处理,得到宽度为1个像素的边缘图像; 2-2) Perform morphological slimming processing on the image O a0 obtained in step 2-1) to obtain an edge image with a width of 1 pixel;
    2-3)对步骤2-2)中宽度为1个像素的边缘图像进行边缘跟踪;具体步骤如下:2-3) Perform edge tracking on the edge image with a width of 1 pixel in step 2-2); the specific steps are as follows:
    2-3-1)随机选取2-2)得到边缘图像里一个未被使用过的像素作为种子像素,该种子像素含有不多于两个8连通邻居;2-3-1) Randomly select 2-2) Obtain an unused pixel in the edge image as a seed pixel, which contains no more than two 8-connected neighbors;
    2-3-2)初始化一条不含任何像素的空曲线作为当前边缘曲线,选择种子像素的任一个8连通邻居作为边界像素,并将该边界像素加入到当前边缘曲线中,所有加入当前边缘曲线的像素为已使用像素;2-3-2) Initialize an empty curve without any pixels as the current edge curve, select any 8-connected neighbor of the seed pixel as the boundary pixel, and add the boundary pixel to the current edge curve, all add the current edge curve The pixels are used pixels;
    2-3-3)对边界像素进行判定:2-3-3) Judge the boundary pixels:
    若边界像素含有多于两个或少于两个8连通邻居,则结束种子像素与边界像素的连线方向的边缘跟踪,进入步骤2-3-5);若边界像素含有两个8连通邻居,则将边界像素两个8连通邻居中不在当前边缘曲线上的8连通邻居作为新的边界像素,并加入当前边缘曲线,进入步骤2-3-4);If the boundary pixel contains more than two or less than two 8-connected neighbors, the edge tracking of the connection direction between the seed pixel and the boundary pixel is ended, and step 2-3-5); if the boundary pixel contains two 8-connected neighbors , The 8-connected neighbor of the two 8-connected neighbors of the boundary pixel that is not on the current edge curve is taken as the new boundary pixel, and the current edge curve is added to step 2-3-4);
    2-3-4)重复步骤2-3-3),直到结束种子像素与边界像素的连线方向的边缘跟踪,进入步骤2-3-5);2-3-4) Repeat step 2-3-3) until the edge tracking in the direction of the connection between the seed pixel and the boundary pixel is finished, and then enter step 2-3-5);
    2-3-5)若种子像素只有1个8联通邻居,则将步骤2-3-4)完成边缘跟踪的当前边缘曲线作为该种子像素的边缘曲线,进入步骤2-4);若种子像素有两个8连通邻居,则选取种子像素的另一个8连通邻居作为新的边界像素,重复2-3-2)到2-3-4),初始化一条新的当前边缘曲线,并完成种子像素与新的边界像素的连线方向的边缘跟踪,最后分别将步骤2-3-4)和2-3-5)完成边缘追踪的两条当前边缘曲线拼接成一条该种子像素的边缘曲线;2-3-5) If the seed pixel has only one 8-connected neighbor, then use the current edge curve that has completed edge tracking in step 2-3-4) as the edge curve of the seed pixel, and proceed to step 2-4); if the seed pixel If there are two 8-connected neighbors, select another 8-connected neighbor of the seed pixel as the new boundary pixel, repeat 2-3-2) to 2-3-4), initialize a new current edge curve, and complete the seed pixel Edge tracking in the direction of the connection with the new boundary pixel, and finally the two current edge curves that have completed edge tracking in steps 2-3-4) and 2-3-5) are spliced into an edge curve of the seed pixel;
    2-4)从步骤2-2)的边缘图像中随机选取一个新的未被使用过的像素,重复步骤2-3),直到所有未被使用的像素得到对应的边缘曲线;2-4) Randomly select a new unused pixel from the edge image in step 2-2), and repeat steps 2-3) until all unused pixels get the corresponding edge curve;
    2-5)扫描步骤2-4)得到的每条边缘曲线,在每条边缘曲线中曲率超过设定曲率阈值的地方断开该边缘曲线;2-5) Scan each edge curve obtained in step 2-4), and disconnect the edge curve where the curvature of each edge curve exceeds the set curvature threshold;
    2-6)从步骤2-5)处理完毕的边缘曲线中删除直线度超过设定直线度阈值的边缘曲线;2-6) Delete the edge curves whose straightness exceeds the set straightness threshold from the edge curves processed in step 2-5);
    2-7)对步骤2-6)处理完毕的每条边缘曲线的每个端点,计算与该端点相连得到平滑曲线的边缘曲线,并对计算得到的边缘曲线按照长度从大到小进行排序,取其中长度最大的边 缘曲线作为该端点的邻居曲线;2-7) For each end point of each edge curve processed in step 2-6), calculate the edge curve connected to the end point to obtain a smooth curve, and sort the calculated edge curves from large to small in length, Take the edge curve with the largest length as the neighbor curve of the end point;
    2-8)从步骤2-6)处理完毕的边缘曲线中随机取一条边缘曲线,沿该边缘曲线任一个端点拼接该端点的邻居曲线,然后将对该邻居曲线未被用于拼接的端点继续拼接对应的邻居曲线,依次往下,直到无法拼接为止,将选取的边缘曲线以及每次拼接后得到的曲线组分别进行保存,得到该边缘曲线对应的中间过程曲线组以及最终拼接结果曲线组;2-8) Randomly select an edge curve from the edge curves processed in step 2-6), splice the neighboring curve of the end along any end of the edge curve, and then continue with the end of the neighboring curve that is not used for splicing Splice the corresponding neighbor curves, and then go down in turn until the splicing is impossible, save the selected edge curve and the curve group obtained after each splicing respectively, and obtain the intermediate process curve group corresponding to the edge curve and the final splicing result curve group;
    2-9)重复步骤2-8),直到得到所有边缘曲线分别对应的中间过程曲线组以及最终拼接结果曲线组;2-9) Repeat steps 2-8) until the intermediate process curve group and the final splicing result curve group corresponding to all the edge curves are obtained;
    2-10)计算步骤2-9)得到的每个曲线组的旋转角度,计算方法为从该曲线组的一个端点开始,沿着曲线累加旋转角度,直到该曲线组的另一个端点,累计的旋转角度记为该曲线组的旋转角度;2-10) Calculate the rotation angle of each curve group obtained in step 2-9). The calculation method is to start from one end of the curve group and accumulate the rotation angle along the curve until the other end of the curve group. The rotation angle is recorded as the rotation angle of the curve group;
    利用每个曲线组的旋转角度对所有曲线组进行筛选:若曲线组的旋转角度小于150度或大于400度则该曲线组是非法组合,将该曲线组删除;Use the rotation angle of each curve group to filter all curve groups: if the rotation angle of the curve group is less than 150 degrees or greater than 400 degrees, the curve group is an illegal combination, and the curve group is deleted;
    2-11)对经过步骤2-10)筛选完毕后的每个曲线组拟合对应的椭圆,计算该曲线组上的像素到拟合对应椭圆的距离并进行判定:若到拟合对应椭圆距离小于一个像素距离的像素数量占所有像素数量低于设定的比例阈值则删除该椭圆,否则保留该椭圆;2-11) Fit the corresponding ellipse to each curve group after screening in step 2-10), calculate the distance from the pixel on the curve group to the fitted corresponding ellipse and judge: if the distance to the fitted corresponding ellipse If the number of pixels with a distance of less than one pixel to all pixels is lower than the set ratio threshold, the ellipse will be deleted, otherwise the ellipse will be retained;
    2-12)对经过2-11)处理完毕的所有椭圆计算对应曲线组中像素到该椭圆距离小于一个像素距离的像素数量除以该椭圆周长的比值,按比值从大到小排序所有椭圆;2-12) For all ellipses processed in 2-11), calculate the ratio of the number of pixels whose distance from the pixel to the ellipse in the corresponding curve group is less than one pixel distance divided by the circumference of the ellipse, and sort all ellipses in descending order of the ratio. ;
    2-13)按顺序依次选取步骤2-12)中排序后的椭圆并进行判定:若选取的椭圆所用到的边缘曲线都未被消耗,则保留该椭圆,同时消耗拟合该椭圆所用的边缘曲线;否则删除该椭圆;对所有椭圆判定完毕后,最终保留的椭圆即为步骤2-1)获取图像对应的椭圆识别的结果。2-13) Select the ellipses sorted in step 2-12) in order and make a judgment: if the edge curves used by the selected ellipse are not consumed, the ellipse is retained and the edges used to fit the ellipse are consumed at the same time Curve; otherwise delete the ellipse; after all ellipses are judged, the ellipse finally retained is the result of step 2-1) to obtain the ellipse recognition corresponding to the image.
PCT/CN2019/113241 2019-08-09 2019-10-25 Deep learning-based ellipse recognition method WO2021027070A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910732288.4 2019-08-09
CN201910732288.4A CN110598692B (en) 2019-08-09 2019-08-09 Ellipse identification method based on deep learning

Publications (1)

Publication Number Publication Date
WO2021027070A1 true WO2021027070A1 (en) 2021-02-18

Family

ID=68853697

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/113241 WO2021027070A1 (en) 2019-08-09 2019-10-25 Deep learning-based ellipse recognition method

Country Status (2)

Country Link
CN (1) CN110598692B (en)
WO (1) WO2021027070A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113538488A (en) * 2021-07-16 2021-10-22 合肥国轩高科动力能源有限公司 BMS charging port identification method
CN114283275A (en) * 2022-03-04 2022-04-05 南昌工学院 Multi-graph target detection method based on optimized deep learning
CN115311281A (en) * 2022-10-12 2022-11-08 南通迪博西电子有限公司 Wafer circle center correction method
CN115497108A (en) * 2022-11-16 2022-12-20 南京信息工程大学 Chinese character framework angular point detection method based on elliptical eccentricity
CN115880303A (en) * 2023-03-08 2023-03-31 杭州凌像科技有限公司 Sub-pixel precision positioning detection method and system for PCB circular hole

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111724379B (en) * 2020-06-24 2024-05-24 武汉互创联合科技有限公司 Microscopic image cell counting and gesture recognition method and system based on combined view
CN111724381B (en) * 2020-06-24 2022-11-01 武汉互创联合科技有限公司 Microscopic image cell counting and posture identification method based on multi-view cross validation
CN114332667B (en) * 2022-03-17 2022-07-01 北京市农林科学院信息技术研究中心 Corn plant type identification method and device, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155841A (en) * 1998-11-19 2000-06-06 Nippon Telegr & Teleph Corp <Ntt> Graphic recognition method, device therefor and recording medium recorded with graphic recognition program
CN103593849A (en) * 2013-11-26 2014-02-19 北京建筑大学 Method for quickly recognizing and tracking image sequence oval artificial target points
CN103632366A (en) * 2013-11-26 2014-03-12 清华大学 Parameter identification method for elliptical target

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012014113A1 (en) * 2012-07-17 2013-01-17 Daimler Ag Method for determining stereo disparity data for producing stereo card of environment of vehicle, involves representing edges, which are detected as elliptical line segments in individual image, as elliptical line segments in disparity card
CN104239870B (en) * 2014-09-25 2017-11-17 哈尔滨工业大学 A kind of ellipse detection method based on the segmentation of curve arc
CN104391966B (en) * 2014-12-03 2017-09-29 中国人民解放军国防科学技术大学 Typical logo searching method based on deep learning
CN107577981A (en) * 2016-07-04 2018-01-12 高德信息技术有限公司 A kind of road traffic index identification method and device
CN106372642B (en) * 2016-08-31 2023-11-03 北京航空航天大学 Ellipse rapid detection method based on contour curve segmentation arc merging and combining
EP3714350B1 (en) * 2017-09-28 2023-11-01 Apple Inc. Method and device for eye tracking using event camera data
CN108509908B (en) * 2018-03-31 2022-05-17 天津大学 Pupil diameter real-time measurement method based on binocular stereo vision

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155841A (en) * 1998-11-19 2000-06-06 Nippon Telegr & Teleph Corp <Ntt> Graphic recognition method, device therefor and recording medium recorded with graphic recognition program
CN103593849A (en) * 2013-11-26 2014-02-19 北京建筑大学 Method for quickly recognizing and tracking image sequence oval artificial target points
CN103632366A (en) * 2013-11-26 2014-03-12 清华大学 Parameter identification method for elliptical target

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEI HONGQIANG, ZHANG JIANWEI, SONG XIAOHUI, DAI ZHENGGUO: "A Method for Ellipse Detection Based on Edge-tracking and Hough Transformation", CHANGCHUN LIGONG DAXUE XUEBAO (ZIRAN KEXUE BAN) = CHANGCHUN UNIVERSITY OF SCIENCE AND TECHNOLOGY. JOURNAL (NATURAL SCIENCE EDITION), CN, vol. 33, no. 3, 15 September 2010 (2010-09-15), CN, pages 133 - 136, XP055780543, ISSN: 1672-9870 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113538488A (en) * 2021-07-16 2021-10-22 合肥国轩高科动力能源有限公司 BMS charging port identification method
CN114283275A (en) * 2022-03-04 2022-04-05 南昌工学院 Multi-graph target detection method based on optimized deep learning
CN115311281A (en) * 2022-10-12 2022-11-08 南通迪博西电子有限公司 Wafer circle center correction method
CN115311281B (en) * 2022-10-12 2023-11-24 深圳市芯盛长盈科技有限公司 Wafer circle center correction method
CN115497108A (en) * 2022-11-16 2022-12-20 南京信息工程大学 Chinese character framework angular point detection method based on elliptical eccentricity
CN115497108B (en) * 2022-11-16 2023-03-14 南京信息工程大学 Chinese character framework angular point detection method based on elliptical eccentricity
CN115880303A (en) * 2023-03-08 2023-03-31 杭州凌像科技有限公司 Sub-pixel precision positioning detection method and system for PCB circular hole

Also Published As

Publication number Publication date
CN110598692A (en) 2019-12-20
CN110598692B (en) 2021-04-13

Similar Documents

Publication Publication Date Title
WO2021027070A1 (en) Deep learning-based ellipse recognition method
Wei et al. Simultaneous road surface and centerline extraction from large-scale remote sensing images using CNN-based segmentation and tracing
CN109299274B (en) Natural scene text detection method based on full convolution neural network
CN111325203B (en) American license plate recognition method and system based on image correction
US10699109B2 (en) Data entry from series of images of a patterned document
US20200134382A1 (en) Neural network training utilizing specialized loss functions
CN105574524B (en) Based on dialogue and divide the mirror cartoon image template recognition method and system that joint identifies
WO2014108866A1 (en) Process of handwriting recognition and related apparatus
CN110188762B (en) Chinese-English mixed merchant store name identification method, system, equipment and medium
CN112613502A (en) Character recognition method and device, storage medium and computer equipment
Geetha et al. Implementation of text recognition and text extraction on formatted bills using deep learning
Wang et al. Residential roof condition assessment system using deep learning
KR102239133B1 (en) Apparatus and method of defect classification using image transformation based on machine-learning
US11715288B2 (en) Optical character recognition using specialized confidence functions
Goud et al. Text localization and recognition from natural scene images using ai
CN115965987A (en) Table character structured recognition method based on heterogeneous architecture
CN112699898B (en) Image direction identification method based on multi-layer feature fusion
Rotman et al. Detection masking for improved OCR on noisy documents
CN111461130B (en) High-precision image semantic segmentation algorithm model and segmentation method
Chen et al. Design and Implementation of Second-generation ID Card Number Identification Model based on TensorFlow
Vinjit et al. Implementation of handwritten digit recognizer using CNN
Bhatt et al. Text Extraction & Recognition from Visiting Cards
Xin et al. Comic text detection and recognition based on deep learning
Savitha et al. Detection of single and multi-character Tulu text blocks
GUNAYDIN et al. Digitization and Archiving of Company Invoices using Deep Learning and Text Recognition-Processing Techniques

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19941345

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19941345

Country of ref document: EP

Kind code of ref document: A1