Dental Pathology Detection System, Method and Apparatus on X-ray Images in the Veterinary Ecosystem
A machine learning-based system for analyzing dental X-ray images of pets addresses the challenges of detecting dental pathology in veterinary dentistry, improving diagnostic efficiency and reducing anesthesia risks.
Patent Information
- Application Number
- JP2024570441
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-06-17
- Filing Date
- 2023-06-16
- Publication Date
- 2025-06-26
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Current veterinary dentistry practices face challenges in efficiently analyzing dental X-ray images to detect dental pathology in pets, due to complexities such as similar tooth shapes, missing teeth, and varying views, which can lead to increased anesthesia risks and diagnostic inefficiencies.
The development of a system and method that utilizes machine learning models to analyze dental X-ray images of pets. This involves detecting teeth, numbering them based on the Triadan dental formula, determining tooth health, and generating reports on detected dental pathology, thereby reducing the need for additional anesthesia and improving diagnostic efficiency.
The proposed solution enables faster and more accurate analysis of dental X-ray images, reducing the need for additional anesthesia and associated health risks, while improving the efficiency of making a final diagnosis and enhancing the dental health assessment of pets.
Smart Images

Figure 2025519377000001_ABST
Abstract
Description
Cross - reference to related applications
[0001] This application claims the benefit of priority of U.S. Provisional Patent Application No. 63 / 353,341, filed on June 17, 2022, under 35 U.S.C. § 119(e), the content of which is incorporated herein by reference.
Technical Field
[0002] Embodiments described in this disclosure relate to dental pathology detection in pets. For example, some non - limiting embodiments relate to analyzing dental X - ray images to assist in dental pathology detection in pets.
Background Art
[0003] Veterinary dentistry is the field of dentistry used in the care of animals. It is the technology and science for preventing, diagnosing, and treating the conditions, diseases, and disorders of the oral cavity, craniofacial region, and related structures in animals.
[0004] Machine learning (ML) is a field of study directed towards understanding and constructing "learning" methods, i.e., methods of leveraging data to improve the outcome for a set of tasks. It is regarded as part of artificial intelligence. Machine learning algorithms build models based on sample data known as training data to make predictions or judgments without explicit programming for that purpose. Machine learning algorithms are used in a wide variety of applications such as medicine, e - mail filtering, speech recognition, and computer vision, and it is difficult or impossible to develop conventional algorithms to perform the required tasks.
Summary of the Invention
Problems to be Solved by the Invention
[0005] The objects and advantages of the subject matter of the present disclosure are set forth herein, which will be apparent from the following description and will be understood by practicing the subject matter of the present disclosure. Further advantages of the subject matter of the present disclosure will be realized and attained by the methods and systems particularly pointed out in the specification, claims, and appended drawings.
Means for Solving the Problems
[0006] To achieve these and other advantages in accordance with the objects of the present disclosure, as embodied and broadly described, the subject matter of the present disclosure provides systems, methods, and apparatuses that can be used to collect, receive, and / or analyze data. For example, using certain non-limiting embodiments, the dental pathology of a pet can be analyzed.
[0007] In certain non-limiting embodiments, the present disclosure describes a method of analyzing a dental image (e.g., an X-ray) of a pet and, accordingly, determining the pet's dental pathology. The method includes detecting the pet's teeth based on an X-ray image of the pet's oral cavity and numbering each detected tooth based on the Triadan dental formula. Further, the method includes determining whether each detected tooth is healthy or has any dental problems. The method further includes generating a report indicating relevant information regarding the detected dental pathology of the pet.
[0008] In some non-limiting embodiments, one or more computing systems may access a first image representing an oral cavity associated with an animal. Next, 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. Next, the computing system may identify each detected tooth based on a numbering protocol based on one or more machine learning models. In some non-limiting embodiments, the computing system may further determine, for each tooth identified based on one or more machine learning models, whether the tooth is healthy or has any dental pathology. The computing system may further identify the location of each tooth having any pathology based on a numbering protocol. In some non-limiting embodiments, next, the computing system may generate a first report including the location identification of each tooth having any pathology.
[0009] In some non-limiting embodiments, one or more computer-readable non-transitory storage media implementing software are operable to access a first image representing an oral cavity associated with an animal when the software is executed. The computer-readable non-transitory storage media implementing software are 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 executed. The computer-readable non-transitory storage media implementing software are further operable to identify each detected tooth based on a numbering protocol based on one or more machine learning models when executed. In some non-limiting embodiments, the computer-readable non-transitory storage media implementing software are further operable to determine, for each tooth identified based on one or more machine learning models, whether the tooth is healthy or has any dental pathology when executed. The computer-readable non-transitory storage media implementing software are further operable to identify the location of each tooth having any pathology based on a numbering protocol when executed. The computer-readable non-transitory storage media implementing software are further operable to generate a first report including the location identification of each tooth having any pathology when executed.
[0010] In some non-limiting embodiments, the system may include one or more processors and a non-transitory memory connected to the processors, the memory including instructions executable by the processors. When executing the instructions, the processor is operable to access a first image representing the oral cavity associated with the animal. Further, when executing the instructions, the processor is operable to detect a plurality of teeth associated with the animal from the first image based on one or more machine learning models. Further, when executing the instructions, the processor is operable to identify each detected tooth based on a numbering protocol based on one or more machine learning models. Further, when executing the instructions, the processor is operable to determine, for each tooth identified based on one or more machine learning models, whether the tooth is healthy or has any dental pathology. Further, when executing the instructions, the processor is operable to identify the location of each tooth having any pathology based on the numbering protocol. Further, when executing the instructions, the processor is operable to generate a first report including the location identification of each tooth having any pathology.
[0011] Further, the disclosed method, computer-readable non-transitory storage medium, and system embodiments may have additional features as described below, though not limited thereto.
[0012] In some non-limiting embodiments, the first image may include an X-ray image. The first image may be based on the PNG format or the DICOM format.
[0013] In some non-limiting embodiments, the computing system may identify the quadrants of the first image based on a numbering protocol. The computing system may identify the view of the first image based on the presence or absence of the components of the quadrants. In some embodiments, the view may include a transverse view or an occlusal view.
[0014] In some non-limiting embodiments, the step of detecting multiple teeth may include determining multiple box coordinates for all objects that may be teeth on the first image, and calculating a probability score for each object that may be a tooth based on the box coordinates. In some embodiments, the probability score may indicate the likelihood that the object corresponding thereto is a tooth.
[0015] In some non-limiting embodiments, the computing system may segment the multiple detected teeth based on one or more machine learning models. In some embodiments, the segmentation may include generating a tooth boundary and a masked tooth without background for each of the multiple detected teeth.
[0016] In some non-limiting embodiments, the numbering protocol may be based on the Triadan dental formula.
[0017] In some non-limiting embodiments, the step of identifying each detected tooth may be based on context information associated with each detected tooth.
[0018] In some non-limiting embodiments, the one or more machine learning models may include a first machine learning model configured to identify upper teeth and a second machine learning model configured to identify lower teeth.
[0019] In some non-limiting embodiments, the computing system may determine one or more pathologies associated with a tooth for each tooth whose position is identified. Next, the computing system may determine a grading level for at least one of the one or more pathologies associated with each tooth.
[0020] In some non-limiting embodiments, the computing system may determine, based on one or more machine learning models, that the first image contains diagnostic information related to dental pathology. In some embodiments, the diagnostic information may be based on one or more tooth structures. In one aspect, the one or more tooth structures may be related to a particular quadrant. In another aspect, the one or more tooth structures may be related to a particular dental pathology.
[0021] In some non-limiting embodiments, the computing system may determine, based on one or more machine learning models, that the first image requires alignment. The computing system may further specify, based on one or more machine learning models, the angle by which to rotate the first image for the required alignment. The computing system may further rotate the first image at the specified angle, based on one or more machine learning models.
[0022] In some non-limiting embodiments, the computing system may receive, in a cloud computing system, a plurality of second images representing the oral cavity related to an animal. The computing system may further process the plurality of second images in parallel. In some embodiments, the process of processing each of the plurality of second images may include using one or more machine learning models in parallel to detect a plurality of teeth related to the animal from each second image, identifying each detected tooth based on a numbering protocol, for each identified tooth, determining whether the tooth is healthy or has any dental pathology, and specifying the position of each tooth having any pathology based on the numbering protocol. In one aspect, the process of processing the plurality of second images may be based on logic generated based on one or more finite state machines. The computing system may further generate a second report based on the first report and the processing results of the plurality of second images.
[0023] It should be understood that both the foregoing summary and the following detailed description are exemplary and are intended to provide further explanation of the claimed subject matter of the present disclosure.
[0024] The objectives, features, and advantages described so far, or of other aspects of the present disclosure, will become apparent from the description of the embodiments shown in the following attached drawings, and throughout the various drawings, reference numerals denote the same parts. The drawings are not necessarily to scale and focus on showing the principles of the present disclosure.
Brief Description of the Drawings
[0025]
Figure 1
Figure 2
Figure 3A
Figure 3B
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13A
Figure 13B
Figure 14
Figure 15
Figure 16
Figure 17
[0026] Here, referring to the accompanying drawings, the present disclosure is described more fully. The drawings form a part of the present disclosure and show, by way of example, certain exemplary embodiments. However, the subject matter can be implemented in various forms, and thus it is intended that the claimed or covered subject matter is not limited to any of the exemplary embodiments shown herein. The exemplary embodiments are provided merely by way of example. Similarly, a reasonably broad scope is intended for the claimed or covered subject matter. Further, for example, the subject matter can be implemented as a method, apparatus, component, and / or system. Thus, the embodiments can take the form of, for example, hardware, software, firmware, or any combination thereof (other than software itself). Accordingly, the following detailed description is not intended to be construed in a limiting sense.
[0027] The present disclosure provides a system, method, and / or apparatus capable of analyzing dental pathology in pets. The subject matter of the present disclosure addresses the requirements for evaluating the dental health of pets. The present disclosure provides a new framework for identifying, discriminating, and determining the degree of dental pathology in dogs and cats from X-ray images. The images are extracted from DICOM files and processed by a multi-stage algorithm. Specifically, a series of deep learning-based models use global context to identify the positions of the teeth and discriminate them according to the Triadan dental formula. Next, the images are sent to multiple models to detect dental pathology. By way of example, and not limitation, such dental pathology includes periodontal and endodontic diseases such as bone resorption, apical periodontitis, inflammatory root resorption, crown fracture, etc.
[0028] In this detailed description, when terms such as "embodiment", "an embodiment", "one embodiment, not limited thereto", "in various embodiments", etc. are recited, the recited embodiments may include a particular feature, structure, or characteristic, but not necessarily all embodiments include that particular feature, structure, or characteristic. Further, such phrases do not necessarily describe the same embodiment. Further, when a particular feature, structure, or characteristic is described in relation to an embodiment, it is noted that, whether or not explicitly stated, it is within the knowledge of those skilled in the art to make such feature, structure, or characteristic effective in relation to other embodiments. After reading this specification, it will be apparent to those skilled in the art how to implement the present disclosure in alternative embodiments.
[0029] Generally, terms can be understood, at least in part, from their use in context. Terms such as, for example, "and", "or", or "and / or" as used herein can include various meanings, at least in part, depending on the context in which the term is used. Typically, when "or" is used in connection with a list such as A, B, or C, it is intended to mean A, B, and C in a non-exclusive sense, and also to mean A, B, or C in an exclusive sense. Further, the term "one or more" as used herein can, at least in part, depending on context, be used to describe any feature, structure, or characteristic in a singular sense, or to describe a combination of features, structures, or characteristics in a plural sense. Similarly, the English indefinite and definite articles in the original text can, at least in part, depending on context, be understood to convey a singular usage or a plural usage. Further, the term "based on" is not necessarily intended to convey an exclusive set of factors, and here too, at least in part, depending on context, can be understood that additional factors may be present even if not explicitly stated. As used herein, the terms "may" and "can" are used in a permissive sense (i.e., having the possibility), rather than a mandatory sense (i.e., must). Similarly, the terms "comprise", "comprising", and "comprises" mean including, rather than limiting.
[0030] As used herein, the terms "comprising", "comprise", or any other variation thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises the listed elements does not include only those elements, but may include other elements not listed or inherent to such process, method, article, or apparatus.
[0031] As used in connection with the present disclosure, the terms "animal" or "pet" can refer to domesticated animals including, but not limited to, dogs, cats, horses, cows, ferrets, rabbits, pigs, rats, mice, gerbils, hamsters, goats, etc. Dogs and cats are examples of specific pets, without limitation. As used in the present disclosure, the terms "animal" or "pet" can also refer to wild animals, without limitation, including bison, pronghorn, deer, game animals, ducks, birds, fish, etc.
[0032] The term "pet owner" can include any person, organization, and / or group of people who own a pet and / or are responsible for any aspect of the care of the pet. For example, a "pet owner" can include a pet caregiver, a person who takes care of a pet, a researcher, a veterinarian, a veterinary technician, and / or other relevant parties.
[0033] As used herein, a "training dataset" includes one or more images or videos, and associated data, for training a machine learning model. Each training dataset can include training images of one or more data, and corresponding outputs related to those images. The training dataset can include one or more images or videos of a pet's oral cavity. The training dataset can be collected via one or more client devices (e.g., from crowdsourcing) or from other sources (e.g., a database). In certain non-limiting embodiments, the training dataset for pet tooth evaluation can include data from both a treatment group and a control group.
[0034] Next, some non-limiting embodiments will be described with reference to block diagrams and diagrams of the operations of methods, processes, devices, and apparatuses. It should be understood that each block of the block diagram or operation diagram, and combinations of blocks of the block diagram or operation diagram, can be implemented by analog or digital hardware and computer program instructions. These computer program instructions are provided to a processor of a general-purpose computer, a special-purpose computer, an ASIC, or other programmable data processing device that changes the function as described in detail herein, so that the instructions executed via the processor of the computer or other programmable data processing device can implement the functions / operations specified in the block diagram, operation block, or blocks. In some alternative use cases, the functions / operations shown in the blocks can be performed in an order different from that shown in the operation diagram. For example, two consecutive blocks shown may actually be executed substantially simultaneously depending on the functions / operations associated with them, or those blocks may be executed in the reverse order.
[0035] These computer program instructions are provided to a processor of a general-purpose computer, a special-purpose computer, an ASIC, or other programmable digital data processing device that changes the function for a specific use, so that the instructions executed via the processor of the computer or other programmable data processing device can implement the functions / operations specified in the block diagram, operation block, or blocks, thereby enabling the functionality to be changed according to the embodiments herein.
[0036] In some non-limiting embodiments, a computer-readable medium (or computer-readable storage medium / media) stores computer data, which may include computer code (or computer-executable instructions) in a machine-readable format executable by a computer. By way of non-limiting example, a computer-readable medium may include a computer-readable storage medium for tangible or fixed storage, or a communication medium for temporary interpretation of a signal containing code. As used herein, a computer-readable storage medium refers to physical or tangible storage (not a signal) and includes volatile and non-volatile, removable and non-removable media implemented in any method and technology for tangible storage of information such as computer-executable instructions, data structures, program modules or other data. Computer-readable storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technologies, CD-ROM, DVD or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other physical or material medium that can be used to tangibly store desired information, data or instructions and can further be accessed by a computer or processor.
[0037] Unlike humans, animals should be put under general anesthesia during dental X-rays. Further, examination of an animal's teeth is difficult due to the muzzle and tooth arrangement. In the case of humans, a dentist can look for signs to infer / identify the problem tooth. However, in the case of animals, it is a more difficult problem because the muzzles of different bloodlines have different shapes and the signs are not necessarily determined.
[0038] FIG. 1 shows exemplary problems faced by using artificial intelligence (AI) in pet dentistry. As can be seen from the figure, these problems include, but are not limited to, teeth being of similar shape 110 to each other, missing teeth 120, excessive exposure or overlap 130, different views 140 of the same tooth, and composite annotations 150.
[0039] After the first X-ray, after a while, the dentist may recognize that additional images (e.g., additional films at different orientations or angles) are needed due to the above problems. In these cases, additional anesthesia may be required for the animal to take additional images. The additional anesthesia can increase the health risk to the animal. The systems and methods according to the present disclosure enable faster analysis of dental X-ray films and can greatly reduce the need for additional general anesthesia. This approach can reduce the risks associated with multiple general anesthetics, improve the efficiency of making a final diagnosis, and further create a better experience for thousands of animals and owners every month.
[0040] High-quality training data is beneficial for training robust machine learning models. Thus, it can be used to collect data and train a machine learning model for detecting dental pathology. In certain embodiments, data collection can be organized to assist three distinct subtasks that the machine learning model needs to perform. One subtask is quadrant and view classification, where the machine learning model can identify the oral region to which an image belongs and determine whether the image is a lateral view or an occlusal view. Another subtask is tooth detection, where the machine learning model can identify the location and provide the coordinates of all teeth in the image. Another subtask is tooth identification, where the machine learning model can identify the tooth number of the detected teeth according to the Triadan tooth formula. The Triadan tooth formula provides a consistent tooth numbering method across different animal species. The first digit of the variant of the Triadan tooth formula represents the quadrant. The second and third digits represent the position of the tooth within the quadrant, always starting with the midline in order. Further, another subtask is disease detection, where the machine learning model can detect pathology for each identified tooth. Data sampling and annotation for the subtasks can be performed independently.
[0041] To collect quadrant and view classification data, a board-certified veterinarian evaluated the images and further annotated 2,511 images for quadrant and X-ray view (lateral or occlusal). The images were classified into 14 possible whole-mouth radiographic image classes based on different film positions and beam angles. The exact breakdown of the data is shown in Table 1.
[0042]
Table 1
[0043] Images were extracted from DICOM files and downsampled to 948×676 pixels to represent an excellent balance between feature representation and the image processing device (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 the images annotated for quadrant detection and view classification, there are images manually annotated for bone resorption detection. The systems and methods according to embodiments of the present disclosure perform extraction from dental reports using natural language processing (NLP) and further use it to incorporate additional data.
[0044] Figure 2 shows an exemplary clustering pipeline 200 for increasing the size of tooth identification data according to an embodiment of the present disclosure. After collecting and annotating images, if the dataset with manual annotations is too small, these images can be clustered to increase the size of the dataset. By way of example and not limitation, clustering can include the generation of image embeddings (features), principal component analysis (PCA), and the use of K-Means (clustering algorithm) for clustering. As shown in Figure 2, the computing system can detect teeth from images in step 210. In step 220, the computing system can extract each detected tooth. In step 230, the computing system can generate a batch of tooth images. In step 240, the computing system can extract the most important features from the batch of tooth images. In step 250, the computing system can execute a clustering algorithm. Although the present disclosure describes clustering tooth identification data to increase its size, the present disclosure contemplates clustering any suitable data, such as tooth detection data, disease detection data, and data from dental reports, to increase its size.
[0045] Figures 3A and 3B show an exemplary flowchart 300 for detecting dental pathology in a pet. As shown in FIG. 3A, in step 310, a computing system may retrieve examination data, for example, an X-ray image from an examination. The computing system may perform some image preprocessing in this step. In certain embodiments, but not limited to, the preprocessing may include exclusion of images that are not teeth. In certain embodiments, the preprocessing may include detection and exclusion of non-diagnostic images. The computing system may train a machine learning model for detecting non-diagnostic images based on training data that includes both diagnostic and non-diagnostic images. Next, the computing system may use such a trained machine learning model to detect non-diagnostic images. In certain embodiments, a non-diagnostic image may be one that does not include important structures for effectively detecting dental pathology. By way of example and not limitation, if the computing system cannot identify from which of the four quadrants (e.g., upper or lower portion) an X-ray image is from, such an X-ray image may be determined to be a non-diagnostic image. FIG. 4 shows an exemplary comparison of a diagnostic image and a non-diagnostic image. As can be seen from the figure, image 410 represents the gingival line and shows that this image may be an image of the lower oral cavity that is important for detecting bone resorption. Thus, image 410 may be determined to be a diagnostic image. In contrast, since image 420 does not represent the gingival line, the computing system cannot determine whether the image is related to the upper or lower oral cavity. As a result, image 420 may be detected as a non-diagnostic image.
[0046] As another example, but not by way of limitation, if an X-ray image does not include a structure on which a finding is based, such an X-ray image may be determined to be a non-diagnostic image. FIG. 5 shows another exemplary comparison between a diagnostic image and a non-diagnostic image. As can be seen from the figure, image 510 represents a bone line that may be important for estimating bone resorption. Thus, image 510 may be determined to be a diagnostic image. In contrast, since image 520 only covers the tooth crown, the computing system has no basis for inferring bone resorption. Thus, image 520 may be determined to be a non-diagnostic image. FIG. 6 shows an exemplary diagnostic image for predicting periapical periodontitis. Image 610 shows an overall image of teeth, such as teeth 612, 614, together with the area surrounding the tooth roots. To detect periapical periodontitis, the computing system may need to analyze the root area 616. Since image 610 includes such an important structure, it may be determined to be a diagnostic image. In contrast, if an X-ray image does not include a root area as illustrated in image 610, such an image is considered a non-diagnostic image.
[0047] Referring again to FIG. 3A, in step 320, the computing system can perform rotation and alignment using a rotation model. In other words, the computing system can find the best alignment and rotate the image accordingly. In certain embodiments, the computing system can rotate the image by 0 degrees (meaning the image is well-aligned), + / −90 degrees, or 180 degrees according to a certain reference of a certain imager. When training a machine learning model for pathology detection, since the image may be forced to be read at a certain scale, the computing system can approximate the image to the target angle if the X-ray image is misaligned at an angle other than these four angles. In certain embodiments, if the X-ray image is misaligned at an angle between 0 degrees and 90 degrees, the computing system can achieve a reliable accuracy for pathology detection. Although the present disclosure describes rotating a specific image at a specific angle, the present disclosure contemplates rotating any suitable image at any other suitable angle, such as + / −10 degrees, + / −45 degrees, etc.
[0048] In Project 330, the computing system can perform quadrant and view classification. In other words, the computing system can identify X-ray views and quadrants. Identifying the quadrants can be important for reducing the complexity of the machine learning model in the next stage. The display of teeth is according to the image view, which can mean that the same tooth can look different depending on the beam angle and film position. When the machine learning model is trained according to specific tasks instead of including all views together, providing additional information about quadrants and views can help enhance the robustness of detection. Thereby, it can reduce the complexity of the model and make the model reusable due to the symmetry of the left and right parts of the oral cavity. Furthermore, since quadrant and view information is related to clinical analysis, providing detailed context about the radiographic image and tooth position identification can help dentists interpret the model results. The annotated data is highly coarse, so combining similar image views can increase the amount of data per class, reduce the total number of classes, which can lead to higher accuracy. Table 2 lists exemplary quadrant and view combination training data.
[0049]
Table 2
[0050] In certain embodiments, the deep learning model can be trained by fine-tuning pre-trained weights to identify quadrants and views of specific X-ray images as described in the Triadan dental formula. By way of example and not limitation, the deep learning model can be based on the ResNet101 architecture using the dataset described in Table 1 and the six combined classes described in Table 2. As another example and not limitation, the pre-trained weights can be identified based on the ImageNet dataset. In certain embodiments, the deep learning model is trained using the ADAM optimizer and cross-entropy loss for 3e -4It can be trained at the learning rate described above. By combining the classes as described above, classification can be boosted to reach an F1 score of nearly 96%. FIG. 7 shows an exemplary quadrant based on the Triadan dental formula. The quadrant is identified by numbers 1 to 4 as the first element of the Triadan dental formula. The view is identified based on the presence or absence of the components of the quadrant. For example, if the result of the model is 1, it is a horizontal view, and the image is from the first quadrant. In contrast, if the result of the model is 1-2, it is an occlusal view, and the image has portions on the first and second quadrants.
[0051] Referring again to FIG. 3A, the computing system can perform tooth detection in step 340. In certain embodiments, the computing system can process an image using a deep learning model, such as a neural network, to detect all teeth on the image. By way of example and not limitation, the deep learning model can be based on the architecture of Faster-RCNN with a ResNet101 backend that can be trained using pre-trained weights. The pre-trained weights can be identified based on the ImageNet dataset. The deep learning model can identify box coordinates for all potential teeth on the image and provide a score having the probability that the detection is a tooth.
[0052] In step 350 of FIG. 3B, the computing system can perform tooth segmentation. In certain embodiments, tooth detection can detect tooth boundaries for the detected teeth using a further model for applying instance segmentation, such as a neural network. By way of example and not limitation, this model can be a deep learning model and can be based on the architecture of MaskRCNN using the ResNet101 architecture as a backend. In certain embodiments, the deep learning model can be trained using pre-trained weights. By way of example and not limitation, the pre-trained weights can be specified based on the ImageNet dataset. Given an X-ray image, the model can identify the same information as the tooth detection phase, but with true tooth boundaries and masked teeth and no background. FIG. 8 shows an exemplary tooth segmentation. As can be seen from the figure, 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. Further, there are bounding boxes and each tooth is located within each box.
[0053] In step 360 of FIG. 3B, the computing system can perform tooth identification by finding the tooth numbers, for example, using a sequence-to-sequence (seq2seq) model that takes context into account. After identifying the teeth on the image, the computing system can work on tooth identification, which can include, for example, numbering the teeth according to the Triadan dental formula for cats and dogs. In certain embodiments, a series of deep learning models can be based on a transformer architecture with a ResNet50 backend and a DETR framework, and they can be trained using pre-trained ResNet weights for tooth identification. By way of example and not limitation, the pre-trained ResNet weights can be specified based on the ImageNet dataset. In certain embodiments, based on these models, the computing system can learn to assist in tooth numbering using global context and simulate the way humans do when analyzing radiographic images. This can dramatically improve the accuracy of the results, especially in cases such as missing teeth, baby teeth, and some other anomalies. Since tooth characteristics vary depending on the part of the oral cavity to which it belongs and the oral cavity is symmetric, there can be two models for tooth identification, one for the upper part (maxilla) and the other for the lower part (mandible).
[0054] Figure 9 shows an exemplary tooth identification considering context understanding. In a particular embodiment, context understanding 910 may include obtaining more information about the context associated with each tooth. By way of example and not limitation, the context may include the relative size of the tooth. The context may be supplied to the deep learning model 920 along with the X-ray image 930 for tooth identification. The backbone 922 may generate a set of image features about the context based on one or more convolutional neural networks (CNNs) and position encoding (i.e., encoding of the position information of each tooth). Next, the output from the backbone 922 may be processed by an encoding unit 924, for example, a transformer encoding unit. Next, the output from the encoding unit 924 may be processed based on an object query by a decoding unit 926, for example, a transformer decoding unit. Next, the prediction head 928 may be identified using the output from the decoding unit 926. By way of example and not limitation, the prediction head 928 may be identified based on a plurality of feed-forward neural networks (FFNs), each of which may output a class box or "no object". Using context understanding, the deep learning model may more effectively achieve tooth identification.
[0055] Figure 10 shows an exemplary test experiment for evaluating tooth identification. Figure 10 shows an X-ray image, and synthetically removing one or more teeth demonstrates the model's ability to identify teeth even in the case of missing tooth / teeth. For example, image 1010 shows that the model can effectively identify missing tooth 106. As another example, image 1020 shows that the model can effectively identify missing tooth 107. As another example, image 1030 shows that the model can effectively identify missing tooth 108. As another example, image 1040 shows that the model can effectively identify missing tooth 109. As another example, image 1050 shows that the model can effectively identify missing teeth 106 and 108. As another example, image 1060 shows that the model can effectively identify missing teeth 107 and 108. As another example, image 1070 shows that the model can effectively identify missing teeth 106 and 107.
[0056] Referring again to FIG. 3B, next, in step 370, the computing system can determine findings. Specifically, the computing system can find tooth-by-tooth problems. In certain embodiments, the computing system can determine whether a tooth is healthy or has any pathology. In certain embodiments, a series of deep learning models can be trained based on a transformer architecture having a ResNet50 backend and a DETR framework, using pre-trained ResNet weights for tooth pathology detection. By way of example and not limitation, the pre-trained ResNet weights can be specified based on the ImageNet dataset. In certain embodiments, the computing system can identify pathologies of different modalities. By way of example and not limitation, the modalities include one or more of diseases within the tooth, periodontal diseases, tooth resorption, tooth fracture, or any other suitable dental disease.
[0057] For periodontal diseases, bone resorption detection is one use case. Since the oral cavity is symmetric and tooth characteristics vary depending on the part of the oral cavity to which it belongs, there are two models for bone resorption detection, one for the upper part (maxilla) and the other for the lower part (mandible). In certain embodiments, the model can identify multiple levels of bone resorption. By way of example and not limitation, the levels can include <25%, 25 - 50%, >50%, and no signs of periodontal disease. In certain embodiments, context understanding can be used in a similar way to improve bone resorption detection. FIG. 11 shows an exemplary context understanding for detecting bone resorption. For context understanding 1110, the computing system can identify a normal bone line 1112 and a current bone line 1114, which can help determine bone resorption 1116. As shown in bone resorption detection 1120 of FIG. 11, the computing system can further identify different levels of bone resorption, e.g., <25% for the left tooth 1122 and >50% for both the middle tooth 1124 and the right tooth 1126.
[0058] In certain embodiments, the computing system can provide model interpretability for one or more machine learning models used in dental pathology detection. FIG. 12 shows an exemplary decoder attention map. The first row shows the decoder attention map, and the rows below show the corresponding X-ray images. The decoder attention map shows the highest activations of the model. FIG. 12 shows the output of the decoder stage of the deep learning model disclosed herein. In FIG. 12, the most important regions (region 1210, region 1220, region 1230, region 1240, region 1250, and region 1260) in the image that led to the results of the deep learning model are grouped together (and further highlighted). FIG. 12 shows the ability of the deep learning model to identify the most important features representing each tooth.
[0059] Referring back to FIG. 3B, the computing system can further generate an automated report in step 380 using the findings. The report can include information from the model along with tooth identification, quadrants, findings, and grade levels of dental problems. FIGS. 13A and 13B show exemplary reports. FIG. 13A shows a text description of the report. The text description can include clinical information 1310, patient information 1320, examination information 1330, and AI findings 1340. For example, patient information 1320 can include the species, lineage, gender, and date of birth of the animal. As another example, for quadrant 1, AI findings 1340 indicate that tooth 101 (right maxillary central incisor) is missing, tooth 102 (right maxillary lateral incisor) has <25% horizontal bone loss with an 88% probability, tooth 106 (right maxillary second premolar) has >50% horizontal bone loss with a 92% probability, and further, tooth 107 (right maxillary third premolar) has >50% horizontal bone loss with a 99% probability and an irregular root margin consistent with inflammatory root resorption with an 85% probability. AI findings 1340 further include an assessment advising that teeth 106 and 107 should be extracted based on the intraoral radiographic image. FIG. 13B shows an exemplary evaluated image. In certain embodiments, the report can further include evaluated images of the teeth. As can be seen from the figure, the upper image 1350 focuses on teeth 204 and 207, and the lower image 1360 focuses on tooth 106.
[0060] In certain embodiments, dental pathology detection can be performed by a cloud computing system. The cloud computing system can detect dental pathology for a number of examinations, each containing a large number of X-ray images (e.g., 30 - 40 images). In certain embodiments, all images can be processed in parallel. As previously described, dental pathology detection can be based on a number of machine learning models, such as rotation models, tooth detection models, tooth numbering models, etc. In certain embodiments, each image can be processed in parallel by these multiple machine learning models. In certain embodiments, the cloud computing system can wait for all images related to the entire oral cavity to be processed before generating a report. In certain embodiments, the cloud computing system can use different levels of confidence to integrate the processed data. The cloud computing system can identify how many images remain to be processed and when the processing of all images will be completed.
[0061] FIG. 14 shows an exemplary flowchart 1400 of parallel processing of a large number of dental X-ray images in a cloud computing system. In step 1405, the API can send a payload (e.g., JSON) containing X-ray data and an examination identifier. A call can be initiated when a veterinarian requests a review (e.g., an authorization token). Next, the API 1410a associated with the environment 1410 for dental pathology detection can send the payload to an HTTP trigger function 1415 that is part of the dental function application 1420. The HTTP trigger function 1415 can call the persistent orchestration module 1425 of the dental function application 1420. Next, the persistent orchestration module 1425 can call different models such as image rotation 1430, segmentation 1435, and bone resorption detection 1440. The results from these models can be returned to the persistent orchestration module 1425. Next, the persistent orchestration module 1425 can send the results to a memory serializer 1445 and a persistent entity 1450. The serializer 1445 can generate an input request stored in a blob 1455 and an inference result stored in a table 1460. In certain embodiments, the persistent orchestration module 1425 can perform report generation 1465 based on the results returned from the models. When analyzing the X-ray data, the results can be returned to the API 1410a associated with the environment 1410 along with a unique examination identifier (e.g., an authorization token). As shown in FIG. 14, the dental function application 1420, the models for image rotation 1430, segmentation 1435, and bone resorption detection 1440, the BLOB 1455, and the table 1460 can be hosted in an environment 1470 designated for dental pathology detection of a large number of X-ray images from a large number of examinations.
[0062] As already described, a cloud computing system can perform parallel processing of a large number of X-ray images using a large number of models. In certain embodiments, the persistent orchestration module 1425 can generate logic that enables such parallel processing. By way of 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 logic on what to do when an image is received to generate steps for parallel processing. By way of example and not limitation, the persistent orchestration module 1425 can set a timer, for example, of 15 minutes. After detecting that there are no images to be processed, the persistent orchestration module 1425 can wait for 15 minutes before generating a report. When an image is received, the persistent orchestration module 1420 starts the timer and then determines a timeout so that the cloud computing system does not wait forever for further images. For example, if the cloud computing system receives 15 images (whereas in an examination, typically 30 to 40 images), upon determining a 15-minute timeout, the cloud computing system can send a partial report based on the 15 images. As another example and not limitation, the logic can include one or more "if else" commands. The cloud computing system effectively combines parallel processing of all X-ray images based on that logic.
[0063] FIG. 15 shows an exemplary flow diagram 1500 of stateful orchestration. In certain embodiments, the cloud computing system may require confirmation from all inspections. The cloud computing system may detect when new images are input and link them to a first set of received images. Further, the cloud computing system may download all images and prepare a complete report. In certain embodiments, the logic may be programmed to consider all of the above steps. As shown in FIG. 15, the cloud computing system may receive requests for dental pathology detection of a number of examinations 1502a - 1502c, each including a number of X-ray images 1504a - 1504c. By way of example and not limitation, examination #2 (1502b) may include image 1504b. Image #1 of examination #2 may be received at HTTP ingress 1506. Next, HTTP ingress 1506 may call main orchestrator 1508. Main orchestrator 1508 may access an open source system 1512 that automates the deployment, scaling, and management of a number of models 1514a - 1514c via a number of endpoints 1510. Using these models 1514a - 1514c, image #1 of examination #2 may be processed. Main orchestrator 1508 may store the processing result in blob table 1516. In certain embodiments, main orchestrator 1508 may communicate with an entity 1518 that includes information related to remaining images, deadlines, timer flags, etc. When there are no remaining images (i.e., all X-ray images have been processed), a final report 1520 may be generated based on blob table 1516.
[0064] In certain embodiments, main orchestrator 1508 or entity 1518 may access image-by-image finite state machine 1522. Within finite state machine 1522, in step 1524, the logic is instructed to determine whether all images have been processed. If all images have been processed, the logic is instructed in step 1526 to generate a report. If not all images have been processed, the logic is instructed in step 1528 to determine whether a timeout (e.g., 15 minutes) has been reached. If the timeout has been reached, the logic is instructed in step 1526 to generate a report. If the timeout has not been reached, the logic is instructed in step 1530 to check whether the timer is running. If the timer is running, the logic is instructed in step 1532 to wait for further images. If the timer is not running, the logic is instructed in step 1534 to start the timer.
[0065] FIG. 16 illustrates an exemplary method 1600 for detecting dental pathology. The method begins at step 1610, where a computing system may access a first image representing the 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 protocol and based on one or more machine learning models. At step 1640, for each tooth identified based on one or more machine learning models, the computing system may determine whether the tooth is healthy or has any dental pathology. At step 1650, the computing system may identify the location of each tooth having any pathology based on the numbering protocol. At step 1660, the computing system may generate a first report including the location identification of each tooth having any pathology. Certain embodiments may repeat one or more steps of FIG. 16 as needed. Although the present disclosure describes and shows the specific steps of the method of FIG. 16 as being performed in a particular order, the present disclosure contemplates that any suitable steps of the method of FIG. 16 may be performed in any suitable order. Further, although the present disclosure describes and shows an exemplary dental pathology detection method including specific steps of the method of FIG. 16, the present disclosure contemplates any suitable method for detecting dental pathology including any suitable method, and those steps may, as needed, include all, some, or none of the steps of the method of FIG. 16. Further, although the present disclosure describes specific components, devices, or systems for performing specific steps of the method of FIG. 16, the present disclosure contemplates any suitable combination of any suitable components, devices, or systems for performing any suitable steps of the method of FIG. 16.
[0066] For the purposes of the present disclosure, the terms "user", "subscriber", "consumer" or "customer" should be understood to refer to a user of the applications described herein and / or a consumer of data provided by a data provider. By way of non-limiting example, the terms "user" or "subscriber" may refer to a recipient of data provided by a data or service provider in a browser session over the Internet or an automated software application that receives data and stores or processes that data.
[0067] Those skilled in the art will appreciate that the methods and systems of the present disclosure can be implemented in numerous forms and are not limited by the exemplary embodiments and examples described thus far. In other words, functional elements may be performed by single or multiple components in various combinations of hardware and software or firmware, and individual functions may be distributed among software applications at the client level, server level, or both levels. In this regard, any number of features of the different embodiments described herein may be combined into single or multiple embodiments to provide alternative embodiments having fewer or more features than all the features described herein.
[0068] Functionality may also be distributed, in whole or in part, among multiple components in manners now known or hereafter known. Accordingly, an infinite number of software / hardware / firmware combinations are possible for implementing the functions, features, interfaces and preferences described herein. Further, the scope of the present disclosure encompasses conventional manners for performing the features, functions and interfaces described herein, as well as variations and modifications of the hardware, software or firmware elements described herein as would be understood by those skilled in the art now or hereafter.
[0069] Furthermore, the embodiments of the methods described as flowcharts in this disclosure are provided as examples to provide a more complete understanding of the technology. The methods of this disclosure are not limited to the operations and logic flows provided herein. Alternative embodiments are contemplated in which the order of various operations is changed and partial operations described as part of larger operations are performed independently.
[0070] Although various embodiments have been described for this disclosure, such embodiments should not be considered as limiting the teachings of this disclosure to those embodiments. Various modifications and changes can be made to the above elements and operations to obtain results that remain within the scope of the systems and processes described in this disclosure.
[0071] Although the subject matter of this disclosure has been described herein in terms of preferred embodiments, it will be apparent to those skilled in the art that various changes and improvements can be made to the subject matter of this disclosure without departing from its scope. Furthermore, individual features of one non-limiting embodiment of the subject matter of this disclosure are described herein and shown in the drawings of one non-limiting embodiment and not in the drawings of other embodiments, but it will be apparent to those skilled in the art that the individual features of one non-limiting embodiment can be combined with one or more features of other non-limiting embodiments or features of multiple embodiments.
[0072] FIG. 17 shows an exemplary computer system 1700. In certain embodiments, one or more computer systems 1700 perform one or more steps of one or more of the methods described or shown herein. In certain embodiments, one or more computer systems 1700 provide the functionality described or shown herein. In certain embodiments, software executed on one or more computer systems 1700 performs one or more steps of one or more of the methods described or shown herein or provides the functionality described or shown herein. Certain embodiments include one or more portions of one or more computer systems 1700. As used herein, reference to a computer system may include a computing device or, alternatively, may, optionally, include the reverse. Further, reference to a computer system may, optionally, include one or more computer systems.
[0073] The present disclosure contemplates any suitable number of computer systems 1700. The present disclosure contemplates a computer system 1700 incorporating any suitable physical form. By way of example and not limitation, the computer system 1700 can be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (such as, for example, a computer-on-module (COM) or a system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh computer system, a cellular phone, a personal digital assistant (PDA), a server, a tablet computer system, or a combination of two or more of these. Optionally, the computer system 1700 can include one or more computer systems 1700, be single or distributed, span multiple locations, span multiple machines, span multiple data centers, or reside in a cloud that includes one or more cloud elements on one or more networks. Optionally, one or more computer systems 1700 can perform one or more steps of one or more of the methods described or shown herein with substantially no spatial or temporal limitations. By way of example and not limitation, one or more computer systems 1700 can perform one or more steps of one or more of the methods described or shown herein in real time or in batch mode. One or more computer systems 1700 can, optionally, perform one or more steps of one or more of the methods described or shown herein at different times or at different locations.
[0074] In certain embodiments, the computer system 1700 includes a processor 1702, a memory 1704, a storage 1706, an input / output (I / O) interface 1708, a communication interface 1710, and a bus 1712. Although the present disclosure describes and shows a particular computer system having a particular number of particular components in a particular arrangement, the present disclosure contemplates any suitable computer system having any suitable number of any suitable components in any suitable arrangement.
[0075] In certain embodiments, processor 1702 includes hardware for executing instructions, such as instructions that make up a computer program. By way of example and not limitation, to execute instructions, processor 1702 fetches (or retrieves) instructions from internal registers, internal caches, memory 1704, or storage 1706, decodes and executes them, and then writes one or more results to internal registers, internal caches, memory 1704, or storage 1706. In certain embodiments, processor 1702 may include one or more internal caches for data, instructions, or addresses. The present disclosure contemplates that processor 1702 may include any suitable number of any suitable internal caches, as needed. By way of example and not limitation, 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 are copies of the instructions in memory 1704 or storage 1706, and the instruction cache may increase the fetch speed of those instructions by processor 1702. The data in the data cache may be a copy of the data in memory 1704 or storage 1706 for the object on which the instructions are executed by processor 1702, the result of instructions previously executed by processor 1702 for access by or writing to memory 1704 or storage 1706 by the instructions to be executed next by processor 1702, or other suitable data. The data cache may increase the read or write speed by processor 1702. The TLB may increase the speed of virtual address translation for processor 1702. In certain embodiments, processor 1702 may include one or more internal registers for data, instructions, or addresses. The present disclosure contemplates processor 1702 including any suitable number of any suitable internal registers, as needed. Optionally, processor 1702 may include one or more arithmetic logic units (ALUs), be a multi-core processor, or include one or more processors 1702. Although the present disclosure describes and shows particular processors, the present disclosure contemplates any suitable processor.
[0076] In certain embodiments, memory 1704 includes a main memory for storing instructions that processor 1702 executes or data on which processor 1702 operates. By way of example and not limitation, computer system 1700 can load instructions from storage 1706 or other sources (such as another computer system 1700) into memory 1704. Next, processor 1702 can load the instructions from memory 1704 into internal registers or an internal cache. To execute the instructions, processor 1702 can fetch the instructions from the internal registers or internal cache and then decode them. During or after execution of the instructions, processor 1702 can write one or more results (which can be intermediate or final results) to the internal registers or internal cache. Next, processor 1702 can write one or more of those results to memory 1704. In certain embodiments, processor 1702 executes only instructions in one or more internal registers or internal cache, or in memory 1704 (rather than in storage 1706, etc.) and operates only on data in one or more internal registers or internal cache, or in memory 1704 (rather than in storage 1706, etc.). One or more memory buses (each of which can include an address bus and a data bus) can connect processor 1702 to memory 1704. As described next, bus 1712 can include one or more memory buses. In certain embodiments, one or more memory management units (MMUs) are positioned between processor 1702 and memory 1704 to facilitate access to memory 1704 requested by processor 1702. In certain embodiments, memory 1704 includes random access memory (RAM). This RAM can be volatile memory, if desired. This RAM can be dynamic RAM (DRAM) or static RAM (SRAM), if desired. Further, this RAM can be single-port or multi-port RAM, if desired. The present disclosure contemplates any suitable RAM. Memory 1704 can include one or more memories 1704, if desired.Although the present disclosure describes and shows a particular memory, the present disclosure contemplates any suitable memory.
[0077] In certain embodiments, storage 1706 includes mass storage for data or instructions. By way of example and not limitation, storage 1706 can include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto - optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more thereof. Storage 1706 can include removable or non - removable (or fixed) media, as desired. Storage 1706 can be internal or external to computer system 1700, as desired. In certain embodiments, storage 1706 is non - volatile solid - state memory. In certain embodiments, storage 1706 includes read - only memory (ROM). Optionally, this ROM can be mask - programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically rewritable ROM (EAROM), or flash memory, or a combination of two or more thereof. The present disclosure contemplates mass storage 1706 in any suitable physical form. Storage 1706 can include one or more storage control devices to facilitate communication between processor 1702 and storage 1706, as desired. Optionally, storage 1706 can include one or more storage 1706. Although the present disclosure describes and shows a particular storage, the present disclosure contemplates any suitable storage.
[0078] In certain embodiments, I / O interface 1708 includes hardware, software, or both, and provides one or more interfaces for communication between computer system 1700 and one or more I / O devices. Computer system 1700 may optionally include one or more of these I / O devices. One or more of these I / O devices may enable communication between a human and computer system 1700. By way of example, and not limitation, I / O devices may include a keyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker, still camera, stylus, tablet, touch screen, trackball, video camera, other suitable I / O devices, or a combination of two or more of these. The I / O devices may include one or more sensors. The present disclosure contemplates any suitable I / O devices and any suitable I / O interface 1708 therefor. Optionally, I / O interface 1708 may include one or more devices or software drivers that enable processor 1702 to drive one or more of these I / O devices. I / O interface 1708 may optionally include one or more I / O interfaces 1708. Although the present disclosure describes and shows particular I / O interfaces, the present disclosure contemplates any suitable I / O interface.
[0079] In certain embodiments, communication interface 1710 includes hardware, software, or both, and provides one or more interfaces for communication (e.g., packet communication) between computer system 1700 and one or more other computer systems 1700 or one or more networks. By way of example and not limitation, communication interface 1710 can include a network interface controller (NIC) or network adapter for communication with an Ethernet or other wired network, or a wireless NIC (WNIC) or wireless adapter for communication with a wireless network such as a WI-FI network. The present disclosure contemplates any suitable network and any suitable communication interface 1710 therefor. By way of example and not limitation, computer system 1700 can communicate with an ad hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or one or more portions of the Internet, or a combination of two or more of these. One or more portions of these networks can be wired or wireless. By way of example, computer system 1700 can communicate with a wireless PAN (WPAN) (e.g., a BLUETOOTH® WPAN, etc.), a WI-FI network, a WI-MAX network, a cellular phone network (e.g., a global system for mobile communications (GSM) network, etc.), or other suitable wireless network, or a combination of two or more of these. Computer system 1700 can include any suitable communication interface 1710 for any of these networks, as needed. Communication interface 1710 can include one or more communication interfaces 1710, as needed. Although the present disclosure describes and shows particular communication interfaces, the present disclosure contemplates any suitable communication interface.
[0080] In certain embodiments, bus 1712 includes hardware, software, or both that connect the components of computer system 1700 to each other. By way of example and not limitation, bus 1712 can 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 Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable bus, or a combination of two or more of these. Bus 1712 can include one or more buses 1712 as necessary. Although the present disclosure describes and shows particular buses, the present disclosure contemplates any suitable bus or interconnect.
[0081] As used herein, a computer-readable non-transitory storage medium or media may, as appropriate, 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 drives (HHDs), optical discs, optical disc drives (ODDs), magneto-optical discs, 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 medium, or any suitable combination of two or more of these. The computer-readable non-transitory storage medium may, as appropriate, be volatile, non-volatile, or a combination of volatile and non-volatile.
Explanation of Signs
[0082] 1700 Computer system 1702 Processor 1704 Memory 1706 Storage 1708 I / O interface 1710 Communication interface
Claims
**Claim 1** In a method, accessing, by one or more computing systems, a first image representing an oral cavity associated with an animal; detecting, from the first image, a plurality of teeth associated with the animal based on one or more machine learning models; identifying each of the detected teeth based on the one or more machine learning models according to a numbering protocol; for each of the teeth identified based on the one or more machine learning models, determining whether the tooth is healthy or has any dental pathology; identifying the location of each tooth having any pathology according to the numbering protocol; generating a first report including the location identification of each tooth having any pathology and including a method. **Claim 2** The method according to claim 1, wherein the first image includes an X-ray image. **Claim 3** The method according to claim 1 or 2, wherein the first image is based on the PNG format or the DICOM format. **Claim 4** The method according to any one of claims 1 to 3, further including identifying four quadrants of the first image according to the numbering protocol. **Claim 5** The method according to any one of claims 1 to 4, further including identifying a view of the first image based on the presence or absence of components of the four quadrants, the view including a transverse view or an occlusal view. **Claim 6** The step of detecting the plurality of teeth includes determining, for all those that may be teeth on the first image, a plurality of box coordinates, and calculating, based on the box coordinates, a probability score for each of those that may be a tooth, the probability score indicating the likelihood that the corresponding one that may be a tooth is a tooth and including a method according to any one of claims 1 to 5. **Claim 7** The method according to any one of claims 1 to 6, further including segmenting the plurality of detected teeth based on the one or more machine learning models, the segmentation including generating, for each of the plurality of detected teeth, a tooth boundary and a masked tooth without background. **Claim 8** The method according to any one of claims 1 to 7, wherein the numbering protocol is based on the Triadan dental formula. **Claim 9** The step of identifying each of the detected teeth is based on context information related to each of the detected teeth, the method according to any one of claims 1 to 8.
10. The one or more machine learning models include a first machine learning model configured to identify upper teeth and a second machine learning model configured to identify lower teeth, the method according to any one of claims 1 to 9.
11. For each tooth whose position has been identified, the step of determining one or more pathologies associated with the tooth is further included, the method according to any one of claims 1 to 10.
12. The step of determining a grading level for at least one of the one or more pathologies associated with each tooth is further included, the method according to any one of claims 1 to 11.
13. The step of determining, based on the one or more machine learning models, that the first image contains diagnostic information related to dental pathology, the diagnostic information being based on one or more tooth structures is further included, the method according to any one of claims 1 to 12.
14. The one or more tooth structures are related to specific quadrants, the method according to any one of claims 1 to 13.
15. The one or more tooth structures are related to specific dental pathologies, the method according to any one of claims 1 to 14.
16. The step of determining, based on the one or more machine learning models, that the first image requires alignment The step of specifying, based on the one or more machine learning models, the angle by which the first image is to be rotated for the required alignment The step of rotating the first image by the specified angle based on the one or more machine learning models are further included, the method according to any one of claims 1 to 15.
17. The one or more computing systems are related to a cloud computing system, and the method includes In the cloud computing system, the step of receiving a plurality of second images representing the oral cavity related to the animal The step of processing the plurality of second images in parallel, the step of processing each of the plurality of second images using the one or more machine learning models in parallel The process of detecting a plurality of teeth related to the animal from each of the second images The process of identifying each of the detected teeth based on the numbering protocol For each of the identified teeth, a process of determining whether the tooth is healthy or has any dental pathology, and a process including identifying the position of each tooth having any pathology based on the numbering protocol generating a second report based on the first report and the processing results of the plurality of second images The method according to any one of claims 1 to 16, further comprising.
18. The step of processing the plurality of second images in parallel is based on logic generated based on one or more finite state machines. The method according to any one of claims 1 to 17.
19. In one or more computer-readable non-transitory storage media implementing software, when the software is executed, access a first image representing the oral cavity related to the animal, detect a plurality of teeth related to the animal from the first image based on one or more machine learning models, identify each of the detected teeth based on a numbering protocol based on the one or more machine learning models, for each of the teeth identified based on the one or more machine learning models, determine whether the tooth is healthy or has any dental pathology, identify the position of each tooth having any pathology based on the numbering protocol, generate a first report including the identification of the position of each tooth having any pathology A medium operable to.
20. The medium according to claim 19, wherein the first image includes 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. When the software is executed, The medium according to any one of claims 19 to 21, which is further operable to identify quadrants of the first image based on the numbering protocol.
23. When the software is executed, The medium according to any one of claims 19 to 22, which is further operable to identify a view of the first image based on the presence or absence of components of a quadrant, the view including a horizontal view or an occlusal view.
24. The detection of the plurality of teeth includes for all those that may be teeth on the first image, a process of determining a plurality of box coordinates, and A process of calculating a probability score for each of the potential teeth based on the box coordinates, where the probability score indicates the likelihood that the corresponding potential tooth is a tooth The medium according to any one of claims 19 to 23, which includes the above process **Claim 25** When the software is executed The software is further operable to segment the plurality of detected teeth based on the one or more machine learning models The medium according to any one of claims 19 to 24, wherein the segmentation includes a process of generating a tooth boundary and a masked tooth without background for each of the plurality of detected teeth **Claim 26** The numbering protocol is based on the Triadan dental formula. The medium according to any one of claims 19 to 25 **Claim 27** The identification of each of the detected teeth is based on context information related to each of the detected teeth. The medium according to any one of claims 19 to 26 **Claim 28** The one or more machine learning models include a first machine learning model configured to identify upper teeth and a second machine learning model configured to identify lower teeth. The medium according to any one of claims 19 to 27 **Claim 29** When the software is executed The software is further operable to determine one or more pathologies related to each tooth for which the position has been identified The medium according to any one of claims 19 to 28 **Claim 30** When the software is executed The software is further operable to determine a grading level for at least one of the one or more pathologies related to each tooth The medium according to any one of claims 19 to 29 **Claim 31** When the software is executed The software is further operable to determine, based on the one or more machine learning models, that the first image includes diagnostic information related to dental pathology detection The medium according to any one of claims 19 to 30, wherein the diagnostic information is based on one or more tooth structures **Claim 32** The one or more tooth structures are related to specific quadrants. The medium according to any one of claims 19 to 31 **Claim 33** The method according to any one of claims 19 to 32, wherein the one or more tooth structures are related to a specific dental pathology.
34. When the software is executed, Based on the one or more machine learning models, it is determined that the first image requires alignment, Based on the one or more machine learning models, the angle for rotating the first image for the required alignment is specified, Based on the one or more machine learning models, the first image is rotated at the specified angle The medium according to any one of claims 19 to 33, which is further operable.
35. One or more computing systems are related to a cloud computing system, and when the software is executed, In the cloud computing system, a plurality of second images representing the oral cavity related to the animal are received, It is further operable to process the plurality of second images in parallel, The processing of each of the plurality of second images uses the one or more machine learning models in parallel, The process of detecting a plurality of teeth related to the animal from each of the second images, The process of identifying each of the detected teeth based on the numbering protocol, For each of the identified teeth, the process of determining whether the tooth is healthy or has any dental pathology, and The process of specifying the position of each tooth having any pathology based on the numbering protocol, The software further Is operable to generate a second report based on the first report and the processing results of the plurality of second images. The medium according to any one of claims 19 to 34.
36. The parallel processing of the plurality of second images is based on logic generated based on one or more finite state machines. The medium according to any one of claims 19 to 35.
37. In a system, One or more processors, A non-transitory memory connected to the processor, the memory containing instructions executable by the processor Including, when the processor executes the instructions, Access the first image representing the oral cavity related to the animal, Detect a plurality of teeth related to the animal from the first image based on one or more machine learning models, Identify each of the detected teeth based on the numbering protocol based on the one or more machine learning models, For each of the teeth identified based on the one or more machine learning models, determine whether the tooth is healthy or has any dental pathology, identify the location of each tooth having any pathology based on the numbering protocol, and generate a first report including the location identification of each tooth having any pathology. A system operable to do so. **Claim 38** The system according to claim 37, wherein the first image includes an X-ray image. **Claim 39** The system according to claim 37 or 38, wherein the first image is based on the PNG format or the DICOM format. **Claim 40** When executing the instructions, the processor is further operable to identify the quadrants of the first image based on the numbering protocol. The system according to any one of claims 37 to 39. **Claim 41** When executing the instructions, the processor is further operable to identify the views of the first image based on the presence or absence of the components of the quadrants, and the views include a horizontal view or an occlusal view. The system according to any one of claims 37 to 40. **Claim 42** The detection of the plurality of teeth includes a process of determining a plurality of box coordinates for all those that may be teeth on the first image, and a process of calculating a probability score for each of those that may be a tooth based on the box coordinates, and the probability score indicates the likelihood that the corresponding one that may be a tooth is a tooth. The system according to any one of claims 37 to 41. **Claim 43** When executing the instructions, the processor is further operable to segment the plurality of detected teeth based on the one or more machine learning models, and the segmentation includes a process of generating, for each of the plurality of detected teeth, a tooth boundary and a masked tooth without a background. The system according to any one of claims 37 to 42. **Claim 44** The system according to any one of claims 37 to 43, wherein the numbering protocol is based on the Triadan dental formula. **Claim 45** The identification of each of the detected teeth is based on the context information related to each of the detected teeth. **Claim 46** The one or more machine learning models include a first machine learning model configured to identify upper teeth and a second machine learning model configured to identify lower teeth. The system according to any one of claims 37 to 45.
47. When executing the instructions, the processor is further operable to determine, for each tooth whose position has been identified, one or more pathologies associated with the tooth The system according to any one of claims 37 to 46.
48. When executing the instructions, the processor is further operable to determine a grading level for at least one of the one or more pathologies associated with each tooth The system according to any one of claims 37 to 47.
49. When executing the instructions, the processor is further operable to determine, based on the one or more machine learning models, that the first image includes diagnostic information related to dental pathology The diagnostic information is based on one or more tooth structures. The system according to any one of claims 37 to 48.
50. The one or more tooth structures are related to a specific quadrant. The system according to any one of claims 37 to 49.
51. The one or more tooth structures are related to a specific dental pathology. The system according to any one of claims 37 to 50.
52. When executing the instructions, the processor determines, based on the one or more machine learning models, that the first image requires alignment, identifies, based on the one or more machine learning models, the angle by which to rotate the first image for the required alignment, and is further operable to rotate the first image by the identified angle based on the one or more machine learning models The system according to any one of claims 37 to 51.
53. The system is related to a cloud computing system, and when executing the instructions, the processor receives, in the cloud computing system, a plurality of second images representing the oral cavity related to the animal, and is further operable to process the plurality of second images in parallel, wherein the processing of each of the plurality of second images uses the one or more machine learning models in parallel. A process of detecting a plurality of teeth related to the animal from each of the second images, A process of identifying each of the detected teeth based on the numbering protocol, For each of the identified teeth, a process of determining whether the tooth is healthy or has any dental pathology, and A process of specifying the position of each tooth having any pathology based on the numbering protocol, and the processor is further Operable to generate a second report based on the first report and the processing results of the plurality of second images, The system according to any one of claims 37 to 52.
54. The parallel processing of the plurality of second images is based on logic generated based on one or more finite state machines, the system according to any one of claims 37 to 53.
Citation Information
Patent Citations
Supporting device for image-based diagnosis
JP2004194729A
Image processing device, method for control, and program
JP2022078940A
Dental imaging system utilizing artificial intelligence
US20210279871A1