RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1595978
Accepted
QuL1ux
QuL1ux
Asked:2024-10-07 23:58:21 +0000 UTC2024-10-07 23:58:21 +0000 UTC 2024-10-07 23:58:21 +0000 UTC

在视频中查找相似的物体

  • 772

一般来说,我需要分析监控摄像头的视频,并根据同一对象的给定照片找到特定对象并保存帧。我看到了类似于 Habré 的东西,视频中的对象是确定的,但我不知道如何专门针对我的对象训练模型。另外,分析一定要准确,因为视频里人很多,质量也不是最好的,而且视频里需要找的包裹本身也很单调。有人可以帮助编写代码或至少给出如何实现这一点的想法吗?

python
  • 1 1 个回答
  • 128 Views

1 个回答

  • Voted
  1. Best Answer
    Alexandr Ogorodnik
    2024-10-11T04:03:58Z2024-10-11T04:03:58Z

    首先,我推荐使用深度学习,例如基于卷积神经网络(CNN)进行物体识别的模型,有几种流行的:(R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD) )。 TensorFlow 和 PyTorch 是实现此目的的绝佳库。

    首先,您需要收集数据:您想要在视频中查找的对象的图像。然后,标记它们(确定每个图像中对象的坐标)。

    数据收集和标记:使用 LabelImg 等专用工具来标记图像。

    训练模型:使用YOLO(You Only Look Once)模型或Faster R-CNN。 YOLO 很好,因为它提供了高精度和速度。

    训练模型:标记数据后,使用 TensorFlow 或 PyTorch 训练模型。这是使用 YOLO 的示例:

             import torch
             from models.common import DetectMultiBackend
             from utils.general import non_max_suppression, scale_coords
             from utils.torch_utils import select_device
    
             # Указание пути к весам, конфигурации и изображениям
             weights = 'yolov5s.pt'
             device = select_device('')
             model = DetectMultiBackend(weights, device=device)
             img_size = 640
    
             # Функция для загрузки изображения и получения предсказаний
             def detect_objects(image_path):
                 img = torch.load(image_path)
                 results = model(img, augment=False, size=img_size)
                 pred = non_max_suppression(results[0], 0.25, 0.45)
                 return pred
    
             # Загрузка и предсказание для тестового изображения
             image_path = 'test.jpg'
             predictions = detect_objects(image_path)
             print(predictions)
    

    视频分析:使用 OpenCV 捕获视频并使用经过训练的模型分析每一帧。

           import cv2
    
           cap = cv2.VideoCapture('video.mp4')
    
           while cap.isOpened():
               ret, frame = cap.read()
               if not ret:
                   break
    
               predictions = detect_objects(frame)
    
               # Сохранение кадров с найденным объектом
               for det in predictions:
                   if det is not None and len(det):
                       cv2.imwrite('output_frame.jpg', frame)
    
           cap.release()
           cv2.destroyAllWindows()
    

    这是一个示例,您可以根据自己的需要进行调整。

    还有一个您可以研究的文档的链接,我希望它有用:https ://arxiv.org/pdf/1905.01614

    • 2

相关问题

  • 是否可以以某种方式自定义 QTabWidget?

  • telebot.anihelper.ApiException 错误

  • Python。检查一个数字是否是 3 的幂。输出 无

  • 解析多个响应

  • 交换两个数组的元素,以便它们的新内容也反转

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5