#游戏unity-VR场景漫游#手柄轨迹识别中的神经网络

人工神经网络

以下摘自百度百科——

人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
最近十多年来,人工神经网络的研究工作不断深入,已经取得了很大的进展,其在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。

这里写图片描述

人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。人工神经网络具有四个基本特征:

  • 非线性
    具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。
  • 非局限性
    一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。
  • 非常定性
    人工神经网络具有自适应、自组织、自学习能力。神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。经常采用迭代过程描写动力系统的演化过程。
  • 非凸性
    在一定条件下将取决于某个特定的状态函数。例如能量函数,它的极值相应于系统比较稳定的状态。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。

网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。输入单元接受外部世界的信号与数据;输出单元实现系统处理结果的输出;隐单元是处在输入和输出单元之间,不能由系统外部观察的单元。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。人工神经网络是一种非程序化、适应性、大脑风格的信息处理 ,其本质是通过网络的变换和动力学行为得到一种并行分布式的信息处理功能,并在不同程度和层次上模仿人脑神经系统的信息处理功能。

项目中关于启动神经网络的代码

public class GestureEventExample : MonoBehaviour
{       
     //订阅事件
       void OnEnable()
       { 
           GestureRecognizer.GestureDetectedEvent + = OnGestureDetected; 
           GestureRecognizer.GestureRejectedEvent + = OnGestureRejected; 
       } 

       //取消订阅事件
       void OnDisable()
       { 
           GestureRecognizer.GestureDetectedEvent - = OnGestureDetected; 
           GestureRecognizer.GestureRejectedEvent - = OnGestureRejected; 
       } 


       //在检测到手势时调用      

         void OnGestureDetected(string gestureName, double confidence, Handedness hand, bool isDouble = false)
       {
           switch (gestureName)
           {
               case "Circle":
               {
                   // DO SOMETHING REACTIN TO CIRCLE GESTURE
               }
               break;
               case "Triangle":
               {
                   // DO SOMETHING REACTING TO TRIANGLE GESTURE
               }
               break;
           }
       }

       void OnGestureRejected(string error,string gestureName,double confidence)
       { 

       }
}

猜你喜欢

转载自blog.csdn.net/zys91011_muse/article/details/80215848