Fasahar gano abubuwan hangen nesa na kwamfuta yana da mahimmanci don aikace-aikace da yawa. Muna amfani da shi a cikin injiniyoyin mutum-mutumi, kayan sa ido, motoci masu tuƙi, da ƙari da yawa. Don haka, za mu iya ganowa da gane wasu abubuwa a cikin hoto ko bidiyo.
Daya daga cikin sanannun Algorithms na gano abu shine YOLO (Kai Kalli Sau ɗaya kawai) saitin samfura. Waɗannan samfuran an ƙirƙira su Ultralytics LLC.
Sigar kwanan nan na wannan jerin shine YOLOv5. Kuma, shine mafi sauri kuma mafi daidaitaccen samfurin gano abu akan kasuwa. Ƙarfin samfurin don haɗawa da sabbin bayanai an inganta sosai. Har ila yau, yana ƙunshe da abubuwa da yawa waɗanda ke sa ya yi aiki fiye da abubuwan da aka yi a baya.
YOLOv5 yana da kyau don aikace-aikacen lokaci-lokaci tunda yana iya aiwatar da hotuna a cikin ƙimar har zuwa firam 1000 a sakan daya akan GPU ɗaya.
A cikin wannan labarin, za mu gabatar da YOLOv5 kuma mu bincika cikakkun bayanai game da wuraren aikace-aikacen sa.
Tafiya na YOLO: Daga YOLO zuwa YOLOv5
Joseph Redmon et al. da farko an gabatar da YOLO, tsarin ƙirar gano abu, a cikin 2016. Tsarin YOLO na farko zai iya gano abubuwa a ainihin lokacin. Koyaya, yana da ƙarancin daidaito idan aka kwatanta da sauran samfuran a wancan lokacin.
An fitar da nau'ikan YOLO da yawa da aka haɓaka cikin shekaru. Kuma a ƙarshe, Ultralytics LLC ya ƙirƙiri sabon bugu na jerin YOLO, YOLOv5.
YOLOv5 shine mafi daidaito kuma mafi sauri samfurin gano abu a halin yanzu.
Muhimmin fasali
Akwatunan anka
YOLOv5 yana annabta akwatunan ɗaure don abubuwa a cikin hoto ta amfani da akwatunan anga. Samfurin ya annabta wanne daga cikin akwatunan da aka riga aka ayyana tare da ma'auni daban-daban mafi dacewa da abin da ke cikin hoton ta amfani da akwatunan anga. Waɗannan akwatunan da aka riga aka ayyana.
Kuma, suna ba da damar YOLOv5 don ganewa da nemo abubuwa a cikin hoto tare da daidaito.
Mosaic data ƙarawa
Lokacin horo, YOLOv5 yana amfani da hanyar da aka sani da mosaic kara bayanai. Don haɓaka sabbin hotuna na horo, ƙirarmu ta haɗa faci na hotuna da yawa ba da gangan ba. A sakamakon haka, samfurin ya zama mai juriya da dogara. Don haka, yana ƙara haɓaka zuwa sabbin bayanai kuma yana rage wuce gona da iri.
Bututun Horarwa Na Musamman
Bututun horo na musamman wanda ke haɗuwa da kulawa da karatun da ba a kula da shi Ana amfani dashi.
Don haka, ƙirar tana koya daga ƙaramin samfurin kuma yana amfani da shigarwar da ba a lakafta shi da kyau. Wannan yana haɓaka aikin ƙirar kuma yana haɓaka ƙarfinsa don haɗawa zuwa sabbin abubuwan shigarwa.
Yadudduka waɗanda suke saura kuma waɗanda ba saura ba
Gine-ginen YOLOv5 ya haɗu da yadudduka waɗanda suke saura kuma waɗanda ba saura ba. Ta ƙyale gradients su gudana a ko'ina cikin yadudduka, ragowar yadudduka na taimaka wa ƙirar wajen koyon abubuwa masu wahala. Har ila yau, yadudduka marasa saura suna ba da samfurin tare da ƙarin fahimtar hoton shigarwa. A sakamakon haka, YOLOv5 na iya yin aiki daidai da inganci.
Yadda Ake Amfani da YOLOv5
Installation
Ana iya kammala shigarwa na YOLOv5 da sauri ta amfani da pip. Pip mai sarrafa fakitin Python ne. Babban hanyoyin shigar YOLOv5 sune kamar haka:
1- Sanya PyTorch: Domin YOLOv5 ya dogara ne akan tsarin PyTorch, dole ne ka fara shigar da PyTorch.
pip install torch torchvision
2. Shigar CUDA: Dole ne ku shigar da CUDA idan kuna son kunna YOLOv5 akan GPU.
3. Sanya YOLOv5: Bayan kafa PyTorch da CUDA, yi amfani da wannan umarni don saukar da YOLOv5.
pip install yolov5
4-Bayan shigarwa na YOLOv5, dole ne ku sauke nauyin da aka riga aka horar. Ana samun ma'aunin nauyi da aka riga aka horar a cikin Ultralytics GitHub repo.
Jeka sashin "nauyin" na gidan yanar gizon ta gungura ƙasa. Kuna iya zazzage ma'aunin nauyi da aka riga aka horar daga lissafin da zaku iya samu anan.
5. Zaɓi ma'aunin nauyi da aka riga aka horar kuma ya fi dacewa da yanayin amfani da ku. Za a iya amfani da ma'aunin bayanai ko takamaiman sigar YOLOv5 da aka koya ma'aunin nauyi don taƙaita jerin.
6- Bayan zabar ma'aunin ma'aunin da ya dace, sai a dauki nauyi ta hanyar danna maballin "Download" kusa da shi. Za a sami ma'aunin nauyi don saukewa azaman. pt fayiloli.
7- Canja wurin ma'aunin nauyi da aka sauke zuwa kundin adireshi. Wannan shine inda rubutun gano ku zai yi aiki.
8- A wannan lokacin, zaku iya gudanar da gano abu akan hotuna ko bidiyoyinku ta amfani da ma'aunin da aka riga aka horar a cikin rubutun ganowa.
Shirya Bayanan
Dole ne ku ɗauki waɗannan ayyuka masu zuwa don shirya bayanan don amfani tare da YOLOv5:
1. Tara bayanan: Mataki na farko shine tattara bayanan hoto ko bidiyo da zaku buƙaci gano abu. Abubuwan da kuke son ganowa yakamata su kasance a cikin hotuna ko bidiyoyi.
2- Format the data: Za ku iya shigo da hotuna kawai a cikin rubutun ku idan kuna amfani da su. Dole ne ku juya bidiyo zuwa jerin hotuna idan kuna shirin amfani da ɗayan. Kuna iya cire firam ɗin daga fim ɗin ta amfani da ɗakin karatu kamar OpenCV.
import cv2
img = cv2.imread('path/to/image')
Tare da ɗakin karatu na OpenCV, zaku iya amfani da umarni mai zuwa don juya bidiyo zuwa jerin hotuna:
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. Lakabi bayanan: Dole ne ku yiwa bayanan lakabi idan kuna amfani da bayanan ku. Zana akwatunan ɗaure kewaye da abubuwan da kuke son ganowa a cikin kowane firam na hoto. Yana da tsarin yin lakabin bayanai. Kuna iya amfani da kayan aiki da yawa don taimaka muku da wannan aiki, gami da LabelImg da RectLabel.
4- Dole ne ku raba bayanan zuwa tsarin horo da gwaji bayan kun yi tagging. Wannan yana da mahimmanci don tantance yadda samfurin ku ke aiki.
5. A ƙarshe, ƙila kuna buƙatar preprocess da bayanai kafin horo ko gwaji. Wannan na iya haɗawa da daidaita hotuna ko bidiyoyi, daidaita ƙimar pixel, ko amfani da hanyoyin haɓaka bayanai.
Bayan kammala waɗannan matakan, bayananku a shirye suke.
Gudanar da rubutun ganowa
Anan akwai misalin rubutun ganowa wanda ke nazarin hoto da gano abubuwa.
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))
Gudanarwa
Ƙunshewar da ba ta da iyaka tana ɗaya daga cikin mafi yawan fasahohin sarrafa bayanai da ake amfani da su wajen gano abu (NMS). Muna amfani da NMS don kawar da akwatunan daure masu jere don abu ɗaya. Don aiwatar da NMS akan abubuwan ganowa, zamu iya amfani da hanyar cv2.dnn.NMSBoxes() na ɗakin karatu na OpenCV.
Ga misalin yadda ake gano bayan aiwatarwa ta amfani da NMS.
import cv2
# Perform Non-Maxima Suppression (NMS)
fihirisa = cv2.dnn.NMSBoxes (ganowa, amincewa, conf_thres, nms_thres)
na gani
Game da gani, za mu iya sake amfani da ɗakin karatu kamar OpenCV. Za mu iya nuna akwatunan ɗaure a kusa da abubuwan da aka gano akan hoton tushe ko bidiyo. Don zana akwatunan daure hoton, yi amfani da hanyar cv2.rectangle(). Anan ga yadda ake duba abubuwan gano akan ainihin hoton:
shigo cv2
# Draw the bounding boxes on the image
don ni a cikin fihirisa:
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
Aikace-aikace
YOLOv5 shine samfurin gano abu mai ƙarfi. Saboda haka, za mu iya yin amfani da shi a yawancin yanayi na ainihi na duniya. Daya daga cikin fitattun amfani da su shine a cikin motoci masu tuka kansu. YOLOv5 na iya gano abubuwa a cikin ainihin lokaci kamar motoci da fitilun zirga-zirga.
A cikin tsarin sa ido, zamu iya amfani da YOLOv5 don ganewa da bin abubuwa a cikin rafukan bidiyo masu rai. Bugu da ƙari kuma, YOLOv5 na iya zama babban kadara a cikin injiniyoyi. Zai iya taimaka wa mutum-mutumi su gano da fahimtar kewayen su. Wannan yana da mahimmanci ga ayyuka kamar kewayawa da magudi.
Hakanan ana iya amfani da YOLOv5 a kowace masana'antu da ke buƙatar gano abu, kamar kiri, wasanni, likita, da tsaro.
Kammalawa
A ƙarshe, YOLOv5 shine mafi kyawun kwanan nan kuma ingantaccen sigar dangin YOLO na gano abu Samfurori
. Hakanan, yana da kyau a faɗi cewa shine mafi ingancin samfurin gano abu da ake da shi. Godiya ga babban daidaito da saurin sa, zaku iya zabar shi cikin aminci don ayyukan gano abubuwan ku.
Resky Agus
Na yi mujalla ta farko game da motar ganowa tare da yolov5 kuma wannan gidan yanar gizon yana taimaka wajen bincika bayanai game da hakan.
Ina sha'awar AI sosai.
idan za ku iya ina da tambaya da yawa game da AI watakila za ku iya taimaka mini
Na gode