Rumah  >  Artikel  >  Peranti teknologi  >  Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka

Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka

王林
王林ke hadapan
2023-05-09 14:52:08958semak imbas

Pengarang: Chu Yi, Kai Heng, dll.

Baru-baru ini, Jabatan Perisikan Visual Meituan telah membangunkan YOLOv6, rangka kerja pengesanan sasaran khusus untuk aplikasi industri, yang boleh memfokuskan pada ketepatan pengesanan dan kecekapan penaakulan. Semasa proses penyelidikan dan pembangunan, Jabatan Perisikan Visual terus meneroka dan mengoptimumkan, sambil melukis beberapa perkembangan termaju dan hasil penyelidikan saintifik daripada akademia dan industri. Keputusan percubaan pada COCO, set data pengesanan sasaran yang berwibawa, menunjukkan bahawa YOLOv6 mengatasi algoritma lain yang mempunyai saiz yang sama dari segi ketepatan dan kelajuan pengesanan Ia juga menyokong penggunaan pelbagai platform yang berbeza, sangat memudahkan kerja penyesuaian semasa penggunaan projek. . Ini adalah sumber terbuka, berharap dapat membantu lebih ramai pelajar.

1. Gambaran Keseluruhan

YOLOv6 ialah rangka kerja pengesanan sasaran yang dibangunkan oleh Jabatan Perisikan Visual Meituan dan dikhususkan untuk aplikasi industri. Rangka kerja ini memfokuskan pada ketepatan pengesanan dan kecekapan inferens Antara model saiz yang biasa digunakan dalam industri: YOLOv6-nano mempunyai ketepatan 35.0% AP pada COCO dan kelajuan inferens pada T4. 1242 FPS; YOLOv6-s boleh mencapai ketepatan 43.1% AP pada COCO dan kelajuan inferens 520 FPS pada T4. Dari segi penggunaan, YOLOv6 menyokong penggunaan platform berbeza seperti GPU (TensorRT), CPU (OPENVINO), ARM (MNN, TNN, NCNN) , yang sangat Memudahkan kerja penyesuaian semasa penggunaan projek. Pada masa ini, projek itu telah menjadi sumber terbuka kepada Github, portal: YOLOv6. Rakan-rakan yang memerlukan dialu-alukan ke Star untuk mengumpulnya dan mengaksesnya pada bila-bila masa.

Rangka kerja baharu yang ketepatan dan kelajuannya jauh melebihi YOLOv5 dan YOLOX

Pengesanan objek, sebagai teknologi asas dalam bidang penglihatan komputer, telah digunakan secara meluas dalam industri , antaranya algoritma siri YOLO secara beransur-ansur menjadi rangka kerja pilihan untuk kebanyakan aplikasi perindustrian kerana prestasi komprehensif yang baik. Setakat ini, industri telah memperoleh banyak rangka kerja pengesanan YOLO, antaranya YOLOv5[1], YOLOX[2] dan PP-YOLOE[3] ialah prestasi yang paling mewakili, tetapi dalam penggunaan sebenar, kami mendapati bahawa rangka kerja di atas masih mempunyai banyak ruang untuk penambahbaikan dari segi kelajuan dan ketepatan. Berdasarkan ini, kami membangunkan rangka kerja pengesanan sasaran baharu - YOLOv6 dengan mengkaji dan menggunakan teknologi termaju sedia ada dalam industri. Rangka kerja ini menyokong rangkaian penuh keperluan aplikasi industri seperti latihan model, inferens dan penggunaan berbilang platform, dan telah membuat beberapa penambahbaikan dan pengoptimuman pada peringkat algoritma seperti struktur rangkaian dan strategi latihan Pada set data COCO, YOLOv6 mempunyai ketepatan dan kelajuan melebihi algoritma lain yang mempunyai saiz yang sama, hasil yang berkaitan ditunjukkan dalam Rajah 1 di bawah:

Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka

Rajah 1 -1 Prestasi model YOLOv6 pelbagai saiz dan model lain Perbandingan

Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka

