--- license: apache-2.0 datasets: - Chris1/cityscapes language: - en metrics: - mean_iou pipeline_tag: image-segmentation tags: - Image Segmentation - Semantic Segmentation - Computer Vision - Cityscapes - HRNet - ONNX - Int8 quantization - RyzenAI --- # HRNet model trained on Cityscapes HRNet trained on Cityscapes dataset at resolution 512x1024 for semantic segmentation on images. It was introduced in the paper [Segmentation Transformer: Object-Contextual Representations for Semantic Segmentation](https://arxiv.org/pdf/1909.11065.pdf) by Yuhui Yuan et al. The code version we use from [this repository](https://github.com/HRNet/HRNet-Semantic-Segmentation). We develop a modified version that could be supported by [AMD Ryzen AI](https://ryzenai.docs.amd.com/en/latest/inst.html). ## Model description HRNet is an advanced algorithm used for image segmentation. It is based on deep learning techniques and is capable of providing accurate semantic segmentation in images. ## Intended uses & limitations You can use the raw model for semantic segmentation. See the [model hub](https://huggingface.co./models?sort=trending&search=amd%2Fhrnet) to look for all available HRNet models. ## How to use ### Installation Follow [Ryzen AI Installation](https://ryzenai.docs.amd.com/en/latest/inst.html) to prepare the environment for Ryzen AI. Run the following script to install pre-requisites for this model. ```bash pip install -r requirements.txt ``` ### Data Preparation (optional: for accuracy evaluation) 1. Download the [Cityscapes](https://www.cityscapes-dataset.com/) dataset, which includes images and annotations. Download gtFine_trainvaltest.zip (241MB) and leftImg8bit_trainvaltest.zip (11GB). 2. Organise the dataset directory as follows: ```Shell ./data/cityscapes/ gtFine leftImg8bit train.lst val.lst test.lst ``` ### Test & Evaluation - Run inference on a single image ```python python hrnet_quantized_onnx_inference.py -m HighResolutionNet_int.onnx -idir PATH_TO_IMAGES(like .\data\cityscapes\leftImg8bit\val\frankfurt) --ipu --provider_config Path\To\vaip_config.json #return segmentaion logits and can visualize the result. ``` *Note: __vaip_config.json__ is located at the setup package of Ryzen AI (refer to [Installation](#installation))* - Test accuracy of the quantized model on Cityscapes. ```Shell python hrnet_quantized_onnx_eval.py -m .\HighResolutionNet_int.onnx -r .\data\cityscapes -l .\val.lst --ipu --provider_config .\vaip_config.json ``` ### Performance | Model | miou| |:-|:-:| | HRNet_int8_onnx_model (512x1024) | 72.31% | ```bibtex @article{YuanCW19, title={Object-Contextual Representations for Semantic Segmentation}, author={Yuhui Yuan and Xilin Chen and Jingdong Wang}, booktitle={ECCV}, year={2020} } ```