HI3516DV300/HI3519AV100/HI3559AV100 实现RTSP/RTMP视频流实时识别YOLOV3 识别速度14帧/S

2023-05-16

本教程是基于yolov3在硬件实现硬件的实时视频处理!
不是SAMPLE中的处理单张图片照片!
未采用opencv库,数据处理全部采用硬件加速!
直接对摄像头数据直接进行图像识别!
HI3516 识别速度 10帧/S
HI3519 识别速度 14帧/S

教程目的: 在硬件实现视频流实时识别,将深度学习落地于实战项目中。

实现原理:

  1. VPSS 使用3路,部分芯片VPSS CH0 不支持缩小,为保证输出帧率,保留第一路不使用。
  2. VPSS CH1 当作 yolov3 的检测输入识别结果经过OVERLAY叠加到VENC中
  3. VPSS CH2 实现720P视频输出,经过RTSP/RTMP/VO 实时查看。
    在这里插入图片描述
    一 YOLOV3 训练
    二 YOLOV3 格式转换
    a. 因为NNIE只支持CAFFE格式的转换,所以先将weights 文件转换为caffe文件
    darknet2caffe cfg/yolov3.cfg weights/yolov3.weights prototxt/yolov3.prototxt caffemodel/yolov3.caffemodel
    b 将转换好的caffe文件生成 NNIE识别的WK文件
    先修改 yolov3-voc.prototxt 文件,确保转换成功
    input: “data”
    input_shape {
    dim: 1
    dim: 3
    dim: 416
    dim: 416
    }
  4. 修改转换 inst_yolov3.cfg
# yolov3-coco 80种分类
[prototxt_file] ./data/detection/yolov3-nnie/model/yolov3.prototxt
[caffemodel_file]  ./data/detection/yolov3-nnie/model/yolov3.caffemodel
[instruction_name] ./data/detection/yolov3-nnie/inst_yolov3
[batch_num] 1
[net_type] 0
[sparse_rate] 0
# compile_mode 0 - 高速模式损失精度 1 - 高精度模式
[compile_mode] 0
[is_simulation] 0
[log_level] 2
[RGB_order] BGR
[data_scale] 0.0039062
[internal_stride] 16
[image_list] nnie_mapper/image_ref_list.txt
# 1 -   SVP_BLOB_TYPE_U8  3 SVP_BLOB_TYPE_YUV420SP
[image_type] 1                           
# [image_type] 3
[mean_file] null
[norm_type] 3

./nnie_mapper/bin/nnie_mapper_12 ./nnie_mapper/yolov3_inst.cfg
三、系统划分

核心代码:

1. 获取通道图像信息
        s32Ret = HI_MPI_VPSS_GetChnFrame(s32VpssGrp, as32VpssChn[1], &stExtFrmInfo, s32MilliSec);
2. 通过Yolov3输出识别
        s32Ret = SAMPLE_SVP_NNIE_Yolov3_Proc(pstParam,pstSwParam, &stExtFrmInfo,
         1280,720);
3. 将输出结果叠加到视频流中
        REGION_VENC_NNIE_DrawRect(0,&(pstSwParam->stRect),0xffff); // 绘制识别结果

三、测试结果

每秒14帧速率