Rajah 1-2 Perbandingan prestasi antara YOLOv6 dan model lain pada resolusi yang berbezaRajah 1-1 menunjukkan perbandingan prestasi setiap algoritma pengesanan di bawah rangkaian saiz yang berbeza masing-masing mewakili algoritma pengesanan di bawah yang berbeza prestasi model rangkaian saiz (s /tiny/nano), seperti yang dapat dilihat daripada rajah, YOLOv6 mengatasi algoritma siri YOLO lain yang mempunyai saiz yang sama dari segi ketepatan dan kelajuan. Rajah 1-2 menunjukkan perbandingan prestasi setiap model rangkaian pengesanan apabila resolusi input berubah Titik pada lengkung dari kiri ke kanan mewakili apabila resolusi imej meningkat secara berurutan (384/448/512/576 /. 640) Prestasi model ini, seperti yang dapat dilihat dari rajah, YOLOv6 masih mengekalkan kelebihan prestasi yang besar pada resolusi yang berbeza.

2 Pengenalan kepada teknologi utama YOLOv6

YOLOv6 telah membuat banyak peningkatan terutamanya dalam strategi Tulang Belakang, Leher, Kepala dan latihan:

  • Kami telah mereka bentuk Tulang Belakang dan Leher yang lebih cekap: diilhamkan oleh idea reka bentuk rangkaian neural yang sedar perkakasan, kami mereka bentuk reka bentuk yang boleh diparameter semula dan lebih cekap berdasarkan gaya RepVGG[4] Tulang Belakang EfficientRep dan Leher Rep-PAN.
  • Efficient Decoupled Head dioptimumkan dan direka bentuk untuk menjadi lebih ringkas dan berkesan, yang seterusnya mengurangkan kelewatan overhed tambahan yang disebabkan oleh kepala decoupled am sambil mengekalkan ketepatan.
  • Dari segi strategi latihan, kami mengguna pakai paradigma bebas anchor tanpa anchor, ditambah dengan SimOTA[2] strategi peruntukan label dan SIoU[ 9] Kehilangan regresi kotak sempadan untuk meningkatkan lagi ketepatan pengesanan.

2.1 Reka bentuk rangkaian tulang belakang mesra perkakasan

Tulang Belakang dan Leher yang digunakan oleh YOLOv5/YOLOX kedua-duanya dibina pada CSPNet[5] , menggunakan pendekatan berbilang cawangan dan struktur sisa. Untuk perkakasan seperti GPU, struktur ini akan meningkatkan kependaman pada tahap tertentu dan mengurangkan penggunaan lebar jalur memori. Rajah 2 di bawah ialah pengenalan kepada Model Roofline[8] dalam bidang seni bina komputer, menunjukkan hubungan antara kuasa pengkomputeran dan lebar jalur memori dalam perkakasan.

Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka

Rajah 2 Gambarajah pengenalan Model Garis Bumbung

Jadi, kami berdasarkan idea perkakasan -reka bentuk rangkaian neural sedar, Tulang Belakang dan Leher telah direka bentuk semula dan dioptimumkan. Idea ini adalah berdasarkan ciri perkakasan dan ciri rangka kerja inferens/rangka kompilasi Ia mengambil perkakasan dan struktur mesra kompilasi sebagai prinsip reka bentuk Apabila membina rangkaian, ia secara menyeluruh mempertimbangkan kuasa pengkomputeran perkakasan, lebar jalur memori , ciri pengoptimuman kompilasi, keupayaan perwakilan rangkaian, dsb., dan kemudian Dapatkan struktur rangkaian yang cepat dan baik. Untuk dua komponen pengesanan reka bentuk semula di atas, kami memanggilnya EfficientRep Backbone dan Rep-PAN Neck masing-masing dalam YOLOv6 Sumbangan utama mereka ialah:

  1. Pengenalan RepVGG[4. ] struktur gaya.
  2. Tulang Belakang dan Leher direka bentuk semula berdasarkan pemikiran sedar perkakasan.

RepVGG[4] Struktur gaya ialah topologi berbilang cawangan semasa latihan, yang boleh digabungkan secara bersamaan menjadi 3x3 tunggal semasa penggunaan sebenar A boleh reparameterizable struktur lilitan (Proses pelakuran ditunjukkan dalam Rajah 3 di bawah). Melalui struktur lilitan 3x3 yang digabungkan, anda boleh menggunakan kuasa pengkomputeran perkakasan intensif pengiraan dengan berkesan (seperti GPU), dan anda juga boleh mendapatkan bantuan daripada rangka kerja kompilasi NVIDIA cuDNN dan Intel MKL yang sangat dioptimumkan pada GPU/ CPU.

Eksperimen menunjukkan bahawa melalui strategi di atas, YOLOv6 mengurangkan kelewatan perkakasan dan meningkatkan ketepatan algoritma dengan ketara, menjadikan rangkaian pengesanan lebih pantas dan kukuh. Mengambil model saiz nano sebagai contoh, berbanding dengan struktur rangkaian yang digunakan oleh YOLOv5-nano, kaedah ini meningkatkan kelajuan sebanyak 21% dan meningkatkan ketepatan sebanyak 3.6% AP.

Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka

Rajah 3 Proses gabungan operator Rep [4]

EfficientRep Backbone: Dari segi reka bentuk Backbone, kami mereka bentuk Backbone yang cekap berdasarkan operator Rep di atas. Berbanding dengan CSP-Backbone yang digunakan dalam YOLOv5, Backbone ini boleh menggunakan kuasa pengkomputeran perkakasan (seperti GPU) dengan cekap dan juga mempunyai keupayaan perwakilan yang kukuh.

Rajah 4 di bawah ialah gambar rajah struktur reka bentuk khusus EfficientRep Backbone Kami menggantikan lapisan Conv biasa dengan stride=2 dalam Backbone dengan lapisan RepConv dengan stride=2. Pada masa yang sama, CSP-Block asal direka bentuk semula menjadi RepBlock, di mana RepConv RepBlock pertama akan mengubah dan menjajarkan dimensi saluran. Selain itu, kami mengoptimumkan SPPF asal menjadi SimSPPF yang lebih cekap.

Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka

Rajah 4 Rajah struktur EfficientRep Tulang Belakang

Rep-PAN: Dalam segi reka bentuk Leher, untuk menjadikan alasannya pada perkakasan lebih cekap dan mencapai keseimbangan yang lebih baik antara ketepatan dan kelajuan, kami mereka bentuk struktur rangkaian gabungan ciri yang lebih berkesan untuk YOLOv6 berdasarkan idea reka bentuk rangkaian neural yang sedar perkakasan.

Rep-PAN adalah berdasarkan topologi PAN[6], menggantikan CSP-Block yang digunakan dalam YOLOv5 dengan RepBlock, dan pada masa yang sama melaraskan operator dalam Neck keseluruhan, dengan tujuan Walaupun mencapai inferens yang cekap pada perkakasan, ia mengekalkan keupayaan gabungan ciri berbilang skala yang baik (Rajah struktur Rep-PAN ditunjukkan dalam Rajah 5 di bawah).

Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka

Rajah 5 Gambarajah struktur Rep-PAN

2.2 Decoupled Head yang lebih ringkas dan cekap

Dalam YOLOv6, kami menggunakan struktur kepala pengesan yang dipisahkan (Kepala Terpisah) dan memperkemas reka bentuknya. Ketua pengesanan YOLOv5 asal dilaksanakan dengan menggabungkan dan berkongsi cawangan klasifikasi dan regresi, manakala ketua pengesanan YOLOX memisahkan cawangan klasifikasi dan regresi, dan menambah dua lapisan konvolusi 3x3 tambahan Walaupun ketepatan pengesanan dipertingkatkan, tetapi rangkaian kelewatan meningkat pada tahap tertentu.

Oleh itu, kami memperkemas reka bentuk kepala penyahgandingan, dengan mengambil kira keseimbangan antara keupayaan perwakilan pengendali yang berkaitan dan overhed pengiraan perkakasan, dan mereka bentuk semula menggunakan Hibrid Strategi saluran Struktur kepala penyahgandingan yang lebih cekap dibangunkan, yang mengurangkan kelewatan sambil mengekalkan ketepatan, dan mengurangkan overhed kelewatan tambahan yang disebabkan oleh konvolusi 3x3 dalam kepala penyahgandingan. Dengan menjalankan eksperimen ablasi pada model bersaiz nano dan membandingkan struktur kepala penyahgandingan dengan bilangan saluran yang sama, ketepatan ditingkatkan sebanyak 0.2% AP dan kelajuan meningkat sebanyak 6.8%.

Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka

Rajah 6 Gambar rajah struktur Kepala Decoupled Cekap

2.3 Strategi latihan yang lebih berkesan

Untuk meningkatkan lagi ketepatan pengesanan, kami menggunakan kemajuan penyelidikan lanjutan rangka kerja pengesanan lain dalam akademia dan industri: Paradigma tanpa sauh tanpa sauh, strategi peruntukan label SimOTA dan kehilangan regresi kotak sempadan SIoU.

Paradigma tanpa sauh tanpa sauh

