Commit 483e3b4f authored by Sugon_ldc's avatar Sugon_ldc
Browse files

modify readme.md

parent da90ae33
# HRNet_PyTorch # HRNet_PyTorch
## 论文
## 模型介绍 `Deep High-Resolution Representation Learning for Human Pose Estimation`
HRNet(High-Resolution Network)是一种用于图像识别的神经网络架构,由中国香港科学与技术大学的研究团队于2019年提出。HRNet旨在解决传统神经网络在处理高分辨率图像时出现的精度损失和计算效率低下的问题。 - [https://arxiv.org/pdf/1902.09212.pdf](https://arxiv.org/pdf/1902.09212.pdf)
## 模型结构
相比于传统的卷积神经网络(CNN),HRNet采用了一种新的多尺度融合方法,使得网络可以同时保留高分辨率的细节信息和低分辨率的全局信息,从而更好地捕捉图像中的语义信息。此外,HRNet还采用了一种高效的并行计算方式,可以显著减少训练和推理的时间和计算资源成本。 HRnet模型是一种多分支的卷积神经网络结构,通过在不同分辨率的特征图之间进行信息交互和融合,实现了高效的人体姿态估计任务。
HRNet在多项图像识别任务上都取得了较好的结果,包括人体姿态估计、人脸识别、图像分割等。由于其出色的性能和效率,HRNet已经成为了深度学习领域中备受关注的研究方向之一。 ![hrnet_1](hrnet_1.jpg)
## 模型结构
## 算法原理
HRNet的模型结构主要包括四个阶段: HRnet模型通过构建多分支的卷积神经网络,在不同层级的特征图之间进行信息交互和融合,利用分层特征的高分辨率和全局上下文信息,实现了准确的人体姿态估计。
1. 基础阶段(Base Stage):该阶段采用了与传统的卷积神经网络相似的结构,包括多个卷积层和池化层,用于从原始输入图像中提取特征。 ![hrnet_2](hrnet_2.jpg)
2. 多尺度融合阶段(Multi-Scale Fusion Stage):该阶段采用了一种多分辨率的特征融合方式,将来自不同分辨率的特征图进行融合,以获得具有高分辨率细节信息和低分辨率全局信息的特征图。
3. 融合阶段(Fusion Stage):该阶段将来自多个分辨率的特征图进行融合,以得到更加丰富和准确的特征表示。
4. 分类阶段(Classification Stage):该阶段采用全局平均池化和全连接层对特征进行分类,输出最终的预测结果。 ## 环境配置
### Docker(方法一)
HRNet的模型结构具有高度的灵活性,可以根据不同的任务和数据集进行调整和优化。此外,HRNet还采用了一种并行计算方式,可以显著提高训练和推理的效率。 此处提供[光源](https://www.sourcefind.cn/#/service-details)拉取docker镜像的地址与使用步骤
```
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.10.0-centos7.6-dtk-22.10-py38-latest
## 数据集 docker run -it -v /path/your_code_data/:/path/your_code_data/ --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name docker_name imageID bash
COCO2017(Common Objects in Context)是一个广泛使用的图像识别与分割数据集,由微软研究院于2014年开始构建,目的是为图像理解和计算机视觉领域提供一个更具挑战性和多样化的数据集。 pip3 install -r requirements.txt
```
COCO2017数据集包含超过33万张图像,涵盖了80个不同类别的物体,如人、动物、交通工具、家具等,并提供了每个物体的详细注释,包括物体的边框、类别和关键点等信息。此外,COCO2017还提供了场景分类、图像标注和图像题解等多个任务的数据。 ### Dockerfile(方法二)
此处提供dockerfile的使用方法
COCO2017数据集的挑战在于其图像具有较高的复杂性和多样性,包括遮挡、变形、多姿态、多物体等情况,对图像理解和计算机视觉的算法提出了更高的要求。因此,COCO2017数据集已经成为了图像识别、物体检测、图像分割和场景理解等领域中广泛使用的基准数据集之一。 ```
cd ./docker
COCO2017数据集可以通过如下链接进行下载 docker build --no-cache -t hrnet:1.0 .
docker run -it -v /path/your_code_data/:/path/your_code_data/ --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name docker_name imageID bash
http://images.cocodataset.org/zips/train2017.zip \# 19G, 118k images
pip3 install -r requirements.txt
http://images.cocodataset.org/zips/val2017.zip \# 1G, 5k images ```
### Anaconda(方法三)
http://images.cocodataset.org/zips/test2017.zip \# 7G, 41k images (optional) 此处提供本地配置、编译的详细步骤,例如:
关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.hpccube.com/tool/)开发者社区下载安装。
```
## 训练及推理 DTK驱动:dtk22.10
python:python3.8
### 环境配置 torch:1.10
torchvision:0.10
``` mmcv-full:1.6.1+gitdebbc80.dtk2210
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.10.0-centos7.6-dtk-22.10-py38-latest ```
``` `Tips:以上dtk驱动、python、paddle等DCU相关工具版本需要严格一一对应`
安装如下三方库 此外安装如下三方库
``` ```
xtcocotools==1.13 pip3 install -r requirements.txt
json-tricks==3.16.1 ```
munkres==1.1.4
matplotlib-inline==0.1.6
chumpy==0.70
``` ## 数据集
`COCO2017`
在mmpost目录下执行
[训练数据](http://images.cocodataset.org/zips/train2017.zip)
```
pip install -e . [验证数据](http://images.cocodataset.org/zips/val2017.zip)
```
[测试数据](http://images.cocodataset.org/zips/test2017.zip)
[标签数据](https://github.com/ultralytics/yolov5/releases/download/v1.0/coco2017labels.zip)
使用数据集:coco
数据集的目录结构如下:
在mmpose目录下创建data文件夹并创建coco数据集软链接
```
``` ├── images
mkdir data │ ├── train2017
│ ├── val2017
cd data │ ├── test2017
├── labels
ln -s /path/COCO2017/ coco │ ├── train2017
``` │ ├── val2017
├── annotations
│ ├── instances_val2017.json
├── LICENSE
## 准确率数据 ├── README.txt
├── test-dev2017.txt
| 卡数 | 精度 | ├── train2017.txt
| :--: | :------------------: | ├── val2017.txt
| 4 | AP=0.6504;AR=0.7086 |
```
## 源码仓库及问题反馈
## 训练
http://developer.hpccube.com/codes/modelzoo/hrnet_pytorch.git 在mmpost目录下执行
## 参考 ```
pip3 install -e .
https://github.com/open-mmlab/mmpose/blob/master/configs/body/2d_kpt_sview_rgb_img/cid/coco/hrnet_w32_coco_512x512.py ```
\ No newline at end of file
之后在训练脚本中--cfg-options后面修改data_root值和train,val,test中ann_file的路径
### 单机多卡
```
bash train.sh
#默认为4卡,若需要调整卡数,请修改HIP_VISIBLE_DEVICES的值
```
## result
<img src="https://user-images.githubusercontent.com/15977946/173139730-32ce89a0-9a09-4f07-b39f-8e794a8b2630.gif" height="270px" alt>
### 精度
测试数据:COCO2017,使用的加速卡:Z100L。
根据测试结果情况填写表格:
| 卡数 | 准确率 |
| :------: | :------: |
| 4 | AP=0.6504;AR=0.7086 |
## 应用场景
### 算法类别
`姿态估计`
### 热点应用行业
`交通,政府,家居`
## 源码仓库及问题反馈
- [https://developer.hpccube.com/codes/modelzoo/hrnet_pytorch](https://developer.hpccube.com/codes/modelzoo/hrnet_pytorch)
## 参考资料
- https://github.com/open-mmlab/mmpose/blob/master/configs/body/2d_kpt_sview_rgb_img/cid/coco/hrnet_w32_coco_512x512.py
ARG PYTORCH="1.6.0" FROM image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.10.0-centos7.6-dtk-22.10-py38-latest
ARG CUDA="10.1" RUN source /opt/dtk/env.sh
ARG CUDNN="7" COPY requirments.txt requirments.txt
RUN pip3 install -r requirements.txt
FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel ADD https://ultralytics.com/assets/Arial.ttf /root/.config/Ultralytics/
ENV TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0+PTX"
ENV TORCH_NVCC_FLAGS="-Xfatbin -compress-all"
ENV CMAKE_PREFIX_PATH="$(dirname $(which conda))/../"
# To fix GPG key error when running apt-get update
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub
RUN apt-get update && apt-get install -y git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 libgl1-mesa-glx\
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install xtcocotools
RUN pip install cython
RUN pip install xtcocotools
# Install MMCV
RUN pip install --no-cache-dir --upgrade pip wheel setuptools
RUN pip install --no-cache-dir mmcv-full==1.3.17 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html
# Install MMPose
RUN conda clean --all
RUN git clone https://github.com/open-mmlab/mmpose.git /mmpose
WORKDIR /mmpose
RUN mkdir -p /mmpose/data
ENV FORCE_CUDA="1"
RUN pip install -r requirements/build.txt
RUN pip install --no-cache-dir -e .
hrnet_1.jpg

37.5 KB

hrnet_2.jpg

63.5 KB

# 模型编码
modelCode=172
# 模型名称 # 模型名称
modelName=HRNet_PyTorch modelName=hrnet_pytorch
# 模型描述 # 模型描述
modelDescription=HRNet(High-Resolution Network)是一种用于图像识别的神经网络架构 modelDescription=HRNet是一种新的人体姿态估计模型
# 应用场景(多个标签以英文逗号分割) # 应用场景(多个标签以英文逗号分割)
appScenario=pytorch,训练,图像识别 appScenario=训练,姿态估计,交通,政府,家居
# 框架类型(多个标签以英文逗号分割) # 框架类型(多个标签以英文逗号分割)
frameType=PyTorch frameType=PyTorch
\ No newline at end of file
-r requirements/build.txt xtcocotools==1.13
-r requirements/runtime.txt json-tricks==3.16.1
-r requirements/tests.txt munkres==1.1.4
-r requirements/optional.txt matplotlib-inline==0.1.6
chumpy==0.70
-r requirements/build.txt
-r requirements/runtime.txt
-r requirements/tests.txt
-r requirements/optional.txt
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment