Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:edge2:npu:demos:retinaface

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
products:sbc:edge2:npu:demos:retinaface [2023/08/25 04:37]
louis
products:sbc:edge2:npu:demos:retinaface [2025/04/09 23:33] (current)
louis
Line 1: Line 1:
-====== Demo5 - Retinaface ======+~~tag> NPU RetinaFace Edge2 PyTorch~~
  
-===== Get Source Code =====+====== RetinaFace PyTorch Edge2 Demo - 5 ======
  
-The codes we use.+{{indexmenu_n>5}} 
 + 
 +===== Introduction ===== 
 + 
 +RetinaFace is a face detection model. It can draw five key points on each face, including two eyes, nose and two corners of mouth. 
 + 
 +Inference results on Edge2. 
 + 
 +{{:products:sbc:edge2:npu:demos:retinaface-result.jpg?800|}} 
 + 
 +**Inference speed test**: USB camera about **39ms** per frame. MIPI camera about **33ms** per frame. 
 + 
 +===== Train Model ===== 
 + 
 +The codes we use [[gh>bubbliiiing/retinaface-pytorch]].
  
 ```shell ```shell
 git clone https://github.com/bubbliiiing/retinaface-pytorch git clone https://github.com/bubbliiiing/retinaface-pytorch
 +```
 +
 +Before training, modify ''retinaface-pytorch/utils/utils.py'' as follows.
 +
 +```diff
 +diff --git a/utils/utils.py b/utils/utils.py
 +index 87bb528..4a22f2a 100644
 +--- a/utils/utils.py
 ++++ b/utils/utils.py
 +@@ -25,5 +25,6 @@ def get_lr(optimizer):
 +         return param_group['lr']
 + 
 + def preprocess_input(image):
 +-    image -= np.array((104, 117, 123),np.float32)
 ++    image = image / 255.0
 +     return image
 ``` ```
  
Line 34: Line 64:
 ==== Get convert tool ==== ==== Get convert tool ====
  
-Download Tool from [[https://github.com/rockchip-linux/rknn-toolkit2.git|rockchip-linux/rknn-toolkit2]].+Download Tool from [[gh>rockchip-linux/rknn-toolkit2]].
  
 ```shell ```shell
Line 52: Line 82:
  
 ==== Convert ==== ==== Convert ====
- 
-Before training, modify ''retinaface-pytorch/utils/utils.py'' as follows. 
- 
-```diff 
-diff --git a/utils/utils.py b/utils/utils.py 
-index 87bb528..4a22f2a 100644 
---- a/utils/utils.py 
-+++ b/utils/utils.py 
-@@ -25,5 +25,6 @@ def get_lr(optimizer): 
-         return param_group['lr'] 
-  
- def preprocess_input(image): 
--    image -= np.array((104, 117, 123),np.float32) 
-+    image = image / 255.0 
-     return image 
-``` 
  
 After training model, we should convert pytorch model to onnx model. Create a python file written as follows and run. After training model, we should convert pytorch model to onnx model. Create a python file written as follows and run.
Line 132: Line 146:
 ==== Get source code ==== ==== Get source code ====
  
-Clone the source code form our [[https://github.com/khadas/edge2-npu|khadas/edge2-npu]].+Clone the source code from our [[gh>khadas/edge2-npu]].
  
 ```shell ```shell
Line 168: Line 182:
 $ bash build.sh $ bash build.sh
  
-# Run+# Run USB camera 
 +$ cd install/retinaface_cap 
 +$ ./retinaface_cap data/model/retinaface.rknn usb 60 
 + 
 +# Run MIPI camera
 $ cd install/retinaface_cap $ cd install/retinaface_cap
-$ ./retinaface_cap data/model/retinaface_cap.rknn 33+$ ./retinaface_cap data/model/retinaface.rknn mipi 42
 ``` ```
  
-''33'' is camera device index.+<WRAP info > 
 +''60'' and ''42'' are camera device index. 
 +</WRAP>
  
Last modified: 2023/08/25 04:37 by louis