Keep the dense landmarks behind each eye reading, packed
The 106 points the eye boxes were cut from, stored beside the reading as 16-bit fixed point over the frame: 424 bytes a face, a seventh of a pixel on a 6000-pixel frame, where f16 at the same size would have been six. Derived data like the embedding, kept for the same reason — it cost a fetch and a model run, and the next per-face pass should run from the catalog. Shards carry it; a peer's shard from before it is still read.
This commit is contained in:
+13
-2
@@ -1435,6 +1435,16 @@ Two things no sample so far can say. None holds more than one real blink, so the
|
||||
sunglasses misses is a narrowed or shut eye rather than a wrong one, but that is a reading of a
|
||||
contact sheet, not a number. And the floors were set on a few dozen faces. Both are M11.
|
||||
|
||||
### 17.4a What is kept per face
|
||||
|
||||
The box, the five landmarks, `crop_px`, the embedding and the crop were already there. The eye
|
||||
pass adds the seven numbers of §17.3 and the **106 dense landmarks** it read the eye boxes from,
|
||||
packed as 16-bit fixed point over the frame — 424 bytes a face, a seventh of a pixel on a
|
||||
6000-pixel frame (`dr_face::Landmarks::to_packed_bytes`, schema V18). Kept for the reason the
|
||||
embedding is kept: it cost a fetch of the original and a model run, and the next per-face pass —
|
||||
head pose, expression, whatever FR-CULL-8a grows — should run from the catalog. `f16` would have
|
||||
been the same size and worse: three figures near 1.0 is six pixels at that scale.
|
||||
|
||||
### 17.5 The measuring pass, and shards
|
||||
|
||||
A face indexed before the models existed, or on a device without them, has no reading. The sweep's
|
||||
@@ -1444,8 +1454,9 @@ box and landmarks already stored (`dr_ui::faces::measure_native`). No detector r
|
||||
moves. A device *without* the models does not list them, or it would fetch every original in the
|
||||
library to do nothing to it; `dr_catalog::faces::unmeasured_sql` is the one predicate both the
|
||||
count and the work list use, so the pass converges. The People screen's coverage line counts
|
||||
these faces as work to measure and keeps the Index button while any remain, or an already-indexed
|
||||
library could never have its readings filled in.
|
||||
these faces as work to read and keeps the button while any remain — reading **Read eye state**
|
||||
once detection is complete and only readings are left, which is the state an already-indexed
|
||||
library is in the day the models arrive.
|
||||
|
||||
Shards carry the seven columns beside `quality`. A peer's faces without a reading are **adopted**,
|
||||
unlike a peer's faces without a quality (§14): the measuring pass finds this work by the NULL and
|
||||
|
||||
Reference in New Issue
Block a user