Nose-based pet identification system and method

JP7610709B2Active Publication Date: 2025-01-08MARS INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023531001
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-12-15
Filing Date
2021-12-13
Publication Date
2025-01-08
Estimated Expiration
2041-12-13

Smart Images

  • Figure 0007610709000001
    Figure 0007610709000001
  • Figure 0007610709000002
    Figure 0007610709000002
  • Figure 0007610709000003
    Figure 0007610709000003
Patent Text Reader

Abstract

A method for identifying a pet from an image of the pet's nose includes receiving at least one image including the pet's nose, identifying the pet's nose and nostrils in the at least one image, comparing the degree of alignment of the nostrils to a first threshold, determining a quality metric of at least a portion of the nose in the image in response to the degree of alignment of the nostrils meeting the threshold, and determining a representation of the pet's nose features in the at least one image according to the quality metric meeting a second threshold.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to and the benefit of U.S. Provisional Patent Application No. 63 / 125,929, filed December 15, 2020, the contents of which are incorporated herein by reference. [Technical field]

[0002] FIELD OF THE DISCLOSURE This disclosure relates generally to pet identification, and more particularly to pet identification via image recognition. [Background technology]

[0003] Current methods for identifying lost dogs include the cumbersome and inconvenient methods of microchipping or dog tags. Both of these methods have significant barriers to registering and identifying pets. Microchipping requires a visit to the veterinarian, and dog tags often require the involvement of a government agency. Additionally, there may be some concerns about the safety of pets involved in microchipping, and dog tags can be lost. Summary of the Invention [Problem to be solved by the invention]

[0004] According to various embodiments, a user may identify a pet using an image of the pet's nose. ImportThe image can then be analyzed to determine the pet's unique nose features. A database of registered pets that stores a representation of the registered pet's nose features can be queried to determine the pet's identity. According to various embodiments, all a user needs is a handheld device running a nose identification app to register the pet in the case of an owner, or to identify the pet in the case of a pet service provider or lost pet searcher. In this manner, pet identification can be achieved with far fewer barriers than traditional microchipping or dog tagging. [Means for solving the problem]

[0005] According to various embodiments, a method of using an image of a pet's nose to identify a pet includes receiving at least one image including the pet's nose, identifying the pet's nose and nostrils in the at least one image, comparing the degree of alignment of the nostrils to a first threshold, determining a quality metric of at least a portion of the nose in the image in response to the degree of alignment of the nostrils meeting the first threshold, and determining a representation of the pet's nasal features in the at least one image according to the quality metric meeting a second threshold.

[0006] In any of these embodiments, identifying the pet's nose and nostrils in the at least one image may include using a machine learning algorithm.

[0007] In any of these embodiments, comparing the degree of alignment of the nostrils to a first threshold may include determining a horizontal alignment of the nostrils by determining a vertical offset between the nostrils.

[0008] In any of these embodiments, the first threshold may be 30°.

[0009] In any of these embodiments, the method may further include comparing a dimension of one nostril to a dimension of the other nostril prior to determining the representation of the pet's nasal features in the at least one image.

[0010] In any of these embodiments, the quality metric may be a blurriness metric. Optionally, the blurriness metric is determined using singular value decomposition.

[0011] In any of these embodiments, the representation of the pet's nose features may be determined by a local binary pattern histogramming algorithm.

[0012] In any of these embodiments, the method may further include identifying the pet by comparing the representation of the pet's nasal features to a plurality of stored representations of the pet's nasal features corresponding to stored pet identification criteria.

[0013] According to various embodiments, the system includes one or more processors, a storage device, and one or more programs stored on the storage device, the programs including instructions for execution by the one or more processors to perform any of the methods described above.

[0014] According to various embodiments, a computer readable non-transitory storage medium stores one or more programs for execution by one or more processors to perform any of the methods described above. [Brief description of the drawings]

