2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
- Rajallisen tasoni vuoksi on väistämätöntä, että tulee virheitä ja puutteita, arvostele ja korjaa ne.
- Lisää jännittävää sisältöä napsauttamalla pääset sisäänPython päivittäiset toiminnotsarake,OpenCV-Python pieni sovellussarake,YOLO-sarjasarake,luonnollisen kielen käsittelysarake tai minunKotisivuTarkistaa
- Kasvojen naamiotunnistus perustuu DETR:ään
- YOLOv7 kouluttaa omaa tietojoukkoaan (maskin tunnistus)
- YOLOv8 harjoittelee omaa tietojoukkoaan (jalkapallon tunnistus)
- YOLOv5: TensorRT nopeuttaa YOLOv5-mallin päättelyä
- YOLOv5: IoU, GIoU, DIoU, CIoU, EIoU
- Pelaaminen Jetson Nanolla (5): TensorRT nopeuttaa YOLOv5-kohteen havaitsemista
- YOLOv5: Lisää SE, CBAM, CoordAtt, ECA:n huomiomekanismi
- YOLOv5: yolov5s.yaml-määritystiedoston tulkinta ja pienen kohteen tunnistuskerroksen lisääminen
- Python muuntaa COCO-muotoisen ilmentymän segmentointitietojoukon YOLO-muotoisen ilmentymän segmentointitietojoukoksi
- YOLOv5: Käytä versiota 7.0 oman ilmentymien segmentointimallin kouluttamiseen (ajoneuvojen, jalankulkijoiden, liikennemerkkien, kaistalinjojen jne.)
- Käytä Kagglen GPU-resursseja ja koe Stable Diffusion avoimen lähdekoodin projekti ilmaiseksi
- YOLOv10:n rakensivat Tsinghuan yliopiston tutkijat Ultralytics Python -paketin pohjalta. Se esitteli uuden menetelmän reaaliaikaiseen kohteen havaitsemiseen ja ratkaisi aiempien YOLO-versioiden jälkikäsittelyn ja malliarkkitehtuurin puutteet. Eliminoimalla ei-maksimaalisen vaimennuksen (NMS) ja optimoimalla eri mallikomponentit YOLOv10 saavuttaa huippuluokan suorituskyvyn ja vähentää merkittävästi laskennallisia kustannuksia. Laajat kokeet osoittavat sen erinomaisen tarkkuuden ja latenssin kompromissin useilla mallimitoilla.
- [1] YOLOv10 lähdekoodin osoite:https://github.com/THU-MIG/yolov10.git
- [2] YOLOv10 paperiosoite:https://arxiv.org/abs/2405.14458
- Yleiskatsaus
Reaaliaikaisen objektien tunnistuksen tarkoituksena on ennustaa tarkasti kohteiden luokka ja sijainti kuvissa, joilla on pieni latenssi. YOLO-sarja on ollut tämän tutkimuksen eturintamassa suorituskyvyn ja tehokkuuden välisen tasapainonsa ansiosta. Riippuvuus NMS:stä ja arkkitehtoniset tehottomuudet estävät kuitenkin optimaalisen suorituskyvyn. YOLOv10 ratkaisee nämä ongelmat ottamalla käyttöön johdonmukaisen kaksoistehtävän nms-vapaaseen koulutukseen ja yleisen tehokkuuteen perustuvan mallin suunnittelustrategian.- Arkkitehtuuri
YOLOv10:n arkkitehtuuri perustuu aiempien YOLO-mallien vahvuuksiin ja tuo mukanaan useita keskeisiä innovaatioita. Mallin arkkitehtuuri koostuu seuraavista osista:
- Runko: YOLOv10:n runko vastaa ominaisuuksien purkamisesta käyttämällä CSPNetin (Cross Stage Partial Network) parannettua versiota gradienttivirran parantamiseksi ja laskennan redundanssin vähentämiseksi.
- Kaula: Kaula on suunniteltu yhdistämään eri asteikkojen piirteet ja välittämään ne päähän. Se sisältää PAN-kerroksen (Path Aggregation Network) tehokkaaseen monimuotoiseen ominaisuuksien yhdistämiseen.
- Yhdestä moneen pää: Luo useita ennusteita kullekin kohteelle harjoitusprosessin aikana, tarjoaa monipuolisia valvontasignaaleja ja parantaa oppimistarkkuutta.
- Yksi yhteen pää: Luo parhaan ennusteen kullekin kohteelle päättelyn aikana, mikä eliminoi NMS:n tarpeen, mikä vähentää latenssia ja lisää tehokkuutta.
- Avainominaisuudet
- NMS-vapaa koulutus: Hyödynnä johdonmukaista kaksoisallokaatiota eliminoidaksesi NMS:n tarpeen ja vähentääksesi päättelyviivettä.
- Kokonaisvaltainen mallisuunnittelu: Jokainen komponentti on täysin optimoitu tehokkuuden ja tarkkuuden näkökulmasta, mukaan lukien kevyt luokituspää, spatiaalinen kanava irrotettu alasnäytteistys ja sijoitusohjauslohkosuunnittelu.
- Parannetut malliominaisuudet: Yhdistää suuren ytimen konvoluutio- ja osittaiset itsetarkkailumoduulit suorituskyvyn parantamiseksi ilman merkittäviä laskentakustannuksia.
- Mallivaihtoehdot: YOLOv10:tä on saatavana useissa eri malleissa, jotka täyttävät erilaiset sovellustarpeet:
- YOLOv10-N: Nanoversio erittäin resurssirajoitteisiin ympäristöihin.
- YOLOv10-S: Pieni versio tasapainottaa nopeutta ja tarkkuutta.
- YOLOv10-M: Keskikokoinen versio yleiskäyttöön (sopii moneen eri tarkoitukseen tai käyttöön).
- YOLOv10-B: Tasapainotettu versio suurennetulla leveydellä lisää tarkkuutta.
- YOLOv10-L: Suuri versio parempaan tarkkuuteen lisääntyneiden laskentaresurssien kustannuksella.
- YOLOv10-X: Erittäin suuri versio maksimaalisen tarkkuuden ja suorituskyvyn saavuttamiseksi.
- tuttuaPython
torch==2.0.1
torchvision==0.15.2
onnx==1.14.0
onnxruntime==1.15.1
pycocotools==2.0.7
PyYAML==6.0.1
scipy==1.13.0
onnxsim==0.4.36
onnxruntime-gpu==1.18.0
gradio==4.31.5
opencv-python==4.9.0.80
psutil==5.9.8
py-cpuinfo==9.0.0
huggingface-hub==0.23.2
safetensors==0.4.3
pip install ultralytics
# 或者
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple # 国内清华源,下载速度更快
- YOLOv10 lähdekoodin osoite:https://github.com/THU-MIG/yolov10.git
git clone https://github.com/THU-MIG/yolov10.git
cd yolov10
# conda create -n yolov10 python=3.9
# conda activate yolov10
pip install -r requirements.txt
pip install -e .
Cloning into 'yolov10'...
remote: Enumerating objects: 4583, done.
remote: Counting objects: 100% (4583/4583), done.
remote: Compressing objects: 100% (1270/1270), done.
remote: Total 4583 (delta 2981), reused 4576 (delta 2979), pack-reused 0
Receiving objects: 100% (4583/4583), 23.95 MiB | 1.55 MiB/s, done.
Resolving deltas: 100% (2981/2981), done.
Tulkaa
https://github.com/THU-MIG/yolov10.git
Lataa lähdekoodin zip-paketti verkkosivustolta.
cd yolov10
# conda create -n yolov10 python=3.9
# conda activate yolov10
pip install -r requirements.txt
pip install -e .
Tässä artikkelissa käytetty tietojoukko on ilmainenlataa linkki:https://download.csdn.net/download/FriendshipTang/88045378
yolo detect train data=../datasets/Road_Sign_VOC_and_YOLO_datasets/road_sign.yaml model=yolov10n.yaml epochs=100 batch=4 imgsz=640 device=0
yolo predict model=runsdetecttrain4weightsbest.pt source=E:/mytest/datasets/Road_Sign_VOC_and_YOLO_datasets/testset/images
yolo detect val data=../datasets/Road_Sign_VOC_and_YOLO_datasets/road_sign.yaml model=runsdetecttrain4weightsbest.pt batch=4 imgsz=640 device=0
[1] YOLOv10 lähdekoodin osoite:https://github.com/THU-MIG/yolov10.git
[2] YOLOv10 paperiosoite:https://arxiv.org/abs/2405.14458
- Rajallisen tasoni vuoksi on väistämätöntä, että tulee virheitä ja puutteita, arvostele ja korjaa ne.
- Lisää jännittävää sisältöä napsauttamalla pääset sisäänPython päivittäiset toiminnotsarake,OpenCV-Python pieni sovellussarake,YOLO-sarjasarake,luonnollisen kielen käsittelysarake tai minunKotisivuTarkistaa
- Kasvojen naamiotunnistus perustuu DETR:ään
- YOLOv7 kouluttaa omaa tietojoukkoaan (maskin tunnistus)
- YOLOv8 harjoittelee omaa tietojoukkoaan (jalkapallon tunnistus)
- YOLOv5: TensorRT nopeuttaa YOLOv5-mallin päättelyä
- YOLOv5: IoU, GIoU, DIoU, CIoU, EIoU
- Pelaaminen Jetson Nanolla (5): TensorRT nopeuttaa YOLOv5-kohteen havaitsemista
- YOLOv5: Lisää SE, CBAM, CoordAtt, ECA:n huomiomekanismi
- YOLOv5: yolov5s.yaml-määritystiedoston tulkinta ja pienen kohteen tunnistuskerroksen lisääminen
- Python muuntaa COCO-muotoisen ilmentymän segmentointitietojoukon YOLO-muotoisen ilmentymän segmentointitietojoukoksi
- YOLOv5: Käytä versiota 7.0 oman ilmentymien segmentointimallin kouluttamiseen (ajoneuvojen, jalankulkijoiden, liikennemerkkien, kaistalinjojen jne.)
- Käytä Kagglen GPU-resursseja ja koe Stable Diffusion avoimen lähdekoodin projekti ilmaiseksi