camtrap-dp
camtrap-dp copied to clipboard
Add further camera settings to deployment
In GitLab by @peterdesmet on Sep 8, 2020, 18:51
Note: this was suggested in the 2020-09-08 EUROMAMMAL technical call
Cameras can have additional settings that are not captured in the current deployment terms, such as:
- detection_zone: Detection focus of camera trap (centered or full)
full;centered - ir_mode: IR mode of camera trap
far;near
This needs further community feedback before we can decide if and how this should be part of the standard.
Similar to #44. To my knowledge, there is no firmware standard for storing camera trap settings available; different manufacturers use different fields, etc. Thus, we have two options:
-
Add a new field
cameraSettingsto the deployment schema. This field would be a JSON object that could store any camera settings (see this PR #389). -
Try to standardize a finite set of critical camera trap settings and add them as new fields to the deployment schema.
We need a broader discussion here. @jimcasaer @Tim-Hofmeester @ddachs @PatrickAJansen @peterdesmet
I think the big problem with this is that many of these fields are model specific and many cameras might not have these options. So I think option 1 that @kbubnicki mentions above is the best option.
I agree with @Tim-Hofmeester on this. Settings are very manufacturer specific. To be honest, I feel like we could put the attributes of interest into the observationTags column?
Just to give you an idea, this is and example of metadata I get from ICUServer for every image (some of these are deployment related rather than image related):
- SizeInByte
- ImageFormat
- ImageNight
- DateTimeLastSettings
- BatteryStatus
- FirmwareVersion
- SignalStrength
- Temperature
- CoordinateSwitch
- Latitude
- Longitude
- WorkPeriod
- WorkStart
- WorkEnd
- ThumbnailSize
- PIRInterval
- TimeScan
- imei
- iccid
- INITKey
- CameraName
- CameraModel
- CameraLanguage
- CameraNetwork
- MobileNetworkCode
- MobileCountryCode
- LocationAreaCode
- CustomerTimezone
- CustomerLanguage
- servertime
As you can see, that is a lot to choose from, and I am not sure, if digging into this pays of. However, with @kbubnicki idea to store the metadata in a json field, we would have the opportunity to store the raw metadata with relative ease, while maining maximum flexibility. Since I retrieve metadata per image and not per deployment from my GSM cameras, I would prefer to have the json column in the media.csv. What do you think?
@ddachs great! We already have the json field exifData in the media.csv. Can the camera settings be added there (e.g. by extending the json)?
I don't think this is ideal for deployment related data. The plan with GSM cameras midterm is, to retrieve camera status data every time the camera contacts the server (in our case once every 24 hours). This data is independent of the images. For every deployment I will (hopefully) have a bunch of json files. The question is: How should we deal with those best? Storing the raw data in json format? Preprocessing the data and store a summary? Camera settings should ideally be the same during a deployment. But there are exceptions, e.g. changing settings remotely. But there are dynamic values in the status informations, such as battery status. I am in favour of storing status informations in raw json format in a dedicated column in the deployment table. As said, camera status informations include more than camera settings. I will post you an example of status informations soon, to give you an idea. I expect them to be a subset of the metadata we get for every image