Mengganti gigi dengan implan atau memasang mahkota adalah prosedur yang menyakitkan dan mahal. Salah satu bagian yang paling sulit dalam restorasi adalah desain prostesis dalam sistem CAD, yang digunakan oleh teknisi gigi. Setiap mahkota dirancang secara terpisah untuk pasien dan rahangnya dalam 8-10 menit. Pada saat yang sama, setiap teknisi memiliki visi subyektif sendiri tentang mahkota gigi yang baik, dan penilaian kualitas mahkota yang sama untuk spesialis yang berbeda pada tingkat yang sama dapat bervariasi dari "baik" ke "mungkin dan lebih baik".
Oleh karena itu, tidak mengherankan bahwa dalam kedokteran gigi tujuannya adalah untuk menghilangkan faktor manusia dan menambahkan otomatisasi. Ini dapat dilakukan dengan menggunakan jaringan saraf. Mereka sekarang telah maju sedemikian rupa sehingga mereka dapat mengenali objek,
menemukan penjahat di kerumunan, menggambar
dengan sketsa , dan mengganti wajah para aktor dalam film, misalnya, DiCaprio
dengan Burunov dalam film The Great Gatsby. Mereka juga membantu mengatasi gigi, dan bagaimana hal itu terjadi, Stanislav Shushkevich akan memberi tahu.
Stanislav Shushkevich - bekerja di Layanan Adalisk. Ini adalah kontraktor untuk produsen gigitiruan terbesar AS. Tugas kontraktor termasuk otomatisasi produksi mahkota, jembatan, implan. Stanislav mengajarkan jaringan saraf yang dalam. Di
Saint HighLoad ++ 2019, Stanislav membuat presentasi di mana ia berbicara secara rinci dan rinci bagaimana perusahaan menggunakan pelatihan mendalam untuk mengotomatisasi klasifikasi data input, pembuatan desain, dan otomatisasi pemodelan mahkota.
Artikel ini didasarkan pada transkrip laporannya, dari situ Anda akan belajar bagaimana menerapkan pembelajaran mendalam dan mendesain generasi dalam produksi gigi palsu, cara menstabilkan kualitas, mengotomatiskan berbagai tahap produksi menggunakan jaringan saraf, secara bertahap mengurangi faktor manusia dan mengurangi waktu rata-rata beberapa kali. yang digunakan oleh teknisi gigi untuk mahkota dan implan.
Catatan Grup, tempat Stanislav bekerja, bekerja sama dengan Berkeley Institute (AS). Mereka bekerja bersama untuk mengembangkan jaringan saraf yang dalam untuk mengotomatisasi desain implan gigi. Menurut hasil karya ini, para peneliti menerbitkan artikel ilmiah , tetapi laporannya lebih menarik.Terminologi gigi
Untuk membenamkan Anda dalam urusan, saya akan memberitahu Anda tentang terminologi gigi. Seseorang memiliki 32 gigi, tetapi lebih sering 28, karena gigi bungsu sering tidak tumbuh atau menjadi sakit dan dicabut. Ada penomoran terus menerus dari 1 hingga 32, tetapi lebih mudah untuk membagi rahang menjadi 4 kuadran bernomor 8 gigi. Karena itu, kita mengatakan bahwa seseorang memiliki 32 gigi - dari 11 hingga 48. Digit pertama adalah jumlah kuadran, yang kedua adalah jumlah gigi di kuadran.
Skema penomoran gigi standar.Setelah refleksi specular, gigi di sisi kiri rahang mirip dengan gigi di sebelah kanan, tetapi yang atas tidak mirip dengan yang lebih rendah. Karena itu, ketika kita mengatakan bahwa kita perlu membuat gigi, kita biasanya berarti 16 gigi - 32 menjadi dua, hanya 16.
Bentuk gigi seseorang tidak dapat menentukan jenis kelamin. Karena itu, ketika penggalian menemukan gigi, tidak jelas siapa mereka: pria atau wanita. Pada saat yang sama, seseorang dapat mengerti dari rahang kuda apakah itu kuda betina atau kuda - kuda memiliki taring, tetapi kuda betina tidak. Fakta "gigi" seperti itu selalu menghibur saya.
Tunggul gigi ke-36 ditandai dengan warna biru - gigi yang sakit digergaji, tunggul tetap. Dalam bahasa Inggris, tunggul gigi disebut "mati". Tepi tunggul disorot dalam warna merah, itu disebut "margin". Ketika dokter gigi meletakkan mahkota pada gigi, penting bahwa ujung mahkota hampir bertepatan dengan margin, dengan margin untuk "lem", jika tidak, akan ada langkah jelek.
Scan tiga dimensi dari kesan rahang bawah.Bagi kami, teknisi membuat model 3D dari mahkota yang indah.