具体实现过程以及最终源码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HI3516DV300/HI3519AV100/HI3559AV100 实现RTSP/RTMP视频流实时识别YOLOV3 识别速度14帧/S 的相关文章

  • RTSP YouTube 链接

    我已经查遍了谷歌 但无法从 YouTube 视频中获取 rtsp 链接 给定 VIDEO ID 我对如何使用该 id 然后解析 google 的链接感到困惑 感谢您的时间和精力 我找到了这个博客条目 http gdatatips blogs
  • rtmp和rtsp协议有什么区别?

    我只是想知道 rtsp 和 rtmp 协议之间有什么区别 如果我的服务器上有 mp3 并且我正在我的 Android 中使用 http 播放它 那么它们在工作中有何不同 在android中如果我想实现rtmp或rtsp 哪个是最好的 and
  • H.264 over RTP - 识别 SPS 和 PPS 帧

    我有来自 IP 摄像机的原始 H 264 流 封装在 RTP 帧中 我想将原始 H 264 数据放入文件中 以便我可以将其转换为ffmpeg 因此 当我想将数据写入原始 H 264 文件时 我发现它必须如下所示 00 00 01 SPS 0
  • ffmpeg rtsp解码缓冲区太小

    我在 Android 上使用 ffmpeg 解码 rtsp 当图像快速更新或高分辨率时 我很快就会看到像素化 经过谷歌搜索 我发现它可能与UDP缓冲区大小有关 然后我在 ffmpeg libavformat udp c 中使用以下参数重新编
  • 如何将网络摄像头转为 rtsp

    我有一个产品 可以在输入 rtsp url 后分析视频 我想使用网络摄像头通过网络摄像头 rtsp 流式传输并提供我的产品 我怎样才能做到这一点 这取决于您使用的网络摄像头 大多数支持 RTSP 但许多不发布访问流的接口 因为它们设计为与网
  • RTMP:有这样的linux命令行工具吗?

    我到处寻找一个可以让我下载 rtmp 流的 Linux 实用程序 不是 flv 视频而是 MP3 流 我想要下载的流的位置就是这种格式 rtmp live site com loc 45 std fc74a6b7f79c70a5f60 mp
  • MobileVLCKit 编译时失败

    我正在尝试在我的应用程序中使用适用于 iOS 的 MobileVLCKit 我按照 给出的步骤进行操作构建 iOS 框架 https wiki videolan org VLCKit 我已在 Xcode 5 中将部署目标设置为 iOS 7
  • 如何在ios应用程序中播放RTMP视频流?

    嗨 我正在开发广播应用程序 我正在使用 Videocore 库 现在我如何在 ios 应用程序中播放该流视频 我尝试使用 MpMoviePlayer 但它不支持 rtmp 流 那么是否有任何第三方库可供 RTMP 支持的播放器使用 请帮助我
  • Android 上的 RTSP 客户端实现

    我看到很多与此相关的问题 尽管如此 我认为我的答案还没有 我想在 Android 上使用已编码的 RTSP 客户端与 MediaCodec 一起使用 以便捕获 H264 中的 RTSP 流 然后解码并显示它 我使用了 VideoView 和
  • 如何保持 RTSP 会话存活?

    我尝试在 Google Nexus S 2 3 7 HTC Desire 2 3 3 和 Samsung Galaxy 3 2 上进行流式传输 只有 Google Nexus 存在 RTSP 会话超时问题 我阅读了一些关于这个问题的帖子 似
  • 有没有一种将视频从 Android 流式传输到 RTSP 服务器的好方法?

    我已经四处寻找并没有真正发现任何东西 我想通过流将视频从内置摄像头发送到我的 RTSP 服务器 在寻找示例时 我发现 MediaPlayer 的 setDataSource 方法可能只包含服务器上流的位置 我尝试用以下方法来模拟 media
  • FFMPEG 推送 RTMP 流在 Android 和 iPhone 上不工作

    我必须做一个半直播 我使用 Nginx rtmp 模块 然后使用以下命令通过 ffmpeg 将内容推送到它 ffmpeg re i content mp4 r 25 f fvl rtmp rtmp server here 当我从 rtmp
  • WOWZA + RTMP 在多个设备上播放?

    我仍然是 Wowza Streaming 的新手 但是当我设置所有内容 RHEL Wirecast 时 我可以以某种方式从我的家用电脑流式输出 广播到 EC2 服务器 正如我按照 Wowza Live Streaming 教程 我使用RTM
  • YouTube Live API 流状态和质量回调

    In the Live Control Room of a YouTube Live broadcast I can see a Stream Status view which shows me details of the video
  • 将 Flex ByteArray 转换为 Java byte[]

    我正在尝试将使用 rtmp 协议从 Flex GUI 发送的文件上传到服务器上 我昨天问如何在服务器上发送文件数据 通过rtmps java上传文件到服务器 https stackoverflow com questions 2310855
  • 将实时 Android 网络摄像头视频上传到 RTP/RTSP 服务器

    我已经做了适当的研究 但仍然缺乏关于我想要实现的目标的信息 因此 我想编写一个应用程序 用户可以在其中录制视频并立即 实时 将视频上传到 RTP RTSP 服务器 服务器端不会有问题 我不清楚的是如何在手机端实现这一点 到目前为止 我的研究
  • 可以使用带有 HTML5 播放器的 Amazon S3/CloudFront 流式传输视频吗?

    我想使用 HTML5 视频播放器并流式传输视频 S3 CloudFront 可以实现这一点吗 我了解 Amazon 使用 RTMP 流媒体协议和 HTML5video标签不支持 RTMP 有没有办法用 HTML5 播放器播放视频 Wayne
  • Python FFmpeg查询rtsp太慢

    目前 我正在尝试使用 python 和 FFmpeg 来查询原始格式为 h264 的 rtsp 数据 直播流视频的信息为 fps 29 分辨率 1280 720 我希望我可以以相同的格式 h264 查询数据并将其放入python队列中以便将
  • 如何在 RTMP 流中嵌入 pic_timing SEI 挂钟时间码?

    我需要将我的桌面流式传输到 AWS MediaLive 服务 并且根据要求 我必须在流中包含挂钟时间码 AWS 支持人员善意地通知我 对于 h 264 编码流 我需要提供时间码作为 pic timing SEI 消息 我在 Windows
  • 将rtsp视频流转换为http流

    我有一个实时视频流的 rtsp URL 我想将其作为 HTTP 流进行访问 有人可以告诉我是否有任何组件可以放在我的服务器上来执行此操作 我不知道如何实现这一点 请注意 Thanks 我想说你最好的选择是使用 FFmpeg 或 VLC 两者

随机推荐