Citra satelit menjadi sumber wawasan yang semakin penting mengenai perubahan yang terjadi di seluruh dunia. Ada beberapa satelit yang menyediakan data yang tersedia untuk umum dengan cakupan bumi hampir seluruhnya dan frekuensi hampir mingguan.

Salah satu tantangan utama dalam citra satelit adalah mendapatkan wawasan dari kumpulan data besar yang terus diperbarui. Dalam postingan blog ini, saya ingin menunjukkan bagaimana Anda dapat menggunakan label khusus Amazon Rekognition untuk melatih model yang akan menghasilkan wawasan berdasarkan citra satelit Sentinel-2 yang tersedia untuk umum di AWS.

Misi Sentinel-2 adalah konstelasi pemantauan daratan dari dua satelit yang menyediakan citra optik resolusi tinggi. Ini memiliki frekuensi sekitar 5 hari dan resolusi 10 meter. Dalam contoh kita, kita akan menggunakan citra satelit untuk mendeteksi dan mengklasifikasikan lahan pertanian.

Cara mengakses citra Sentinel-2

Ada beberapa cara bagaimana Anda dapat mengakses citra satelit:

  • Gunakan salah satu browser yang disebutkan di halaman https://registry.opendata.aws/sentinel-2/
  • Unduh citra langsung dari bucket Amazon S3. Amazon S3 adalah layanan penyimpanan yang menyediakan akses terukur dan aman untuk mengunduh dan mengunggah data.

Browser adalah pilihan terbaik untuk menemukan gambar tunggal untuk tanggal dan tempat tertentu. Amazon S3 adalah pilihan yang lebih baik jika Anda ingin mengotomatiskan alur kerja atau mengembangkan aplikasi menggunakan citra satelit. Saya ingin menunjukkan penggunaan penyimpanan Amazon S3 Sentinel-2 karena ini adalah cara terbaik untuk menggunakan citra jika Anda perlu mengatur alur untuk pemrosesannya.

Temukan adegan Sentinel-2

Salah satu opsi paling sederhana untuk menemukan adegan yang diperlukan adalah dengan menggunakan browser Sentinel-2. Ada banyak browser di luar sana. Dalam contoh kita, kita akan menggunakan browser EO karena menyediakan jalur S3 untuk gambar. Pada dasarnya, Anda hanya perlu menentukan parameter pencarian dan kemudian menyalin bidang jalur AWS.

Unduh band gambar

Saat menangani citra satelit, kami bekerja dengan banyak gambar dari spektrum berbeda. Idenya di sini adalah bahwa setiap pita spektral dapat memberikan wawasan yang berbeda. Oleh karena itu terkadang lebih berguna untuk membuat gambar bukan dengan pita RGB, tetapi dengan pita lain, misalnya NIR yang merupakan singkatan dari citra Near Infra-Red. Band ini memberikan wawasan yang luar biasa tentang vegetasi. Itulah sebabnya kombinasi pita NIR-Merah-Hijau sangat populer dan disebut Warna Palsu karena ini bukan gambar RGB sebenarnya. Setelah kita memiliki jalur AWS, kita dapat menggunakan perintah AWS CLI untuk mengunduh pita yang diperlukan. Dalam kasus kita, kita ingin membuat gambar vegetasi False Color yang akan memiliki kontras lebih tinggi untuk area vegetasi sehingga kita perlu mengunduh pita NIR-Red-Greed (masing-masing 8,4,3).

Siapkan gambar Sentinel-2 Warna Palsu

Setelah pita diunduh, kita dapat menggunakan rasterio perpustakaan python untuk mengkompilasi gambar False Color dan menskalakan pita karena awalnya disediakan dalam format uint16, namun nilainya sebenarnya terletak pada kisaran 0–2¹². Berikut adalah contoh kode yang melakukan hal itu:

Kita akan mendapatkan hasil sebagai berikut:

Setelah kita memiliki gambar Vegetasi Warna Palsu ini, kita sebenarnya dapat memangkasnya di beberapa area untuk menggunakan beberapa di antaranya sebagai contoh dan beberapa di antaranya untuk kumpulan data pelatihan dan pengujian.

Cara melatih dan menjalankan model Amazon Recognition

Setelah kita memiliki gambar, kita dapat membuat kumpulan data dan melatih model kita. Salah satu keuntungan utama menggunakan Amazon Rekognition adalah Anda tidak perlu mengetahui kerangka pembelajaran mendalam atau menulis kode untuk pelatihan atau inferensi pembelajaran mendalam. Anda juga tidak perlu mengelola infrastruktur pembelajaran mendalam dan dapat langsung mulai menggunakan model Amazon Rekognition.

Buat dan beri label Kumpulan Data

  1. Buat kumpulan data
  2. Pilih “Unggah gambar dari komputer Anda”
  3. Pada halaman kumpulan data, klik “Tambahkan gambar”
  4. Di jendela pop-up, klik Pilih File dan pilih file dari komputer Anda. Lalu klik “Unggah gambar”
  5. Buat label “bidang aktif”, “bidang semi-aktif”, “bidang non-aktif”
  6. Klik “Mulai memberi label”, pilih gambar, lalu klik “Gambar kotak pembatas”
  7. Di halaman baru, Anda sekarang dapat memilih label dan kemudian menggambar persegi panjang untuk setiap label. Setelah selesai memberi label, Anda dapat beralih ke gambar lain atau klik “Selesai”.

Latih dan jalankan modelnya

  1. Pada halaman proyek klik “Buat Proyek”
  2. Pada halaman proyek pilih “Latih model baru”
  3. Pilih dataset yang baru saja kita buat lalu pilih “Split training dataset” untuk dataset pengujian. Kemudian klik “Latihan”.
  4. Setelah model dilatih, Anda dapat mulai membuat prediksi.

Anda dapat mengevaluasi model menggunakan salah satu crop dari gambar yang telah kita proses sebelumnya. Rekognition akan mengembalikan hasil json dengan prediksi wilayah yang dapat kita visualisasikan.

Visualisasikan hasilnya

Anda dapat memvisualisasikan hasilnya menggunakan kode berikut di notebook jupyter. Kode ini mengurai respons dari model Amazon Rekognition dan menggambar kotak prediksi pada gambar. Ini juga memperhitungkan jenis label dan prediksi tanda dengan warna berbeda berdasarkan kelas.

Berikut tampilan outputnya:

Kesimpulan

Kami telah melatih dan menerapkan model untuk menemukan lahan pertanian pada citra satelit menggunakan Amazon Rekognition. Seperti yang Anda lihat, pengaturannya cukup sederhana dan Anda dapat menggunakan contoh ini untuk mengembangkan model yang lebih kompleks untuk tugas citra satelit lainnya, misalnya, pemantauan hutan dan deteksi bangunan.

Jangan ragu untuk memeriksa kode di repo berikut:

https://github.com/ryfeus/amazon-rekognition-custom-labels-satellite-imagery