In the dental industry, there was a recent surge in utilizing 3D-printed dental casts (impressions) to identify and detect dental problems. As compared to a plaster cast, a 3D-printed cast is a more sturdy, stable, and precise option for a dental technician since 3D-printed casts can endure multiple inspections without losing details. As compared to a milled cast, a 3D-printed cast has a more complex structure with a higher level of detail[1]. Most importantly, a 3D-printed cast is a nonpareil timesaver since the dentist can transfer its digital copy to the dental technician after performing an intra-oral scanning on the patient in seconds. Besides providing the patient a more comfortable experience, a digital workflow ending with a 3D-printed cast often ensues a more accurate scanning result, obviating potential mistakes and inaccuracies.
Ā
Although 3D printing is relatively new to the dental industry, 3D-printed dental casts exhort countless benefits and opportunities when creating dental products. However, after perusing recent articles on 3D printing applications in the dental industry, I noticed that there are not many promising tools or methods to inspect the 3D-printed cast accuracy and efficiency for dental technicians. Therefore, I decided to build a user-friendly and accessible device employing an object detection model to classify 3D-printed casts in the hope of assisting dental technicians in detecting cast accuracy and malfunctions.
Ā
To extrapolate and interpret dental cast categories (classes) accurately, I needed to collect data from actual 3D-printed dental casts in order to train my object detection model with notable validity. Therefore, I purchased numerous dental cast STL files identified with different tags (labels) and printed them with my SLA (HALOT-ONE) and FDM (CR-200B) 3D printers:
Ā
Big Central Teeth
Ā
Antagonist Teeth
Ā
Orthodontic Superior
Ā
Prognathous
Ā
Strange Teeth Inferior
Ā
Strange Teeth Superior
Ā
Failed
Ā
ImplantĀ
Ā
Since Sony Spresense is a high-performance development board intended for edge computing in sensor analysis, machine learning, image processing, and data filtering, I decided to utilize Sony Spresense in this project. To capture images and store them on an SD card to train my object detection model, I connected the Spresense extension board and the Spresense camera board to the Spresense main board (CXD5602). Then, I utilized a TFT LCD touch screen (ILI9341) to display the video stream and captured images. Also, I added a tiny thermal printer to the device so as to print the detection result after running my object detection model on Sony Spresense.
Ā
After completing my data set by taking pictures of 3D-printed dental casts, I built my object detection model with Edge Impulse to make predictions on dental cast accuracy categories (classes). I utilized Edge Impulse FOMO (Faster Objects, More Objects) algorithm to train my model, which is a novel machine learning algorithm that brings object detection to highly constrained devices. Since Edge Impulse is nearly compatible with all microcontrollers and development boards, I had not encountered any issues while uploading and running my model on Sony Spresense. As labels, I appended three main categories (classes) to the file names while capturing and storing pictures:
Ā
Cast
Ā
Failed
Ā
ImplantĀ
Ā
After training and testing my object detection (FOMO) model, I deployed and uploaded the model on Sony Spresense. Therefore, the device is capable of detecting dental cast accuracy categories (classes) by running the model independently without any additional procedures.
Ā
Lastly, to make the device as robust, sturdy, and compact as possible while experimenting with 3D-printed dental casts, I designed a dental-themed case with a sliding side cover (3D printable).
Ā
So, this is my project in a nutshell š
Ā
Click here to inspect code files, STL files, and instructions.







