MLchartDataset catalogue

Patent · US10812694B2 · B2 · US

Real-time inspection guidance of triangulation scanner

(11) Publication number
US10812694B2
(21) Application number
14/458,488
(22) Filing date
2014-08-13
(30) Priority date
2013-08-21
(43) Publication date
2020-10-20
(45) Date of grant
2020-10-20
(51) IPC
G06T 7/00; G06K 9/00; H04N 5/225; G01B 11/25; G06T 1/00; H04N 5/00
(52) CPC
  • H04N Pictorial communication, e.g. television: 23/56, 5/2256
  • G01B Measuring length, thickness or similar linear dimensions; measuring angles; measuring areas; measuring irregularities of surfaces or contours: 11/25, 11/2513
  • G06K Graphical data reading; presentation of data; record carriers; handling record carriers: 9/00664
  • G06T Image data processing or generation, in general: 1/0007, 2207/10004
  • G06V Image or video recognition or understanding: 20/10
(73) Assignee
Faro Technologies Inc
(72) Inventors
Chi Zhang
(54) Title
Real-time inspection guidance of triangulation scanner
(57) Abstract

A processor and projector images a coded projector pattern of light on a portion of an object providing a first coded surface pattern of light, images a first sequential projector pattern of light on another portion of the object providing a first sequential surface pattern of light, and images a second sequential projector pattern of light on the other portion providing a second sequential surface pattern of light. A camera forms a first coded image of the first coded surface pattern of light and generates a first coded array, forms a first sequential image of the first sequential surface pattern of light and generates a first sequential array, forms a second sequential image of the second sequential surface pattern of light and generates a second sequential array. The processor determines a correspondence between the camera and projector, and measures three-dimensional coordinates of the object.

Full text
View on Google Patents

Claims (22)

  1. A method for measuring three-dimensional (3D) coordinates of a surface of an object, the method comprising: providing a structured light scanner that includes a processor, a projector, and a camera; generating by the processor at a first time a first coded projector pattern of light on a plane of patterned illumination, the first coded projector pattern of light being confined to a window in the plane, the window including a collection of subwindows arranged in two dimensions on the plane with each subwindow within the collection of subwindows having a subwindow pattern of light different than and distinguishable from the subwindow pattern of light of each adjacent subwindow; imaging the first coded projector pattern of light using the projector onto a first portion of the surface of the object to obtain a first coded surface pattern of light on the first portion; forming using the camera a first coded image that is an image of the first coded surface pattern of light and generating in response a first coded array, the first coded array being an array of digital values; sending the first coded array to the processor; determining via the processor a correspondence between each element of the first coded array and respective ones of the subwindows; determining via the processor in a first frame of reference of the scanner first coded 3D coordinates, the first coded 3D coordinates being 3D coordinates of points on the first portion, the first coded 3D coordinates based at least in part on the first coded projector pattern of light, the first coded array, the correspondence, a length of a baseline distance between the camera and the projector, a pose of the camera, and a pose of the projector; moving the scanner or the object to change the object from a first pose to a second pose, the movement of the scanner or object being based at least in part on the first coded 3D coordinates, the first pose and the second pose of the object being given in the first frame of reference; generating via the processor at a second time a first sequential projector pattern of light on the plane of patterned illumination, the first sequential projector pattern of light being a non-coded pattern; imaging the first sequential projector pattern of light using the projector onto a second portion of the surface of the object to obtain a first sequential surface pattern of light on the second portion; forming using the camera a first sequential image that is an image of the first sequential surface pattern of light and generating in response a first sequential array, the first sequential array being an array of digital values, wherein the scanner is held in the second pose during the forming of the first sequential image; sending the first sequential array to the processor; generating via the processor at a third time a second sequential projector pattern of light on the plane of patterned illumination, the second sequential projector pattern of light being a non-coded pattern; imaging the second sequential projector pattern of light using the projector onto the second portion of the surface of the object to obtain a second sequential surface pattern of light on the second portion; forming using the camera a second sequential image that is an image of the second sequential surface pattern of light and generating in response a second sequential array, the second sequential array being an array of digital values, wherein the scanner is held in the second pose during the forming of the second sequential image; sending the second sequential array to the processor; determining via the processor in the first frame of reference sequential 3D coordinates, the sequential 3D coordinates being 3D coordinates of points on the second portion, the sequential 3D coordinates based at least in part on the first sequential projector pattern of light, the first sequential array, the second sequential projector pattern of light, the second sequential array, the length of the baseline, the camera pose, and the projector pose; and storing the sequential 3D coordinates.
  2. The method of claim 1 wherein, in the step of generating by the processor at a first time a first coded projector pattern of light on the plane of patterned illumination, each subwindow within the collection of subwindows having a subwindow pattern of light is further different than and distinguishable from the subwindow pattern of light of each of the other subwindows.
  3. The method of claim 1 wherein, in the step of moving the scanner and/or the object from a first pose to a second pose, the second pose is further based at least in part on identifying with the processor a first object feature.
  4. The method of claim 3 wherein, in the step of moving the scanner and/or the object, the second pose is further based at least in part on matching the identified first object feature to a computer aided drawing (CAD) model of the object.
  5. The method of claim 3 wherein, in the step of moving the scanner and/or the object, the second pose is further based at least in part on a scanned representation of a third portion of the surface of the object, the third portion including a region of the surface not included in the first portion or the second portion.
  6. The method of claim 3 wherein, in the step of moving the scanner and/or the object, the second pose is further based at least in part on observing via the processor an edge of the object.
  7. The method of claim 1 further including, displaying a representation of the surface of the object on a display, the representation based at least in part on the coded 3D coordinates.
  8. The method of claim 7 wherein, in the step of moving the scanner and/or the object, the second pose is further based on moving the scanner and/or the object by a user, the moving based at least in part on the coded 3D coordinates on the display.
  9. The method of claim 8 wherein, in the step of displaying the coded 3D coordinates on a display, the coded 3D coordinates are displayed in real time.
  10. The method of claim 8 wherein, in the step of displaying the coded 3D coordinates on a display, the coded 3D coordinates are colored to indicate a relative position of each of the 3D coordinate points relative to one or more locations on the scanner.
  11. The step of claim 1 wherein, in the step of moving the scanner and/or the object, the second pose is further based at least in part on a depth of field of the scanner.
  12. The method of claim 1 wherein, in the step of moving the scanner and/or the object, the moving is performed by a motorized device.
  13. The method of claim 12 wherein, in the step of moving the scanner and/or the object, the motorized device is a robot.
  14. The method of claim 1 wherein the method further includes: generating via the processor at a fourth time a third sequential projector pattern of light on the plane of patterned illumination; imaging the third sequential projector pattern of light using the projector onto the second portion of the surface of the object to obtain a third sequential surface pattern of light on the second portion; forming using the camera a third sequential image that is an image of the third sequential surface pattern of light and generating in response a third sequential array, the third sequential array being an array of digital values; sending the third sequential array to the processor; and wherein, in the step of determining via the processor in the first frame of reference sequential 3D coordinates, the sequential 3D coordinates are further based at least in part on the third sequential surface pattern of light and the third sequential array.
  15. The method of claim 14 wherein, in the step of determining via the processor in the first frame of reference sequential 3D coordinates, the determining further includes calculating a phase of a pixel in a photosensitive array of the camera, the phase based at least in part on a first level of light received by the pixel in the first sequential image, a second level of light received by the pixel in the second sequential image, and a third level of light received by the pixel in the third sequential image.
  16. The method of claim 1 further including, adjusting via the processor an average level of optical power of the first sequential projector pattern of light, the adjusting based at least in part on the first coded array.
  17. The method of claim 14 wherein, in the step of determining via the processor in the first frame of reference first coded 3D coordinates, the sequential 3D coordinates are based at least in part on the first coded 3D coordinates.
  18. The method of claim 1, wherein: the scanner has a first frame of reference; the projector includes a plane of patterned illumination and a projector lens, the projector having a projector perspective center; the camera includes a photosensitive array and a camera lens, the camera having a camera perspective center, the photosensitive array including an array of pixels; the scanner having a baseline, the baseline being a straight line segment between the projector perspective center and the camera perspective center; the camera having a camera pose in the first frame of reference; the projector having a projector pose in the first frame of reference; and, the processor further configured to control the plane of patterned illumination.
  19. The method of claim 18, wherein: the first coded image is formed on the photosensitive array using the camera lens; the first sequential image is formed on the photosensitive array using the camera lens; and, the second sequential image is formed on the photosensitive array using the camera lens.
  20. The method of claim 18, wherein the step of determining via the processor a correspondence between each element of the first coded array and respective ones of the subwindows comprises: facilitating via the processor a search of pixel values on the photosensitive array that have one-to-one correspondence with uniquely identifiable element values of the illuminated pattern source.
  21. The method of claim 1, wherein: in the step of determining via the processor in a first frame of reference of the scanner first coded 3D coordinates, and in the step of determining via the processor in the first frame of reference sequential 3D coordinates, each step comprises: executing via the processor triangulation calculations.
  22. An apparatus for measuring three-dimensional (3D) coordinates of a surface of an object, the apparatus comprising: a structured light scanner comprising a processor, a projector, and a camera; wherein the processor is responsive to executable instructions which when executed by the processor facilitates the following method: generating by the processor at a first time a first coded projector pattern of light on a plane of patterned illumination, the first coded projector pattern of light being confined to a window in the plane, the window including a collection of subwindows arranged in two dimensions on the plane with each subwindow within the collection of subwindows having a subwindow pattern of light different than and distinguishable from the subwindow pattern of light of each adjacent subwindow; imaging the first coded projector pattern of light using the projector onto a first portion of the surface of the object to obtain a first coded surface pattern of light on the first portion; forming using the camera a first coded image that is an image of the first coded surface pattern of light and generating in response a first coded array, the first coded array being an array of digital values; sending the first coded array to the processor; determining via the processor a correspondence between each element of the first coded array and respective ones of the subwindows; determining via the processor in a first frame of reference of the scanner first coded 3D coordinates, the first coded 3D coordinates being 3D coordinates of points on the first portion, the first coded 3D coordinates based at least in part on the first coded projector pattern of light, the first coded array, the correspondence, a length of a baseline distance between the camera and the projector, a pose of the camera, and a pose of the projector; moving the scanner or the object to change the object from a first pose to a second pose, the movement of the scanner or object being based at least in part on the first coded 3D coordinates, the first pose and the second pose of the object being given in the first frame of reference; generating via the processor at a second time a first sequential projector pattern of light on the plane of patterned illumination, the first sequential projector pattern of light being a non-coded pattern; imaging the first sequential projector pattern of light using the projector onto a second portion of the surface of the object to obtain a first sequential surface pattern of light on the second portion; forming using the camera a first sequential image that is an image of the first sequential surface pattern of light and generating in response a first sequential array, the first sequential array being an array of digital values, wherein the scanner is held in the second pose during the forming of the first sequential image; sending the first sequential array to the processor; generating via the processor at a third time a second sequential projector pattern of light on the plane of patterned illumination, the second sequential projector pattern of light being a non-coded pattern; imaging the second sequential projector pattern of light using the projector onto the second portion of the surface of the object to obtain a second sequential surface pattern of light on the second portion; forming using the camera a second sequential image that is an image of the second sequential surface pattern of light and generating in response a second sequential array, the second sequential array being an array of digital values, wherein the scanner is held in the second pose during the forming of the second sequential image; sending the second sequential array to the processor; determining via the processor in the first frame of reference sequential 3D coordinates, the sequential 3D coordinates being 3D coordinates of points on the second portion, the sequential 3D coordinates based at least in part on the first sequential projector pattern of light, the first sequential array, the second sequential projector pattern of light, the second sequential array, the length of the baseline, the camera pose, and the projector pose; and storing the sequential 3D coordinates.