Alur di atas - anatomi mahkota. Mereka tidak ditemukan secara acak, tetapi berdasarkan nomor gigi tipikal mereka. Ini dapat digambarkan untuk waktu yang lama, tetapi ada anatomi primer, salib ortodontik sekunder.
Antagonis rahang cocok dari atas, dan jika gigi atas, rahang adalah antagonis dari bawah. Arah ke atas, yang disebut
arah oklusal , juga penting bagi kami. Ketika "snapshot oklusal gigi" muncul dalam teks, itu berarti snapshot dari atas.
Mahkota perjalanan
Bagaimana mahkota gigi? Mereka yang mengatur sendiri mahkota gigi secara kasar mewakili. Saya akan memberi tahu sisa skema umum.
Dokter Gigi - Teknisi Gigi - Dokter Gigi. Anda datang ke dokter gigi, buka mulut, katanya perbaikan. Mengarsipkan gigi dan menggigit piring. Itu terlihat seperti plastisin pada substrat - jejak dari rahang atas dan bawah tetap ada di atasnya. Dokter gigi mengirimkan gips ini ke laboratorium ke teknisi gigi.
Seorang teknisi gigi duduk di laboratorium dan tidak pernah berkomunikasi dengan pasien sungguhan. Dia membangun model gigi dalam sistem CAD / CAM di komputer. Dari model gigi 3D yang sudah jadi, ia membuat restorasi nyata dan mengirimkannya kembali ke dokter gigi. Selanjutnya, dokter gigi sudah memasang restorasi di tempatnya.
Aplikasi kekuatan kita adalah pusat dari skema ini.
Dokter Gigi - Teknisi Gigi + ML - Dokter Gigi . Sekarang teknisi gigi bekerja dalam program yang mirip dengan AutoCAD. Tetapi idealnya, dia harus melakukan ini: sebuah kasus datang dalam bentuk cetakan, seorang teknisi memindai dan menerima proposal siap untuk mahkota. Grup ML kami bekerja dengan teknisi gigi dan dalam beberapa tahun telah mengumpulkan 5 juta kasus dan 150 TB data yang ada di Amazon - ada banyak yang bisa dipilih.
Teknisi membutuhkan waktu
10 menit untuk menyiapkan gambar 3D mahkota, sementara ia memikirkan banyak parameter:
- bentuk alami;
- antagonis;
- kontak yang erat;
- garis margin;
- segmentasi rahang;
- anatomi yang dalam;
- arah;
- lengkung;
- mengisi kertas dan lainnya.
Parameter
Kealamian bentuk . Ini adalah hal pertama yang dipikirkan teknisi gigi - bagi saya ini adalah momen paling misterius. Ketika saya menunjukkan teknik dua gigi dan dia mengatakan mana yang baik, saya bertanya mengapa dia memutuskan demikian:
"Aku tidak tahu." Saya hanya melihat bahwa ini adalah gigi alami, tetapi sebenarnya tidak.
- Apakah ada kriteria formal? Sistem desain otomatis membutuhkan metrik formal.
"Aku tidak tahu metrik formal apa pun." Saya hanya melihat bahwa ini adalah gigi yang bagus, dan yang ini jelek.
Ini disebut "bentuk alami."
Pada saat yang sama, teknisi juga berhati-hati agar mahkota tidak bersinggungan dengan antagonis dan duduk dengan baik di "tepi" tunggul, tentang kontak erat dengan tetangga, menetapkan arah dan membagi rahang.
Ada beberapa solusi bagus untuk kasus apa pun. Berbagai teknik untuk rahang yang sama akan menghasilkan beberapa gigi bagus yang berbeda.
Mengapa tidak membuatnya lebih mudah: ambil mahkota gigi biasa, "mainkan" dengan bentuk algoritma geometris dan masukkan ke dalam rahang? Tugas geometris ini sederhana dalam imajinasi, tetapi dalam praktiknya tidak begitu sederhana.
Variabilitas . Pada gambar di bawah ini adalah tiga gambar mahkota.

Yang pertama di sebelah kiri adalah gigi manusia yang sempurna. Rata-rata, jarak antara antagonis dan tunggul gigi sangat kecil sehingga mahkota rata. Jarak antara gigi ini dan tetangga di sebelah kiri cukup besar, tetapi mahkota perlu menyentuh gigi tetangga, sehingga gelombang masuk muncul di sebelah kiri. Pada gambar kanan semuanya tampak normal, tetapi garis "tepi" tunggul bukanlah lingkaran, tetapi figur spasial yang kompleks. Untuk metode geometris, semua ini rumit karena variabilitas besar mahkota.
Perhatian terhadap detail . Detail penting lainnya adalah ukuran karakteristik fitur yang disimulasikan. Ukuran gigi ke-36 (dari bagian bawah rahang bawah) adalah sekitar 8 mm, dan 200 mikron adalah ukuran hanya anatomi. Ini berarti bahwa jika diperlukan anatomi normal, maka diperlukan akurasi model minimal 100 mikron. Dipotong kira-kira dengan akurasi 20 mikron. Kami membagi 100 mikron menjadi 8 mm - kami mendapatkan akurasi sekitar 1%.
Semua ini menciptakan masalah - teknisi menghabiskan banyak waktu pada banyak faktor. Kami memutuskan untuk menyederhanakan pekerjaannya dan meningkatkan efisiensi - lebih banyak mahkota per unit waktu. Kami mencoba beberapa opsi dan memilih jaringan saraf yang menyederhanakan pekerjaan teknisi.
Metode solusi
CAD / CAM . Setiap perusahaan "gigi" menciptakan sistemnya sendiri. Glidewell Dental, Invisalign, Sirona - semua memiliki atau sedang mengembangkan sistem CAD / CAM mereka sendiri. Sistem terlihat seperti AutoCAD atau KOMPAS-3D: Anda memiliki objek standar, Anda dapat menarik, membelai, memutarnya. Sekarang para teknisi bekerja dengan cara ini dan menghabiskan 10 menit untuk menghasilkan mahkota yang normal.
ML - fungsi harmonik. Ini adalah cara lain - pembelajaran mesin yang relatif sederhana. Misalnya, jika Anda melihat mahkota dari atas, itu akan terlihat seperti lingkaran dengan lekukan, dan kemudian Anda dapat mencoba menguraikannya menjadi fungsi harmonik. Tetapi kami mencoba - dengan kondisi kami untuk akurasi, ini tidak berhasil.
Oleh karena itu, pada akhirnya, kami beralih ke
jaringan yang dalam untuk menghasilkan objek tiga dimensi. Saya akan menceritakan dua kisah yang terkait dengan pilihan kami. Yang pertama adalah
propaedeutic . Ini adalah pelatihan atau kisah pendidikan tentang segmentasi rahang. Yang kedua adalah tentang
generasi mahkota .
Segmentasi rahang
Segmentasi rahang adalah pewarnaan setiap gigi dan gusi dengan warnanya sendiri (misalnya, dalam tampilan oklusal).

