Systems, methods and devices for dental pathology detection of x-ray images in veterinary ecosystems
By analyzing pet dental X-ray images and using machine learning models to detect and identify teeth, the problem of difficult to quickly and accurately detect pet dental pathology in the existing technology is solved, and rapid and accurate dental pathology detection is achieved, reducing animal health risks and Improved diagnostic efficiency.
Patent Information
- Application Number
- CN202380047749.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-17
- Filing Date
- 2023-06-16
- Publication Date
- 2025-02-18
AI Technical Summary
The prior art is difficult to detect pet dental pathology quickly and accurately, especially when capturing multi-angle X-ray images under multiple rounds of general anesthesia, which increases the health risks of animals and the inefficiency of diagnostic efficiency.
By analyzing dental X-ray images of pets, using machine learning models to detect teeth, identify teeth numbers, and determine whether the teeth are healthy or have pathological conditions, generating reports to display the test results.
This method can quickly analyze dental X-ray images, reduce the need for additional general anesthesia, reduce animal health risks, improve diagnostic efficiency, and provide accurate dental pathological test results.
Smart Images

Figure CN119487543A_ABST
Abstract
Description
[0001] priority
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 353,341, filed on June 17, 2022, under 35 U.S.C. 119(e), which is incorporated herein by reference. Technical Field
[0003] Embodiments described in the present disclosure relate to dental pathology detection for pets.For example, some non-limiting embodiments relate to analyzing dental X-ray images to help detect dental pathology for pets. Background Art
[0004] Veterinary dentistry is the area of dentistry applied to the care of animals. It is the art and science of preventing, diagnosing, and treating conditions, diseases, and disorders of the oral, maxillofacial, and related structures of animals.
[0005] Machine learning (ML) is a field of study dedicated to understanding and building methods for "learning", i.e. methods for using data to improve performance on some set of tasks. It is considered part of artificial intelligence. Machine learning algorithms build models based on sample data (called training data) in order to make predictions or decisions without being explicitly programmed. Machine learning algorithms are used in a variety of applications, such as medicine, email filtering, speech recognition, and computer vision, where it is difficult or infeasible to develop traditional algorithms to perform the required tasks. Summary of the invention
[0006] The purposes and advantages of the disclosed subject matter will be set forth in the following description and will be apparent from the following description, and will also be understood from the practice of the disclosed subject matter. Additional advantages of the disclosed subject matter will be realized and obtained through the methods and systems particularly pointed out in its written description and claims and the accompanying drawings.
[0007] To achieve these and other advantages, and in accordance with the purposes of the disclosed subject matter, as embodied and broadly described, the disclosed subject matter presents systems, methods, and apparatus that can be used to collect, receive, and / or analyze data. For example, certain non-limiting embodiments can be used to analyze dental pathology of pets.
[0008] In certain non-limiting embodiments, the present disclosure describes a method for analyzing a dental image (e.g., an X-ray) of a pet and determining dental pathology of the pet accordingly. The method includes detecting the pet's teeth based on an X-ray image of the pet's mouth and numbering each detected tooth based on the Triadan system. In addition, the method includes determining whether each detected tooth is healthy or has any dental problems. The method also includes generating a report displaying relevant information about the detected dental pathology of the pet.
[0009] In certain non-limiting embodiments, one or more computing systems may access a first image that depicts an oral cavity associated with an animal. The computing system may then detect a plurality of teeth associated with the animal based on the first image based on one or more machine learning models. The computing system may then identify each detected tooth based on a numbering scheme based on the one or more machine learning models. In certain non-limiting embodiments, the computing system may also determine whether each identified tooth is healthy or has any dental pathology based on the one or more machine learning models. In addition, the computing system may locate each tooth with any pathology based on the numbering scheme. In certain non-limiting embodiments, the computing system may then generate a first report that includes the location of each tooth with any pathology.
[0010] In certain non-limiting embodiments, one or more computer-readable non-transitory storage media containing software, when executed, are operable to access a first image depicting an oral cavity associated with an animal. The computer-readable non-transitory storage medium containing software, when executed, is further operable to detect a plurality of teeth associated with the animal from the first image based on one or more machine learning models. The computer-readable non-transitory storage medium containing software, when executed, is further operable to identify each detected tooth based on a numbering scheme based on one or more machine learning models. In certain non-limiting embodiments, the computer-readable non-transitory storage medium containing software, when executed, is further operable to determine whether each identified tooth is healthy or has any dental pathology based on one or more machine learning models. The computer-readable non-transitory storage medium containing software, when executed, is further operable to locate each tooth having any pathology based on a numbering scheme. The computer-readable non-transitory storage medium containing software, when executed, is further operable to generate a first report including the location of each tooth having any pathology.
[0011] In certain non-limiting embodiments, the system may include one or more processors and a non-transitory memory connected to the processor, the non-transitory memory containing instructions executable by the processor. When executing the instructions, the processor may be operable to access a first image depicting an oral cavity associated with an animal. When executing the instructions, the processor may be further operable to detect a plurality of teeth associated with the animal from the first image based on one or more machine learning models. When executing the instructions, the processor may be further operable to identify each detected tooth based on a numbering scheme based on the one or more machine learning models. When executing the instructions, the processor may be further operable to determine whether each identified tooth is healthy or has any dental pathology based on the one or more machine learning models. When executing the instructions, the processor may be further operable to locate each tooth having any pathology based on the numbering scheme. When executing the instructions, the processor may be further operable to generate a first report including the location of each tooth having any pathology.
[0012] Furthermore, embodiments of the disclosed methods, computer-readable non-transitory storage media, and systems may have other non-limiting features as described below.
[0013] In certain non-limiting embodiments, the first image may include an X-ray image.The first image may be in PNG format or DICOM format.
[0014] In certain non-limiting embodiments, the computing system may determine a quadrant of the first image based on the numbering scheme. The computing system may determine a view of the first image based on whether a combination of quadrants is present. In some embodiments, the view may include a side view or an occlusal view.
[0015] In some non-limiting embodiments, detecting multiple teeth may include determining multiple frame coordinates of all possible teeth on the first image, and calculating a probability score for each possible tooth based on the frame coordinates. In some embodiments, the probability score may indicate the likelihood that the corresponding possible tooth is a tooth.
[0016] In certain non-limiting embodiments, the computing system may segment the plurality of detected teeth based on one or more machine learning models. In some embodiments, the segmentation may include generating a tooth boundary and a mask tooth without background for each of the plurality of detected teeth.
[0017] In certain non-limiting embodiments, the numbering scheme may be based on the Triadan system.
[0018] In certain non-limiting embodiments, identifying each detected tooth may be based on contextual information associated with each detected tooth.
[0019] In certain non-limiting embodiments, the one or more machine learning models may include a first machine learning model configured to identify maxillary teeth and a second machine learning model configured to identify mandibular teeth.
[0020] In certain non-limiting embodiments, the computing system may determine, for each located tooth, one or more pathologies associated with the tooth.The computing system may then determine a grading level for at least one of the one or more pathologies associated with each tooth.
[0021] In certain non-limiting embodiments, the computing system may determine, based on one or more machine learning models, that the first image contains diagnostic information associated with detection of a dental pathology. In some embodiments, the diagnostic information may be based on one or more tooth structures. In one feature, the one or more tooth structures may be associated with a particular quadrant. In another feature, the one or more tooth structures may be associated with a particular dental pathology.
[0022] In certain non-limiting embodiments, the computing system may determine that the first image requires alignment based on one or more machine learning models. The computing system may also determine an angle to rotate the first image to achieve the desired alignment based on one or more machine learning models. The computing system may also rotate the first image by the determined angle based on one or more machine learning models.
[0023] In certain non-limiting embodiments, the computing system may receive, at a cloud computing system, a plurality of second images depicting an oral cavity associated with an animal. The computing system may also process the plurality of second images in a parallel manner. In some embodiments, processing each of the plurality of second images may include using one or more machine learning models in a parallel manner to detect a plurality of teeth associated with the animal based on each second image, identifying each detected tooth based on a numbering scheme, determining whether each identified tooth is healthy or has any dental pathology, and locating each tooth with any pathology based on the numbering scheme. In one feature, processing the plurality of second images in a parallel manner may be based on logic generated based on one or more finite state machines. The computing system may also generate a second report based on the first report and the processing results of the plurality of second images.
[0024] It is to be understood that both the foregoing general description and the following detailed description are exemplary, and are intended to provide further explanation of the disclosed subject matter as claimed. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The foregoing and other objects, features and advantages of the present disclosure will become apparent from the following description of the embodiments shown in the accompanying drawings, wherein reference numerals refer to the same parts in the various views. The accompanying drawings are not necessarily drawn to scale, emphasis instead being placed upon illustrating the principles of the present disclosure:
[0026] Figure 1 Example challenges faced in using artificial intelligence (AI) for pet dentistry are shown.
[0027] Figure 2 An example clustering process for increasing the size of tooth recognition data according to an embodiment of the present disclosure is shown.
[0028] Figure 3A-3B An example flow chart for detecting dental pathology in a pet is shown.
[0029] Figure 4 An example comparison between diagnostic and non-diagnostic images is shown.
[0030] Figure 5 Another example comparison between diagnostic and non-diagnostic images is shown.
[0031] Figure 6 An example diagnostic image showing apical periodontitis prediction.
[0032] Figure 7 An example quadrant based on the Triadan system is shown.
[0033] Figure 8 An example tooth segmentation is shown.
[0034] Fig. 9 Example tooth recognition taking into account context understanding is shown.
[0035] Fig.10 An example test experiment evaluating tooth recognition is shown.
[0036] Fig.11 Example contextual understanding of bone loss detection is shown.
[0037] Fig.12 An example decoder attention map is shown.
[0038] Fig.13A A text description of the report is shown.
[0039] Fig. 13B An example evaluation image is shown.
[0040] Fig.14 An example flow chart for processing multiple dental X-ray images in parallel in a cloud computing system is shown.
[0041] Fig.15 An example flow diagram of a stateful orchestration is shown.
[0042] Fig.16 An example method of detecting dental pathology is shown.
[0043] Fig.17 An example computer system is shown. DETAILED DESCRIPTION
[0044] The present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, which form a part of the present disclosure and illustrate certain example embodiments by way of illustration. However, the subject matter may be embodied in a variety of different forms, and therefore, the subject matter covered or claimed is intended to be understood as not being limited to any example embodiment described herein; the example embodiments are provided for illustration only. Likewise, it is intended to provide a reasonably broad scope for the subject matter claimed or covered. For example, among other things, the subject matter may be embodied as a method, device, component, and / or system. Thus, the embodiments may, for example, take the form of hardware, software, firmware, or any combination thereof (except the software itself). Therefore, the following specific embodiments are not intended to be limiting.
[0045] The present disclosure provides systems, methods and / or devices that can analyze dental pathology in pets. The subject matter of the present disclosure addresses needs associated with assessing the dental health of pets. The present disclosure proposes a new framework for locating, identifying and grading dental pathology in canines and felines based on X-ray images. Images are extracted from DICOM files and processed through a multi-stage algorithm. Specifically, a series of deep learning-based models use global context to locate teeth and identify them according to the Triadan system. The images are then sent to multiple models to detect dental pathology. By way of example and not limitation, such dental pathologies include periodontal and endodontic diseases, such as bone loss, apical periodontitis, inflammatory root resorption, crown fractures, and the like.
[0046] In the detailed description of the present invention, references to "an embodiment", "one embodiment", "a non-limiting embodiment", "in various embodiments", etc. indicate that the described embodiment may include specific features, structures, or characteristics, but each embodiment may not necessarily include the specific features, structures, or characteristics. In addition, such phrases do not necessarily refer to the same embodiment. In addition, when a specific feature, structure, or characteristic is described in conjunction with an embodiment, it is considered that whether or not explicitly described, a person skilled in the art knows that such feature, structure, or characteristic is affected in conjunction with other embodiments. After reading this description, a person skilled in the relevant art will be very clear about how to implement the present disclosure in alternative embodiments.
[0047] Typically, terms can be understood at least in part according to the usage in the context. For example, the terms "and", "or" or "and / or" used herein can include various meanings, which can depend at least in part on the context in which such terms are used. Typically, if "or" is used in an association list, such as A, B or C, it is intended to represent A, B and C (herein used in an inclusive sense) and A, B or C (herein used in an exclusive sense). In addition, the term "one or more" used herein depends at least in part on the context and can be used to describe any feature, structure or characteristic in a singular sense, or can be used to describe a combination of features, structures or characteristics in a plural sense. Similarly, terms such as "a", "an" or "the" can also be understood to express singular usage or plural usage, which depends at least in part on the context. In addition, the term "based on" can be understood to not necessarily be intended to express a set of exclusive factors, on the contrary, it can allow the presence of additional factors that are not necessarily explicitly described, which also depends at least in part on the context. As used herein, the words "may" and "can" are used in a permissive sense (i.e., meaning having the potential to do so) rather than a mandatory sense (i.e., meaning must). Similarly, the words "include," "including," and "includes" mean including but not limited to.
[0048] As used herein, the terms "comprises," "comprising," or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
[0049] The term "animal" or "pet" as used in accordance with the present disclosure may refer to domestic animals, including domestic dogs, domestic cats, horses, cattle, ferrets, rabbits, pigs, rats, mice, gerbils, hamsters, goats, etc. Domestic dogs and cats are specific non-limiting examples of pets. The term "animal" or "pet" as used in accordance with the present disclosure may also refer to wild animals, including but not limited to bison, elk, deer, wild deer, ducks, poultry, fish, etc.
[0050] The term "pet owner" may include any individual, organization, and / or group that owns a pet and / or is responsible for any aspect of pet care. For example, "pet owners" may include pet caregivers, pet caregivers, researchers, veterinarians, veterinary technicians, and / or other parties.
[0051] As used herein, a "training data set" may include one or more images or videos and associated data to train a machine learning model. Each training data set may include one or more training images of data and corresponding outputs associated with the image. The training data set may include one or more images or videos of a pet's mouth. The training data set may be collected via one or more client devices (e.g., crowdsourcing) or from other sources (e.g., databases). In certain non-limiting embodiments, a training data set for a pet dental assessment may include data from a treatment group and a control group.
[0052] The following block diagrams and operating instructions with reference to methods, processes, equipment and devices describe certain non-limiting embodiments. It should be understood that each block of the block diagram or operating instructions and the combination of the blocks in the block diagram or operating instructions can be implemented by analog or digital hardware and computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer to change its function (as described herein), a special-purpose computer, an ASIC or other programmable data processing device, so that the instructions executed by the processor of the computer or other programmable data processing devices implement the function / action specified in the block diagram or one or more operating blocks. In some alternative embodiments, the function / action shown in the block may not be performed in the order shown in the operating instructions. For example, two blocks displayed continuously can actually be performed substantially simultaneously, or sometimes can be performed in reverse order, depending on the function / action involved.
[0053] These computer program instructions can be provided to the following processors: a general-purpose computer to change its functionality to a special purpose; a special-purpose computer; an ASIC; or other programmable digital data processing device, so that the instructions executed by the processor of the computer or other programmable data processing device implement the functions / actions specified in the block diagram or operation block, thereby converting its functions according to the embodiments in this document.
[0054] In some non-limiting embodiments, a computer-readable medium (or computer-readable storage medium / media) stores computer data in a machine-readable form, which data may include computer program code (or computer-executable instructions) that can be executed by a computer. As an example and not limitation, a computer-readable medium may include a computer-readable storage medium for tangible or fixed storage of data, or a communication medium for instantaneous interpretation of a code signal. As used herein, a computer-readable storage medium refers to physical or tangible storage (as opposed to a signal), including but not limited to volatile and non-volatile, removable and non-removable media for tangible storage of information (e.g., computer-readable instructions, data structures, program modules, or other data) implemented in any method or technology. Computer-readable storage media include but are not limited to RAM, ROM, EPROM, EEPROM, flash memory or other solid-state memory technology, CD-ROM, DVD or other optical storage, cassettes, tapes, disk storage or other magnetic storage devices, or any other physical or material medium that can be used to tangibly store the required information or data or instructions and can be accessed by a computer or processor.
[0055] Unlike humans, dental x-rays of animals should be taken under general anesthesia. Examining the teeth of animals is also difficult due to the arrangement of their muzzles and teeth. With humans, dentists can look for landmarks to understand / identify problem teeth. However, with animals, this is a more difficult problem because the muzzle shapes vary between species, and landmarks are not necessarily well established.
[0056] Figure 1 1. Example challenges of using artificial intelligence (AI) for pet dentistry are shown. As can be seen, these challenges include, but are not limited to, similar shapes 110 between teeth, missing teeth 120, overexposure or overlap 130, different views of the same tooth 140, and complex annotations 150.
[0057] After taking the first X-ray, the dentist may realize some time later that additional images are needed due to the challenges described above (e.g., additional films with different positioning or angles). In these cases, the animal may need to be given an additional round of anesthesia to capture the additional images. Additional rounds of anesthesia may increase certain health risks to the animal. Systems and methods consistent with the present disclosure can analyze dental X-ray films more quickly, thereby significantly reducing the necessity for additional rounds of general anesthesia. This approach reduces the risks associated with multiple rounds of general anesthesia, increases the efficiency of the final diagnosis, and results in a better experience for thousands of animals and their owners each month.
[0058] High-quality training data is conducive to training robust machine learning models. Therefore, data can be collected and used to train a machine learning model for detecting dental pathology. In a particular embodiment, data collection can be organized to support three different subtasks that the machine learning model needs to perform. One subtask can be quadrant and view classification, in which the machine learning model determines the region of the mouth to which the image belongs, and whether it is a side view or an occlusal view. Another subtask can be tooth detection, in which the machine learning model locates and provides the coordinates of all teeth on the image. Another subtask can be tooth identification, in which the machine learning model assigns tooth numbers to the detected teeth according to the Triadan system. The Triadan system provides a consistent tooth numbering method for different animal species. The first digit of the modified Triadan system indicates the quadrant. The second and third digits indicate the tooth position within the quadrant, and the sequence always starts from the midline. Another subtask can be disease detection, in which the machine learning model detects the pathology of each identified tooth. Data sampling and annotation for subtasks can be performed independently.
[0059] To collect the quadrant and view classification data, a board-certified veterinary dentist evaluated the images and annotated the quadrant and X-ray view (lateral or occlusal) for 2511 images. The images were classified into 14 possible full-mouth radiograph categories based on different film positions and beam angles. The exact classification of the data is shown in Table 1.
[0060]
[0061]
[0062] Table 1: Radiograph quadrant and view classification data.
[0063] The images were extracted from DICOM files and downscaled to 948×676 pixels because it represents a good balance of feature representation and graphics processing unit (GPU) memory. The images contain data from different sources, including 48,815 images from the first source and 9,086 images from the second source. In addition to annotated images for quadrant detection and view classification, there are also manually annotated images for bone loss detection. Systems and methods consistent with embodiments of the present disclosure can use natural language processing (NLP) to extract from dental reports and utilize them to bring more data.
[0064] Figure 2An example clustering process 200 for increasing the size of tooth recognition data according to an embodiment of the present disclosure is shown. After collecting and annotating images, if the manually annotated data set is too small, the images can be clustered to increase the size of the data set. As an example and not limitation, clustering can include generating image embeddings (features) and performing principal component analysis (PCA) and clustering using k-means (K-Means) (clustering algorithm). Figure 2 As shown, at step 210, the computing system may detect teeth from an image. At step 220, the computing system may extract each tooth that has been detected. At step 230, the computing system may create a batch of tooth images. At step 240, the computing system may extract the most important features from the batch of tooth images. At step 250, the computing system may run a clustering algorithm. Although the present disclosure describes clustering tooth recognition data to increase its size, the present disclosure contemplates clustering any suitable data (e.g., tooth detection data, disease detection data, and data from dental reports) to increase its size.
[0065] Figure 3A-3B An example flow chart 300 for detecting dental pathology in a pet is shown. Figure 3A As shown, at step 310, the computing system may retrieve study data, such as an X-ray image from a study. The computing system may perform some image preprocessing at this step. In certain embodiments, but not limited to, the preprocessing may include removing non-dental images. In certain embodiments, the preprocessing may include detecting and removing non-diagnostic images. The computing system may train a machine learning model for detecting non-diagnostic images based on training data including diagnostic images and non-diagnostic images. The computing system may then detect non-diagnostic images using such trained machine learning model. In certain embodiments, non-diagnostic images may not include important structures for effectively detecting dental pathology. By way of example and not limitation, if the computing system cannot identify which quadrant (e.g., top or bottom) an X-ray image is from, such an X-ray image may be determined to be a non-diagnostic image. Figure 4 An example comparison between a diagnostic image and a non-diagnostic image is shown. As shown, image 410 depicts the gum line, indicating that this is an image of the floor of the mouth, which is important for detecting bone loss. Therefore, image 410 can be determined to be a diagnostic image. However, image 420 does not depict the gum line, so the computing system cannot determine whether the image is associated with the roof or floor of the mouth. Therefore, image 420 can be detected as a non-diagnostic image.
[0066] By way of example and not limitation, an X-ray image may be determined to be non-diagnostic if such an X-ray image does not contain the structure upon which the finding was based. Figure 5Another example comparison between a diagnostic image and a non-diagnostic image is shown. As shown, image 510 depicts bone lines, which are important for assessing bone loss. Therefore, image 510 can be determined to be a diagnostic image. In contrast, image 520 only covers the crown of the tooth, so the computing system has no basis for understanding bone loss. Therefore, image 520 can be determined to be a non-diagnostic image. Figure 6 An example diagnostic image for apical periodontitis prediction is shown. Image 610 shows a complete image of teeth with regions surrounding the roots of teeth (e.g., tooth 612 and tooth 614). To detect apical periodontitis, the computing system may need to analyze root region 616. Because image 610 contains such important structures, it may be determined to be a diagnostic image. However, if an x-ray image does not contain the root region illustrated in image 610, such image is considered a non-diagnostic image.
[0067] Replay Figure 3A , in step 320, the computing system can perform image rotation and alignment using the rotation model. In other words, the computing system can find the best alignment and rotate the image accordingly. In a particular embodiment, the computing system can rotate the image by 0 degrees (which means that the image is well aligned), + / -90 degrees, or 180 degrees according to certain standards of certain imaging machines. If the degree of deviation of the X-ray image is not among these four angles, the computing system can approximate the image to the target angle because it can be forced to read the image at a certain angle when training a machine learning model for pathology detection. In a particular embodiment, if the deviation of the X-ray image is between 0 and 90 degrees, the computing system can obtain reliable pathology detection accuracy. Although the present disclosure describes rotating a particular image by a particular angle, the present disclosure contemplates rotating any suitable image by any other suitable angle, for example, + / -10 degrees, + / -45 degrees, etc.
[0068] At step 330, the computing system may perform quadrant and view classification. In other words, the computing system may determine the X-ray view and quadrant. Determining the quadrant is important for reducing the complexity of the next stage machine learning model. Tooth representation depends on the image view, which means that the same tooth may look different depending on the beam angle and film position. Providing additional information about quadrants and views can help improve the robustness of detection once the machine learning model is trained for a specific task rather than including all views together. Since there is symmetry between the left and right parts of the mouth, the complexity of the model can be reduced and the reusability of the model can be achieved. In addition, the quadrant and view information can be related to clinical analysis, so providing detailed contextual information about X-ray imaging and tooth positioning can help dentists interpret model results. Due to the high granularity of the annotated data, similar image views can be grouped together to increase the amount of data for each category and reduce the total number of categories, improving accuracy. Table 2 lists example combined quadrant and view training data.
[0069]
[0070]
[0071] Table 2: Combined quadrant and view training data.
[0072] In certain embodiments, the deep learning model can be trained by fine-tuning pre-trained weights that determine the quadrant and view of a specific X-ray image, as described in the Triadan system. As an example and not limitation, the deep learning model can be based on the Resnet101 architecture, using the dataset described in Table 1 and the 6 combined categories described in Table 2. As another example and not limitation, the pre-trained weights can be determined based on the ImageNet dataset. In certain embodiments, the ADAM optimizer and a learning rate of 3e can be used. -4 The cross entropy loss is used to train the deep learning model. Combining the above categories can improve the classification effect and reach an F1 score of about 96%. Figure 7 An example quadrant based on the Triadan system is shown. The quadrant is determined by a number from 1 to 4 as the first element of the Triadan system. The view is determined based on whether there is a quadrant component. For example, if the model result is 1, it is a lateral view, and the image is from the first quadrant. However, if the model result is 1-2, it is an occlusal view, and the image has parts of the first and second quadrants.
[0073] Replay Figure 3A, at step 340, the computing system may perform tooth detection. In a particular embodiment, the computing system may process the image by applying a deep learning model (e.g., a neural network) to detect all teeth on the image. By way of example and not limitation, the deep learning model may be based on a Faster-RCNN architecture with a Resnet101 backend, which may be trained using pre-trained weights. The pre-trained weights may be determined based on an ImageNet dataset. The deep learning model may determine the box coordinates of all possible teeth on the image and provide a probability score that the detection result is a tooth.
[0074] exist Figure 3B In step 350, the computing system may perform tooth segmentation. In certain embodiments, tooth detection may use an additional model for application instance segmentation, such as a neural network, to detect tooth boundaries for detected teeth. By way of example and not limitation, the model may be a deep learning model that may be based on a MaskRCNN architecture using a ResNet101 architecture as a backend. In certain embodiments, the deep learning model may be trained using pre-trained weights. By way of example and not limitation, the pre-trained weights may be determined based on an ImageNet dataset. Given an X-ray image, the model may determine the same information as the tooth detection stage, but with the addition of true tooth boundaries and mask teeth without background. Figure 8 An example tooth segmentation is shown. As shown, the computing system can segment the teeth by generating boundaries (boundary 810, boundary 820, boundary 830, boundary 840, boundary 850, and boundary 860) for each tooth. In addition, there is a bounding box, and each tooth is located within the bounding box.
[0075] exist Figure 3BIn step 360, the computing system can perform tooth recognition by looking up the tooth number using, for example, a sequence-to-sequence (seq2seq) model that takes context into account. After determining the teeth on the image, the computing system can solve tooth recognition, which can include numbering the teeth of, for example, cats and dogs according to the Triadan system. In a specific embodiment, a series of deep learning models can be based on a transformer architecture with a Resnet50 backend and a DETR framework, and trained using pre-trained Resnet weights for tooth recognition. As an example and not a limitation, the pre-trained Resnet weights can be determined based on the ImageNet dataset. In a specific embodiment, based on these models, the computing system can learn to use global context to help with tooth numbering, simulating the way humans analyze X-rays. It can significantly improve the quality of the results, especially in the case of missing teeth, deciduous teeth, and some other anomalies. Due to the symmetry of the oral cavity, there can be two models for tooth recognition, one for the top (maxilla) and the other for the mandible, because the characteristics of the teeth vary depending on the part of the mouth to which they belong.
[0076] Fig. 9 An example tooth recognition taking into account context understanding is shown. In a particular embodiment, context understanding 910 may include obtaining more information about the context associated with each tooth. As an example and not limitation, the context may include the relative size of the teeth. The context may be fed into a deep learning model 920 along with an X-ray image 930 for tooth recognition. A backbone network 922 may generate a set of image features for the context based on one or more convolutional neural networks (CNNs) and position encoding (i.e., encoding the position information of each tooth). The output from the backbone network 922 may then be processed by an encoder 924 (e.g., a transformer encoder). The output from the encoder 924 may then be processed by a decoder 926 (e.g., a transformer decoder) based on an object query. The output from the decoder 926 may then be used to determine a prediction head 928. As an example and not limitation, the prediction head 928 may be determined based on multiple feedforward neural networks (FFNs), each of which outputs a category box or "no object". Through context understanding, the deep learning model may more efficiently complete tooth recognition.
[0077] Fig.10 An example test experiment evaluating tooth recognition is shown. Fig.10X-ray images are shown in which one or more teeth are artificially removed to demonstrate the model's ability to determine tooth identification even when one or more teeth are missing. For example, image 1010 shows that the model can effectively identify missing tooth 106. For another example, image 1020 shows that the model can effectively identify missing tooth 107. For another example, image 1030 shows that the model can effectively identify missing tooth 108. For another example, image 1040 shows that the model can effectively identify missing tooth 109. For another example, image 1050 shows that the model can effectively identify missing teeth 106 and 108. For another example, image 1060 shows that the model can effectively identify missing teeth 107 and 108. For another example, image 1070 shows that the model can effectively identify missing teeth 106 and 107.
[0078] Watch again Figure 3B , the computing system can then determine the findings in step 370. Specifically, the computing system can find problems tooth by tooth. In a particular embodiment, the computing system can determine whether the teeth are healthy or whether there is any pathology. In a particular embodiment, a series of deep learning models can be based on the transformers architecture with a Resnet50 backend and a DETR framework, and trained using pre-trained Resnet weights for dental pathology detection. By way of example and not limitation, the pre-trained Resnet weights can be determined based on the ImageNet dataset. In a particular embodiment, the computing system can determine different forms of pathology. By way of example and not limitation, the form includes one or more of pulp disease, periodontal disease, tooth resorption, tooth fracture, or any other suitable dental disease.
[0079] For periodontal disease, bone loss detection is a use case. Due to oral symmetry, there can be two models for bone loss detection, one for the roof (maxilla) and one for the mandible, as the characteristics of the teeth vary depending on the part of the mouth they belong to. In certain embodiments, the model can determine multiple levels of bone loss. By way of example and not limitation, the levels can include <25%, 25-50%, >50%, and no evidence of periodontal disease. In certain embodiments, contextual understanding can similarly be used to improve bone loss detection. Fig.11 An example contextual understanding of bone loss detection is shown. For contextual understanding 1110, the computing system can identify normal bone line 1112 and current bone line 1114, which can help determine bone loss 1116. Fig.11 As shown in the bone loss detection 1120 in the figure, the computing system can further determine different levels of bone loss, for example, the bone loss of the left tooth 1122 is <25%, and the bone loss of the middle tooth 1124 and the right tooth 1126 are both >50%.
[0080] In certain embodiments, the computing system may provide model interpretability for one or more machine learning models for dental pathology detection. Fig.12 Example decoder attention maps are shown. The first row shows the decoder attention maps, while the bottom row shows the corresponding X-ray images. The decoder attention maps show the highest activations of the model. Fig.12 The output of the decoder stage of the deep learning model disclosed in this article is shown. Fig.12 , the most important regions (region 1210, region 1220, region 1230, region 1240, region 1250, and region 1260) that guided the deep learning model to produce results are summarized (and highlighted) in the image. Fig.12 The ability of the deep learning model to determine the most important features representing each tooth was demonstrated.
[0081] Look back Figure 3B The computing system may also create an automatic report based on the findings at step 380. The report may include information from the model as well as the tooth identification, quadrant, findings, and grade level of the dental problem. Figures 13A-13B An example report is shown. Fig.13A A text description of the report is shown. The text description includes clinical information 1310, patient information 1320, study information 1330, and AI findings 1340. For example, the patient information 1320 includes the species, breed, sex, and date of birth of the animal. As another example, the AI finding 1340 shows that for quadrant 1, tooth 101 (right maxillary first incisor) is missing, tooth 102 (right maxillary second incisor) has a horizontal bone loss of <25% with a probability of 88%, tooth 106 (right maxillary second premolar) has a horizontal bone loss of >50% with a probability of 92%, tooth 107 (right maxillary third premolar) has a horizontal bone loss of >50% with a probability of 99%, and the root margins are irregular, consistent with inflammatory root resorption with a probability of 85%. The AI finding 1340 also includes an assessment indicating that based on the intraoral radiographs, extraction of teeth 106 and 107 is recommended. Fig. 13B Example evaluation images are shown. In certain embodiments, the report may also include the evaluated dental images. As shown, top image 1350 focuses on teeth 204 and 207, while bottom image 1360 focuses on tooth 106.
[0082] In a particular embodiment, dental pathology detection can be performed in a cloud computing system. The cloud computing system can detect dental pathology for multiple studies, each study including multiple X-ray images (e.g., 30-40 images). In a particular embodiment, all images can be processed in parallel. As previously described, detecting dental pathology can be based on multiple machine learning models, such as rotation models, tooth detection models, tooth numbering models, etc. In a particular embodiment, each image can be processed in parallel by these multiple machine learning models. In a particular embodiment, the cloud computing system can wait for all images associated with the entire oral cavity to be processed before generating a report. In a particular embodiment, in order to aggregate the processed data, the cloud computing system can utilize different confidence measurements. The cloud computing system can determine how many images still need to be processed and when all images have been processed.
[0083] Fig.14 An example flow chart 1400 for processing multiple dental x-ray images in parallel in a cloud computing system is shown. At step 1405, an API may send a payload (e.g., JSON) including the x-ray data and a study identifier. When a veterinarian requests a view (e.g., an authorization token), a call may be initiated. An API 1410a associated with an environment 1410 for dental pathology detection may then send the payload to an HTTP trigger function 1415, which is part of a dental function application 1420. The HTTP trigger function 1415 may call a persistent orchestration module 1425 of the dental function application 1420. The persistent orchestration module 1425 may then call different models, such as image rotation 1430, segmentation 1435, and bone loss detection 1440. The results of these models may be returned to the persistent orchestration module 1425. The persistent orchestration module 1425 may then send the results to a storage serializer 1445 and a persistent entity 1450. Serializer 1445 may create incoming requests stored in binary large objects (BLOBs) 1455 and inference results stored in tables 1460. In certain embodiments, persistent orchestration module 1425 may perform report generation 1465 based on the results returned from the model. When the X-ray data is analyzed, the results may be sent back to API 1410a associated with environment 1410 along with a unique study identifier (e.g., an authorization token). Fig.14 As shown, a dental functional application 1420, an image rotation model 1430, a segmentation model 1435, a bone loss detection model 1440, a BLOB 1455, and a table 1460 may be hosted in an environment 1470 designated for dental pathology detection on a plurality of X-ray images from a plurality of studies.
[0084] As previously described, the cloud computing system can process multiple X-ray images in parallel using multiple models. In certain embodiments, the persistent orchestration module 1425 can generate logic to implement such parallel processing. As an example and not limitation, the logic can be based on one or more finite state machines. In certain embodiments, the cloud computing system can train the logic on what to do after receiving an image to create steps for parallel processing. As an example and not limitation, the persistent orchestration module 1425 can set a timer, such as 15 minutes. After detecting that there are no more images to be processed, the persistent orchestration module 1425 can wait for 15 minutes before generating a report. Once the image is received, the persistent orchestration module 1420 can start the timer and determine the timeout so that the cloud computing system does not wait forever for additional images. For example, if the cloud computing system receives 15 images (compared to the usual 30 to 40 images in research), the cloud computing system can send a partial report based on these 15 images after determining a 15-minute timeout. As another example and not limitation, the logic can include one or more "if...else..." commands. Based on this logic, the cloud computing system can effectively combine the processing of all X-ray images in a parallel manner.
[0085] Fig.15 An example flow chart 1500 of a stateful orchestration is shown. In certain embodiments, the cloud computing system may require confirmation from all studies. The cloud computing system may detect when new images arrive and concatenate them with the first set of images received. The cloud computing system may also download all images to prepare a complete report. In certain embodiments, the logic may be programmed to take into account all of the above steps. Fig.15 As shown, the cloud computing system may receive a dental pathology detection request for multiple studies 1502a-1502c, each study including multiple X-ray images 1504a-1504c. As an example and not limitation, study #2 (1502b) may include image 1504b. Image #1 of study #2 may be received at HTTP entry 1506. Then, HTTP entry 1506 may call a master orchestrator 1508. Master orchestrator 1508 may access an open source system 1512 via multiple endpoints 1510, which may automatically deploy, extend, and manage multiple models 1514a-1514c. Using these models 1514a-1514c, image #1 of study #2 may be processed. Master orchestrator 1508 may store the processing results in a BLOB table 1516. In a particular embodiment, master orchestrator 1508 may communicate with entity 1518, which includes information associated with remaining images, deadlines, timer flags, and the like. If there are no images remaining (ie, all X-ray images have been processed), a final report 1520 may be generated based on the BLOB table 1516 .
[0086] In certain embodiments, the master scheduler 1508 or entity 1518 may access a finite state machine for each image 1522. Within the finite state machine 1522, at step 1524, the logic directs to determine if all images have been processed. If all images have been processed, then at step 1526, the logic directs to create a report. If not all images have been processed, then at step 1528, the logic directs to determine if a timeout (e.g., 15 minutes) has been reached. If the timeout has been reached, then at step 1526, the logic directs to create a report. If the timeout has not been reached, then at step 1530, the logic directs to check if a timer is running. If the timer is running, then at step 1532, the logic directs to wait for additional images. If the timer is not running, then at step 1534, the logic directs to start the timer.
[0087] Fig.16 An example method 1600 for detecting dental pathology is shown. The method may begin at step 1610, where a computing system may access a first image depicting an oral cavity associated with an animal. At step 1620, the computing system may detect a plurality of teeth associated with the animal from the first image based on one or more machine learning models. At step 1630, the computing system may identify each detected tooth based on a numbering scheme based on the one or more machine learning models. At step 1640, the computing system may determine whether each identified tooth is healthy or has any dental pathology based on the one or more machine learning models. At step 1650, the computing system may locate each tooth having any pathology based on the numbering scheme. At step 1660, the computing system may generate a first report including the location of each tooth having any pathology. Particular embodiments may be repeated where appropriate. Fig.16 One or more steps of the method. Although the present disclosure describes and illustrates Fig.16 The specific steps of the method occur in a specific order, but the present disclosure contemplates Fig.16 Any suitable steps of the method may occur in any suitable order. In addition, although the present disclosure describes and illustrates methods including Fig.16 The present disclosure contemplates any suitable method for detecting dental pathology including any suitable steps, which may include, where appropriate, Fig.16 All, some, or none of the steps of the method. In addition, although the present disclosure describes and illustrates the execution Fig.16 specific components, devices or systems for performing specific steps of the method, but the present disclosure contemplates Fig.16 Any suitable combination of any suitable components, devices or systems of any suitable steps of the method.
[0088] For purposes of this disclosure, the terms "user," "subscriber," "consumer," or "client" should be understood to refer to a user of one or more of the applications described herein and / or a consumer of data provided by a data provider. By way of example and not limitation, the term "user" or "subscriber" may refer to a person who receives data provided by a data or service provider over the Internet in a browser session, or may refer to an automated software application that receives data and stores or processes the data.
[0089] Those skilled in the art will recognize that the methods and systems of the present disclosure can be implemented in a variety of ways and are therefore not limited to the foregoing exemplary embodiments and examples. In other words, the functional elements and individual functions performed by single or multiple components in various combinations of hardware and software or firmware can be distributed in software applications at the client level or the server level or both. In this regard, any number of features of the different embodiments described herein can be combined into a single or multiple embodiments, and alternative embodiments with less than or more than all the features described herein are possible.
[0090] Functionality may also be distributed in whole or in part among multiple components in ways now known or to be known in the future. Thus, a wide variety of software / hardware / firmware combinations may implement the functions, features, interfaces, and preferences described herein. Furthermore, as will now and hereafter be understood by those skilled in the art, the scope of the present disclosure encompasses conventionally known ways to perform the described features and functions and interfaces, as well as those variations and modifications that may be made to the hardware or software or firmware components described herein.
[0091] In addition, the embodiments of the methods presented and described as flow charts in the present disclosure are provided by way of example in order to provide a more comprehensive understanding of the present technology. The disclosed methods are not limited to the operations and logical flows presented herein. Alternative embodiments may be considered in which the order of the various operations is changed and in which sub-operations described as part of a larger operation are performed independently.
[0092] Although various embodiments have been described for the purposes of this disclosure, these embodiments should not be construed to limit the teachings of this disclosure to those embodiments. Various changes and modifications may be made to the above elements and operations to obtain results that are still within the scope of the systems and processes described in this disclosure.
[0093] Although the disclosed subject matter is described herein in terms of certain preferred embodiments, those skilled in the art will recognize that various modifications and improvements may be made to the disclosed subject matter without departing from the scope thereof. In addition, although various features of one non-limiting embodiment of the disclosed subject matter may be discussed herein or shown in the drawings of that non-limiting embodiment and not in other embodiments, it is apparent that various features of one non-limiting embodiment may be combined with one or more features of another embodiment or features from multiple embodiments.
[0094] Fig.17 An example computer system 1700 is shown. In particular embodiments, one or more computer systems 1700 perform one or more steps of one or more methods described or shown herein. In particular embodiments, one or more computer systems 1700 provide functionality described or shown herein. In particular embodiments, software running on one or more computer systems 1700 performs one or more steps of one or more methods described or shown herein or provides functionality described or shown herein. Particular embodiments include one or more portions of one or more computer systems 1700. Herein, reference to a computer system may include a computing device and vice versa, where appropriate. Furthermore, reference to a computer system may include one or more computer systems, where appropriate.
[0095] The present disclosure contemplates any suitable number of computer systems 1700. The present disclosure contemplates computer systems 1700 in any suitable physical form. By way of example and not limitation, computer system 1700 may be an embedded computer system, a system on a chip (SOC), a single board computer system (SBC) (e.g., a computer-on-module (COM) or a system-on-module (SOM)), a desktop computer system, a notebook or laptop computer system, an interactive kiosk, a mainframe computer, a computer system grid, a mobile phone, a personal digital assistant (PDA), a server, a tablet computer system, or a combination of two or more thereof. Where appropriate, computer system 1700 may include one or more computer systems 1700; it may be centralized or distributed; span multiple locations; span multiple machines; span multiple data centers; or exist in the cloud, which may include one or more cloud components in one or more networks. Where appropriate, one or more computer systems 1700 may perform one or more steps of one or more methods described or illustrated herein without substantial spatial or temporal limitations. As an example and not limitation, one or more computer systems 1700 may perform one or more steps of one or more methods described or shown herein in real time or in batch mode. Where appropriate, one or more computer systems 1700 may perform one or more steps of one or more methods described or shown herein at different times or at different locations.
[0096] In a particular embodiment, computer system 1700 includes processor 1702, memory 1704, storage 1706, input / output (I / O) interface 1708, communication interface 1710, and bus 1712. Although this disclosure describes and illustrates a particular computer system having particular numbers of particular components in a particular arrangement, this disclosure contemplates any suitable computer system having any suitable numbers of any suitable components in any suitable arrangement.
[0097] In a particular embodiment, the processor 1702 includes hardware for executing instructions (e.g., instructions that constitute a computer program). By way of example and not limitation, to execute instructions, the processor 1702 may retrieve (or fetch) instructions from an internal register, an internal cache, memory 1704, or storage 1706; decode and execute the instructions; and then write one or more results to an internal register, an internal cache, memory 1704, or storage 1706. In a particular embodiment, the processor 1702 may include one or more internal caches for data, instructions, or addresses. The present disclosure contemplates that the processor 1702 includes any suitable number of any suitable internal caches, where appropriate. By way of example and not limitation, the processor 1702 may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs). The instructions in the instruction cache may be copies of instructions in the memory 1704 or storage 1706, and the instruction cache may speed up the retrieval of these instructions by the processor 1702. The data in the data cache may be a copy of the data in the memory 1704 or storage 1706 for operation by instructions executed on the processor 1702; may be the result of a previous instruction executed at the processor 1702 for access or writing to the memory 1704 or storage 1706 by subsequent instructions executed on the processor 1702; or other suitable data. The data cache may speed up the read or write operation of the processor 1702. The TLB may speed up the virtual address translation of the processor 1702. In a particular embodiment, the processor 1702 may include one or more internal registers for data, instructions, or addresses. The present disclosure contemplates that the processor 1702 includes any suitable number of any suitable internal registers, where appropriate. Where appropriate, the processor 1702 may include one or more arithmetic logic units (Arithmetic Logic Unit, ALU); be a multi-core processor; or include one or more processors 1702. Although the present disclosure describes and illustrates a particular processor, the present disclosure contemplates any suitable processor.
[0098] In certain embodiments, memory 1704 includes main memory for storing instructions for processor 1702 to execute or data for processor 1702 to operate on. By way of example and not limitation, computer system 1700 may load instructions from storage 1706 or another source (e.g., another computer system 1700) to memory 1704. Processor 1702 may then load instructions from memory 1704 to an internal register or internal cache. To execute the instructions, processor 1702 may retrieve the instructions from the internal register or internal cache and decode them. During or after execution of the instructions, processor 1702 may write one or more results (which may be intermediate results or final results) to the internal register or internal cache. Processor 1702 may then write one or more of these results to memory 1704. In certain embodiments, processor 1702 executes only instructions in one or more internal registers or internal caches or memory 1704 (rather than storage 1706 or elsewhere), and operates only on data in one or more internal registers or internal caches or memory 1704 (rather than storage 1706 or elsewhere). One or more memory buses (each of which may include an address bus and a data bus) may couple the processor 1702 to the memory 1704. The bus 1712 may include one or more memory buses, as described below. In a particular embodiment, one or more memory management units (MMUs) exist between the processor 1702 and the memory 1704 and facilitate access to the memory 1704 requested by the processor 1702. In a particular embodiment, the memory 1704 includes a random access memory (RAM). Where appropriate, the RAM may be a volatile memory. Where appropriate, the RAM may be a dynamic RAM (DRAM) or a static RAM (SRAM). In addition, where appropriate, the RAM may be a single-port or multi-port RAM. The present disclosure contemplates any suitable RAM. Where appropriate, the memory 1704 may include one or more memories 1704. Although the present disclosure describes and illustrates specific memories, the present disclosure contemplates any suitable memory.
[0099] In a particular embodiment, storage 1706 includes a large capacity memory for data or instructions. As an example and not limitation, storage 1706 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a tape, or a universal serial bus (USB) drive, or a combination of two or more thereof. Where appropriate, storage 1706 may include a removable or non-removable (or fixed) medium. Where appropriate, storage 1706 may be inside or outside the computer system 1700. In a particular embodiment, storage 1706 is a non-volatile solid-state memory. In a particular embodiment, storage 1706 includes a read-only memory (ROM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically variable ROM (EAROM) or a flash memory, or a combination of two or more thereof. The present disclosure contemplates mass storage 1706 in any suitable physical form. Where appropriate, storage 1706 may include one or more storage control units that facilitate communication between processor 1702 and storage 1706. Where appropriate, storage 1706 may include one or more storages 1706. Although this disclosure describes and illustrates particular storage, this disclosure contemplates any suitable storage.
[0100] In a particular embodiment, I / O interface 1708 includes hardware, software, or both, which provides one or more interfaces for communication between computer system 1700 and one or more I / O devices. Where appropriate, computer system 1700 may include one or more of these I / O devices. One or more of these I / O devices may enable communication between a person and computer system 1700. As an example and not limitation, I / O devices may include keyboards, keypads, microphones, displays, mice, printers, scanners, speakers, static cameras, styluses, tablet computers, touch screens, trackballs, cameras, other suitable I / O devices, or a combination of two or more thereof. I / O devices may include one or more sensors. The present disclosure contemplates any suitable I / O device and any suitable I / O interface 1708 for it. Where appropriate, I / O interface 1708 may include one or more device or software drivers so that processor 1702 can drive one or more of these I / O devices. Where appropriate, I / O interface 1708 may include one or more I / O interfaces 1708. Although this disclosure describes and illustrates a particular I / O interface, this disclosure contemplates any suitable I / O interface.
[0101] In a particular embodiment, the communication interface 1710 includes hardware, software, or both, which provides one or more interfaces for communication (e.g., packet-based communication) between the computer system 1700 and one or more other computer systems 1700 or one or more networks. As an example and not limitation, the communication interface 1710 may include a network interface controller (NIC) or a network adapter for communicating with an Ethernet or other wired network, or a wireless NIC (WNIC) or a wireless adapter for communicating with a wireless network (e.g., a WI-FI network). The present disclosure contemplates any suitable network and any suitable communication interface 1710 for it. As an example and not limitation, the computer system 1700 may communicate with one or more parts of a self-organizing network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or the Internet, or a combination of two or more thereof. One or more parts of one or more of these networks may be wired or wireless. As an example, the computer system 1700 may communicate with a wireless PAN (WPAN) (e.g., a Bluetooth WPAN), a WI-FI network, a WI-MAX network, a cellular telephone network (e.g., a Global System for Mobile Communications (GSM) network), or other suitable wireless networks, or a combination of two or more thereof. Where appropriate, the computer system 1700 may include any suitable communication interface 1710 for any of these networks. Where appropriate, the communication interface 1710 may include one or more communication interfaces 1710. Although the present disclosure describes and illustrates particular communication interfaces, the present disclosure contemplates any suitable communication interface.
[0102] In certain embodiments, bus 1712 includes hardware, software, or both that couples components of computer system 1700 to each other. By way of example and not limitation, bus 1712 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front-Side Bus (FSB), a Hypertransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a Low-Pin-Count (LPC) bus, a memory bus, a MicroChannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a Peripheral Component Interconnect Express (PCI-Express, PCIe) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable busses, or a combination of two or more thereof. Where appropriate, bus 1712 may include one or more buses 1712. Although this disclosure describes and illustrates a particular bus, this disclosure contemplates any suitable bus or interconnect.
[0103] Herein, where appropriate, the one or more computer-readable non-transitory storage media may include one or more semiconductor-based or other integrated circuits (ICs) (e.g., field programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard disk drives (HHDs), optical disks, optical disk drives (ODDs), magneto-optical disks, magneto-optical drives, floppy disks, floppy disk drives (FDDs), magnetic tapes, solid-state drives (SSDs), RAM drives, secure digital cards or drives, any other suitable computer-readable non-transitory storage media, or any suitable combination of two or more thereof. Where appropriate, the computer-readable non-transitory storage media may be volatile, non-volatile, or a combination of volatile and non-volatile.
Claims
1. A method comprising performing, by one or more computing systems: accessing a first image depicting an oral cavity associated with an animal; detecting a plurality of teeth associated with the animal from the first image based on one or more machine learning models; identifying each detected tooth based on a numbering scheme based on the one or more machine learning models; determining whether each identified tooth is healthy or has any dental pathology based on the one or more machine learning models; locating each tooth having any pathology based on the numbering scheme; A first report is generated that includes the location of each tooth having any pathology.
2. The method according to claim 1, wherein: The first image comprises an X-ray image.
3. The method according to claim 1 or 2, wherein: The first image is based on the PNG format or the DICOM format.
4. The method according to any one of claims 1 to 3, further comprising: A quadrant of the first image is determined based on the numbering scheme.
5. The method according to any one of claims 1 to 4, further comprising: A view of the first image is determined based on whether a combination of quadrants exists, wherein the view includes a side view or an occlusal view.
6. The method according to any one of claims 1 to 5, wherein: Detecting the plurality of teeth comprises: determining a plurality of box coordinates of all possible teeth on the first image; and A probability score is calculated for each possible tooth based on the box coordinates, wherein the probability score indicates a likelihood that the corresponding possible tooth is a tooth.
7. The method according to any one of claims 1 to 6, further comprising: The plurality of detected teeth are segmented based on the one or more machine learning models, wherein the segmentation includes generating a tooth boundary and a mask tooth without background for each tooth in the plurality of detected teeth.
8. The method according to any one of claims 1 to 7, wherein: The numbering scheme is based on the Triadan system.
9. The method according to any one of claims 1 to 8, wherein: Identifying each detected tooth is based on contextual information associated with each detected tooth.
10. The method according to any one of claims 1 to 9, wherein: The one or more machine learning models include a first machine learning model configured to identify maxillary teeth and a second machine learning model configured to identify mandibular teeth.
11. The method according to any one of claims 1 to 10, further comprising: One or more pathologies associated with each located tooth are determined.
12. The method according to any one of claims 1 to 11, further comprising: A grading level is determined for at least one of the one or more pathologies associated with each tooth.
13. The method according to any one of claims 1 to 12, further comprising: It is determined based on the one or more machine learning models that the first image contains diagnostic information associated with dental pathology detection, wherein the diagnostic information is based on one or more tooth structures.
14. The method according to any one of claims 1 to 13, wherein: The one or more tooth structures are associated with a particular quadrant.
15. The method according to any one of claims 1 to 14, wherein: The one or more tooth structures are associated with a specific dental pathology.
16. The method according to any one of claims 1 to 15, further comprising: determining, based on the one or more machine learning models, that the first image requires alignment; determining, based on the one or more machine learning models, an angle to rotate the first image to achieve a desired alignment; and The first image is rotated by a determined angle based on the one or more machine learning models.
17. The method according to any one of claims 1 to 16, wherein: The one or more computing systems are associated with a cloud computing system, and wherein the method further comprises: receiving, at the cloud computing system, a plurality of second images depicting an oral cavity associated with the animal; Processing the plurality of second images in parallel, wherein processing each of the plurality of second images comprises: Using the one or more machine learning models in parallel to: detecting a plurality of teeth associated with the animal based on each second image; identifying each detected tooth based on the numbering scheme; Determine whether each identified tooth is healthy or has any dental pathology; and locating each tooth having any pathology based on the numbering scheme; and A second report is generated based on the first report and the processing results of the plurality of second images.
18. The method according to any one of claims 1 to 17, wherein: Processing the plurality of second images in parallel is based on logic generated based on the one or more finite state machines.
19. One or more computer-readable non-transitory storage media containing software that, when executed, is operable to: accessing a first image depicting an oral cavity associated with an animal; detecting a plurality of teeth associated with the animal from the first image based on one or more machine learning models; identifying each detected tooth based on the numbering scheme based on the one or more machine learning models; determining whether each identified tooth is healthy or has any dental pathology based on the one or more machine learning models; locating each tooth having any pathology based on the numbering scheme; and A first report is generated that includes the location of each tooth having any pathology.
20. The medium according to claim 19, wherein The first image comprises an X-ray image.
21. The medium according to claim 19 or 20, wherein The first image is based on the PNG format or the DICOM format.
22. The medium according to any one of claims 19 to 21, wherein The software, when executed, is further operable to: A quadrant of the first image is determined based on the numbering scheme.
23. The medium according to any one of claims 19 to 22, wherein The software, when executed, is further operable to: A view of the first image is determined based on whether a combination of quadrants exists, wherein the view includes a side view or an occlusal view.
24. A medium according to any one of claims 19 to 23, wherein Detecting the plurality of teeth comprises: determining a plurality of box coordinates of all possible teeth on the first image; and A probability score is calculated for each possible tooth based on the box coordinates, wherein the probability score indicates a likelihood that the corresponding possible tooth is a tooth.
25. The medium according to any one of claims 19 to 24, wherein The software, when executed, is further operable to: The plurality of detected teeth are segmented based on the one or more machine learning models, wherein the segmentation includes generating a tooth boundary and a mask tooth without background for each tooth in the plurality of detected teeth.
26. A medium according to any one of claims 19 to 25, wherein The numbering scheme is based on the Triadan system.
27. A medium according to any one of claims 19 to 26, wherein Identifying each detected tooth is based on contextual information associated with each detected tooth.
28. A medium according to any one of claims 19 to 27, wherein The one or more machine learning models include a first machine learning model configured to identify maxillary teeth and a second machine learning model configured to identify mandibular teeth.
29. The medium according to any one of claims 19 to 28, wherein The software, when executed, is further operable to: One or more pathologies associated with each located tooth are determined.
30. The medium according to any one of claims 19 to 29, wherein The software, when executed, is further operable to: A grading level is determined for at least one of the one or more pathologies associated with each tooth.
31. A medium according to any one of claims 19 to 30, wherein The software, when executed, is further operable to: It is determined based on the one or more machine learning models that the first image contains diagnostic information associated with dental pathology detection, wherein the diagnostic information is based on one or more tooth structures.
32. A medium according to any one of claims 19 to 31, wherein The one or more tooth structures are associated with a particular quadrant.
33. A medium according to any one of claims 19 to 32, wherein The one or more tooth structures are associated with a specific dental pathology.
34. A medium according to any one of claims 19 to 33, wherein The software, when executed, is further operable to: determining, based on the one or more machine learning models, that the first image requires alignment; determining, based on the one or more machine learning models, an angle to rotate the first image to achieve a desired alignment; and The first image is rotated by a determined angle based on the one or more machine learning models.
35. A medium according to any one of claims 19 to 34, wherein The one or more computing systems are associated with a cloud computing system, and wherein the software, when executed, is further operable to: receiving, at the cloud computing system, a plurality of second images depicting an oral cavity associated with the animal; Processing the plurality of second images in parallel, wherein processing each of the plurality of second images comprises: Using the one or more machine learning models in parallel to: detecting a plurality of teeth associated with the animal based on each second image; identifying each detected tooth based on the numbering scheme; Determine whether each identified tooth is healthy or has any dental pathology; and locating each tooth having any pathology based on the numbering scheme; and A second report is generated based on the first report and the processing results of the plurality of second images.
36. A medium according to any one of claims 19 to 35, wherein Processing the plurality of second images in the parallel manner is based on logic generated based on one or more finite state machines.
37. A system comprising: one or more processors; and a non-transitory memory coupled to the processor, the non-transitory memory comprising instructions executable by the processor, the processor, when executing the instructions, being operable to: accessing a first image depicting an oral cavity associated with an animal; detecting a plurality of teeth associated with the animal from the first image based on one or more machine learning models; identifying each detected tooth based on the numbering scheme based on the one or more machine learning models; determining whether each identified tooth is healthy or has any dental pathology based on the one or more machine learning models; locating each tooth having any pathology based on the numbering scheme; and A first report is generated that includes the location of each tooth having any pathology.
38. The system of claim 37, wherein: The first image comprises an X-ray image.
39. A system according to claim 37 or 38, wherein: The first image is based on the PNG format or the DICOM format.
40. A system according to any one of claims 37 to 39, wherein: The processor, when executing the instructions, is further operable to: A quadrant of the first image is determined based on the numbering scheme.
41. A system according to any one of claims 37 to 40, wherein: The processor, when executing the instructions, is further operable to: A view of the first image is determined based on whether a combination of quadrants exists, wherein the view includes a side view or an occlusal view.
42. A system according to any one of claims 37 to 41, wherein: Detecting the plurality of teeth comprises: determining a plurality of box coordinates of all possible teeth on the first image; and A probability score is calculated for each possible tooth based on the box coordinates, wherein the probability score indicates a likelihood that the corresponding possible tooth is a tooth.
43. A system according to any one of claims 37 to 42, wherein: The processor, when executing the instructions, is further operable to: The plurality of detected teeth are segmented based on the one or more machine learning models, wherein the segmentation includes generating a tooth boundary and a mask tooth without background for each tooth in the plurality of detected teeth.
44. A system according to any one of claims 37 to 43, wherein: The numbering scheme is based on the Triadan system.
45. A system according to any one of claims 37 to 44, wherein: Identifying each detected tooth is based on contextual information associated with each detected tooth.
46. A system according to any one of claims 37 to 45, wherein: The one or more machine learning models include a first machine learning model configured to identify maxillary teeth and a second machine learning model configured to identify mandibular teeth.
47. A system according to any one of claims 37 to 46, wherein: The processor, when executing the instructions, is further operable to: For each located tooth, one or more pathologies associated with the tooth are determined.
48. A system according to any one of claims 37 to 47, wherein: The processor, when executing the instructions, is further operable to: A grading level is determined for at least one of the one or more pathologies associated with each tooth.
49. A system according to any one of claims 37 to 48, wherein: The processor, when executing the instructions, is further operable to: It is determined based on the one or more machine learning models that the first image contains diagnostic information associated with dental pathology detection, wherein the diagnostic information is based on one or more tooth structures.
50. A system according to any one of claims 37 to 49, wherein: The one or more tooth structures are associated with a particular quadrant.
51. A system according to any one of claims 37 to 50, wherein: The one or more tooth structures are associated with a specific dental pathology.
52. A system according to any one of claims 37 to 51, wherein: The processor, when executing the instructions, is further operable to: determining, based on the one or more machine learning models, that the first image requires alignment; determining, based on the one or more machine learning models, an angle to rotate the first image to achieve a desired alignment; and The first image is rotated by a determined angle based on the one or more machine learning models.
53. A system according to any one of claims 37 to 52, wherein: The system is associated with a cloud computing system, and wherein the processor, when executing the instructions, is further operable to: receiving, at the cloud computing system, a plurality of second images depicting an oral cavity associated with the animal; Processing the plurality of second images in parallel, wherein processing each of the plurality of second images comprises: Using the one or more machine learning models in parallel to: detecting a plurality of teeth associated with the animal based on each second image; identifying each detected tooth based on the numbering scheme; Determine whether each identified tooth is healthy or has any dental pathology; and locating each tooth having any pathology based on the numbering scheme; and A second report is generated based on the first report and the processing results of the plurality of second images.
54. A system according to any one of claims 37 to 53, wherein: Processing the plurality of second images in the parallel manner is based on logic generated based on one or more finite state machines.