You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/id/4-manufacturing/lessons/2-check-fruit-from-device/single-board-computer-class...

5.2 KiB

Klasifikasi Gambar - Perangkat IoT Virtual dan Raspberry Pi

Dalam bagian pelajaran ini, Anda akan mengirimkan gambar yang diambil oleh kamera ke layanan Custom Vision untuk diklasifikasikan.

Mengirim Gambar ke Custom Vision

Layanan Custom Vision memiliki SDK Python yang dapat Anda gunakan untuk mengklasifikasikan gambar.

Tugas - Mengirim Gambar ke Custom Vision

  1. Buka folder fruit-quality-detector di VS Code. Jika Anda menggunakan perangkat IoT virtual, pastikan lingkungan virtual berjalan di terminal.

  2. SDK Python untuk mengirim gambar ke Custom Vision tersedia sebagai paket Pip. Instal dengan perintah berikut:

    pip3 install azure-cognitiveservices-vision-customvision
    
  3. Tambahkan pernyataan impor berikut di bagian atas file app.py:

    from msrest.authentication import ApiKeyCredentials
    from azure.cognitiveservices.vision.customvision.prediction import CustomVisionPredictionClient
    

    Ini membawa beberapa modul dari pustaka Custom Vision, satu untuk autentikasi dengan kunci prediksi, dan satu untuk menyediakan kelas klien prediksi yang dapat memanggil Custom Vision.

  4. Tambahkan kode berikut di akhir file:

    prediction_url = '<prediction_url>'
    prediction_key = '<prediction key>'
    

    Ganti <prediction_url> dengan URL yang Anda salin dari dialog Prediction URL sebelumnya dalam pelajaran ini. Ganti <prediction key> dengan kunci prediksi yang Anda salin dari dialog yang sama.

  5. URL prediksi yang disediakan oleh dialog Prediction URL dirancang untuk digunakan saat memanggil endpoint REST secara langsung. SDK Python menggunakan bagian-bagian dari URL di tempat yang berbeda. Tambahkan kode berikut untuk memecah URL ini menjadi bagian-bagian yang diperlukan:

    parts = prediction_url.split('/')
    endpoint = 'https://' + parts[2]
    project_id = parts[6]
    iteration_name = parts[9]
    

    Ini memecah URL, mengekstrak endpoint https://<location>.api.cognitive.microsoft.com, ID proyek, dan nama iterasi yang dipublikasikan.

  6. Buat objek prediktor untuk melakukan prediksi dengan kode berikut:

    prediction_credentials = ApiKeyCredentials(in_headers={"Prediction-key": prediction_key})
    predictor = CustomVisionPredictionClient(endpoint, prediction_credentials)
    

    prediction_credentials membungkus kunci prediksi. Ini kemudian digunakan untuk membuat objek klien prediksi yang menunjuk ke endpoint.

  7. Kirim gambar ke Custom Vision menggunakan kode berikut:

    image.seek(0)
    results = predictor.classify_image(project_id, iteration_name, image)
    

    Ini mengembalikan posisi gambar ke awal, lalu mengirimkannya ke klien prediksi.

  8. Terakhir, tampilkan hasilnya dengan kode berikut:

    for prediction in results.predictions:
        print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
    

    Ini akan melakukan iterasi melalui semua prediksi yang telah dikembalikan dan menampilkannya di terminal. Probabilitas yang dikembalikan adalah angka floating point dari 0-1, dengan 0 berarti 0% kemungkinan cocok dengan tag, dan 1 berarti 100% kemungkinan.

    💁 Pengklasifikasi gambar akan mengembalikan persentase untuk semua tag yang telah digunakan. Setiap tag akan memiliki probabilitas bahwa gambar cocok dengan tag tersebut.

  9. Jalankan kode Anda, dengan kamera Anda mengarah ke beberapa buah, atau set gambar yang sesuai, atau buah yang terlihat di webcam Anda jika menggunakan perangkat IoT virtual. Anda akan melihat output di konsol:

    (.venv) ➜  fruit-quality-detector python app.py
    ripe:   56.84%
    unripe: 43.16%
    

    Anda akan dapat melihat gambar yang diambil, dan nilai-nilai ini di tab Predictions di Custom Vision.

    Sebuah pisang di Custom Vision diprediksi matang dengan probabilitas 56.8% dan belum matang dengan probabilitas 43.1%

💁 Anda dapat menemukan kode ini di folder code-classify/pi atau code-classify/virtual-iot-device.

😀 Program pengklasifikasi kualitas buah Anda berhasil!


Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI Co-op Translator. Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.