Alam tidak memiliki cuaca buruk, setiap cuaca adalah anugerah. Perkataan lirik lagu ini dapat dipahami secara kiasan, mengartikan cuaca sebagai hubungan antar manusia. Anda dapat memahami secara harfiah, yang juga benar, karena tidak akan ada musim dingin yang bersalju dan dingin, kami tidak akan terlalu menghargai musim panas, dan sebaliknya. Tetapi kendaraan tak berawak tidak memiliki perasaan liris dan pandangan puitis, bagi mereka tidak semua cuaca menyenangkan, terutama musim dingin. Salah satu masalah utama yang dihadapi oleh pengembang "kendaraan robot" adalah penurunan akurasi sensor yang memberi tahu mobil ke mana harus pergi selama kondisi cuaca buruk. Para ilmuwan dari Michigan Technological University telah membuat database kondisi cuaca di jalan "melalui mata" kendaraan tak berawak. Data ini diperlukan untuk memahami apa yang perlu diubah atau ditingkatkan agar penglihatan kendaraan robot saat badai salju tidak lebih buruk,daripada pada hari musim panas yang cerah. Seberapa buruk cuaca memengaruhi sensor kendaraan tak berawak, metode pemecahan masalah apa yang diusulkan para ilmuwan, dan seberapa efektif? Kami akan menemukan jawaban atas pertanyaan-pertanyaan ini dalam laporan para ilmuwan. Pergilah.
Dasar penelitian
Pengoperasian mobil self-driving dapat dibandingkan dengan persamaan di mana ada banyak variabel yang harus diperhitungkan tanpa kecuali untuk mendapatkan hasil yang benar. Pejalan kaki, mobil lain, kualitas permukaan jalan (visibilitas garis pemisah), integritas sistem drone itu sendiri, dll. Banyak penelitian ilmuwan, pernyataan provokatif politisi, artikel tajam jurnalis didasarkan pada hubungan antara kendaraan tak berawak (selanjutnya hanya mobil atau mobil) dan pejalan kaki. Ini cukup logis, karena seseorang dan keselamatannya harus didahulukan, terutama mengingat perilakunya yang tidak dapat diprediksi. Perselisihan moral dan etika tentang siapa yang akan disalahkan jika sebuah mobil menabrak pejalan kaki yang melompat ke jalan terus berlanjut hingga hari ini.
Namun, jika kita menghapus variabel "pejalan kaki" dari persamaan figuratif kita, maka masih akan ada banyak faktor yang berpotensi berbahaya. Cuaca adalah salah satunya. Jelas, dalam cuaca buruk (badai hujan atau badai salju), jarak pandang bisa sangat berkurang sehingga terkadang Anda harus berhenti, karena tidak realistis untuk dikendarai. Penglihatan mobil, tentu saja, sulit untuk dibandingkan dengan penglihatan seseorang, tetapi sensor mereka mengalami penurunan visibilitas tidak kurang dari kita. Di sisi lain, mobil memiliki gudang sensor yang lebih luas: kamera, radar gelombang milimeter (MMW), sistem penentuan posisi global (GPS), penstabil giro (IMU), deteksi cahaya dan jangkauan (LIDAR), dan bahkan sistem ultrasonik. Terlepas dari berbagai indera ini, mobil otonom masih buta selama cuaca buruk.
Untuk memahami apa masalahnya, para ilmuwan mengusulkan untuk mempertimbangkan aspek-aspek, yang kombinasinya dalam satu atau lain cara memengaruhi kemungkinan solusi untuk masalah ini: segmentasi semantik, deteksi jalur yang dapat dilewati (cocok), dan penggabungan sensor.
Dengan segmentasi semantik, alih-alih mendeteksi objek dalam gambar, setiap piksel diklasifikasikan secara individual dan ditetapkan ke kelas yang paling diwakili oleh piksel tersebut. Dengan kata lain, segmentasi semantik adalah klasifikasi tingkat piksel. Segmentasi semantik klasik - convolutional neural network (CNN dari Convolutional neural network A ) - terdiri dari jaringan coding dan decoding.
Jaringan pengkodean menurunkan sampel data input dan mengekstrak fungsi, dan jaringan dekode menggunakan fungsi ini untuk memulihkan dan meningkatkan sampel data input dan akhirnya menetapkan kelas untuk setiap piksel.
Dua komponen kunci dalam jaringan decoding adalah yang disebut lapisan MaxUnpooling dan lapisan konvolusi Transpose. Lapisan MaxUnpooling (analog dari lapisan MaxPooling - operasi penyatuan dengan fungsi maksimum) diperlukan untuk mengurangi dimensi data yang diproses.
Contoh operasi MaxPooling.
Ada beberapa metode untuk mendistribusikan nilai (yaitu, menarik) yang memiliki tujuan bersama untuk menyimpan lokasi nilai maksimum di lapisan MaxPooling dan menggunakan lokasi tersebut untuk menempatkan nilai maksimum kembali ke lokasi yang cocok di lapisan MaxUnpooling yang sesuai. Pendekatan ini mengharuskan jaringan codec menjadi simetris, di mana setiap level MaxPooling di encoder memiliki level MaxUnpooling yang sesuai di sisi decoder.
Pendekatan lain adalah menempatkan nilai di lokasi yang telah ditentukan (misalnya, di sudut kiri atas) di area yang ditunjuk kernel. Metode inilah yang digunakan dalam pemodelan, yang akan dibahas nanti.
Lapisan convolutional yang dialihkan adalah kebalikan dari lapisan convolutional biasa. Ini terdiri dari inti bergerak yang memindai input dan memutar nilai untuk mengisi gambar output. Volume output dari kedua lapisan, MaxUnpooling dan Transpose, dapat dikontrol dengan menyesuaikan ukuran kernel, padding dan pitch.
Aspek kedua, yang berperan penting dalam mengatasi masalah cuaca buruk, adalah pendeteksian jalur yang bisa dilalui.
Jalur pejalan kaki adalah ruang di mana mobil dapat bergerak dengan aman dalam arti fisik, yaitu. deteksi jalur lalu lintas. Aspek ini sangat penting untuk berbagai situasi: parkir, marka jalan yang buruk, visibilitas yang buruk, dll.
Menurut para ilmuwan, deteksi jalur yang dapat dilalui dapat diimplementasikan sebagai langkah awal untuk mendeteksi jalur atau objek apa pun. Proses ini berasal dari segmentasi semantik, yang tujuannya adalah untuk menghasilkan klasifikasi piksel demi piksel setelah pelatihan pada kumpulan data yang dipetakan piksel.
Yang ketiga, namun tidak kalah pentingnya, adalah aspek sensor fusion. Ini berarti secara harfiah menggabungkan data dari beberapa sensor untuk mendapatkan gambaran yang lebih lengkap dan mengurangi kemungkinan kesalahan dan ketidakakuratan dalam data masing-masing sensor. Ada penyatuan sensor yang homogen dan heterogen. Contoh yang pertama adalah penggunaan beberapa satelit untuk memperbaiki posisi GPS. Contoh yang kedua adalah menggabungkan data kamera, LiDAR dan Radar untuk mobil self-driving.
Masing-masing sensor di atas secara individual sebenarnya menunjukkan hasil yang sangat baik, tetapi hanya dalam kondisi cuaca normal. Dalam kondisi kerja yang lebih keras, kekurangan mereka menjadi jelas.
Tabel kelebihan dan kekurangan sensor yang digunakan pada kendaraan tanpa awak.
Itulah sebabnya, menurut para ilmuwan, menggabungkan sensor-sensor ini ke dalam satu sistem dapat membantu memecahkan masalah yang terkait dengan kondisi cuaca buruk.
Pengumpulan data
Dalam penelitian ini, seperti yang disebutkan sebelumnya, jaringan saraf convolutional dan sensor fusion digunakan untuk memecahkan masalah menemukan jalur untuk mengemudi dalam kondisi cuaca buruk. Model yang diusulkan adalah jaringan saraf konvolusi dalam multi-utas (satu utas per sensor) yang akan menurunkan sampel peta fungsi (hasil penerapan satu filter ke lapisan sebelumnya) dari setiap aliran, menggabungkan data, dan kemudian mengambil sampel kembali peta untuk melakukan klasifikasi piksel demi piksel.
Untuk melakukan pekerjaan lebih lanjut, termasuk perhitungan, pemodelan dan pengujian, banyak data yang dibutuhkan. Semakin banyak, semakin baik, kata para ilmuwan itu sendiri, dan ini cukup logis dalam hal pengoperasian berbagai sensor (kamera, LiDAR, dan Radar). Di antara banyak kumpulan data yang sudah ada, DENSE dipilih, yang mencakup sebagian besar nuansa yang diperlukan untuk penelitian.
PADATjuga merupakan proyek yang ditujukan untuk memecahkan masalah menemukan jalan dalam kondisi cuaca buruk. Para ilmuwan yang bekerja di DENSE melakukan perjalanan sekitar 10.000 km melintasi Eropa Utara, merekam data dari beberapa kamera, beberapa LiDAR, radar, GPS, IMU, sensor gesekan jalan, dan kamera pencitraan termal. Dataset terdiri dari 12.000 sampel, yang dapat dipecah menjadi subkelompok yang lebih kecil yang menggambarkan kondisi spesifik: siang + salju, malam + kabut, siang + cerah, dll.
Namun, agar model berfungsi dengan benar, perlu untuk mengoreksi data dari DENSE. Gambar kamera asli dalam kumpulan data berukuran 1920 x 1024 piksel dan telah diperkecil menjadi 480 x 256 untuk pelatihan dan pengujian model yang lebih cepat.
Data LiDAR disimpan dalam format array NumPy yang perlu dikonversi ke gambar, diskalakan (hingga 480 x 256) dan dinormalisasi.
Data radar disimpan dalam file JSON, satu file untuk setiap frame. Setiap file berisi kamus objek yang terdeteksi dan beberapa nilai untuk setiap objek, termasuk koordinat x, koordinat y, jarak, kecepatan, dll. Sistem koordinat ini sejajar dengan bidang kendaraan. Untuk mengubahnya menjadi bidang vertikal, hanya koordinat y yang perlu dipertimbangkan.
Gambar #1: proyeksi koordinat y ke bidang gambar (kiri) dan bingkai radar yang diproses (kanan).
Gambar yang dihasilkan diskalakan (hingga 480 x 256) dan dinormalisasi.
Mengembangkan model CNN
Gambar #2: Arsitektur model CNN.
Jaringan dirancang sekompak mungkin, karena jaringan codec yang dalam membutuhkan banyak sumber daya komputasi. Untuk alasan ini, jaringan decoding tidak dirancang dengan lapisan sebanyak jaringan coding. Jaringan pengkodean terdiri dari tiga aliran: kamera, LiDAR, dan radar.
Karena gambar kamera mengandung lebih banyak informasi, aliran kamera dibuat lebih dalam daripada dua lainnya. Ini terdiri dari empat blok, yang masing-masing terdiri dari dua lapisan konvolusi - lapisan normalisasi batch dan lapisan ReLU, diikuti oleh lapisan MaxPooling.
Data LiDAR tidak sebesar data dari kamera, sehingga alirannya terdiri dari tiga blok. Demikian juga, aliran Radar lebih kecil dari aliran LiDAR, oleh karena itu hanya terdiri dari dua blok.
Output dari semua aliran dimodifikasi dan digabungkan menjadi vektor satu dimensi yang terhubung ke jaringan tiga lapisan tersembunyi dengan aktivasi ReLU. Data kemudian diubah menjadi larik dua dimensi, yang diteruskan ke jaringan decoding yang terdiri dari empat MaxUnpooling berturut-turut dan langkah konvolusi yang dialihkan untuk mengambil sampel data ke ukuran input (480x256).
Hasil pelatihan / pengujian model CNN
Pelatihan dan pengujian dilakukan pada Google Colab menggunakan GPU. Subset data yang diberi tag tangan terdiri dari 1000 sampel data kamera, LiDAR, dan radar — 800 untuk pelatihan dan 200 untuk pengujian.
Gambar #3: Kehilangan sampel pelatihan selama fase pelatihan.
Keluaran dari model tersebut dilakukan pasca-proses dengan ekspansi dan erosi citra dengan ukuran kernel yang berbeda untuk mengurangi jumlah noise pada keluaran klasifikasi piksel.
Gambar # 4: Akurasi dalam sampel uji selama fase pengujian.
Para ilmuwan mencatat bahwa indikator akurasi sistem yang paling sederhana adalah piksel, mis. rasio piksel yang ditentukan dengan benar dan piksel yang salah ditentukan dengan ukuran gambar. Akurasi piksel dihitung untuk setiap sampel dalam set pengujian, dan rata-rata dari nilai-nilai ini mewakili akurasi keseluruhan model.
Namun, angka ini tidak ideal. Dalam beberapa kasus, kelas tertentu kurang terwakili dalam sampel, di mana akurasi piksel akan jauh lebih tinggi (daripada yang sebenarnya) karena fakta bahwa tidak ada cukup piksel untuk menguji model untuk kelas tertentu. Oleh karena itu, diputuskan untuk menggunakan tambahan MIoU - rasio rata-rata area persimpangan dengan area gabungan.
Representasi visual dari IoU.
Mirip dengan presisi piksel, presisi IoU dihitung untuk setiap frame, dan presisi akhir adalah rata-rata dari nilai-nilai ini. Namun, MIoU dihitung untuk setiap kelas secara terpisah.
Tabel nilai presisi.
Gambar # 5
Gambar di atas menunjukkan empat bingkai gerakan salju yang dipilih dari kamera, LiDAR, radar, data tanah, dan keluaran model. Terbukti dari gambar-gambar ini bahwa model dapat menggambarkan keliling umum area di mana kendaraan dapat bergerak dengan aman. Model mengabaikan garis dan tepi apa pun yang dapat diartikan sebagai tepi jalur lalu lintas. Model ini juga berkinerja baik dalam kondisi visibilitas rendah (mis. kabut).
Model tersebut juga menghindari pejalan kaki, mobil lain dan binatang, meskipun ini bukan tujuan utama dari studi khusus ini. Namun, aspek khusus ini perlu ditingkatkan. Namun, mengingat bahwa sistem terdiri dari lebih sedikit lapisan, ia belajar jauh lebih cepat daripada pendahulunya.
Untuk kenalan yang lebih rinci dengan nuansa penelitian, saya sarankan Anda melihat laporan para ilmuwan dan data tambahan untuk itu.
Epilog
Sikap terhadap mobil self-driving tidak jelas. Di satu sisi, robo-car meniadakan risiko seperti faktor manusia: pengemudi mabuk, kecerobohan, sikap tidak bertanggung jawab terhadap peraturan lalu lintas, sedikit pengalaman berkendara, dll. Dengan kata lain, robot tidak berperilaku seperti manusia. Itu bagus, bukan? Iya dan tidak. Kendaraan otonom mengungguli pengemudi darah dan daging dalam banyak hal, tetapi tidak dalam semua hal. Cuaca buruk adalah contoh utama dari ini. Tentu saja, tidak mudah bagi seseorang untuk mengemudi selama badai salju, tetapi untuk kendaraan tak berawak itu hampir tidak realistis.
Dalam karya ini, para ilmuwan menarik perhatian pada masalah ini, mengusulkan untuk membuat mesin sedikit lebih manusiawi. Faktanya adalah bahwa seseorang juga memiliki sensor yang bekerja dalam tim untuk memastikan bahwa ia menerima informasi maksimum tentang lingkungan. Jika sensor kendaraan tak berawak juga bekerja sebagai satu sistem, dan bukan sebagai elemen terpisah, maka dimungkinkan untuk mendapatkan lebih banyak data, mis. untuk meningkatkan akurasi menemukan jalur yang bisa dilewati.
Tentu saja, cuaca buruk adalah istilah kolektif. Bagi beberapa orang, hujan salju ringan adalah cuaca buruk, tetapi bagi yang lain itu adalah badai es. Penelitian dan pengujian lebih lanjut dari sistem yang dikembangkan harus mengajarkannya untuk mengenali jalan dalam segala kondisi cuaca.
Terima kasih atas perhatiannya, tetap penasaran dan selamat bekerja minggu ya guys. :)
Sedikit iklan
Terima kasih untuk tetap bersama kami. Apakah Anda menyukai artikel kami? Ingin melihat konten yang lebih menarik? Dukung kami dengan memesan atau merekomendasikan kepada teman-teman, cloud VPS untuk pengembang mulai dari $ 4,99 , analog unik dari server tingkat pemula yang telah kami ciptakan untuk Anda: Seluruh Kebenaran Tentang VPS (KVM) E5-2697 v3 (6 Core) 10GB DDR4 480GB SSD 1Gbps dari $19 atau bagaimana membagi server dengan benar? (opsi tersedia dengan RAID1 dan RAID10, hingga 24 core dan hingga 40GB DDR4).
Apakah Dell R730xd 2x lebih murah di pusat data Maincubes Tier IV di Amsterdam? Hanya kami yang memiliki 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV dari $199 di Belanda!Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - Mulai dari $99! Baca tentang Cara Membangun Infrastruktur Bldg. kelas dengan penggunaan server Dell R730xd E5-2650 v4 dengan biaya 9000 euro untuk satu sen?