ກ້ານໃບ YOLOv9: ກ້າວກະໂດດໃນການກວດຫາວັດຖຸໃນເວລາຈິງ - Unite.AI
ເຊື່ອມຕໍ່ກັບພວກເຮົາ

ປັນຍາປະດິດ

YOLOv9: ກ້າວກະໂດດໃນການກວດຫາວັດຖຸໃນເວລາຈິງ

mm

ຈັດພີມມາ

 on

ກວດຫາວັດຖຸ ໄດ້ເຫັນຄວາມກ້າວຫນ້າຢ່າງໄວວາໃນຊຸມປີມໍ່ໆມານີ້ຍ້ອນ ການຮຽນຮູ້ລຶກລັບ ສູດການຄິດໄລ່ເຊັ່ນ YOLO (ເຈົ້າເບິ່ງຄັ້ງດຽວ). ການ​ທົດ​ສອບ​ຫລ້າ​ສຸດ​, YOLOv9, ເອົາການປັບປຸງທີ່ສໍາຄັນໃນຄວາມຖືກຕ້ອງ, ປະສິດທິພາບແລະການນໍາໃຊ້ຫຼາຍກວ່າສະບັບທີ່ຜ່ານມາ. ໃນບົດຂຽນນີ້, ພວກເຮົາຈະເຂົ້າໄປໃນນະວັດຕະກໍາທີ່ເຮັດໃຫ້ YOLOv9 ມີຄວາມທັນສະໄຫມໃຫມ່ສໍາລັບການກວດສອບວັດຖຸໃນເວລາຈິງ.

ເປັນ primer ດ່ວນກ່ຽວກັບການຊອກຄົ້ນຫາວັດຖຸ

ກ່ອນທີ່ຈະເຂົ້າໄປໃນສິ່ງໃຫມ່ກັບ YOLOv9, ໃຫ້ພວກເຮົາທົບທວນຄືນສັ້ນໆວ່າວິທີການກວດພົບວັດຖຸເຮັດວຽກແນວໃດ. ເປົ້າໝາຍຂອງການກວດຫາວັດຖຸແມ່ນເພື່ອລະບຸ ແລະຊອກຫາວັດຖຸພາຍໃນຮູບພາບ ເຊັ່ນ: ລົດ, ຄົນ ຫຼື ສັດ. ມັນ​ເປັນ​ຄວາມ​ສາ​ມາດ​ທີ່​ສໍາ​ຄັນ​ສໍາ​ລັບ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ເຊັ່ນ​: ລົດ​ຂັບ​ດ້ວຍ​ຕົນ​ເອງ​, ລະ​ບົບ​ການ​ເຝົ້າ​ລະ​ວັງ​, ແລະ​ການ​ຊອກ​ຫາ​ຮູບ​ພາບ​.

ເຄື່ອງກວດຈັບເອົາຮູບພາບເປັນ input ແລະ outputs ກ່ອງຜູກມັດອ້ອມຮອບວັດຖຸທີ່ກວດພົບ, ແຕ່ລະມີປ້າຍປະເພດທີ່ກ່ຽວຂ້ອງ. ຊຸດຂໍ້ມູນຍອດນິຍົມເຊັ່ນ MS COCO ສະໜອງຮູບພາບທີ່ມີປ້າຍກຳກັບຫຼາຍພັນຮູບເພື່ອຝຶກອົບຮົມ ແລະປະເມີນຮູບແບບເຫຼົ່ານີ້.

ມີສອງວິທີການຕົ້ນຕໍໃນການຊອກຄົ້ນຫາວັດຖຸ:

  • ເຄື່ອງກວດຈັບສອງຂັ້ນຕອນ ຄືກັບ Faster R-CNN ທໍາອິດສ້າງບົດສະເຫນີພາກພື້ນ, ຫຼັງຈາກນັ້ນຈັດປະເພດແລະປັບປຸງຂອບເຂດຂອງແຕ່ລະພາກພື້ນ. ພວກເຂົາເຈົ້າມີແນວໂນ້ມທີ່ຈະຖືກຕ້ອງຫຼາຍແຕ່ຊ້າກວ່າ.
  • ເຄື່ອງກວດຈັບໄລຍະດຽວ ຄືກັບ YOLO ໃຊ້ຕົວແບບໂດຍກົງໃສ່ຮູບໃນໃບດຽວ. ພວກເຂົາເຈົ້າແລກປ່ຽນຄວາມຖືກຕ້ອງບາງຢ່າງສໍາລັບເວລາ inference ໄວຫຼາຍ.

YOLO ໄດ້ບຸກເບີກວິທີການຂັ້ນຕອນດຽວ. ຂໍໃຫ້ເບິ່ງວິທີການທີ່ມັນໄດ້ພັດທະນາໃນໄລຍະຫຼາຍສະບັບເພື່ອປັບປຸງຄວາມຖືກຕ້ອງແລະປະສິດທິພາບ.

ການທົບທວນຄືນຂອງ YOLO ສະບັບທີ່ຜ່ານມາ