[0015] The invention will now be described, by way of example only, with reference to the accompanying drawings in which: [Figure 1] 1 illustrates a method for identifying pets using image recognition, according to various embodiments. [Figure 2A] 1 illustrates a technique for extracting features of a pet's nose, according to various embodiments. [Figure 2B] 1 illustrates a technique for extracting features of a pet's nose, according to various embodiments. [Diagram 3] 1 illustrates a method for enrolling a pet using nose recognition based pet identification, according to various embodiments. [Figure 4] 1 illustrates a method for identifying pets using nose recognition, according to various embodiments. [Figure 5A] 1 illustrates an exemplary graphical user interface for capturing one or more images of a dog's nose for identification purposes, according to various embodiments. [Figure 5B] 10A-10C illustrate graphical user interfaces for obtaining identification information according to various embodiments. [Figure 6] 1 illustrates a pet identification system, according to various embodiments. [Figure 7] FIG. 1 illustrates an example of a computing system, according to some embodiments. [Figure 8] FIG. 13 illustrates an example of various measurements that may be used to determine nostril alignment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] Various systems and methods according to various embodiments allow for image recognition based identification of a pet based on an image of the pet's nose. In various embodiments, an image of at least a portion of a pet's face, such as a dog or cat, is captured and analyzed to detect the pet's nose in the image. The nose portion is analyzed and converted into a representation of at least some nose features and stored in a database along with the pet's identification information. Subsequent captured images of the pet can be analyzed in a similar manner and compared to the stored representation to identify the pet.

[0017] According to various embodiments, the portable application software running on the user's portable device allows the user to capture an image of the pet's face and transmit the image or a representation of the image to a server, which stores the representation of the image in a pet identification database. Pet owners may provide identification information along with an image of their pet. A lost pet searcher may utilize the portable application software to capture an image of the lost pet and identify the lost pet. In some embodiments, upon matching the captured image with a representation of the image in the pet identification database, the server may provide a notification to the pet owner that their pet has been found. The various systems and methods described herein allow lost pets to be reunited with their owners without the need for veterinary visits and surgery required for microchipping, or the need for identification tags that can be damaged or accidentally removed from the pet.

[0018] In some embodiments, the systems and methods described herein may store pet-related activities, such as veterinary visits, in association with the pet's identification criteria for purposes of tracking the pet's health and other aspects of the pet's life. A veterinary groomer or other pet service provider may capture an image of the pet when scheduling an appointment. The pet is automatically identified, records generated during previous appointments can be accessed by the service provider for reference, and records generated during the current appointment can be associated with the pet for future access by the same or a different service provider.

[0019] In the following description of various embodiments, it should be understood that the singular forms "a," "an," and "the" are intended to include the plurals unless the context clearly indicates otherwise. It should also be understood that the term "and / or (A, B, ..., or any combination thereof)" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It should also be understood that the terms "comprise," "includes," "comprises," "comprises," or combinations thereof, when used herein, specify the presence of the stated features, integers, steps, operations, components, elements, devices, or any combination thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, components, elements, devices, or any combination thereof.

[0020] Certain aspects of the present disclosure include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of the present disclosure may be embodied in software, firmware, or hardware, but when embodied in software, they may be downloaded and reside and run from a number of different platforms for use with a variety of operating systems. As will become apparent from the following description, unless otherwise noted, references throughout the description using terms such as "processing," "computing," "calculating," "determining," "displaying," "generating," and the like, refer to the operation and processing of a computer system or similar electronic computing device that manipulates and transforms data represented as physical (electronic) quantities within the various memory devices or registers of the computer system or other similar information storage, transmission, or display devices.

[0021] In some embodiments, the present disclosure relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored on the computer. Such a computer program may be stored on a computer-readable persistent storage medium, such as various types of floppy disks, USB flash drives, external hard drives, optical disks, CD-ROMs, magneto-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any other type of medium suitable for storing electronic instructions, each of which is connected to a system bus of the computer. Furthermore, the computing systems referred to herein may include a single processor or may be configured with multiple processors, employing various designs, such as processors for performing multiple different functions or for obtaining higher computing performance. Suitable computing devices include various central processing units (CPUs), graphic processing units (GPUs), field programmable gate arrays (FPGAs), and ASICs.

[0022] The various methods, apparatus, and systems described herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used in conjunction with various programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description that follows. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages ​​may be used to implement the teachings of the present invention as described herein.

[0023] 1 illustrates a method 100 for identifying pets using image recognition performed on images of the pet's unique anatomy. According to various embodiments, the method 100 may be employed to identify pets, such as dogs and cats, from images of the pet's nose. Although the following description refers to identifying dogs, it should be understood that the principles described below may be applied to identifying other animals, such as cats, and such applications are within the scope of the present disclosure.

