Immich facial recognition links fursuits with animals and random other objects #2147

Closed
opened 2026-02-05 05:19:13 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @Quicksoapy on GitHub (Feb 9, 2024).

The bug

Me and my partners go to furry conventions, and it also assigns fursuits as persons. Thats cool and fun, but it seems to link fursuits with literal animals, such as dogs, and also random objects. Attached are some examples of one fursuit.
image
image

The OS that Immich Server is running on

Debian 12

Version of Immich Server

v1.94.1

Version of Immich Mobile App

v1.94.1

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.8"
#
# WARNING: Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
#
name: immich
services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:v1.94.1
    restart: unless-stopped
    secrets:
      - DATABASE_PASSWORD
      - DATABASE_USER
    command: [ "start.sh", "immich" ]
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /mnt/data/immich/upload:/usr/src/app/upload:rw
      - /mnt/storage/<name>Media:/import/<name>/media:ro
      - /mnt/storage/<name>Pictures:/import/<name>/pictures:ro
      - /mnt/storage/<name>Pictures:/import/<name>/pictures:ro
      - encoded-video:/usr/src/app/upload/encoded-video:rw
      - thumbs:/usr/src/app/upload/thumbs:rw
    environment:
      DB_DATABASE_NAME: ${DATABASE_NAME}
      DB_HOSTNAME: database
      DB_PASSWORD_FILE: /run/secrets/DATABASE_PASSWORD
      DB_USERNAME_FILE: /run/secrets/DATABASE_USER
      REDIS_HOSTNAME: redis
    ports:
      - 127.0.0.1:2283:3001
    depends_on:
      - database
      - redis
  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:v1.94.1
    restart: unless-stopped
    secrets:
      - DATABASE_PASSWORD
      - DATABASE_USER
    # extends:
    #   file: hwaccel.yml
    #   service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /mnt/data/immich/upload:/usr/src/app/upload:rw
      - /mnt/storage/<name>Media:/import/<name>/media:ro
      - /mnt/storage/<name>Pictures:/import/<name>/pictures:ro
      - /mnt/storage/<name>Pictures:/import/<name>/pictures:ro
      - encoded-video:/usr/src/app/upload/encoded-video:rw
      - thumbs:/usr/src/app/upload/thumbs:rw
    environment:
      DB_DATABASE_NAME: ${DATABASE_NAME}
      DB_HOSTNAME: database
      DB_PASSWORD_FILE: /run/secrets/DATABASE_PASSWORD
      DB_USERNAME_FILE: /run/secrets/DATABASE_USER
      REDIS_HOSTNAME: redis
    depends_on:
      - database
      - redis
  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:v1.94.1
    restart: unless-stopped
    volumes:
      - /mnt/data/immich/ml/cache:/cache:rw
  redis:
    image: redis:6.2-alpine@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5
    restart: unless-stopped
  database:
    image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee
    restart: unless-stopped
    secrets:
      - DATABASE_PASSWORD
      - DATABASE_USER
    environment:
      POSTGRES_DB: ${DATABASE_NAME}
      POSTGRES_PASSWORD_FILE: /run/secrets/DATABASE_PASSWORD
      POSTGRES_USER_FILE: /run/secrets/DATABASE_USER
    volumes:
      - /mnt/data/immich/immich_postgres/data:/var/lib/postgresql/data:rw
volumes:
  encoded-video:
    driver_opts:
      type: "nfs"
      o: "addr=<redacted>,nolock,soft,rw"
      device: ":/mnt/spool/Cache/Immich/encoded-video"
  thumbs:
    driver_opts:
      type: "nfs"
      o: "addr=<redacted>,nolock,soft,rw"
      device: ":/mnt/spool/Cache/Immich/thumbs"
secrets:
  DATABASE_PASSWORD:
    file: ./.secrets/DATABASE_PASSWORD
  DATABASE_USER:
    file: ./.secrets/DATABASE_USER

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

DATABASE_NAME=immich

Reproduction steps

1. setup Immich and hook up external dataset to Immich
2. start Facial Recognition job in the administration tab, wait until this is finished

Additional information

If a dev could use the raw imagery to fix this problem, I'd be happy to provide them.

