Rumah  >  Artikel  >  Peranti teknologi  >  Tujuh Langkah untuk Menyediakan Set Data untuk Projek AI Imej

Tujuh Langkah untuk Menyediakan Set Data untuk Projek AI Imej

WBOY
WBOYke hadapan
2023-09-26 23:45:04950semak imbas

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

Seperti yang anda tahu, jika anda mengecilkan saiz imej, ia mungkin menyebabkan penurunan ketepatan yang besar, malah Buat kecil objek pada imej hilang, dengan itu merosakkan keseluruhan proses pengecaman. Seperti yang ditunjukkan di bawah, anda perlu mengesan nombor plat dalam imej yang ditangkap oleh kamera keselamatan, dan plat lesen hanya mengambil sebahagian kecil daripada keseluruhan imej. Oleh itu, apabila rangkaian neural mengurangkan imej, nombor plat lesen mungkin menjadi sangat kecil dan tidak dapat dikenali , Membantu anda memangkas imej set data yang sesuai.

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

6Tujuh Langkah untuk Menyediakan Set Data untuk Projek AI Imej

mampu memproses imej sehingga

1280 lebar piksel. . kita sedang mengumpul Faktor-faktor berikut perlu diambil perhatian semasa menetapkan data:

Tujuh Langkah untuk Menyediakan Set Data untuk Projek AI Imej

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.