[0024] At step 102, an image of the dog's face is captured, such as by using a camera on a handheld device. The images may be captured using an app (application software) running on the handheld device, which may guide the user to capture at least one image of the dog's nose. In some embodiments, the app controls the handheld device to ensure that a flash is on during image capture to properly illuminate the dog's nose.

[0025] In step 104, the image is analyzed to detect a nose in the image and detect nostrils in the image. In some embodiments, a machine learning algorithm, such as a Google® AutoML object detection model, is used to detect the nose, nostrils, or both. In some embodiments, the machine learning algorithm is trained on images of dog noses, nostrils, or both. In some embodiments, the machine learning algorithm is trained on images of dog noses, nostrils, or both that are tagged and include bounding boxes for the nose, nostrils, or both. In some embodiments, the machine learning algorithm determines a bounding box for the nose. According to various embodiments, if the nose, nostrils, or both cannot be detected, the method 100 returns to step 102 so that another image can be captured. For example, the user may be prompted to capture another image.

[0026] If the nose and nostrils have been detected in step 106, the nostrils are analyzed to determine the alignment of the nostrils in the image. In some embodiments, the vertical distance between the top edges or centers of the detected nostrils may be measured and used together with the horizontal spacing between the measurements to determine the alignment of the nostrils. An example of this embodiment is shown in FIG. 8, which includes a schematic representation of an example nose 802 having nostrils 804 and 806. A machine learning model has already determined a bounding box 808 for the nose 802, a bounding box 810 for the nostril 804, and a bounding box 812 for the nostril 806. A vertical measurement 814 may be taken between the top edges of the bounding boxes 810, 812, which may correspond to the top edges of the nostrils 804, 806, while a horizontal measurement 816 may be taken between the horizontal centers of the bounding boxes 810, 812. Either or both of these measurements may be used to determine the alignment of the nostrils. In some embodiments, the determined alignment may be compared to an alignment threshold to determine whether the nostrils are properly aligned in the image. Examples of alignment thresholds include 30° or less, 25° or less, 20° or less, 15° or less, 5° or less, 2° or less, 1° or less, where the angle is taken between the top edge of the nostrils or an estimated connecting line of the centers of the nostrils and a horizontal line across the image. FIG. 8 illustrates an example angle measurement 818 that may be determined from the horizontal and vertical spacing of the nostrils, as described above. If the nostrils are not properly aligned, the method returns to step 102 and captures a new image. In some embodiments, the alignment of the nostrils may be used to rotate the image instead of or in addition to approving or rejecting the image. For example, if the determined alignment is 5° from horizontal, the image may be rotated by 5°.

[0027] In some embodiments, the dimensions of the nostrils may be compared and a measurement of the difference between the dimensions of the nostrils may be compared to a threshold. If the dimensions of the nostrils are too different, this may indicate that the image shows the nose leaning too far to one side or that the light is too strong on one side, either of which may result in poor performance. For example, with respect to FIG. 8, it is assumed that the dimensions of nostril 804 are determined to be smaller than the dimensions of nostril 806 based on the dimensions of their respective bounding boxes 810, 812. Images in which the dimensions of the nostrils are too different (e.g., do not meet a predetermined threshold dimension difference) may be rejected and the method may return to step 102 to prepare for the capture of a new image. In some embodiments, guidance may be provided to the user on how to improve the next image capture.

[0028] In step 108, if the nostrils are properly aligned, the image may be cropped to include primarily the nose, after rotating the image accordingly, or both. Removing at least a portion of any non-nose portion of the image may be accomplished by, for example, removing portions outside the nose bounding box determined in step 104. In some embodiments, the image is downsampled to reduce data volume and processing time. In some embodiments, the image is converted to a grayscale image (and in some embodiments, the conversion to a grayscale image is performed before or during any one of steps 104 through 106).

[0029] In step 110, the cropped image is analyzed to determine a quality metric for the image. In some embodiments, the quality metric is the degree of blur. Image blur may be determined using any suitable blur analysis technique, such as the variance of the Laplacian, cumulative probability of blur detection (CPBD), structural similarity (SSIM), multi-resolution analysis with Haar Wavelet, or a combination of techniques. In some embodiments, a singular value decomposition (SVD) method is used to calculate a blur measure, which is compared to a threshold. According to various embodiments, if the blur measure (or other quality metric) does not meet the threshold requirement, the image is rejected and the method returns to step 102 to prepare for the capture of a new image.

