Yolov8的安装及初步使用

        今天来介绍Yolo,Yolo系列时目前比较火的目标检测算法,在2023年,yolo已经更新到了Yolov8了,今天就来安装和使用Yolov8。

        首先来简单的介绍一下,YOLOv8 是YOLO 系列实时物体检测器的最新迭代产品,在精度和速度方面都具有尖端性能。在之前YOLO 版本的基础上,YOLOv8 引入了新的功能和优化,使其成为广泛应用中各种物体检测任务的理想选择。以下是ultralytics的开源地址:

https://github.com/ultralytics/ultralytics

        点开连接后,点击下载ZIP,下载后解压打开。里面有相关的教程。

        现在打开pycharm,在终端里输入pip install ultralytics,安装好ultralytics后,导入ultralytics后输入ultralytics.checks(),检查目前的版本。

        

        接下来就可以使用Yolov8的相关功能,今天我们

### YOLOv8-DeepSort 环境搭建教程 #### 创建 Anaconda 虚拟环境并激活 为了确保兼容性和稳定性,推荐使用Anaconda创建一个新的Python虚拟环境来安装YOLOv8和DeepSort所需的依赖项。 ```bash conda create -n yolov8_deepsort python=3.9 conda activate yolov8_deepsort ``` #### 安装 PyTorch 和 CUDA 支持 考虑到性能优化的需求以及硬件加速的支持,需确认PyTorch版本与CUDA版本相匹配。对于YOLOv8而言,通常建议采用最新稳定版的PyTorch,并搭配相应的CUDA驱动程序。 ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 ``` 此命令适用于NVIDIA GPU用户;如果目标设备不具备GPU,则可省略`--extra-index-url`参数以默认安装CPU-only版本[^1]。 #### 获取 YOLOv8 项目源码 通过Git克隆官方仓库获取最新开源代码: ```bash git clone https://github.com/ultralytics/ultralytics.git cd ultralytics/ pip install -r requirements.txt pip install -e . ``` 上述操作不仅下载了必要的库文件还完成了本地包链接,使得后续开发更加便捷高效[^2]。 #### 配置 DeepSort 组件 鉴于DeepSort作为多目标跟踪算法的重要性,在完成基础框架部署之后还需进一步集成该模块。可以从GitHub上拉取对应的实现版本: ```bash git clone https://github.com/nwojke/deep_sort_pytorch.git cd deep_sort_pytorch/ pip install -r requirements.txt ``` 值得注意的是,由于不同开发者可能基于各自需求定制化修改过原始代码结构,因此实际路径可能会有所差异,请参照具体README文档指示调整相应指令[^3]。 #### 测试验证安装成果 最后一步是对整个系统的功能性进行全面检测,确保各部分组件能够协同工作正常运行。可以尝试执行预训练模型推理任务或者启动简单的追踪实例来进行初步检验。 ```python from ultralytics import YOLO import cv2 from deep_sort.deep_sort.tracker import Tracker as DSTracker from deep_sort.tools.generate_detections import create_box_encoder model = YOLO('yolov8s.pt') # 加载小型YOLOv8权重 cap = cv2.VideoCapture(0) encoder = create_box_encoder('./deep_sort/resources/networks/mars-small128.pb', batch_size=32) tracker = DSTracker(max_age=30, n_init=3) while True: ret, frame = cap.read() results = model(frame)[0].boxes.data.tolist() # 推理得到边界框列表 detections = [] for r in results: bbox = list(map(int, r[:4])) conf = float(r[4]) cls = int(r[-1]) if conf > 0.5 and cls == 0: # 只处理行人类别且置信度大于阈值的情况 detections.append([bbox[0], bbox[1], bbox[2]-bbox[0], bbox[3]-bbox[1]]) features = encoder(frame, np.array(detections)) dets = [Detection(bbox, score=conf, feature=f) for bbox, f in zip(detections, features)] tracker.predict() matches = tracker.update(dets) for track_id, det_idx in enumerate(matches[:, 1]): x1,y1,w,h = map(int,detections[int(det_idx)]) label = str(track_id) color=(randint(0,255), randint(0,255), randint(0,255)) cv2.rectangle(frame,(x1,y1),(x1+w,y1+h),color=color,thickness=2) cv2.putText(frame,label,(x1,y1-10),cv2.FONT_HERSHEY_SIMPLEX,.5,color,thickness=2) cv2.imshow("Frame",frame) key=cv2.waitKey(1)&0xFF if key==ord('q'): break cap.release() cv2.destroyAllWindows() ``` 这段脚本实现了摄像头实时视频流中的物体识别与跟踪功能展示,其中涉及到了YOLOv8的目标定位能力结合DeepSort的身份持续关联机制共同作用的结果呈现[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值