【SSAD】UML用例图

【SSAD】UML用例图

@(SSAD)

参考:https://www.cnblogs.com/langtianya/p/4512540.html

用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图。用例图呈现了一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。

构成

用例图由参与者(Actor)、用例(Use Case)、系统边界、箭头组成,用画图的方法来完成。

参与者(Actor)

表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。

用例(Use Case)

用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示。

子系统(Subsystem)

用来展示系统的一部分功能,这部分功能联系紧密。

关系

用例图中涉及的关系有:关联、泛化、包含、扩展。

关联(Association)

表示参与者与用例之间的通信,任何一方都可发送或接受消息。

【箭头指向】:指向消息接收方

泛化(Inheritance)

就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。

【箭头指向】:指向父用例

包含(Include)

包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。》

【箭头指向】:指向分解出来的功能用例

扩展(Extend)

扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。

【箭头指向】:指向基础用例

依赖(Dependency)

以上4种关系,是UML定义的标准关系。但VS2010的用例模型图中,添加了依赖关系,用带箭头的虚线表示,表示源用例依赖于目标用例。

【箭头指向】:指向被依赖项

项目(Artifact)

用例图虽然是用来帮助人们形象地理解功能需求,但却没多少人能够通看懂它。很多时候跟用户交流甚至用Excel都比用例图强,VS2010中引入了“项目”这样一个元素,以便让开发人员能够在用例图中链接一个普通文档。

注释(Comment)

用例图的注释。

一个用例图例子:
a

我们小组的扫码点餐系统的用例图:
B

### SSAD 技术概述 SSAD(Single-Stage Anomaly Detection)是一种在工业视觉检测领域中广泛应用的技术,主要针对异常检测问题。与传统的两阶段方法不同,SSAD 通过单阶段架构直接完成异常的分类和定位,从而显著提高了检测效率[^2]。 在工业场景中,SSAD 常用于无监督或弱监督学习任务,特别是在数据标注成本较高的情况下。例如,在 MVTec 数据集上,SSAD 方法可以实现高精度的异常检测和定位,其性能接近甚至超越了多阶段方法。具体而言,SSAD 的核心思想是通过自监督学习提取正常样本的特征表示,并利用这些特征来区分正常与异常样本[^3]。 以下是 SSAD 技术的关键组成部分: #### 1. 特征提取 SSAD 使用深度卷积神经网络(如 ResNet 或 EfficientNet)作为特征提取器,从正常样本中学习特征表示。这些特征通常被编码为低维向量或特征图,以便后续处理[^4]。 ```python import torch import torch.nn as nn class FeatureExtractor(nn.Module): def __init__(self): super(FeatureExtractor, self).__init__() self.conv = nn.Sequential( nn.Conv2d(3, 64, kernel_size=3, stride=1, padding=1), nn.ReLU(), nn.MaxPool2d(kernel_size=2) ) def forward(self, x): return self.conv(x) # 示例代码:初始化特征提取器 model = FeatureExtractor() input_tensor = torch.randn(1, 3, 256, 256) features = model(input_tensor) ``` #### 2. 异常评分计算 SSAD 通过比较测试样本与正常样本的特征差异来计算异常评分。常见的距离度量包括欧氏距离、余弦相似度或 Mahalanobis 距离。此外,SSAD 还可以结合位置信息和上下文信息来提升检测精度[^5]。 #### 3. 高分辨率掩码生成 类似于引用中的 refine 网络,SSAD 可以通过引入额外的模块(如 U-Net 或 RefineNet)生成高分辨率的异常掩码。这种方法特别适用于需要精确定位异常区域的应用场景[^6]。 ```python import torch.nn.functional as F class RefineNetwork(nn.Module): def __init__(self): super(RefineNetwork, self).__init__() self.upconv = nn.ConvTranspose2d(64, 1, kernel_size=4, stride=2, padding=1) def forward(self, features): mask = self.upconv(features) return torch.sigmoid(mask) # 示例代码:初始化 refine 网络 refine_net = RefineNetwork() high_res_mask = refine_net(features) ``` ### 性能指标 在 MVTec AD 数据集上,SSAD 方法取得了以下性能指标: - **Detection AUROC**: 98.7% - **Localization AUROC**: 97.3% 这些结果表明,SSAD 在异常检测和定位任务中具有较强的竞争力[^7]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值