车辆行人检测和识别3:基于深度学习YOLO26神经网络实现车辆行人检测和识别(含训练代码、数据集和GUI交互界面)
基于深度学习YOLO26神经网络实现车辆行人检测和识别,其能识别检测出2种车辆行人检测:names: ['Pedestrians', 'Vehicles']
具体图片见如下:


第一步:YOLO26介绍
YOLO26采用了端到端无NMS推理,直接生成预测结果,无需非极大值抑制(NMS)后处理。这种设计减少了延迟,简化了集成,并提高了部署效率。此外,YOLO26移除了分布焦点损失(DFL),从而增强了硬件兼容性,特别是在边缘设备上的表现。
模型还引入了ProgLoss和小目标感知标签分配(STAL),显著提升了小目标检测的精度。这对于物联网、机器人技术和航空影像等应用至关重要。同时,YOLO26采用了全新的MuSGD优化器,结合了SGD和Muon优化技术,提供更稳定的训练和更快的收敛速度。
第二步:YOLO26网络结构

第三步:代码展示
# Ultralytics YOLO 🚀, AGPL-3.0 licensefrom pathlib import Pathfrom ultralytics.engine.model import Model
from ultralytics.models import yolo
from ultralytics.nn.tasks import ClassificationModel, DetectionModel, OBBModel, PoseModel, SegmentationModel, WorldModel
from ultralytics.utils import ROOT, yaml_loadclass YOLO(Model):"""YOLO (You Only Look Once) object detection model."""def __init__(self, model="yolo11n.pt", task=None, verbose=False):"""Initialize YOLO model, switching to YOLOWorld if model filename contains '-world'."""path = Path(model)if "-world" in path.stem and path.suffix in {".pt", ".yaml", ".yml"}: # if YOLOWorld PyTorch modelnew_instance = YOLOWorld(path, verbose=verbose)self.__class__ = type(new_instance)self.__dict__ = new_instance.__dict__else:# Continue with default YOLO initializationsuper().__init__(model=model, task=task, verbose=verbose)@propertydef task_map(self):"""Map head to model, trainer, validator, and predictor classes."""return {"classify": {"model": ClassificationModel,"trainer": yolo.classify.ClassificationTrainer,"validator": yolo.classify.ClassificationValidator,"predictor": yolo.classify.ClassificationPredictor,},"detect": {"model": DetectionModel,"trainer": yolo.detect.DetectionTrainer,"validator": yolo.detect.DetectionValidator,"predictor": yolo.detect.DetectionPredictor,},"segment": {"model": SegmentationModel,"trainer": yolo.segment.SegmentationTrainer,"validator": yolo.segment.SegmentationValidator,"predictor": yolo.segment.SegmentationPredictor,},"pose": {"model": PoseModel,"trainer": yolo.pose.PoseTrainer,"validator": yolo.pose.PoseValidator,"predictor": yolo.pose.PosePredictor,},"obb": {"model": OBBModel,"trainer": yolo.obb.OBBTrainer,"validator": yolo.obb.OBBValidator,"predictor": yolo.obb.OBBPredictor,},}class YOLOWorld(Model):"""YOLO-World object detection model."""def __init__(self, model="yolov8s-world.pt", verbose=False) -> None:"""Initialize YOLOv8-World model with a pre-trained model file.Loads a YOLOv8-World model for object detection. If no custom class names are provided, it assigns defaultCOCO class names.Args:model (str | Path): Path to the pre-trained model file. Supports *.pt and *.yaml formats.verbose (bool): If True, prints additional information during initialization."""super().__init__(model=model, task="detect", verbose=verbose)# Assign default COCO class names when there are no custom namesif not hasattr(self.model, "names"):self.model.names = yaml_load(ROOT / "cfg/datasets/coco8.yaml").get("names")@propertydef task_map(self):"""Map head to model, validator, and predictor classes."""return {"detect": {"model": WorldModel,"validator": yolo.detect.DetectionValidator,"predictor": yolo.detect.DetectionPredictor,"trainer": yolo.world.WorldTrainer,}}def set_classes(self, classes):"""Set classes.Args:classes (List(str)): A list of categories i.e. ["person"]."""self.model.set_classes(classes)# Remove background if it's givenbackground = " "if background in classes:classes.remove(background)self.model.names = classes# Reset method class names# self.predictor = None # reset predictor otherwise old names remainif self.predictor:self.predictor.model.names = classes
第四步:统计训练过程的一些指标,相关指标都有

第五步:运行(支持图片、文件夹、摄像头和视频功能)


第六步:整个工程的内容
有训练代码和训练好的模型以及训练过程,提供数据,提供GUI界面代码

项目完整文件下载请见演示与介绍视频的简介处给出:➷➷➷
https://www.bilibili.com/video/BV1J5jt6sEUg/
