news 2026/3/21 14:41:34

【AI】一种基于YOLOv8/v11目标检测模型之检测人体和车辆的脚本及服务2️⃣【Ubuntu 22.04】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【AI】一种基于YOLOv8/v11目标检测模型之检测人体和车辆的脚本及服务2️⃣【Ubuntu 22.04】

        本文介绍基于YOLOv11的目标检测服务系统,包含图片和视频检测两个独立服务。


1️⃣:检测图片脚本(v11)【端口:5002】

import os import json import threading from flask import Flask, request, jsonify from ultralytics import YOLO app = Flask(__name__) class GeneralImageService: def __init__(self): self.model = None self.lock = threading.Lock() self.load_model() def load_model(self): """加载YOLOv11通用模型""" model_path = "/opt/yolov11/models/yolov11n.pt" print(f"【通用图片服务】加载YOLOv11模型: {model_path}") try: if os.path.exists(model_path): self.model = YOLO(model_path) print(f"【通用图片服务】✅ YOLOv11加载成功!") print(f"【通用图片服务】可识别{len(self.model.names)}个类别") # 打印常用类别 common_classes = { 0: 'person', 2: 'car', 5: 'bus', 7: 'truck', 15: 'cat', 16: 'dog', 39: 'bottle', 41: 'cup' } print("【通用图片服务】常用类别ID:") for cls_id, name in common_classes.items(): if cls_id < len(self.model.names): print(f" {cls_id}: {name}") else: print(f"【通用图片服务】❌ 模型文件不存在: {model_path}") self.model = None except Exception as e: print(f"【通用图片服务】❌ 模型加载失败: {e}") self.model = None def predict_general(self, image_path, target_classes=None): """通用检测,支持筛选特定类别""" if self.model is None: return {"error": "Model not loaded", "success": False} try: with self.lock: # 执行推理 results = self.model(image_path, verbose=False) all_detections = [] class_statistics = {} for result in results: for box in result.boxes: cls_id = int(box.cls) class_name = self.model.names[cls_id] if cls_id < len(self.model.names) else f"class_{cls_id}" confidence = float(box.conf) # 如果指定了目标类别,只返回这些类别 if target_classes is not None and cls_id not in target_classes: continue # 统计 class_statistics[class_name] = class_statistics.get(class_name, 0) + 1 all_detections.append({ "class_id": cls_id, "class_name": class_name, "confidence": confidence, "bbox": box.xyxy[0].tolist() # [x1, y1, x2, y2] }) return { "success": True, "detections": all_detections, "statistics": class_statistics, "total_objects": len(all_detections), "image_size": result.orig_shape, "model": "yolov11n", "classes_available": len(self.model.names) } except Exception as e: return {"error": str(e), "success": False} service = GeneralImageService() @app.route('/general/health', methods=['GET']) def general_health(): return jsonify({
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/16 11:13:12

Kotaemon能否用于餐厅菜单推荐?个性化服务设想

Kotaemon能否用于餐厅菜单推荐&#xff1f;个性化服务设想 在一家繁忙的中餐馆里&#xff0c;服务员刚为一对情侣推荐了招牌辣子鸡。但没人注意到&#xff0c;其中一人其实对辣椒极度敏感——而系统如果能提前知道这一点&#xff0c;本可以避免一场尴尬的用餐体验。 这正是当下…

作者头像 李华
网站建设 2026/3/13 19:07:58

10 个强大且值得掌握的 Linux 命令

10 个强大且值得掌握的 Linux 命令 引言&#xff1a;当终端开始“解决问题” 很多人第一次真正感受到 Linux 的能力&#xff0c;是在终端里执行了一条自己并不完全理解的命令&#xff1a;按下回车后&#xff0c;问题被快速定位或直接消失。没有图形界面&#xff0c;没有向导&…

作者头像 李华
网站建设 2026/3/18 17:29:58

国内数据安全管控平台产品图鉴:技术演进与场景适配全景

随着《数据安全法》《个人信息保护法》等法规体系的落地深化&#xff0c;数据安全已从企业合规成本转化为核心竞争力。数据安全管控平台作为数字化转型的 “安全基座”&#xff0c;正朝着平台化整合、智能化治理、全链路防护的方向加速演进。国内厂商基于不同技术基因与行业积累…

作者头像 李华
网站建设 2026/3/20 3:42:23

基于Java springboot宣传教育资料管理系统(源码+文档+运行视频+讲解视频)

文章目录 系列文章目录目的前言一、详细视频演示二、项目部分实现截图三、技术栈 后端框架springboot前端框架vue持久层框架MyBaitsPlus系统测试 四、代码参考 源码获取 目的 摘要&#xff1a;随着信息化时代发展&#xff0c;传统宣传教育资料管理面临存储分散、检索困难、权…

作者头像 李华
网站建设 2026/3/13 15:30:39

Claude code 多种模型随时切换(最简单的方法)

我们平时在使用 claude code CLI 的时候&#xff0c;除了使用 claude 自己的模型&#xff0c;还会接入一些比较便宜的国产模型&#xff0c;比如 GLM4.6 、MiniMax-M2、kimi k2 等等。这时候如果能支持在多个模型之间随意切换&#xff0c;那就可以大大提高使用效率。目前市面上也…

作者头像 李华