YOLOv5 对象检测和时间戳
Posted
技术标签:
【中文标题】YOLOv5 对象检测和时间戳【英文标题】:YOLOv5 object detection along with timestamp 【发布时间】:2021-08-19 19:34:45 【问题描述】:我是编程新手,最近一直在尝试使用 YOLOv5 学习对象检测。我可以执行自定义对象的检测,但我很难记录检测到对象的帧。
我的目标是将我的模型检测到的帧与对象已经逐帧注释的帧进行比较。如,我使用 VIA 3.0(http://www.robots.ox.ac.uk/~vgg/software/via/demo/via_video_annotator.html) 用我的对象为“X.mp4”注释帧,当通过我的模型运行相同的视频时,它返回带有对象的帧,供我比较。
理想情况下,我希望我的程序返回检测到对象的视频帧和时间(以分钟和秒为单位)。
抱歉,如果我的问题不清楚并且非常愚蠢。如前所述,感谢您提供任何帮助。
谢谢
【问题讨论】:
【参考方案1】:当您对视频中的图像进行注释时,您可能会从中提取一些帧。您应该根据视频中的时间戳/帧数来命名这些帧,以便接下来更容易检索。
在进行推理时,可以统计从第一帧开始的帧数(或获取时间戳),然后读取对应的标注图像。
例如,如果您注释 video.mp4
,它有 30 帧(为简单起见)并且只注释每 10 个图像,您最终应该得到这些图像:im_0.jpg
、im_10.jpg
、im_20.jpg
以及它们的对应的注解。
在推理过程中,您阅读视频并计算帧数:
frame_count = 0
while(cap.isOpened()): # Or whatever you use to read the video
ret, frame = cap.read()
if ret == True:
# Get the annotated image name
frame_name = f"im_frame_count.jpg"
# Increment the frame count
frame_count += 1
else:
break
【讨论】:
以上是关于YOLOv5 对象检测和时间戳的主要内容,如果未能解决你的问题,请参考以下文章