Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理C+的框架/工具+;具有数值输出的单元测试 我正在研究一个C++应用程序,它使用计算机视觉技术来识别图像序列中的各种类型的对象。(1000+)图像已经手工分类,因此我们为每个图像都有一个XML文件,其中包含对象在图像中实际位置的描述_C++_Unit Testing_Testing_Computer Vision - Fatal编程技术网

处理C+的框架/工具+;具有数值输出的单元测试 我正在研究一个C++应用程序,它使用计算机视觉技术来识别图像序列中的各种类型的对象。(1000+)图像已经手工分类,因此我们为每个图像都有一个XML文件,其中包含对象在图像中实际位置的描述

处理C+的框架/工具+;具有数值输出的单元测试 我正在研究一个C++应用程序,它使用计算机视觉技术来识别图像序列中的各种类型的对象。(1000+)图像已经手工分类,因此我们为每个图像都有一个XML文件,其中包含对象在图像中实际位置的描述,c++,unit-testing,testing,computer-vision,C++,Unit Testing,Testing,Computer Vision,我想知道是否有一个测试框架可以理解/绘制数字测试的结果,在本例中,是对程序图像分类错误的某种度量,而不仅仅是通过/失败式的单元测试 我们希望使用CDash/CTest之类的工具来运行这些自动化测试,并查看随着时间的推移,视觉算法的改进如何使图像得到更正确的分类 有人知道可以实现这一点的工具/框架吗?您所描述的是一个典型的计算机视觉/图像处理测试应用程序框架。尽管多年来我设计并使用了几个这样的系统,但它们都是专有的 此类通用测试工具应具有可变公差、I/II类错误和错误率的不同度量、总摘要以及问题的

我想知道是否有一个测试框架可以理解/绘制数字测试的结果,在本例中,是对程序图像分类错误的某种度量,而不仅仅是通过/失败式的单元测试

我们希望使用CDash/CTest之类的工具来运行这些自动化测试,并查看随着时间的推移,视觉算法的改进如何使图像得到更正确的分类


有人知道可以实现这一点的工具/框架吗?

您所描述的是一个典型的计算机视觉/图像处理测试应用程序框架。尽管多年来我设计并使用了几个这样的系统,但它们都是专有的

此类通用测试工具应具有可变公差、I/II类错误和错误率的不同度量、总摘要以及问题的逐案识别。它还应该为不同的用户提供不同的视图-例如,在调试时,程序员需要的数据与版本/项目经理不同。
一个数据库驱动的后端和自动化测试套件,增强了统计图也将是伟大的

不幸的是,我不知道有任何这样的测试框架可用。
我一直想为这样一个系统启动一个开源项目,但时间和资源都很有限,而且我从来都不确定这样一个系统的实际可取性(尽管我很确定它可以成为通用的,以满足许多应用程序的需要)。
我很想知道,如果有这样一个系统的真正的兴趣,它可能会得到这个项目的车轮移动。。。
我认为此时您必须编写自己的代码。

我认为您应该区分单元测试和算法性能(=准确性和/或速度)评估。您应该同时应用这两种方法,但应分别应用

单元测试应该告诉您的代码是否达到了预期的效果。不确定是否/如何对从原始图像到提取对象的整个链进行单元测试,但您应该能够单独测试组合在一起执行此任务的“单元”(模块/方法/类)。单元测试应该给你“失败”或“通过”。如果速度优化改变了代码的行为,单元测试应该告诉您这一点。对于单元测试,有很多可用的框架(我喜欢GoogleTest,但还有很多其他框架)

您的问题似乎更多地针对第二部分:评估算法的质量。我个人喜欢它主要是java/.NET连续集成服务器,但是你也可以很容易地用C++来使用它。我在我们的商店里写了几行代码,以TeamCity格式输出Google测试结果,并利用他们的数据。每次有人签入新版本时,TeamCity都会执行构建(可以是Visual Studio解决方案、Ant、命令行脚本或其他版本)。所有团队成员都可以通过一个漂亮的web ui看到结果。此外,您还可以报告。这可以用于任何类似算法性能测试的事情。您只需输出一行,如

##teamcity[buildStatisticValue key='detectedObjectsPercent' value='88.3']
在控制台上,您的应用程序(必须配置为在每个构建中运行)和TeamCity将存储这些值,并在web用户界面上提供一个漂亮的图形(随时间变化的值)

别忘了按说明设置自定义图表


我认为TeamCity的设置非常简单,所以请尝试一下!我甚至喜欢我一个人做一个项目

希望有人会反驳我,但通常情况下,测试框架通常是非常通用的。因此,它们不支持特定类型的计算。在给出正确答案的情况下,您可能需要编写自己的代码来评估计算中的错误。如果可以测量误差,则可以根据误差是否在指定公差范围内创建测试。然后,可以基于越来越紧的公差创建一组测试。这将让你观察改进是否减少了计算中的错误。@Bowie Owens:回答一下,我会投票支持你:)手分类包括什么?是分段还是边界框或对象标记?+1提到TeamCity,它确实值得一看。上次我查看时,他们为多达20名开发人员的团队提供了免费许可证。感谢TeamCity的成立,它似乎很好地满足了我的需要:)