WO2022057607A1 - 识别对象边缘的方法、系统及计算机可读存储介质 - Google Patents

识别对象边缘的方法、系统及计算机可读存储介质 Download PDF

Info

Publication number
WO2022057607A1
WO2022057607A1 PCT/CN2021/115482 CN2021115482W WO2022057607A1 WO 2022057607 A1 WO2022057607 A1 WO 2022057607A1 CN 2021115482 W CN2021115482 W CN 2021115482W WO 2022057607 A1 WO2022057607 A1 WO 2022057607A1
Authority
WO
WIPO (PCT)
Prior art keywords
vertex
vertices
input image
edge
image
Prior art date
Application number
PCT/CN2021/115482
Other languages
English (en)
French (fr)
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 杭州睿琪软件有限公司
Priority to US17/637,801 priority Critical patent/US20230267619A1/en
Publication of WO2022057607A1 publication Critical patent/WO2022057607A1/zh

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/181Segmentation; Edge detection involving edge growing; involving edge linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/147Determination of region of interest
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection

Definitions

  • the present invention relates to the technical field of digital image processing, and in particular, to a method, a system and a computer-readable storage medium for identifying the edge of an object.
  • the objects can be business cards, test papers, test sheets, documents, etc.
  • the image obtained by taking a photo contains not only the object, but also inevitably the external environment in which the object is located.
  • the part corresponding to the external environment in the image is redundant for identifying the relevant information of the object in the image. Therefore, when processing the image to obtain the relevant information of the object in the image, it is necessary to detect the edge of the object from the image, so as to Extract objects from the image based on their edges.
  • the object of the present invention is to provide a method, system and computer-readable storage medium for identifying the edge of an object, so as to detect the edge of an object with an edge in an image.
  • the present invention provides a method for identifying the edge of an object, comprising:
  • the input image includes an object having an edge, and the edge of the object includes a plurality of object vertices;
  • adjacent vertices of the object are sequentially connected to form edge lines, so as to obtain the edge of the object with edges in the input image.
  • the preset area where the reference position of the object vertex is located is the pixel point at the reference position of the object vertex as the center of the circle, and the first preset pixel as the center of the circle. a circular area of radius;
  • performing corner detection in the preset area where the reference position of the object vertices is located including:
  • Corner detection is performed on the pixel points in the circular area corresponding to each of the object vertices.
  • the pixel points whose characteristic value variation range is greater than the preset threshold are regarded as candidate corner points.
  • the target corner points corresponding to the vertices of each object are determined in the points.
  • the determining target corner points corresponding to each object vertex from the candidate corner points includes:
  • Step A1 sort the candidate corners in descending order according to the variation range of the eigenvalues, determine the candidate corners in the first place as the target corners, and determine the candidate corners in the second place as the target corners. Determined as the current corner point to be selected;
  • Step A2 judging whether the distances between the current corner points to be selected and all the current target corner points are greater than the second preset pixel; if so, step A3 is performed, otherwise, step A4 is performed;
  • Step A3 determining the current corner point to be selected as the target corner point
  • step A4 the current corner point to be selected is discarded, and the candidate corner point in the next row is determined as the current corner point to be selected, and the process returns to step A2.
  • the range of the second preset pixels is ⁇ 50 pixels.
  • the first preset pixel is taken from a range of 10 pixels to 20 pixels.
  • the determining the actual position of each of the object vertices in the input image according to the corner detection result includes:
  • the position of the corner point is determined as the actual position of the object vertex in the input image. If the corner point detection result does not contain a corner point, the reference position of the object vertex in the input image is determined as the actual position of the object vertex in the input image.
  • the obtaining the relative position of each of the object vertices and its corresponding image vertices includes:
  • the relative position of the object vertex and the image vertex closest to the object vertex in the input image is obtained.
  • determining the reference position of each of the object vertices in the input image according to the relative position of each of the object vertices and its corresponding image vertices including:
  • the relative position of the object vertex and the image vertex closest to the object vertex in the input image is converted into the coordinates of the object vertex in the target coordinate system to obtain the object vertex in the input image Reference location in the image.
  • the origin of the target coordinate system is a position point of the input image.
  • the method for identifying the edge of an object also includes:
  • the object with edges is corrected using the edge lines.
  • the number of the object vertices is 4, and the edge lines are 4, which are the first line, the second line, the third line and the fourth line in sequence,
  • the first line and the third line are arranged along a first direction
  • the second line and the fourth line are arranged along a second direction
  • the first direction is perpendicular to the second direction.
  • the use of the edge line to correct the object with an edge includes:
  • the average value of the projected lengths of the second line and the fourth line in the first direction is calculated as the corrected length of the object with edges along the first direction.
  • the object vertex identification model is a neural network model.
  • the present invention also provides a system for recognizing the edge of an object, the system includes a processor and a memory, the memory stores instructions, and when the instructions are executed by the processor, the object can be recognized.
  • the steps of a method for edges comprising: acquiring an input image, wherein the input image includes an object having an edge, and the edge of the object includes a plurality of object vertices; identifying the input image through an object vertex recognition model , obtain the relative position of each of the object vertices and its corresponding image vertices; according to the relative position of each of the object vertices and its corresponding image vertices, determine the reference position of each of the object vertices in the input image; for For each of the object vertices, corner detection is performed in the preset area where the reference position of the object vertex is located; the actual position of each of the object vertices in the input image is determined according to the corner detection results; The actual positions of the object vertices in the input
  • the present invention also provides a computer-readable storage medium, where instructions are stored on the computer-readable storage medium, and when the instructions are executed, the steps of the method for identifying the edge of an object are implemented, and the method
  • the method includes: acquiring an input image, wherein the input image includes an object with edges, and the edge of the object includes a plurality of object vertices; identifying the input image through an object vertex recognition model, and obtaining each of the object vertices and their corresponding vertices.
  • the method, system and computer-readable storage medium for identifying object edges have the following advantages: adopting a machine learning method to identify object vertices in an input image and the relationship between each object vertices and their corresponding image vertices; Then, the reference position of each object vertex in the input image can be determined, and then corner detection is performed at the reference position of each object vertex, and the actual position of each object vertex in the input image is finally determined according to the result of the corner detection. position, and finally connect the adjacent vertices of the object in sequence to form an edge line, and obtain the edge of the object with the edge in the input image.
  • the invention adopts the method of machine learning to quickly locate the position of the vertices of the object in the input image, and at the same time uses the method of corner detection to correct the position of the vertices of the object, so as to realize the edge detection of the object with the edge in the input image, and in addition also improves the accuracy of edge detection.
  • FIG. 1 is a schematic flowchart of a method for identifying an object edge provided by an embodiment of the present invention
  • Fig. 2 is the input image of a specific example of the present invention.
  • Fig. 3 is the input image of another specific example of the present invention.
  • FIG. 5 is a schematic structural diagram of a system for recognizing object edges according to an embodiment of the present invention.
  • Fig. 1 shows a flowchart of a method for recognizing object edges according to an exemplary embodiment of the present invention.
  • the method can be implemented in an application (app) installed on a smart terminal such as a mobile phone and a tablet computer.
  • the method may include:
  • Step S101 acquiring an input image, wherein the input image includes an object having an edge, and the edge of the object includes a plurality of object vertices.
  • the input image is an image obtained by a user taking a picture of an object
  • the object may be, for example, a business card, a test paper, a test sheet, a document, an invoice, and the like.
  • the input image may be an image obtained by photographing a business card.
  • the input image may be an image obtained by photographing an assay sheet.
  • the shape of the object in the input image may be a regular shape (such as a rectangle, etc.) or an irregular shape.
  • the edge of the object in the input image also has a plurality of object vertices.
  • the shape of the business card is a rectangle, which has four edges (ie lines) A1 to A4, and the connection of two adjacent edges among these four edges constitutes an object vertex, that is, the input In the image, the business card has four object vertices a to d.
  • the shape of the test sheet is a rectangle.
  • the input image does not capture the entire area of the test sheet, the lower left corner vertex and the upper right corner vertex of the test sheet are not included in the In the input image, in view of this situation, the four edge lines B1 to B4 of the test sheet in the input image can be extended to obtain the lower left corner vertex and the upper right corner vertex of the test sheet, so as to obtain the four edge lines of the test sheet.
  • the shape of the input image can also be an irregular shape, and the shape and size of the input image can be set by the user according to the actual situation.
  • the input image may be an image captured by a digital camera or a mobile phone, and the input image may be a grayscale image or a color image.
  • the input image may be an original image directly collected by an image collection device, or an image obtained after preprocessing the original image.
  • the object edge recognition and processing may further include the operation of preprocessing the input image . Preprocessing can eliminate irrelevant information or noise information in the input image, so as to facilitate better processing of the input image.
  • Step S102 the input image is identified by an object vertex identification model, and the relative position of each object vertex and its corresponding image vertex is obtained.
  • the object vertex recognition model may be implemented using machine learning techniques and run, for example, on a general purpose computing device or a special purpose computing device.
  • the object vertex recognition model is a neural network model obtained by pre-training.
  • the object vertex recognition model can be implemented using a neural network such as a deep convolutional neural network (DEEP-CNN).
  • DEEP-CNN deep convolutional neural network
  • the input image is input into the object vertex recognition model, and the object vertex recognition model can recognize the object vertices in the input image, so as to obtain each object vertex and its corresponding image vertex relative position.
  • the image vertices of the input image refer to the vertices of the edge of the image. For example, in FIG. 2 , the input image is a rectangle, so the four image vertices are 1 to 4, respectively.
  • the object vertex recognition model will be described in detail below.
  • the object vertex recognition model is established through machine learning training, and the training steps of the object vertex recognition model may include:
  • Step a obtaining a training sample set, each sample image in the training sample set is marked with each object vertex of the object in the image, and the relative position of each object vertex and its corresponding image vertex;
  • Step b obtaining a test sample set, each sample image in the test sample set is also marked with each object vertex of the object in the image, and the relative position of each object vertex and its corresponding image vertex, wherein the test sample set is different in the training sample set;
  • Step c training the object vertex recognition model based on the training sample set
  • Step d testing the object vertex recognition model based on the test sample set
  • Step e when the test result indicates that the recognition accuracy rate of the object vertex recognition model is less than the preset accuracy rate, increase the number of samples in the training sample set for retraining;
  • Step f when the test result indicates that the recognition accuracy of the object vertex recognition model is greater than or equal to the preset accuracy, the training is completed.
  • the types of objects can be various, such as business cards, test papers, test sheets, documents, invoices, and the like.
  • a certain number of sample images marked with corresponding information are obtained, and the number of sample images prepared for each object type may be the same or different.
  • Each sample image can contain the entire area of the object (as shown in Figure 2), or only a partial area of the object (as shown in Figure 3).
  • the sample images obtained for each object type may include, as far as possible, images taken at different angles and under different lighting conditions.
  • the corresponding information marked for each sample image may also include information such as the shooting angle and illumination of the sample image.
  • the sample images subjected to the above labeling process can be divided into a training sample set for training the object vertex recognition model and a test sample set for testing the training results.
  • the number of samples in the training sample set is significantly larger than the number of samples in the test sample set.
  • the number of samples in the test sample set can account for 5% to 20% of the total number of sample images, while the corresponding training sample set
  • the number of samples can be 80% to 95% of the total number of sample images. It should be understood by those skilled in the art that the number of samples in the training sample set and the testing sample set can be adjusted as required.
  • the object vertex recognition model may be trained using a training sample set, and the recognition accuracy of the trained object vertex recognition model may be tested using a test sample set. If the recognition accuracy does not meet the requirements, increase the number of sample images in the training sample set, and use the updated training sample set to retrain the object vertex recognition model until the trained object vertex recognition model is accurately recognized rate until the requirement is met. If the recognition accuracy meets the requirements, the training ends. In one embodiment, whether the training can be ended may be determined based on whether the recognition accuracy rate is less than the preset accuracy rate. In this way, the trained object vertex recognition model whose output accuracy meets the requirements can be used to recognize object vertices in the input image.
  • the adjacent edge lines can also be extended to obtain the sample image.
  • the external object vertices b1 and b3 are marked, and the object vertices b1 and b3 are also marked, and the relative positions of the object vertices b1 to b4 and their corresponding image vertices are also marked respectively.
  • the object vertex recognition model can not only recognize the object located in the input image when recognizing the input image similar to FIG. 3 It can also identify object vertices outside the input image, and identify the relative positions of each object vertex and its corresponding image vertices. It should be noted that when annotating a sample image, the object vertices located outside the image are obtained by extending the adjacent edge lines, but the object vertex recognition model after training does not need to extend the edge when recognizing the input image. Lines are used to obtain object vertices outside the image, but the coordinates of external object vertices and their corresponding image vertices can be directly obtained.
  • step a when marking the relative positions of each object vertex of the object in the sample image and its corresponding image vertex, it is preferable to mark the distance of each object vertex from the object vertex The relative position of the nearest image vertex.
  • the distance between the object vertex a and the image vertex 1 is the closest, so the relative position of the object vertex a and the image vertex 1 is marked, that is, for the object vertex a, the coordinates of the object vertex a are converted into Taking the coordinates of the image vertex 1 as the origin, in the same way, for the object vertex b, convert the coordinates of the object vertex b to the coordinates of the image vertex 2 as the origin, and for the object vertex c, convert the coordinates of the object vertex c to the image vertex. 3 is the coordinates of the origin, and for the object vertex d, the coordinates of the object vertex d are converted into coordinates with the image vertex 4 as the origin.
  • the sample image marked according to the above-mentioned marking method is used to train the object vertex recognition model, and the recognition result of the object vertex recognition model is to recognize that each object vertex in the input image is relative to the object vertex recognition model.
  • the relative position of the image vertex closest to the object's vertex in the input image Taking the image shown in FIG. 2 as the input image as an example, after being recognized by the object vertex recognition model, the relative position of the object vertex a relative to the image vertex 1 (that is, the coordinates of the object vertex a when the image vertex 1 is the origin) can be obtained.
  • the relative position of the object vertex b relative to the image vertex 2 that is, the coordinates of the object vertex b when the image vertex 2 is the origin
  • the relative position of the object vertex c relative to the image vertex 3 that is, when the image vertex 3 is the origin of the object
  • the coordinates of vertex c the relative position of the object vertex d relative to the image vertex 4 (that is, the coordinates of the object vertex d when the image vertex 4 is the origin).
  • Step S103 Determine the reference position of each of the object vertices in the input image according to the relative position of each of the object vertices and its corresponding image vertices.
  • the relative position of each object vertex and the image vertex closest to the object vertex in the input image is converted into the reference coordinate of the object vertex in the target coordinate system, and the reference position of each object vertex in the input image is obtained.
  • the origin of the target coordinate system is a position point in the input image.
  • step S102 the coordinates of the object vertex a when the image vertex 1 is the origin, the coordinates of the object vertex b when the image vertex 2 is the origin, and the image vertex 3 as the origin are obtained.
  • step S103 the above-mentioned coordinates can be converted into The coordinates of the four object vertices are converted into coordinates using the same position point as the origin of the common coordinate system, so as to facilitate the determination of the reference position of each object vertex in the input image.
  • the relative coordinates of each image vertex of the input image and the position point are known, and then the position of each object vertex can be obtained.
  • the relative coordinates when the point is the origin of the coordinate system.
  • the origin of the target coordinate system may be the center point of the input image.
  • the origin of the target coordinate system is an image vertex of the input image.
  • the origin of the target coordinate system can be the image vertex 1, so it can be obtained that when the image vertex 1 is used as the origin of the coordinate system, the object vertices a, b, c, The coordinate value of d, and then the reference positions of the object vertices a, b, c, and d in the input image are known.
  • Step S104 for each of the object vertices, perform corner detection in a preset area where the reference position of the object vertices is located.
  • a corner point is an extreme point, that is, a point with a particularly prominent attribute in a certain aspect, an isolated point with the maximum or minimum intensity on some attribute, and the end point of a line segment.
  • a corner point is usually defined as the intersection of two edges, or the local neighborhood of a corner point should have boundaries of two different regions in different directions. More strictly, the local neighborhood of a corner should have two different regions bounded in different directions.
  • corner detection methods detect image points with specific characteristics, not just "corner points". These feature points have specific coordinates in the image and have certain mathematical features, such as local maximum or minimum grayscale, certain gradient features, and so on.
  • the basic idea of the corner detection algorithm is to use a fixed window (take a neighborhood window of a certain pixel) to slide the image in any direction, and compare the degree of pixel grayscale change in the window before and after sliding. , if there is a sliding in any direction, there is a large grayscale change, then it can be considered that there are corner points in the window.
  • any object vertex of an object with edges corresponds to a corner point in the input image.
  • the corner point corresponding to each object vertex is detected by performing corner point detection in the preset area where the reference position of each object vertex is located.
  • the preset area where the reference position of the object vertex is located is a circular area with the pixel at the reference position of the object vertex as the center and the first preset pixel as the radius.
  • the range is, for example, 10 to 20 pixels, preferably 15 pixels.
  • corner detection is performed on the pixels in the circular area corresponding to each of the object vertices, and in the corner detection process, the pixels whose characteristic value variation range is greater than the preset threshold are regarded as candidate corners, and all pixels are selected as candidate corners.
  • the target corners corresponding to each object vertex are determined from the candidate corners.
  • the variation range of eigenvalues refers to the variation degree of pixel gray level in the fixed window used for corner detection. It can be understood that the smaller the variation range of the eigenvalue, the smaller the possibility that the pixel point is a corner point.
  • Specific corner detection algorithms include, for example, a grayscale image-based corner detection algorithm, a binary image-based corner detection algorithm, a contour curve-based corner detection algorithm, etc. For details, please refer to the prior art, which will not be described here. Repeat.
  • determining the target corner points corresponding to the vertices of each object from the candidate corner points includes:
  • Step A1 sort the candidate corners in descending order according to the variation range of the eigenvalues, determine the candidate corners in the first place as the target corners, and determine the candidate corners in the second place as the target corners. Determined as the current corner point to be selected;
  • Step A2 judging whether the distances between the current corner points to be selected and all the current target corner points are greater than the second preset pixel; if so, step A3 is performed, otherwise, step A4 is performed;
  • Step A3 determining the current corner point to be selected as the target corner point
  • step A4 the current corner point to be selected is discarded, and the candidate corner point in the next row is determined as the current corner point to be selected, and the process returns to step A2.
  • the variation range of the eigenvalues of the first candidate corner point is the largest, so it is also the most likely to be a corner point, so it can be directly determined as the target. corner.
  • the second-ranked candidate corner it may be located within the circular area of the same object vertex (assuming object vertex 1) as the first-ranked candidate corner, or may be located at other object vertices (assuming object vertex 2). ) within the circular area.
  • the first candidate corner since the first candidate corner has been determined as the target vertex of object vertex 1, it is impossible to determine the second candidate corner as the target vertex of object vertex 1.
  • the second-ranked candidate corner point must be the pixel with the highest probability of the corner point in the circular area of the object vertex 2, so the second-ranked candidate corner point needs to be determined as the object vertex 2's corner point. target vertex.
  • this embodiment determines whether the second-ranked candidate corner point belongs to the above situation by judging whether the distance between the second-ranked candidate corner point and the target corner point is greater than the second preset pixel. If the distance between the second-ranked candidate corner point and the target corner point is greater than the second preset threshold, it indicates that the second-ranked candidate corner point belongs to the second case; otherwise, it indicates that the second-ranked candidate corner point belongs to the second case.
  • the first case is the distance between the second-ranked candidate corner point and the target corner point is greater than the second preset threshold, it indicates that the second-ranked candidate corner point belongs to the second case; otherwise, it indicates that the second-ranked candidate corner point belongs to the second case.
  • each candidate corner point is judged according to the above logic, so that a plurality of target corner points can be finally determined from each candidate corner point.
  • the range of the second preset pixels can be set to ⁇ 50 pixels, and the upper limit can be set according to the specific size of the image, which is not limited here.
  • Step S105 Determine the actual position of each of the object vertices in the input image according to the corner detection result.
  • the vertices of the object around which the remaining corner points appear are replaced with corresponding corner points as the actual vertices of the object.
  • the position of the corner point is determined as the actual position of the object vertex in the input image. If the corner detection result does not contain a corner, the reference position of the object vertex in the input image is determined as the actual position of the object vertex in the input image.
  • the actual position of the object vertex in the input image can be corrected according to the detected coordinates of the corner point, so that the position detection of the object vertex is more accurate.
  • step S104 further performs corner detection according to this rough position
  • step S105 is based on the corner detection result. to re-determine the position of the vertices of the object, so as to obtain a more accurate position of the vertices of the object.
  • Step S106 according to the actual position of each of the object vertices in the input image, sequentially connect the adjacent object vertices to form edge lines, and obtain the edge of the object with edges in the input image.
  • the actual positions of the four object vertices a, b, c, and d in the input image can be obtained in step S103. Therefore, the edge lines can be obtained by sequentially connecting the adjacent object vertices to form , that is, connect a and b to obtain edge line A1, connect b and c to obtain edge line A2, connect c and d to obtain edge line A3, and connect d and a to obtain edge line A4, these four edge lines constitute the place where the business card is located. edge in the input image.
  • the inner region defined by the edge is the region where the object is located, so the region where the object is located can be cropped to remove the A sliced image of the object is obtained from the background region in the input image that is not related to the object.
  • the region where the object is located may be marked in the form of a marking frame.
  • the real shape of the object has changed in the image obtained by taking the photo, that is, geometric distortion is generated.
  • the shape of the test sheet is originally a rectangle, but the shape of the test sheet in the image has changed to a parallelogram. Therefore, it is necessary to correct the objects in the input image, and the corrected objects are easier to view and facilitate subsequent processing, such as OCR recognition of characters in the objects and the like.
  • the object in the input image can be corrected by using the edge line.
  • the object with edges is a rectangle, however in the input image the object is not a rectangle.
  • the number of object vertices may be 4, and the number of edge lines may be 4, which are the first line, the second line, the third line and the fourth line in sequence, so The first line and the third line are arranged along a first direction, the second line and the fourth line are arranged along a second direction, and the first direction is perpendicular to the second direction.
  • the using the edge lines to correct the object with edges may specifically include:
  • the average value of the projected lengths of the second line and the fourth line in the first direction is calculated as the corrected length of the object with edges along the first direction.
  • the length of the object with edges in the input image in two mutually perpendicular directions can be obtained, so that the shape of the object in the input image can be corrected from non-rectangular to rectangular.
  • ABCD are four image vertices of the input image, wherein the image vertex A is the origin of the coordinate system, and the object in the input image has four object vertices, respectively a, b, c, d, the four edge lines are the first line ab, the second line bc, the third line cd and the fourth line da respectively, the first line ab and the third line cd are along the first direction ( That is, the X-axis direction) is arranged, and the second line bc and the fourth line da are arranged along the second direction (that is, the Y-axis direction).
  • interpolation processing can be performed to adjust all the pixels in the region where the object is located in the input image to the correct position in the corrected object.
  • the specific method can be as follows: Referring to the prior art, details are not described here.
  • machine learning is used to identify the object vertices in the input image and the relative positions of each object vertices and their corresponding image vertices, and then it can be determined that each object vertex is in the input image. Then perform corner detection at the reference position of each object vertex, and finally determine the actual position of each object vertex in the input image according to the result of the corner detection, and finally connect the adjacent object vertices in sequence to form Edge line, to obtain the edge of the object with edges in the input image.
  • the invention adopts the method of machine learning to quickly locate the position of the vertices of the object in the input image, and at the same time uses the method of corner detection to correct the position of the vertices of the object, so as to realize the edge detection of the object with the edge in the input image, and in addition , which also improves the accuracy of edge detection.
  • each object vertex and the relative position of each object vertex relative to the image vertex closest to the object vertex in the input image are first identified by the object vertex recognition model, and then the obtained The relative position of each object vertex is converted to determine the reference position of each object vertex in the input image.
  • This processing method can make the relative position of each object vertex identified more accurate, so the obtained object vertex The reference position is also more accurate, effectively improving the accuracy of edge detection.
  • the present invention also provides a system for recognizing the edge of an object.
  • the system 200 for recognizing the edge of an object may include a processor 210 and a memory 220.
  • the memory 220 stores instructions.
  • the method for recognizing the edge of an object as described above can be implemented. A step of.
  • the processor 210 can perform various actions and processes according to the instructions stored in the memory 220 .
  • the processor 210 may be an integrated circuit chip, which has signal processing capability.
  • the aforementioned processors may be general purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), off-the-shelf programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGAs off-the-shelf programmable gate arrays
  • Various methods, steps, and logical block diagrams disclosed in the embodiments of the present invention can be implemented or executed.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc., and may be an X86 architecture or an ARM architecture, or the like.
  • the memory 220 stores executable instructions that are executed by the processor 210 for the method of identifying object edges described above.
  • Memory 220 may be volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory.
  • the nonvolatile memory may be read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), or flash memory.
  • Volatile memory may be random access memory (RAM), which acts as an external cache.
  • RAM Random Access Memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • DDRSDRAM double data rate synchronous dynamic Random Access Memory
  • ESDRAM Enhanced Synchronous Dynamic Random Access Memory
  • SLDRAM Synchronous Link Dynamic Random Access Memory
  • DR RAM Direct Memory Bus Random Access Memory
  • the present invention also provides a computer-readable storage medium with instructions stored on the computer-readable storage medium.
  • the instructions When executed, the steps in the method for identifying object edges described above can be implemented.
  • computer-readable storage media in embodiments of the present invention may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. It should be noted that computer-readable storage media described herein are intended to include, but not be limited to, these and any other suitable types of memory.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more logic for implementing the specified logic Executable instructions for the function.
  • the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented in dedicated hardware-based systems that perform the specified functions or operations , or can be implemented in a combination of dedicated hardware and computer instructions.
  • the various example embodiments of the invention may be implemented in hardware or special purpose circuits, software, firmware, logic, or any combination thereof. Certain aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that may be executed by a controller, microprocessor or other computing device. While aspects of the embodiments of the invention are illustrated or described as block diagrams, flowcharts, or using some other graphical representation, it is to be understood that the blocks, apparatus, systems, techniques or methods described herein may be taken as non-limiting Examples are implemented in hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controllers or other computing devices, or some combination thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供一种识别对象边缘的方法、系统及计算机可读存储介质,方法包括:获取输入图像,输入图像中对象的边缘包括多个对象顶点;通过对象顶点识别模型对输入图像进行识别,得到每一对象顶点与其对应的图像顶点的相对位置;根据每一对象顶点与其对应的图像顶点的相对位置,确定各个对象顶点在输入图像中的参考位置;针对每一对象顶点,在该对象顶点的参考位置所处的预设区域内进行角点检测;根据角点检测结果确定每一对象顶点在输入图像中的实际位置;根据各个对象顶点在所述输入图像中的实际位置,顺序连接相邻对象顶点形成边缘线条,得到具有边缘的对象在输入图像中的边缘。应用本发明提供的方案可以检测具有边缘的物体在图像中的边缘。

