DreamBlooms/HansPub-15000-to-45000 huggingface dataset:
system: [SYSTEM]

user: 3. RFID标签结合国网云应用体系设计与实现 3.1. 系统体系总体设计 基于RFID标签的技术特点，本次研究的目标为：借助国网云的云服务优势，使用存储了资产ID、生产日期、资产寿命等重要信息的RFID标签替代条码、二维码的方式，设计一套高效、科学、经济的数据管理体系，为提升电力电缆的管理效率提供条件。具体目标如下： 1) 设计整套基于PDA掌机设备、平板终端设备以及云算法库的管理体系 系统使用现场的PDA掌机设备在发起认证请求后，以蓝牙协议实现与平板终端设备通信交互，平板终端设备以VPN协议将认证请求发送至国网云算法库进行验证，验证通过后完成身份认证。认证通过的掌机设备可读取RFID标签内的信息，将解密信息传送至后台电缆管理系统进行处理，同时在PDA掌机设备以及平板终端设备上进行可视化展示。 2) 设计高并发的云算法库数据接口函数 云算法库由Linux环境编译生成so文件，提供与平板终端设备交换数据的接口，用于对认证请求以及现场RFID标签内的密文数据，按照协议解包进行数据解析。 3) 安装部署云服务 采用Eclipse IDE、Java语言开发的war包，启动tomcat将war包部署在国网云上，调用云算法库接口为平板终端设备的通讯提供数据服务，同时将解析的结果信息反馈至给平板终端设备。 4) 设计平板终端设备App程序 采用Android操作系统编写，以VPN协议与云服务通讯，完成PDA掌机的认证请求以及提供数据解析服务。 5) 设计后台基于RFID的电缆管理平台 基于RFID的电缆管理系统(生产管理系统)采用J2EE架构，Java语言编写，采用Mysql数据库，运行tomcat接收平板设备返回的标签数据进行入库管理，完成对现场环境电缆情况的定位标记。 为实现上述目标，硬件部分：1) 掌机芯片生产采用自研的1635超高频芯片，DKQ16A读卡器，VS2010环境下采用C++语言编写的发行程序将COS(芯片操作系统)下载至芯片中，并在芯片内部预留出厂密钥。针对发行成功的芯片，在通过生产检验、出厂抽检程序的检测后方可安装在掌机内部。2) RFID标签在车间使用白盒读卡器，VS2010环境下采用C++语言编写的标签发行程序将标签的资产ID、发行时间、检验时间、资产寿命等信息写入标签的用户区块，同时更新RFID标签内部的密钥。针对发行程序的RFID标签，在通过车间检验生产检验、出厂抽检程序的检测后将RFID标签下发至各网省电网公司使用。3) 平板终端设备直接采用市场上常见的PAD/手机。 设计体系架构图如下图1所示。 3.2. RFID标签结合国网云应用体系主要功能实现 国密算法中由于SM1的算法不公开性，设计中采用了SM4、SM2、SM3、SM7算法相结合的方式，实现体系中的主要功能，确保交互数据的保密性与安全性。 3.2.1. 更新掌机出厂密钥 掌机设备在出厂时安装出厂密钥，用于完成掌机认证以及密文数据的解析。为保证掌机设备的安全性以及防伪性，在掌机设备开机时会强制自动将内部芯片的序列号Cardno，上传至后台云算法库，以SM4算法轮函数的特性将该序列号作为分散因子IV生成新的密钥，更新至掌机内部，确保每台掌机设备密钥的唯一性。流程图如下图2所示。 图1. 整个电缆管理体系架构图 图2. 更新掌机密钥流程 3.2.2. 掌机身份认证 依据GB/T32918.1-2016、GB/T32918.2-2016、GB/T32918.3-2016、GB/T32918.4-2016、GB/T32918.5-2017的标准，使用掌机内的私钥对随机数R1密文R1’以及掌机版本信息V1的SM3哈希运算值、掌机公钥Pu1进行SM2算法的签名SignA1，国网云算法库用公钥Pu1对签名信息SignA1进行验签，验签通过后后台使用私钥对新的随机数R1 + R2重新进行SM2的签名SignA2发送至掌机内，掌机使用预留公钥Pu2完成验签后，使用R1 + R2生成会话密钥的方式完成掌机的身份认证。流程图如下图3。 图3. 掌机身份认证流程 3.2.3. 解析标签密文数据 掌机认证成功后，探测器设备直接读取现场RFID标签，将标签内数据的SM7密文信息，上传至后台云算法库对密文数据进行SM7解密，根据数据的规则性判断解密的数据是否正确，并在掌机以及平板中给出提示信息。流程如下图4所示。 3.2.4. 上传标签数据 平板设备对解析成功的标签有效数据，以VPN协议连接上传至后台基于RFID的电缆管理平台，对标签数据进行入库管理。流程图如下图5所示。 图4. 解析标签数据流程 图5. 上传标签数据流程
system: [SYSTEM]

user: 4. 结论 在智能电网建设中，电缆管理的信息化、自动化和互动化将成为主旋律。本文借助国网云服务，基于RFID标签穿透性、大容量、安全性的技术特点，使用RFID标签替代传统的条码、二维码的方式，设计了一套对现场电力电缆管理的体系。设计中采用SM4、SM3、SM2、SM7算法相结合的方式，实现了对现场标签数据的解析获取，采用签名验签以及会话密钥的通讯方式保证了数据传输过程中的安全性以及保密性，现场数据与RFID电缆管理平台的数据共享，大大减少运行维护人员的工作量，提高日常工作效率，为电缆线路安全运行提供了保障。该设计在试运行期间，系统运行情况良好，可以实现对标签数据的读取、定位、存储，达到对电力电缆管理的目的，对现场电力电缆的管理具有一定的应用与参考价值。
system: [SYSTEM]

user: 摘 要 本文主要是在模拟雾霾的情形下对绝缘子故障情况进行分析，通过上述实验得到不同情形下产生闪络现象的电流电压数据。进而针对本实验中的特殊性，结合EIV模型的统计学特性，对传统的多元线性回归模型进行一定的改进，使之能更好、更便利地分析各个因变量之间的相互关联性及模型拟合效果，克服了数据稳定性的限制。利用改进后的回归模型，分别建立故障诊断预测模型与小波分析参数区间预测误差模型，进而根据回归分析得到的绝对平均误差和拟合优化检验，结合这两个模型，来判断故障类别，经过对三种不同情形下故障的检验，这两种模型在实际应用中均能够满足要求。 关键词 :多元线性回归模型，故障诊断，小波分析 Copyright © 2019 by author(s) and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 研究背景 绝缘子通常用于支持母线或电气设备，该特殊控件在输电线路的应用中有着很大的作用。污闪是指绝缘子上附着的灰尘等物形成的污秽层在湿润环境的影响下，使绝缘子能够导电、放电的现象。对于以往的研究，主要针对绝缘子在雨雪等天气中的状态进行分析 [ 1 ] [ 2 ] ，但近几年来雾霾严重程度持续加剧，其引起的问题也越来越多，因此研究雾霾天气下的绝缘子污闪显得十分必要 [ 3 ] [ 4 ] 。本文通过使用不同故障模型来预测误差，实现故障检测的目的。
system: [SYSTEM]

user: 2. 实验研究步骤 我们首先对所需要的绝缘子进行一系列处理实验 [ 5 ] ，实验连接线路图如图1所示，具体实验内容和步骤如下： 1) 绝缘子处理：首先用蒸馏水对所用绝缘子进行清洗，保证充分清除其表面原有的污秽层。然后悬挂绝缘子使其阴干，期间注意防止表面遭到二次污染。 2) 污秽物处理：用精度为0.1 mg的光学分析天平称量5份污染物，每份高岭土13，902 mg、NaCl 1390.2 mg。将称量出的NaCl和高岭土放入容器中，加适量的蒸馏水充分搅拌。将搅拌后的污染液均匀地涂刷于绝缘子表面，以模拟重度污秽层，然后悬挂阴干。 3) 雾霾成分准备：根据表1将NaNO 3 和Na 2 SO 4 按照不同比例混合 [ 6 ] [ 7 ] ，以模拟不同情况下的雾霾场景。 Table 1 Experimental grouping tabl 实验组号 物质及其用量 1 蒸馏水 2 NaNO 3 :Na 2 SO 4 = 16:1加三份水 3 NaNO 3 :Na 2 SO 4 = 16:1加一份水 4 NaNO 3 :Na 2 SO 4 = 1:16加一份水 表1. 实验分组表 4) 按照图示连接实验线路图，用上述不同成分 [ 8 ] 的雾霾分别对形成污秽层的绝缘子加湿，当绝缘子污层表面形成水膜且其湿度达到饱和时，再用均匀升压法进行加压至闪络现象出现。 图1. 实验连接线路图 5) 记录出现闪络现象时的电流和电压。
system: [SYSTEM]

user: 3. 实验数据预处理 我们用min-max normalization法则来对实验测量所得数据进行预处理，其原理是对原始数据进行线性变化，设 i min 和 i max 分别为i的最小值和最大值，其转换公式表现为： f ( i ) = i − i min i max − i min (1) 我们在本次实验中得到了四组实验数据，分别为1组：蒸馏水对照组、2组：低浓度硝酸盐雾霾组、3组：高浓度硝酸盐雾霾组、4组：高浓度硫酸盐雾霾组，部分样本数据如下表2所示。 Table 2 Partial sample data tabl 1组 2组 3组 4组 时间/s 电流/A 电压/V 电流/A 电压/V 电流/A 电压/V 电流/A 电压/V 0 0.06793 1.384844 −0.01088 −2.03269 −0.03462 −1.04606 −0.00593 2.226845 0.0001 0.00799 1.460129 0.01088 −2.06043 −0.03066 −1.12729 0.003956 2.238732 0.0002 0.005 1.519564 0.003956 −2.09411 −0.07517 −1.19861 0.003956 2.248638 0.0003 0.01499 1.584943 −0.00099 −2.11986 −0.18991 −1.26994 0.005935 2.248638 0.0004 0.01898 1.644378 0.005935 −2.14165 0.345203 −1.3373 0.003956 2.250619 0.0005 0.01598 1.707776 0.011869 −2.1575 0.271019 −1.40664 0.004946 2.254582 0.0006 0.00699 1.769193 −0.00099 −2.16939 0.525223 −1.474 0.007913 2.246657 0.0007 0.01798 1.826647 0.005935 −2.18722 −0.2542 −1.54136 −0.00495 2.238732 0.0008 0.01499 1.886082 0.003956 −2.19118 −0.18299 −1.60475 −0.00297 2.23477 0.0009 0.00799 1.939574 0.026706 −2.19713 0.07913 −1.66617 −0.00396 2.224864 0.001 0 1.987122 −0.00593 −2.19515 −0.28289 −1.72363 −0.0089 2.216939 表2. 部分样本数据表
system: [SYSTEM]

user: 5. 实验结果分析 为了检验我们建立的模型的可靠程度，将三种待判别故障的数据分别输入故障诊断预测模型和小波分析参数区间预测误差模型，可得到如下表5至表7的结果： 1) 故障诊断预测模型 利用上述建立的故障预测模型分别检验三种待判别故障。 Table 5 Prediction and evaluation criteria of fault 评价标准 应用模型 1组 2组 3组 4组 平均误差 0.056652 0.056647 0.056538 0.056639 拟合优度检验 99.203% 99.572% 99.703% 99.587% 表5. 故障一的预测评价标准 Table 6 Prediction and evaluation criteria of fault 评价标准 应用模型 1组 2组 3组 4组 平均误差 0.018209 0.017401 0.018565 0.017983 拟合优度检验 98.757% 99.384% 99.290% 99.146% 表6. 故障二的预测评价标准 Table 7 Prediction and evaluation criteria of fault 评价标准 应用模型 1组 2组 3组 4组 平均误差 0.005434 0.005429 0.005419 0.005417 拟合优度检验 98.398% 99.147% 99.276% 99.298% 表7. 故障三的预测评价标准 Table 8 Test results show the tabl 故障序号 代入模型 实际 故障一 3组：高浓度硝酸盐雾霾组 高浓度硝 酸盐故障 故障二 2组：低浓度硝酸盐雾霾组 低浓度硝 酸盐故障 故障三 4组：高浓度硫酸盐雾霾组 高浓度硫酸盐故障 表8. 检验结果显示表 通过上述得到的数据分析，故障一中的平均误差最小与拟合优度检验最大时对应的是3组模型，即判别为高浓度硝酸盐故障；故障二中的平均误差最小与拟合优度检验最大时对应的是2组模型，即判别为低浓度硝酸盐故障；故障三中的平均误差最小与拟合优度检验最大时对应的是4组模型，即判别为高浓度硫酸盐故障。由表格所示，代入模型所得出的故障与实际吻合，表明该模型能够较好的判断出雾霾天绝缘子的故障类型，可总结为表8所示。 2) 小波分析参数区间预测误差模型 将已有三种待判别故障代入参数区间进行检测，结果如表9所示。 Table 9 Parameter interval prediction failure tabl 故障一 故障二 故障三 1层 0.945683 0.953728 0.962833 2层 0.502834 0.473829 0.402349 3层 0.083721 0.273741 0.152834 4层 0.067399 0.128736 0.063281 5层 0.038720 0.091028 0.023488 计算结果 3组：高浓度硝酸盐雾霾组 2组：低浓度硝酸盐雾霾组 4组：高浓度硫酸盐雾霾组 实际 高浓度硝酸盐故障 低浓度硝酸盐故障 高浓度硫酸盐故障 表9. 参数区间预测故障表 由计算出的三种故障的各层参数值与故障类别的参数区间对照，所得结果与实际相吻合，表明该模型能够较好得利用小波分析与绝对平均误差来判断故障类别，准确度基本满足需求。同时证明该模型对于分析故障有着一定的通用性，对待不同情形，都能有不错的预测效果。
system: [SYSTEM]

user: 6. 结束语 本文首先通过建立多元线性回归模型 [ 13 ] [ 14 ] 分析不同情形下的电流电压数据，然后分别建立故障诊断预测模型和小波分析参数区间预测误差模型来判别故障的类别。其中采用的回归分析法便于处理多个因变量影响的问题，且能够较为准确的计算各个因变量之间的相互关系与模型拟合优度，相比于时间序列等预测方法来说，不受数据稳定性的限制，然而其中也存在忽略交互效应和非线性联系的可能性。
system: [SYSTEM]

user: 摘 要 在农产品分拣过程中，果蔬的分类大多还停留在传统的分类模式，由人工进行果蔬筛选，这不但增加了成本，还可能给劳动者带来不便的体验。得益于计算机视觉相关技术的不断发展，以机器代替人工劳动的运营模式逐渐成为可能。本文探讨了以Tensorflow深度学习框架为核心，利用OpenCV进行图像处理的果蔬识别系统。基于收集的果蔬图像数据，通过多次调参及训练获得了准确率较高的模型。在系统构建上对图像数据集的使用、模型参数调整、训练结果以及应用性能进行了可视化设计与分析，通过Web App实现并展示了图像识别、目标检测、语义分割、实时检测四大功能模块。 关键词 :图像识别，目标检测，语义分割，实时检测 Copyright © 2019 by author(s) and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 引言 随着社会信息化程度的提升和AI技术的广泛普及，人们对美好生活的向往迫切要求社会向智能化、便捷化发展 [ 1 ] 。计算机视觉技术在人民生活的各方各面起着越来越重要的作用，果蔬识别技术作为其中的一环，与商品零售、智能农业、智慧医疗等方向密切联系，既可有效减少劳动力开销，又能使人民在享受便捷精致生活服务的同时得到膳食引导 [ 2 ] ，其广泛需求推动着相关领域的发展。 果蔬识别技术凭借其高效便捷的特性广泛应用于智能农业和产品分拣中。卡内基梅隆大学机器人学院科学家已提出建立农业机器人队伍来实现对农作物生产的辅助管理，通过AI技术判断农作物的成熟度等特性 [ 3 ] ；比利时已通过视觉识别技术识别成熟果蔬并采摘，对未成熟果蔬的成熟时间给以预测 [ 4 ] ；中国部分地区在茶叶采摘过程中利用视觉技术识别茶树嫩芽并实现定位及采摘以保证叶片完整性。 本文以果蔬识别为中心，探索智能分类功能的实现与应用，并结合基于深度学习的计算机视觉技术与传统互联网技术进行项目应用与展示，完成一个较为完善的果蔬识别系统。
system: [SYSTEM]

user: 2. 数据集 论文研究中通过数据增强技术取得2500张源自自行拍摄的果蔬图像作为主要训练集，16854张源自Kaggle平台Fruits360 dataset中的果蔬图像作为辅助训练集。 考虑到图像像素大小对识别的准确率会产生一定的影响，需要选择较为合适的像素大小对图像进行输入来达到提高准确率的目的 [ 5 ] 。由于所用计算机性能一般，为提升训练速度并使后期调用模型能够有较快的速度，选用像素大小分别为299 × 299、300 × 300、400 × 400、500 × 500、600 × 600、700 × 700的图像数据集测试图像像素大小对识别准确率的影响，验证结果如图1所示，对比分析选择大小为400 × 400像素的图像数据集作为开发数据集。
system: [SYSTEM]

user: 3. 图像识别 如图2所示 [ 6 ] ，图像识别我们采用了常规卷积模型和Inception v3模型。在常规卷积模型构建上选用辅助训练集进行训练，包含三类不同品种苹果、黄桃、樱桃、荔枝、山竹、橘子、梨、火龙果共10类果蔬图像共16854张图像，其中80%作为训练集，20%作为测试集。由于数据量较多，训练所需时间较长，考虑到计算机性能、时间因素等多方面原因，论文采用的网络较为简单，使用综合性能较好的AdamOptimizer作为优化器，分别采用神经元为32 × 64、64 × 16的卷积层，使用3 × 3卷积核，步长为2的max_pool，128个神经元的全连接层和softmax回归层进行实现。 图1. 不同像素大小图像对验证准确率影响图 图2. 常规卷积模型功能实现流程图 根据如图3训练结果所示，64-16结构能比32-64结构取得更好的效果，在测试时二者训练集准确率分别为0.9654和0.9318，测试集准确率分别为0.9231和0.8990，选择64-16结构进行后续优化，分别使用值为0.9、0.85、0.8的dropout来降低过拟合。如表1所示当dropout值为0.9时效果较好，既提升了测试集准确率，又缩小了测试集与训练集准确率的差距，降低了过拟合。 在Inception v3模型构建上选用主要数据集进行训练，包含香蕉、橘子、黄桃、柠檬、梨子五种较为相近的水果共2500张图像，将80%的数据集作为训练集，10%的数据集作为验证集，10%的数据作为测试集。 模型构建所使用的优化器分别选用较为常见的Gradient Descent Optimizer和Adam Optimizer。其中Gradient Descent Optimizer分别采用值为0.005、0.01的学习率训练，Adam Optimizer分别采用值为0.0001、0.0003、0.0005的学习率进行训练，训练集训练情况如图3所示。当训练3000步时Adam-0.0005结构和Adam-0.0003结构准确率较为突出且较快达到收敛，而两个GradientDescent结构均训练效果较差。 Table 1 Convolution model effect compariso 结构 32-64 64-16 64-16-d0.9 64-16-d0.85 64-16-d0.8 训练集准确率 0.9318 0.9651 0.9601 0.9388 0.9414 测试集准确率 0.8990 0.9231 0.9349 0.9133 0.8720 表1. 卷积模型效果对比 图3. 常规卷积模型训练准确率展示图 如图4所示，在训练3000步时验证集中各结构均基本收敛。Adam结构网络在该案例上明显优于Gradient Descent结构网络，均达到了较高的准确率，由于学习率的不同达到收敛时间有所差异。如图5所示。在测试集上测试最终结果时，Adam-0.0001结构、Adam-0.0003结构、Adam-0.0005结构均达到了98.8%准确率，GradientDescent-0.005结构和GradientDescent-0.01结构均达到98.4%准确率。最终选择Adam-0.0005结构生成的模型完成系统应用功能开发。
system: [SYSTEM]

user: 4. 目标检测 分析测试中使用了Faster RCNN模型 [ 7 ] 和SSD模型 [ 8 ] ，通过对二者进行分析，选用综合时间、mAP性能较好的faster_rcnn_inception_v2_coco模型、ssd_mobilenet_v1_coco模型和ssd_inception_v2_coco模型作为预训练模型对主要数据集进行测试，在loss值趋势不再降低时停止训练。 如图6、图7所示，ssd_mobilenet_v1结构的loss相比ssd_inception_v2结构的loss值较低，训练效果相比较好，因此选用ssd_mobilenet_v1结构进行后续对比。 如图8所示，对ssd_mobilenet_v1结构与faster_rcnn_inception_v2结构进行目标检测结果对比，faster_rcnn_inception_v2结构的loss值明显低于ssd_mobilenet_v1结构的loss值。如图9所示，准确率测试结果中faster_rcnn_inception_v2结构也取得了明显的优势。这两个模型的检测准确率有一定差异，但基于Faster RCNN和SSD的基本特性，该SSD模型虽然准确率较低，但在模型调用速度上有一定优势，在实时性和mAP综合性能上可能超过该Faster RCNN模型。 图4. Inception v3训练准确率趋势图 图5. Inception v3验证准确率趋势图 图6. ssd_mobilenet_v1 loss趋势图 图7. ssd_inception_v2 loss趋势图 图8. 目标检测loss对比图 图9. 目标检测模型准确率对比图
system: [SYSTEM]

user: 5. APP实现 1. APP应用模块主要用于对系统功能的可视化应用展示和性能分析。通过对图像识别模块、目标检测模块训练生成的模型进行对比分析，分别选择较优模型投入APP应用模块进行实际应用，更直观地展示果蔬识别情况，对模型的优化和模型调用算法的改善提供分析依据。APP应用模块在对两种识别模式进行常规实现的基础上，对实际问题进行思考，延伸拓展实现语义分割模块和视频实时检测功能模块。系统实现架构如图10示。 图10. 系统实现架构图 为了提高APP应用的灵活性，APP可使用相册图片和摄像头拍摄两种方式上传图片，并允许多张图片上传识别。APP对输入的图像数据进行后端存储，便于数据集扩充，为后期模型的调整与优化做准备。当系统完成识别时，对结果进行可视化输出展示，提供识别准确率、识别时间等参数供模型优化和模型调用算法优化进行参考。APP主页、图像识别模块、目标检测模块效果图如图11、图12、图13所示。 图11. APP主页效果图 图12. 图像识别效果图 图13. 目标检测效果图
system: [SYSTEM]

user: 6. 实验结果分析 本文实验环境为Windows操作系统，GTX950M显卡，使用Python-3.5和Tensorflow-gpu-1.9.0进行神经网络模型构建，使用Django-1.11实现Web APP进行系统可视化应用展示。通过对不同模型及其相关因素进行分析，结论如下： (1) 输入图像大小对性能的影响。输入图像的大小直接影响APP功能完成所需时间，图像越大，识别所需处理的数据就越多。APP在后台将输入的图像数据resize为400 × 400大小，一方面防止图像过大时影响性能，另一方面使用与模型数据集相似的图像数据易于实现更好的识别准确率。 (2) 图像识别应用模块性能分析与优化。通过对模型调用算法的调整，测试发现进行图像识别时模型的调用花费了较多的时间，因此考虑能否对模型调用时间进行分离，使模型在APP上有更好的应用性能。重复测试10次模型调用时间分离前后识别1张、2张图像所需时间情况如图14示。 将每种测试结果的后五次数值取均值，结果如表2、表3所示，对比可见分离模型调用对缩短识别时间能起到较好的作用，单张识别速度可提升约119%，2张识别速度可提升约85%，随着单次识别的图像数目增加，识别所需总时间增加，模型调用分离对速度的提升将逐渐减小。 (3) 目标检测应用模块性能分析与优化。 faster_rcnn_inception_v2结构模型与ssd_mobilenet_v1结构模型目标检测耗时对比。SSD模型在综合性能上常优于Faster RCNN模型，在本系统对比中由于部分原因未能够使用相当模型进行对比，仅以faster_rcnn_inception_v2结构模型和ssd_mobilenet_v1结构模型进行对比供参考作用。 如图15所示，10次测试中使用ssd_mobilenet_v1结构模型进行目标检测耗时明显少于使用faster_rcnn_inception_v2结构模型，各使用测试的后五次结果取均值，faster_rcnn_inception_v2结构模型平均耗时15.31秒，ssd_mobilenet_v1结构模型平均耗时8.22秒，后者耗时仅为前者53.7%，且亦有较高的准确率，有较好的应用性能。 图14. 图像识别调用优化前后时间对比图 Table 2 1 comparison of recognition time before and after image adjustmen 方式 未分离-1张 分离-1张 速度提升率 平均时间(秒) 3.48 1.59 119% 表2. 1张图像调整前后识别时间对比 Table 3 Comparison of recognition time before and after image adjustmen 方式 未分离-2张 分离-2张 速度提升率 速度提升率 3.53 1.91 85% 表3. 2张图像调整前后识别时间对比 模型调用算法优化。为使对比结果更为直观，该部分选用了目标检测耗时较长的Faster RCNN模型进行测试。将所有图像数据一起送入目标检测算法，从原先的每张图像数据进行一次模型调用转化为所有图像数据进行一次模型调用，极大缩短了目标检测功能实现时间，提升了功能实现效率。重复测试10次模型调用算法优化前后识别1张、2张图像所需时间情况如图16。 将每种测试结果的后五次数值取均值，结果如表4所示，对比可见分离模型调用对缩短识别时间能起到较好的作用，2张图像的识别速度可提升约83%，分离模型调用后每张图像的检测时间约0.93秒，随着单次识别图像数目增加，识别速度提升率将更高。 (4) 深入优化模型调用算法思考： 模型调用需要消耗大量时间，在输入图像较少时占用时间更加明显，如果可以使模型在系统环境中长存，使每次进行识别或检测操作时可直接调用，将有效提升应用效率。 模型最初几次调用时间明显较长，可尝试在应用程序运行前对模型进行多次预使用，从而达到模型预热的效果。 图15. 标检测不同模型时间对比图 图16. 目标检测调用优化前后时间对比图 Table 4 Comparison of detection times before and after adjustmen 方式 1张 未分离-2张 分离-2张 2张速度提升率 平均时间(秒) 15.31 29.66 16.24 83% 表4. 调整前后检测时间对比
system: [SYSTEM]

user: 7. 结论 本文基于深度学习的果蔬识别系统研究了模型的构建、分析与应用展示。模型分析模块使用了自行搭建的分析平台，结合Tensorboard对模型进行精准分析。在果蔬识别模块分别采用了常规图像识别、目标检测两个功能模块，实现单果蔬分类、多果蔬定位分类，且能达到较好的识别准确率，并将功能延伸到语义分割和视频实时检测上，满足大部分果蔬识别需求。系统采用Web APP对识别结果进行直观展示，便于后期分析、改善及应用。虽然在果蔬识别以及其他应用场景中，识别已经能达到较高的准确度，但在缩小训练数据集、提升识别速度上还有待继续提升，以便更好满足人们对美好生活的向往 [ 9 ] 。
system: [SYSTEM]

user: 摘 要 本文在标的资产价格满足Heston随机波动率模型下讨论基于资产价的离散几何平均情形的亚式离散障碍期权定价。应用半鞅Itô公式、多维联合特征函数、Girsanov测度变换和Fourier反变换等随机分析方法，推导出了基于资产价的亚式几何平均离散障碍期权的定价公式，最后给出了数值计算实例，并分析了波动率参数对障碍期权价格的影响。 关键词 :Heston模型，障碍期权，Fourier反变换，几何平均 Copyright © 2019 by author(s) and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 引言 期权是风险管理的核心工具，如何给期权定价，自然是一个非常重要的问题。1973年Black与Scholes在股票价格服从几何布朗运动，利率和股票波动率均为常数的假设下，给出了欧式标准期权定价模型，即著名的Black-Scholes公式 [ 1 ] (记为B-S模型)。后来人们发现从期权市场数据计算出的波动率表现出波动的聚集性和微笑现象，这表明B-S模型计算的期权价格与实际市场表现存在一定偏差。为了解决这些偏差，许多学者对B-S模型进行了改进，如Merton [ 2 ] 和Kou [ 3 ] 等学者在标的资产的动态模型中引入跳跃风险，建立的跳扩散模型(Jump-Diffusion，简记JD模型)，并给出了类似B-S模型的期权定价公式；另外，Heston [ 4 ] 、Hull和White [ 5 ] 以及Stein和Stein [ 6 ] 等学者设定资产的波动率是随机变化的，以资产波动率的随机变化过程来刻画波动的聚集性和微笑现象，建立了随机波动率模型(Stochastic Volatility，简记SV模型)。随后，Chen和Scott [ 7 ] 、Bates [ 8 ] 、邓国和和杨向群 [ 9 ] 等学者发现把跳跃因素和波动率随机化结合起来能更好地刻画金融市场波动的聚集性和微笑现象。 障碍期权(Barrier option)是一种路径依赖型期权(Path-dependent options)，它的最终收益不仅依赖于标的资产到期日的价格，还依赖于标的资产变动的路径，当标的资产价格触及规定的障碍时，期权合约生效或失效。障碍期权合约可以降低投资者投资的风险，其价格比标准欧式期权价格便宜，因此受到市场的青睐，被广泛地应用于风险管理。障碍期权可以分为两大类：敲出期权(knock-out option)和敲入期权(knock-in options)。敲出期权是指当标的资产价格触及规定的障碍值时，合约失效；敲入期权是指当标的资产价格触及规定的障碍值时，合约生效。根据在期权有效期内标的资产价格是否大于障碍值，又可以将敲出期权分为下降敲出期权(down-and-out options)和上升敲出期权(up-and-out options)；同样也可以将敲入期权分为下降敲入期权(down-and-in options)和上升敲入期权(up-and-in options)。我们知道，在实际的金融市场中，金融衍生品的交易往往是离散情形。所以，在期权定价问题上，我们考虑离散时间情形观测到的标的资产价格会更贴近实际的金融交易。故，本文选择研究离散时间情形的障碍期权定价问题。研究离散障碍期权定价问题的文献并不多，1997年Broadie和Kou [ 10 ] 在标的资产价格满足B-S模型下给出了欧式离散障碍期权价格的近似显示式；2007年Fusai和Recchioni [ 11 ] 在Kou研究的基础上进一步研究了离散时间的障碍期权的定价方法；2011年Wystue和Griebsch [ 12 ] 在标的资产服从Heston随机波动率模型下给出离散时间欧式障碍期权价格的定价公式；2018年薛广明和邓国和 [ 13 ] 在Wystue研究的基础上进一步研究了基于Bates模型的欧式离散障碍期权的定价问题。受到上述文献的启发，本文在前人研究的基础上，结合Heston随机波动率模型和基于资产价的离散几何平均，进行亚式离散障碍期权定价的研究探讨。
system: [SYSTEM]

user: 2. 市场模型与预备知识 考虑一个无套利无摩擦的金融市场。假设投资者将其财富仅投资于市场中的两种资产，其投资时期为 [ 0 ， T ] ，其中一种资产B是无风险资产(如债券或存款)，其收益按无风险利率 r ≥ 0 (常数)连续复利计算。另一种是风险资产S (如股票)。假定完备概率空间 ( Ω ， F ， ( F t ) t ≥ 0 ， P ) 具有满足通常条件的 σ -代数流 F t ， F t 由 W t 和 B t 联合生成，根据Duffie [ 14 ] 选取特定等价鞅测度的思想，本文假设概率测度P为风险中性测度，且条件数学期望 E P [ ⋅ ] 是基于概率测度P下计算。在此概率测度下，股票价格 S t 满足下列微分方程： { d S t = S t r d t + S t V t ( ρ d W t + 1 − ρ 2 d B t ) ， d V t = κ ( θ − V t ) d t + σ V t d W t . (2.1) 其中 σ ， κ ， θ ， ρ 均为常数， 2 κ θ ≥ σ 2 。此模型称为Heston随机波动率模型。 注 1 令 ρ = 1 ， σ = κ = θ = 0 ，则 V t 为常数，模型(2.1)变成经典的B-S [ 1 ] 模型。 令 X t = ln S t ，由Itô公式，方程(2.1)变为 { d X t = ( r − 1 2 V t ) d t + V t ( ρ d W t + 1 − ρ 2 d B t ) ， X 0 = x 0 ， d V t = κ ( θ − V t ) d t + σ V t d W t ， V 0 = v 0 . (2.2) 引理2.1 [ 12 ] ：设 0 = t 0 < t 1 < t 2 < ⋯ < t m = T 为 [ 0 ， T ] 中的m个时间点， m ∈ ℕ + ，且 m ≥ 1 。记 X T = ( X t 1 ， X t 2 ， ⋯ ， X t m ) T 是m维向量， u = ( u 1 ， u 2 ， ⋯ ， u m ) 是m维实数向量，则 ( X t 1 ， X t 2 ， ⋯ ， X t m ) 基于 t 0 时刻的联合特征函数为 φ ( u 1 ， u 2 ， ⋯ ， u m ) = exp { ∑ k = 1 m i u k h ( t k ) − ∑ k = 1 m q ( u k ) j ( t k ) + ∑ k m B k + A m v 0 } ， (2.3) 其中i为虚数单位， B k = B ( t m − k + 1 − t m − k ， q ( u n − k + 1 ) + A k − 1 ， p ( ∑ j = m − k + 1 m u j ) ) ， A k = A ( t m − k + 1 − t m − k ， q ( u n − k + 1 ) + A k − 1 ， p ( ∑ j = m − k + 1 m u j ) ) ，且 A 0 = 0 ， h ( t ) = x 0 + r t ， j ( t ) = v 0 + κ θ t ， p ( u ) = ( 1 2 − κ ρ σ − 1 2 i u ( 1 − ρ 2 ) ) i u ， q ( u ) = i u ρ σ 。 A ( τ ， a ， b ) = d a ( 1 + e − d τ ) − ( 1 − e − d τ ) ( 2 b + κ a ) d ( 1 + e − d τ ) − ( 1 − e − d τ ) ( κ − σ 2 a ) ， (2.4) B ( τ ， a ， b ) = κ θ σ 2 ( ( κ − d ) τ + 2 ln 2 d d ( 1 + e − d τ ) − ( 1 − e − d τ ) ( κ − σ 2 a ) ) ， (2.5) 其中 d = κ 2 + 2 σ 2 b 。 推论2.1 [ 4 ] ：若股价满足Heston模型，则执行价格为K，到期日为T的标准欧式看涨期权在0时刻的价格为 C e ( t ， x 0 ， v 0 ， K ， T ) = S 0 { 1 2 + 1 π ∫ 0 + ∞ ℜ [ e − i u ln K φ 1 ( u ) i u ] d u } − K e − r T { 1 2 + 1 π ∫ 0 + ∞ ℜ [ e − i u ln K φ ( u ) i u ] d u } ， (2.6) 其中 ℜ ( z ) 表示 z ∈ ℂ 的实部， φ 1 ( u ) = e − r T S t φ ( u − i ) 。
system: [SYSTEM]

user: 4. 数值结果与分析 本节主要以下降敲出离散障碍看涨期权为例，运用Matlab2016b和Mathematical11.0软件编程计算，分析比较了Heston模型下亚式离散障碍期权和欧式离散障碍期权价格的变化情况，并分析了Heston模型的主要参数对亚式离散障碍期权价格的影响。模型的主要参数选取如下 K = 35 ， L = 40 ， t 0 = 0 ， T = 1 ， t i = { 1 m ， 2 m ， ⋯ ， 1 } ， θ = 0.1444 ， r = 0.03 ， κ = 6 ， v 0 = 0.15 ， σ = 0.5 ， ρ = − 0.7 首先，在Heston随机波动率模型下，比较亚式离散障碍期权与欧式离散障碍期权价格随股价变化和离散点改变而变化的情况。由表1，我们可以看到，两种期权的价格都是随着股价的增加而增大，随着m值的增大而减少。而且，亚式离散障碍期权的价格比欧式离散障碍期权的价格低，即基于资产价的离散几何平均情形的亚式离散障碍期权比一般的离散障碍期权价格低，这是因为亚式期权在到期日时的收益依赖于标的资产某一时间段内的平均价格，这样它通常比标准化的欧式期权的价格便宜，且该期权不易被操控。 Table 1 Comparison of the prices of Asian discrete obstacle options and European discrete obstacle options under the Heston mode S 0 亚式离散障碍期权 欧式离散障碍期权 m = 1 m = 2 m = 3 m = 1 m = 2 m = 3 55 20.0781 19.2959 18.5355 21.8135 21.3125 21.0284 60 25.0259 24.4659 23.9716 26.5549 26.2211 26.0344 65 29.9648 29.4727 29.1185 31.3868 31.1660 31.0405 70 34.8953 34.4086 34.1209 36.2762 36.1302 36.0434 75 39.8207 39.3155 39.0545 41.2025 41.1054 41.0439 80 44.7432 44.2107 43.9558 46.1528 46.0878 46.0432 85 49.6643 49.1011 48.8418 51.1187 51.0749 51.0419 90 54.5846 53.9894 53.7206 56.0952 56.0653 56.0406 表1. Heston模型下亚式离散障碍期权与欧式离散障碍期权价格比较 最后考察模型的主要参数对期权价格的影响，图1是以股价 S 0 = 80 以及各参数取值不同为例研究期权价格的变化情况。由图1(a)可知， m = 1 和 m = 2 时，期权价格都是参数 σ 的增函数，而 m = 3 时期权价格随着 σ 的增大而减小；图1(b)可以看到， m = 1 和 m = 2 时，期权价格随着的 κ 增大而减小，而 m = 3 时期权价格是 κ 的增函数；由图1(c)可知，期权价格随着 θ 的增大而减小，且随着m的增大减小的幅度越大。 图1. 参数对期权价格的影响
system: [SYSTEM]

user: 5. 结论 本文在Heston随机波动率模型下应用Fourier变换方法和特征函数技术获得了基于资产价的离散几何平均情形的亚式离散障碍期权价格的显示解，并通过数值实例，比较了亚式和欧式离散障碍期权价格随着股价和离散点变化的情况，分析了模型参数对期权价格的影响，数值计算结果表明，模型中的参数对期权价格的影响具有不同的显著作用。本文的研究结果对进一步研究其他路径依赖型期权或美式期权有很好的借鉴作用。
system: [SYSTEM]

user: 摘 要 故障树分析是运载火箭飞行异常情况下故障诊断的重要环节，人工现场建立故障树费时费力效率低下。本文基于Visual Studio 2010软件开发平台，采用面向对象程序设计技术开发运载火箭故障树分析系统软件，实现对火箭大量而复杂的故障树的收集、分析与管理。采用递归算法实现故障树查找、编辑、增减、视图缩放、分支收展、保存和载入等功能；使用C++标准模板库提高系统开发效率和软件可维护性；采用GDI+技术方便地将故障树导出为BMP、JPEG、GIF、TIFF、PNG格式。该软件系统可有效节省人工现场建树时间，提高故障诊断效率，帮助决策者快速、准确、有效地定位故障，对运载火箭的正常飞行具有十分重要的意义。 关键词 :运载火箭，故障诊断，故障树分析，软件设计，递归算法，面向对象 Copyright © 2019 by author(s) and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 引言 故障诊断是指系统在一定工作环境下查明导致系统某种功能失调的原因或性质，判断劣化状态发生的部位或部件以及预测状态劣化的发展趋势等，它包括故障检测、故障定位和故障预测。故障树在本质上是一种特殊的逻辑图，它提供了一种自顶向下、由果到因的故障诊断分析方法。利用故障树能从系统的故障状态出发，逐级进行推理分析，最终确定故障发生的基本原因、影响程度和发生概率 [ 1 ] [ 2 ] [ 3 ] [ 4 ] 。 就世界范围看，美国是最早研究故障诊断技术的国家。1967年，在美国宇航局和海军研究所的倡导和组织下成立了美国机械预防小组，开始有计划地对故障诊断技术分专题进行研究。英国对故障诊断技术的研究始于20世纪60年代末、70年代初，以R. A. Collacott博士为首的英国机器保健中心在宣传、培训、咨询以及诊断技术的开发方面做了大量的工作，取得了很好的效果。日本的诊断技术研究始于20世纪70年代中期，1971年新日铁以丰田利夫教授为首率先开展对故障诊断技术的研究，到1976年已达到实用的阶段。相比之下，我国故障诊断技术的研究起步较晚，从20世纪70年代末期开始，广泛的研究则从20世纪80年代开始发展起来，随后在各领域分别确定了故障诊断的目标、方向和试点单位。目前，故障诊断技术在我国的化工、冶金、电力和铁路等行业得到了广泛的应用 [ 1 ] [ 2 ] [ 3 ] [ 4 ] 。 航天技术的迅猛发展使得运载工具变得日益复杂，运载工具发生故障的概率也随之增大。某航天发射场对运载火箭飞行试验智能分析评估，特别是对火箭飞行异常情况下智能故障诊断的需求越来越迫切，对智能故障诊断方法的研究成为一项亟待解决的课题，而构建故障树是智能故障诊断方法中的重要环节。故障树分析是运载火箭飞行异常情况下故障分析与定位的重要环节，通过故障树分析可以准确定位故障。以往由于技术条件的限制，故障诊断转入故障树分析环节后都是通过人工现场建立故障树。故障树建好后，故障诊断人员才能基于所建立的故障树进行逐层分析排查，找出导致故障发生的一种或几种故障树底事件。建故障树大体上需要1到2天的时间，费时费力，效率低下；此外整个故障树分析过程也非常复杂，持续时间往往较长。 为解决航天发射场故障树分析中的问题，本文设计开发运载火箭故障树分析系统软件。通过将提前设定的故障模式存入故障树系统库，节省现场建立故障树时间，为运载火箭飞行异常情况下的故障诊断工作做好充分的准备。软件系统具备动态建树、查询、分析、管理与维护等功能，可实现对火箭大量而复杂的故障树的分析与管理。利用该系统可及时发现和定位故障，给相关技术人员提供决策依据，提高运载火箭飞行试验的保障能力。 下面先给出运载火箭故障树分析系统总体设计，接下来介绍递归算法、C++标准模板库、GDI+三种关键技术，以此为基础开发故障树分析系统软件，并对软件性能做出评估。
system: [SYSTEM]

user: 2. 运载火箭故障树分析系统总体设计 运载火箭故障树分析系统的核心是故障树库，任何与火箭飞行相关的故障树都可以纳入库中，作为后续故障诊断时的技术储备。因此故障树库中累积的已有故障模式越丰富，故障树覆盖的范围越广泛，火箭飞行异常条件下进行故障分析能用到库中既有故障树的概率就越大，就愈能发挥故障树库的作用，故障诊断的效率就越高。另一方面，一旦从故障树库中检索到某一故障树，往往还需要现场对该故障树进行分析并能对它做出适应性修改，以便定位故障。基于此故障树库必须具备两大功能：1) 存储容量要大，以便尽可能多地存储既有故障树；2) 针对某具体故障树，必须具备对其进行动态修改的功能诸如故障树节点增减、分支收展、大型复杂故障树的屏蔽、添加说明文字等，确保最大程度地减少人力参与程度，提高故障诊断效率。故障树分析系统软件总体设计方案如图1所示，它包含故障树分析与故障树管理两大模块。其中故障树分析模块主要包括门事件、节点增减、分支收展、分支屏蔽、添加说明性文字、故障树视图缩放功能；故障树管理模块主要包括故障树查询、故障树创建、故障树存储、故障树增减、故障树导入与导出(导出为BMP、JPEG、GIF、TIFF和PNG格式的图像文件)、打印功能。 图1. 运载火箭故障树分析系统总体设计
system: [SYSTEM]

