Commit graph

126 commits

Author SHA1 Message Date
laurenspriem
e9064f6904 [mob][photos] Correct cluster progress counter 2024-05-24 16:29:00 +05:30
laurenspriem
0fdb58eda1 [mob][photos] Force clustering first if too many unclustered faces 2024-05-24 12:30:22 +05:30
laurenspriem
cc91cb8012 [mob][photos] Correct mistake 2024-05-24 11:16:40 +05:30
laurenspriem
edf9f743f4 [mob][photos] Prefer using getFileIdFromFaceId 2024-05-24 10:27:16 +05:30
laurenspriem
86f96a5713 [mob][photos] Show intermediate clustering results 2024-05-24 10:19:24 +05:30
laurenspriem
c3fb472287 [mob][photos] Fix clustering progress number 2024-05-24 10:18:17 +05:30
laurenspriem
d235ff1035 [mob][photos] Inline 2024-05-21 16:53:52 +05:30
laurenspriem
ee5be7f339 [mob][photos] Make sure faces tables are initialized 2024-05-21 16:43:55 +05:30
laurenspriem
1b46e159da [mob][photos] Put x and y instead of xMin and yMin in embeddingsJSON 2024-05-21 14:03:19 +05:30
laurenspriem
76848c826e [mob][photos] Change embeddings server structure 2024-05-20 14:18:34 +05:30
laurenspriem
1299e12d92 [mob][photos] Cleanup face debug options 2024-05-17 11:27:42 +05:30
laurenspriem
a8da045a32 [mob][photos] Inline 2024-05-17 10:33:19 +05:30
laurenspriem
345eed5209 [mob][photos] Remove old TODOs 2024-05-17 10:17:01 +05:30
laurenspriem
725e628537 [mob][photos] Show clustering progress 2024-05-17 10:09:27 +05:30
laurenspriem
7f358c4bff [mob][photos] Better db query 2024-05-16 16:36:32 +05:30
laurenspriem
cdf3d0e037 [mob][photos] Automatic clustering after indexing 2024-05-15 13:31:12 +05:30
Neeraj Gupta
c906480dee [mob] Handle missing fileIDs during clustering 2024-05-10 13:25:22 +05:30
Neeraj Gupta
7623e69de3 [mob] Return list instead of set 2024-05-10 13:07:24 +05:30
laurenspriem
54e1198088 [mob][photos] Delete old cluster summary for removed clusters 2024-05-09 15:44:21 +05:30
laurenspriem
dc5a8ebd44 [mob][photos] More robust automatic merges 2024-05-07 13:38:55 +05:30
laurenspriem
68be7f69d8 [mob][photos] Don't drop cluster summaries when dropping feedback 2024-05-07 11:22:44 +05:30
laurenspriem
ade70f40a9 [mob][photos] Use separate isIgnored getter instead of isHidden 2024-05-03 17:25:30 +05:30
Neeraj Gupta
ca3172c33e [mobile] Add method to reconsile mappings 2024-05-02 07:04:31 +05:30
Neeraj Gupta
f80f7a03e1 [mob] Fix query 2024-04-30 16:11:51 +05:30
laurenspriem
aad1327705 [mob][photos] Small cleanup 2024-04-29 15:29:00 +05:30
laurenspriem
8058c6b621 [mob][photos] Remove unnecessary write transactions 2024-04-29 15:20:01 +05:30
laurenspriem
d03d8d564d [mob][photos] Fix DB issue 2024-04-29 15:13:51 +05:30
laurenspriem
87571159cc [mob][photos] Fix faces db conflict 2024-04-27 14:30:34 +05:30
laurenspriem
a2023bd457 [mob][photos] Fix database issue 2024-04-27 13:38:34 +05:30
laurenspriem
6235f7ee78 [mob][photos] Move FaceBoxImage to face_util 2024-04-27 12:19:29 +05:30
Laurens Priem
9eeab36392
[mob][photos] Generate face crops faster (#1542)
## Description

Have written two new methods, `generateImgFaceThumbnails()` and
`generateJpgFaceThumbnails()`.
Using `generateJpgFaceThumbnails()` now since it returns
`Future<List<Uint8List>>` and is easier to integrate within the code
base because the return type remains the same with the older
`generateFaceThumbnailsForImage()`

There is performance improvement with `generateImgFaceThumbnails()`, but
it's not very significant and it requires changes in codebase to work
with it's return type `Future<List<Image>>` (`Image` from the `Image`
package). Can consider using it if it feels necessary in future.

If multiple faces are being generated from the same image, the image can
be decoded once and passed to `generateImgFaceThumbnails()` or
`generateJpgFaceThumbnails()` to avoid repeated decoding of the same
image.

`generateImgFaceThumbnails()` and `generateJpgFaceThumbnails()` uses the
isolates available from the pool of 4 spawned by `Computer` and
processes multiple faces in parallel unlike
`generateImgFaceThumbnails()`, which processes only one at a time.
2024-04-27 12:05:32 +05:30
laurenspriem
f422e30a8e [mob][photos] Migrate fully to sqlite async for faces, removing sqflite fully 2024-04-27 11:13:52 +05:30
ashilkn
58cd9350c0 Merge branch 'mobile_face' into fix_face_thumbnail 2024-04-27 11:10:10 +05:30
ashilkn
8b236cde09 [mob][photos] When cropping a face from an image, make the image a square and add some buffer around it 2024-04-27 09:59:16 +05:30
laurenspriem
811ffe0117 [mob][photos] Create new cluster when tapping unassigned face 2024-04-26 14:13:00 +05:30
laurenspriem
43f01c31da [mob][photos] Prevent sqlite disk corruption issue 2024-04-26 12:58:27 +05:30
laurenspriem
b2a2078045 [mob][photos] Moving more methods to sqlite async 2024-04-25 17:06:40 +05:30
laurenspriem
7fd5ffc0e6 [mob][photos] Forgot method 2024-04-25 16:14:16 +05:30
laurenspriem
7370557b08 [mob][photos] More use of sqlite async 2024-04-25 15:41:26 +05:30
laurenspriem
d429efaf14 [mob][photos] Trailing commas 2024-04-25 12:19:19 +05:30
laurenspriem
c80208e754 [mob][photos] Fix in sorting suggestions 2024-04-24 09:53:42 +05:30
laurenspriem
7097ce3cf4 [mob][photos] Faster DB call when sorting suggestions 2024-04-24 09:06:20 +05:30
laurenspriem
f49ede4a74 [mob][photos] Small fix in detecting sideways faces 2024-04-22 18:07:50 +05:30
laurenspriem
a0502886b6 [mob] Minimum size argument for getting all cluster summaries 2024-04-20 13:26:47 +05:30
laurenspriem
01aecb9742 [mob] store sideways face boolean in local face table 2024-04-19 18:13:35 +05:30
laurenspriem
a0fa90cb50 [mob] Remove faceArea and faceVisibility from local DB 2024-04-19 16:43:41 +05:30
laurenspriem
f3f85e81ca [mob] Rename constant 2024-04-19 15:08:10 +05:30
laurenspriem
ecc1bc9980 [mob] Use more conservative cluster threshold for sideways faces 2024-04-19 14:58:52 +05:30
laurenspriem
2b88daa15f [mob] Method for detecting sideways faces 2024-04-19 14:00:15 +05:30
laurenspriem
e20f13f02b [mob] Re-cluster when removing file from person/cluster 2024-04-18 17:57:14 +05:30