YOLOv6 menggunakan kaedah pengesanan Tanpa Sauh yang lebih ringkas. Memandangkan pengesan berasaskan Anchor perlu melakukan analisis kelompok sebelum latihan untuk menentukan set Anchor yang optimum, ini akan meningkatkan kerumitan pengesan ke tahap tertentu pada masa yang sama, dalam beberapa aplikasi tepi, sejumlah besar hasil pengesanan perlu diangkut antara langkah perkakasan juga akan membawa kelewatan tambahan. Paradigma bebas anchor tanpa anchor telah digunakan secara meluas sejak beberapa tahun kebelakangan ini kerana keupayaan generalisasi yang kukuh dan logik penyahkodan yang lebih mudah. Selepas penyelidikan eksperimen tentang Tanpa Anchor, kami mendapati bahawa berbanding dengan kelewatan tambahan yang disebabkan oleh kerumitan pengesan berasaskan Anchor, pengesan tanpa Anchor mempunyai peningkatan kelajuan sebanyak 51%.

Strategi peruntukan label SimOTA

Untuk mendapatkan lebih banyak sampel positif berkualiti tinggi, YOLOv6 memperkenalkan SimOTA [4]Algoritma memperuntukkan sampel positif secara dinamik untuk meningkatkan lagi ketepatan pengesanan. Strategi peruntukan label YOLOv5 adalah berdasarkan padanan Bentuk, dan meningkatkan bilangan sampel positif melalui strategi pemadanan silang grid, dengan itu menjadikan rangkaian bertumpu dengan cepat Walau bagaimanapun, kaedah ini adalah kaedah peruntukan statik dan tidak akan diselaraskan dengan proses latihan rangkaian.

Dalam beberapa tahun kebelakangan ini, banyak kaedah berdasarkan penetapan label dinamik telah muncul Kaedah sedemikian akan memperuntukkan sampel positif berdasarkan output rangkaian semasa proses latihan, dengan itu menghasilkan lebih banyak sampel Positif berkualiti tinggi. , seterusnya menggalakkan pengoptimuman rangkaian ke hadapan. Contohnya, OTA[7] memodelkan padanan sampel sebagai masalah penghantaran yang optimum dan memperoleh strategi pemadanan sampel terbaik di bawah maklumat global untuk meningkatkan ketepatan Walau bagaimanapun, OTA menggunakan algoritma Sinkhorn-Knopp, menghasilkan latihan Masa dipanjangkan, dan algoritma SimOTA[4] menggunakan strategi anggaran Top-K untuk mendapatkan padanan terbaik sampel, yang sangat mempercepatkan latihan. Oleh itu, YOLOv6 mengguna pakai strategi peruntukan dinamik SimOTA dan menggabungkannya dengan paradigma bebas sauh untuk meningkatkan ketepatan pengesanan purata sebanyak 1.3% AP pada model saiz nano.

Kehilangan regresi kotak terikat SIoU

Untuk meningkatkan lagi ketepatan regresi, YOLOv6 menggunakan SIoU [9 ] Fungsi kehilangan regresi kotak sempadan untuk menyelia pembelajaran rangkaian. Latihan rangkaian pengesanan sasaran secara amnya memerlukan definisi sekurang-kurangnya dua fungsi kehilangan: kehilangan klasifikasi dan kehilangan regresi kotak sempadan, dan definisi fungsi kehilangan selalunya memberi kesan yang lebih besar pada ketepatan pengesanan dan kelajuan latihan.

Dalam beberapa tahun kebelakangan ini, kerugian regresi kotak terikat yang biasa digunakan termasuk IoU, GIoU, CIoU, kehilangan DIoU, dll. Fungsi kehilangan ini mempertimbangkan faktor seperti tahap pertindihan antara bingkai ramalan dan bingkai sasaran, titik tengah jarak, nisbah aspek, dsb. Untuk mengukur jurang antara kedua-duanya, dengan itu membimbing rangkaian untuk meminimumkan kerugian untuk meningkatkan ketepatan regresi, tetapi kaedah ini tidak mengambil kira padanan arah antara kotak ramalan dan kotak sasaran. Fungsi kehilangan SIoU mentakrifkan semula kehilangan jarak dengan memperkenalkan sudut vektor antara regresi yang diperlukan, dengan berkesan mengurangkan tahap kebebasan regresi, mempercepatkan penumpuan rangkaian dan meningkatkan lagi ketepatan regresi. Dengan menggunakan kehilangan SIoU untuk percubaan pada YOLOv6s, berbanding dengan kehilangan CIoU, purata ketepatan pengesanan meningkat sebanyak 0.3% AP.