[0030] At step 112, if the image meets the quality threshold (e.g., blurriness) requirement of step 110, the image (or a crop of the image) is analyzed to extract distinctive features of the pet's nose and generate a representation of the image's nose features that is relatively similar from image to image, such that two images of the same nose taken at different times and in different conditions will generate identical or nearly identical representations. In some embodiments, a Local Binary Pattern Histogramming (LBPH) technique is used to generate the representation of the image's nose features. In some embodiments, the LBPH technique includes dividing the cropped image into a grid (e.g., 8 cells by 8 cells), computing a Local Binary Pattern (LBP) for each cell, and then producing a histogram of the LBPs. FIGS. 2A and 2B illustrate an LBPH technique for extracting pet's nose features, according to various embodiments. FIG. 2A illustrates the generation of an LBP representation 204 of a cropped image 202. 2B illustrates the computation of a histogram 206 for each cell of a grid 208 of an LBP representation 204. The LBPH utilized in step 112 is just one example of how to generate a representation of nose features. Another example is perceptual hashing.

[0031] In some embodiments, a user may be prompted to capture multiple images of the pet's nose, and after all have been captured, the method 100 is performed on the images. In some embodiments, subsequent images are captured only if an image does not meet one or more image quality thresholds of the method 100. In some embodiments, the method 100 is performed on each of the multiple images, and in other embodiments, the image meeting the highest quality metric may be selected to generate a representation of the nose feature in step 112.

[0032] FIG. 3 illustrates a method 300 for registering a pet using a nose recognition based pet identification method, such as method 100 of FIG. 1. At step 302, one or more images of the pet's nose are received and used to generate a representation of the nose features, such as using method 100 of FIG. 1. The images may be captured by a portable device, such as a pet owner's portable device, and may be received by an app running on the portable device and / or a server communicatively connected to the portable device that captured the image(s). In some embodiments, the app may guide the user through the image capture process. One or more steps of the method 100 for generating a representation of the pet's nose features may be performed on a server connected to the portable device. For example, images captured by the portable device may be uploaded to the server, and the server may perform steps 104-112. In some embodiments, one or more steps of the method 100 may be performed locally on the portable device. In some embodiments, all steps of the method 100 are performed on a portable device, and a representation of the pet's nose features generated by the portable device (e.g., an app running on the portable device) is uploaded to a server, where the representation of the nose features is stored in a pet identification database.

[0033] At step 304, identification information for the pet is received at a portable device, such as a portable device of the pet owner, at a server, or both. Examples of identification information include: pet name, pet breed, pet sex, pet physical characteristics (weight, height, color, etc.), pet owner name, pet owner phone number, pet owner address, etc. The identification information may be entered into an app launched on the portable device through one or more fields in a graphical user interface. The identification information is uploaded to the server and stored in a database on the server along with a representation of the pet's nose characteristics.

[0034] FIG. 4 illustrates a method for identifying a pet according to the nose recognition method 100 of FIG. 1. At step 402, one or more images of the pet's nose are captured by a portable device. The portable device may belong to a person who finds a pet believed to be lost, in which case the owner of the portable device may attempt to identify the pet by using a lost pet identification feature of an app running on the portable device, or the portable device may belong to a veterinary clinic or other pet service provider that books an appointment for the pet. The one or more images of the pet's nose are analyzed according to the method 100 of FIG. 1 to generate a representation of the nose features. The representation of the nose features may be uploaded to a server communicatively connected to the portable device, or the server may generate the representation of the nose features from the images captured by the portable device.

[0035] In step 404, the representation of the nose features generated in step 402 is compared to a database of stored representations corresponding to registered pets to determine whether the representation matches any of the stored representations. In some embodiments, the matching is determined by calculating a similarity score between the representation of the nose features generated in step 402 and each representation in the database, or the similarity score may be compared to a threshold. Various techniques for comparing the Local Binary Pattern Histograms (LBPHs) in step 112 of method 100 include Euclidean distance, chi-square, absolute value, etc. If a matching match is found, an identity of the stored representation is retrieved from the database.

[0036] In step 406, if a successful match is obtained in step 404, an indication of the pet's identification may be provided. In some embodiments, the indication is provided to the portable device of the person, such as the lost pet finder or pet service provider, that initiated the identification process. In some embodiments, an indication that the lost pet has been found is provided to the pet owner's portable device along with some indication of the pet's location, such as the pet's GPS location or map location, based on the location of the pet finder's portable device or location information provided by the pet finder (e.g., information manually entered into the app by the pet finder). In some embodiments, information about the lost pet finder, such as, for example, a phone number, is provided to the pet owner. In some embodiments, the pet owner and apps on the pet finder's portable devices may enable communication between the pet owner and the pet finder.