Description

识别对象边缘的方法、系统及计算机可读存储介质 技术领域
本发明涉及数字图像处理技术领域,特别涉及一种识别对象边缘的方法、系统及计算机可读存储介质。
背景技术
目前,人们经常对物体(例如,物体可以为名片、试卷、化验单、文档等)进行拍照,并希望对拍照得到的图像进行相应处理以获得图像中的物体的相关信息。然而,拍照得到的图像中不仅包含物体,同时还不可避免地包含物体所在的外部环境。而图像中的外部环境对应的部分对于识别图像中物体的相关信息而言是多余的,因此,在对图像进行处理以获得图像中物体的相关信息时,需要从图像中检测物体的边缘,以便根据物体的边缘将物体从图像中提取出来。
发明内容
本发明的目的在于提供一种识别对象边缘的方法、系统及计算机可读存储介质,以检测具有边缘的物体在图像中的边缘。
为达到上述目的,本发明提供一种识别对象边缘的方法,包括:
获取输入图像,其中,所述输入图像包括具有边缘的对象,所述对象的边缘包括多个对象顶点;
通过对象顶点识别模型对所述输入图像进行识别,得到每一所述对象顶点与其对应的图像顶点的相对位置;
根据每一所述对象顶点与其对应的图像顶点的相对位置,确定各个所述对象顶点在所述输入图像中的参考位置;
针对每一所述对象顶点,在该对象顶点的参考位置所处的预设区域内进行角点检测;
根据角点检测结果确定每一所述对象顶点在所述输入图像中的实际位置;
根据各个所述对象顶点在所述输入图像中的实际位置,顺序连接相邻所述对象顶点形成边缘线条,得到所述具有边缘的对象在所述输入图像中的边缘。
可选的,在所述识别对象边缘的方法中,所述对象顶点的参考位置所处的预设区域为以所述对象顶点的参考位置处的像素点为圆心、以第一预设像素为半径的圆形区域;
所述针对每一所述对象顶点,在该对象顶点的参考位置所处的预设区域内进行角点检测,包括:
对各个所述对象顶点对应的圆形区域内的像素点进行角点检测,在角点检测过程中,将特征值变化幅度大于预设阈值的像素点均作为候选角点,从所述候选角点中确定各个对象顶点对应的目标角点。
可选的,在所述识别对象边缘的方法中,所述从所述候选角点中确定各个对象顶点对应的目标角点,包括:
步骤A1,对所述候选角点按照所述特征值变化幅度进行降序排序,将排第一位的所述候选角点确定为所述目标角点,将排第二位的所述候选角点确定为当前待选角点;
步骤A2,判断所述当前待选角点与当前所有所述目标角点之间的距离是否均大于第二预设像素;如果是则执行步骤A3,否则执行步骤A4;
步骤A3,将所述当前待选角点确定为所述目标角点;
步骤A4,舍弃所述当前待选角点,并将排下一位的所述候选角点确定为当前待选角点,返回执行步骤A2。
可选的,在所述识别对象边缘的方法中,所述第二预设像素的范围为≥50个像素。
可选的,在所述识别对象边缘的方法中,所述第一预设像素取自10个像素~20个像素的范围。
可选的,在所述识别对象边缘的方法中,所述根据角点检测结果确定每一所述对象顶点在所述输入图像中的实际位置,包括:
针对每一所述对象顶点,若该对象顶点的角点检测结果中包含一个角点,则将该角点的位置确定为该对象顶点在所述输入图像中的实际位置,若该对 象顶点的角点检测结果中不包含角点,则将该对象顶点在所述输入图像中的参考位置确定为该对象顶点在所述输入图像中的实际位置。
可选的,在所述识别对象边缘的方法中,所述得到每一所述对象顶点与其对应的图像顶点的相对位置,包括:
针对每一所述对象顶点,得到该对象顶点与所述输入图像中距离该对象顶点最近的图像顶点的相对位置。
可选的,在所述识别对象边缘的方法中,所述根据每一所述对象顶点与其对应的图像顶点的相对位置,确定各个所述对象顶点在所述输入图像中的参考位置,包括:
针对每一所述对象顶点,将该对象顶点与所述输入图像中距离该对象顶点最近的图像顶点的相对位置转换为该对象顶点在目标坐标系中的坐标,得到该对象顶点在所述输入图像中的参考位置。
可选的,在所述识别对象边缘的方法中,所述目标坐标系的原点为所述输入图像的一位置点。
可选的,在所述识别对象边缘的方法中,还包括:
利用所述边缘线条对所述具有边缘的对象进行校正。
可选的,在所述识别对象边缘的方法中,所述对象顶点的数量为4个,所述边缘线条为4条,依次为第一线条、第二线条、第三线条和第四线条,所述第一线条与所述第三线条沿第一方向排列,所述第二线条与所述第四线条沿第二方向排列,所述第一方向与所述第二方向相垂直。
可选的,在所述识别对象边缘的方法中,所述利用所述边缘线条对所述具有边缘的对象进行校正,包括:
分别获取所述第一线条和所述第三线条在所述第二方向上的投影长度,以及分别获取所述第二线条和所述第四线条在所述第一方向上的投影长度;
计算所述第一线条和所述第三线条在所述第二方向上的投影长度的平均值,作为校正后的所述具有边缘的对象沿所述第二方向上的长度;
计算所述第二线条和所述第四线条在所述第一方向上的投影长度的平均值,作为校正后的所述具有边缘的对象沿所述第一方向上的长度。
可选的,在所述识别对象边缘的方法中,所述对象顶点识别模型为神经 网络模型。
基于同一发明构思,本发明还提供了一种识别对象边缘的系统,所述系统包括处理器和存储器,所述存储器上存储有指令,当所述指令被所述处理器执行时,实现识别对象边缘的方法的步骤,所述方法包括:获取输入图像,其中,所述输入图像包括具有边缘的对象,所述对象的边缘包括多个对象顶点;通过对象顶点识别模型对所述输入图像进行识别,得到每一所述对象顶点与其对应的图像顶点的相对位置;根据每一所述对象顶点与其对应的图像顶点的相对位置,确定各个所述对象顶点在所述输入图像中的参考位置;针对每一所述对象顶点,在该对象顶点的参考位置所处的预设区域内进行角点检测;根据角点检测结果确定每一所述对象顶点在所述输入图像中的实际位置;根据各个所述对象顶点在所述输入图像中的实际位置,顺序连接相邻所述对象顶点形成边缘线条,得到所述具有边缘的对象在所述输入图像中的边缘。
基于同一发明构思,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被执行时,实现识别对象边缘的方法的步骤,所述方法包括:获取输入图像,其中,所述输入图像包括具有边缘的对象,所述对象的边缘包括多个对象顶点;通过对象顶点识别模型对所述输入图像进行识别,得到每一所述对象顶点与其对应的图像顶点的相对位置;根据每一所述对象顶点与其对应的图像顶点的相对位置,确定各个所述对象顶点在所述输入图像中的参考位置;针对每一所述对象顶点,在该对象顶点的参考位置所处的预设区域内进行角点检测;根据角点检测结果确定每一所述对象顶点在所述输入图像中的实际位置;根据各个所述对象顶点在所述输入图像中的实际位置,顺序连接相邻所述对象顶点形成边缘线条,得到所述具有边缘的对象在所述输入图像中的边缘。
与现有技术相比,本发明提供的识别对象边缘的方法、系统及计算机可读存储介质具有以下优点:采用机器学习的方法识别输入图像中的对象顶点以及各对象顶点与其对应的图像顶点的相对位置,进而可以确定各对象顶点在所述输入图像中的参考位置,然后在各对象顶点的参考位置处进行角点检测,根据角点检测的结果最终确定各对象顶点在输入图像中的实际位置,最 后顺序连接相邻所述对象顶点即可形成边缘线条,得到所述具有边缘的对象在所述输入图像中的边缘。本发明采用机器学习的方法能够快速定位输入图像中的对象顶点的位置,同时采用角点检测的方法对对象顶点的位置进行修正,实现了对输入图像中的具有边缘的对象的边缘检测,此外还提高了边缘检测的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的识别对象边缘的方法的流程示意图;
图2为本发明的一具体示例的输入图像;
图3为本发明的另一具体示例的输入图像;
图4为对输入图像中的对象进行校正的示意图;
图5是本发明一实施例提供的识别对象边缘的系统的结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种识别对象边缘的方法、系统及计算机可读存储介质作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1示出了根据本发明一示例性实施例的识别对象边缘的方法的流程图,该方法可以在例如手机、平板电脑等智能终端上安装的应用程序(app)中实 现。如图1所示,该方法可以包括:
步骤S101,获取输入图像,其中,所述输入图像包括具有边缘的对象,所述对象的边缘包括多个对象顶点。
例如,所述输入图像为用户对某一对象进行拍照所得的图像,对象例如可以是名片、试卷、化验单、文档、发票等。如图2所示,在一些实施例中,所述输入图像可以为对名片进行拍照所得的图像。如图3所示,在一些实施例中,所述输入图像可以为对化验单进行拍照所得的图像。
例如,所述输入图像中的对象的形状可以为规则形状(如矩形等),也可以为不规则形状,相应的,在所述输入图像中所述对象的边缘也就具有多个对象顶点。如图2所示的输入图像,名片的形状为矩形,其具有四个边缘(即线条)A1~A4,这四个边缘中相邻两个边缘的连接处构成一个对象顶点,即所述输入图像中该名片具有四个对象顶点a~d。如图3所示的输入图像,化验单的形状为矩形,然而由于输入图像并未将整个化验单的区域拍摄进来,因此,该化验单的左下角顶点和右上角顶点并未包含在所述输入图像中,针对这种情况,可以对所述输入图像中该化验单的4个边缘线条B1~B4进行延伸,得到该化验单的左下角顶点和右上角顶点,从而得到该化验单的4个对象顶点b1~b4。
所述输入图像的形状也可以为不规则形状,所述输入图像的形状和尺寸等可以由用户根据实际情况自行设定。例如,所述输入图像可以为通过数码相机或手机拍摄的图像,所述输入图像可以为灰度图像,也可以为彩色图像。例如,所述输入图像可以为图像采集装置直接采集到的原始图像,也可以是对原始图像进行预处理之后获得的图像。例如,为了避免所述输入图像的数据质量、数据不均衡等对于对象边缘检测的影响,在处理所述输入图像前,该对象边缘识别和处理还可以包括对所述输入图像进行预处理的操作。预处理可以消除所述输入图像中的无关信息或噪声信息,以便于更好地对所述输入图像进行处理。
步骤S102,通过对象顶点识别模型对所述输入图像进行识别,得到每一所述对象顶点与其对应的图像顶点的相对位置。
例如,所述对象顶点识别模型可以采用机器学习技术实现并且例如运行 在通用计算装置或专用计算装置上。所述对象顶点识别模型为预先训练得到的神经网络模型。例如,所述对象顶点识别模型可以采用深度卷积神经网络(DEEP-CNN)等神经网络实现。在一些实施例中,将所述输入图像输入所述对象顶点识别模型,所述对象顶点识别模型可以识别出所述输入图像中的对象顶点,以得到每个所述对象顶点与其对应的图像顶点的相对位置。所述输入图像的图像顶点指的是图像边缘的顶点,例如在图2中,所述输入图像为矩形,故图像顶点有四个分别为1~4。
下面再对所述对象顶点识别模型进行详细介绍。
首先,通过机器学习训练来建立所述对象顶点识别模型,所述对象顶点识别模型的训练步骤可以包括:
步骤a,获取训练样本集,所述训练样本集中的每一样本图像标注有图像中对象的各个对象顶点,以及各个对象顶点与其对应的图像顶点的相对位置;
步骤b,获取测试样本集,所述测试样本集中的每一样本图像也标注有图像中对象的各个对象顶点,以及各个对象顶点与其对应的图像顶点的相对位置,其中,所述测试样本集不同于所述训练样本集;
步骤c,基于所述训练样本集对所述对象顶点识别模型进行训练;
步骤d,基于所述测试样本集对所述对象顶点识别模型进行测试;
步骤e,在所述测试结果指示所述对象顶点识别模型的识别准确率小于预设准确率时,增加所述训练样本集中的样本数量进行再次训练;以及
步骤f,在所述测试结果指示所述对象顶点识别模型的识别准确率大于或等于所述预设准确率时,完成训练。
如前所述,对象的类型可以为多种,例如名片、试卷、化验单、文档、发票等。针对每种对象类型,均获取一定数量的标注有对应信息的样本图像,为每种对象类型准备的样本图像的数量可以相同也可以不同。每个样本图像中可以包含对象的全部区域(如图2所示),也可以仅包含对象的部分区域(如图3所示)。为每种对象类型获取的样本图像可以尽可能包括不同拍摄角度、不同光照条件下拍摄的图像。在这些情况下,为每个样本图像标注的对应信息还可以包括该样本图像的拍摄角度、光照等信息。
可以将经过上述标注处理的样本图像划分为用于训练所述对象顶点识别 模型的训练样本集和用于对训练结果进行测试的测试样本集。通常训练样本集内的样本的数量明显大于测试样本集内的样本的数量,例如,测试样本集内的样本的数量可以占总样本图像数量的5%到20%,而相应的训练样本集内的样本的数量可以占总样本图像数量的80%到95%。本领域技术人员应该理解的是,训练样本集和测试样本集内的样本数量可以根据需要来调整。
可以利用训练样本集对所述对象顶点识别模型进行训练,并利用测试样本集对经过训练的所述对象顶点识别模型的识别准确率进行测试。若识别准确率不满足要求,则增加训练样本集中的样本图像的数量,并利用更新的训练样本集重新对所述对象顶点识别模型进行训练,直到经过训练的所述对象顶点识别模型的识别准确率满足要求为止。若识别准确率满足要求,则训练结束。在一个实施例中,可以基于识别准确率是否小于预设准确率来判断训练是否可以结束。如此,输出准确率满足要求的经过训练的所述对象顶点识别模型可以用于进行所述输入图像中对象顶点的识别。
需要说明的是,若采用如图3所示的图像作为样本图像,在标注时,除了将样本图像内的对象顶点b2、b4标注出来,还可以对相邻的边缘线条进行延长以获得样本图像外的对象顶点b1、b3,并将对象顶点b1、b3也标注出来,同时还分别标注对象顶点b1~b4与其对应的图像顶点的相对位置。
如此,将按照上述标注方式进行标注后的样本图像用于训练所述对象顶点识别模型,则所述对象顶点识别模型在识别类似图3的输入图像时,不仅能够识别出位于输入图像内的对象顶点,还能识别出位于输入图像外的对象顶点,以及识别出各个对象顶点与其对应的图像顶点的相对位置。需要说明的是,在标注样本图像时是通过延长相邻的边缘线条来获取位于图像外部的对象顶点的,但是训练完成后的所述对象顶点识别模型在识别输入图像时,并不需要延长边缘线条来获取图像外部的对象顶点,而是能够直接获得外部的对象顶点与其对应的图像顶点的坐标。
优选的,在所述对象顶点识别模型的训练步骤中,步骤a,在标注样本图像中对象的各个对象顶点与其对应的图像顶点的相对位置时,优选标注每一所述对象顶点距离该对象顶点最近的图像顶点的相对位置。以图2所示图像为样本图像为例,对象顶点a与图像顶点1的距离最近,因此标注对象顶点a 与图像顶点1的相对位置,即针对对象顶点a,将对象顶点a的坐标转换为以图像顶点1为原点的坐标,同理,针对对象顶点b,将对象顶点b的坐标转换为以图像顶点2为原点的坐标,针对对象顶点c,将对象顶点c的坐标转换为以图像顶点3为原点的坐标,针对对象顶点d,将对象顶点d的坐标转换为以图像顶点4为原点的坐标。
如此,将按照上述标注方式进行标注后的样本图像用于训练所述对象顶点识别模型,则所述对象顶点识别模型的识别结果是识别出所述输入图像中每一对象顶点相对于与所述输入图像距离该对象顶点最近的图像顶点的相对位置。以图2所示的图像为输入图像为例,通过所述对象顶点识别模型识别后,可以得到对象顶点a相对于图像顶点1的相对位置(即以图像顶点1为原点时对象顶点a的坐标),对象顶点b相对于图像顶点2的相对位置(即以图像顶点2为原点时对象顶点b的坐标),对象顶点c相对于图像顶点3的相对位置(即以图像顶点3为原点时对象顶点c的坐标),对象顶点d相对于图像顶点4的相对位置(即以图像顶点4为原点时对象顶点d的坐标)。
步骤S103,根据每一所述对象顶点与其对应的图像顶点的相对位置,确定各个所述对象顶点在所述输入图像中的参考位置。
例如,将各个对象顶点与所述输入图像中距离该对象顶点最近的图像顶点的相对位置转换为该对象顶点在目标坐标系中的参考坐标,得到各个对象顶点在所述输入图像中的参考位置,优选的,所述目标坐标系的原点为所述输入图像中的一位置点。
以图2所示的输入图像为例,在步骤S102中获得了以图像顶点1为原点时对象顶点a的坐标,以图像顶点2为原点时对象顶点b的坐标,以图像顶点3为原点时对象顶点c的坐标,以图像顶点4为原点时对象顶点d的坐标。由于此时获得的各个对象顶点的坐标不是同一坐标系内的坐标,因此需要对各个对象顶点的坐标进行转换,转换为在同一坐标系中的坐标,具体的,在步骤S103中,可以将上述4个对象顶点的坐标转换为以同一个位置点作为共同的坐标系原点的坐标,从而便于确定各个对象顶点在所述输入图像中的参考位置。
由于所述的同一个位置点是所述输入图像中的一个特定位置,因此所述 输入图像的各个图像顶点与该位置点的相对坐标是已知的,进而可以求得各个对象顶点以该位置点为坐标系原点时的相对坐标。
例如,所述目标坐标系的原点可以为所述输入图像的中心点。优选的,所述目标坐标系的原点为所述输入图像的某一图像顶点。以图2所示的图像为输入图像为例,所述目标坐标系的原点可以为图像顶点1,因此可以获得在以所述图像顶点1为坐标系原点时,对象顶点a、b、c、d的坐标值,进而也就得知对象顶点a、b、c、d在所述输入图像中的参考位置。
步骤S104,针对每一所述对象顶点,在该对象顶点的参考位置所处的预设区域内进行角点检测。
通常意义上来说,角点就是极值点,即在某方面属性特别突出的点,是在某些属性上强度最大或者最小的孤立点、线段的终点。角点通常被定义为两条边的交点,或者说,角点的局部邻域应该具有两个不同区域的不同方向的边界。更严格的说,角点的局部邻域应该具有两个不同区域的不同方向的边界。而实际应用中,大多数所谓的角点检测方法检测的是拥有特定特征的图像点,而不仅仅是“角点”。这些特征点在图像中有具体的坐标,并具有某些数学特征,如局部最大或最小灰度、某些梯度特征等。
角点检测算法基本思想是使用一个固定窗口(取某个像素的一个邻域窗口)在图像上进行任意方向上的滑动,比较滑动前与滑动后两种情况,窗口中的像素灰度变化程度,如果存在任意方向上的滑动,都有着较大灰度变化,那么可以认为该窗口中存在角点。
一般来说,具有边缘的对象的任一个对象顶点在所述输入图像中就对应一个角点。通过在每一对象顶点的参考位置所处的预设区域内进行角点检测,以检测出每一对象顶点对应的角点。
所述对象顶点的参考位置所处的预设区域为以所述对象顶点的参考位置处的像素点为圆心、以第一预设像素为半径的圆形区域,所述第一预设像素的范围例如为10~20个像素,优选为15个像素。
具体的,对各个所述对象顶点对应的圆形区域内的像素点进行角点检测,在角点检测过程中,将特征值变化幅度大于预设阈值的像素点均作为候选角点,从所述候选角点中确定各个对象顶点对应的目标角点。
其中,特征值变化幅度指的是用于角点检测的固定窗口中像素灰度变化程度。可以理解的是,特征值变化幅度越小,表示该像素点是角点的可能性也越小。通过将特征值变化幅度与预设阈值做比较,可以剔除掉角点可能性小的像素点,而保留角点可能性较大的像素点作为候选角点,进而便于从候选角点中进一步确定目标角点。具体的角点检测算法例如有基于灰度图的角点检测算法、基于二值图像的角点检测算法、基于轮廓曲线的角点检测算法等等,具体可参见现有技术,在此不做赘述。
具体的,所述从所述候选角点中确定各个对象顶点对应的目标角点,包括:
步骤A1,对所述候选角点按照所述特征值变化幅度进行降序排序,将排第一位的所述候选角点确定为所述目标角点,将排第二位的所述候选角点确定为当前待选角点;
步骤A2,判断所述当前待选角点与当前所有所述目标角点之间的距离是否均大于第二预设像素;如果是则执行步骤A3,否则执行步骤A4;
步骤A3,将所述当前待选角点确定为所述目标角点;
步骤A4,舍弃所述当前待选角点,并将排下一位的所述候选角点确定为当前待选角点,返回执行步骤A2。
可以理解的是,按照所述特征值变化幅度进行降序排序,那么排第一位候选角点的特征值变化幅度最大,因此其为角点的可能性也最大,因此可直接将其确定为目标角点。对于排第二位的候选角点,其可能与排第一位的候选角点位于同一对象顶点(假设为对象顶点1)的圆形区域内,也可能位于其它对象顶点(假设为对象顶点2)的圆形区域内。对于第一种情况,由于已确定排第一位的候选角点作为对象顶点1的目标顶点,因此不可能再确定排第二位的候选角点也作为该对象顶点1的目标顶点。对于第二种情况,排第二位的候选角点必然是该对象顶点2的圆形区域内角点可能性最大的像素点,因此需要将排第二位候选角点确定为该对象顶点2的目标顶点。基于以上考虑,本实施例通过判断排第二位的候选角点与目标角点之间的距离是否大于第二预设像素,来判断排第二位的候选角点属于上述哪种情况。如果排第二位的候选角点与目标角点之间的距离大于第二预设阈值,表示排第二位的候 选角点属于第二种情况,否则表示排第二位的候选角点属于第一种情况。若属于第二种情况,则需要确定排第二位的候选角点为目标角点,若属于第一种情况,则需要舍弃排第二位的候选角点。依次类推,对各个候选角点均按照以上逻辑进行判断,从而可以从各个候选角点中最终确定出多个目标角点。
通过上述处理,可以保证每个对象顶点周围最多只有一个候选角点剩余,该剩余出来的候选角点所在的位置即为该对象顶点的实际位置。优选的,所述第二预设像素的范围可以设为≥50个像素,其上限值可根据图像的具体大小进行设定,在此不做限定。
需要说明的是,在对一个对象顶点进行角点检测的过程中可能存在检测不到角点的情况,例如,这个对象顶点的预设区域与图像背景的变化很小而无法检测到角点,或者这个对象顶点在图像外(例如图3中的对象顶点b1、b3)而根本不存在角点。对于检测不到角点的情况,也可以将该对象顶点视为角点。
步骤S105,根据角点检测结果确定每一所述对象顶点在所述输入图像中的实际位置。
具体的,将周围出现剩余角点的对象顶点替换为对应的角点作为对象的实际顶点。
即,针对每一所述对象顶点,若该对象顶点的角点检测结果中包含一个角点,则将该角点的位置确定为该对象顶点在所述输入图像中实际位置,若该对象顶点的角点检测结果中不包含角点,则将该对象顶点在所述输入图像中的参考位置确定为该对象顶点在所述输入图像中实际位置。
通过上述处理,可根据检测出的角点的坐标更正对象顶点的在输入图像中的实际位置,使得对象顶点的位置检测更加准确。
可以理解的是,步骤S103中获得的对象顶点在输入图像中的参考位置实际上是一个较为粗略的位置,而步骤S104根据这一粗略的位置进一步进行角点检测,步骤S105根据角点检测结果来重新确定对象顶点的位置,从而可以获得对象顶点的较为精确的位置。
步骤S106,根据各个所述对象顶点在所述输入图像中的实际位置,顺序连接相邻所述对象顶点形成边缘线条,得到所述具有边缘的对象在所述输入 图像中的边缘。
如图2所示的输入图像,由步骤S103可以得到4个对象顶点a、b、c、d在所述输入图像中的实际位置,因此顺序连接相邻所述对象顶点形成即可得到边缘线条,即连接a、b得到边缘线条A1,连接b、c得到边缘线条A2,连接c、d得到边缘线条A3,连接d、a得到边缘线条A4,这四个边缘线条构成了所述名片在所述输入图像中的边缘。
在确定所述具有边缘的对象在所述输入图像中的边缘后,所述边缘所限定的内部区域即为所述对象所在的区域,因此可根据对所述对象所在的区域进行裁剪,以去除所述输入图像中与所述对象不相关的背景区域,得到所述对象的切片图像。当然,在其他实施例中,也可以不进行切片,而是将所述对象所在的区域以标注框的形式标注出来。
进一步的,在实际应用中,由于拍照所得的图像中,对象的真实形状在图像中发生了变化,即产生了几何畸变。如图3所示的图像,化验单的形状本来为矩形,但是图像中化验单的形状发生了变化,变为了平行四边形。因此,需要对输入图像中的对象进行校正,校正后的对象更容易查看以及便于后续处理,例如OCR识别对象中的字符等。
具体的,可利用所述边缘线条对所述输入图像中的所述对象进行校正。
在一种实施例中,所述具有边缘的对象为矩形,然而在所述输入图像中所述对象并不是矩形。可以理解的是,在所述输入图像中,所述对象顶点的数量可以为4个,所述边缘线条为4条,依次为第一线条、第二线条、第三线条和第四线条,所述第一线条与所述第三线条沿第一方向排列,所述第二线条与所述第四线条沿第二方向排列,所述第一方向与所述第二方向相垂直。
所述利用所述边缘线条对所述具有边缘的对象进行校正,具体可以包括:
分别获取所述第一线条和所述第三线条在所述第二方向上的投影长度,以及分别获取所述第二线条和所述第四线条在所述第一方向上的投影长度;
计算所述第一线条和所述第三线条在所述第二方向上的投影长度的平均值,作为校正后的所述具有边缘的对象沿所述第二方向上的长度;
计算所述第二线条和所述第四线条在所述第一方向上的投影长度的平均值,作为校正后的所述具有边缘的对象沿所述第一方向上的长度。
通过上述的校正方法,可以得到所述输入图像中所述具有边缘的对象在相互垂直的两个方向上的长度,从而可以将所述输入图像中所述对象的形状由非矩形校正为矩形。
举例而言,如图4所示的坐标系中,ABCD为输入图像的四个图像顶点,其中图像顶点A为坐标系原点,所述输入图像中的对象具有4个对象顶点,分别为a、b、c、d,4个边缘线条分别为第一线条ab、第二线条bc、第三线条cd和第四线条da,所述第一线条ab与所述第三线条cd沿第一方向(即X轴方向)排列,所述第二线条bc与所述第四线条da沿第二方向(即Y轴方向)排列。
通过前述步骤可知各个对象顶点在该坐标系中的坐标,进而可以计算对象顶点a、d的X轴坐标差值以及对象顶点b、c的X轴坐标差值,从而获得两个宽度数据L1和L2,校正后的所述对象的宽度可以根据这两个宽度数据的平均值确定,即校正后的所述对象的宽度L=1/2(L1+L2)。
还可以计算对象顶点a、b的Y轴坐标差值以及对象顶点c、d的Y轴坐标差值,从而获得两个高度数据H1和H2,校正后的所述对象的高度可以根据这两个高度数据的平均值确定,即校正后的所述对象的高度H=1/2(H1+H2)。
在得到校正后的所述对象的宽度和高度后,可以进行插值处理,将所述输入图像中所述对象所在区域内的像素都调整到校正后的所述对象中的正确位置,具体方法可以参考现有技术,在此不做赘述。
综上所述,在本发明的识别对象边缘的方法中,采用机器学习识别输入图像中的对象顶点以及各对象顶点与其对应的图像顶点的相对位置,进而可以确定各对象顶点在所述输入图像中的参考位置,然后在各对象顶点的参考位置处进行角点检测,根据角点检测的结果最终确定各对象顶点在输入图像中的实际位置,最后顺序连接相邻所述对象顶点即可形成边缘线条,得到所述具有边缘的对象在所述输入图像中的边缘。本发明采用机器学习的方法能够快速定位输入图像中的对象顶点的位置,同时采用角点检测的方法对对象顶点的位置进行修正,实现了对输入图像中的具有边缘的对象的边缘检测,此外,还提高了边缘检测的准确性。
需要说明的是,在本发明中,首先通过所述对象顶点识别模型识别各个对象顶点以及每一对象顶点相对于所述输入图像中距离该对象顶点最近的图像顶点的相对位置,再对所获得的相对位置进行转换以确定各个所述对象顶点在所述输入图像中的参考位置,这种处理方式可以使得识别出的每一对象顶点相对位置相对来说更加准确,因此获得的各对象顶点的参考位置也更加准确,有效提高了边缘检测的准确性。
基于同一发明构思,本发明还提供了一种识别对象边缘的系统。如图5所示,识别对象边缘的系统200可以包括处理器210和存储器220,存储器220上存储有指令,当指令被处理器210执行时,可以实现如上文所描述的识别对象边缘的方法中的步骤。
其中,处理器210可以根据存储在存储器220中的指令执行各种动作和处理。具体地,处理器210可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或者是ARM架构等。
存储器220存储有可执行指令,该指令在被处理器210执行上文所述的识别对象边缘的方法。存储器220可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
基于同一发明构思,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,当指令被执行时,可以实现上文所描述的识别对象边缘的方法中的步骤。
类似地,本发明实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。应注意,本文描述的计算机可读存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
需要说明的是,附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本发明的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本发明的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
需要说明的是,本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统、计算机可读存储介质而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