3. Keputusan eksperimen

Selepas strategi pengoptimuman dan penambahbaikan di atas, YOLOv6 telah mencapai prestasi cemerlang dalam berbilang model saiz yang berbeza. Jadual 1 di bawah menunjukkan keputusan eksperimen ablasi YOLOv6-nano Daripada keputusan eksperimen, kita dapat melihat bahawa rangkaian pengesanan rekaan sendiri kami telah membawa keuntungan besar dalam kedua-dua ketepatan dan kelajuan. Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka

Jadual 1 keputusan percubaan ablasi YOLOv6-nano Jadual 2 di bawah menunjukkan keputusan percubaan YOLOv6 berbanding dengan algoritma siri YOLO arus perdana yang lain. Seperti yang dapat dilihat daripada jadual:

Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka

Jadual 2 Perbandingan prestasi model YOLOv6 pelbagai saiz dengan model lain

  • YOLOv6-nano mencapai ketepatan 35.0% AP pada COCO val Pada masa yang sama, menggunakan TRT FP16 batchsize=32 untuk inferens pada T4, ia boleh mencapai prestasi 1242FPS -nano, ketepatan meningkat sebanyak 7% AP , kelajuan meningkat sebanyak 85%.
  • YOLOv6-tiny mencapai ketepatan 41.3% AP pada COCO val Pada masa yang sama, menggunakan TRT FP16 batchsize=32 pada T4 untuk inferens, ia boleh mencapai prestasi 602FPS, berbanding YOLOv5 -s meningkatkan ketepatan sebanyak 3.9% AP dan kelajuan sebanyak 29.4%.
  • YOLOv6-s mencapai ketepatan 43.1% AP pada COCO val Pada masa yang sama, menggunakan TRT FP16 batchsize=32 untuk inferens pada T4, ia boleh mencapai prestasi 520FPS, berbanding dengan ketepatan YOLOX -s meningkat sebanyak 2.6% AP, dan kelajuan meningkat sebanyak 38.6% berbanding dengan PP-YOLOE-s, yang meningkatkan ketepatan sebanyak 0.4% AP, menggunakan TRT FP16 pada T4 untuk inferens satu kelompok, kelajuan meningkat sebanyak 71.3%.

4 Ringkasan dan Tinjauan

Artikel ini memperkenalkan pengoptimuman dan pengalaman praktikal Jabatan Perisikan Visual Meituan dalam rangka kerja pengesanan sasaran. , kami telah memikirkan dan mengoptimumkan strategi latihan, rangkaian tulang belakang, gabungan ciri berbilang skala, kepala pengesanan, dll. untuk rangka kerja siri YOLO, dan mereka bentuk rangka kerja pengesanan baharu-YOLOv6 Niat asal datang daripada menyelesaikan masalah sebenar yang dihadapi apabila melaksanakan soalan perindustrian.

Semasa membina rangka kerja YOLOv6, kami meneroka dan mengoptimumkan beberapa kaedah baharu, seperti EfficientRep Backbone, Rep-Neck dan Efficient Decoupled Head berdasarkan idea reka bentuk rangkaian neural yang sedar perkakasan. , dan juga menggunakan beberapa perkembangan termaju dan menghasilkan akademik dan industri, seperti kehilangan regresi tanpa Anchor, SimOTA dan SIoU. Keputusan percubaan pada set data COCO menunjukkan bahawa YOLOv6 adalah antara yang terbaik dari segi ketepatan dan kelajuan pengesanan.

Pada masa hadapan, kami akan terus membina dan menambah baik ekosistem YOLOv6 Kerja utama merangkumi aspek berikut:

  1. . Memperbaik rangkaian penuh model YOLOv6 , dan terus meningkatkan prestasi pengesanan.
  2. Reka bentuk model mesra perkakasan pada pelbagai platform perkakasan.
  3. Menyokong penyesuaian rantaian penuh seperti penggunaan platform ARM dan penyulingan kuantitatif.
  4. Kembangkan dan perkenalkan teknologi berkaitan secara lateral, seperti pembelajaran separa penyeliaan, penyeliaan sendiri, dsb.
  5. Terokai prestasi generalisasi YOLOv6 dalam senario perniagaan yang lebih tidak diketahui.

Atas ialah kandungan terperinci Rangka kerja pengesanan sasaran YOLOv6 yang pantas dan tepat telah menjadi sumber terbuka. 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