Segmentasi itu penting. Misalnya, rahang datang dalam bentuk model 3D, dan di atasnya tunggul gigi gergajian. Agar program mengerti di mana harus meletakkan gigi, setidaknya harus diposisikan relatif terhadap tunggul. Dalam hal ini, seseorang biasanya duduk dan dengan mouse mengkliknya dan tetangganya, dan baru kemudian program tersebut mengerti di mana harus meletakkan gigi. Dengan segmentasi otomatis, semuanya akan jauh lebih menarik - itu akan secara otomatis menunjukkan di mana harus meletakkan gigi.
Oleh karena itu, kami memutuskan untuk menodai gigi menggunakan jaringan saraf.
Pelatihan jaringan saraf membutuhkan data. Ada kumpulan data terbuka untuk wajah segmentasi, pose orang, surat - orang senang menghadiri konferensi dan berbagi keberhasilan dalam pelatihan satu sama lain. Tetapi sulit menemukan dataset untuk segmentasi gigi.
Ada perusahaan yang memiliki dataset dengan gigi yang sudah tersegmentasi. Tetapi mereka, tentu saja, tidak menjual atau memberikannya. Ini adalah keahlian dan nilai hebat setiap perusahaan.
Untungnya, kami memiliki algoritma geometris
DAS , yang akan saya bahas nanti. Dia dapat melakukan segmentasi, tetapi dengan efisiensi 30% - segmentasi normal dalam satu dari tiga kasus. Kami melakukan segmentasi algoritma dengan 15 ribu kasus, dan kemudian disaring secara manual. Setelah pemfilteran, 5 ribu kasing yang baik tetap digunakan untuk melatih SegNet.
Catatan SegNet adalah jaringan standar untuk segmentasi. Jaringan tertentu tidak begitu penting. Penting apa yang harus dilakukan, dalam urutan apa dan di mana mendapatkan data.
Seperti inilah segmentasi rahang dengan 12 gigi.Semuanya tampak baik-baik saja - warna-warna indah yang berbeda, gigi praktis tidak "bocor". Tetapi tidak banyak gunanya untuk mengelompokkan hanya kasus-kasus yang telah kami pelajari untuk disegmentasi secara geometris. Kami ingin belajar untuk membagi semua ruang fase. Dalam kasus korelasi yang kuat antara algoritma geometris dan jaringan saraf, jaringan pada dasarnya hanya akan melakukan segmentasi dengan baik kasus-kasus yang sudah tersegmentasi dengan baik.
Jadi pertanyaan utamanya adalah: adakah korelasi antara apa yang dilakukan Watershed dan SegNet? Untuk menjawab pertanyaan ini, Anda perlu tahu cara kerja algoritma ini.
Bagaimana DAS dan SegNet Bekerja
DAS bekerja pada permukaan 3D - ini adalah "lembah" yang dipisahkan oleh punggung dengan lengkungan spasial yang hebat. Ketika kita bergerak di permukaan 3D, di beberapa tempat ada tikungan tajam, misalnya, di mana dua pasangan gigi atau satu gigi memasuki gusi. Di tempat-tempat ini "punggung bukit" muncul. Daerah aliran sungai "menuangkan air" dan menutupi lembah-lembah, tetapi tidak melintasi "punggung bukit".
Algoritma tidak bekerja dengan baik di mana kelengkungan spasial rusak. Misalnya, ada dua gigi dengan garis singgung yang sama. Mereka dipindai sehingga dua gigi saling bertabrakan dengan lancar. Algoritma akan mengecat dua gigi dengan satu warna.
SegNet berfungsi seperti jaringan tersegmentasi. Dia tahu apa yang kira-kira bisa diperoleh di dalam - gambar tersegmentasi biasanya terlihat seperti 14 lingkaran yang terletak di busur, dan di sekitar gusi. SegNet rentan terhadap kesalahan: ketika bentuk lingkarannya tidak beraturan, pasien tidak memiliki 14 gigi, tetapi 12 atau gigi jatuh dari lengkungan - lengkungan di mana gigi berada. Gambar menunjukkan hanya 12 gigi, itu sulit, tetapi algoritma melakukannya.
Tampaknya Watershed dan SegNet tidak saling berkorelasi, dan semuanya relatif normal.
Subtotal
Diperlukan pengoptimalan bagi pengguna akhir . Kita bisa menghabiskan banyak waktu di muka untuk menyingkirkan korelasinya, memikirkannya, mengambil tindakan. Tetapi bahkan tanpa ini, SegNet, ketika pelatihan pada kasus-kasus tertentu, memberikan sekitar 90% dari segmentasi yang benar - jaringan 9 dari 10 segmen rahang dengan sempurna.
Tenaga kerja manual banyak membantu. Anda akan menemukan data Anda dan memilih apa yang Anda butuhkan.
Kami melewati hidangan utama.
Generasi Mahkota
Untuk menghasilkan mahkota, kami memilih skema ini: kami mengambil tampilan oklusal dan darinya sebuah peta monokrom untuk peta kedalaman.
Mahkota dengan anatomi yang dalam (salib) dan dengan anatomi sekunder.Sumber data
Sumber data pertama adalah
gigi asli . Ada banyak gips dari rahang, kita sekarang tahu bagaimana cara membagi mereka: kita memotong gigi alami dan melatihnya.
Kami mengambilnya, tetapi ternyata hasilnya buruk.
Gigi alami terlalu bervariasi . Gigi manusia biasa tidak begitu indah, bahkan di kalangan anak muda. Saya ingin mahkota menjadi lebih baik.
Sumber data kedua adalah
mahkota siap pakai . Kami sudah memiliki 5 juta kasus 150 TB. Mereka disimpan di cloud Amazon. Dari 5 juta kasus, kami memilih yang telah menyelesaikan teknik, dan melatihnya. Tapi itu juga tidak berhasil. Kami dengan hati-hati melihat set pelatihan kami dan menemukan bahwa dari setengah hingga dua pertiga dari mahkota selesai dapat dilakukan dengan lebih baik. Ini terutama menyangkut kedalaman anatomi pada mahkota yang sudah jadi - alurnya tidak diekspresikan secara memadai.
Ini adalah penemuan yang tidak menyenangkan, karena kami mengambil hasil spesialis yang harus ditiru. Tapi kami sudah tahu apa yang harus dilakukan dalam kasus seperti itu.
Kami mengambil 10 ribu kasing dan secara manual memecahnya menjadi baik dan buruk. Terima 5 ribu barang bagus yang bisa kamu pelajari. Tetapi secara eksperimental kami tahu bahwa untuk pelatihan dibutuhkan 10 hingga 15 ribu kasus yang bagus. Untuk mendapatkannya, Anda perlu menyortir 30 ribu kasus per gigi secara manual - ini terlalu banyak. Karena itu, kami melatih jaringan bantu sederhana yang menunjukkan gigi, dan memisahkan yang baik dari yang buruk.