Dengan pemahaman yang jelas tentang imej sebenar yang akan diproses oleh rangkaian saraf, kami boleh mencipta set data yang menggambarkan dengan tepat objek yang diminati dan persekitarannya. Mengumpul imej biasa daripada Google mungkin dianggap sebagai cara termudah dan terpantas untuk memasang set data yang besar. Walau bagaimanapun, kaedah ini sebenarnya sukar untuk mencapai keperluan ketepatan yang tinggi. Seperti yang ditunjukkan dalam rajah di bawah, berbanding dengan imej yang diambil oleh kamera sebenar, imej dalam Google atau pangkalan data foto biasanya "cantik" diproses

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

    .jfif
  1. .
  2. 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.

    Langkah 4训: Subset latihan dan pengesahan

    Untuk tujuan latihan, set data biasanya dibahagikan kepada dua subset:

    subset

    1. Ia adalah satu set imej. Rangkaian saraf akan dilatih pada set imej ini. Perkadarannya berjulat daripada 70% hingga 80% daripada jumlah imej.
    2. Subset Pengesahan - ialah set imej yang lebih kecil yang digunakan untuk menyemak sejauh mana rangkaian saraf belajar semasa latihan. Perkadarannya adalah antara 20% dan 30% daripada jumlah imej.

    Tujuh Langkah untuk Menyediakan Set Data untuk Projek AI Imej

    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:

    1. 70% daripada jumlah imej
    2. Ujian set data
    3. - lebih kurang 10%
    4. Memandangkan subset ujian mengandungi imej daripada set data yang rangkaian saraf tidak pernah melihat, pembangun Model boleh diuji pada subset ini untuk melihat sejauh mana prestasinya apabila dijalankan secara manual, dan imej yang mana ia menghadapi kesukaran. Dalam erti kata lain, subset ini akan membantu untuk mengetahui di mana rangkaian saraf mungkin membuat kesilapan sebelum projek dimulakan, dengan itu mengelakkan latihan semula yang berlebihan selepas projek bermula Langkah 5
    : Data

    Tujuh Langkah untuk Menyediakan Set Data untuk Projek AI Imej

    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.

    Pada asasnya, model melihat imej dalam set data latihan, mengekstrak cirinya, kemudian pergi ke set data pengesahan dan mendapati bahawa apa yang dilihatnya adalah imej yang sama (atau hampir serupa). Oleh itu, daripada mengatakan bahawa model itu sebenarnya belajar, lebih baik mengatakan bahawa ia hanya menghafal pelbagai maklumat. Kadangkala perkara ini menghasilkan ketepatan yang sangat tinggi pada set data pengesahan (cth., setinggi 98%), tetapi ketepatan pengeluaran yang sangat rendah.

    Salah satu kaedah pembahagian set data yang paling biasa digunakan ialah mengocok data secara rawak, kemudian pilih yang pertama

    70% Tujuh Langkah untuk Menyediakan Set Data untuk Projek AI Imej

    imej ke dalam subset latihan, dan baki

    Kemudian 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.

    Langkah 6: Pangkalan data dataset besar

    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
    1. file Path
    2. annotation Data
    3. Type data
    4. Sumber data (daripada persekitaran pengeluaran, Google, dsb.)
    5. Jenis objek, nama dan maklumat berkaitan objek lain
    6. set data yang diperlukan untuk pengumpulan data dan alat data statistik. Ia membantu kami dengan cepat dan mudah melihat sejauh mana set data seimbang dan bilangan imej berkualiti tinggi dalam setiap kategori (dari perspektif rangkaian saraf). Dengan data seperti yang ditunjukkan secara visual di bawah, kita boleh menganalisisnya dengan lebih pantas dan membandingkannya dengan hasil pengecaman untuk mengetahui punca ketepatan yang rendah

    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

    Tujuh Langkah untuk Menyediakan Set Data untuk Projek AI Imej

    Langkah 7

    : Set Data Penambahan sebagai imej Teknologi, penambahan data ialah proses melakukan transformasi mudah atau kompleks pada data, seperti melalui flipping atau transformasi gaya, kita boleh meningkatkan kesahihan data. Set data berkesan yang diperoleh berdasarkan ini tidak memerlukan latihan yang berlebihan. Seperti yang ditunjukkan dalam imej di bawah, jenis transformasi data ini boleh semudah hanya memutar imej

    90

    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 Tujuh Langkah untuk Menyediakan Set Data untuk Projek AI Imej

    Python

    khusus untuk penambahan data. Pada masa ini, terdapat dua jenis penambahan data: Pembesaran pra-latihan

      -
    1. Sebelum proses latihan bermula, data ditambah dan ditambah pada subset latihan. Sudah tentu, kita boleh membuat penambahan sedemikian hanya selepas set data dibahagikan kepada subset latihan dan pengesahan untuk mengelakkan peninggalan data yang dinyatakan sebelum ini. Peningkatan dalam latihan
    2. -
    3. menggunakan rangka kerja yang serupa dengan PyTorch teknologi transformasi imej terbina dalam. Perlu diperhatikan bahawa meningkatkan saiz set data sepuluh kali ganda tidak menjadikan rangkaian saraf sepuluh kali lebih cekap. Malah, ini sebenarnya boleh menjadikan rangkaian berfungsi lebih teruk daripada sebelumnya. Oleh itu, kita hanya perlu menggunakan penambahbaikan yang berkaitan dengan persekitaran pengeluaran. Sebagai contoh, kamera yang dipasang di dalam bangunan tidak akan terdedah kepada hujan apabila ia beroperasi seperti biasa. Jadi sama sekali tidak perlu menambah peningkatan "hujan" pada imej.

    SmallKnot

    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:

    1. Pangkas atau ubah saiz imej untuk memenuhi keperluan rangkaian saraf anda kumpulkan imej sebenar
    2. berdasarkan cuaca dan keadaan pencahayaan
    3. Bina anotasi berdasarkan keperluan rangkaian saraf
    4. Elakkan menggunakan semua imej untuk melatih rangkaian. Sebahagian perlu dikhaskan untuk ujian
    5. Alih keluar imej pendua dalam set data pengesahan untuk mengelakkan peninggalan data
    6. Buat pangkalan data untuk mendiagnosis set data dengan cepat
    7. sesedikit mungkin , untuk menambah bilangan imej

    Pengenalan penterjemah

    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

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!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam