识别GPS和加速度计数据的驾驶事件

时间:2017-01-12 17:24:20

标签: .net gps neural-network accelerometer encog

我有一台物联网设备每秒从正在驾驶的汽车发送以下信息:

  1. 时间戳
  2. GPS坐标(纬度/经度)
  3. GPS轴承或方位角
  4. GPS的车速
  5. X,Y和Z轴上的加速度计读数。
  6. 根据这些信息,我必须确定以下驾驶事件:

    1. 制动
    2. 加速度
    3. 左转
    4. 右转

      我正在尝试使用来自ENCOG .net库的神经网络分类器来实现这一目标,我被困在以下几点:

    5. 1.如何格式化输入以便将其输入神经元     网络?我所拥有的是一个包含8列和a的信息矩阵     可变行数:

      例如: - 右转可以是下面的矩阵

      Timestamp  Lattitude  Longitude   Azimuth     Speed  Xacc        Yacc        Zacc
      4:57:08 PM 39.937185  -74.9530667 305.3293762 0     -0.904202607 0.33408456  0.105773433
      4:57:09 PM 39.93719   -74.95307   303.1105042 0     -0.89096231  0.37406743  0.091855986
      4:57:10 PM 39.9372067 -74.9530783 299.4731445 9     -0.880157497 0.395575262 0.058842602
      

      同样左转也可以

      Timestamp  Lattitude  Longitude   Azimuth     Speed Xacc         Yacc        Zacc
      4:57:26 PM 39.9377    -74.954015  257.7362976 18    -0.932709113 0.267096326 -0.024819622
      4:57:27 PM 39.937715  -74.9540733 247.346344  18    -0.94067372  0.271379559 -0.054581382
      4:57:28 PM 39.937715  -74.9541317 225.6322174 17    -0.923718111 0.293954308 -0.081829668
      4:57:29 PM 39.937695  -74.9541917 213.6928406 20    -0.911598183 0.317324907 -0.128199049
      4:57:30 PM 39.93766   -74.9542433 208.975174  24    -0.90052994  0.351010895 -0.121179532
      4:57:31 PM 39.9376017 -74.9542833 205.9306641 28    -0.891561502 0.373537211 -0.078259489
      4:57:32 PM 39.9375367 -74.9543267 206.532135  31    -0.891412538 0.389423688 -0.047274249
      

      2.可以应用哪些神经网络模式和类型     解决它?

       3.可以使用哪种训练算法?

      如果有人能说明如何解决这个问题,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

以下是我试图解决此问题的方法。

  1. 缩小输入矩阵以仅包含相关信息 识别事件。因此,以下列将被丢弃 输入
    • 时间戳
    • 纬度
    • 经度和
    • 速度
  2. 2.减少的输入看起来像

    Az      Xacc        Yacc
    257.736 -0.93270911 0.267096326
    247.346 -0.94067372 0.271379559
    225.632 -0.92371811 0.293954308
    213.693 -0.91159818 0.317324907
    208.975 -0.90052994 0.351010895
    205.931 -0.8915615 0.373537211
    

    3.Resample输入至少有10个实例(行)

    4.将10行折叠到包含30个值的向量

    Az1     Xacc1       Yacc1       Az2     Xacc2       Yacc2       Az.. Xacc.. Yacc..   Az10       Xacc10      Yacc10      Target
    257.736 -0.93270911 0.267096326 247.346 -0.94067372 0.271379559 ..   ..     ..       206.532    -0.89141254 0.389423688 Left
    

    5.使用前馈模式,如Multilayer perceptron with

    • 30个输入神经元
    • 2个隐藏层(使用修剪技术识别神经元数量)
    • 4个输出神经元(使用等边编码:3个用于上述4个类别,1个额外用于非事件)
    • 激活功能:双曲正切

    6.使用弹性传播进行训练

    请让我知道您对此解决方案的看法。