精华内容
下载资源
问答
  • 区域分割概念

    2020-11-13 11:25:41
    图像区域分割是一种图像处理技术。图像区域分割的目的是从图像中划分出某个物体的区域,即找出那些对应于物体或物体表面的像元集合,它们表现为二维的团块状,这是区域基本形状特点之一。 ...

    图像区域分割是一种图像处理技术。图像区域分割的目的是从图像中划分出某个物体的区域,即找出那些对应于物体或物体表面的像元集合,它们表现为二维的团块状,这是区域基本形状特点之一。

    展开全文
  • 基于多视点视图深度特征,提出一种通过简单块匹配运算划分多视点视图区域并估计区域视差的算法。首先基于深度对象的概念确定图像中具有不同深度的区域数量以及这些区域对应的区域视差,再根据误差最小化准则初步确定每...
  • 对于刚开始接触亚马逊云科技的用户而言,区域(Region)和可用区(Availability Zone,AZ)这两个概念有点不好理解。初次接触时往往不知道它们跟我们日常说的数据中心是什么关系。然而区域和可用区是亚马逊云科技中...

    对于刚开始接触AWS的用户而言,区域(Region)和可用区(Availability Zone,AZ)这两个概念有点不好理解。初次接触时往往不知道它们跟我们日常说的数据中心是什么关系。然而区域和可用区是AWS中非常基础和重要的概念,因此我这里详细解释一下它们的一些来龙去脉。

     

    我们知道云服务底层的物质基础是数据中心,但是一方面由于AWS目前的规模已经比较庞大,另一方面AWS需要服务全球不同地区的用户,因此AWS在全球建立了许多数据中心。那如何来组织和设计这些数据中心,从而让用户能够更为可靠的使用AWS提供的云服务,同时满足他们在法规遵循方面的要求呢?AWS巧妙的采用了区域和可用区两层设计架构,而不是直接使用数据中心概念。实际上这是一种IT系统架构中常用的抽象和解耦的方式,只不过这是在更宏观更高的层次——把AWS云服务与底层物理数据中心进行了解耦设计。

     

    先来看一下区域(Region)概念。AWS云服务在全球不同的地方都有数据中心,比如北美、南美、欧洲和亚洲等。与此对应,根据地理位置我们把某个地区的基础设施服务集合称为一个区域。通过AWS的区域,一方面可以使得AWS云服务在地理位置上更加靠近我们的用户,另一方面使得用户可以选择不同的区域存储他们的数据以满足法规遵循方面的要求。在12月18日发布会之前全球有9个区域,包括:美东(北佛吉尼亚)、美西(俄勒冈)、美西(北加利佛尼亚)、欧洲(爱尔兰)、亚太(新加坡)、亚太(东京)、亚太(悉尼)、南美(圣保罗)和在美西服务政府的GovCloud区域。AWS中国(北京)区域将是亚马逊AWS在亚太地区的第4个区域,同时也是全球范围内的第10个区域。

     

    总的来说,AWS的不同区域之间是相对独立的,但是它们的独立程度与区域的类别有关。根据目前10个区域的各自特点我们可以把它们分成3个不同的类别。第一类是GovCloud区域,主要是服务美国的政府机构和部分美国客户。GovCloud满足ITAR和FedRAMP等规范,具有独立的用户管理体系。用户使用GovCloud区域的AWS服务需要专门的申请和审核流程,所以这个区域跟我们中国用户关系不大。第二类是中国区域,这也是一个与其他区域独立的专门服务中国客户的区域。中国区域采用了独立的用户账户体系,也就是说用户需要在中国(北京)区域的网站上申请账户来使用这里的服务。最后一类的是目前其他8个区域。这8个区域是面向所有用户的,且共享同一个账户体系,所以用户注册AWS账户后可以使用所有这8个区域的服务。对于那些需要同时使用AWS这8个区域和AWS中国区域的用户来说,他们同时需要两个账户——一个在中国的区域使用,另一个在其他8个区域使用。

     

    我们可以看出GovCloud区域和AWS中国区域都有自己独立的账户体系,与其他区域的服务是隔离的。对于其他8个区域,用户在不同区域存储的数据也都是相互独立的,也就是说AWS不会自动对用户数据进行跨区域的传输,这个对用户的法规遵循要求很重要。而且这8个区域的大部分AWS服务也是独立的,不过与中国区域和GovCloud区域完全独立不同的是有一些服务它们是共享的,比如它们共用一个账户体系和IAM服务,使用同一个AWS管理控制台,统一的Route53服务等。由于区域和区域之间相对独立,因此用户通过AWS管理控制台,CLI命令行和API操作AWS服务时,需要事先指定操作的对象是在哪个区域。以EC2的区域为例说明,每个区域都有自己对应的编码如下表所示:

    许多AWS用户同时使用了多个区域,因此为了方便用户进行跨区域使用和部署服务,AWS目前也开始提供一些跨区域的服务,比如跨区域的EC2 AMI拷贝、跨区域的EBS快照拷贝、跨区域的RDS读拷贝等。不要需要指出的是所有这些跨区域操作都需要用户自己发起,而且这些跨区域操作只能在前面所说的8个区域之间进行。

     

    AWS的每个区域一般由多个可用区(AZ)组成,而一个可用区一般是由多个数据中心组成。AWS引入可用区设计主要是为了提升用户应用程序的高可用性。因为可用区与可用区之间在设计上是相互独立的,也就是说它们会有独立的供电、独立的网络等,这样假如一个可用区出现问题时也不会影响另外的可用区。在一个区域内,可用区与可用区之间是通过高速网络连接,从而保证有很低的延时。AWS的区域与可用区的关系示意如下图所示:

    每次当用户需要使用EC2相关资源的时候,他需要首先选择目标区域,如美东(北佛杰尼亚)us-east-1。然后在创建EC2实例的时候,用户可以选择实例所在的可用区,比如可以是us-east-1a或us-east-1b等。可用区的编码就是区域后面顺序添加不同的英文字母。为了尽可能让不同用户平均分布在不同的可用区,一个用户选择的us-east-1a与另一个用户选择的us-east-1a可能不是同一个可用区,AWS后台会根据实际资源情况进行映射,但同一个用户选择的某个可用区前后是固定的。如果用户在创建EC2实例的时候没有选择可用区,那么AWS会自动选择一个合适的可用区。AWS建议用户在设计应用架构的时候尽可能的把他们的应用分布在不同的可用区上面,从而提升他们应用的高可用性。应用和服务的多可用区的部署也是实现高服务水平协议的一个重要手段和要求。

     

     

     

     

     

     

     

     

     

    展开全文
  • 卷积神经网络概念与原理

    万次阅读 多人点赞 2016-09-05 10:00:27
    一、卷积神经网络的基本概念 受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位。近年来卷积神经网络在多个方向...

    一、卷积神经网络的基本概念

     

           受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位。近年来卷积神经网络在多个方向持续发力,在语音识别、人脸识别、通用物体识别、运动分析、自然语言处理甚至脑电波分析方面均有突破。

           卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN的一个卷积层中,通常包含若干个特征平面(featureMap),每个特征平面由一些矩形排列的的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值(卷积核)带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。子采样也叫做池化(pooling),通常有均值子采样(mean pooling)和最大值子采样(max pooling)两种形式。子采样可以看作一种特殊的卷积过程。卷积和子采样大大简化了模型复杂度,减少了模型的参数。

    二、卷积神经网络的应用场景

     

    三、卷积神经网络的原理

    3.1 神经网络

           首先介绍神经网络,这一步的详细可以参考资源1。简要介绍下。神经网络的每个单元如下:

    logistic

           其对应的公式如下:

    equal

           其中,该单元也可以被称作是Logistic回归模型。当将多个单元组合起来并具有分层结构时,就形成了神经网络模型。下图展示了一个具有一个隐含层的神经网络。

    equal

            其对应的公式如下:

    equal

           比较类似的,可以拓展到有2,3,4,5,…个隐含层。

           神经网络的训练方法也同Logistic类似,不过由于其多层性,还需要利用链式求导法则对隐含层的节点进行求导,即梯度下降+链式求导法则,专业名称为反向传播。关于训练算法,本文暂不涉及。

    3.2 卷积神经网络

           受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位。近年来卷积神经网络在多个方向持续发力,在语音识别、人脸识别、通用物体识别、运动分析、自然语言处理甚至脑电波分析方面均有突破。

           卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN的一个卷积层中,通常包含若干个特征平面(featureMap),每个特征平面由一些矩形排列的的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值(卷积核)带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。子采样也叫做池化(pooling),通常有均值子采样(mean pooling)和最大值子采样(max pooling)两种形式。子采样可以看作一种特殊的卷积过程。卷积和子采样大大简化了模型复杂度,减少了模型的参数。卷积神经网络的基本结构如图所示:

     

           卷积神经网络由三部分构成。第一部分是输入层。第二部分由n个卷积层和池化层的组合组成。第三部分由一个全连结的多层感知机分类器构成。

    3.2.1局部感受野

           卷积神经网络有两种神器可以降低参数数目,第一种神器叫做局部感知野。一般认为人对外界的认知是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息。网络部分连通的思想,也是受启发于生物学里面的视觉系统结构。视觉皮层的神经元就是局部接受信息的(即这些神经元只响应某些特定区域的刺激)。如下图所示:左图为全连接,右图为局部连接。

    equal

            在上右图中,假如每个神经元只和10×10个像素值相连,那么权值数据为1000000×100个参数,减少为原来的万分之一。而那10×10个像素值对应的10×10个参数,其实就相当于卷积操作。

    3.2.3 权值共享

           但其实这样的话参数仍然过多,那么就启动第二级神器,即权值共享。在上面的局部连接中,每个神经元都对应100个参数,一共1000000个神经元,如果这1000000个神经元的100个参数都是相等的,那么参数数目就变为100了。

           怎么理解权值共享呢?我们可以这100个参数(也就是卷积操作)看成是提取特征的方式,该方式与位置无关。这其中隐含的原理则是:图像的一部分的统计特性与其他部分是一样的。这也意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。

           更直观一些,当从一个大尺寸图像中随机选取一小块,比如说 8x8 作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个 8x8 样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。特别是,我们可以用从 8x8 样本中所学习到的特征跟原本的大尺寸图像作卷积,从而对这个大尺寸图像上的任一位置获得一个不同特征的激活值。

           如下图所示,展示了一个3×3的卷积核在5×5的图像上做卷积的过程。每个卷积都是一种特征提取方式,就像一个筛子,将图像中符合条件(激活值越大越符合条件)的部分筛选出来。

    equal

    3.2.4 多卷积核

           上面所述只有100个参数时,表明只有1个10*10的卷积核,显然,特征提取是不充分的,我们可以添加多个卷积核,比如32个卷积核,可以学习32种特征。在有多个卷积核时,如下图所示:

    equal

           上图右,不同颜色表明不同的卷积核。每个卷积核都会将图像生成为另一幅图像。比如两个卷积核就可以将生成两幅图像,这两幅图像可以看做是一张图像的不同的通道。如下图所示,下图有个小错误,即将w1改为w0,w2改为w1即可。下文中仍以w1和w2称呼它们。

          下图展示了在四个通道上的卷积操作,有两个卷积核,生成两个通道。其中需要注意的是,四个通道上每个通道对应一个卷积核,先将w2忽略,只看w1,那么在w1的某位置(i,j)处的值,是由四个通道上(i,j)处的卷积结果相加然后再取激活函数值得到的。

    equal

    equal

           所以,在上图由4个通道卷积得到2个通道的过程中,参数的数目为4×2×2×2个,其中4表示4个通道,第一个2表示生成2个通道,最后的2×2表示卷积核大小。

    3.2.5 Down-pooling

           在通过卷积获得了特征 (features) 之后,下一步我们希望利用这些特征去做分类。理论上讲,人们可以用所有提取得到的特征去训练分类器,例如 softmax 分类器,但这样做面临计算量的挑战。例如:对于一个 96X96 像素的图像,假设我们已经学习得到了400个定义在8X8输入上的特征,每一个特征和图像卷积都会得到一个 (96 − 8 + 1) × (96 − 8 + 1) = 7921 维的卷积特征,由于有 400 个特征,所以每个样例 (example) 都会得到一个 7921 × 400 = 3,168,400 维的卷积特征向量。学习一个拥有超过 3 百万特征输入的分类器十分不便,并且容易出现过拟合 (over-fitting)。

           为了解决这个问题,首先回忆一下,我们之所以决定使用卷积后的特征是因为图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值 (或最大值)。这些概要统计特征不仅具有低得多的维度 (相比使用所有提取得到的特征),同时还会改善结果(不容易过拟合)。这种聚合的操作就叫做池化 (pooling),有时也称为平均池化或者最大池化 (取决于计算池化的方法)。

    equal

            

           子采样有两种形式,一种是均值子采样(mean-pooling),一种是最大值子采样(max-pooling)。两种子采样看成特殊的卷积过程,如图下图所示:

           (1)均值子采样的卷积核中每个权重都是0.25,卷积核在原图inputX上的滑动的步长为2。均值子采样的效果相当于把原图模糊缩减至原来的1/4。

           (2)最大值子采样的卷积核中各权重值中只有一个为1,其余均为0,卷积核中为1的位置对应inputX被卷积核覆盖部分值最大的位置。卷积核在原图inputX上的滑动步长为2。最大值子采样的效果是把原图缩减至原来的1/4,并保留每个2*2区域的最强输入。

            至此,卷积神经网络的基本结构和原理已经阐述完毕。

     

    3.2.6 多卷积层

     

     

           在实际应用中,往往使用多层卷积,然后再使用全连接层进行训练,多层卷积的目的是一层卷积学到的特征往往是局部的,层数越高,学到的特征就越全局化。

    四、卷积神经网络的训练

          本文的主要目的是介绍CNN参数在使用bp算法时该怎么训练,毕竟CNN中有卷积层和下采样层,虽然和MLP的bp算法本质上相同,但形式上还是有些区别的,很显然在完成CNN反向传播前了解bp算法是必须的。

    4.1 Forward前向传播

     

           前向过程的卷积为典型valid的卷积过程,即卷积核kernalW覆盖在输入图inputX上,对应位置求积再求和得到一个值并赋给输出图OutputY对应的位置。每次卷积核在inputX上移动一个位置,从上到下从左到右交叠覆盖一遍之后得到输出矩阵outputY(如图4.1与图4.3所示)。如果卷积核的输入图inputX为Mx*Nx大小,卷积核为Mw*Nw大小,那么输出图Y为(Mx-Mw+1)*(Nx-Nw+1)大小。

     

    4.2 BackForward反向传播

           在错误信号反向传播过程中,先按照神经网络的错误反传方式得到尾部分类器中各神经元的错误信号,然后错误信号由分类器向前面的特征抽取器传播。错误信号从子采样层的特征图(subFeatureMap)往前面卷积层的特征图(featureMap)传播要通过一次full卷积过程来完成。这里的卷积和上一节卷积的略有区别。如果卷积核kernalW的长度为Mw*Mw的方阵,那么subFeatureMap的错误信号矩阵Q_err需要上下左右各拓展Mw-1行或列,与此同时卷积核自身旋转180度。subFeatureMap的错误信号矩阵P_err等于featureMap的误差矩阵Q_err卷积旋转180度的卷积核W_rot180。

           下图错误信号矩阵Q_err中的A,它的产生是P中左上2*2小方块导致的,该2*2的小方块的对A的责任正好可以用卷积核W表示,错误信号A通过卷积核将错误信号加权传递到与错误信号量为A的神经元所相连的神经元a、b、d、e中,所以在下图中的P_err左上角的2*2位置错误值包含A、2A、3A、4A。同理,我们可以论证错误信号B、C、D的反向传播过程。综上所述,错误信号反向传播过程可以用下图中的卷积过程表示。

     

    4.3 权值更新过程中的卷积

           卷积神经网络中卷积层的权重更新过程本质是卷积核的更新过程。由神经网络的权重修改策略我们知道一条连接权重的更新量为该条连接的前层神经元的兴奋输出乘以后层神经元的输入错误信号,卷积核的更新也是按照这个规律来进行。

     

           在前向卷积过程中,卷积核的每个元素(链接权重)被使用过四次,所以卷积核每个元素的产生四个更新量。把前向卷积过程当做切割小图进行多个神经网络训练过程,我们得到四个4*1的神经网络的前层兴奋输入和后层输入错误信号,如图所示。

     

            根据神经网络的权重修改策略,我们可以算出如图所示卷积核的更新量W_delta。权重更新量W_delta可由P_out和Q_err卷积得到,如图下图所示。

    五、常见网络结构

     

    5.1 ImageNet-2010网络结构

    ImageNet LSVRC是一个图片分类的比赛,其训练集包括127W+张图片,验证集有5W张图片,测试集有15W张图片。本文截取2010年Alex Krizhevsky的CNN结构进行说明,该结构在2010年取得冠军,top-5错误率为15.3%。值得一提的是,在今年的ImageNet LSVRC比赛中,取得冠军的GoogNet已经达到了top-5错误率6.67%。可见,深度学习的提升空间还很巨大。

    下图即为Alex的CNN结构图。需要注意的是,该模型采用了2-GPU并行结构,即第1、2、4、5卷积层都是将模型参数分为2部分进行训练的。在这里,更进一步,并行结构分为数据并行与模型并行。数据并行是指在不同的GPU上,模型结构相同,但将训练数据进行切分,分别训练得到不同的模型,然后再将模型进行融合。而模型并行则是,将若干层的模型参数进行切分,不同的GPU上使用相同的数据进行训练,得到的结果直接连接作为下一层的输入。

    equal

    上图模型的基本参数为:
    
    • 输入:224×224大小的图片,3通道
    • 第一层卷积:11×11大小的卷积核96个,每个GPU上48个。
    • 第一层max-pooling:2×2的核。
    • 第二层卷积:5×5卷积核256个,每个GPU上128个。
    • 第二层max-pooling:2×2的核。
    • 第三层卷积:与上一层是全连接,3*3的卷积核384个。分到两个GPU上个192个。
    • 第四层卷积:3×3的卷积核384个,两个GPU各192个。该层与上一层连接没有经过pooling层。
    • 第五层卷积:3×3的卷积核256个,两个GPU上个128个。
    • 第五层max-pooling:2×2的核。
    • 第一层全连接:4096维,将第五层max-pooling的输出连接成为一个一维向量,作为该层的输入。
    • 第二层全连接:4096维
    • Softmax层:输出为1000,输出的每一维都是图片属于该类别的概率。

    5.2 DeepID网络结构

            DeepID网络结构是香港中文大学的Sun Yi开发出来用来学习人脸特征的卷积神经网络。每张输入的人脸被表示为160维的向量,学习到的向量经过其他模型进行分类,在人脸验证试验上得到了97.45%的正确率,更进一步的,原作者改进了CNN,又得到了99.15%的正确率。

    如下图所示,该结构与ImageNet的具体参数类似,所以只解释一下不同的部分吧。

    equal

           上图中的结构,在最后只有一层全连接层,然后就是softmax层了。论文中就是以该全连接层作为图像的表示。在全连接层,以第四层卷积和第三层max-pooling的输出作为全连接层的输入,这样可以学习到局部的和全局的特征。

     

     

     

     

    参考资源

    • [1] http://deeplearning.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B 栀子花对Stanford深度学习研究团队的深度学习教程的翻译
    • [2] http://blog.csdn.net/zouxy09/article/details/14222605 csdn博主zouxy09深度学习教程系列
    • [3] http://deeplearning.net/tutorial/ theano实现deep learning
    • [4] Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.
    • [5] Sun Y, Wang X, Tang X. Deep learning face representation from predicting 10,000 classes[C]//Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on. IEEE, 2014: 1891-1898.
    • [6] http://blog.csdn.net/stdcoutzyx/article/details/41596663
     
     
    展开全文
  • uml活动图的概念与作用

    千次阅读 2016-04-23 09:11:52
    uml是程序员需要掌握一个重要工具,特别在研究hadoop(http://www.iigrowing.cn/hadoop)系统中,有很多...在uml参考资料中缺少活动图方面的介绍,因此特地在网络上寻找了一些资料,然后整理成一篇文章,供大家参考,水

    uml是程序员需要掌握一个重要工具,特别在研究hadoop(http://www.iigrowing.cn/hadoop)系统中,有很多相关的uml图形需要绘制,为了方便大家了解uml,在网络上找了些uml方面的文章(http://www.iigrowing.cn/?s=uml)在参考资料中,在uml参考资料中缺少活动图方面的介绍,因此特地在网络上寻找了一些资料,然后整理成一篇文章,供大家参考,水平有限疏漏难免,请谅解.

    一.UML概述

    以下内容对uml进行简单介绍,读者有兴趣可以阅读,建议读者可以阅读其他uml等文章,最后有时间在了解这个部分内容。这样可以先去实践一些uml,然后在回到这里的一些简单的理论介绍,收获会大些。

    UML 全称Unified Modeling Language 又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持。

    UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。

    作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。

    (1) UML语义 描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。

    (2) UML表示法 定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。

    标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:

    第一类是用例图,

    从用户角度描述系统功能,并指出各功能的操作者。

    第二类是静态图 (Static diagram),

    包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。

    对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

    包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。

    第三类是行为图(Behavior diagram),

    描述系统的动态模型和组成对象间的交互关系。行为图包括:状态图、活动图、顺序图和协作图。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。 而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。 顺序图展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。用顺序图说明系统的动态视图。 协作图展现了一组对象,这组对象间的连接以及这组对象收发的消息。它强调收发消息的对象的结构组织,按组织结构对控制流建模。 顺序图和协作图都是交互图,顺序图和协作图可以相互转换。

    第四类是交互图(Interactive diagram),

    描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。

    第五类是实现图 ( Implementation diagram )。

    其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。

    配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。

    从应用的角度看,当采用面向对象技术设计系统时,

    首先是描述需求;

    其次根据需求建立系统的静态模型,以构造系统的结构;

    第三步是描述系统的行为。

    其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语言UML的静态建模机制。

    其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言UML的动态建模机制。因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。

    二.活动图介绍

    1. 简介

    活动图是uml的动态模型的一种图形,一般用来描述相关用例图。准确的活动图定义:活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。

    交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流

    活动图是一种表述过程基理、业务过程以及工作流的技术。

    它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模

    2. 活动图示例

    下图是个简单的活动图例子,里面包括了大部分活动图的相关元素,大家应该都能看的差不多吧,有不明白的可以继续看,下面有针对各个元素有介绍啦,相信大家看完后面的,看这个图就不会有问题的。

    另外,若想学会画活动图,必须先看大量的图,看明白别人的图,在慢慢画,慢慢一个图形就弄明白了。

    其实uml包括了各种各样的图形,把每种图形都会画啦,基本uml也就会啦。

    3. 活动图与流程图的区别

    活动图描述系统使用的活动、判定点和分支,看起来和流程图没什么两样,并且传统的流程图所能表示的内容,大多数情况下也可以使用活动图表示,但是两者是有区别的,不能将两个概念混淆。

    活动图与流程图的区别

    ⑴ 流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系

    活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。

    ⑵ 活动图能够表示并发活动的情形,而流程图不能。

    ⑶ 活动图是面向对象的,而流程图是面向过程的。

    4. 活动图与状态图区别

    活动图与状态图都是状态机的表现形式,但是两者还是有本质区别:

    状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。

    上图是一个典型的状态图

    活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。

    5. 活动图基本元素

    1) 初始节点和活动终点:

    实心圆表示初始节点(只有一个),圆圈内加一个实心圆来表示活动终点(可有多个)。

    2) 活动节点:

    用来表示一个活动

    3) 转换:

    一条带箭头的直线来表示。 一旦前一个活动结束马上转到下一个活动(无触发转换)。

    4) 分支与监护条件:

    分支是用菱形表示的,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。而每个离开转换上都会有一个监护条件,用来表示满足什么条件的时候执行该转换。

    5) 分叉与汇合:

    分叉用于将动作流分为两个或者多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。

    分叉可以用来描述并发线程,每个分叉可以有一个输入转换和两个或多个输出转换,每个转换都可以是独立的控制流。

    汇合代表两个或多个并发控制流同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行。

    每个汇合可以有两个或多个输入转换和一个输出转换。

    汇合将两条路径连接到一起,合并成一条路径。汇合指的是两个或者多个控制路径在此汇合的情况。汇合是一种便利的表示法,省略它不会丢失信息。汇合和分支常常成对的使用,合并表示从对应分支开始的条件行为的结束。

    分叉和汇合都使用加粗的水平线段表示。

    6. 抽象的活动图示例

    UML的活动图中包含的图形元素有动作状态、活动状态、动作流、分支与合并、分叉与汇合、泳道和对象流等。

    7. 带泳道的活动图

    泳道表明每个活动是由哪些人或哪些部门负责完成。

    每个泳道代表特定含义的状态职责的部分。在活动图中,每个活动只能明确的属于一个泳道,泳道明确的表示了哪些活动是由哪些对象进行的。

    每个泳道都有一个与其他泳道不同的名称。

    每个泳道可能由一个或者多个类实施,类所执行的动作或拥有的状态按照发生的事件顺序自上而下的排列在泳道内。

    在活动图中泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。

    在包含泳道的活动图中每个活动只能明确地属于一个泳道

    上图是一个未采用泳道的活动图

    上图是采用泳道技术后的活动图

    从两幅图的对比中,我们可以了解泳道技术是非常重要的,可以更明确表达出活动图的意图。

    泳道将活动图中的活动化分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。

    泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。

    在包含泳道的活动图中,每个活动只能明确地属于一个泳道。

    在活动图中,泳道用垂直实线绘出,垂直线分隔的区域就是泳道。

    在泳道上方可以给出泳道的名字或对象(对象类)的名字,该对象(对象类)负责泳道内的全部活动。

    泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行。

    动作流和对象流允许穿越分隔线。

    8. 带对象流的活动图

    用活动图描述某个对象时,可以把涉及到的对象放置在活动图中,并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上,对象的这种使用方法就构成了对象流。

    对象流是动作状态或者活动状态与对象之间的依赖关系

    对象流表示动作使用对象或者动作对对象的影响。

     

    对象流中对象的特点:

    ⑴ 一个对象可以由多个动作操纵;

    ⑵ 一个动作输出的对象可以作为另一个动作输入的对象;

    对象流中对象的特点:

    ⑶ 在活动图中,同一个对象可以多次出现,它的每一次出现表明该对象正处于对象生存期的不同时间点。

    在活动图中,对象流用带有箭头的虚线表示。

    如果箭头从动作状态出发指向对象,则表示动作对对象施加了一定的影响。

    施加的影响包括创建、修改和撤销等。如果箭头从对象指向动作状态,则表示该动作使用对象流所指向的对象。

    状态图中的对象用矩形表示,矩形内是该对象的名称,名称下的方括号表明对象此时的状态。

    还可以在对象名称的下面加一个分隔栏表示对象的属性值。

    9. 信号发送和接收

    发送信号与接收信号

     

    10. 引脚

    是一个对象节点,代表活动连接输入、输出值的连接点

    用来标明每个活动节点所需输入的数据或者所产生的数据(建模业务流时则可表示产生或者消耗的资源)

     

    11. 扩展区

    表示重复或循环

     

    12. 辅助活动图

    当活动图过于复杂时可以用活动的分解来处理

     

    一个活动可以分为若干个动作或子活动,这些动作和子活动本身又可以组成一个活动图。

    不含内嵌活动或动作的活动称之为简单活动;

    嵌套了若干活动或动作的活动称之为组合活动,组合活动有自己的名字和相应的子活动图

    三.活动图绘制要点

    ⑴ 识别要对工作流描述的类或对象。找出负责工作流实现的业务对象,这些对象可以是显示业务领域的实体,也可以是一种抽象的概念和事物。找出业务对象的目的是为每一个重要的业务对象建立泳道。

    ⑵ 确定工作流的初始状态和终止状态,明确工作流的边界。

    ⑶ 对动作状态或活动状态建模。找出随时间发生的动作和活动,将它们表示为动作状态或活动状态。

    ⑷ 对动作流建模。对动作流建模时可以首先处理顺序动作,接着处理分支与合并等条件行为,然后处理分叉与汇合等并发行为。

    ⑸ 对对象流建模。找出与工作流相关的重要对象,并将其连接到相应的动作状态和活动状态。

    ⑹ 对建立的模型进行精化和细化。

    展开全文
  • 图像区域特征

    千次阅读 2017-08-23 15:38:33
    以 Halcon 里支持的 Region 特征为基础,做概念总结形状特征
  • 图像特征概念

    万次阅读 2014-05-12 10:47:58
    (一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等...
  • 协同软件的概念与特征

    千次阅读 2005-12-10 18:52:00
    第二代互联网在个人级应用上,主要是:BLOG(博客)、BBS(社区网站)、SNS(社交网络)、RSS(内容聚合),在企事业单位的组织级应用上, 主要是协同办公商务,包括了实时异步的信息流转共享、知识采集利用...
  • 对此,文中通过引入直方图子区间对应区域的边缘复杂度概念,提出了一种描述图像特征区域边缘直方图方法.文章首先定义了区域边缘复杂度的概念,并提出以直方图各子区间的边缘复杂度作为空间权系数对各子区间进行加权,...
  • 精选目标检测1——IOU的概念与python实例

    万次阅读 多人点赞 2021-03-20 13:53:34
    文章目录学习前言IOU的特点全部代码 学习前言 神经网络的应用还有许多,目标检测就是其中之一,目标检测中有一个很重要的概念便是IOU。 什么是IOU IOU是一种评价目标检测器的一种指标。 下图是一个示例:图中绿色...
  • 图像特征概念、什么是图像特征

    万次阅读 2016-07-26 16:01:48
    有少量修改,如有疑问,请问原作者!...(一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有
  • 华为 OSPF基本概念与基础配置

    万次阅读 多人点赞 2020-05-19 17:48:37
    在战胜敌人之前,先战胜自己。 文章目录 一、拓扑 ...OSPF 是一种应用非常广泛发基于链路状态的动态路由协议,它具有区域(Area)化的层次结构,扩展性好,收敛速度快,适合部署在各种规模的网络上。
  • 点云概念与点云处理

    万次阅读 多人点赞 2018-12-14 19:53:59
    点云三维图像的关系:三维图像是一种特殊的信息表达形式,其特征是表达的空间中三个维度的数据,表现形式包括:深度图(以灰度表达物体相机的距离),几何模型(由CAD软件建立),点云模型(所有逆向工程设备都...
  • 根据目前10个区域的各自特点我们可以把它们分成3个不同的类别。第一类是GovCloud区域,主要是服务美国的政府机构和部分美国客户。GovCloud满足ITAR和FedRAMP等规范,具有独立的用户管理体系。用户使用GovCloud区域的...
  • 概念描述: GLSZMGLRLM(gray-level run-length matrix)类似,GLRLM是在一维方向上记录连续jjj个像素值iii连续相邻的情况的出现的次数,GLSZM是在二维区域内记录图像区域内有jjj个iii元素...
  • 机器视觉学习(一):特征提取基本概念总结一、特征提取概念二、特征概述1.边缘2.角3.区域4.脊三、常用图像特征概述1.颜色特征2.纹理特征3.形状特征4.空间关系特征 一、特征提取概念 特征提取是计算机视觉和...
  • JVM内存区域--堆栈方法区等概念理解

    千次阅读 2016-12-11 11:56:50
    随着oracle收购了HotSpot开发团队,HotSpot开始oracle收购sun公司得来的java进行结合,形成了经久不衰的hotspot jvm虚拟机。 java内存的组成可以由Heap和NO-Heap组成,但是更加准确一点的解释却是分为线程内存和...
  • 睿智的目标检测1——IOU的概念与python实例

    千次阅读 多人点赞 2019-10-08 20:47:27
    睿智的目标检测1——IOU的概念与python实例学习前言什么是IOUIOU的特点全部代码 学习前言 神经网络的应用还有许多,目标检测就是其中之一,目标检测中有一个很重要的概念便是IOU。 什么是IOU IOU是一种评价目标检测...
  • 简要阐述区域轨道交通和城市轨道交通的基本概念,在分析区域轨道交通和城市轨道交通技术特征的基础上,提出都市圈的区域城市铁路发展模式,以及区域轨道交通城市轨道交通的衔接模式。以重庆 lh经济圈的轨道交通布局为...
  • 流形的概念与应用

    千次阅读 2018-08-29 16:59:40
    根据百度百科的解释,流形是局部具有欧几里得...周志华的西瓜书第十章里有关于流形学习的概念——流形学习(manifold learning)是一类借鉴了拓扑流形概念的降维方法。“流形”是在局部欧式空间同胚的空间,换言之...
  • 深入理解Java虚拟机-Java内存区域与内存溢出异常

    万次阅读 多人点赞 2020-01-03 21:42:24
    JavaC++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却想出来。 文章目录概述运行时数据区域程序计数器(线程私有)Java虚拟机栈(线程私有)局部变量表操作数栈动态链接...
  • CNN的概念与原理

    万次阅读 2018-04-28 15:11:52
    文章转自:https://blog.csdn.net/yunpiao123456/article/details/52437794###一、卷积神经网络的基本概念 受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于...
  • 地震反演概念与分类

    千次阅读 2019-07-08 18:09:39
    地震反演技术是一个笼统的,包含着...在探井井位探测中,井点资料的特点是纵向信息精细,地震资料的特点是横向信息连续性强。 地震反演技术正是把二者有机地结合起来,然后经过数据的比对进行反演后,将界面型的地...
  • OSPF协议将其管理的网络划分为不同类型的若干区域(Area),其中标准区域特点是(64);存根区域(stub)的特点是(65)。 (64)A.不接受本地AS之外的路由信息,也不接受其他区域的路由汇总信息 B.不接受本地AS...
  • 分析一项针对Boldo Mirim(微型Boldo)(Plectranthus neochilus Schltr。... 在遵循拟议的方案后,对涉及植物特征,物种和表型可塑性的概念以及实践活动的有效性的12个问题的问卷,从49位学生中选择了1

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 157,786
精华内容 63,114
关键字:

区域活动的概念与特点