SINGLE READ OF KEYPOINT DESCRIPTORS OF IMAGE FROM SYSTEM MEMORY FOR EFFICIENT HEADER MATCHING

Information

  • Patent Application
  • 20230298302
  • Publication Number
    20230298302
  • Date Filed
    March 15, 2022
    2 years ago
  • Date Published
    September 21, 2023
    8 months ago
  • CPC
    • G06V10/46
    • G06V10/751
    • G06V10/761
  • International Classifications
    • G06V10/46
    • G06V10/74
    • G06V10/75
Abstract
Embodiments of the present disclosure relate to sequentially loading keypoint descriptors of a previous image and comparing them with a plurality of keypoint descriptors of a current image. The keypoint descriptors of the previous image are stored and accessed from a system memory while the keypoint descriptors of the current image are stored and accessed from a local memory. Hence, the keypoint descriptors of the previous image are received only once at a descriptor match circuit while the keypoint descriptors of the current image are received multiple times for comparison against different keypoint descriptors of the previous image.
Description
Claims
  • 1. A circuit for determining matching keypoints in images, comprising: a first local memory configured to receive first keypoint descriptors of a first image from an external memory and store the received first keypoint descriptors;a second local memory configured to receive second keypoint descriptors of a second image and store the received second keypoint descriptors, the second local memory having a faster access speed than the external memory; anda header match circuit coupled to the first local memory and the second local memory, the header match circuit configured to: sequentially receive each of headers of the first keypoint descriptors, anddetermine whether each of the headers of the first keypoint descriptors and a corresponding plurality of headers of the second keypoint descriptors satisfy one or more match criteria.
  • 2. The circuit of claim 1, wherein the first keypoint descriptors of the first image is received from the external memory to the first local memory once, and each of the headers of the first keypoint descriptor is received by the header match circuit from the first local memory once.
  • 3. The circuit of claim 1, wherein the first keypoint descriptors are stored in the first local memory at a same time have orientation angles that are within a first orientation angle range.
  • 4. The circuit of claim 3, wherein the corresponding plurality of headers of the second keypoint descriptors indicate orientation angles within a second orientation angle range broader than the first orientation angle range.
  • 5. The circuit of claim 1, further comprising a distance circuit coupled to the header match circuit and configured to determine distances between first descriptor vectors of a subset of the first keypoint descriptors and second descriptor vectors of a subset of the second keypoint descriptors that satisfy the one or more match criteria.
  • 6. The circuit of claim 5, wherein the header match circuit is configured to generate pointers to the subset of first keypoint descriptors and the subset of the second keypoint descriptors that satisfy the one or more match criteria, and wherein the distance circuit is configured to receive descriptor vectors of the first keypoint descriptors and the second keypoint descriptors indicated by the pointers.
  • 7. The circuit of claim 1, wherein the second keypoint descriptors generated in a first cycle are moved from the second local memory to the external memory for retrieval in a second cycle subsequent to the first cycle.
  • 8. The circuit of claim 1, wherein the second keypoint descriptors are classified into corresponding data bins in the second local memory, the data bins assigned to different orientation angle ranges that do not overlap.
  • 9. The circuit of claim 1, further comprising a keypoint description generator circuit coupled to the second local memory and configured to generate the second keypoint descriptors by processing the second image.
  • 10. The circuit of claim 1, wherein the first keypoint descriptors and the second keypoint descriptors comprise Fast Retina Keypoint (FREAK) descriptors.
  • 11. A method of determining matching keypoints in images, comprising: receiving first keypoint descriptors of a first image from an external memory;storing second keypoint descriptors of a second image in a local memory having a faster access speed than the external memory;sequentially receiving each of headers of the first keypoint descriptors; anddetermining whether each of the headers of the first keypoint descriptors and a corresponding plurality of headers of the second keypoint descriptors satisfy one or more match criteria.
  • 12. The method of claim 11, wherein the first keypoint descriptors of the first image is received from the external memory once.
  • 13. The method of claim 11, further comprising storing the received first keypoint descriptors are stored in another local memory, wherein the first keypoint descriptors stored in the other local memory at a same time have orientation angles that are within a first orientation angle range.
  • 14. The method of claim 13, wherein the corresponding plurality of headers of the second keypoint descriptors indicate orientation angles within a second orientation angle range broader than the first orientation angle range.
  • 15. The method of claim 11, further comprising determining distances between first descriptor vectors of a subset of the first keypoint descriptors and second descriptor vectors of a subset of the second keypoint descriptors that satisfy the one or more match criteria.
  • 16. The method of claim 15, further comprising generating pointers to the subset of first keypoint descriptors and the subset of the second keypoint descriptors that satisfy the one or more match criteria, and wherein descriptor vectors of the first keypoint descriptors and the second keypoint descriptors indicated by the pointers are processed to determine distances.
  • 17. The method of claim 11, further comprising: moving the second keypoint descriptors generated in a first cycle from the local memory to the external memory; andretrieving the second keypoint descriptor from the external memory in a second cycle subsequent to the first cycle for comparison with third keypoint descriptors of a third image.
  • 18. The method of claim 11, further comprising classifying the second keypoint descriptors into corresponding data bins for storage in the second local memory, the data bins assigned to different orientation angle ranges that do not overlap.
  • 19. The method of claim 11, further comprising generating the second keypoint descriptors by processing the second image.
  • 20. An electronic device, comprising: an external memory configured to store first keypoint descriptors of a first image;a local memory configured to store second keypoint descriptors of a second image, the local memory having a faster access speed than the external memory; anda header match circuit coupled to the external memory and the local memory, the header match circuit configured to: sequentially receive each of headers of the first keypoint descriptors, anddetermine whether each of the headers of the first keypoint descriptors and a corresponding plurality of headers of the second keypoint descriptors satisfy one or more match criteria.