行為建模標註
按照以下步驟使用 INTELINK 功能進行行為建模標註。請確保手機藍牙已開啟,並允許 Ecotopia App 使用藍牙。 第一步:

第二步:

第三步:

第四步:

第五步:

第六步:

編輯標註的相關步驟請參見 編輯標註結果 章節。
第七步:

可導出的數據包括:
視頻
錄製的視頻- 安卓系統文件命名方式為 <UUID>[video]-<yyyy_mmdd_hhmm_ss_os3>.mp4
- iOS 系統文件命名方式為 <UUID>-<yyyy_mmdd_hhmm_ss_os3>[Video].mp4
標註數據
帶行為標籤和時間戳的數據文件- 安卓系統導出的文件命名方式為 <UUID>[behavior]-<yyyy_mmdd_hhmm_ss_os3>.csv
- iOS 系統導出的文件命名方式為 <UUID>-<yyyymmdd_hhmmss_os3>[Behavior].csv
- 數據字段說明:
- Start:行為開始的時間
- End:行為結束的時間
- Tag:標註的行為標籤
原始數據
數據標註期間採集的加速度原始數據- 安卓系統導出的文件命名方式為 <UUID>[acc]-<yyyy_mmdd_hhmm_ss_os3>.csv
- iOS 系統導出的文件命名方式為 <UUID>-<yyyy_mmdd_hhmm_ss_os3>[Acc].csv
- 數據字段說明:
- Collecting time: 裝置採集數據的時間,採集時間精確到毫秒
- X:三軸加速度計 X 軸的值,單位為 1/1024 g
- Y:三軸加速度計 Y 軸的值,單位為 1/1024 g
- Z:三軸加速度計 Z 軸的值,單位為 1/1024 g
注意:安卓系統導出的 Collecting time 為標註啟動後的毫秒時間且為數值格式,為了方便您做數據處理,請參考末尾的代碼文件將原始數據的 Collecting time 從毫秒轉變為完整時間戳。
原始數據(附帶行為標籤)
數據標註期間採集的附帶行為標籤的加速度原始數據- 安卓系統導出的文件命名方式為 <UUID>[acc+behavior]-<yyyy_mmdd_hhmm_ss_os3>.csv
- iOS 系統導出的文件命名方式為 <UUID>-<yyyy_mmdd_hhmm_ss_os3>[Behavior & Acc].csv
- 數據字段說明:
- Collecting time: 裝置採集數據的時間,採集時間精確到毫秒
- X:三軸加速度計 X 軸的值,單位為 1/1024 g
- Y:三軸加速度計 Y 軸的值,單位為 1/1024 g
- Z:三軸加速度計 Z 軸的值,單位為 1/1024 g
- Tag:標註的行為標籤
注意:安卓系統導出的 Collecting time 為標註啟動後的毫秒時間且為數值格式,為了方便您做數據處理,請參考末尾的代碼文件將原始數據的 Collecting time 從毫秒轉變為完整時間戳。
注意:文件名和文件內容中包含的時間均為 UTC+0 時區。
導出數據後,您可以在 App 點擊“我的”>“附加功能”>“行為標註”查看行為標註歷史記錄。
請參考以下 R 語言代碼將 Collecting time 從毫秒轉換為完整時間戳。
r
# 原始數據或原始數據附帶行為標籤可以使用下面的方法處理,但這兩種數據不能同時放在一起處理,需要分開各自處理
# 請確認你已經安裝了stringr和dplyr包
library(stringr)
library(dplyr)
# 將你的文件放在對應的文件夾下
folder_path <- "/Users/druid/Desktop/data_tagging/tag"
file_list <- list.files(folder_path, pattern = "*.csv", full.names = TRUE)
data_list <- lapply(file_list, function(file) {
file_data <- read.csv(file)
# 提取ID和時間信息
file_name <- basename(file)
file_parts <- unlist(str_split(file_name, "[-\\.]"))
UUID <- gsub("\\[.*\\]", "", file_parts[1])
timestamp <- file_parts[2]
# 解析時間信息
year <- substr(timestamp, 1, 4)
month <- substr(timestamp, 6, 7)
day <- substr(timestamp, 8, 9)
hour <- substr(timestamp, 11, 12)
minute <- substr(timestamp, 13, 14)
second <- substr(timestamp, 16, 17)
millisecond <- substr(timestamp, 19, 21)
# 整理數據為時間格式,時區為UTC
time_str <- paste(year, month, day, hour, minute, second, sep = "-")
time1 <- as.POSIXct(time_str, format = "%Y-%m-%d-%H-%M-%OS", tz = "UTC")
# 計算時間列,包括毫秒
file_data$time <- time1 + (file_data$Collecting.time + as.numeric(millisecond)) * 1e-3
file_data$time <- format(file_data$time, format = "%Y-%m-%d %H:%M:%OS3", tz = "UTC")
# 添加ID和移除X.1列
file_data$UUID <- UUID
file_data <- file_data[, -which(names(file_data) == "X.1")]
return(file_data)
})
# 由於計算中的時間格式轉換,結果會相差0.001秒
tag_data <- bind_rows(data_list)
# 導出文件,可自定義文件名
write.csv(tag_data, "tagging.csv")