File size: 2,841 Bytes
1117547
 
f701437
1117547
 
 
 
 
 
 
 
 
 
 
 
 
 
9df1736
1117547
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9d6c5f3
 
1117547
f9805ff
 
 
1117547
 
 
 
 
 
 
 
9df1736
 
6781439
9d6c5f3
 
 
 
 
9df1736
6781439
1117547
 
 
9d6c5f3
1117547
9d6c5f3
1117547
 
 
 
 
 
 
 
 
9d6c5f3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1117547
9d6c5f3
1117547
 
f701437
9d6c5f3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
---
license: mit
pipeline_tag: image-to-image
---

# CodeFormer

This version of CoderFormer has been converted to run on the Axera NPU using **w8a16** quantization.

This model has been optimized with the following LoRA: 

Compatible with Pulsar2 version: 5.0-patch1

## Convert tools links:

For those who are interested in model conversion, you can try to export axmodel through 

- [The repo of AXera Platform](https://github.com/AXERA-TECH/CodeFormer.axera), which you can get the detail of guide

- [Pulsar2 Link, How to Convert ONNX to axmodel](https://pulsar2-docs.readthedocs.io/en/latest/pulsar2/introduction.html) 


## Support Platform

- AX650
  - [M4N-Dock(爱芯派Pro)](https://wiki.sipeed.com/hardware/zh/maixIV/m4ndock/m4ndock.html)
  - [M.2 Accelerator card](https://axcl-docs.readthedocs.io/zh-cn/latest/doc_guide_hardware.html)
  
|Chips|model|cost|
|--|--|--|
|AX650|coderformer|408 ms|

## How to use

Download all files from this repository to the device

```

root@ax650:~/coderformer# tree
.
|-- model
|   `-- coderformer.axmodel
|   `-- yolov5l-face.axmodel
|   `-- realesrgan-x2.axmodel
|-- python
|   `-- run_axmodel.py
|   `-- run_whole_image.py
|   `-- requirements.txt



```

### Inference

Input Data:

```
|-- images
|   -- face
|      `-- 00_00.png
|   -- image
|      `-- 02.png

```


#### Inference with AX650 Host, such as M4N-Dock(爱芯派Pro)

运行人脸修复demo(需输入人脸图片)
```
root@ax650 ~/codeformer #python3 run_axmodel.py --inputs_path ./images/face --model_path ./coderformer.axmodel

[INFO] Available providers:  ['AxEngineExecutionProvider']
[INFO] Using provider: AxEngineExecutionProvider
[INFO] Chip type: ChipType.MC50
[INFO] VNPU type: VNPUType.DISABLED
[INFO] Engine version: 2.12.0s
[INFO] Model type: 2 (triple core)
[INFO] Compiler version: 5.0-patch1 681a0b38
SR image save to `00_00.png`
```

Output:
![Example Image](images/result_0.png)

运行整图修复demo(输入正常图片即可)
```
root@ax650 ~/codeformer #python3 run_whole_image.py --input_path ./images/image --detect_model ./yolov5l-face.axmodel --restore_model codeformer.axmodel --bg_model realesrgan-x2.axmodel


[INFO] Available providers:  ['AxEngineExecutionProvider']
[INFO] Using provider: AxEngineExecutionProvider
[INFO] Chip type: ChipType.MC50
[INFO] VNPU type: VNPUType.DISABLED
[INFO] Engine version: 2.12.0s
[INFO] Model type: 2 (triple core)
[INFO] Compiler version: 5.0-patch1 6d9cc640
[INFO] Using provider: AxEngineExecutionProvider
[INFO] Model type: 2 (triple core)
[INFO] Compiler version: 5.0-patch1 681a0b38
[INFO] Using provider: AxEngineExecutionProvider
[INFO] Model type: 2 (triple core)
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty
[1/1] Processing: 02.png
        detect 4 faces

SR image save to `02.png`
```

Output:
![Example Image](images/result_1.png)