我有一个非常简单的任务:目标是检测另一个图像中的图像模式。特别是,我必须从扫描仪获得的图片中识别出盒状药物滥用测试的正确一面,并尽可能降低误差率。我正在使用AForge.NET库和C#。
DOA测试图片:
链接http://www.atbsrl.com/media/SO/doa-test-sample.png
测试正在进行中的图片:
链接http://www.atbsrl.com/media/SO/Schema03.png
录音带面非常相似,但第一面(A面)有3条掺假带(带彩色区域),另一条只有滥用药物带(B面)。
为了非常肯定地识别A方面,我尝试混合不同的方法,例如颜色匹配和模板匹配,但是目前我使用AForge.NET的测试没有产生预期的结果,因为输入图像的可变性。
你有什么意见建议?
发布于 2015-08-25 09:38:36
使用卷积神经网络。对于传统的图像处理,你几乎什么也做不了,错误率很低。
为了应用这一点,收集尽可能多的图像(最好是一千或更多;一百可能不够,一万可能是理想的),并制作一个文本文件,文件名和标签,他们是从哪一边(0,前面或1)。然后,拿一个现成的包,如卡菲或libccv,并在这个数据集上训练它。您可以使用几乎任何网络模型,但是Caffe中的CaffeNet会很好地工作,遵循本教程为您的应用程序再培训一个训练有素的CaffeNet (这比从头开始容易,并且可以使用较少的数据)。首先,只启动Caffe预装的AWS实例可能是最简单的,比如这一个。考虑到数据的性质,我认为您很容易获得<1%的错误率(如果您有更多的数据,可能会更低)。
如果您可以修改被检测到的对象,您可以使用一个更简单的算法:例如,给每个脸着色,或者放置基准标记或简单的条形码。
https://stackoverflow.com/questions/32199226
复制相似问题