csharp中的对象识别 [英] object recognition in csharp

查看:163
本文介绍了csharp中的对象识别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是计算机视觉的新手,我想做一个项目来识别(而不是检测)网络摄像头前面显示的各种物体.
该项目分为两个阶段

1培训
2认识

一旦训练过的物体就可以在识别阶段被识别.

如何做到和实施?

请帮助我,并向我建议一些使用c#.net进行对象识别的链接,源代码或文章.

i am new to computer vision and i would like to do a project on recognizing (not detection) various objects shown in front of a webcam.
The project consist 2 phases

1 training
2 recognizing

the object once trained could be identified on recognizing phase.

how this can be done and implemented?

please help me and suggest me some links,source codes or articles for object recognition using c#.net.

推荐答案

Ultra Rapid Object Detection in Computer Vision Applications with Haar-like Wavelet Features[^] could help you get started.


首先要看的是AForge. NET,请参见 http://en.wikipedia.org/wiki/AForge.NET [ http://www.aforgenet.com/ [^ ].

还请看以下库:

OpenCV, http://en.wikipedia.org/wiki/OpenCV [ http://opencv.willowgarage.com/wiki/ [ ^ ] ,

VXL, http://en.wikipedia.org/wiki/VXL [ http://vxl .sourceforge.net/ [ ^ ].

另请参阅AForge.NET作者,CodeProject成员Andrew Kirillov的文章: http://www.codeproject.com/Members /Andrew-Kirillov [ ^ ].另一个要查看的CodeProject成员是Chesnokov Yuriy, http://www.codeproject.com/Members/Chesnokov-Yuriy [< ^ ].

如果您与他们联系,请不要告诉他们您已经按照我的建议完成了. :-)

—SA
First to look at is AForge.NET, see http://en.wikipedia.org/wiki/AForge.NET[^], http://www.aforgenet.com/[^].

Also look at the following libraries:

OpenCV, http://en.wikipedia.org/wiki/OpenCV[^], http://opencv.willowgarage.com/wiki/[^],

VXL, http://en.wikipedia.org/wiki/VXL[^], http://vxl.sourceforge.net/[^].

See also the articles by the author of AForge.NET, CodeProject member Andrew Kirillov: http://www.codeproject.com/Members/Andrew-Kirillov[^]. Another CodeProject member to look at is Chesnokov Yuriy, http://www.codeproject.com/Members/Chesnokov-Yuriy[^].

If you contact them, don''t tell them you''ve done it on my advice. :-)

—SA


最好的方法是通常执行一些预处理,以使样本图像无噪声并且可以轻松区分对象.此预处理阶段还可能包括将图像对齐到与您希望用于比较的任何样品一致的方向.

一旦您拥有可以轻松分析的形式的图像,您可能希望使用诸如均方误差之类的度量将您的对象与库存示例进行比较.样本图像与示例图像之间的差异越小,匹配的可能性就越高.

但是,这在诸如几何形状的简单对象的情况下将起作用.但是,如果您想识别杯子的图像,这将很困难.您会提供每种杯型设计的详尽清单吗?另一个复杂性是问,您的识别语义吗?您想从任何形状的杯子中都能体会到,它的功能实际上是保持液体吗?在这种情况下,您将如何与碗区分开?

这些不是琐碎的问题,而是认真研究的重点.

由于相关的链接,我在这里赞成SA的解决方案.我还建议从AForge开始,看看能走多远.
The best approach is to usually perform some preprocessing so that your sample image is noise free and your object is easily distinguishable. This preprocessing stage may also include aligning your image to a consistent orientation to that of any sample you may wish to use for comparison.

Once you have an image which is in a form it can easily be analysed, you may wish to compare your object to stock example using a metric such as Mean Squared Error. The less the disparity between your sample and example image, the higher the likelihood of a match.

However, this would work in the case of simple object such as geometric shapes. However if you wanted to recognise an image of a cup this would be difficult. Would you provide an exhaustive list of every type of cup design? Another layer of complexity would be to ask, is your recognition semantic? Do you want to be able to realise from any cup shape, that it''s function is in fact to hold liquid. How would you differentiate from a bowl in that case?

These are not trivial questions and are the focus of serious research.

I upvoted SA''s solution here because of the relevant links. I would also recommend starting with AForge and seeing how far you get.


这篇关于csharp中的对象识别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