Rumah > Peranti teknologi > AI > Bagaimana cara melakukan klasifikasi imej dengan model MobileNeTv2?

Bagaimana cara melakukan klasifikasi imej dengan model MobileNeTv2?

Lisa Kudrow
Lepaskan: 2025-03-04 11:02:09
asal
1005 orang telah melayarinya

MobileNet adalah model sumber terbuka yang dibuat untuk menyokong kemunculan telefon pintar. Ia menggunakan seni bina CNN untuk melaksanakan tugas penglihatan komputer seperti klasifikasi imej dan pengesanan objek. Model yang menggunakan seni bina ini biasanya memerlukan banyak kos pengiraan dan sumber perkakasan, tetapi Mobilenet dibuat untuk bekerja dengan peranti mudah alih dan membenamkan.

Selama bertahun-tahun, model ini telah digunakan untuk pelbagai aplikasi dunia nyata. Ia juga mempunyai beberapa keupayaan, seperti mengurangkan parameter menggunakan convolution pemisahan mendalam. Oleh itu, dengan sumber perkakasan terhad peranti mudah alih, teknik ini dapat membantu menjadikan model berfungsi.

Kami akan membincangkan bagaimana model ini dengan cekap mengklasifikasikan imej menggunakan kelas yang diramalkan pra-terlatih kepada imej pengelas dengan kedalaman.

Objektif Pembelajaran

  • belajar tentang mobilenet dan prinsip kerja.
  • Dapatkan wawasan tentang seni bina mobilenet.
  • Jalankan kesimpulan pada Mobilenet untuk melakukan klasifikasi imej.
  • meneroka aplikasi kehidupan sebenar Mobilenet.
Artikel ini diterbitkan sebagai sebahagian daripada Blogathon Sains Data

Jadual Kandungan Prinsip kerja mobilenet covulation standard

Bagaimana kerja konvolusi yang mendalam dan pointwise? Klasifikasi