ແບບຈໍາລອງຂອງຄອບຄົວ YOLO (You Only Look Once) ຢູ່ໃນແຖວໜ້າຂອງການກວດຫາວັດຖຸໄດ້ໄວນັບຕັ້ງແຕ່ສະບັບຕົ້ນສະບັບຖືກພິມເຜີຍແຜ່ໃນປີ 2016. ນີ້ແມ່ນການສະຫຼຸບຫຍໍ້ກ່ຽວກັບວິທີທີ່ YOLO ມີຄວາມຄືບໜ້າໃນໄລຍະຫຼາຍໆຄັ້ງ:

  • YOLOv1 ສະເໜີຮູບແບບທີ່ເປັນເອກະພາບເພື່ອຄາດຄະເນກ່ອງຜູກມັດ ແລະ ຄວາມເປັນໄປໄດ້ຂອງຊັ້ນຮຽນໂດຍກົງຈາກຮູບເຕັມໃນໃບດຽວ. ນີ້ເຮັດໃຫ້ມັນໄວທີ່ສຸດເມື່ອທຽບກັບຕົວແບບສອງຂັ້ນຕອນກ່ອນຫນ້ານີ້.
  • YOLOv2 ປັບປຸງຕາມຕົ້ນສະບັບໂດຍການນໍາໃຊ້ການປົກກະຕິ batch ສໍາລັບຄວາມຫມັ້ນຄົງທີ່ດີກວ່າ, ກ່ອງຍຶດຢູ່ໃນຂະຫນາດຕ່າງໆແລະອັດຕາສ່ວນລັກສະນະຕ່າງໆເພື່ອກວດຫາຂະຫນາດຫຼາຍ, ແລະການເພີ່ມປະສິດທິພາບອື່ນໆ.
  • YOLOv3 ເພີ່ມຕົວສະກັດຄຸນສົມບັດໃຫມ່ທີ່ເອີ້ນວ່າ Darknet-53 ທີ່ມີຊັ້ນຕ່າງໆແລະທາງລັດລະຫວ່າງພວກມັນ, ປັບປຸງຄວາມຖືກຕ້ອງຕື່ມອີກ.
  • YOLOv4 ແນວຄວາມຄິດລວມຈາກເຄື່ອງກວດຈັບວັດຖຸອື່ນໆແລະຮູບແບບການແບ່ງສ່ວນເພື່ອຊຸກຍູ້ຄວາມຖືກຕ້ອງສູງກວ່າໃນຂະນະທີ່ຍັງຮັກສາການສະຫຼຸບໄວ.
  • YOLOv5 ຂຽນຄືນໃຫມ່ YOLOv4 ໃນ PyTorch ແລະເພີ່ມກະດູກສັນຫຼັງການສະກັດຄຸນສົມບັດໃຫມ່ທີ່ເອີ້ນວ່າ CSPDarknet ພ້ອມກັບການປັບປຸງອື່ນໆຈໍານວນຫນຶ່ງ.
  • YOLOv6 ສືບຕໍ່ປັບປຸງຂະບວນການສະຖາປັດຕະຍະກຳ ແລະ ການຝຶກອົບຮົມໃຫ້ເໝາະສົມ, ດ້ວຍຕົວແບບທີ່ໄດ້ຝຶກອົບຮົມໄວ້ລ່ວງໜ້າໃນຊຸດຂໍ້ມູນພາຍນອກຂະໜາດໃຫຍ່ ເພື່ອເພີ່ມປະສິດຕິພາບຕື່ມອີກ.

ດັ່ງນັ້ນ, ສະຫຼຸບແລ້ວ, ຮຸ່ນ YOLO ທີ່ຜ່ານມາໄດ້ບັນລຸຄວາມຖືກຕ້ອງທີ່ສູງຂຶ້ນໂດຍຜ່ານການປັບປຸງສະຖາປັດຕະຍະກໍາ, ເຕັກນິກການຝຶກອົບຮົມ, ແລະການຝຶກອົບຮົມກ່ອນ. ແຕ່ເມື່ອຕົວແບບໃຫຍ່ຂຶ້ນແລະສັບສົນຫຼາຍ, ຄວາມໄວແລະປະສິດທິພາບເລີ່ມທົນທຸກ.

ຄວາມຕ້ອງການປະສິດທິພາບທີ່ດີກວ່າ

ແອັບພລິເຄຊັນຫຼາຍອັນຕ້ອງການການກວດຫາວັດຖຸເພື່ອເຮັດວຽກໃນເວລາຈິງໃນອຸປະກອນທີ່ມີຊັບພະຍາກອນຄອມພິວເຕີຈຳກັດ. ເມື່ອຕົວແບບມີຂະໜາດໃຫຍ່ຂຶ້ນ ແລະ ມີຄວາມເຂັ້ມຂຸ້ນໃນການຄິດໄລ່ຫຼາຍຂື້ນ, ພວກມັນກາຍເປັນຕົວແບບທີ່ບໍ່ສາມາດນຳໃຊ້ໄດ້.

ຕົວຢ່າງ, ລົດທີ່ຂັບລົດດ້ວຍຕົນເອງຕ້ອງກວດພົບວັດຖຸໃນອັດຕາເຟຣມສູງໂດຍໃຊ້ໂປເຊດເຊີພາຍໃນລົດ. ກ້ອງຖ່າຍຮູບຄວາມປອດໄພຕ້ອງດໍາເນີນການກວດຫາວັດຖຸຢູ່ໃນຟີດວິດີໂອຂອງມັນຢູ່ໃນຮາດແວຝັງຕົວຂອງມັນເອງ. ໂທລະສັບ ແລະອຸປະກອນບໍລິໂພກອື່ນໆມີຂໍ້ຈຳກັດດ້ານພະລັງງານ ແລະຄວາມຮ້ອນທີ່ເຄັ່ງຄັດຫຼາຍ.

ຮຸ່ນ YOLO ທີ່ຜ່ານມາໄດ້ຮັບຄວາມຖືກຕ້ອງສູງດ້ວຍຕົວກໍານົດການຈໍານວນຫລາຍແລະການດໍາເນີນງານການເພີ່ມຄູນ (FLOPs). ແຕ່ນີ້ມາຢູ່ໃນຄ່າໃຊ້ຈ່າຍຂອງຄວາມໄວ, ຂະຫນາດແລະປະສິດທິພາບພະລັງງານ.

ຕົວຢ່າງ, YOLOv5-L ຕ້ອງການຫຼາຍກວ່າ 100 ຕື້ FLOPs ເພື່ອປະມວນຜົນຮູບດຽວ 1280×1280. ນີ້ແມ່ນຊ້າເກີນໄປສໍາລັບກໍລະນີການນໍາໃຊ້ທີ່ແທ້ຈິງຈໍານວນຫຼາຍ. ທ່າອ່ຽງຂອງຕົວແບບທີ່ເຄີຍໃຫຍ່ຂຶ້ນຍັງເພີ່ມຄວາມສ່ຽງຕໍ່ການໃສ່ຕົວເກີນ ແລະເຮັດໃຫ້ມັນຍາກທີ່ຈະເຮັດໃຫ້ທົ່ວໄປໄດ້.

