How to submit localized image annotations to FathomNet

Brian Schlining
FathomNet
Published in
5 min readMay 5, 2021

Phase 1 — Prepare your images and localized annotations

Step 1 — Request write permissions

Contact FathomNet’s admin at fathomnet@mbari.org (with the subject line: FathomNet write access) and we’ll give your account write access. Once completed, you’ll be able to upload your curated data to FathomNet.

Step 2— Make your images publicly accessible

FathomNet expects that your images are hosted on a public web server.

Step 3— Add localizations using your favorite annotation tool

There are a number of tools that are popular in the marine science community for annotating images and/or video. Keep in mind that FathomNet uses rectangular localizations, also called bounding boxes, that define a region of interest for an annotation. If you are defining other types of regions of interest (ROI), such as points, free-form polygons, or pixel masks, those will need to be converted to rectangular ROI’s when submitting your data to FathomNet.

Step 4— Format your localizations as a CSV file

Below is an example CSV file showing the minimum required columns. Note that column order and case is not important:

Example CSV file with the required header row and two bounding boxes

The minimum required columns in your CSV file are the following:

  • concept (or class, or name) — The name of the localized object. We recommend using scientific names where possible.
  • url (or image) — The URL of the image
  • x — The x coordinate of the your bounding box in pixels
  • y — The y coordinate of the your bounding box in pixels
  • width — The width of the bounding box in pixels
  • height — The height of the bounding box in pixels

FathomNet expects localizations to use this image coordinate system.

Image Coordinate System. Origin is upper-left. +X is right. +Y is down.

Optional Columns

The following are optional column names:

  • altitude (or altitudemeters, altitude_meters)— The altitude, in meters, above the seafloor where the images was taken.
  • altconcept (or alt_concept, concept2, class2, name2) — A secondary name for the localization. At MBARI, we commonly use this when we have localized a part of the animal. For example, the concept might be Nanomia and the altconcept could be nectosome.
Example illustrating annotating the a whole organism, Nanomia, in red versus annotating a part of an organism, the Nanomia’s nectosome, in yellow.
  • depth (or depthmeters, depth_meters) The depth, in meters, below the surface where the image was taken.
  • groupof (or group_of) — Indicates that the box spans a group of objects (e.g., a school of fish or a cloud of krill). Values can be “true” or “false”.
  • imagingtype (or imaging_type)For specialized imaging systems, identifies the type of image system used. e.g. dark field microscopy, black and white, low light imaging, etc.
  • latitude — Latitude, in decimal degrees, where the image was taken. We use the convention of latitude between -90S to 90N.
  • longitude — Longitude, in decimal degrees, where the image was taken. We use the convention of latitude between -180W to 180E.
  • observer — The name or identifier for the person or program that created the localization
  • occluded — Indicates that the object is occluded by another object in the image. Values can be “true” or “false”.
  • oxygen (or oxygenmll, oxygen_ml_l, o2) — The oxygen concentration, in milliliters per liter, at the time and place where the image was taken.
  • pressure (or pressuredbar, pressure_dbar) — The pressure, in dbar, at the time and place where the image was taken.
  • salinity — The salinity at the time and place where the image was taken.
  • temperature (or temperaturecelsius, temperature_celsius) — The ocean temperature, in degrees Celsius, at the time and place where the image was taken.
  • timestamp — The time when the image was taken in an ISO 8601 format. Acceptable formats include:
Acceptable date formats
  • truncated — Indicates that the object extends beyond the boundary of the image. Values can be “true” or “false”.
  • userdefinedkey (or user_defined_key) — An identifier, of up to 56 characters, that can be used to link an annotation back to the original data source. For example, this could be a database key that identifies the annotation in the owning institution’s database. Be aware that these keys are not required to be unique. To avoid key collisions, it’s best to used data types like UUIDs.

Additional Columns

If any additional columns are in your CSV file, the will be added as key-value tags to the image. This may be useful if you wish to include additional environmental information or camera parameters.

Phase 2 — Upload your localized annotations

Step 1 — Sign in to FathomNet using a Google account

If this is your first time signing into FathomNet, FathomNet will automatically create a FathomNet account for you.

Step 2 — Navigate to your collections page

Step 3 — Click the ‘Add collection’ button

Step 4 — Fill out the required DarwinCore metadata

There’s also optional DarwinCore fields available as you scroll down the page. A brief description to each field, as well as a link to the DarwinCore documentation, is provided in FathomNet.

Step 5 — Upload your CSV file

Once you’ve filled out your metadata, scroll down to the very bottom of the page. Clicking on the File input field will allow you to browse to your CSV file. Then click submit.

Phase 3— Viewing your collection

When your data is submitted to FathomNet, it’s parsed and registered with our data systems. This can take some time depending on the size of the data set you’ve submitted, so be patient. Usually, it’s a couple of minutes per thousand of annotations submitted. You can return to your collections page using the link at the top of any page:

Click ‘My collections’
View all of your uploaded image collections

From your collections page, you can click on your newly uploaded collection to view your localizations and metadata.

View of a Collection

--

--

Brian Schlining
FathomNet

Polyglot coder. Deep-sea Researcher. Zazen aficionado. I think squids are pretty cool.