Rumah > Artikel > Peranti teknologi > Tujuh Langkah untuk Menyediakan Set Data untuk Projek AI Imej
Penterjemah |. Bagi kebanyakan orang, set data tidak lebih daripada koleksi imej pra-dibuat yang telah disusun atau dimuat turun dengan cepat. Malah, set data adalah asas kepada mana-mana projek kecerdasan buatan (AI) berasaskan imej. Untuk sebarang projek pembelajaran mesin yang bertujuan untuk mencapai ketepatan yang tinggi, mencipta dan mengurus set data yang seimbang dan tersusun dengan baik adalah penting.
Walau bagaimanapun, mencipta set data tidak semudah mengumpul ratusan imej. Apabila kita cuba memulakan projek AI, kita mungkin akan menghadapi pelbagai bahaya tersembunyi. Di bawah, saya akan membincangkan tujuh langkah biasa yang boleh anda ambil untuk mencipta set data anda sendiri supaya anda boleh mendapatkan cerapan tentang kepentingan saiz set data, kemungkinan peninggalan data dan menukar set data kepada pangkalan data.
Nota: Langkah-langkah ini akan digunakan terutamanya pada projek pengesanan dan pengelasan objek yang mengandungi set data imej. Jenis projek lain seperti
NLP atau projek grafik memerlukan pendekatan yang berbeza.
Langkah
1: Saiz imej Biasanya, rangkaian saraf hanya boleh mengendalikan imej saiz tertentu, dan imej akan dipaksa untuk dipegang melebihi ambang Ini bermakna sebelum menggunakan set data, kita perlu memilih rangkaian neural yang sesuai dan mengubah saiz imej dengan sewajarnya
Walaupun kebanyakan rangkaian saraf boleh mengendalikan saiz imej yang lebih kecil, rangkaian neural terkini, seperti Yolo v5x6
, mampu memproses imej resolusi yang lebih besar. Contohnya, Yolo v5xs
6
mampu memproses imej sehingga1280 lebar piksel. . kita sedang mengumpul Faktor-faktor berikut perlu diambil perhatian semasa menetapkan data:
Jenis kamera, sama ada kamera telefon pintar atau kamera keselamatan Saiz imej Lokasi kamera, adakah di dalam rumah, Atau di luar keadaan cuaca, seperti cahaya, hujan, kabus, salji, dll.
dan set data yang terlalu "cantik" berkemungkinan akan Menghasilkan dalam ketepatan ujian yang lebih tinggi. Ini bermakna rangkaian saraf hanya akan berprestasi baik pada data ujian (kumpulan imej yang disucikan daripada set data), tetapi akan berprestasi buruk dalam keadaan dunia sebenar dan mengakibatkan ketepatan yang lemah. . Sebelum memulakan projek anda, semak format rangka kerja pilihan anda menyokong dan sama ada imej anda boleh memenuhi keperluan ini. Walaupun rangka kerja semasa boleh menyokong berbilang format imej, masih terdapat masalah dengan format seperti
Data anotasi boleh digunakan untuk menentukan kotak sempadan, nama fail dan struktur berbeza yang boleh diterima pakai. Biasanya, rangkaian dan rangka kerja saraf yang berbeza memerlukan kaedah anotasi yang berbeza. Ada yang memerlukan koordinat mutlak yang mengandungi lokasi kotak sempadan, sesetengahnya memerlukan koordinat relatif; sesetengahnya memerlukan setiap imej disertakan dengan fail .txt berasingan yang mengandungi anotasi, manakala yang lain hanya memerlukan satu .txt
fail yang mengandungi semua fail anotasi. Seperti yang anda lihat, walaupun set data anda mempunyai imej yang baik, ia tidak akan membantu jika rangka kerja anda tidak dapat mengendalikan anotasi.subset
Lazimnya, rangkaian saraf menggunakan ciri objek yang diekstrak daripada subset latihan untuk "mempelajari" rupa objek. Iaitu, selepas tempoh latihan (zaman), rangkaian saraf melihat subset data pengesahan dan cuba meneka objek mana yang boleh "lihat". Sama ada tekaan yang betul atau salah, strukturnya membolehkan rangkaian saraf untuk belajar lebih lanjut. Walaupun pendekatan ini telah digunakan secara meluas dan terbukti mencapai hasil yang baik, kami lebih suka pendekatan yang berbeza dengan membahagikan dataset ke dalam subset seperti berikut:
Jika data yang anda gunakan untuk melatih algoritma pembelajaran mesin kebetulan mengandungi maklumat yang anda cuba ramalkan, maka kebocoran data mungkin berlaku. Seperti yang ditunjukkan dalam rajah di bawah, dari perspektif pengecaman imej, kebocoran data berlaku apabila foto objek yang sama dalam subset latihan dan pengesahan adalah sangat serupa. Jelas sekali, data yang hilang amat memudaratkan kualiti rangkaian saraf.
Salah satu kaedah pembahagian set data yang paling biasa digunakan ialah mengocok data secara rawak, kemudian pilih yang pertama
70%
imej ke dalam subset latihan, dan bakiKemudian masukkannya ke dalam subset pengesahan. Kaedah ini boleh menyebabkan peninggalan data dengan mudah. Seperti yang ditunjukkan dalam rajah di bawah, keutamaan segera kami ialah mengalih keluar semua foto "pendua" daripada set data dan menyemak sama ada foto serupa wujud dalam kedua-dua subset.
Untuk ini, kami boleh menggunakan skrip mudah untuk melakukan penyingkiran pendua secara automatik. Sudah tentu, anda boleh melaraskan ambang pendua, contohnya: hanya padamkan gambar pendua sepenuhnya, atau gambar dengan persamaan sehingga 90% , dsb. Secara umum, lebih banyak kandungan pendua dikeluarkan, lebih tepat rangkaian saraf akan dihasilkan.
Jika set data anda agak besar, contohnya: lebih daripada juta imej , dan berapa banyak Untuk sepuluh kelas objek dan subkelas, kami mengesyorkan anda membuat pangkalan data mudah untuk menyimpan maklumat set data. Sebab di sebalik ini sebenarnya sangat mudah: dengan set data yang besar, sukar untuk menjejaki semua data. Oleh itu, tanpa beberapa pemprosesan data berstruktur, kami tidak akan dapat menganalisisnya dengan tepat. Melalui pangkalan data, anda boleh mendiagnosis set data dengan cepat dan mengetahui bahawa: terlalu sedikit gambar dalam kategori tertentu akan menyukarkan rangkaian saraf untuk mengecam objek; cukup; dalam kategori tertentu Terdapat terlalu banyak imej Google, menghasilkan skor ketepatan yang rendah untuk kategori tersebut.
dengan pangkalan data yang mudah, kita boleh memasukkan maklumat berikut:
File Name
Kandungan yang perlu ditulis semula ialah: Satu isu yang perlu diberi perhatian ialah sebab ketepatan yang rendah mungkin disebabkan oleh bilangan imej yang lebih kecil atau bahagian Google Photos yang lebih tinggi dalam kategori tertentu. Dengan mencipta pangkalan data sedemikian, masa untuk pengeluaran, ujian dan latihan semula model boleh dikurangkan dengan banyak
Langkah 7
darjah, atau sekompleks menambah suar suria pada imej untuk mensimulasikan foto bercahaya belakang atau suar kanta.
Lazimnya, penukaran dipertingkatkan sedemikian dilakukan secara automatik. Sebagai contoh, kita boleh menyediakan perpustakaan
Pythonkhusus untuk penambahan data. Pada masa ini, terdapat dua jenis penambahan data: Pembesaran pra-latihan
Walaupun bagi mereka yang ingin menggunakan AI pada perniagaan, set data adalah bahagian yang paling tidak menarik. Tetapi tidak dapat dinafikan bahawa set data adalah bahagian penting dalam mana-mana projek pengecaman imej. Selain itu, dalam kebanyakan projek pengecaman imej, pengurusan dan organisasi set data sering mengambil banyak masa daripada pasukan. Akhir sekali, mari kita ringkaskan cara anda boleh mendapatkan hasil terbaik daripada projek AI anda dengan melupuskan set data anda dengan betul: Julian Chen, editor komuniti 51CTO, mempunyai lebih sepuluh tahun pengalaman pelaksanaan projek IT dan pandai dalam melaksanakan projek dan sumber dan risiko luaran Pengurusan dan kawalan, memfokuskan pada penyebaran pengetahuan dan pengalaman keselamatan rangkaian dan maklumat. Tajuk asal: 7 Langkah Untuk Menyediakan Set Data Untuk Projek AI Berasaskan Imej, pengarang: Oleg Kokorin
SmallKnot
Pengenalan penterjemah
Atas ialah kandungan terperinci Tujuh Langkah untuk Menyediakan Set Data untuk Projek AI Imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!