王秋阳 511e2e26a5 Update 'miva/miva.md' | hai 1 ano | |
---|---|---|
HuaweiSDC | %!s(int64=2) %!d(string=hai) anos | |
gsd | %!s(int64=2) %!d(string=hai) anos | |
gsd_check | %!s(int64=2) %!d(string=hai) anos | |
ins | %!s(int64=2) %!d(string=hai) anos | |
miva | hai 1 ano | |
update | %!s(int64=2) %!d(string=hai) anos | |
补充资料 | %!s(int64=2) %!d(string=hai) anos | |
README.md | %!s(int64=2) %!d(string=hai) anos |
人脸部门嵌入式软件交接文档, 主要涵盖野生动物管理系统、华为软件定义摄像头、车载客流密度分析、车站管理系统(研发中).
项目研发主要涉及不同的深度学习开发框架, 这个因不同硬件而异, 算法部署流程也有区别, 项目多数采用docker容器+docker-compose的部署方式, 请参考一下资料进行研究。
项目详细请参考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 |
项目具体参考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 |
项目详细参考miva目录, 项目应用场景为地铁列车上,考虑到硬件统合性能和功耗限制等因素, 选择的是Jetson Xavire NX, 软件则基于Deepstream进行开发.
资料 | 作用 | 链接 |
---|---|---|
deepstream | 算法的部署框架, 建设于gstreamer, 自行学习 | https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_docker_containers.html |
项目详细参考ins目录, 项目应场景为地铁车站, 算法所需的处理资源较大, 所以方案采用硬件服务器 + GPU的形式, 因为考虑到后续自动化维护、部署、资源动态伸缩问题, 决定采用K8s(Kubernetes)这种分布式部署方案, 同时为了更好实现的多用户权限管理, 采用国内青云开源的Kubesphere来管理和部署K8s.
项目详细参考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 |
项目应用场景为对野生动物管理系统的识别结果进行二次识别, 识别鸟种, 内部架构跟gsd_check一样, 不做过多的描述。
软件仓库、镜像仓库地址均为自己搭建gitlab服务、harbor服务, 物理机为工控机, 该做法的原因为能够将两者服务纳入到VPN内网中, 从而实现真正意义上的自动化部署。
服务:
服务 | 地址 | 作用 | 账号 | 密码 |
---|---|---|---|---|
gitlab | http://192.168.31.174 | 私有git服务 | root | sunwin2021 |
harbor | http://192.168.31.174:8080 | 私有DockerHub服务 | admin | SZsunwin2022 |
摄像头参数主要分辨率为1080P, 不能使用2K, 这样会影响到算法的识别效果, 在部署时一定要检查是否为1080P, 而相机账号密码多数admin sunwin2021。
因为有些机场目前处于流量卡欠费的情况, 并且结合软件迭代问题、各个机场的网络环境不同, 各个机场更新方法不同, 根据以下表格选择对应不同的方法, 方法具体参考update目录下文件.
机场 | 更新方法 |
---|---|
白云、大兴、深圳机场、兰州南端、合肥机场 | 正常更新.md |
首都、乌鲁木齐、成都、兰州北端、中端 | 旧版转新版更新.md |
注意: 将旧版程序转换为新版后, 统一使用正常更新方法