[0037] Figure 5A illustrates a graphical user interface 500 for capturing one or more images of a dog's nose suitable for use in the method 100 of Figure 1. A target box 502 may be provided to guide a user as to how to capture the image of the dog's nose. Figure 5B illustrates pet identification information that may be provided by the user interface 500.

[0038] FIG. 6 illustrates a system 600 for pet identification, according to various embodiments. One or more handheld devices 602 may be used to capture images of the pet's nose. Each image, or each result of one or more steps of image processing performed by the handheld device 602, may be transmitted to a server 604 connected to the handheld device 602 via one or more networks 606. The server 604 is connected to a database 608 for storing a representation of the pet's nose features together with identification information. The server 604 may query the database 608 to search for a matching match with the representation of the pet's nose features to identify the pet according to the principles described above.

[0039] FIG. 7 illustrates an example of a computing system 700, which in some embodiments may be used as one or more of the components of the system 600 of FIG. 6, such as the handheld device 602 or the server 604. The system 600 may be a computer connected to a network, such as a local area network, a wide area network, a cellular network, or the like. As shown in FIG. 7, the system 700 may be any suitable type of processor-based system, such as a personal computer, a workstation, a server, a handheld computing device such as a phone or tablet, or a dedicated device. The system 700 may include, for example, one or more of an input device 720, an output device 730, one or more processors 710, a storage device 740, and a communication device 760. The input device 720 and the output device 730 may be generally consistent with those described above and may be either connected to or integrated with the computer.

[0040] Input device(s) 720 may be any suitable input-enabled device, such as a touch screen, a keyboard or keypad, a mouse, a gesture recognition component of a virtual or augmented reality system, a voice recognition device, etc. Output device(s) 730 may be or include any suitable output-enabled device, such as a display, a touch screen, a haptic device, a virtual or augmented reality display, a speaker, etc.

[0041] Storage 740 may be any suitable storage device, such as an electrical, magnetic, or optical storage device, such as RAM, cache, a hard drive, a removable storage disk, or other persistent computer readable storage medium. Communications device 760 may include any suitable device capable of sending and receiving signals over a network, such as a network interface chip or device. The components of computing system 700 may be connected in any suitable manner, such as via a physical bus or wirelessly.

[0042] Processing unit 710 may be any suitable processing unit or combination of processing units, such as a central processing unit (CPU), a field programmable gate array (FPGA), and / or an application specific integrated circuit (ASIC). Software 750 may be stored in storage 740 and executed by one or more processing units 710, such as programming that embodies functionality or portions of functionality of the present disclosure (e.g., as embodied in each of the aforementioned devices). For example, software 750 may include one or more programs for performing one or more steps of method 400, method 800, method 1000, or various combinations thereof.

[0043] The software 750 may also be stored, transmitted, or stored and transmitted in any computer readable non-transitory storage medium for use by or in connection with any instruction execution system, machine, or apparatus, such as those described above, from which the instructions associated with the software can be fetched and executed. In the context of this disclosure, a computer readable storage medium is any medium, such as storage device 740, that contains or can store programming for use by or in connection with an instruction execution system, machine, or apparatus.

[0044] The software 750 may also be propagated in any transmission medium for use by or in connection with any instruction execution system, machine, or device, such as those described above, from which the instructions associated with the software can be fetched and executed. In the context of this disclosure, a transmission medium is any medium capable of communicating, propagating, or transmitting programming for use by or in connection with an instruction execution system, machine, or device. Transmission media include, but are not limited to, certain types of electronic, magnetic, electromagnetic, or infrared wired or wireless propagation media.

[0045] System 700 may be connected to a network, which may be any suitable type of interconnected communication system. The network may implement any suitable communication protocol and may be secured by any suitable security protocol. The network may include any suitable configuration of network links capable of transmitting and receiving network signals, such as wireless network connections, T1 or T3 lines, cable networks, DSL, telephone lines, etc.

[0046] System 700 may implement any operating system suitable for operating on a network. Software 750 may be written in any suitable programming language, such as C, C++, Java, Python, etc. In various embodiments, application software embodying the functionality of the present disclosure may be deployed in a number of different configurations, such as in a client-server configuration or using a web browser as a web-based application or web service.