Memuatkan Imej Input
  • Memuatkan model pra-dilatih untuk klasifikasi imej
  • pemprosesan input
  • output
  • Prinsip Kerja Mobilenet
    • Prinsip kerja Mobilenet adalah salah satu bahagian yang paling penting dalam struktur model ini. Ia menggariskan teknik dan kaedah yang digunakan untuk membina model ini dan menjadikannya mudah disesuaikan dengan peranti mudah alih dan tertanam. Reka bentuk model ini memanfaatkan seni bina Neural Neural Rangkaian (CNN) untuk membolehkannya beroperasi pada peranti mudah alih.
    • Walau bagaimanapun, bahagian penting dalam seni bina ini adalah penggunaan konvolusi yang boleh dipisahkan untuk mengurangkan bilangan parameter. Kaedah ini menggunakan dua operasi: Convolution Depthwise dan Pointwise.
    • Kovulasi standard
    • Proses convolution standard bermula dengan penapis (kernel); Langkah ini adalah di mana ciri -ciri imej seperti tepi, tekstur, atau corak dikesan dalam imej. Ini diikuti dengan meluncur penapis merentasi lebar dan ketinggian imej. Dan setiap langkah melibatkan pendaraban dan penjumlahan elemen. Jumlah ini memberikan satu nombor yang menghasilkan pembentukan peta ciri. Ia mewakili kehadiran dan kekuatan ciri -ciri yang dikesan oleh penapis.
    • Walau bagaimanapun, ini datang dengan kos pengiraan yang tinggi dan jumlah parameter yang meningkat, oleh itu keperluan untuk konvolusi kedalaman dan titik bijak.

      Bagaimana cara melakukan klasifikasi imej dengan model MobileNeTv2? Bagaimanakah kerja konvolusi kedalaman dan pointwise?

      Convolution kedalaman menggunakan penapis tunggal ke saluran input, sementara pointwise menggabungkan output dari convolution kedalaman untuk membuat ciri -ciri baru dari imej.

      Jadi, perbezaan di sini ialah dengan mendalam menggunakan hanya satu penapis, tugas pendaraban dikurangkan, yang bermaksud output mempunyai bilangan saluran yang sama seperti input. Ini membawa kepada konvolusi pointwise.

      tbe pointwise convolution menggunakan penapis 1 × 1 yang menggabungkan atau mengembangkan ciri -ciri. Ini membantu model untuk mempelajari corak yang berbeza di ciri -ciri saluran untuk membuat peta ciri baru. Ini membolehkan konvolusi pointwise meningkatkan atau mengurangkan bilangan saluran dalam peta ciri output.

      Mobilenet Architecure

      Model penglihatan komputer ini dibina di atas seni bina CNN untuk melaksanakan klasifikasi imej dan tugas pengesanan objek. Penggunaan konvolusi yang boleh dipisahkan secara mendalam adalah untuk menyesuaikan model ini ke peranti mudah alih dan tertanam, kerana ia membenarkan bangunan rangkaian saraf yang ringan.

      Mekanisme ini membawa pengurangan jumlah parameter dan latensi untuk memenuhi kekangan sumber. Senibina membolehkan kecekapan dan ketepatan dalam output model.

      Versi kedua model ini (MobileneTv2) dibina dengan peningkatan. Mobilenet v2 memperkenalkan jenis blok bangunan khas yang disebut sisa terbalik dengan kesesakan. Blok ini membantu mengurangkan bilangan saluran yang diproses, menjadikan model lebih cekap. Ia juga termasuk pintasan antara lapisan kesesakan untuk meningkatkan aliran maklumat. Daripada menggunakan fungsi pengaktifan standard (RELU) di lapisan terakhir, ia menggunakan pengaktifan linear, yang berfungsi lebih baik kerana data mempunyai saiz spatial yang lebih rendah pada peringkat itu.

      bagaimana untuk menjalankan model ini?

      Menggunakan model ini untuk klasifikasi imej memerlukan beberapa langkah. Model ini menerima dan mengklasifikasikan imej input menggunakan kelas ramalan terbina. Mari kita menyelam ke langkah -langkah bagaimana untuk menjalankan Mobilenet:

      mengimport perpustakaan yang diperlukan untuk klasifikasi imej

      Anda perlu mengimport beberapa modul penting untuk menjalankan model ini. Ini bermula dengan mengimport pemproses imej dan modul klasifikasi imej dari perpustakaan Transformer. Mereka membantu untuk memproses imej dan memuatkan model pra-terlatih. Juga, PIL digunakan untuk memanipulasi imej, sementara 'permintaan' membolehkan anda mengambil imej dari web.

      from transformers import AutoImageProcessor, AutoModelForImageClassification
      from PIL import Image
      import requests
      Salin selepas log masuk

      Memuatkan Imej Input

       image = Image.open('/content/imagef-ishfromunsplash-ezgif.com-webp-to-jpg-converter.jpg')
      Salin selepas log masuk

      Fungsi 'image.open' digunakan dari perpustakaan PIL untuk memuatkan imej dari laluan fail, yang, dalam kes ini, telah dimuat naik dari peranti tempatan kami. Alternatif lain adalah untuk mengambil imej menggunakan urlnya.

      Bagaimana cara melakukan klasifikasi imej dengan model MobileNeTv2?

      Memuatkan model pra-terlatih untuk klasifikasi imej

      Kod di bawah ini memulakan proses 'AutoimageProcessor' proses dari model pra-terlatih MobileNeTv2. Bahagian ini mengendalikan imej pra-pemprosesan sebelum memberi makan kepada model. Juga, seperti yang dilihat pada baris kedua, kod memuatkan model Mobilenetv2 yang sepadan untuk klasifikasi imej.

      preprocessor = AutoImageProcessor.from_pretrained("google/mobilenet_v2_1.0_224")
      model = AutoModelForImageClassification.from_pretrained("google/mobilenet_v2_1.0_224")
      Salin selepas log masuk
      pemprosesan input

      Langkah ini adalah di mana imej pra -diproses ditukar menjadi format yang sesuai untuk pytorch. Kemudian, ia diluluskan melalui model untuk menghasilkan logit output, yang akan ditukar menjadi kebarangkalian menggunakan softmax.

      inputs = preprocessor(images=image, return_tensors="pt")
       
      outputs = model(**inputs)
      logits = outputs.logits
      Salin selepas log masuk
      output

       # model predicts one of the 1000 ImageNet classes
      predicted_class_idx = logits.argmax(-1).item()
      print("Predicted class:", model.config.id2label[predicted_class_idx])
      Salin selepas log masuk
      Kod ini mendapati kelas dengan skor ramalan tertinggi dari output model (logit) dan mengambil labelnya yang sepadan dari konfigurasi model. Label kelas yang diramalkan kemudian dicetak.

      inilah output:

      Bagaimana cara melakukan klasifikasi imej dengan model MobileNeTv2? Berikut adalah pautan ke fail colab.

      Aplikasi model ini

      Mobilenet telah menemui aplikasi dalam pelbagai kes penggunaan kehidupan sebenar. Dan ia telah digunakan di pelbagai bidang termasuk penjagaan kesihatan. Berikut adalah beberapa aplikasi model ini:

      Semasa pandemik Covid, mobilenet digunakan untuk mengkategorikan x-ray dada menjadi tiga: normal, covid, dan pneumonia virus. Hasilnya juga datang dengan ketepatan yang sangat tinggi.
      • Mobilenetv2 juga cekap dalam mengesan dua bentuk utama kanser kulit. Inovasi ini adalah penting kerana penjagaan kesihatan di kawasan yang tidak mampu bersambung dengan sambungan internet yang stabil.
      • Dalam pertanian, model ini juga penting dalam mengesan penyakit daun dalam tanaman tomato. Oleh itu, dengan aplikasi mudah alih, model ini dapat membantu mengesan 10 penyakit daun biasa.
      • anda juga boleh menyemak model di sini: pautan
      membungkus

      Mobilenet adalah hasil daripada masterclass oleh penyelidik Google dalam membawa model dengan kos pengiraan yang tinggi ke peranti mudah alih tanpa mengganggu kecekapan mereka. Model ini dibina di atas seni bina yang membolehkan penciptaan klasifikasi imej dan pengesanan hanya dari aplikasi mudah alih. Kes penggunaan dalam penjagaan kesihatan dan pertanian adalah bukti kapasiti model ini.

      Takeaway Key

      Terdapat beberapa perkara bercakap tentang bagaimana model ini berfungsi, dari seni bina ke aplikasi. Berikut adalah beberapa kemuncak artikel ini:

      • Arkitek yang dipertingkatkan: Versi kedua Mobilenet datang dengan sisa terbalik dan lapisan kesesakan di Mobilenetv2. Pembangunan ini meningkatkan kecekapan dan ketepatan sambil mengekalkan prestasi ringan.
      • Pengoptimuman mudah alih yang cekap: Reka bentuk model ini untuk reka bentuk mudah alih dan tertanam bermakna ia berfungsi dengan sumber pengiraan yang rendah semasa menawarkan prestasi yang berkesan.
      • Aplikasi dunia nyata: Mobilenet telah berjaya digunakan dalam penjagaan kesihatan (mis., Covid-19 dan pengesanan kanser kulit) dan pertanian (mis., Mengesan penyakit daun dalam tanaman).

      Media yang ditunjukkan dalam artikel ini tidak dimiliki oleh Analytics Vidhya dan digunakan pada budi bicara penulis.

      Soalan Lazim

      Q1. Apa yang menjadikan MobileNeTv2 berbeza daripada model CNN yang lain?

      Ans. MobileneTv2 menggunakan konvolusi yang boleh dipisahkan dan sisa terbalik, menjadikannya lebih cekap untuk sistem mudah alih dan tertanam berbanding dengan CNN tradisional.

      Q2. Bolehkah MobileNeTv2 digunakan untuk aplikasi masa nyata? 

      ans. MobileNeTv2 dioptimumkan untuk tugas-tugas klasifikasi imej latensi rendah dan masa nyata, menjadikannya sesuai untuk peranti mudah alih dan kelebihan.

      Q3. Betapa tepatnya MobileNeTv2 berbanding dengan model yang lebih besar? 

      ans. Walaupun MobileNeTv2 dioptimumkan untuk kecekapan, ia mengekalkan ketepatan yang tinggi dekat dengan model yang lebih besar, menjadikannya pilihan yang kuat untuk aplikasi AI mudah alih.

      Q4. Betapa tepatnya MobileNeTv2 berbanding dengan model yang lebih besar?

      Ans. Walaupun MobileneTv2 dioptimumkan untuk kecekapan, ia mengekalkan ketepatan yang tinggi dekat dengan model yang lebih besar, menjadikannya pilihan yang kuat untuk aplikasi AI mudah alih.

Atas ialah kandungan terperinci Bagaimana cara melakukan klasifikasi imej dengan model MobileNeTv2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan