Detectcity — Bulk Upload

← Back to map

1. Upload Images (bulk)

Select or drag in multiple images (jpg, jpeg, png, webp, heic, jfif). GPS position is read automatically from each image's EXIF tags, like Mapillary. If an image has no EXIF GPS, the optional default coordinates below are used.

Click to choose images or drag & drop them here
You can add files in several rounds before uploading

2. Upload Annotations (CSV / Excel)

One row per bounding box. Keep image_id as the Drive filename stem (e.g. Mosaic_pano_...) and point at the folder once.

Required columns: image_id, category (e.g. utility_pole, traffic_sign), x1, y1, x2, y2 (bounding box pixel corners)
Optional columns: subtype (e.g. GO SLOW), confidence (0–1, defaults to 1)
image_id may be: the Drive file name (with or without .jpg), a Google Drive / http(s) image URL, or a numeric database id.
Paste the shared Drive folder URL below so names like Mosaic_pano_2023-10-19_16-35-12_000000 resolve to Mosaic_pano_2023-10-19_16-35-12_000000.jpg in that folder.
Folder and files must be shared as Anyone with the link. Server also needs GOOGLE_DRIVE_API_KEY for folder listing. Re-uploading the same CSV overrides those images and annotations.
Images 0 / 0 done (0 remaining)
Point entries 0 / 0 done (0 remaining)
Starting…

3. Fetch Metadata from Drive Images

Upload a CSV or Excel file containing an image_id column and provide the shared Google Drive folder. Matching images are read without changing the database, and an enriched CSV is downloaded.

Output columns: image_id, lat, lon, fx, time, pdop, hdop, sat, course, speed, ele, roll, pitch, heading, image_name, image_file_id, exif_lat, exif_lon.
Standard EXIF/GPS and common XMP camera/drone fields are supported. Any value not stored in an image is left blank. fx uses the image focal-length metadata when available.
Images read 0 / 0 done (0 remaining)
Starting…