Commit graph

752 commits

Author SHA1 Message Date
Michael Mayer 6c555457a0 People: Improve face thumbnail selection #22 2021-09-19 15:59:29 +02:00
Michael Mayer 1f92f294dd People: Normalize names #22 2021-09-19 13:35:44 +02:00
Michael Mayer f7cc61edbc People: Shorten names in titles #22 2021-09-18 21:40:57 +02:00
Michael Mayer e82533cdf0 People: Add unknown faces overview page #22 2021-09-18 20:41:30 +02:00
Michael Mayer ed22f245db People: Add faces API endpoint & JS model #22 2021-09-18 15:32:39 +02:00
Michael Mayer 8492efebcf People: Improve face thumbnails on overview page #22 2021-09-17 18:51:24 +02:00
Michael Mayer 6bcfb29fa2 Labels: Show photo count #584 #1444 2021-09-17 16:13:47 +02:00
Michael Mayer 79961ec11b MySQL: Fix compatibility issues #22 #1519 2021-09-17 14:39:08 +02:00
Michael Mayer ece15c6ade People: Add overview page with search and context menu #22 2021-09-17 14:26:12 +02:00
Michael Mayer deaca4b588 Backend: Fix typo in comment 2021-09-06 14:39:30 +02:00
Michael Mayer 24107eef82 People: Remove deprecated development database tables #22 2021-09-06 14:32:31 +02:00
Michael Mayer 92748180c1 Calendar: Improve hiding empty months #1456 2021-09-06 11:19:18 +02:00
Michael Mayer fb10bda98f People: Limit sample radius to reduce false positives #22 2021-09-06 05:25:20 +02:00
Michael Mayer aae4997da1 People: Avoid adding duplicates faces #22 2021-09-06 05:13:53 +02:00
Michael Mayer b853317cdf People: Tweak face clustering parameters #22 2021-09-06 03:24:11 +02:00
Michael Mayer 527a3ff015 People: Refresh photo metadata after faces got identified #22 2021-09-06 01:16:36 +02:00
Michael Mayer 0ebff285e5 People: Refresh photo metadata when subjects change #22 2021-09-06 00:52:10 +02:00
Michael Mayer bd8f8b1ddb People: Remove review flag from markers with recognized faces #22 2021-09-05 21:34:51 +02:00
Michael Mayer 6d1179dc03 People: Refactor face cropping #22 2021-09-05 17:10:52 +02:00
Michael Mayer 6f5e839e2f People: Move crop package to internal #22 2021-09-05 11:05:33 +02:00
Michael Mayer 2bde7e5696 Panoramas: Increase projection type string limit to 32 characters #1508 2021-09-03 19:02:26 +02:00
Michael Mayer 34c8f9d7b1 People: Implement crop thumbnail API #22 2021-09-03 17:42:37 +02:00
Michael Mayer 57b79f983a People: Upgrade temp dev table names #22 2021-09-03 16:26:01 +02:00
Michael Mayer c520cb4ee4 People: Add autocomplete for selecting a person #22 2021-09-03 16:14:09 +02:00
Michael Mayer 02932c3758 People: Change field order in marker_json.go #22 2021-09-02 23:50:39 +02:00
Michael Mayer c179a790b8 People: Improve face crop caching #22 2021-09-02 23:47:37 +02:00
theresa c61a0f7d0e Tests: Add unit tests 2021-09-02 17:44:27 +02:00
theresa 157823e65d Tests: Update fixtures 2021-09-02 17:43:46 +02:00
Michael Mayer 97af133763 People: Add subjects API #22 2021-09-02 16:12:31 +02:00
Michael Mayer 5f07b8bb10 Config: Refactor client data types 2021-09-02 14:45:26 +02:00
Michael Mayer 9acd4a25b9 People: Generate photo titles from subject names #22 2021-09-02 14:23:40 +02:00
Michael Mayer 1be409d654 People: Add SubjectNames() to file entity #22 2021-09-02 11:12:42 +02:00
Michael Mayer e923391427 People: Improve collision handling and subject renaming #22 2021-09-01 21:16:08 +02:00
Michael Mayer 69014e8216 People: Switch to UIDs for marker API and entity #22 2021-09-01 20:46:15 +02:00
theresa 995b87373c Tests: Refactor tests to prevent nil pointer 2021-09-01 14:05:15 +02:00
Michael Mayer fd785faf68 People: Automatically resolve face cluster collisions #22 2021-09-01 12:48:17 +02:00
Michael Mayer a2ff0477c9 People: Fix face cluster optimization #22 2021-08-31 20:08:53 +02:00
Michael Mayer 86f8bf58a7 People: Improve MergeFaces() resilience and logging #22 2021-08-31 15:33:42 +02:00
theresa 6b10ae5511 People: Add unit tests #22 2021-08-31 14:59:53 +02:00
Michael Mayer bc3036599b People: Refactor album, subject, and label previews #22 2021-08-30 18:58:27 +02:00
theresa 052ff011ac People: Add unit tests #22 2021-08-30 17:20:39 +02:00
theresa 1e33ce9e17 People: Add unit tests #22 2021-08-30 15:34:41 +02:00
theresa 5e88c386b6 People: Add unit tests #22 2021-08-30 14:58:37 +02:00
theresa fb5cf1b9c0 People: Add unit tests #22 2021-08-30 13:40:14 +02:00
theresa 6187525f07 People: Add fixtures #22 2021-08-30 13:39:53 +02:00
Michael Mayer 11d1034752 People: Add keywords, subjects, and albums search filters #22 #882 2021-08-29 16:16:49 +02:00
Michael Mayer a0f49f2d56 People: Sync subject name with markers table #22 2021-08-29 13:42:34 +02:00
Michael Mayer d198a056a7 People: Improve face matching performance and accuracy #22
By default, matching is now limited to unmatched faces and markers.
2021-08-29 13:26:05 +02:00
Michael Mayer 0503011f87 People: Add "faces audit" command #22 2021-08-28 15:26:26 +02:00
Michael Mayer 327cd20a50 Run "make fmt" 2021-08-28 13:55:37 +02:00
theresa 630a599955 People: Add unit tests #22 2021-08-27 16:21:10 +02:00
theresa 64ad674f5f Tests: Add user fixtures and unit test 2021-08-27 15:33:33 +02:00
theresa 3bdabdedef People: Add fixtures unit tests #22 2021-08-27 15:33:06 +02:00
theresa 49ad7bb64a People: Add unit tests #22 2021-08-27 09:53:47 +02:00
theresa af83a51496 Tests: Add unit tests 2021-08-26 18:02:53 +02:00
theresa d0d62f470a Tests: Add unit tests 2021-08-26 17:26:48 +02:00
theresa cfa105d3d6 Tests: Add file fixture 2021-08-26 17:24:48 +02:00
theresa a2671b3428 People: Add unit tests #22 2021-08-26 16:31:05 +02:00
theresa 29be2cca27 People: Throw correct error in ReportCollision when embedding is empty #22 2021-08-26 16:00:11 +02:00
theresa 1761e139de People: Add unit tests #22 2021-08-26 15:51:21 +02:00
theresa 3a601f3953 People: Add unit tests #22 2021-08-26 11:58:52 +02:00
theresa 01742c13ea People: Add face + subject fixtures #22 2021-08-26 11:58:28 +02:00
theresa c51452a90a People: Add unit tests #22 2021-08-25 17:54:06 +02:00
theresa c99059567a People: Skip midpoint calculation if dimensions don't match #22 2021-08-25 17:53:45 +02:00
theresa 7a90c0209e Tests: Add tests for internal/entity 2021-08-25 15:29:00 +02:00
Michael Mayer 06835a3c5c People: Optimize face clustering and matching #22 2021-08-24 20:15:36 +02:00
Timo Volkmann e71c398b1e Auth: Set role admin on user creation #98 2021-08-24 18:17:03 +02:00
Michael Mayer 3fc7b1b523 People: Match faces less often by default #22 2021-08-24 15:20:05 +02:00
Michael Mayer 03cdc8bb7d People: Improve edit UI and stability #22 2021-08-24 14:27:34 +02:00
theresa 9238d569e4 Tests: Update fixtures 2021-08-23 17:20:03 +02:00
Michael Mayer fefe70f9a4 People: Improve face clustering and matching #22 2021-08-23 16:22:01 +02:00
Timo Volkmann 5442c04c75 Auth: Add user delete Tests #98 2021-08-23 11:52:37 +02:00
Michael Mayer 981c51f977 People: Optimize manually clustered faces #22 2021-08-22 21:06:44 +02:00
Michael Mayer 2e85b3cccd People: Split facial recognition into smaller functions #22
Clustering and matching have been improved along the way. This opens
the door for further optimizations while keeping the code readable.
2021-08-22 16:14:34 +02:00
Michael Mayer acde5c2dae People: Reset related fields when clearing marker subject #22 2021-08-21 17:11:02 +02:00
Michael Mayer d88d9b3781 People: Add API endpoint for removing marker subject associations #22 2021-08-21 16:36:00 +02:00
Michael Mayer fa8e02b430 Auth: Refactor user management commands #98 2021-08-20 00:10:26 +02:00
Michael Mayer 5cec098524 People: Improve face matching #22 2021-08-19 23:12:51 +02:00
Michael Mayer 885024d592 People: Improve face clustering and indexing #22 2021-08-19 21:12:38 +02:00
Michael Mayer 29a65dbaab People: Fork clusters library with fixed dbscan implementation #1478 2021-08-19 14:24:30 +02:00
Michael Mayer 6911c9f78b People: Change unknown face id #22 2021-08-19 11:36:45 +02:00
Timo Volkmann da7e4fbc97 Auth: Refactor user entity functions #98 2021-08-18 20:18:39 +02:00
Michael Mayer 6a450c463e People: Add PhotoUID to Subject entity #22 2021-08-18 11:33:23 +02:00
Michael Mayer db95ceba65 People: Add threshold option for faces worker #22 2021-08-17 22:49:32 +02:00
theresa e8d07e070c Tests: Update fixtures 2021-08-17 17:26:47 +02:00
theresa b2fe042cf3 Tests: Update file fixtures 2021-08-17 17:26:47 +02:00
theresa e27d363c3e Tests: Update photo fixtures 2021-08-17 17:26:47 +02:00
Timo Volkmann 19e9c7560e Auth: Add user entity functions and tests #98 2021-08-16 20:51:55 +02:00
theresa 35869c6620 Tests: Adapt tests to fixture updates 2021-08-16 18:19:23 +02:00
theresa 2a02bf74e8 Tests: Update file fixtures 2021-08-16 18:18:55 +02:00
theresa cb427cf5d5 Tests: Update photo fixtures 2021-08-16 18:18:37 +02:00
theresa 41f0e08ba6 Tests: Adapt tests to updated fixtures 2021-08-16 17:15:06 +02:00
theresa 8895f95841 Tests: Update file fixtures 2021-08-16 17:14:37 +02:00
theresa 6c86800d97 Tests: Update photo fixtures 2021-08-16 17:14:18 +02:00
theresa b877c14ada Tests: Adapt tests to fixture updates 2021-08-16 15:19:10 +02:00
theresa 2f674c5bb7 Tests: Update places fixtures 2021-08-16 15:18:30 +02:00
theresa 49c40b9d9a Tests: Update file fixtures 2021-08-16 15:18:06 +02:00
theresa 0deba0d4c7 Tests: Update photo fixtures 2021-08-16 15:17:43 +02:00
Michael Mayer 003982afe0 People: Remove face embeddings and landmarks from JSON response #22
Improves performance by reducing response size.
2021-08-16 01:45:36 +02:00
Michael Mayer da94e9ed0f People: Refactor faces worker and related entities #22 2021-08-16 00:29:36 +02:00
Michael Mayer 39856657d5 People: Refactor faces worker and related entities #22 2021-08-15 20:57:26 +02:00
Michael Mayer b7d9557f67 People: Automatically update faces and people on user input #22 2021-08-14 21:37:57 +02:00
Michael Mayer 41cc0c596d People: Match markers with known faces and people #22 2021-08-14 20:48:38 +02:00
Michael Mayer 57c5f1f2fb People: Match known faces in one go #22
This commit also adds additional test fixtures.
2021-08-14 18:13:03 +02:00
Michael Mayer b6b38b54bb People: Move detectFaces() to index_faces.go #22 2021-08-14 16:01:44 +02:00
Michael Mayer 9057e39fb2 People: Add sample threshold to faces worker #22 2021-08-14 15:45:51 +02:00
Michael Mayer 45355c7303 People: Update entity database table names #22
Work in progress.
2021-08-13 20:31:41 +02:00
Timo Volkmann 754a48c8d5 Auth: adapt tests for recent changes 2021-08-12 20:33:14 +02:00
Timo Volkmann 7f90e3615b Auth: Add tests for finding users by uid #98 2021-08-12 20:33:14 +02:00
Michael Mayer e78c4df22e People: Create person based on existing marker labels #22
Work in progress.
2021-08-12 17:49:48 +02:00
Michael Mayer d767e50b37 People: Improve face clustering #22
Work in progress.
2021-08-12 12:05:10 +02:00
Michael Mayer 1fc4ef123b People: Add face clustering worker #22
Work in progress. No performance optimizations yet.
2021-08-12 04:54:20 +02:00
Michael Mayer 733b84a03b People: Add person entity and people count #22 2021-08-11 21:42:31 +02:00
Michael Mayer 2b0e266b16 People: Multiple embeddings per face crop #22 2021-08-11 13:21:22 +02:00
Timo Volkmann e5b1b7b5f6 Auth: Add user and password fixtures #98 2021-08-10 12:30:04 +02:00
theresa 9263895408 Tests: Adapt tests to fixture changes 2021-08-05 12:33:52 +02:00
theresa c13af0408d Tests: Update photo fixtures 2021-08-05 12:33:02 +02:00
theresa a0cb73bd12 Tests: Update photo fixtures 2021-08-05 10:30:08 +02:00
theresa c0cd45afe8 Tests: Update photo fixtures 2021-08-04 18:43:39 +02:00
theresa a5152bad4d Tests: Adapt tests for internal/entity to fixture updates 2021-08-04 17:09:36 +02:00
theresa c241faf248 Tests: Update file fixtures 2021-08-04 17:08:26 +02:00
Michael Mayer 0c42ded320 Tests: Reformat link_fixtures.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2021-07-25 23:48:34 +02:00
theresa 09c51c8db6 Tests: Update test fixtures 2021-07-23 13:25:28 +02:00
theresa ca390351d8 Tests: Update fixtures 2021-07-22 18:31:56 +02:00
theresa de1eee18bf Tests: Update fixtures 2021-07-22 15:05:23 +02:00
theresa dcebf32c2c Tests: Adapt tests to fixture changes 2021-07-22 13:53:28 +02:00
theresa 830fba9d0b Tests: Update test fixtures 2021-07-22 13:53:28 +02:00
Michael Mayer bc86997ba3 Backend: Replace gopkg.in/ugjka/go-tz with gopkg.in/photoprism/go-tz
Original package was archived and not maintained anymore.
2021-07-17 15:21:03 +02:00
Michael Mayer 2d9918e72b People: Store detected face embeddings in markers table #22 #1406 2021-07-16 14:34:05 +02:00
Michael Mayer c87d5da2e3 Config: Add CDN URL option #425 #1351 2021-07-05 16:41:43 +02:00
Michael Mayer 1a78bc7052 Tests: Code clean-up 2021-06-28 12:45:00 +02:00
theresa 1a90f4a454 Tests: Add tests for internal/entity 2021-06-23 15:34:19 +02:00
Michael Mayer 49fd531420 People: Implement marker update API #22 2021-06-02 17:25:04 +02:00
Michael Mayer e29e9977a9 UI: Add people tab to photo edit dialog #22
Work in progress. Buttons don't work yet.
2021-06-01 17:39:03 +02:00
Michael Mayer 11b4fbd5a0 People: Refactor face marker indexing #22 2021-05-31 15:40:52 +02:00
Michael Mayer 64d45c6dab People: Save face markers #22 2021-05-26 14:41:59 +02:00
Michael Mayer 5ecba4926a People: Show number of faces in edit dialog #22 2021-05-26 09:51:00 +02:00
Michael Mayer a6bf89d104 People: Detect number of faces (experimental) #22 2021-05-25 18:01:21 +02:00
Michael Mayer 27b14087e2 People: Add "people" search filter #22 2021-05-25 11:55:44 +02:00
Michael Mayer 07d1a74be8 People: Add PhotoPeople property to Photo struct #22 2021-05-25 11:39:22 +02:00
Michael Mayer c2a8098b6c People: Add Marker entity #22 2021-05-25 11:38:04 +02:00
Michael Mayer e10118a65f Metadata: Merge keywords if priority is the same #1153
Also reduces length limit for latin words to 2 letters.
2021-05-04 15:02:54 +02:00
Michael Mayer 630de81c9f Metadata: Don't remove stopwords from existing keywords #1153 2021-05-01 11:06:51 +02:00
Michael Mayer 7de3713024 Backup: Improve command flags and usage docs #1190 #1193 2021-04-19 13:48:46 +02:00
theresa c0d5da40e1 Tests: Add tests for internal/api 2021-03-10 15:52:38 +01:00
theresa b2eee0d34d Tests: Add test fixtures 2021-03-10 11:30:09 +01:00
theresa 3f68c2f6e4 Tests: Add tests for internal/query 2021-03-03 11:49:32 +01:00
theresa 539562368e Tests: Add tests for internal/entity 2021-02-25 15:42:20 +01:00
theresa bd8b5d9954 Tests: Add tests for internal/entity 2021-02-25 15:17:47 +01:00
theresa c7a9c437ad Tests: Add tests for internal/entity 2021-02-24 18:10:15 +01:00
theresa 6c4c07f064 Tests: Add tests for internal/entity 2021-02-24 15:31:10 +01:00
theresa 7714ab893b Tests: Add tests for internal/entity 2021-02-24 11:38:28 +01:00
Michael Mayer d42eb4e01b Classify: Improve moments & location labels 2021-02-21 17:18:36 +01:00
Michael Mayer f986f21f47 Metadata: Remove estimate when setting a new country #1018 2021-02-11 19:48:33 +01:00
Michael Mayer 9b43e96659 Index: Improve log messages #1010 2021-02-08 08:19:30 +01:00
Michael Mayer b09edde419 Index: Improve log messages #1010 2021-02-08 08:09:23 +01:00
Michael Mayer 568685f991 Index: Improve query for photos with missing primaries #1010 2021-02-08 07:39:29 +01:00
Michael Mayer c7753b87ff Library: Show folder covers in Originals #1011 2021-02-07 19:04:17 +01:00
Michael Mayer 1bfb2e1774 Index: Improve save / update functions, remove orphans 2021-02-06 16:30:30 +01:00
Michael Mayer ee555e8f6a Upload: Add duplicates to selected album(s) as well #991 2021-02-05 21:12:40 +01:00
Michael Mayer 2a96c019f4 Metadata: Update camera model map 2021-02-05 19:48:53 +01:00
Michael Mayer 128cdf4bac Backend: Fix typo in photo entity 2021-02-05 19:18:33 +01:00
Krassimir Valev c27e809308
Additional photo location unit tests (#918) 2021-02-05 18:32:32 +01:00
Michael Mayer 63ba28426e Navigation: Update counts when saving a photo #996 2021-02-05 18:22:52 +01:00
Michael Mayer bf592bdf7c Backup: Restore archive flag from yaml files #912 2021-02-05 16:32:08 +01:00
Michael Mayer a99c6978d2 Metadata: Update camera make map 2021-02-05 09:12:13 +01:00
Michael Mayer b55c06dca1 Metadata: Rename SetTimeZone to UpdateTimeZone #930 2021-01-27 23:39:46 +01:00
Michael Mayer 480b186b3c Metadata: Ignore UTC time zone estimates #930 2021-01-27 23:31:13 +01:00
Michael Mayer 28e2e85d48 Metadata: Apply time zone estimate if date was not set manually #930 2021-01-27 22:47:37 +01:00
Michael Mayer 993e7466fa Download all related files using their existing name by default #449
Related issues:
- Configure download name for files and albums #848
- When downloading live photos, zip all the associated files #437
2021-01-27 21:30:10 +01:00
Michael Mayer 40ccb29313 Metadata: Improve date extraction for mod time and file names #930 2021-01-27 15:21:54 +01:00
Michael Mayer e175251783 Metadata: Remove time zone if taken date is from file name #930 2021-01-27 12:36:23 +01:00
Michael Mayer 2d0ba9c60e Backend: Add "OLYMPUS CORPORATION" to camera.go 2021-01-27 12:00:02 +01:00
Michael Mayer 52532c4579 Metadata: Improve handling of time zones and estimates #930 2021-01-26 19:18:37 +01:00
Michael Mayer 05b417acfa Metadata: Apply existing time zone when changing TakenAt 2021-01-26 13:00:54 +01:00
Michael Mayer ef2f231d5b Indexer: Improve taken date fallback when other metadata is missing #930 2021-01-25 21:41:57 +01:00
Michael Mayer 378dd0812e Metadata: Simplify keyword indexing #920 2021-01-25 20:30:52 +01:00
Michael Mayer 274c9347f5 Purge: Hide missing files in UI and set new primary if needed #917 2021-01-24 20:40:40 +01:00
Michael Mayer 6ee2613e90 Metadata: Improve time zone estimates #914 2021-01-19 13:47:41 +01:00
Michael Mayer 019a649c61 Metadata: Set time zone based on pictures taken at a similar time #914 2021-01-19 11:41:25 +01:00
Michael Mayer 9dad595c3e Photo: Allow overwriting estimated locations #918 2021-01-19 11:38:35 +01:00
Krassimir Valev a90ee62cd6
Search albums by country (#905) 2021-01-16 12:48:43 +01:00
Michael Mayer ed0aa11ee8 UX: Document min password length and reduce to 4 chars 2021-01-02 14:06:34 +01:00
Michael Mayer 8e22fbf8f6 Metadata: Store and compare data source for details #755 2020-12-31 13:51:31 +01:00
Michael Mayer bbd0af3dd3 Shares: Allow reuse of the same share slugs & tokens #776 2020-12-31 12:02:26 +01:00
Michael Mayer 29a57fd846 Settings: Add estimate feature flag #622 2020-12-30 11:11:58 +01:00
Michael Mayer 91acaaa573 Index shorter keywords in languages like Chinese #746
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-27 16:37:28 +01:00
Michael Mayer 13bd176f0f Albums: Handle missing entries and pure emoji titles
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-27 13:11:08 +01:00
Michael Mayer 4ac0ef3556 Indexer: Improve merging and performance
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-27 07:43:39 +01:00
Michael Mayer fd53d30caa Indexer: Reset photo quality after merging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-26 23:08:08 +01:00
Michael Mayer 45c0e2f60d Folders: Fix title capitalization #737
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-25 14:31:06 +01:00
Michael Mayer 1ad8eb343d Photo: Omit Stack property in YAML files if 0 2020-12-21 18:43:31 +01:00
Michael Mayer 12cb89eca5 Stacks: Use "Stackable" int8 instead of "Unstacked" bool #616 #667 2020-12-19 19:15:32 +01:00
Michael Mayer a067fe46ec UX: Add global server config options tab to Settings UI 2020-12-18 20:42:12 +01:00
Michael Mayer 7940786ce9 UX: Refactor config options to be more intuitive
Make sure to update your local config files when upgrading as
the name of some config values has changed. The default
config path has changed from "settings" to "config".
2020-12-18 09:11:42 +01:00
Michael Mayer 449fb7a2c1 Backup and restore albums from YAML files #567 2020-12-17 18:24:55 +01:00
Michael Mayer 859e4f7d8c Indexer: Set a default color for photos with multiple files #715 2020-12-17 12:32:53 +01:00
Michael Mayer 1f386533cf Indexer: Use lookup table to prioritize metadata sources 2020-12-17 10:23:17 +01:00
Michael Mayer 717da1bd34 Downloads: Configure file name schema #675
There is no UI for this setting yet.
2020-12-16 11:59:16 +01:00
Michael Mayer 28880e682d Database: Improve config and SQL queries 2020-12-15 20:14:06 +01:00