69 lines
1.6 KiB
Markdown
69 lines
1.6 KiB
Markdown
s121js/
|
|
├── bin/
|
|
│ └── face_scan
|
|
├── lib/
|
|
│ └── librknnrt.so
|
|
├── models/
|
|
│ ├── SCRFD_500M_KPS_640.rknn
|
|
│ └── face_recognition_sface_2021dec.rknn
|
|
├── api_v1/
|
|
│ └── scanner/
|
|
│ └── faceScanner.js
|
|
├── db/
|
|
├── tools/
|
|
│ └── scanPhotoFaces.js
|
|
└── public/
|
|
|
|
|
|
cd /home/nvme/dockerdata/prove/s122js
|
|
|
|
node tools/scanPhotoFaces.js \
|
|
e30a1427708cfc8d63a66d369781b15ac6a07b43e13550b1a7625003914503ed
|
|
|
|
node tools/scanPhotoFaces.js \
|
|
2454c04dd9067d2b5288dcca99c5c3eac85660779a97d6165a08ca7c37481070
|
|
|
|
sqlite3 -header -column \
|
|
api_v1/database.sqlite \
|
|
"
|
|
SELECT
|
|
photo_id,
|
|
COUNT(*) AS face_count,
|
|
COUNT(DISTINCT face_index) AS unique_face_indexes,
|
|
MIN(length(embedding)) AS min_embedding_bytes,
|
|
MAX(length(embedding)) AS max_embedding_bytes
|
|
FROM faces
|
|
WHERE photo_id =
|
|
'e30a1427708cfc8d63a66d369781b15ac6a07b43e13550b1a7625003914503ed'
|
|
GROUP BY photo_id;
|
|
"
|
|
|
|
[✓] FaceEngine riutilizzabile
|
|
[✓] face_scan JSON
|
|
[✓] eseguibile relocabile
|
|
[✓] runtime RKNN relativo
|
|
[✓] modelli relativi
|
|
[✓] root server calcolata automaticamente
|
|
[✓] conversione embedding in BLOB
|
|
[✓] inserimento transazionale
|
|
[✓] idempotenza
|
|
[✓] rotazione 0/90/180/270
|
|
[✓] validazione rotazione server/motore
|
|
[✓] test positivo con due volti
|
|
[✓] gestione corretta di zero volti
|
|
|
|
photos.rotation
|
|
↓
|
|
validazione Node.js
|
|
↓
|
|
face_scan --rotation 0|90|180|270
|
|
↓
|
|
rotazione RGB
|
|
↓
|
|
SCRFD + SFace
|
|
↓
|
|
validazione JSON e rotazione applicata
|
|
↓
|
|
transazione SQLite
|
|
↓
|
|
faces.embedding = BLOB float32[128]
|