ດັ່ງນັ້ນ, ເພື່ອຂະຫຍາຍການໃຊ້ງານຂອງການກວດຫາວັດຖຸ, ພວກເຮົາຕ້ອງການວິທີການປັບປຸງປະສິດທິພາບ – ໄດ້ຮັບຄວາມຖືກຕ້ອງທີ່ດີກວ່າດ້ວຍຕົວກໍານົດການແລະການຄິດໄລ່ຫນ້ອຍ. ຂໍໃຫ້ເບິ່ງເຕັກນິກທີ່ໃຊ້ໃນ YOLOv9 ເພື່ອຮັບມືກັບສິ່ງທ້າທາຍນີ້.

YOLOv9 – ຄວາມຖືກຕ້ອງດີກວ່າດ້ວຍຊັບພະຍາກອນໜ້ອຍ

ນັກຄົ້ນຄວ້າທີ່ຢູ່ເບື້ອງຫຼັງ YOLOv9 ໄດ້ສຸມໃສ່ການປັບປຸງປະສິດທິພາບເພື່ອບັນລຸການປະຕິບັດໃນເວລາທີ່ແທ້ຈິງໃນທົ່ວອຸປະກອນທີ່ກວ້າງຂວາງ. ພວກເຂົາເຈົ້າໄດ້ນໍາສະເຫນີສອງປະດິດສ້າງທີ່ສໍາຄັນ:

  1. ສະຖາປັດຕະຍະກໍາແບບໃຫມ່ທີ່ເອີ້ນວ່າ ເຄືອຂ່າຍການລວມຊັ້ນທີ່ມີປະສິດທິພາບທົ່ວໄປ (GELAN) ທີ່ເຮັດໃຫ້ຄວາມຖືກຕ້ອງສູງສຸດໃນຂະນະທີ່ຫຼຸດພາລາມິເຕີ ແລະ FLOPs.
  2. ເຕັກນິກການຝຶກອົບຮົມທີ່ເອີ້ນວ່າ ຂໍ້ມູນ Gradient Programmable (PGI) ທີ່ສະຫນອງການຮຽນຮູ້ gradients ທີ່ເຊື່ອຖືໄດ້ຫຼາຍ, ໂດຍສະເພາະສໍາລັບຕົວແບບຂະຫນາດນ້ອຍ.

ຂໍໃຫ້ເບິ່ງວ່າແຕ່ລະຄວາມກ້າວຫນ້າເຫຼົ່ານີ້ຊ່ວຍປັບປຸງປະສິດທິພາບໄດ້ແນວໃດ.

ສະຖາປັດຕະຍະກໍາທີ່ມີປະສິດທິພາບຫຼາຍຂຶ້ນກັບ GELAN

ສະຖາປັດຕະຍະກໍາຕົວແບບຕົວມັນເອງແມ່ນສໍາຄັນສໍາລັບການດຸ່ນດ່ຽງຄວາມຖືກຕ້ອງຕໍ່ກັບຄວາມໄວແລະການນໍາໃຊ້ຊັບພະຍາກອນໃນລະຫວ່າງການສະຫຼຸບ. ເຄືອຂ່າຍ neural ຕ້ອງການຄວາມເລິກແລະຄວາມກວ້າງພຽງພໍເພື່ອເກັບກໍາລັກສະນະທີ່ກ່ຽວຂ້ອງຈາກຮູບພາບການປ້ອນຂໍ້ມູນ. ແຕ່ຊັ້ນຫຼືຕົວກອງຫຼາຍເກີນໄປນໍາໄປສູ່ຕົວແບບຊ້າແລະ bloated.

ຜູ້ຂຽນໄດ້ອອກແບບ GELAN ໂດຍສະເພາະເພື່ອບີບຄວາມຖືກຕ້ອງສູງສຸດອອກຈາກສະຖາປັດຕະຍະກໍາທີ່ນ້ອຍທີ່ສຸດເທົ່າທີ່ເປັນໄປໄດ້.

GELAN ໃຊ້ສອງຕຶກອາຄານຫຼັກຊ້ອນກັນ:

  • ບລັອກການລວບລວມຊັ້ນທີ່ມີປະສິດທິພາບ – ການ​ຫັນ​ເປັນ​ລວມ​ເຫຼົ່າ​ນີ້​ໃນ​ທົ່ວ​ສາ​ຂາ​ເຄືອ​ຂ່າຍ​ຫຼາຍ​ເພື່ອ​ເກັບ​ກໍາ​ຄຸນ​ສົມ​ບັດ​ຫຼາຍ​ຂະ​ຫນາດ​ປະ​ສິດ​ທິ​ພາບ​.
  • ບລັອກການຄິດໄລ່ – ຕັນ CSPNet ຊ່ວຍເຜີຍແຜ່ຂໍ້ມູນທົ່ວຊັ້ນຕ່າງໆ. ບລັອກໃດນຶ່ງສາມາດຖືກແທນທີ່ໂດຍອີງໃສ່ຂໍ້ຈໍາກັດຂອງຄອມພິວເຕີ້.

ໂດຍການດຸ່ນດ່ຽງຢ່າງລະມັດລະວັງແລະການລວມບລັອກເຫຼົ່ານີ້, GELAN ເຂົ້າໄປໃນຈຸດທີ່ຫວານລະຫວ່າງການປະຕິບັດ, ຕົວກໍານົດການ, ແລະຄວາມໄວ. ສະຖາປັດຕະຍະກໍາແບບໂມດູນດຽວກັນສາມາດປັບຂະຫນາດຂຶ້ນຫຼືຫຼຸດລົງໃນທົ່ວຂະຫນາດທີ່ແຕກຕ່າງກັນຂອງແບບຈໍາລອງແລະຮາດແວ.

ການທົດລອງໄດ້ສະແດງໃຫ້ເຫັນວ່າ GELAN ເຫມາະກັບປະສິດທິພາບຫຼາຍເປັນຮູບແບບຂະຫນາດນ້ອຍກວ່າເມື່ອທຽບກັບສະຖາປັດຕະຍະກໍາ YOLO ກ່ອນ. ຕົວຢ່າງ, GELAN-Small ທີ່ມີພາລາມິເຕີ 7M ດີກວ່າພາລາມິເຕີ 11M YOLOv7-Nano. ແລະ GELAN-Medium ທີ່ມີພາລາມິເຕີ 20M ປະຕິບັດເທົ່າກັບ YOLOv7 ແບບຂະຫນາດກາງທີ່ຕ້ອງການພາລາມິເຕີ 35-40M.

