102 lines
2.1 KiB
Markdown
102 lines
2.1 KiB
Markdown
cd /home/nvme/dockerdata/prove/face-clustering-rk3588
|
|
|
|
# Files e dir necessarie per far funzionare
|
|
|
|
prj_root/
|
|
├── bin/
|
|
│ └── face_scan
|
|
├── lib/
|
|
│ └── librknnrt.so
|
|
├── models/
|
|
│ ├── SCRFD_500M_KPS_640.rknn
|
|
│ └── face_recognition_sface_2021dec.rknn
|
|
└── test
|
|
└── test3f.jpg
|
|
|
|
### Copia
|
|
|
|
cd /home/nvme/dockerdata/prove/s121js || exit 1
|
|
|
|
mkdir -p bin lib models
|
|
|
|
cp -f \
|
|
/home/nvme/dockerdata/prove/face-clustering-rk3588/lib/librknnrt.so \
|
|
lib/
|
|
|
|
cp -f \
|
|
/home/nvme/dockerdata/prove/face-clustering-rk3588/models/SCRFD_500M_KPS_640.rknn \
|
|
models/
|
|
|
|
cp -f \
|
|
/home/nvme/dockerdata/prove/face-clustering-rk3588/models/face_recognition_sface_2021dec.rknn \
|
|
models/
|
|
|
|
|
|
### Compilazione
|
|
|
|
make clean
|
|
make -j"$(nproc)"
|
|
|
|
### Test delle quattro rotazioni
|
|
|
|
for rotation in 0 90 180 270; do
|
|
./bin/face_scan \
|
|
--rotation "$rotation" \
|
|
test/test3f.jpg \
|
|
> "/tmp/rotation_${rotation}.json" \
|
|
2> "/tmp/rotation_${rotation}.stderr"
|
|
|
|
status=$?
|
|
stderr_bytes=$(wc -c < "/tmp/rotation_${rotation}.stderr")
|
|
|
|
echo \
|
|
"rotation=$rotation" \
|
|
"status=$status" \
|
|
"stderr_bytes=$stderr_bytes"
|
|
done
|
|
|
|
### Verifica dimensioni, rotazione e volti
|
|
|
|
python3 - <<'PY'
|
|
import json
|
|
from pathlib import Path
|
|
|
|
for rotation in (0, 90, 180, 270):
|
|
json_path = Path(
|
|
"/tmp/rotation_"
|
|
+ str(rotation)
|
|
+ ".json"
|
|
)
|
|
|
|
data = json.loads(
|
|
json_path.read_text(encoding="utf-8")
|
|
)
|
|
|
|
image = data.get("image")
|
|
faces = data.get("faces")
|
|
|
|
if not isinstance(image, dict):
|
|
raise SystemExit(
|
|
"Campo image non valido per rotazione "
|
|
+ str(rotation)
|
|
)
|
|
|
|
if not isinstance(faces, list):
|
|
raise SystemExit(
|
|
"Campo faces non valido per rotazione "
|
|
+ str(rotation)
|
|
)
|
|
|
|
print(
|
|
"rotation:",
|
|
rotation,
|
|
"size:",
|
|
str(image.get("width"))
|
|
+ "x"
|
|
+ str(image.get("height")),
|
|
"json_rotation:",
|
|
image.get("rotation"),
|
|
"faces:",
|
|
len(faces),
|
|
)
|
|
PY
|