# Imagimob Capture

# Install

Download Imagimob Capture from Google play (opens new window) using your Android device.

# Background

Imagimob Capture is an Android app for collecting data from any sensor. It can be used together with our supported sensor boards/devices or any sensor/sensorboard together with the Serial Capture Server.

Read more about our supported sensors/sensor boards and the Serial Capture Server here.

# Get started

  1. Open the app
  2. Allow the permissions requested by Imagimob Capture
  3. Read the manual below to learn how to connect to sensors
  4. Start collecting data

# Documentation

# Introduction

Imagimob Capture supports data collection from different sensor devices over Bluetooth (BLE) or WiFi. One example is the SensorBeat device, communicating with Imagimob Capture over Bluetooth, or the Capture Server, communicating with Imagimob Capture over WiFi. The Capture Server together with Imagimob Capture allows for collection of arbitrary sensor data via a serial port interface.

Imagimob Capture supports collection of sensor data from the connected devices but also records synchronized video and bundles it with the data. During data capture data can be labelled/tagged based on the labels shown on the main screen of the app.

The app requires an Android phone supporting Android >= 8.0 and a fair amount of space left on its memory card. It has been confirmed to work well with the following phones: OnePlus 1, Huawei Honor 8, OnePlus 3, LG K10 2017 and Sony XZ1 Compact.

# Data storage and transfer

Within the application's data directory, the recordings are located in the path of Android/data/com.imagimob.imagimob_capture/files/upload_dir. One recording is called one imsession and each recording is saved in a separate folder. Generally, it contains the following files:

*.data (Could be accel.data/gyro.data files for connected sensors with accelerometer/gyro and maybe one .data file which depends on the connected sensors)

Button.label contains the label information

video.mp4

.imsession managing the corresponding tracks of data/label/video and it can be played within Imagimob Studio

All recordings recorded in the same day are stored into a folder named with the recording date of the format Year-Month-Day, for instance 2020-02-19. The recordings can be accessed directly within Imagimob Studio and downloaded to your local computer (described in the next section).

Figure 1. Recording sessions in Imagimob Studio

# Main screen

The main screen of the Imagimob Capture app is shown in figure 2. The table below contains descriptions for each component on the screen.

The components are ordered from left to right and up to bottom of the screen.

Figure 2. Main screen of Imagimob Capture

Component Description
Labels Displaying the labels used for data labelling. Press to start/stop data labelling.
Burst mode If it is not active, you need click the labels twice to start and stop labelling one label. This function is useful to label very short activities/events.
Lock video Locks the video background to save battery usage.
Camera Switch between back/front camera.
Accelerometer scale G-Range settings, these are 4 different buttons for setting the G-Range of the capture device, note that only supported devices with an accelerometer and a gyro supports these settings. Available G-range: 2G/4G/8G/16G. Default: 8G
Recording time A counter keeping track of the length of the current recording. Displayed in minute : second and now it will start from zero if the recording time exceeds one hour.
Active sensors These components show which sensor are currently active. The color is yellow when active. Currently only the sensors of gyro and accelerometer are supported.
Recording button Start/stop recording.
Gyro scale Gyro ranges given in degrees per seconds. Note: that only devices with a gyro supports these settings 125dps/250dps/500dps/1000dps/2000dps. Default: 500dps
Dropped packets counter Show the number of dropped data packets.
Current frequency This displays the current average difference in timestamp between readings, for example: 20ms would indicate a perfect 50hz frequency.
Sensor data This displays the normalized sensor data received from the sensor.
Signal strength rssi This displays rssi value from sensors connected over bluetooth. It has three kind of color: green/yellow/red. The green color shows that the signal is good and the red one shows that the signal is bad. This represents the average quality over the last couple of seconds.
Device list This button will open up the list of available devices.
Update label Add/delete labels.
Connect to WiFi Connect to the device over WiFi. There are colors to show different status:
- White: Default mode, no connection initiated
- Green: Connection is up and data is streaming
- Red: Disconnected from the previous connection
Connected device MAC-address of connected device (only supported by BLE devices)
Version Not supported.
Connected WiFi WiFi address of the phone itself. Useful for connecting to the phone within Imagimob Studio (PC application).

# Label management

Prior to data capture it is good to decide on which labels to use to annotate the data. These labels will be visible when the data is imported into Imagimob Studio. To add new labels to the main screen:

  • Press the update label button, shown in Figure 1.
  • Press the '+'-button shown in figure 3.
  • Input the new label and press 'Ok'
  • Press the back-arrow button to go back to the main screen of the app

Figure 3. Label management in Imagimob Capture.

# Connect to devices

# Connect to BLE sensors

The app requires that Bluetooth is switched on. At the first start-up the app will request permissions to access local data storage and Bluetooth. If Bluetooth is currently not activated it will be requested to be started. In order to properly connect to a bluetooth sensor device, we will use the SensorBeat (accelerometer + gyro) device as an example:

  1. Switch on the Sensorbeat device and then the device LED will flash for 5 seconds to verify that it is on.