Gambar tersebut menunjukkan bahwa ketiga gigi atas memiliki anatomi yang dalam - salib terlihat jelas, dan pada depresi yang lebih rendah. Yang terakhir (paling kiri) tidak ada anatomi sama sekali. Teknisi “menjilat” mahkota ini sehingga anatominya menghilang.
Dengan bantuan jaringan bantu, kami dapat menyaring volume yang sangat besar, dan menerima 10-20 ribu kotak per gigi.
Detail Teknis Pembuatan
Denda. Hal pertama yang terlintas dalam pikiran adalah mengambil jaringan pembangkit, menunjukkan gambar rahang atas dengan tunggul gigi, mengharuskannya menggambar yang lebih rendah, dan memaksakan L1 yang bagus. Tetapi teorinya mengatakan bahwa itu tidak akan berhasil, dan itulah sebabnya.
Rahang dengan dahi di atas adalah dengan gigi gergaji, di tengahnya adalah antagonis, dan mahkota di bawah, yang harus dibuat sebagai hasil dari jaringan.Kami telah mengatakan bahwa ada banyak solusi bagus untuk input yang sama. Jika Anda hanya memaksakan L1 yang bagus, maka Anda akan mendenda jaringan karena fakta bahwa tidak dapat menebak gambar mahkota di kepala teknisi pada saat ia mendesainnya. Dia bisa membuat mahkota seperti itu, atau dia bisa membuat yang lain, juga bagus. Denda untuk mahkota lain yang baik tidak diperlukan.
Hukuman “telanjang” L1 adalah ide yang buruk.
Diskriminator Adalah ide yang bagus untuk melatih seorang diskriminator yang mengatakan "Baik" untuk semua mahkota yang baik dan "Buruk" untuk mahkota yang buruk. Ini akan memperhitungkan permukaan kompleks mahkota yang baik (permukaan dalam ruang mahkota). Selain itu, GAN, ternyata, menghancurkan noise frekuensi tinggi.
Kehilangan kami terlihat seperti ini:
Loss = D_GAN + L1 + AntagonistIntersectionPenalty
.
D_GAN
- memperhitungkan permukaan kompleks dari kemungkinan keputusan yang baik.
AntagonistIntersectionPenalty
ditambahkan sehingga gigi tidak bersinggungan dengan antagonis.
Adalah penting bahwa L1 tiba-tiba muncul. Anda baru saja membaca bahwa itu seharusnya merusak sesuatu, tetapi jika Anda menambahkannya secara terbatas, maka itu tidak merusak. Alasannya adalah bahwa GAN sangat tidak stabil selama pelatihan, dan L1 melaporkan bahwa gigi dalam hal apapun terlihat seperti bintik putih di tengah bingkai. Pada tahap awal pelatihan, ia stabil - semuanya menyatu lebih baik, terlihat halus dan rapi.
Catatan Teknis. Kami bertarung untuk waktu yang lama, mencoba melatih satu jala untuk semua gigi belakang atau satu jala untuk beberapa gigi. Tetapi kami sampai pada kesimpulan bahwa Anda perlu melatih jaringan Anda untuk setiap gigi, untuk setiap bagian kecil data yang terlokalisasi. Kami memiliki kesempatan seperti itu.
Satu gigi - satu jaringan.
Ini penting - ini adalah trade-off Anda antara stabilitas solusi dan sumber daya yang digunakan. Jika Anda menghabiskan ekstra 200 MB memori video, maka (biasanya) tidak akan terjadi apa-apa. Tetapi Anda akan memiliki jaringan terpisah untuk setiap gigi dan melatihnya sesuai kebutuhan.
Subtotal
Kami kembali menggunakan
jaringan bantu dan
kerja manual :
- disortir dengan tangan, memecahkan 10 ribu kasus menjadi "baik dan buruk";
- pada hasil penyortiran manual, kami mempelajari jaringan bantu;
- sebagian besar menyaring kasus yang tidak ditandai.
Hore, kami mulai berproduksi!
Setelah semua yang kami lakukan, kami mulai berproduksi. Ini bukan produksi yang sebenarnya - kelompok Riset & Produksi, tetapi menghasilkan 100 mahkota per hari.
Catatan Pada saat publikasi artikel, menghasilkan jaringan sudah termasuk dalam produk ini .
Grup ini telah bekerja sejak Mei - beberapa ribu mahkota dibuat oleh GAN. Seorang teknisi menekan tombol dan gambar mahkota dihasilkan dalam 20 detik. Teknisi memeriksa kebenaran formulir, biasanya mengencangkan kontak, dan mengirimkannya ke minuman.
Kami mendapat keuntungan besar dalam waktu. Mahkota dipersiapkan dalam 8-10 menit, dan dengan keterlibatan GAN - dalam 4 menit. GAN mencakup 80% kasus - jika teknisi tidak menyukai apa yang disarankan GAN, ia memodelkan mahkota dengan tangannya dan menghabiskan 8 menit.
Pelajaran
Optimalisasi untuk pengguna akhir . Dalam prosesnya, penting untuk memikirkan tindakan, metrik, fungsi kerugian, dan korelasi. Tetapi Anda melakukan segalanya dengan benar jika Anda berhasil menyelesaikannya dan mendapatkan hasil yang diharapkan.
Penggunaan jaringan bantu.Kerja manual. Ada pepatah di ML:
" Ketahui detail Anda." Menggunakan tenaga kerja manual, Anda akan menemukan apa yang ada di data Anda. Tenaga kerja manual biasanya dihargai karena Anda "memberi makan" jaringan Anda dengan apa yang Anda butuhkan.
Seimbangkan “kualitas - sumber daya” . Jika memungkinkan, beralihlah ke kualitas. Jangan serakah - tambahkan sebanyak mungkin jaringan yang Anda butuhkan.
Tidak jauh lagi adalah konferensi Saint HighLoad ++ berikutnya. Pada tanggal 6 dan 7 April di St. Petersburg, kita pasti akan mendengar contoh penggunaan jaringan saraf dan pembelajaran mesin dalam produksi yang kompleks dan, tentu saja, cara untuk mencapai kinerja tinggi. Jika Anda hanya ingin berbagi pengalaman ini - daripada mengirimkan laporan , ada sangat sedikit waktu sebelum tenggat waktu Panggilan untuk Makalah. Atau ikuti pengumuman laporan bahwa kami akan mulai menyetujui program di milis untuk memutuskan waktu untuk berpartisipasi dalam konferensi.