ດັ່ງນັ້ນ, ໂດຍການອອກແບບສະຖາປັດຕະຍະກໍາ parameterized ໂດຍສະເພາະສໍາລັບການເພີ່ມປະສິດທິພາບ, GELAN ອະນຸຍາດໃຫ້ຕົວແບບຕ່າງໆດໍາເນີນການໄດ້ໄວຂຶ້ນແລະໃນອຸປະກອນທີ່ຈໍາກັດຊັບພະຍາກອນຫຼາຍ. ຕໍ່ໄປພວກເຮົາຈະເບິ່ງວິທີການ PGI ຊ່ວຍໃຫ້ພວກເຂົາຝຶກອົບຮົມດີຂຶ້ນ.

ການຝຶກອົບຮົມທີ່ດີກວ່າດ້ວຍຂໍ້ມູນ Gradient Programmable (PGI)

ການຝຶກອົບຮົມແບບຈໍາລອງແມ່ນມີຄວາມສໍາຄັນເຊັ່ນດຽວກັນເພື່ອເພີ່ມປະສິດທິພາບຄວາມຖືກຕ້ອງດ້ວຍຊັບພະຍາກອນທີ່ຈໍາກັດ. ຜູ້ຂຽນ YOLOv9 ໄດ້ກໍານົດບັນຫາການຝຶກອົບຮົມແບບຈໍາລອງຂະຫນາດນ້ອຍທີ່ເກີດຈາກຂໍ້ມູນ gradient ທີ່ບໍ່ຫນ້າເຊື່ອຖື.

ໄລ່ສີ ກຳນົດວ່ານ້ຳໜັກຂອງຕົວແບບໃດນຶ່ງຖືກປັບປຸງໃນລະຫວ່າງການຝຶກອົບຮົມ. gradients ທີ່ບໍ່ມີສຽງ ຫຼືເຮັດໃຫ້ເຂົ້າໃຈຜິດເຮັດໃຫ້ການເຂົ້າກັນບໍ່ດີ. ບັນຫານີ້ຈະກາຍເປັນທີ່ຊັດເຈນຫຼາຍສໍາລັບເຄືອຂ່າຍຂະຫນາດນ້ອຍ.

ເຕັກນິກຂອງ ການ​ຊີ້​ນໍາ​ເລິກ​ ແກ້ໄຂນີ້ໂດຍການແນະນໍາສາຂາຂ້າງຄຽງເພີ່ມເຕີມທີ່ມີການສູນເສຍເພື່ອຂະຫຍາຍສັນຍານ gradient ທີ່ດີກວ່າຜ່ານເຄືອຂ່າຍ. ແຕ່ມັນມີແນວໂນ້ມທີ່ຈະທໍາລາຍແລະເຮັດໃຫ້ເກີດຄວາມແຕກຕ່າງສໍາລັບຕົວແບບທີ່ມີນ້ໍາຫນັກເບົາຂະຫນາດນ້ອຍກວ່າ.

YOLOv9: ການຮຽນຮູ້ສິ່ງທີ່ທ່ານຕ້ອງການຮຽນຮູ້ໂດຍໃຊ້ຂໍ້ມູນ Gradient Programmable

YOLOv9: ການຮຽນຮູ້ສິ່ງທີ່ທ່ານຕ້ອງການຮຽນຮູ້ໂດຍໃຊ້ Programmable Gradient Information https://arxiv.org/abs/2402.13616

ເພື່ອເອົາຊະນະຂໍ້ຈໍາກັດນີ້, YOLOv9 ແນະນໍາ ຂໍ້ມູນ Gradient Programmable (PGI). PGI ມີສອງອົງປະກອບຕົ້ນຕໍ:

  • ສາຂາທີ່ປີ້ນກັບຕົວຊ່ວຍ – ເຫຼົ່ານີ້ສະຫນອງ gradients ສະອາດໂດຍການຮັກສາການເຊື່ອມຕໍ່ປີ້ນກັບກັນກັບວັດສະດຸປ້ອນໂດຍໃຊ້ຕັນເຊັ່ນ RevCols.
  • ການເຊື່ອມໂຍງ gradient ຫຼາຍລະດັບ – ອັນນີ້ຫຼີກລ່ຽງຄວາມແຕກແຍກຈາກຕ່າງຝ່າຍຕ່າງແຊກແຊງ. ມັນສົມທົບການ gradients ຈາກສາຂາທັງຫມົດກ່ອນທີ່ຈະໃຫ້ອາຫານກັບຄືນໄປບ່ອນຮູບແບບຕົ້ນຕໍ.

ໂດຍການສ້າງ gradients ທີ່ເຊື່ອຖືໄດ້ຫຼາຍ, PGI ຊ່ວຍໃຫ້ຕົວແບບຂະຫນາດນ້ອຍຝຶກອົບຮົມຢ່າງມີປະສິດທິພາບເທົ່າກັບຕົວແບບໃຫຍ່ກວ່າ:

ການທົດລອງສະແດງໃຫ້ເຫັນ PGI ປັບປຸງຄວາມຖືກຕ້ອງໃນທົ່ວຂະຫນາດຂອງຕົວແບບ, ໂດຍສະເພາະແມ່ນການຕັ້ງຄ່າຂະຫນາດນ້ອຍກວ່າ. ຕົວຢ່າງ, ມັນໄດ້ເພີ່ມຄະແນນ AP ຂອງ YOLOv9-Small ໂດຍ 0.1-0.4% ໃນໄລຍະພື້ນຖານ GELAN-Small. ຜົນປະໂຫຍດແມ່ນມີຄວາມສໍາຄັນຫຼາຍສໍາລັບຕົວແບບທີ່ເລິກເຊິ່ງເຊັ່ນ YOLOv9-E ທີ່ 55.6% mAP.

