我想做一个关于物体识别的小项目,有没有关于这个主题的工具或文献建议?
Opencv
alt text http://img.amazon.ca/images/I/51wL-eaIHpL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU15_.jpg
Opencv是一款免费的开源计算机视觉库,可用于C/C++和Python。它有着庞大的社区和大量的示例和基于该库的大学课程。
如果您拥有matlab软件(或有一些闲钱),则可以考虑使用它作为另一种选择。
在您的项目中,您可能需要使用图像处理技术。一本非常好的介绍性书籍是Gonzalez和Woods的数字图像处理。它涵盖了诸如图像分割之类的主题,这是一种用于将要识别的对象与图像的其余部分分离的技术。
在确定输入图像中的对象之后,下一步是找到一种方法来衡量它们彼此之间的相似程度。可能最好的方法是使用图像描述符。通常,对于对象识别,基于形状的描述符是最好的类别。张D和卢G的文章“形状表示和描述技术评论”提供了关于形状描述符的很好的评论。
最后,您需要对这些对象进行分类。Mitchell的[机器学习]是一本经典著作,讨论了您可以在项目中使用的k-NN等技术。
OpenCV或Matlab。我特别喜欢使用OpenCV,因为它具有以下优点:
一个不错的游乐场是使用Processing(http://processing.org/)和各种计算机视觉库,特别是OpenCV(http://ubaa.net/shared/processing/opencv/)。对于从内置或外部USB摄像头进行简单帧捕获,您不需要这些库,因为它可以直接使用。
通过连接USB摄像头,您可以立即开始做一些有趣的事情,因为使用Processing进行编程非常容易。我的意思是,我很快就能检测和跟踪人脸,而我在这个领域没有任何背景。
同时,也要研究一下Adobe Flash的物体识别功能。认真对待。