user: 3. 关键技术 根据图1所示的运载火箭故障树分析系统总体设计方案，软件系统开发涉及三种主要关键技术：递归算法、C++标准模板库和GDI+技术。 3.1. 递归算法 在数学和计算机科学中，递归是指一个函数直接或间接调用自身的现象。作为一种算法，递归在程序设计语言中得到了广泛的应用，它通常把一个大型复杂的问题层层转化为一个与原问题相似但规模较小的问题来求解。使用递归，只需少量程序代码就可以描述解决问题所需的多次重复操作，因此大大减少了代码量。在编辑或修改故障树时，需要进行查找故障树节点、删除节点分支、计算各节点外围矩形尺寸，及保存和载入故障树等操作，这就涉及到故障树节点的遍历问题。容易理解对于这种树形数据结构，使用递归遍历是一种行之有效的方法 [ 5 ] [ 6 ] [ 7 ] [ 8 ] 。 下面以故障树的保存和载入为例，说明递归算法的使用。如图2所示，当需要将故障树保存到永久存储介质中时，首先需判明故障树是否存在，这取决于故障树文档根节点指针是否有效。若故障树不存在，将标记数“0”保存；否则保存标记数“1”。在故障树存在的情况下，保存标记数“1”后将根节点序列化，之后进入递归算法处理：每次递归过程中，都先写入子节点数目N，接着对N进行判断：若N为0，返回到上一递归处理层；否则将当前子节点下的所有子节点序列化，并进一步对其所有子节点进行相同的遍历，也就是进入嵌套的递归处理过程。待全部节点序列化完毕后，故障树保存工作结束。 图2. 递归算法保存故障树 从永久存储介质中载入故障树与保存故障树的过程相对应：首先读入故障树标记bStart。若bStart为0，说明载入的是空故障树，流程直接返回；在bStart为1时，先序列化根节点m_pTrunk，之后进入递归载入过程。每次递归过程都先判断当前节点下是否有子节点——没有子节点时流程返回到上层递归，否则进入嵌套递归处理，以便对当前子节点的所有子节点序列化。待全部节点序列化完毕，标明故障树已成功读入，接下来就可以对故障树实施查看、编辑、导出等操作了。 3.2. C++标准模板库技术 C++标准模板库(Standard Template Library， STL)是一个与标准类与函数模板相关的库，利用它可以创建用途广泛、功能强大的组织数据的通用类及函数，可以大大简化很多软件开发中的编程工作。STL是用C++标准定义的，因此总可以在合适的编译器中使用到它们。具体地讲STL包括容器、容器适配器、迭代器、算法、函数对象和函数适配器等六种组件 [ 9 ] [ 10 ] 。鉴于运载火箭故障树分析系统每个故障树节点下的子节点数目都可动态增减，因此将数据结构取为链表形式是合理的。STL中的list 容器模板封装了双向链表，使用它可带来的优点是当从列表序列中的任意位置插入或删除元素时所用的时间均相同。 1) 创建列表容器双向链表 语法：list > m_listNodes； 其中CNode代表自定义故障树节点对象，m_listNodes为要创建的双向列表容器对象，列表中元素类型为指向CNode类对象的shared_ptr类型的智能指针。智能指针是封装裸指针(即通常意义下的指针)的模板类型的对象，智能指针的行为类似于裸指针，但二者有区别——前者是智能的，譬如在分配堆内存时使用了智能指针，那么智能指针就会负责在内存使用完后释放它们，这意味着代码中不再需要使用delete关键字。也就是说使用shared_ptr或unique_ptr智能指针替代裸指针，可省去释放内存的操作，从而消除了内存泄漏的风险，增加了程序的健壮性和可维护性。 2) 往节点中添加子节点 语法：m_listNodes.push_back(std::shared_ptr & pNewNode)；这里智能指针pNewNode指向要添加到列表容器尾部的子节点对象。 3) 删除子节点 语法：m_listNodes.remove(std::shared_ptr & pDelete)；其中智能指针pDelete指向要从列表中删除的子节点对象。 4) 获得子节点数目 语法：m_listNodes.size()； 返回列表中元素数目，即故障树中某节点下的子节点数。 5) 遍历列表 在for循环中使用iterator迭代器可以方便地遍历列表，语法如下： for(list >::iterator iter = begin( pNode->GetListNodes()); iter != end(pNode->GetListNodes()); iter++) { …… } 其中iter为迭代器，GetListNodes函数返回列表对象。begin和end为STL中提供的全局函数，它们分别返回指向列表中第一个元素和最后一个元素下一个位置的双向迭代器。 3.3. GDI+技术 在Windows操作系统中，绝大多数具有图形界面的应用程序都离不开GDI。GDI是Graphics Device Interface的缩写，其含义是图形设备接口，它的主要任务是负责操作系统与绘图应用程序之间信息的交换，处理所有Windows程序的图形输出。利用GDI中提供的大量函数，可以方便地在屏幕、打印机及其它设备上输出图形、文本等。GDI使程序员无需关心硬件设备及其驱动程序是什么就可以将应用程序的输出转化为硬件设备上的输出，从而实现程序开发者与硬件设备间的隔离，大大方便了软件开发工作 [ 5 ] 。 GDI+是一组通过C++类实现的应用程序编程接口，是对GDI的更高层次的封装和对原有GDI在功能上的升级。它对GDI进行了优化并添加了许多新的功能，这些新功能涉及渐变画刷、基本样条函数、独立的路径对象、变换矩阵对象、可伸缩的区域、Alpha混合和多种图像格式支持等。使用GDI+技术，图形和艺术字将具有更加平滑的轮廓以及可调整的用真实颜色混合的透明度级别。用GDI+提供的诸多方法可以直接调用显示器或打印机，真正具备了与设备无关的特点，图3给出GDI+的体系。 图3. GDI+体系 为在运载火箭故障树分析软件系统使用GDI+技术，必须在开始时调用GdiplusStartup函数，并在不需要GDI+时调用GdiplusShutdown函数。在GDI+提供的众多类对象中，Graphics对象是其中最重要的，它封装了大量方法，其地位与作用与GDI中设备上下文句柄HDC相当。为将故障树导出为图像格式的文件，首先需要利用GetImageDecodersSize和GetImageDecoders这两个函数确定GDI+所支持的图像解码器的类型。解码器的类型包括“image/bmp”、“image/jpeg”、“image/gif”、“image/tiff”、“image/png”，它们分别对应于BMP、JPEG、GIF、TIFF、PNG五种图像格式。将故障树保存为图像格式的文件时，使用的是直接派生于Image的Bitmap类对象提供的Save方法： Bitmap::Save(const WCHAR* filename， const CLSID* clsidEncoder， const EncoderParameters* encoderParams)； 其中filename为要保存的图像文件的文件名；clsidEncoder标识了保存图像所用的解码器类型：保存成BMP图像时为“image/bmp”，保存成JPEG图像时为“image/jpeg”，以此类推；encoderParams常为NULL。如果能成功保存图像文件，Save函数就返回0，否则返回的是一个与具体错误相关的非零值。