ດັ່ງນັ້ນ PGI ຊ່ວຍໃຫ້ຕົວແບບຂະຫນາດນ້ອຍກວ່າ, ມີປະສິດທິພາບໃນການຝຶກອົບຮົມໃນລະດັບຄວາມຖືກຕ້ອງທີ່ສູງຂຶ້ນໃນເມື່ອກ່ອນພຽງແຕ່ສາມາດບັນລຸໄດ້ໂດຍແບບຈໍາລອງເກີນຕົວກໍານົດການ.

YOLOv9 ກໍານົດຄວາມທັນສະໄຫມໃຫມ່ສໍາລັບປະສິດທິພາບ

ໂດຍການລວມເອົາຄວາມກ້າວຫນ້າທາງດ້ານສະຖາປັດຕະຍະກໍາຂອງ GELAN ກັບການປັບປຸງການຝຶກອົບຮົມຈາກ PGI, YOLOv9 ບັນລຸປະສິດທິພາບແລະປະສິດທິພາບທີ່ບໍ່ເຄີຍມີມາກ່ອນ:

  • ເມື່ອປຽບທຽບກັບ YOLO ລຸ້ນກ່ອນ, YOLOv9 ໄດ້ຮັບ ຄວາມ​ຖືກ​ຕ້ອງ​ທີ່​ດີກ​ວ່າ​ທີ່​ມີ 10-15% ຕົວ​ກໍາ​ນົດ​ການ​ຫນ້ອຍ​ແລະ 25% ການ​ຄິດ​ໄລ່​ຫນ້ອຍ. ນີ້ນໍາເອົາການປັບປຸງທີ່ສໍາຄັນໃນຄວາມໄວແລະຄວາມສາມາດໃນທົ່ວຂະຫນາດຂອງຕົວແບບ.
  • YOLOv9 ລື່ນກາຍເຄື່ອງກວດຈັບເວລາຈິງອື່ນໆເຊັ່ນ YOLO-MS ແລະ RT-DETR ໃນແງ່ຂອງ ປະສິດທິພາບພາລາມິເຕີແລະ FLOPs. ມັນຕ້ອງການຊັບພະຍາກອນໜ້ອຍກວ່າເພື່ອບັນລຸລະດັບການປະຕິບັດທີ່ກຳນົດໄວ້.
  • ຮຸ່ນ YOLOv9 ຂະຫນາດນ້ອຍກວ່າແມ່ນຍັງຕີຕົວແບບກ່ອນການຝຶກອົບຮົມຂະຫນາດໃຫຍ່ເຊັ່ນ RT-DETR-X. ເຖິງວ່າຈະມີການນໍາໃຊ້ 36% ຕົວກໍານົດການຫນ້ອຍ, YOLOv9-E ບັນລຸໄດ້ ດີກວ່າ 55.6% AP ຜ່ານສະຖາປັດຕະຍະກໍາທີ່ມີປະສິດທິພາບຫຼາຍຂຶ້ນ.

ດັ່ງນັ້ນ, ໂດຍການແກ້ໄຂປະສິດທິພາບໃນລະດັບສະຖາປັດຕະຍະກໍາແລະການຝຶກອົບຮົມ, YOLOv9 ກໍານົດຄວາມທັນສະໄຫມໃຫມ່ສໍາລັບການເພີ່ມປະສິດທິພາບສູງສຸດພາຍໃນຊັບພະຍາກອນຈໍາກັດ.

GELAN – ສະຖາປັດຕະຍະກຳທີ່ເໝາະສົມສຳລັບປະສິດທິພາບ

YOLOv9 ແນະນຳສະຖາປັດຕະຍະກຳໃໝ່ທີ່ເອີ້ນວ່າ General Efficient Layer Aggregation Network (GELAN) ເຊິ່ງເຮັດໃຫ້ຄວາມຖືກຕ້ອງສູງສຸດພາຍໃນງົບປະມານພາລາມິເຕີຂັ້ນຕ່ຳ. ມັນສ້າງຢູ່ເທິງສຸດຂອງແບບ YOLO ກ່ອນຫນ້ານີ້ແຕ່ເພີ່ມປະສິດທິພາບອົງປະກອບຕ່າງໆໂດຍສະເພາະສໍາລັບປະສິດທິພາບ.

https://arxiv.org/abs/2402.13616

YOLOv9: ການຮຽນຮູ້ສິ່ງທີ່ທ່ານຕ້ອງການຮຽນຮູ້ໂດຍໃຊ້ຂໍ້ມູນ Gradient Programmable
https://arxiv.org/abs/2402.13616

ຄວາມເປັນມາຂອງ CSPNet ແລະ ELAN

ຮຸ່ນ YOLO ທີ່ຜ່ານມານັບຕັ້ງແຕ່ v5 ໄດ້ນໍາໃຊ້ກະດູກສັນຫຼັງໂດຍອີງໃສ່ເຄືອຂ່າຍສ່ວນຂ້າມຂັ້ນຕອນ (CSPNet) ສໍາລັບການປັບປຸງປະສິດທິພາບ. CSPNet ອະ​ນຸ​ຍາດ​ໃຫ້​ແຜນ​ທີ່​ຄຸນ​ສົມ​ບັດ​ທີ່​ຈະ​ໄດ້​ຮັບ​ການ​ສະ​ສົມ​ໃນ​ທົ່ວ​ສາ​ຂາ​ເຄືອ​ຂ່າຍ​ຂະ​ຫນານ​ຂະ​ຫນານ​ໃນ​ຂະ​ນະ​ທີ່​ເພີ່ມ overhead ຫນ້ອຍ​:

ນີ້ແມ່ນປະສິດທິພາບຫຼາຍກ່ວາພຽງແຕ່ stacking layers serially, ເຊິ່ງມັກຈະເຮັດໃຫ້ການຄິດໄລ່ຊ້ໍາຊ້ອນແລະການ over-parameterization.

YOLOv7 ໄດ້ອັບເກຣດ CSPNet ເປັນເຄືອຂ່າຍການລວມຊັ້ນທີ່ມີປະສິດທິພາບ (ELAN), ເຊິ່ງເຮັດໃຫ້ໂຄງສ້າງຂອງບລ໋ອກງ່າຍຂຶ້ນ:

