immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
53.41k stars 2.82k forks source link

[BUG] face exists, but no photos? #3443

Closed bcsteeve closed 10 months ago

bcsteeve commented 1 year ago

The bug

I have several instances where the "People" page shows a face and when I click that face, there are no photos. How does it recognize a face and not have at least one photo associated with it?

Bonus bug: I also have a cat that got recognized, but when I click the cat, it shows people, cookies, statues... but no cat lol

image

image

The OS that Immich Server is running on

Ubuntu 22.10

Version of Immich Server

v1.70.0

Version of Immich Mobile App

n/a

Platform with the issue

Your docker-compose.yml content

version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: ["start-server.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: ["start-microservices.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - model-cache:/cache
    env_file:
      - .env
    restart: always

  immich-web:
    container_name: immich_web
    image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
    env_file:
      - .env
    restart: always

  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.0
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
    logging:
      driver: none
    volumes:
      - tsdata:/data
    restart: always

  redis:
    container_name: immich_redis
    image: redis:6.2
    restart: always

  database:
    container_name: immich_postgres
    image: postgres:14
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      PG_DATA: /var/lib/postgresql/data
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

  immich-proxy:
    container_name: immich_proxy
    image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release}
    environment:
      # Make sure these values get passed through from the env file
      - IMMICH_SERVER_URL
      - IMMICH_WEB_URL
    ports:
      - 2283:8080
    depends_on:
      - immich-server
    restart: always

  backup:
    container_name: immich_db_dumper
    image: prodrigestivill/postgres-backup-local
    env_file:
      - .env
    environment:
      POSTGRES_HOST: database
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      SCHEDULE: "@daily"
      BACKUP_NUM_KEEP: 28
      BACKUP_DIR: /db_dumps
    volumes:
      - /mnt/bigdisk/memories/db_dumps:/db_dumps
    depends_on:
      - database

volumes:
  pgdata:
  model-cache:
  tsdata:

Your .env content

DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_PASSWORD=123456
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis
UPLOAD_LOCATION=/mnt/bigdisk/memories
TYPESENSE_API_KEY=d%Xzadefs&TY#BPU8
DISABLE_REVERSE_GEOCODING=false
REVERSE_GEOCODING_PRECISION=3
PUBLIC_LOGIN_PAGE_MESSAGE=
IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003

Reproduction steps

1.Go to Immmich web page
2.Click Explore
3.Beside People, click View All
4.Click a random face.  See if there are any photos associated with it.  If not, continue to step 5.
5.Repeat step 4.

Additional information

No response

daniele-athome commented 1 year ago

It may not be your case but I'll say it anyway: archived photos don't appear in that page.

bcsteeve commented 1 year ago

I have no archived photos in this set. I actually ended up coming across dozens of these faces. Interestingly, I recognized none of them. I presume they are random people in the background. I also noticed that no faces which have photos associated with them have only a single photos... they ALL had at least two photos. Is it possible that if there's only one photo, then there's a bug (feature?) where it shows none? If that's a feature, ie the intent is to show collections and not singles, then the face shouldn't even be displayed.

shakyr commented 1 year ago

It may not be your case but I'll say it anyway: archived photos don't appear in that page.

Could we at least have a message on that page, along the lines of "Archived photos have been detected. Do you wish to display them?"

alextran1502 commented 1 year ago

Hello is this issue still relevance?

bcsteeve commented 1 year ago

Yes. It looks like someone tried to do something with it because now when I click a face that has only one match, it still shows no results but it now says, "opps" (which, ironically, is a mistake and should say "oops")

mertalev commented 10 months ago

The old algorithm created a person and then created a face. This could lead to a person with no faces if there was an issue when creating the face. This is impossible with the new algorithm since it first creates faces.