我正在尝试用这种格式的json文件创建一个LSTM模型来预测手语句子。这个json文件包含每帧每只手(左手、右手)21个手部关键关节的坐标信息。以下是我的json时间序列数据的预览。
{
"frame": 123,
"hands": [
{
"hand": "Left",
"landmarks": [
{
"x": 0.4636201858520508,
"y": 0.3758980929851532,
"z": 7.529240519943414e-08,
"body_part": "wrist"
},
...
{
"x": 0.4639311134815216,
"y": 0.2574789524078369,
"z": -0.013109659776091576,
"body_part": "pinky_tip"
}
]
},
{
"hand": "Right",
"landmarks": [
{
"x": 0.5393109321594238,
"y": 0.6190552711486816,
"z": 1.0587137921902467e-07,
"body_part": "wrist"
},
...
{
"x": 0.4721616506576538,
"y": 0.5990280508995056,
"z": -0.006831812672317028,
"body_part": "pinky_tip"
}
]
}
]
},
不同位置的坐标信息在每一帧中重复出现。我仍在修正这些 JSON 时间序列数据。因此,我还没有开始编写 LSTM 代码。不过,我很担心能否将这些 JSON 时间序列数据用于 LSTM。
不确定你的意思
这是否意味着您需要“清理”您的数据集,例如删除异常值等,或者这是否意味着这是一个粗略的结构并且可能还有其他元素。
无论如何,我认为这个问题更多地与如何使用类似 JSON 的结构而不是数据本身来训练模型有关。
你首先需要思考如何将这些数据或任何数据表示为张量。然后,你需要确定张量可能具有的维度,并根据你的信息将数据转换为形状为
[number_samples, number_frames, number_features]
IE
number_samples :你的数据集大小
number_frames :每个示例中收集数据的总帧数
number_features:21 个地标 * 3 个坐标 * 2 只手
有了这些张量,你就可以训练你的 LSTM 模型了。你需要将这些特征适当地划分到你的双手上,才能使该表征发挥作用。