[0047] The foregoing description has been given with reference to specific embodiments for purposes of illustration. However, the detailed description of the above examples is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments have been selected and described in order to best explain the principles of the technology and their practical application, so that others skilled in the art may best utilize the technology and various modifications thereto as appropriate for the particular application contemplated.

[0048] Although the present disclosure and each embodiment have been fully described with reference to the accompanying drawings, it should be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications should be construed as falling within the scope of the disclosure and each embodiment as defined by the following claims. Finally, the entire disclosures of the patents and publications mentioned in this application are hereby incorporated by reference. Preferred embodiments of the present invention will be described below in detail. EMBODIMENT 1 The method of identifying a pet by an image of the pet's nose includes: receiving at least one image including the pet's nose; identifying the pet's nose and nostrils in the at least one image; comparing the degree of alignment of the nostrils to a first threshold; determining a quality metric of at least a portion of the nose of the image in response to the degree of alignment of the nostrils meeting the threshold; and determining a representation of the pet's nose feature in the at least one image according to the quality metric meeting a second threshold. EMBODIMENT 2 2. The method of embodiment 1, wherein the step of identifying the pet's nose and nostrils in the at least one image comprises utilizing a machine learning algorithm. EMBODIMENT 3 3. The method of claim 1 or 2, wherein the step of comparing the degree of alignment of the nostrils to a first threshold comprises determining a horizontal alignment of the nostrils by determining a vertical offset between the nostrils. EMBODIMENT 4 4. The method of any one of claims 1 to 3, wherein the first threshold is 30 degrees. EMBODIMENT 5 The method of any one of claims 1 to 4, further comprising comparing dimensions of one nostril with those of the other nostril prior to the step of determining a representation of the pet's nasal features in the at least one image. EMBODIMENT 6 6. The method of claim 1, wherein the quality metric is a blur metric. EMBODIMENT 7 7. The method of embodiment 6, wherein the blur metric is determined using singular value decomposition. EMBODIMENT 8 8. The method of any one of claims 1 to 7, wherein the representation of the pet's nose features is determined by a local binary pattern histogramming algorithm. EMBODIMENT 9 The method of any one of the preceding claims, further comprising identifying the pet by comparing said representation of the pet's nasal features to a plurality of stored representations of the pet's nasal features corresponding to stored pet identification criteria. EMBODIMENT 10 A system including one or more processors, a storage device, and one or more programs stored in the storage device, the programs including various instructions to be executed by the one or more processors, receiving at least one image including the pet's nose; identifying the pet's nose and nostrils in the at least one image; comparing the degree of alignment of the nostrils to a first threshold; determining a quality metric of at least a portion of the nose of the image in response to the degree of alignment of the nostrils meeting the threshold; determining a representation of the pet's nose feature in the at least one image according to a quality metric meeting a second threshold. EMBODIMENT 11 11. The system of embodiment 10, wherein the step of identifying the pet's nose and nostrils in the at least one image includes utilizing a machine learning algorithm. EMBODIMENT 12 The system of embodiment 10 or embodiment 11, wherein the step of comparing the degree of alignment of the nostrils with a first threshold includes determining the horizontal alignment of the nostrils by determining the vertical offset between the nostrils. EMBODIMENT 13 The system of any one of embodiments 10 to 12, wherein the first threshold is 30°. EMBODIMENT 14 The system of any one of embodiments 10 to 13, wherein the one or more programs further include various other instructions to perform a step of comparing the dimensions of one nostril with those of the other nostril prior to the step of determining a representation of the pet's nasal features in at least one image. EMBODIMENT 15 A system described in any one of embodiments 10 to 14, wherein the quality metric is a blur metric. EMBODIMENT 16 16. The system of embodiment 15, wherein the blur metric is determined using singular value decomposition. EMBODIMENT 17 The system of any one of claims 10 to 16, wherein the representation of the pet's nose features is determined by a local binary pattern histogramming algorithm. EMBODIMENT 18 The system of any one of embodiments 10 to 17, wherein the one or more programs further include various other instructions to perform a step of identifying the pet by comparing the representation of the pet's nasal features with a plurality of stored representations of the pet's nasal features corresponding to stored pet identification conditions. EMBODIMENT 19 A computer readable non-transitory storage medium storing one or more programs for executing on one or more processors to implement the method of any one of embodiments 1 to 9. [Explanation of symbols]