Figure 4. SensorBeat device (BLE).

  1. Open Imagimob Capture
  2. Press the device list button

The following screen should appear and you will see the paired SensorBeat device with the prefix of BLE, such as BLE:SensorBeat, the digits after the device name is the value of the current signal strengt (RSSI).

Figure 5. Device list

  1. Click the SensorBeat device to which you want to connect, in the figure it is 80:EA:CA:00:D7:73
  2. The app automatically navigates back to the main screen and some connection messages will appear. You will see that the data frequency increases above 0 as data is being transmitted between the sensor and the app.

Notes:

  • Be careful when switching on the device since the mechanical switches are not very strong.
  • If you are unable to detect the device even after a longer scan period, try shutting down the app and disable/enable Bluetooth, on some older phones the discovery can take some time.

# Connect to the Capture Server (sensors over serial)

The Capture Server allows your PC to act as a relay between any sensor with a serial port and Imagimob Capture. The capture app connects to the Serial Capture server through WiFi.

Steps to set up the connection between the app and Serial Capture are described here:

  1. Make sure that he sensor device connected to the PC over serial/UART is functioning properly
  2. Connect the capture phone to the same WiFi-network as your PC
  3. Open the Imagimob capture app
  4. Press the button "Connect to WiFi" on the main screen within the app
  5. Select the Serial Capture radio button
  6. Input the IP-address of your PC in the IP-field and push “CONNECT”

Figure 6. Connect to a sensor through Serial Server and UART

The main screen will appear again.

The color of the button "Connect to WiFi" becomes green when connected. The message ("Connected to Capture device over WiFi") pops up and the data frequency value will increase above 0. The value of the data frequency depends on the transmission rate from the sensor connected over serial.

# Disconnect from devices

# Bluetooth

  1. Press the device list button and then go back to the main screen, alternatively, just switch off the sensor device.

# Serial Server (UART)

  1. Press the button "Connect to WiFi" on the main screen
  2. Press the DISCONNECT button

# Verify connection quality

# Connected over Bluetooth

After the main screen has loaded, it normally takes a couple of seconds to start receiving data. The best way to check if the sensor is connected is to investigate the following:

  • If the sensor data is changing or if the signal lines drawn over the video screen are moving
  • If the current frequency is updating and remains around the expected data rate. For example: 45-65hz when capturing at 50hz. At the point of connecting it may be higher

Figure 7. Connected to a BLE device.

Make sure you connected to the correct device if multiple devices are running in the vicinity. To ensure this, look at the data while moving/shaking the sensor.

Sensor data shown on the main screen is sampled and may appear laggy. This will not affect the recording and in fact only a fraction of the data is actually displayed on the main screen. Same thing goes for the data frequency at any given time.

At the beginning of the connection the drop counter is probably above zero. It should stop increasing after the connection is stable. If it continues to increase, move closer to the sensor and preferably, start a new recording session.

The recording timer can help with keeping track of the length of the recording. Ideally it's good to keep the recording within 10 minutes since longer recordings might take a long time to download in the next step.

# Connected over WiFi

In order to confirm that the connection is stable, check the following:

  • The button "Connect to WiFi" is green

Figure 8. Connected to Serial Server over WiFi. Here, the Serial Server is running on a Raspberry Pi, with a sensor attached to the UART of the Raspberry Pi.

# Start recording/Data capture

General steps to start capturing data is listed here:

  • Start recording by pressing the record button (big red round button)
  • Perform activities that should be captured and label activities using the label buttons if needed
  • Stop the recording by pressing the stop button (big red square button)

Note: After stopping the recording, you need to wait until the app has saved the recording to the SD-card (this might take a short while if the recording is long). After the spinner has disappeared and the recording is saved to disk, another recording can be started.

# Label data

To create a label for you need push the expected label button twice (If burst Mode is disabled). The first time to start a new label and the second time to end the label.

# Download data with Imagimob Studio

Imagimob Studio (PC-application) needs to be installed and running on a PC.

To download data from the capture phone to the PC, you need go through the following steps:

  1. Make sure that the PC and the capture phone are connected to the same WiFi-network
  2. Imagimob Capture needs to be running on the phone (in background or foreground)
  3. Open Imagimob Studio
  4. Show Capture device by double clicking Devices or click the arrow next to Devices. The IP address shown in the Studio should be the same as the one shown on the main screen of the Imagimob Capture app
  5. Load a folder used for storing data by pressing “Load folder” in Imagimob Studio, in the example below the folder is named: "Imagimob_capture_demo"
  6. To download the whole context from the capture phone, right click the phone -> click copy

To download a specific recording session from the capture device, expand the capture device and the folders until the expected capture session appears and then right click the capture device and click copy

  1. Right click the loaded folder (Imagimob_capture_demo) in Imagimob Studio -> click paste

Figure 9. Download data from the capture phone.