ELAN ຖອນການເຊື່ອມຕໍ່ທາງລັດລະຫວ່າງຊັ້ນຕ່າງໆໃນເງື່ອນໄຂຂອງໂຫນດການລວບລວມຢູ່ທີ່ຜົນຜະລິດ. ນີ້ປັບປຸງຕົວກໍານົດການເພີ່ມເຕີມແລະປະສິດທິພາບ FLOPs.

ການສ້າງ ELAN ທົ່ວໄປເພື່ອປະສິດທິພາບທີ່ຍືດຫຍຸ່ນ

ຜູ້ຂຽນໄດ້ໂດຍທົ່ວໄປ ELAN ຕື່ມອີກເພື່ອສ້າງ GELAN, ກະດູກສັນຫຼັງທີ່ໃຊ້ໃນ YOLOv9. GELAN ໄດ້ເຮັດການດັດແກ້ທີ່ສໍາຄັນເພື່ອປັບປຸງຄວາມຍືດຫຍຸ່ນແລະປະສິດທິພາບ:

  • ຕັນ​ການ​ຄິດ​ໄລ່​ທີ່​ປ່ຽນ​ແປງ​ໄດ້​ - ELAN ທີ່ຜ່ານມາໄດ້ແກ້ໄຂຊັ້ນ convolutional. GELAN ອະນຸຍາດໃຫ້ປ່ຽນຕົວບລັອກຄອມພິວເຕີເຊັ່ນ ResNets ຫຼື CSPNet, ໃຫ້ທາງເລືອກສະຖາປັດຕະຍະກໍາຫຼາຍຂຶ້ນ.
  • ການກໍານົດຕົວກໍານົດຄວາມເລິກທີ່ສະຫລາດ - ຄວາມເລິກຂອງບລັອກແຍກຕ່າງຫາກສໍາລັບສາຂາຕົ້ນຕໍທຽບກັບສາຂາການລວບລວມເຮັດໃຫ້ການນໍາໃຊ້ຊັບພະຍາກອນທີ່ປັບລະອຽດງ່າຍ.
  • ການປະຕິບັດທີ່ຫມັ້ນຄົງໃນທົ່ວການຕັ້ງຄ່າ - GELAN ຮັກສາຄວາມຖືກຕ້ອງດ້ວຍປະເພດບລັອກແລະຄວາມເລິກທີ່ແຕກຕ່າງກັນ, ຊ່ວຍໃຫ້ການປັບຂະຫນາດທີ່ມີຄວາມຍືດຫຍຸ່ນ.

ການປ່ຽນແປງເຫຼົ່ານີ້ເຮັດໃຫ້ GELAN ເປັນກະດູກສັນຫຼັງທີ່ເຂັ້ມແຂງແຕ່ສາມາດຕັ້ງຄ່າໄດ້ສໍາລັບການເພີ່ມປະສິດທິພາບສູງສຸດ:

ໃນການທົດລອງ, ແບບຈໍາລອງ GELAN ປະຕິບັດໄດ້ດີກວ່າສະຖາປັດຕະຍະກໍາ YOLO ກ່ອນຫນ້ານີ້ໃນຄວາມຖືກຕ້ອງຕໍ່ພາລາມິເຕີ:

  • GELAN-Small ທີ່ມີພາລາມິເຕີ 7M ຕີພາຣາມິເຕີ 7M ຂອງ YOLOv11-Nano
  • GELAN-Medium ຈັບຄູ່ແບບຂະໜາດກາງ YOLOv7 ທີ່ໜັກກວ່າ

ດັ່ງນັ້ນ GELAN ສະຫນອງກະດູກສັນຫຼັງທີ່ດີທີ່ສຸດເພື່ອຂະຫນາດ YOLO ໃນທົ່ວເປົ້າຫມາຍປະສິດທິພາບທີ່ແຕກຕ່າງກັນ. ຕໍ່ໄປພວກເຮົາຈະເບິ່ງວິທີການ PGI ຊ່ວຍໃຫ້ພວກເຂົາຝຶກອົບຮົມດີຂຶ້ນ.

PGI - ການປັບປຸງການຝຶກອົບຮົມສໍາລັບຂະຫນາດຕົວແບບທັງຫມົດ

ໃນຂະນະທີ່ການເລືອກສະຖາປັດຕະຍະກໍາມີຜົນກະທົບປະສິດທິພາບໃນເວລາທີ່ inference, ຂະບວນການຝຶກອົບຮົມຍັງມີຜົນກະທົບການນໍາໃຊ້ຊັບພະຍາກອນຕົວແບບ. YOLOv9 ໃຊ້ເຕັກນິກໃໝ່ທີ່ເອີ້ນວ່າ Programmable Gradient Information (PGI) ເພື່ອປັບປຸງການຝຶກອົບຮົມໃນທົ່ວຂະໜາດຕົວແບບ ແລະຄວາມສັບສົນ.

ບັນຫາຂອງ Gradients ທີ່ບໍ່ຫນ້າເຊື່ອຖື

ໃນລະຫວ່າງການຝຶກອົບຮົມ, ຟັງຊັນການສູນເສຍຈະປຽບທຽບຜົນໄດ້ຮັບຂອງຕົວແບບກັບປ້າຍຊື່ຄວາມຈິງ ແລະຄຳນວນການເລື່ອນຂັ້ນຄວາມຜິດພາດເພື່ອປັບປຸງພາລາມິເຕີ. gradients ບໍ່ມີສຽງ ຫຼືເຮັດໃຫ້ເຂົ້າໃຈຜິດ ນໍາໄປສູ່ການລວມກັນທີ່ບໍ່ດີແລະປະສິດທິພາບ.

ເຄືອຂ່າຍເລິກຫຼາຍ exacerbates ນີ້ໂດຍຜ່ານການ ຂໍ້​ມູນ​ຄໍ​ຂອດ​ – gradients ຈາກ​ຊັ້ນ​ເລິກ​ຖືກ​ເສຍ​ຫາຍ​ໂດຍ​ສູນ​ເສຍ​ຫຼື​ການ​ບີບ​ອັດ​ສັນ​ຍານ​.