Claims (14)

  1. 一种识别对象边缘的方法,其特征在于,包括:
    获取输入图像,其中,所述输入图像包括具有边缘的对象,所述对象的边缘包括多个对象顶点;
    通过对象顶点识别模型对所述输入图像进行识别,得到每一所述对象顶点与其对应的图像顶点的相对位置;
    根据每一所述对象顶点与其对应的图像顶点的相对位置,确定各个所述对象顶点在所述输入图像中的参考位置;
    针对每一所述对象顶点,在该对象顶点的参考位置所处的预设区域内进行角点检测;
    根据角点检测结果确定每一所述对象顶点在所述输入图像中的实际位置;
    根据各个所述对象顶点在所述输入图像中的实际位置,顺序连接相邻所述对象顶点形成边缘线条,得到所述具有边缘的对象在所述输入图像中的边缘。
  2. 如权利要求1所述的识别对象边缘的方法,其特征在于,所述对象顶点的参考位置所处的预设区域为以所述对象顶点的参考位置处的像素点为圆心、以第一预设像素为半径的圆形区域;
    所述针对每一所述对象顶点,在该对象顶点的参考位置所处的预设区域内进行角点检测,包括:
    对各个所述对象顶点对应的圆形区域内的像素点进行角点检测,在所述角点检测过程中,将特征值变化幅度大于预设阈值的像素点均作为候选角点,从所述候选角点中确定各个对象顶点对应的目标角点。
  3. 如权利要求2所述的识别对象边缘的方法,其特征在于,所述从所述候选角点中确定各个对象顶点对应的目标角点,包括:
    步骤A1,对所述候选角点按照所述特征值变化幅度进行降序排序,将排第一位的所述候选角点确定为所述目标角点,将排第二位的所述候选角点确定为当前待选角点;
    步骤A2,判断所述当前待选角点与当前所有所述目标角点之间的距离是否均大于第二预设像素;如果是则执行步骤A3,否则执行步骤A4;
    步骤A3,将所述当前待选角点确定为所述目标角点;
    步骤A4,舍弃所述当前待选角点,并将排下一位的所述候选角点确定为当前待选角点,返回执行步骤A2。
  4. 如权利要求3所述的识别对象边缘的方法,其特征在于,所述第二预设像素的范围为≥50个像素。
  5. 如权利要求2所述的识别对象边缘的方法,其特征在于,所述第一预设像素的范围为10~20个像素。
  6. 如权利要求2所述的识别对象边缘的方法,其特征在于,所述根据角点检测结果确定每一所述对象顶点在所述输入图像中的实际位置,包括:
    针对每一所述对象顶点,若该对象顶点的角点检测结果中包含一个角点,则将该角点的位置确定为该对象顶点在所述输入图像中的实际位置,若该对象顶点的角点检测结果中不包含角点,则将该对象顶点在所述输入图像中的参考位置确定为该对象顶点在所述输入图像中的实际位置。
  7. 如权利要求1所述的识别对象边缘的方法,其特征在于,所述得到每一所述对象顶点与其对应的图像顶点的相对位置,包括:
    针对每一所述对象顶点,得到该对象顶点与所述输入图像中距离该对象顶点最近的图像顶点的相对位置。
  8. 如权利要求7所述的识别对象边缘的方法,其特征在于,所述根据每一所述对象顶点与其对应的图像顶点的相对位置,确定各个所述对象顶点在所述输入图像中的参考位置,包括:
    针对每一所述对象顶点,将该对象顶点与所述输入图像中距离该对象顶点最近的图像顶点的相对位置转换为该对象顶点在目标坐标系中的坐标,得到该对象顶点在所述输入图像中的参考位置。
  9. 如权利要求8所述的识别对象边缘的方法,其特征在于,所述目标坐标系的原点为所述输入图像的一位置点。
  10. 如权利要求1所述的识别对象边缘的方法,其特征在于,还包括:
    利用所述边缘线条对所述具有边缘的对象进行校正。
  11. 如权利要求10所述的识别对象边缘的方法,其特征在于,所述对象顶点的数量为4个,所述边缘线条为4条,依次为第一线条、第二线条、第三线条和第四线条,所述第一线条与所述第三线条沿第一方向排列,所述第二线条与所述第四线条沿第二方向排列,所述第一方向与所述第二方向相垂直,
    所述利用所述边缘线条对所述具有边缘的对象进行校正包括:
    分别获取所述第一线条和所述第三线条在所述第二方向上的投影长度,以及分别获取所述第二线条和所述第四线条在所述第一方向上的投影长度;
    计算所述第一线条和所述第三线条在所述第二方向上的投影长度的平均值,作为校正后的所述具有边缘的对象沿所述第二方向上的长度;
    计算所述第二线条和所述第四线条在所述第一方向上的投影长度的平均值,作为校正后的所述具有边缘的对象沿所述第一方向上的长度。
  12. 如权利要求1所述的识别对象边缘的方法,其特征在于,所述对象顶点识别模型为神经网络模型。
  13. 一种识别对象边缘的系统,其特征在于,所述系统包括处理器和存储器,所述存储器上存储有指令,当所述指令被所述处理器执行时,实现如权利要求1至12中任一项所述的方法的步骤。
  14. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令被执行时,实现如权利要求1至12中任一项所述的方法的步骤。