Originally created by @Quicksoapy on GitHub (Feb 9, 2024). ### The bug Me and my partners go to furry conventions, and it also assigns fursuits as persons. Thats cool and fun, but it seems to link fursuits with literal animals, such as dogs, and also random objects. Attached are some examples of one fursuit. ![image](https://github.com/immich-app/immich/assets/73587977/66c8d432-8750-446f-b84c-3acc924d35fd) ![image](https://github.com/immich-app/immich/assets/73587977/76f8f957-ba03-4a74-8dc4-4cfc256a74d1) ### The OS that Immich Server is running on Debian 12 ### Version of Immich Server v1.94.1 ### Version of Immich Mobile App v1.94.1 ### Platform with the issue - [X] Server - [ ] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML version: "3.8" # # WARNING: Make sure to use the docker-compose.yml of the current release: # # https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml # # The compose file on main may not be compatible with the latest release. # name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:v1.94.1 restart: unless-stopped secrets: - DATABASE_PASSWORD - DATABASE_USER command: [ "start.sh", "immich" ] volumes: - /etc/localtime:/etc/localtime:ro - /mnt/data/immich/upload:/usr/src/app/upload:rw - /mnt/storage/<name>Media:/import/<name>/media:ro - /mnt/storage/<name>Pictures:/import/<name>/pictures:ro - /mnt/storage/<name>Pictures:/import/<name>/pictures:ro - encoded-video:/usr/src/app/upload/encoded-video:rw - thumbs:/usr/src/app/upload/thumbs:rw environment: DB_DATABASE_NAME: ${DATABASE_NAME} DB_HOSTNAME: database DB_PASSWORD_FILE: /run/secrets/DATABASE_PASSWORD DB_USERNAME_FILE: /run/secrets/DATABASE_USER REDIS_HOSTNAME: redis ports: - 127.0.0.1:2283:3001 depends_on: - database - redis immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:v1.94.1 restart: unless-stopped secrets: - DATABASE_PASSWORD - DATABASE_USER # extends: # file: hwaccel.yml # service: hwaccel command: [ "start.sh", "microservices" ] volumes: - /etc/localtime:/etc/localtime:ro - /mnt/data/immich/upload:/usr/src/app/upload:rw - /mnt/storage/<name>Media:/import/<name>/media:ro - /mnt/storage/<name>Pictures:/import/<name>/pictures:ro - /mnt/storage/<name>Pictures:/import/<name>/pictures:ro - encoded-video:/usr/src/app/upload/encoded-video:rw - thumbs:/usr/src/app/upload/thumbs:rw environment: DB_DATABASE_NAME: ${DATABASE_NAME} DB_HOSTNAME: database DB_PASSWORD_FILE: /run/secrets/DATABASE_PASSWORD DB_USERNAME_FILE: /run/secrets/DATABASE_USER REDIS_HOSTNAME: redis depends_on: - database - redis immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:v1.94.1 restart: unless-stopped volumes: - /mnt/data/immich/ml/cache:/cache:rw redis: image: redis:6.2-alpine@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5 restart: unless-stopped database: image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee restart: unless-stopped secrets: - DATABASE_PASSWORD - DATABASE_USER environment: POSTGRES_DB: ${DATABASE_NAME} POSTGRES_PASSWORD_FILE: /run/secrets/DATABASE_PASSWORD POSTGRES_USER_FILE: /run/secrets/DATABASE_USER volumes: - /mnt/data/immich/immich_postgres/data:/var/lib/postgresql/data:rw volumes: encoded-video: driver_opts: type: "nfs" o: "addr=<redacted>,nolock,soft,rw" device: ":/mnt/spool/Cache/Immich/encoded-video" thumbs: driver_opts: type: "nfs" o: "addr=<redacted>,nolock,soft,rw" device: ":/mnt/spool/Cache/Immich/thumbs" secrets: DATABASE_PASSWORD: file: ./.secrets/DATABASE_PASSWORD DATABASE_USER: file: ./.secrets/DATABASE_USER ``` ### Your .env content ```Shell # You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables DATABASE_NAME=immich ``` ### Reproduction steps ```bash 1. setup Immich and hook up external dataset to Immich 2. start Facial Recognition job in the administration tab, wait until this is finished ``` ### Additional information If a dev could use the raw imagery to fix this problem, I'd be happy to provide them.
Author
Owner

@mertalev commented on GitHub (Feb 9, 2024):

Increasing the min detection score to 0.8 will help prevent it from detecting actual animals or objects, but it might also lower the chance that it detects fursuits. If you'd like to keep that behavior, you could instead lower the max recognition distance to 0.5 or 0.4 to prevent it from being linked with other things.

@mertalev commented on GitHub (Feb 9, 2024): Increasing the min detection score to 0.8 will help prevent it from detecting actual animals or objects, but it might also lower the chance that it detects fursuits. If you'd like to keep that behavior, you could instead lower the max recognition distance to 0.5 or 0.4 to prevent it from being linked with other things.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#2147