ການ​ຊີ້​ນຳ​ຢ່າງ​ເລິກ​ເຊິ່ງ ຊ່ວຍໂດຍການແນະນໍາສາຂາຂ້າງຄຽງທີ່ມີການສູນເສຍເພື່ອໃຫ້ gradients ສະອາດ. ແຕ່ມັນເລື້ອຍໆ ແບ່ງອອກສໍາລັບຕົວແບບຂະຫນາດນ້ອຍກວ່າ, ເຮັດໃຫ້ເກີດການແຊກແຊງແລະຄວາມແຕກຕ່າງກັນລະຫວ່າງສາຂາທີ່ແຕກຕ່າງກັນ.

ດັ່ງນັ້ນພວກເຮົາຕ້ອງການວິທີການສະຫນອງ gradients ທີ່ເຊື່ອຖືໄດ້ທີ່ເຮັດວຽກໃນທົ່ວຂະຫນາດຂອງຕົວແບບ, ໂດຍສະເພາະຂະຫນາດນ້ອຍກວ່າ.

ແນະນຳຂໍ້ມູນ Gradient Programmable (PGI)

ເພື່ອແກ້ໄຂ gradients ທີ່ບໍ່ຫນ້າເຊື່ອຖື, YOLOv9 ສະເຫນີຂໍ້ມູນ Gradient Programmable (PGI). PGI ມີສອງອົງປະກອບຕົ້ນຕໍທີ່ອອກແບບມາເພື່ອປັບປຸງຄຸນນະພາບ gradient:

1. Auxiliary reversible ສາຂາ

ສາຂາເພີ່ມເຕີມໃຫ້ ການເຊື່ອມຕໍ່ປີ້ນກັບກັນ ກັບໄປທີ່ການປ້ອນຂໍ້ມູນໂດຍໃຊ້ບລັອກເຊັ່ນ RevCols. ນີ້ຮັກສາ gradients ສະອາດເພື່ອຫຼີກເວັ້ນການເປັນຂວດຂໍ້ມູນ.

2. ການເຊື່ອມໂຍງ gradient ຫຼາຍລະດັບ

A fusion block ລວມ gradients ຈາກສາຂາທັງຫມົດກ່ອນທີ່ຈະໃຫ້ອາຫານກັບຄືນໄປບ່ອນຮູບແບບຕົ້ນຕໍ. ນີ້ປ້ອງກັນບໍ່ໃຫ້ຄວາມແຕກຕ່າງກັນໃນທົ່ວສາຂາ.

ໂດຍການສ້າງ gradients ທີ່ເຊື່ອຖືໄດ້ຫຼາຍຂຶ້ນ, PGI ປັບປຸງການເຂົ້າກັນຂອງການຝຶກອົບຮົມ ແລະປະສິດທິພາບໃນທົ່ວຂະຫນາດຕົວແບບທັງຫມົດ:

  • ຮຸ່ນທີ່ມີນ້ໍາຫນັກເບົາ ໄດ້ຮັບຜົນປະໂຫຍດຈາກການເບິ່ງແຍງຢ່າງເລິກເຊິ່ງທີ່ພວກເຂົາບໍ່ສາມາດໃຊ້ກ່ອນ
  • ຮູບແບບຂະຫນາດໃຫຍ່ ໄດ້ຮັບການ gradients ສະອາດເຮັດໃຫ້ທົ່ວໄປທີ່ດີກວ່າ

ການທົດລອງໄດ້ສະແດງໃຫ້ເຫັນວ່າ PGI ໄດ້ເພີ່ມຄວາມຖືກຕ້ອງສໍາລັບການຕັ້ງຄ່າ YOLOv9 ຂະຫນາດນ້ອຍແລະຂະຫນາດໃຫຍ່ໃນໄລຍະພື້ນຖານ GELAN:

  • +0.1-0.4% AP ສໍາລັບ YOLOv9-Small
  • +0.5-0.6% AP ສໍາລັບຮຸ່ນ YOLOv9 ທີ່ໃຫຍ່ກວ່າ

ດັ່ງນັ້ນ gradients ທີ່ສາມາດວາງແຜນໄດ້ຂອງ PGI ເຮັດໃຫ້ຕົວແບບໃຫຍ່ແລະຂະຫນາດນ້ອຍເພື່ອຝຶກອົບຮົມປະສິດທິພາບຫຼາຍ.

YOLOv9 ກໍານົດຄວາມຖືກຕ້ອງທີ່ທັນສະໄຫມຂອງສິນລະປະ

ໂດຍການລວມເອົາການປັບປຸງສະຖາປັດຕະຍະກໍາຈາກ GELAN ແລະການປັບປຸງການຝຶກອົບຮົມຈາກ PGI, YOLOv9 ບັນລຸຜົນໄດ້ຮັບທີ່ທັນສະໄຫມສໍາລັບການຊອກຄົ້ນຫາວັດຖຸໃນເວລາທີ່ແທ້ຈິງ.

ການທົດລອງກ່ຽວກັບຊຸດຂໍ້ມູນ COCO ສະແດງໃຫ້ເຫັນວ່າ YOLOv9 ລື່ນກາຍ YOLO ລຸ້ນກ່ອນ, ເຊັ່ນດຽວກັນກັບເຄື່ອງກວດຈັບເວລາຈິງອື່ນໆເຊັ່ນ YOLO-MS, ໃນຄວາມຖືກຕ້ອງ ແລະປະສິດທິພາບ:

ບາງຈຸດເດັ່ນຫຼັກ:

  • YOLOv9-Small ເກີນ YOLO-MS-Small ດ້ວຍພາຣາມິເຕີ ແລະການຄິດໄລ່ໜ້ອຍລົງ 10%
  • YOLOv9-Medium ກົງກັບແບບ YOLOv7 ທີ່ໜັກກວ່າໂດຍໃຊ້ຊັບພະຍາກອນໜ້ອຍກວ່າເຄິ່ງໜຶ່ງ
  • YOLOv9-Large ເຮັດວຽກໄດ້ດີກວ່າ YOLOv8-X ໂດຍມີພາຣາມິເຕີໜ້ອຍລົງ 15% ແລະ FLOP ໜ້ອຍລົງ 25%