PCT/CN2021/115482 2020-09-21 2021-08-30 识别对象边缘的方法、系统及计算机可读存储介质 WO2022057607A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/637,801 US20230267619A1 (en) 2020-09-21 2021-08-30 Method and system of recognizing object edges and computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010995134.7A CN112132163B (zh) 2020-09-21 2020-09-21 识别对象边缘的方法、系统及计算机可读存储介质
CN202010995134.7 2020-09-21

Publications (1)

Publication Number Publication Date
WO2022057607A1 true WO2022057607A1 (zh) 2022-03-24

Family

ID=73841742

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/115482 WO2022057607A1 (zh) 2020-09-21 2021-08-30 识别对象边缘的方法、系统及计算机可读存储介质

Country Status (3)

Country Link
US (1) US20230267619A1 (zh)
CN (1) CN112132163B (zh)
WO (1) WO2022057607A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114693529A (zh) * 2022-04-20 2022-07-01 北京理工大学重庆创新中心 一种图像拼接方法、装置、设备及存储介质
CN116823808A (zh) * 2023-08-23 2023-09-29 青岛豪迈电缆集团有限公司 基于机器视觉的电缆绞线智能检测方法
CN117557619A (zh) * 2023-10-20 2024-02-13 广州明毅智能科技有限公司 晶片图像尺寸的确定方法、装置、计算机设备及存储介质
CN117557619B (zh) * 2023-10-20 2024-06-04 广州明毅智能科技有限公司 晶片图像尺寸的确定方法、装置、计算机设备及存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114092690A (zh) * 2020-08-06 2022-02-25 杭州睿琪软件有限公司 对象边缘识别和处理方法、系统及计算机可读存储介质
CN112132163B (zh) * 2020-09-21 2024-04-02 杭州睿琪软件有限公司 识别对象边缘的方法、系统及计算机可读存储介质
CN113850239B (zh) * 2021-11-29 2022-03-04 北京世纪好未来教育科技有限公司 多文档检测方法、装置、电子设备及存储介质
CN115294078B (zh) * 2022-08-11 2024-01-30 创新奇智(合肥)科技有限公司 玻璃非对称切角识别方法、装置、设备及存储介质
CN117315288B (zh) * 2023-11-28 2024-02-13 图兮数字科技(北京)有限公司 目标对象的轮廓确定方法、装置、电子设备及存储介质
CN117495950B (zh) * 2023-12-29 2024-03-26 山东五思信息科技有限公司 一种基于密度聚类的试卷密封线定位方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060056732A1 (en) * 2004-08-28 2006-03-16 David Holmes Method and apparatus for determining offsets of a part from a digital image
CN102005038A (zh) * 2009-08-31 2011-04-06 鸿富锦精密工业(深圳)有限公司 图片边缘定位方法
CN107123188A (zh) * 2016-12-20 2017-09-01 北京联合众为科技发展有限公司 基于模板匹配算法和边缘特征的伤票识别与定位方法
CN111680685A (zh) * 2020-04-14 2020-09-18 上海高仙自动化科技发展有限公司 一种基于图像的定位方法、装置、电子设备及存储介质
CN112132163A (zh) * 2020-09-21 2020-12-25 杭州睿琪软件有限公司 识别对象边缘的方法、系统及计算机可读存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60200376A (ja) * 1984-03-26 1985-10-09 Hitachi Ltd 部分パタ−ンマツチング方式
US7463757B2 (en) * 2003-12-09 2008-12-09 Carestream Health, Inc. Tooth locating within dental images
US8103115B2 (en) * 2007-02-26 2012-01-24 Sony Corporation Information processing apparatus, method, and program
KR101272448B1 (ko) * 2011-07-11 2013-06-07 광주과학기술원 관심영역 검출 장치와 방법 및 상기 방법을 구현하는 프로그램이 기록된 기록매체
CN103208111B (zh) * 2012-01-17 2015-10-07 富士通株式会社 用于修正图像角点的方法和装置以及图像处理设备
JP2013257643A (ja) * 2012-06-11 2013-12-26 Ricoh Co Ltd 画像処理システム及びプログラム
CN105096299B (zh) * 2014-05-08 2019-02-26 北京大学 多边形检测方法和多边形检测装置
CN104268864B (zh) * 2014-09-18 2017-04-12 小米科技有限责任公司 卡片边缘提取方法和装置
JP6594129B2 (ja) * 2014-11-28 2019-10-23 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
US9443164B2 (en) * 2014-12-02 2016-09-13 Xerox Corporation System and method for product identification
CN105654097B (zh) * 2015-12-29 2019-04-16 上海珍岛信息技术有限公司 图像中四边形标记物的检测方法
CN107203034B (zh) * 2016-03-18 2021-02-26 松下知识产权经营株式会社 图像生成装置、图像生成方法以及记录介质
JP6844235B2 (ja) * 2016-12-08 2021-03-17 富士通株式会社 距離測定装置および距離測定方法
CN108875723B (zh) * 2018-01-03 2023-01-06 北京旷视科技有限公司 对象检测方法、装置和系统及存储介质
CN110033476A (zh) * 2018-01-11 2019-07-19 富士通株式会社 目标速度估计方法、装置和图像处理设备
CN108627092A (zh) * 2018-04-17 2018-10-09 南京阿凡达机器人科技有限公司 一种包裹体积的测量方法、系统、储存介质及移动终端
CN108629343B (zh) * 2018-04-28 2020-08-04 湖北民族学院 一种基于边缘检测和改进Harris角点检测的车牌定位方法和系统
CN108764143B (zh) * 2018-05-29 2020-11-24 北京字节跳动网络技术有限公司 图像处理方法、装置、计算机设备和存储介质
CN109118473B (zh) * 2018-07-03 2022-04-12 深圳大学 基于神经网络的角点检测方法、存储介质与图像处理系统
CN109711416B (zh) * 2018-11-23 2021-08-06 西安天和防务技术股份有限公司 目标识别方法、装置、计算机设备和存储介质
CN109859226B (zh) * 2019-01-10 2022-06-17 上海理工大学 一种图形分割的棋盘格角点亚像素的检测方法
KR102079121B1 (ko) * 2019-10-30 2020-02-19 주식회사 뉴로메카 이미지로부터 복수의 물체를 식별하는 방법 및 장치, 컴퓨터 판독 가능한 저장 매체
CN111091123A (zh) * 2019-12-02 2020-05-01 上海眼控科技股份有限公司 文本区域检测方法及设备
CN111401266B (zh) * 2020-03-19 2023-11-03 杭州易现先进科技有限公司 绘本角点定位的方法、设备、计算机设备和可读存储介质
CN111598091A (zh) * 2020-05-20 2020-08-28 北京字节跳动网络技术有限公司 图像识别方法、装置、电子设备及计算可读存储介质
CN111680688B (zh) * 2020-06-10 2023-08-08 创新奇智(成都)科技有限公司 字符识别方法及装置、电子设备、存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060056732A1 (en) * 2004-08-28 2006-03-16 David Holmes Method and apparatus for determining offsets of a part from a digital image
CN102005038A (zh) * 2009-08-31 2011-04-06 鸿富锦精密工业(深圳)有限公司 图片边缘定位方法
CN107123188A (zh) * 2016-12-20 2017-09-01 北京联合众为科技发展有限公司 基于模板匹配算法和边缘特征的伤票识别与定位方法
CN111680685A (zh) * 2020-04-14 2020-09-18 上海高仙自动化科技发展有限公司 一种基于图像的定位方法、装置、电子设备及存储介质
CN112132163A (zh) * 2020-09-21 2020-12-25 杭州睿琪软件有限公司 识别对象边缘的方法、系统及计算机可读存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114693529A (zh) * 2022-04-20 2022-07-01 北京理工大学重庆创新中心 一种图像拼接方法、装置、设备及存储介质
CN114693529B (zh) * 2022-04-20 2023-03-14 北京理工大学重庆创新中心 一种图像拼接方法、装置、设备及存储介质
CN116823808A (zh) * 2023-08-23 2023-09-29 青岛豪迈电缆集团有限公司 基于机器视觉的电缆绞线智能检测方法
CN116823808B (zh) * 2023-08-23 2023-11-17 青岛豪迈电缆集团有限公司 基于机器视觉的电缆绞线智能检测方法
CN117557619A (zh) * 2023-10-20 2024-02-13 广州明毅智能科技有限公司 晶片图像尺寸的确定方法、装置、计算机设备及存储介质
CN117557619B (zh) * 2023-10-20 2024-06-04 广州明毅智能科技有限公司 晶片图像尺寸的确定方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
US20230267619A1 (en) 2023-08-24
CN112132163B (zh) 2024-04-02
CN112132163A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
WO2022057607A1 (zh) 识别对象边缘的方法、系统及计算机可读存储介质
CN109409374B (zh) 一种基于联合的同批次试卷答案区域切割方法
CN110414507B (zh) 车牌识别方法、装置、计算机设备和存储介质
US11636604B2 (en) Edge detection method and device, electronic equipment, and computer-readable storage medium
WO2021233266A1 (zh) 边缘检测方法和装置、电子设备和存储介质
US8559748B2 (en) Edge detection
US20180137321A1 (en) Method and system for decoding two-dimensional code using weighted average gray-scale algorithm
US9959475B2 (en) Table data recovering in case of image distortion
CN111680689B (zh) 一种基于深度学习的目标检测方法、系统及存储介质
WO2018233038A1 (zh) 基于深度学习的车牌识别方法、装置、设备及存储介质
US10140691B2 (en) Correcting perspective distortion in double-page spread images
WO2018233055A1 (zh) 保单信息录入的方法、装置、计算机设备及存储介质
CN112183038A (zh) 一种表格识别套打方法、计算机设备及计算机可读存储介质
WO2020097909A1 (zh) 文本检测方法、装置及存储介质
CN110647882A (zh) 图像校正方法、装置、设备及存储介质
CN109948521B (zh) 图像纠偏方法和装置、设备及存储介质
CN111259878A (zh) 一种检测文本的方法和设备
WO2021051527A1 (zh) 基于图像分割的文字定位方法、装置、设备及存储介质
CN112419207A (zh) 一种图像矫正方法及装置、系统
CN111652205B (zh) 基于深度学习的文本矫正方法、装置、设备和介质
CN113557520A (zh) 字符处理及字符识别方法、存储介质和终端设备
US9483834B1 (en) Object boundary detection in an image
CN112800824B (zh) 扫描文件的处理方法、装置、设备及存储介质
WO2024078233A1 (zh) 包含文本的图像处理方法、系统及存储介质
WO2022028247A1 (zh) 对象边缘识别和处理方法、系统及计算机可读存储介质

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21868435

Country of ref document: EP

Kind code of ref document: A1