Rumah >Peranti teknologi >AI >Meneroka Model Segmen Meta apa -apa untuk pengimejan perubatan
Segmen Meta apa -apa model (SAM) telah menunjukkan keupayaannya untuk mengesan objek dalam pelbagai bidang imej. Senibina model ini fleksibel, dan pengguna boleh membimbingnya dengan pelbagai arahan. Semasa latihan, ia boleh segmen objek yang tidak dalam datasetnya.
Ciri -ciri ini menjadikan model ini sebagai alat yang sangat berkesan untuk mengesan dan membahagikan objek untuk sebarang tujuan. Alat ini juga boleh digunakan untuk tugas segmentasi tertentu, seperti yang kita lihat dengan aplikasi berasaskan industri seperti kenderaan memandu sendiri dan robotik. Satu lagi terperinci penting dalam model ini ialah bagaimana ia dapat segmen imej menggunakan topeng dan kotak terikat, yang penting dalam bagaimana ia berfungsi untuk tujuan perubatan.
Walau bagaimanapun, segmen Meta apa -apa model untuk pengimejan perubatan memainkan peranan besar dalam mendiagnosis dan mengesan keabnormalan dalam imej yang diimbas. Medsam melatih model pada pasangan imej-topeng yang dikumpulkan dari sumber yang berbeza. Dataset ini juga meliputi lebih daripada 15 modaliti imej dan lebih daripada 30 jenis kanser.
Kami akan membincangkan bagaimana model ini dapat mengesan objek dari imej perubatan menggunakan kotak terikat.
Artikel ini diterbitkan sebagai sebahagian daripada Blogathon Sains Data.
SAM adalah model segmentasi imej yang dibangunkan oleh META untuk mengenal pasti objek di hampir mana -mana kawasan imej. Atribut terbaik model ini adalah fleksibiliti, yang membolehkannya untuk umum apabila mengesan imej.
Model ini dilatih pada 11 juta imej dunia nyata yang menarik, tetapi lebih menarik, ia boleh segmen objek yang tidak hadir dalam datasetnya.
Terdapat banyak segmentasi imej dan model pengesanan objek dengan struktur yang berbeza. Model-model seperti ini boleh menjadi model khusus atau asas, tetapi Sam, sebagai model 'segmen-it-all', boleh menjadi kedua-duanya kerana ia mempunyai latar belakang asas yang baik untuk mengesan berjuta-juta imej sementara juga meninggalkan ruang untuk penalaan halus. Di sinilah penyelidik datang dengan pelbagai idea, sama seperti dengan Medsam.
Kemuncak keupayaan Sam adalah keupayaannya untuk menyesuaikan diri. Ia juga merupakan model segmentasi berasaskan prompt, yang bermaksud ia dapat menerima maklumat tentang cara melaksanakan tugas segmentasi. Ini termasuk latar depan, latar belakang, kotak kasar, kotak terikat, topeng, teks, dan maklumat lain yang dapat membantu segmen model imej.
Prinsip asas seni bina model ini ialah pengekod imej, pengekod prompt, dan pengekod topeng. Ketiga komponen ini memainkan peranan besar dalam melaksanakan tugas segmentasi. Imej dan encoder prompt membantu menjana imej dan embeddings prompt. Pengekod topeng mengesan topeng yang dihasilkan untuk imej yang anda mahu segmen menggunakan prompt.
Menggunakan segmen apa -apa model untuk tujuan perubatan patut dicuba. Juga, model ini mempunyai dataset yang besar dan keupayaan yang berbeza -beza, jadi mengapa tidak pengimejan perubatan? Walau bagaimanapun aplikasi dalam segmentasi perubatan datang dengan beberapa batasan kerana sifat imej perubatan dan masalah dengan bagaimana model dapat menangani kotak -kotak yang tidak menentu dalam imej. Dengan cabaran dari sifat topeng imej dalam imej perubatan, keperluan untuk pengkhususan menjadi penting. Jadi, yang membawa inovasi Medsam, model segmentasi yang dibina di atas seni bina Sam tetapi disesuaikan dengan imej perubatan.
Model ini boleh mengendalikan pelbagai tugas dalam struktur anatomi dan contoh imej yang berbeza. Pencitraan perubatan mendapat hasil yang berkesan dengan model ini; 15 modaliti pengimejan dan lebih daripada 30 jenis kanser menunjukkan skala besar latihan segmentasi imej perubatan yang terlibat dalam medsam.
Medsam dibina di atas model SAM yang terlatih. Rangka kerja ini melibatkan imej dan pengekod prompt yang menghasilkan embeddings untuk topeng pengekodan pada imej sasaran.
Pengekod imej dalam segmen apa -apa model memproses maklumat kedudukan yang memerlukan banyak kuasa pengkomputeran. Untuk membuat proses lebih cekap, penyelidik model ini memutuskan untuk "membekukan" kedua -dua pengekod imej dan pengekod prompt. Ini bermakna mereka berhenti mengemas kini atau mengubah bahagian -bahagian ini semasa latihan.
Pengekod prompt, yang membantu memahami kedudukan objek menggunakan data dari pengekod kotak terikat di SAM, juga tidak berubah. Dengan membekukan komponen ini, mereka mengurangkan kuasa pengkomputeran yang diperlukan dan menjadikan sistem lebih cekap.
Para penyelidik meningkatkan seni bina model ini untuk menjadikannya lebih cekap. Sebelum mendorong model, mereka mengira imej imej 'embeddings imej untuk mengelakkan pengiraan berulang. Pengekod topeng-satu-satunya yang disempurnakan-sekarang mencipta satu encoder topeng dan bukannya tiga, kerana kotak terikat membantu dengan jelas menentukan kawasan itu untuk segmen. Pendekatan ini menjadikan latihan lebih cekap.
Berikut adalah ilustrasi grafik bagaimana model ini berfungsi:
Model ini memerlukan beberapa perpustakaan berfungsi, dan kami akan menyelam bagaimana anda boleh menjalankan tugas segmentasi pengimejan perubatan pada imej.
Kami memerlukan beberapa lagi perpustakaan untuk menjalankan model ini, kerana kami juga perlu melukis garisan pada kotak terikat sebagai sebahagian daripada petikan. Kami akan bermula dengan memulakan dengan permintaan, numpy, dan metaplot.
permintaan import import numpy sebagai np import matplotlib.pyplot sebagai PLT dari gambar import pil Dari Transformers Import Sammodel, Samprocessor obor import
Perpustakaan 'Permintaan' membantu mengambil imej dari sumber mereka. Perpustakaan 'numpy' menjadi berguna kerana kami melakukan operasi berangka yang melibatkan koordinat kotak terikat. PIL dan Metaplot membantu dalam pemprosesan imej dan paparan, masing -masing. Sebagai tambahan kepada model SAM, pemproses dan obor (pengiraan pengiraan yang ditakrifkan dalam kod di bawah) adalah pakej penting untuk menjalankan model ini.
peranti = "cuda" jika obor.cuda.is_available () lain "cpu"
model = sammodel.from_pretrained ("flaviagiammarino/medsam-vit-base"). ke (peranti) pemproses = samprocessor.from_pretrained ("flaviagiammarino/medsam-vit-base")
Oleh itu, model pra-terlatih biasanya menggunakan peranti pengkomputeran yang paling sesuai, seperti GPU atau CPU. Operasi ini berlaku sebelum memuatkan pemproses model dan menyediakannya untuk data input imej.
img_url = "https://huggingface.co/flaviagiammarino/medsam-vit-base/resolve/main/scripts/input.png" raw_image = image.open (requests.get (img_url, stream = true) .raw) .convert ("rgb") input_boxes = [95., 255., 190., 350.]
Memuatkan imej dengan URL adalah mudah, terutamanya dengan perpustakaan kami di alam sekitar. Kami juga boleh membuka imej dan menukarnya ke format yang serasi untuk diproses. Senarai 'input_boxes' mentakrifkan kotak terikat dengan koordinat [95, 255, 190, 350]. Nombor ini mewakili sudut kanan kiri dan bawah kanan rantau yang menarik. Menggunakan kotak terikat, kita boleh melaksanakan tugas segmentasi yang memberi tumpuan kepada rantau tertentu.
Seterusnya, kami memproses input imej, menjalankan model segmentasi, dan menyediakan topeng output. Pemproses model menyediakan imej mentah dan kotak input dan menukarkannya menjadi format yang sesuai untuk diproses. Selepas itu, input yang diproses dijalankan untuk meramalkan kebarangkalian topeng. Kod ini menghasilkan topeng berasaskan kebarangkalian untuk rantau yang dibahagikan.
input = pemproses (raw_image, input_boxes = [[input_boxes]], return_tensors = "pt"). ke (peranti) output = model (** input, multimask_output = false) probs = pemproses.image_processor.post_process_masks (outputs.pred_masks.sigmoid (). cpu (), input ["original_sizes"].
def show_mask (topeng, kapak, random_color): jika rawak_color: warna = np.concatenate ([np.random.random (3), np.array ([0.6])], paksi = 0) lain: warna = np.array ([251/255, 252/255, 30/255, 0.6]) h, w = mask.shape [-2:] Mask_image = mask.Reshape (H, W, 1) * Color.Reshape (1, 1, -1) ax.imshow (mask_image)
Di sini, kami cuba menunjukkan topeng berwarna pada imej menggunakan 'kapak. tunjukkan. ' Fungsi Show_Mask memaparkan topeng segmentasi pada plot. Ia boleh menggunakan warna rawak atau kuning lalai. Topeng diubah saiznya sesuai dengan imej, dilapisi dengan warna yang dipilih, dan digambarkan menggunakan 'ax.show'.
Selepas itu, fungsi menarik segi empat tepat menggunakan koordinat dan kedudukannya. Proses ini berjalan seperti yang ditunjukkan di bawah;
def show_box (kotak, kapak): x0, y0 = kotak [0], kotak [1] W, H = Box [2] - Box [0], Box [3] - Box [1] ax.add_patch (plt.rectangle ((x0, y0), w, h, edgecolor = "biru", faceColor = (0, 0, 0, 0), lw = 2))
Rajah, kapak = plt.subplots (1, 2, figsize = (10, 5)) kapak [0] .Imshow (np.array (raw_image)) show_box (input_boxes, kapak [0]) kapak [0] .set_title ("Imej Input dan Kotak Baris") kapak [0] .axis ("off") kapak [1] .imshow (np.array (raw_image)) show_mask (topeng = probs [0]> 0.5, ax = ax [1], random_color = false) show_box (input_boxes, kapak [1]) Ax [1] .set_title ("Segmentation MedSam") kapak [1] .axis ("off") plt.show ()
Kod ini mencipta angka dengan dua subplot bersebelahan untuk memaparkan imej input dengan kotak terikat dan hasilnya. Subplot pertama menunjukkan imej asal dengan kotak terikat, dan yang kedua menunjukkan imej dengan topeng yang dilapisi dan kotak terikat.
Sam, sebagai model asas adalah alat pelbagai guna; Dengan keupayaan generalisasi yang tinggi dan berjuta-juta latihan dataset dari imej dunia nyata, terdapat banyak model ini. Berikut adalah beberapa aplikasi biasa model ini:
Medsam adalah peristiwa besar dalam segmen penggunaan model apa -apa model. Pencitraan perubatan lebih kompleks daripada imej biasa; Model ini membantu kita memahami konteks ini. Menggunakan pendekatan diagnostik yang berbeza untuk mengesan jenis kanser dan sel-sel lain dalam pengimejan perubatan boleh menjadikan model ini lebih cekap untuk pengesanan khusus tugas.
Segmen Meta apa -apa kepelbagaian model telah menunjukkan potensi yang besar. Keupayaan pengimejan perubatannya adalah peristiwa penting dalam merevolusi diagnosis dan tugas yang berkaitan dalam industri penjagaan kesihatan. Mengintegrasikan kotak terikat menjadikannya lebih berkesan. Pencitraan perubatan hanya boleh bertambah baik apabila model asas SAM berkembang.
A. Sam adalah teknik pemprosesan imej yang dibangunkan oleh meta untuk mengesan objek dan segmen mereka di mana -mana rantau dalam imej. Ia juga boleh segmen objek yang tidak dilatih dalam dataset model. Model ini dilatih untuk beroperasi dengan arahan dan topeng dan boleh disesuaikan di pelbagai domain.
S2. Bagaimanakah Medsam berbeza dari model SAM asal?A. Medsam adalah versi SAM yang direka khas untuk pengimejan perubatan. Walaupun SAM adalah tujuan umum, MEDSAM dioptimumkan untuk mengendalikan sifat pengimejan perubatan yang kompleks, yang diterjemahkan kepada pelbagai modaliti pengimejan dan pengesanan kanser.
Q3. Bolehkah Sam digunakan untuk aplikasi masa nyata?A. Keupayaan pemprosesan dan pemprosesan masa nyata model ini membolehkan ia digunakan dalam aplikasi masa nyata, termasuk kenderaan memandu sendiri dan robotik. Ia dapat dengan cepat dan cekap mengesan dan memahami objek dalam imej.
Media yang ditunjukkan dalam artikel ini tidak dimiliki oleh Analytics Vidhya dan digunakan atas budi bicara penulis.
Atas ialah kandungan terperinci Meneroka Model Segmen Meta apa -apa untuk pengimejan perubatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!