Tena ilaina amin'ny fampiharana maro ny teknôlôjia fitadiavana zavatra an'ny ordinatera. Ampiasainay amin'ny robotika, fitaovana fanaraha-maso, fiara mitondra tena, ary faritra maro hafa. Noho izany, afaka mahita sy mahafantatra zavatra sasantsasany amin'ny sary na video isika.
Iray amin'ireo malaza indrindra Ny algorithm famantarana ny zavatra dia ny YOLO (Indray mandeha ihany ianao no mijery) andiana modely. Ireo modely ireo dia noforonin'ny Ultralytics LLC.
Ny dikan-teny farany amin'ity andiany ity dia YOLOv5. Ary, io no maodely famantarana zavatra haingana indrindra sy mazava indrindra eny an-tsena. Nihatsara be ny fahafahan'ny modely amin'ny ankapobeny amin'ny angona vaovao. Ankoatra izany, dia misy endri-javatra maro izay mahatonga azy ho tsara kokoa noho ny teo aloha iterations.
YOLOv5 dia tsara ho an'ny fampiharana amin'ny fotoana tena izy satria afaka manodina sary amin'ny tahan'ny 1000 frame isan-tsegondra amin'ny GPU tokana.
Ato amin'ity lahatsoratra ity dia hampiditra YOLOv5 isika ary hijery ny antsipirian'ny faritra fampiharana azy.
Dia an'i YOLO: Avy any YOLO mankany YOLOv5
Joseph Redmon et al. nampiditra ny YOLO tany am-boalohany, andiana modely famantarana zavatra, tamin'ny 2016. Ny modely YOLO voalohany dia afaka mamantatra zavatra amin'ny fotoana tena izy. Na izany aza, dia ambany ny fahitsiana raha oharina amin'ny modely hafa tamin'izany fotoana izany.
Navoaka nandritra ny taona maro ny dikan-teny YOLO nohavaozina. Ary farany, ny Ultralytics LLC dia namorona ny andiany vaovao amin'ny andiany YOLO, YOLOv5.
YOLOv5 no maodely famantarana famantarana zavatra marina sy haingana indrindra misy amin'izao fotoana izao.
Fomba manan-danja
Vatofantsika boaty
YOLOv5 dia maminavina boaty mifamatotra amin'ny zavatra ao anaty sary amin'ny alàlan'ny boaty vatofantsika. Ny maodely dia maminavina hoe iza amin'ireo boaty maro efa voafaritra mialoha miaraka amin'ny tahan'ny lafiny samihafa no mifanandrify indrindra amin'ilay zavatra eo amin'ny sary amin'ny fampiasana boaty vatofantsika. Boaty efa voafaritra mialoha ireo.
Ary, izy ireo dia mamela ny YOLOv5 hamantatra sy hahita zavatra ao anaty sary amin'ny fomba marina.
Fampitomboana ny angona mosaika
Rehefa miofana dia mampiasa fomba antsoina hoe mosaika ny YOLOv5 data augmentation. Mba hamoronana sary fanofanana vaovao, ny modelintsika dia manambatra tsindraindray ny paty misy sary maromaro. Vokatr'izany, ny modely dia lasa matanjaka kokoa sy azo ianteherana. Noho izany, dia mahazo generalize amin'ny angona vaovao sy mampihena ny overfitting.
Pipeline fanofanana tokana
Fantsona fanofanana tokana izay mampifangaro ny fanaraha-maso sy ny fianarana tsy voara-maso no ampiasaina.
Noho izany, ny modely dia mianatra avy amin'ny santionany kely kokoa ary mampiasa tsara ny fampidirana tsy misy marika. Mampitombo ny fahombiazan'ny modely izany ary manatsara ny fahafahany mampifanaraka amin'ny fampidirana vaovao.
Layers izay sisa sy tsy misy sisa
Ny maritrano YOLOv5 dia manambatra sosona izay tavela sy tsy tavela. Amin'ny alàlan'ny famelana ny gradient hikoriana manerana ny sosona, ny sosona sisa dia manampy ny maodely amin'ny fianarana ireo endri-javatra sarotra. Ankoatra izany, ny sosona tsy tavela dia manome ny modely amin'ny fahazoana feno kokoa ny sary fampidirana. Vokatr'izany, YOLOv5 dia afaka miasa amin'ny fomba mazava kokoa sy mahomby.
Ahoana ny fampiasana YOLOv5
Installation
Ny fametrahana YOLOv5 dia mety ho vita haingana amin'ny fampiasana pip. Pip dia mpitantana fonosana Python. Ny fomba fiasa ankapobeny amin'ny fametrahana YOLOv5 dia toy izao manaraka izao:
1- Mametraka PyTorch: Satria YOLOv5 dia mifototra amin'ny rafitra PyTorch, tsy maintsy mametraka PyTorch aloha ianao.
pip install torch torchvision
2. Mametraka CUDA: Tsy maintsy mametraka CUDA ianao raha mikasa ny handefa YOLOv5 amin'ny GPU.
3. Mametraka YOLOv5: Rehefa avy nametraka PyTorch sy CUDA, ampiasao ity baiko manaraka ity mba hisintonana YOLOv5.
pip install yolov5
4-Manaraka ny fametrahana ny YOLOv5 dia tsy maintsy misintona ireo lanja efa voaofana mialoha ianao. Ny lanja efa voaofana dia hita ao amin'ny Ultralytics GitHub repo.
Mandehana any amin'ny ampahany "lanja" amin'ny tranokala amin'ny alàlan'ny scrolling midina. Azonao atao ny misintona lanja efa voaofana avy amin'ny lisitra azonao jerena eto.
5. Fidio ireo lanja efa voaofana ary mifanaraka tsara amin'ny toe-javatra ampiasainao. Ny angon-drakitra na ny dikan-teny YOLOv5 manokana izay nianarana ireo lanja dia azo ampiasaina hanaterana ny lisitra.
6- Rehefa avy nisafidy ny lanja sahaza, safidio ny lanja amin'ny fipihana ny bokotra "Download" eo akaikiny. Ny lanja dia ho azo alaina ho toy ny. pt files.
7- Alefaso any amin'ny lahatahiry ireo lanja voasintona. Eo no hiasanao ny script de detection anao.
8- Amin'izao fotoana izao, azonao atao ny mitantana zavatra amin'ny sarinao na horonan-tsary amin'ny alàlan'ny lanja efa voaofanao ao amin'ny scripto.
Omano ny angona
Tsy maintsy manao ireto hetsika manaraka ireto ianao mba hanomanana ny angona hampiasaina amin'ny YOLOv5:
1. Angony ny angona: Ny dingana voalohany dia ny fanangonana ny angon-drakitra sary na horonan-tsary ilainao fitadiavana zavatra. Ny zavatra tianao ho hita dia tokony ho hita ao amin'ny sary na horonan-tsary.
2- Ampidiro ny angon-drakitra: Azonao atao ny manafatra sary ao amin'ny scripto raha mampiasa azy ireo ianao. Tsy maintsy mamadika horonantsary ho sary maromaro ianao raha mikasa ny hampiasa iray. Azonao atao ny manala ny sary amin'ny sarimihetsika amin'ny fampiasana tranomboky toa ny OpenCV.
import cv2
img = cv2.imread('path/to/image')
Miaraka amin'ny tranomboky OpenCV, azonao atao ny mampiasa ity baiko manaraka ity mba hamadihana horonantsary ho sary maromaro:
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. Asio marika ny angona: Tsy maintsy manisy marika ny angona ianao raha mampiasa ny angonao. Manaova sarina boaty mifamatotra manodidina ireo zavatra tianao ho fantatra amin'ny sary tsirairay. Izany dia ny dingan'ny fametahana ny angona. Azonao atao ny mampiasa fitaovana maromaro hanampiana anao amin'ity hetsika ity, anisan'izany ny LabelImg sy RectLabel.
4- Tsy maintsy zarainao amin'ny seta fanofanana sy fitsapana ny angon-drakitra rehefa avy nasianao marika. Zava-dehibe izany amin'ny fanombanana ny fahombiazan'ny modelyo.
5. Farany, mety mila manodina mialoha ny angon-drakitra ianao alohan'ny fanofanana na fitsapana. Izany dia mety mitaky fanamafisam-peo na horonan-tsary, manara-penitra ny sandan'ny piksel, na mampiasa fomba fampitomboana angona.
Rehefa vita ireo dingana ireo dia vonona ny angonao.
Alefaso ny script detection
Ity misy fanoharana momba ny script detection izay manadihady sary sy mahita zavatra.
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))
Post TAOZAVABAVENTY
Ny famoretana tsy ambony indrindra dia iray amin'ireo teknika fanodinana matetika indrindra ampiasaina amin'ny fitiliana zavatra (NMS). Mampiasa NMS izahay hanesorana ireo boaty mifamatotra mifanindry amin'ny zavatra mitovy. Mba hanatanterahana ny NMS amin'ny fisavana dia afaka mampiasa ny fomba cv2.dnn.NMSBoxes() an'ny OpenCV tranomboky isika.
Ity misy ohatra iray amin'ny fomba fanaraha-maso aorian'ny fizotran'ny fampiasana NMS.
import cv2
# Perform Non-Maxima Suppression (NMS)
indices = cv2.dnn.NMSBoxes(famantarana, fahatokisana, conf_thres, nms_thres)
fijerena
Raha ny fijerena sary dia afaka mampiasa tranomboky toa ny OpenCV indray isika. Afaka mampiseho ireo boaty mifamatotra manodidina ireo zavatra hita eo amin'ny sary na horonan-tsary loharano. Raha hanao sary ireo boaty mifamatotra amin'ny sary dia ampiasao ny fomba cv2.rectangle(). Toy izao ny fomba hijerena ireo tsikaritra amin'ny sary voalohany:
import cv2
# Draw the bounding boxes on the image
fa izaho amin'ny indices:
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
Applications
YOLOv5 dia maodely famantarana zavatra matanjaka. Noho izany, afaka mampiasa azy io amin'ny toe-javatra maro tena misy isika. Ny iray amin'ireo fampiasana malaza indrindra dia amin'ny fiara mitondra fiara. YOLOv5 dia afaka mamantatra zavatra amin'ny fotoana tena izy toy ny fiara sy ny jiro fifamoivoizana.
Amin'ny rafitra fanaraha-maso, afaka mampiasa YOLOv5 isika hamantatra sy hanaraha-maso ireo zavatra amin'ny onjam-peo mivantana. Ankoatr'izay, YOLOv5 dia mety ho tombony lehibe amin'ny robotika. Afaka manampy ny robot hamantatra sy hahatakatra ny manodidina azy izy io. Tena zava-dehibe tokoa izany ho an'ny hetsika toy ny navigation sy ny manipulation.
YOLOv5 dia azo ampiasaina amin'ny indostria rehetra izay mitaky fitadiavana zavatra, toy ny varotra, fanatanjahan-tena, fitsaboana ary fiarovana.
Famaranana
Farany, YOLOv5 no kinova farany sy be pitsiny indrindra amin'ny fianakaviana YOLO fitadiavana zavatra modely
. Ara-drariny ihany koa ny filazana fa io no maodely fitsirihana zavatra marina indrindra misy. Noho ny fahitsiana sy ny hafainganam-pandehany dia azonao atao ny misafidy azy io ho an'ny tetikasa fitadiavana zavatra.
Resky Agus
Manao diary voalohany momba ny fiara mpitsikilo miaraka amin'i yolov5 aho ary ity tranonkala ity dia manampy ahy hikaroka vaovao momba izany.
Tena liana amin'ny AI aho.
Raha azonao atao dia manana fanontaniana be dia be momba ny AI angamba ianao afaka manampy ahy
Misaotra anao