Description

The present disclosure relates to a triangulation scanner that measures three-dimensional (3D) coordinates.

A triangulation scanner measures 3D coordinates of a surface of an object by projecting a pattern of light onto the surface, imaging the light pattern with a camera, and performing a triangulation calculation to determine the 3D coordinates of points on the surface. A triangulation scanner includes a projector and a camera separated from one another by a baseline distance. The projector includes an illuminated pattern and a projector lens, and the camera includes a lens and a photosensitive array.

A category of triangulation scanner is a structured light scanner that projects light over an area. This type of scanner is distinguished from a line scanner that projects light in a single line or stripe. A first type of structured light scanner projects a coded pattern of light onto a surface to be measured. In general, the pattern of light that appears on the photosensitive array of the camera is shifted and distorted according to the position and shape of the surface onto which the light is projected. However, in a coded pattern of light, the window that encompasses the pattern of light is broken into a two-dimensional array of subwindows, each of the subwindows is distinguished from adjacent subwindows. By matching the pattern of light captured by the photosensitive array to the pattern of light on the subwindows, it is possible to draw a correspondence between points on the illuminated pattern and points on the photosensitive array.

Citations (4)

  • US20060017720A1
  • US20130125408A1
  • US20120281087A1
  • US20140168370A1
Record as JSON
{
  "publication_number": "US10812694B2",
  "country": "US",
  "kind": "B2",
  "title": "Real-time inspection guidance of triangulation scanner",
  "abstract": "A processor and projector images a coded projector pattern of light on a portion of an object providing a first coded surface pattern of light, images a first sequential projector pattern of light on another portion of the object providing a first sequential surface pattern of light, and images a second sequential projector pattern of light on the other portion providing a second sequential surface pattern of light. A camera forms a first coded image of the first coded surface pattern of light and generates a first coded array, forms a first sequential image of the first sequential surface pattern of light and generates a first sequential array, forms a second sequential image of the second sequential surface pattern of light and generates a second sequential array. The processor determines a correspondence between the camera and projector, and measures three-dimensional coordinates of the object.",
  "claims": [
    "1. A method for measuring three-dimensional (3D) coordinates of a surface of an object, the method comprising: providing a structured light scanner that includes a processor, a projector, and a camera; generating by the processor at a first time a first coded projector pattern of light on a plane of patterned illumination, the first coded projector pattern of light being confined to a window in the plane, the window including a collection of subwindows arranged in two dimensions on the plane with each subwindow within the collection of subwindows having a subwindow pattern of light different than and distinguishable from the subwindow pattern of light of each adjacent subwindow; imaging the first coded projector pattern of light using the projector onto a first portion of the surface of the object to obtain a first coded surface pattern of light on the first portion; forming using the camera a first coded image that is an image of the first coded surface pattern of light and generating in response a first coded array, the first coded array being an array of digital values; sending the first coded array to the processor; determining via the processor a correspondence between each element of the first coded array and respective ones of the subwindows; determining via the processor in a first frame of reference of the scanner first coded 3D coordinates, the first coded 3D coordinates being 3D coordinates of points on the first portion, the first coded 3D coordinates based at least in part on the first coded projector pattern of light, the first coded array, the correspondence, a length of a baseline distance between the camera and the projector, a pose of the camera, and a pose of the projector; moving the scanner or the object to change the object from a first pose to a second pose, the movement of the scanner or object being based at least in part on the first coded 3D coordinates, the first pose and the second pose of the object being given in the first frame of reference; generating via the processor at a second time a first sequential projector pattern of light on the plane of patterned illumination, the first sequential projector pattern of light being a non-coded pattern; imaging the first sequential projector pattern of light using the projector onto a second portion of the surface of the object to obtain a first sequential surface pattern of light on the second portion; forming using the camera a first sequential image that is an image of the first sequential surface pattern of light and generating in response a first sequential array, the first sequential array being an array of digital values, wherein the scanner is held in the second pose during the forming of the first sequential image; sending the first sequential array to the processor; generating via the processor at a third time a second sequential projector pattern of light on the plane of patterned illumination, the second sequential projector pattern of light being a non-coded pattern; imaging the second sequential projector pattern of light using the projector onto the second portion of the surface of the object to obtain a second sequential surface pattern of light on the second portion; forming using the camera a second sequential image that is an image of the second sequential surface pattern of light and generating in response a second sequential array, the second sequential array being an array of digital values, wherein the scanner is held in the second pose during the forming of the second sequential image; sending the second sequential array to the processor; determining via the processor in the first frame of reference sequential 3D coordinates, the sequential 3D coordinates being 3D coordinates of points on the second portion, the sequential 3D coordinates based at least in part on the first sequential projector pattern of light, the first sequential array, the second sequential projector pattern of light, the second sequential array, the length of the baseline, the camera pose, and the projector pose; and storing the sequential 3D coordinates.",
    "2. The method of claim 1 wherein, in the step of generating by the processor at a first time a first coded projector pattern of light on the plane of patterned illumination, each subwindow within the collection of subwindows having a subwindow pattern of light is further different than and distinguishable from the subwindow pattern of light of each of the other subwindows.",
    "3. The method of claim 1 wherein, in the step of moving the scanner and/or the object from a first pose to a second pose, the second pose is further based at least in part on identifying with the processor a first object feature.",
    "4. The method of claim 3 wherein, in the step of moving the scanner and/or the object, the second pose is further based at least in part on matching the identified first object feature to a computer aided drawing (CAD) model of the object.",
    "5. The method of claim 3 wherein, in the step of moving the scanner and/or the object, the second pose is further based at least in part on a scanned representation of a third portion of the surface of the object, the third portion including a region of the surface not included in the first portion or the second portion.",
    "6. The method of claim 3 wherein, in the step of moving the scanner and/or the object, the second pose is further based at least in part on observing via the processor an edge of the object.",
    "7. The method of claim 1 further including, displaying a representation of the surface of the object on a display, the representation based at least in part on the coded 3D coordinates.",
    "8. The method of claim 7 wherein, in the step of moving the scanner and/or the object, the second pose is further based on moving the scanner and/or the object by a user, the moving based at least in part on the coded 3D coordinates on the display.",
    "9. The method of claim 8 wherein, in the step of displaying the coded 3D coordinates on a display, the coded 3D coordinates are displayed in real time.",
    "10. The method of claim 8 wherein, in the step of displaying the coded 3D coordinates on a display, the coded 3D coordinates are colored to indicate a relative position of each of the 3D coordinate points relative to one or more locations on the scanner.",
    "11. The step of claim 1 wherein, in the step of moving the scanner and/or the object, the second pose is further based at least in part on a depth of field of the scanner.",
    "12. The method of claim 1 wherein, in the step of moving the scanner and/or the object, the moving is performed by a motorized device.",
    "13. The method of claim 12 wherein, in the step of moving the scanner and/or the object, the motorized device is a robot.",
    "14. The method of claim 1 wherein the method further includes: generating via the processor at a fourth time a third sequential projector pattern of light on the plane of patterned illumination; imaging the third sequential projector pattern of light using the projector onto the second portion of the surface of the object to obtain a third sequential surface pattern of light on the second portion; forming using the camera a third sequential image that is an image of the third sequential surface pattern of light and generating in response a third sequential array, the third sequential array being an array of digital values; sending the third sequential array to the processor; and wherein, in the step of determining via the processor in the first frame of reference sequential 3D coordinates, the sequential 3D coordinates are further based at least in part on the third sequential surface pattern of light and the third sequential array.",
    "15. The method of claim 14 wherein, in the step of determining via the processor in the first frame of reference sequential 3D coordinates, the determining further includes calculating a phase of a pixel in a photosensitive array of the camera, the phase based at least in part on a first level of light received by the pixel in the first sequential image, a second level of light received by the pixel in the second sequential image, and a third level of light received by the pixel in the third sequential image.",
    "16. The method of claim 1 further including, adjusting via the processor an average level of optical power of the first sequential projector pattern of light, the adjusting based at least in part on the first coded array.",
    "17. The method of claim 14 wherein, in the step of determining via the processor in the first frame of reference first coded 3D coordinates, the sequential 3D coordinates are based at least in part on the first coded 3D coordinates.",
    "18. The method of claim 1, wherein: the scanner has a first frame of reference; the projector includes a plane of patterned illumination and a projector lens, the projector having a projector perspective center; the camera includes a photosensitive array and a camera lens, the camera having a camera perspective center, the photosensitive array including an array of pixels; the scanner having a baseline, the baseline being a straight line segment between the projector perspective center and the camera perspective center; the camera having a camera pose in the first frame of reference; the projector having a projector pose in the first frame of reference; and, the processor further configured to control the plane of patterned illumination.",
    "19. The method of claim 18, wherein: the first coded image is formed on the photosensitive array using the camera lens; the first sequential image is formed on the photosensitive array using the camera lens; and, the second sequential image is formed on the photosensitive array using the camera lens.",
    "20. The method of claim 18, wherein the step of determining via the processor a correspondence between each element of the first coded array and respective ones of the subwindows comprises: facilitating via the processor a search of pixel values on the photosensitive array that have one-to-one correspondence with uniquely identifiable element values of the illuminated pattern source.",
    "21. The method of claim 1, wherein: in the step of determining via the processor in a first frame of reference of the scanner first coded 3D coordinates, and in the step of determining via the processor in the first frame of reference sequential 3D coordinates, each step comprises: executing via the processor triangulation calculations.",
    "22. An apparatus for measuring three-dimensional (3D) coordinates of a surface of an object, the apparatus comprising: a structured light scanner comprising a processor, a projector, and a camera; wherein the processor is responsive to executable instructions which when executed by the processor facilitates the following method: generating by the processor at a first time a first coded projector pattern of light on a plane of patterned illumination, the first coded projector pattern of light being confined to a window in the plane, the window including a collection of subwindows arranged in two dimensions on the plane with each subwindow within the collection of subwindows having a subwindow pattern of light different than and distinguishable from the subwindow pattern of light of each adjacent subwindow; imaging the first coded projector pattern of light using the projector onto a first portion of the surface of the object to obtain a first coded surface pattern of light on the first portion; forming using the camera a first coded image that is an image of the first coded surface pattern of light and generating in response a first coded array, the first coded array being an array of digital values; sending the first coded array to the processor; determining via the processor a correspondence between each element of the first coded array and respective ones of the subwindows; determining via the processor in a first frame of reference of the scanner first coded 3D coordinates, the first coded 3D coordinates being 3D coordinates of points on the first portion, the first coded 3D coordinates based at least in part on the first coded projector pattern of light, the first coded array, the correspondence, a length of a baseline distance between the camera and the projector, a pose of the camera, and a pose of the projector; moving the scanner or the object to change the object from a first pose to a second pose, the movement of the scanner or object being based at least in part on the first coded 3D coordinates, the first pose and the second pose of the object being given in the first frame of reference; generating via the processor at a second time a first sequential projector pattern of light on the plane of patterned illumination, the first sequential projector pattern of light being a non-coded pattern; imaging the first sequential projector pattern of light using the projector onto a second portion of the surface of the object to obtain a first sequential surface pattern of light on the second portion; forming using the camera a first sequential image that is an image of the first sequential surface pattern of light and generating in response a first sequential array, the first sequential array being an array of digital values, wherein the scanner is held in the second pose during the forming of the first sequential image; sending the first sequential array to the processor; generating via the processor at a third time a second sequential projector pattern of light on the plane of patterned illumination, the second sequential projector pattern of light being a non-coded pattern; imaging the second sequential projector pattern of light using the projector onto the second portion of the surface of the object to obtain a second sequential surface pattern of light on the second portion; forming using the camera a second sequential image that is an image of the second sequential surface pattern of light and generating in response a second sequential array, the second sequential array being an array of digital values, wherein the scanner is held in the second pose during the forming of the second sequential image; sending the second sequential array to the processor; determining via the processor in the first frame of reference sequential 3D coordinates, the sequential 3D coordinates being 3D coordinates of points on the second portion, the sequential 3D coordinates based at least in part on the first sequential projector pattern of light, the first sequential array, the second sequential projector pattern of light, the second sequential array, the length of the baseline, the camera pose, and the projector pose; and storing the sequential 3D coordinates."
  ],
  "description_excerpt": "The present disclosure relates to a triangulation scanner that measures three-dimensional (3D) coordinates.\n\nA triangulation scanner measures 3D coordinates of a surface of an object by projecting a pattern of light onto the surface, imaging the light pattern with a camera, and performing a triangulation calculation to determine the 3D coordinates of points on the surface. A triangulation scanner includes a projector and a camera separated from one another by a baseline distance. The projector includes an illuminated pattern and a projector lens, and the camera includes a lens and a photosensitive array.\n\nA category of triangulation scanner is a structured light scanner that projects light over an area. This type of scanner is distinguished from a line scanner that projects light in a single line or stripe. A first type of structured light scanner projects a coded pattern of light onto a surface to be measured. In general, the pattern of light that appears on the photosensitive array of the camera is shifted and distorted according to the position and shape of the surface onto which the light is projected. However, in a coded pattern of light, the window that encompasses the pattern of light is broken into a two-dimensional array of subwindows, each of the subwindows is distinguished from adjacent subwindows. By matching the pattern of light captured by the photosensitive array to the pattern of light on the subwindows, it is possible to draw a correspondence between points on the illuminated pattern and points on the photosensitive array.",
  "cpc": [
    "H04N 23/56",
    "G01B 11/25",
    "G01B 11/2513",
    "G06K 9/00664",
    "G06T 1/0007",
    "G06T 2207/10004",
    "G06V 20/10",
    "H04N 5/2256"
  ],
  "ipc": [
    "G06T 7/00",
    "G06K 9/00",
    "H04N 5/225",
    "G01B 11/25",
    "G06T 1/00",
    "H04N 5/00"
  ],
  "assignees": [
    "Faro Technologies Inc"
  ],
  "inventors": [
    "Chi Zhang"
  ],
  "filing_date": "2014-08-13",
  "publication_date": "2020-10-20",
  "grant_date": "2020-10-20",
  "priority_date": "2013-08-21",
  "application_number": "US-201414458488-A",
  "family_id": "52480007",
  "cited_by_count": 1,
  "citations": [
    "US20060017720A1",
    "US20130125408A1",
    "US20120281087A1",
    "US20140168370A1"
  ]
}

Record 1,928 of 8,000 in Patents full text (MLC-0201). Request the full dataset.