Sen descrición

王秋阳 511e2e26a5 Update 'miva/miva.md' hai 1 ano
HuaweiSDC 33105d7bc4 完善资料 %!s(int64=2) %!d(string=hai) anos
gsd e7a2d5b04d 修改github地址 %!s(int64=2) %!d(string=hai) anos
gsd_check e7a2d5b04d 修改github地址 %!s(int64=2) %!d(string=hai) anos
ins 8ccd0b9559 完成全部 %!s(int64=2) %!d(string=hai) anos
miva 511e2e26a5 Update 'miva/miva.md' hai 1 ano
update cad4c7bd6c 修正 %!s(int64=2) %!d(string=hai) anos
补充资料 33105d7bc4 完善资料 %!s(int64=2) %!d(string=hai) anos
README.md 33105d7bc4 完善资料 %!s(int64=2) %!d(string=hai) anos

README.md

WordDoc

人脸部门嵌入式软件交接文档, 主要涵盖野生动物管理系统、华为软件定义摄像头、车载客流密度分析、车站管理系统(研发中).

1.项目涵盖的知识点

项目研发主要涉及不同的深度学习开发框架, 这个因不同硬件而异, 算法部署流程也有区别, 项目多数采用docker容器+docker-compose的部署方式, 请参考一下资料进行研究。

1.1 野生动物管理系统

项目详细请参考gsd目录, 部署硬件大多数采用工控机(x86) + 寒武纪mlu220(加速卡)的形式, 部署框架采用CNStream, 后期因为mlu220性能低下等原因确定更换为英伟达Jetson系列的TX-2 NX, 算法部署框架则为Deepstream.

应用层:

应用层, 寒武纪、Jetson系列差别不大

工具库 资料
httplib http工具库
rapidjson 处理json数据的工具库
zltoolkit 工具库, 包含定时器、线程池管理等.

寒武纪算法层:

资料 作用 链接
cnstream 算法的部署框架, 真正落地还需自行修改和增加模块 https://github.com/Cambricon/CNStream
寒武纪文档中心 包含mlu220的驱动安装 https://developer.cambricon.com/index/document/index/classid/3.html
寒武纪开发者社区 咨询问题, 但更推荐通过销售找研发 https://developer.cambricon.com/
live555(流媒体服务器框架) mlu220中算法展示流的部署框架 http://www.live555.com/

Jetson算法层

资料 作用 链接
deepstream 算法的部署框架, 建设于gstreamer, 自行学习 https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_docker_containers.html
deepstream容器库 deepstream容器库 https://catalog.ngc.nvidia.com/orgs/nvidia/containers/deepstream-l4t/tags

1.2 华为软件定义摄像头

项目具体参考HuaWeiSDC目录, 华为软件定义摄像头, 产品形态为一个摄像头, 可自行部署自己训练的算法, 实现摄像头与算法一体化。

资料 链接
产品形态 https://e.huawei.com/cn/products/intelligent-vision/cameras/software-defined-camera/
算法部署平台 https://hdps.holosens.huaweicloud.com/shdps
社区 https://forum.huawei.com/enterprise/zh/index

1.3 车载客流密度分析

项目详细参考miva目录, 项目应用场景为地铁列车上,考虑到硬件统合性能和功耗限制等因素, 选择的是Jetson Xavire NX, 软件则基于Deepstream进行开发.

资料 作用 链接
deepstream 算法的部署框架, 建设于gstreamer, 自行学习 https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_docker_containers.html

1.4 车站管理系统(研发中)

项目详细参考ins目录, 项目应场景为地铁车站, 算法所需的处理资源较大, 所以方案采用硬件服务器 + GPU的形式, 因为考虑到后续自动化维护、部署、资源动态伸缩问题, 决定采用K8s(Kubernetes)这种分布式部署方案, 同时为了更好实现的多用户权限管理, 采用国内青云开源的Kubesphere来管理和部署K8s.

  • 算法部署部分也采用Deepstream进行部署

1.5 gsd_check

项目详细参考gsd_check, 项目应用场景为对野生动物管理系统的识别结果进行二次筛查, 降低误识别, 硬件平台为Jetson Xavire NX, 软件则是居于tensorttx进行开发.

资料 作用 链接
tensorrtx 算法的部署框架, 建设于tensorrtx, 自行学习 https://github.com/wang-xinyu/tensorrtx
drogon http服务框架 https://gitee.com/an-tao/drogon?utm_source=alading&utm_campaign=repo

1.6 gsd_var

项目应用场景为对野生动物管理系统的识别结果进行二次识别, 识别鸟种, 内部架构跟gsd_check一样, 不做过多的描述。

2.软件仓库与镜像仓库

软件仓库、镜像仓库地址均为自己搭建gitlab服务、harbor服务, 物理机为工控机, 该做法的原因为能够将两者服务纳入到VPN内网中, 从而实现真正意义上的自动化部署。

服务:

服务 地址 作用 账号 密码
gitlab http://192.168.31.174 私有git服务 root sunwin2021
harbor http://192.168.31.174:8080 私有DockerHub服务 admin SZsunwin2022

3.摄像头参数说明

摄像头参数主要分辨率为1080P, 不能使用2K, 这样会影响到算法的识别效果, 在部署时一定要检查是否为1080P, 而相机账号密码多数admin sunwin2021

4.软件更新说明

因为有些机场目前处于流量卡欠费的情况, 并且结合软件迭代问题、各个机场的网络环境不同, 各个机场更新方法不同, 根据以下表格选择对应不同的方法, 方法具体参考update目录下文件.

机场 更新方法
白云、大兴、深圳机场、兰州南端、合肥机场 正常更新.md
首都、乌鲁木齐、成都、兰州北端、中端 旧版转新版更新.md

注意: 将旧版程序转换为新版后, 统一使用正常更新方法