[0049] 100 How to Identify Pets 600 System for pet identification 602 Portable Devices 604 Server 606 Network 608 Database 700 Computer system 710 Processing device 720 Input Device 730 Output Device 740 Storage device 750 Software 760 Communication Equipment

Claims

1. A method for identifying a pet by an image of the pet's nose in a computer system, comprising: receiving at least one image including the pet's nose; identifying the pet's nose and nostrils in the at least one image; comparing the degree of alignment of the nostrils to a first threshold; determining a quality metric of at least a portion of the nose in the image in response to the degree of alignment of the nostrils meeting the first threshold; determining a representation of a nose feature of the pet in the at least one image according to the quality metric meeting a second threshold; The method includes rejecting the received image of the pet's nose if the difference in size between the nostrils is not within a predetermined threshold difference in size, and receiving an image containing a different pet's nose.

2. The method of claim 1 , wherein the step of identifying the pet's nose and nostrils in the at least one image comprises utilizing a machine learning algorithm.

3. 3. The method of claim 1 or claim 2, wherein the step of comparing the degree of alignment of the nostrils to a first threshold comprises determining a horizontal alignment of the nostrils by determining a vertical offset between the nostrils.

4. The method according to claim 1 , wherein the first threshold value is 30°.

5. 5. The method of claim 1, further comprising comparing the dimensions of one nostril with that of the other nostril prior to the step of determining a representation of the pet's nasal features in the at least one image.

6. The method of claim 1 , wherein the quality metric is a blur metric.

7. The method of claim 6 , wherein the blur metric is determined using a singular value decomposition.

8. The method according to any one of claims 1 to 7, wherein the representation of the pet's nose features is determined by a local binary pattern histogramming algorithm.

9. 9. The method of claim 1, further comprising identifying the pet by comparing the representation of the pet's nasal features to a plurality of stored representations of the pet's nasal features corresponding to stored pet identification criteria.

10. A system including one or more processors, a storage device, and one or more programs stored in the storage device, the programs including various instructions to be executed by the one or more processors, receiving at least one image including the pet's nose; identifying the pet's nose and nostrils in the at least one image; comparing the degree of alignment of the nostrils to a first threshold; determining a quality metric of at least a portion of the nose in the image in response to the degree of alignment of the nostrils meeting the first threshold; determining a representation of the pet's nose feature in the at least one image according to a quality metric meeting a second threshold; The system rejects the received image of the pet's nose if the difference in size between the nostrils is not within a predetermined threshold difference in size and receives an image containing a different pet's nose.

11. The system of claim 10 , wherein the step of identifying the pet's nose and nostrils in the at least one image comprises utilizing a machine learning algorithm.

12. 12. The system of claim 10 or claim 11, wherein the step of comparing the degree of alignment of the nostrils to a first threshold comprises determining a horizontal alignment of the nostrils by determining a vertical offset between the nostrils.

13. 13. The system of claim 10, wherein the first threshold is 30 degrees.

14. The system of any one of claims 10 to 13, wherein the one or more programs further include various instructions to perform a step of comparing the dimensions of one nostril to that of the other nostril prior to the step of determining a representation of the pet's nasal features in the at least one image.

15. The system of claim 10 , wherein the quality metric is a blur metric.

16. The system of claim 15 , wherein the blur metric is determined utilizing a singular value decomposition.

17. 17. The system of claim 10, wherein the representation of a pet's nose features is determined by a local binary pattern histogramming algorithm.

18. The system of any one of claims 10 to 17, wherein the one or more programs further include various other instructions to perform a step of identifying the pet by comparing the representation of the pet's nasal features with a plurality of stored representations of the pet's nasal features corresponding to stored pet identification conditions.

19. A non-transitory computer readable storage medium having stored thereon one or more programs for causing one or more processors to execute the method of any one of claims 1 to 9.

Citation Information

Patent Citations

  • Dog identification method, device and system and storage medium

    CN109543663A

  • Face recognition apparatus

    JP2006202049A

  • Filtering processor, and filtering processing method

    JP2010062956A

  • Apparatus and method for individual animal recognition using snouts of animals

    JP2016519941A

  • Method for implementing animal nose pattern biometric identification system on mobile devices

    US20190297252A1