ຂໍ້ສັງເກດ, ຮູບແບບ YOLOv9 ຂະຫນາດນ້ອຍກວ່າແມ່ນເກີນກວ່າແບບທີ່ຫນັກກວ່າຈາກເຄື່ອງກວດຈັບອື່ນໆທີ່ໃຊ້ການຝຶກອົບຮົມກ່ອນເຊັ່ນ RT-DETR-X. ເຖິງວ່າຈະມີຕົວກໍານົດການຫນ້ອຍລົງ 4x, YOLOv9-E ດີກວ່າ RT-DETR-X ໃນຄວາມຖືກຕ້ອງ.

ຜົນໄດ້ຮັບເຫຼົ່ານີ້ສະແດງໃຫ້ເຫັນເຖິງປະສິດທິພາບທີ່ດີກວ່າຂອງ YOLOv9. ການປັບປຸງເຮັດໃຫ້ສາມາດກວດຫາວັດຖຸທີ່ມີຄວາມຖືກຕ້ອງສູງໃນກໍລະນີການນໍາໃຊ້ຕົວຈິງຫຼາຍຂຶ້ນ.

Key Takeaways ກ່ຽວກັບການອັບເກຣດ YOLOv9

ຂໍໃຫ້ສະຫຼຸບການຍົກລະດັບ ແລະນະວັດຕະກໍາທີ່ສຳຄັນບາງຢ່າງທີ່ເປີດໃຫ້ປະສິດທິພາບອັນໃໝ່ຂອງ YOLOv9:

  • GELAN ສະຖາປັດຕະຍະກໍາທີ່ດີທີ່ສຸດ - ປັບປຸງປະສິດທິພາບພາລາມິເຕີໂດຍຜ່ານຕັນການລວບລວມທີ່ມີຄວາມຍືດຫຍຸ່ນ. ອະນຸຍາດໃຫ້ຂະຫຍາຍຮູບແບບສໍາລັບເປົ້າຫມາຍທີ່ແຕກຕ່າງກັນ.
  • ຂໍ້ມູນ gradient ທີ່ສາມາດວາງແຜນໄດ້ - ສະຫນອງການ gradients ທີ່ເຊື່ອຖືໄດ້ໂດຍຜ່ານການເຊື່ອມຕໍ່ປີ້ນກັບກັນແລະ fusion. ປັບປຸງການຝຶກອົບຮົມໃນທົ່ວຂະຫນາດຕົວແບບ.
  • ຄວາມຖືກຕ້ອງຫຼາຍຂຶ້ນກັບຊັບພະຍາກອນຫນ້ອຍ - ຫຼຸດຜ່ອນພາລາມິເຕີແລະການຄິດໄລ່ 10-15% ຫຼາຍກວ່າ YOLOv8 ດ້ວຍຄວາມຖືກຕ້ອງທີ່ດີກວ່າ. ເປີດໃຊ້ການອະນຸມານທີ່ມີປະສິດທິພາບກວ່າ.
  • ຜົນໄດ້ຮັບທີ່ດີເລີດໃນທົ່ວຂະຫນາດຂອງຕົວແບບ - ກຳນົດຄ່າຕົວແບບໃໝ່ທີ່ມີນ້ຳໜັກເບົາ, ຂະໜາດກາງ, ແລະຂະໜາດໃຫຍ່. ປະຕິບັດໄດ້ດີກວ່າແບບຈໍາລອງທາງສ່ວນຫນ້າຂອງການຝຶກອົບຮົມຢ່າງຫຼວງຫຼາຍ.
  • ຂະຫຍາຍການນຳໃຊ້ - ປະສິດທິພາບສູງເຮັດໃຫ້ກໍລະນີການນຳໃຊ້ທີ່ສາມາດໃຊ້ໄດ້, ເຊັ່ນ: ການກວດຫາແບບສົດໆໃນອຸປະກອນຂອບ.

ໂດຍການແກ້ໄຂຄວາມຖືກຕ້ອງ, ປະສິດທິພາບ, ແລະການນໍາໃຊ້ໂດຍກົງ, YOLOv9 ຍ້າຍການຊອກຄົ້ນຫາວັດຖຸໄປຂ້າງຫນ້າເພື່ອຕອບສະຫນອງຄວາມຕ້ອງການຂອງໂລກທີ່ແທ້ຈິງທີ່ຫຼາກຫຼາຍ. ການຍົກລະດັບໃຫ້ພື້ນຖານທີ່ເຂັ້ມແຂງສໍາລັບການປະດິດສ້າງໃນອະນາຄົດໃນຄວາມສາມາດວິໄສທັດຄອມພິວເຕີທີ່ສໍາຄັນນີ້.

ຂ້ອຍໄດ້ໃຊ້ເວລາ 50 ປີທີ່ຜ່ານມາເພື່ອເຂົ້າໄປໃນໂລກທີ່ໜ້າສົນໃຈຂອງການຮຽນຮູ້ເຄື່ອງຈັກ ແລະການຮຽນຮູ້ຢ່າງເລິກເຊິ່ງ. ຄວາມກະຕືລືລົ້ນແລະຄວາມຊໍານານຂອງຂ້ອຍໄດ້ເຮັດໃຫ້ຂ້ອຍປະກອບສ່ວນເຂົ້າໃນໂຄງການວິສະວະກໍາຊອບແວທີ່ຫຼາກຫຼາຍຊະນິດຫຼາຍກວ່າ XNUMX ໂຄງການ, ໂດຍເນັ້ນໃສ່ສະເພາະກັບ AI/ML. ຄວາມຢາກຮູ້ຢາກເຫັນຢ່າງຕໍ່ເນື່ອງຂອງຂ້ອຍຍັງໄດ້ດຶງຂ້ອຍໄປສູ່ການປຸງແຕ່ງພາສາທໍາມະຊາດ, ເຊິ່ງຂ້ອຍກະຕືລືລົ້ນທີ່ຈະຄົ້ນຫາຕື່ມອີກ.