ເຕັກໂນໂລຍີກວດຫາວັດຖຸຂອງວິໄສທັດຄອມພິວເຕີແມ່ນມີຄວາມຈໍາເປັນສໍາລັບຄໍາຮ້ອງສະຫມັກຈໍານວນຫລາຍ. ພວກເຮົາໃຊ້ມັນຢູ່ໃນຫຸ່ນຍົນ, ອຸປະກອນເຝົ້າລະວັງ, ລົດໃຫຍ່ທີ່ຂັບລົດດ້ວຍຕົນເອງ, ແລະຫຼາຍພື້ນທີ່. ດັ່ງນັ້ນ, ພວກເຮົາຊອກຫາ ແລະຮັບຮູ້ບາງສິ່ງທີ່ຢູ່ໃນຮູບ ຫຼືວິດີໂອ.
ຫນຶ່ງໃນທີ່ຮູ້ຈັກຫຼາຍທີ່ສຸດ ຂັ້ນຕອນການກໍານົດວັດຖຸແມ່ນ YOLO (ທ່ານເບິ່ງຄັ້ງດຽວ) ຊຸດຂອງແບບຈໍາລອງ. ແບບຈໍາລອງເຫຼົ່ານີ້ແມ່ນສ້າງໂດຍ Ultralytics LLC.
ຮຸ່ນຫຼ້າສຸດຂອງຊຸດນີ້ແມ່ນ YOLOv5. ແລະ, ມັນແມ່ນຮູບແບບການກໍານົດວັດຖຸທີ່ໄວທີ່ສຸດແລະຊັດເຈນທີ່ສຸດໃນຕະຫຼາດ. ຄວາມອາດສາມາດຂອງຕົວແບບເພື່ອການຂະຫຍາຍຂໍ້ມູນໃຫມ່ໂດຍທົ່ວໄປໄດ້ຮັບການປັບປຸງຢ່າງຫຼວງຫຼາຍ. ນອກຈາກນີ້, ມັນມີຄຸນສົມບັດຫຼາຍຢ່າງທີ່ເຮັດໃຫ້ມັນປະຕິບັດໄດ້ດີກ່ວາການເຮັດຊ້ໍາກ່ອນຫນ້າ.
YOLOv5 ແມ່ນດີເລີດສໍາລັບຄໍາຮ້ອງສະຫມັກໃນເວລາທີ່ແທ້ຈິງນັບຕັ້ງແຕ່ມັນສາມາດປະມວນຜົນຮູບພາບໃນອັດຕາສູງເຖິງ 1000 ເຟຣມຕໍ່ວິນາທີໃນ GPU ດຽວ.
ໃນບົດຄວາມນີ້, ພວກເຮົາຈະແນະນໍາ YOLOv5 ແລະໄປກ່ຽວກັບລາຍລະອຽດຂອງພື້ນທີ່ຄໍາຮ້ອງສະຫມັກຂອງມັນ.
ການເດີນທາງຂອງ YOLO: ຈາກ YOLO ເຖິງ YOLOv5
Joseph Redmon et al. ໃນເບື້ອງຕົ້ນໄດ້ນໍາສະເຫນີ YOLO, ຊຸດຂອງຮູບແບບການກໍານົດວັດຖຸ, ໃນປີ 2016. ຮູບແບບ YOLO ເບື້ອງຕົ້ນສາມາດກໍານົດວັດຖຸໃນເວລາທີ່ແທ້ຈິງ. ຢ່າງໃດກໍ່ຕາມ, ມັນມີຄວາມຖືກຕ້ອງຕໍ່າເມື່ອປຽບທຽບກັບແບບອື່ນໆໃນເວລານັ້ນ.
YOLO ລຸ້ນອັບເກຣດຫຼາຍລຸ້ນຖືກປ່ອຍອອກມາຕະຫຼອດປີ. ແລະສຸດທ້າຍ, Ultralytics LLC ໄດ້ສ້າງຊຸດ YOLO ສະບັບໃຫມ່ຫຼ້າສຸດ, YOLOv5.
YOLOv5 ແມ່ນຮູບແບບການລະບຸວັດຖຸທີ່ຖືກຕ້ອງ ແລະໄວທີ່ສຸດທີ່ມີຢູ່ໃນປະຈຸບັນ.
ຄຸນນະສົມບັດທີ່ສໍາຄັນ
ຕູ້ສະມໍ
YOLOv5 ຄາດການກ່ອງຜູກມັດສຳລັບວັດຖຸໃນຮູບໂດຍໃຊ້ກ່ອງສະມໍ. ໂມເດວຄາດຄະເນວ່າກ່ອງໃດທີ່ກຳນົດໄວ້ລ່ວງໜ້າຫຼາຍອັນທີ່ມີອັດຕາສ່ວນຫຼາຍອັນທີ່ກົງກັບລາຍການໃນຮູບໂດຍໃຊ້ກ່ອງສະມໍ. ເຫຼົ່ານີ້ແມ່ນກ່ອງທີ່ກໍານົດໄວ້ກ່ອນ.
ແລະ, ພວກເຂົາເຈົ້າເຮັດໃຫ້ YOLOv5 ຮັບຮູ້ແລະຊອກຫາລາຍການໃນຮູບທີ່ມີຄວາມຖືກຕ້ອງ.
ການເພີ່ມຂໍ້ມູນ Mosaic
ໃນເວລາທີ່ການຝຶກອົບຮົມ, YOLOv5 ໃຊ້ວິທີການທີ່ເອີ້ນວ່າ mosaic ການເພີ່ມຂໍ້ມູນ. ເພື່ອພັດທະນາຮູບພາບການຝຶກອົບຮົມສົດໆ, ຕົວແບບຂອງພວກເຮົາຈະລວມເອົາຮູບພາບຫຼາຍໆອັນເຂົ້າກັນ. ດັ່ງນັ້ນ, ຮູບແບບດັ່ງກ່າວກາຍເປັນຄວາມທົນທານແລະເຊື່ອຖືໄດ້. ເພາະສະນັ້ນ, ມັນໄດ້ຮັບການໂດຍທົ່ວໄປກັບຂໍ້ມູນໃຫມ່ແລະຫຼຸດລົງ overfitting.
ທໍ່ຝຶກອົບຮົມທີ່ເປັນເອກະລັກ
ທໍ່ການຝຶກອົບຮົມທີ່ເປັນເອກະລັກທີ່ປະສົມປະສານການເບິ່ງແຍງແລະ ການຮຽນຮູ້ທີ່ບໍ່ມີການຄວບຄຸມ ຖືກນໍາໃຊ້.
ດັ່ງນັ້ນ, ຮູບແບບຮຽນຮູ້ຈາກຕົວຢ່າງທີ່ນ້ອຍກວ່າ ແລະໃຊ້ການປ້ອນຂໍ້ມູນທີ່ບໍ່ມີປ້າຍກຳກັບຢ່າງມີປະສິດທິພາບ. ອັນນີ້ຊ່ວຍເພີ່ມປະສິດທິພາບຂອງຕົວແບບ ແລະ ເສີມຂະຫຍາຍຄວາມສາມາດຂອງຕົນໃນການທົ່ວໄປຕໍ່ກັບວັດສະດຸປ້ອນໃໝ່.
ຊັ້ນທີ່ຕົກຄ້າງແລະບໍ່ຕົກຄ້າງ
ສະຖາປັດຕະຍະກໍາຂອງ YOLOv5 ປະສົມປະສານຊັ້ນທີ່ຕົກຄ້າງແລະບໍ່ຕົກຄ້າງ. ໂດຍການອະນຸຍາດໃຫ້ gradients ໄຫຼຜ່ານຊັ້ນຕ່າງໆ, ຊັ້ນທີ່ຕົກຄ້າງຊ່ວຍຕົວແບບໃນການຮຽນຮູ້ລັກສະນະທີ່ຫຍຸ້ງຍາກ. ນອກຈາກນີ້, ຊັ້ນທີ່ບໍ່ມີການຕົກຄ້າງເຮັດໃຫ້ຕົວແບບມີຄວາມເຂົ້າໃຈລະອຽດກວ່າຂອງຮູບການປ້ອນຂໍ້ມູນ. ດັ່ງນັ້ນ, YOLOv5 ສາມາດປະຕິບັດງານໄດ້ຊັດເຈນແລະມີປະສິດທິພາບຫຼາຍຂຶ້ນ.
ວິທີການນໍາໃຊ້ YOLov5
ການຕິດຕັ້ງ
ການຕິດຕັ້ງ YOLOv5 ອາດຈະສໍາເລັດຢ່າງໄວວາໂດຍໃຊ້ pip. Pip ເປັນຜູ້ຈັດການຊຸດ Python. ຂັ້ນຕອນທົ່ວໄປໃນການຕິດຕັ້ງ YOLOv5 ມີດັ່ງນີ້:
1- ຕິດຕັ້ງ PyTorch: ເນື່ອງຈາກວ່າ YOLOv5 ແມ່ນອີງໃສ່ກອບ PyTorch, ກ່ອນອື່ນ ໝົດ ທ່ານຕ້ອງຕິດຕັ້ງ PyTorch.
pip install torch torchvision
2. ຕິດຕັ້ງ CUDA: ທ່ານຕ້ອງຕິດຕັ້ງ CUDA ຖ້າທ່ານຕັ້ງໃຈຈະແລ່ນ YOLOv5 ໃນ GPU.
3. ຕິດຕັ້ງ YOLOv5: ຫຼັງຈາກການຕັ້ງຄ່າ PyTorch ແລະ CUDA, ໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອດາວໂຫລດ YOLOv5.
pip install yolov5
4- ປະຕິບັດຕາມການຕິດຕັ້ງ YOLOv5, ທ່ານຕ້ອງດາວໂຫລດນ້ໍາຫນັກທີ່ຝຶກອົບຮົມກ່ອນ. ນ້ ຳ ໜັກ ທີ່ຜ່ານການຝຶກອົບຮົມແມ່ນມີຢູ່ໃນ Ultralytics GitHub repo.
ໄປທີ່ສ່ວນ "ນ້ໍາຫນັກ" ຂອງເວັບໄຊທ໌ໂດຍການເລື່ອນລົງ. ເຈົ້າອາດຈະດາວໂຫຼດນ້ຳໜັກທີ່ຝຶກກ່ອນໄດ້ຈາກລາຍການທີ່ເຈົ້າສາມາດຊອກຫາໄດ້ທີ່ນີ້.
5. ເລືອກນ້ຳໜັກທີ່ໄດ້ຮັບການຝຶກອົບຮົມແລ້ວ ແລະ ເໝາະສົມກັບກໍລະນີການນຳໃຊ້ຂອງທ່ານ. ຊຸດຂໍ້ມູນ ຫຼືສະບັບສະເພາະຂອງ YOLOv5 ທີ່ນ້ຳໜັກໄດ້ຮຽນຮູ້ອາດຈະຖືກໃຊ້ເພື່ອຈຳກັດລາຍການ.
6- ຫຼັງຈາກການເລືອກນ້ໍາທີ່ເຫມາະສົມ, ເລືອກເອົານ້ໍາໂດຍການຄລິກໃສ່ "ດາວໂຫລດ" ປຸ່ມຕໍ່ໄປມັນ. ນ້ຳໜັກຈະມີໃຫ້ດາວໂຫຼດເປັນ. pt ໄຟລ໌.
7- ການໂອນນ້ໍາດາວໂຫຼດກັບລະບົບ. ນີ້ແມ່ນບ່ອນທີ່ສະຄຣິບກວດຫາຂອງທ່ານຈະເຮັດວຽກ.
8- ໃນຈຸດນີ້, ທ່ານສາມາດດໍາເນີນການກວດຫາວັດຖຸໃນຮູບພາບຫຼືວິດີໂອຂອງທ່ານໂດຍໃຊ້ນ້ໍາຫນັກທີ່ຜ່ານການຝຶກອົບຮົມໃນສະຄິບກວດຈັບຂອງທ່ານ.
ກະກຽມຂໍ້ມູນ
ທ່ານຕ້ອງດໍາເນີນການຕໍ່ໄປນີ້ເພື່ອໃຫ້ຂໍ້ມູນພ້ອມທີ່ຈະໃຊ້ກັບ YOLOv5:
1. ເກັບກໍາຂໍ້ມູນ: ຂັ້ນຕອນທໍາອິດແມ່ນເພື່ອເກັບກໍາຂໍ້ມູນຮູບພາບຫຼືວິດີໂອທີ່ທ່ານຕ້ອງການ ການຊອກຄົ້ນຫາວັດຖຸ. ສິ່ງທີ່ທ່ານຕ້ອງການກວດຫາຄວນຈະມີຢູ່ໃນຮູບ ຫຼືວິດີໂອ.
2- ຈັດຮູບແບບຂໍ້ມູນ: ທ່ານພຽງແຕ່ສາມາດນໍາເຂົ້າຮູບພາບເຂົ້າໄປໃນ script ຂອງທ່ານຖ້າຫາກວ່າທ່ານກໍາລັງນໍາໃຊ້ໃຫ້ເຂົາເຈົ້າ. ທ່ານຕ້ອງປ່ຽນວິດີໂອເປັນຊຸດຂອງຮູບພາບຖ້າຫາກວ່າທ່ານວາງແຜນທີ່ຈະນໍາໃຊ້ຫນຶ່ງ. ທ່ານສາມາດສະກັດກອບຈາກຮູບເງົາໂດຍໃຊ້ຫ້ອງສະຫມຸດເຊັ່ນ OpenCV.
import cv2
img = cv2.imread('path/to/image')
ດ້ວຍຫ້ອງສະຫມຸດ OpenCV, ທ່ານສາມາດນໍາໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອປ່ຽນວິດີໂອເປັນຊຸດຂອງຮູບພາບ:
import cv2
cap = cv2.VideoCapture('path/to/video')
while True:
ret, frame = cap.read()
if not ret:
break
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
3. ຕິດປ້າຍກຳກັບຂໍ້ມູນ: ທ່ານຕ້ອງຕິດປ້າຍກຳກັບຂໍ້ມູນ ຖ້າເຈົ້າກຳລັງໃຊ້ຊຸດຂໍ້ມູນຂອງເຈົ້າ. ແຕ້ມກ່ອງຂອບຮອບລາຍການທີ່ທ່ານຕ້ອງການລະບຸໃນແຕ່ລະກອບຂອງຮູບ. ມັນແມ່ນຂະບວນການຂອງການຕິດສະຫຼາກຂໍ້ມູນ. ທ່ານອາດຈະໃຊ້ເຄື່ອງມືຈໍານວນຫນຶ່ງເພື່ອຊ່ວຍທ່ານໃນການປະຕິບັດງານນີ້, ລວມທັງ LabelImg ແລະ RectLabel.
4- ທ່ານຕ້ອງແບ່ງຂໍ້ມູນເຂົ້າໃນຊຸດການຝຶກອົບຮົມ ແລະການທົດສອບ ຫຼັງຈາກທີ່ທ່ານໄດ້ແທັກແລ້ວ. ນີ້ແມ່ນສິ່ງສໍາຄັນສໍາລັບການປະເມີນວ່າຕົວແບບຂອງທ່ານປະຕິບັດໄດ້ດີເທົ່າໃດ.
5. ສຸດທ້າຍ, ທ່ານອາດຈະຈໍາເປັນຕ້ອງໄດ້ກະກຽມຂໍ້ມູນກ່ອນການຝຶກອົບຮົມຫຼືການທົດສອບ. ນີ້ສາມາດສົ່ງເສີມການຂະຫຍາຍຮູບພາບຫຼືວິດີໂອ, ມາດຕະຖານຂອງຄ່າ pixels ລວງ, ຫຼືການນໍາໃຊ້ວິທີການສໍາລັບການເພີ່ມຂໍ້ມູນ.
ຫຼັງຈາກສໍາເລັດຂັ້ນຕອນເຫຼົ່ານີ້, ຂໍ້ມູນຂອງທ່ານແມ່ນກຽມພ້ອມ.
ແລ່ນສະຄຣິບກວດຫາ
ນີ້ແມ່ນຕົວຢ່າງຂອງສະຄຣິບກວດຫາທີ່ວິເຄາະຮູບ ແລະຊອກຫາວັດຖຸ.
import yolov5
import cv2
# Pre-trained weights should be loaded.
weights = 'path/to/weights.pt'
# Set the detection confidence level
conf_thres = 0.5
# Set the Non-Maxima Suppression (NMS) threshold
nms_thres = 0.5
# Create the detector object
detector = yolov5.YOLOv5(weights, conf_thres, nms_thres)
# Load the image
img = cv2.imread('path/to/image')
# Perform object detection
detections = detector.detect(img)
# Print the detections
for x1, y1, x2, y2, conf, cls_conf, cls_pred in detections:
print("Object:", classes[int(cls_pred)])
print("Confidence:", conf)
print("Bounding box:", (x1, y1, x2, y2))
ການປະມວນຜົນຫຼັງ
ການສະກັດກັ້ນບໍ່ສູງສຸດແມ່ນຫນຶ່ງໃນເຕັກນິກການປຸງແຕ່ງຫຼັງການປຸງແຕ່ງເລື້ອຍໆທີ່ສຸດທີ່ໃຊ້ໃນການກວດສອບວັດຖຸ (NMS). ພວກເຮົາໃຊ້ NMS ເພື່ອກໍາຈັດກ່ອງຜູກມັດທີ່ທັບຊ້ອນກັນສໍາລັບວັດຖຸດຽວກັນ. ເພື່ອປະຕິບັດ NMS ໃນການກວດພົບ, ພວກເຮົາສາມາດໃຊ້ວິທີການ cv2.dnn.NMSBoxes() ຂອງຫ້ອງສະໝຸດ OpenCV.
ນີ້ແມ່ນຕົວຢ່າງຂອງວິທີການກວດຫາຫຼັງຂະບວນການໂດຍໃຊ້ NMS.
import cv2
# Perform Non-Maxima Suppression (NMS)
indices = cv2.dnn.NMSBoxes(ການກວດຫາ, ຄວາມເຊື່ອໝັ້ນ, conf_thres, nms_thres)
ການເບິ່ງເຫັນ
ໃນກໍລະນີຂອງການເບິ່ງເຫັນ, ພວກເຮົາອີກເທື່ອຫນຶ່ງສາມາດນໍາໃຊ້ຫ້ອງສະຫມຸດເຊັ່ນ OpenCV. ພວກເຮົາສາມາດສະແດງປ່ອງທີ່ມີຂອບເຂດອ້ອມຂ້າງວັດຖຸທີ່ຄົ້ນພົບກ່ຽວກັບຮູບພາບແຫຼ່ງຫຼືວິດີໂອໄດ້. ເພື່ອແຕ້ມກ່ອງຂອບຮູບ, ໃຫ້ໃຊ້ວິທີ cv2.rectangle(). ນີ້ແມ່ນວິທີເບິ່ງການກວດພົບໃນຮູບຕົ້ນສະບັບ:
ນໍາເຂົ້າ cv2
# Draw the bounding boxes on the image
ສໍາລັບ I ໃນດັດຊະນີ:
i = i[0]
x1, y1, x2, y2 = detections[i][0], detections[i][1], detections[i][2], detections[i][3]
cv2.rectangle(img, (x1, y1), (x2, y2), (255, 0, 0), 2)
cv2.putText(img, classes[class_ids[i]], (x1, y1), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
# Show the image
cv2.imshow("Object Detection", img)
cv2
ຄໍາຮ້ອງສະຫມັກ
YOLOv5 ແມ່ນຮູບແບບການກໍານົດວັດຖຸທີ່ເຂັ້ມແຂງ. ດ້ວຍເຫດນີ້, ພວກເຮົາສາມາດນຳໃຊ້ມັນໃນຫຼາຍສະຖານະການໃນໂລກຕົວຈິງ. ຫນຶ່ງໃນການນໍາໃຊ້ທີ່ໂດດເດັ່ນທີ່ສຸດແມ່ນຢູ່ໃນລົດທີ່ຂັບລົດດ້ວຍຕົນເອງ. YOLOv5 ສາມາດລະບຸລາຍການໃນເວລາຈິງເຊັ່ນ: ລົດຍົນ ແລະໄຟຈະລາຈອນ.
ໃນລະບົບການເຝົ້າລະວັງ, ພວກເຮົາສາມາດໃຊ້ YOLOv5 ເພື່ອຮັບຮູ້ ແລະຕິດຕາມວັດຖຸໃນວິດີໂອສົດໆ. ນອກຈາກນັ້ນ, YOLOv5 ສາມາດເປັນຊັບສິນທີ່ຍິ່ງໃຫຍ່ໃນຫຸ່ນຍົນ. ມັນສາມາດຊ່ວຍໃຫ້ຫຸ່ນຍົນກວດຫາ ແລະເຂົ້າໃຈສິ່ງອ້ອມຂ້າງຂອງມັນ. ນີ້ເປັນສິ່ງສໍາຄັນທີ່ສຸດສໍາລັບກິດຈະກໍາເຊັ່ນການນໍາທາງແລະການຫມູນໃຊ້.
YOLOv5 ຍັງອາດຈະຖືກນຳໃຊ້ໃນທຸກອຸດສາຫະກຳທີ່ຕ້ອງການກວດຫາວັດຖຸ, ເຊັ່ນ: ການຂາຍຍ່ອຍ, ກິລາ, ທາງການແພດ, ແລະຄວາມປອດໄພ.
ສະຫຼຸບ
ສຸດທ້າຍ, YOLOv5 ແມ່ນສະບັບຫລ້າສຸດແລະທັນສະໄຫມທີ່ສຸດຂອງຄອບຄົວ YOLO ຂອງ ການຊອກຄົ້ນຫາວັດຖຸ ແບບຈໍາລອງ
. ນອກຈາກນີ້, ມັນເປັນການຍຸຕິທໍາທີ່ຈະເວົ້າວ່າມັນເປັນຮູບແບບການຊອກຄົ້ນຫາວັດຖຸທີ່ຖືກຕ້ອງທີ່ສຸດທີ່ມີຢູ່. ຂໍຂອບໃຈກັບຄວາມຖືກຕ້ອງສູງແລະຄວາມໄວຂອງມັນ, ທ່ານສາມາດເລືອກມັນຢ່າງປອດໄພສໍາລັບໂຄງການກວດຫາວັດຖຸຂອງທ່ານ.
Resky Agus
ຂ້ອຍສ້າງວາລະສານທໍາອິດກ່ຽວກັບຍານພາຫະນະການກວດພົບກັບ yolov5 ແລະເວັບນີ້ຊ່ວຍຄົ້ນຫາຂໍ້ມູນກ່ຽວກັບເລື່ອງນັ້ນ.
ຂ້ອຍສົນໃຈຫຼາຍກ່ຽວກັບ AI.
ຖ້າເຈົ້າສາມາດມີຄໍາຖາມຫຼາຍກ່ຽວກັບ AI ບາງທີເຈົ້າສາມາດຊ່ວຍຂ້ອຍໄດ້
ຂອບໃຈ