AddaxAI produces erroneous results with pictures containing EXIF Orientation metadata

Dear AddaxAIers,

Please take any image, for example from the official test images at GitHub https://github.com/PetervanLunteren/AddaxAI/tree/main/test_images , change and/or add data regarding the EXIF Rotation metadata of the images, and see if this produces erroneous results with AddaxAI.

I will do so below for the images ostrich.jpg and car_dog.jpg

Th original images (i.e. before editing its metadat) both produce great results:

  • The original ostrich.jpg produces a perfect bounding box for the ostrich.
  • The original car_dog.jpg produces a perfect bounding box for the dog, and a reasonable bounding box (considering part of it is covered by vegetation) for the car.

If I check the original EXIF metadata of the images, regarding Orientation:

  • exiftool -Orientation -n ostrich.jpg
  • exiftool -Orientation ostrich.jpg
  • exiftool -Orientation -n car_dog.jpg
  • exiftool -Orientation car_dog.jpg

All of these return nothing, meaning there is no value for Orientation currently.

When I go and change the EXIF Orientation values of both images to e.g. value 6 (i.e. “Rotate 90 CW”):

  • exiftool -Orientation=6 -n ostrich.jpg
  • exiftool -Orientation=6 -n car_dog.jpg

Then consequently if I run those images through AddaxAI:

  • The new ostrich.jpg produces no bounding boxes whatsoever.
  • The new car_dog.jpg produces no bounding boxes whatsover.

When I then change their EXIF Orientation values to 1:

  • exiftool -Orientation=1 -n ostrich.jpg
  • exiftool -Orientation=1 -n car_dog.jpg

Then consequently if I run those images through AddaxAI:

  • The new ostrich.jpg produces a perfect bounding box for the ostrich.
  • The new car_dog.jpg produces a perfect bounding box for the dog, and a reasonable bounding box (considering part of it is covered by vegetation) for the car.

If I then remove the Orientation metdata, by using:

  • exiftool -Orientation= ostrich.jpg
  • exiftool -Orientation= car_dog.jpg

Then consequently if I run those images through AddaxAI:

  • The new ostrich.jpg produces a perfect bounding box for the ostrich.
  • The new car_dog.jpg produces a perfect bounding box for the dog, and a reasonable bounding box (considering part of it is covered by vegetation) for the car.

Let’s go back to the original, let me try to use a different tool than ExifTool. I will use a randoom tool, namely manytools DOT org /image/rotate-image/ to rotate the images upside down.

Feel free to use any other tool, and please don’t flag this post as SPAM. :slight_smile: I am just trying to explain methods of changing the Rotation EXIF metadata of an image, I really couldn’t care less about promoting a tool to do so. I have no affiliation with any of these tools, but we need to properly document the methods to troubleshoot and re-produce the bug.

Then consequently if I run those images through AddaxAI:

  • The new ostrich.jpg produces an erroneous bounding box which does not include the head of the ostrich, as well as part of its feet.
  • The new car_dog.jpg produces a perfect bounding box for the dog, and no bounding box for the car.

Thus, a general hypothesis is that AddaxAI seems to have problems with EXIF Orientation metadata in images.

Kind regards,
Vincent Verheyen

Note: The above was tested from my side using the currently latest version of AddaxAI (6.23) for Windows. I am using a clean install of AddaxAI on a Windows PC with a 128 MB Graphics Card Intel(R) Iris(R) XeGraphics (I note in the ‘Analysis progress’ during ‘Locating animals…’ that processing is running on: CPU), and with following settings: Advanced mode — MegaDetector 1000 Redwood — Model to identify animals: None — Manually verify results: Confidence range from 0 to 1 for all Classes).