我的问题陈述如下:
“使用Tensorflow和卷积神经网络进行对象检测和本地化”
我做了什么?
我完成了使用tflearn库从图像中检测猫。我使用25000张猫的图像成功训练了一个模型,并且其工作正常,准确度很高。
我想做什么?
如果我的图像由同一图像中的两个或两个以上的对象组成,例如猫和狗在一起,那么我的结果应该是“猫与狗”,除此之外,我必须找到确切的位置这两个对象在图像上(边界框)
我遇到了许多高级库,例如 darknet , SSD ,但却无法理解其背后的概念。
请指导我解决问题的方法。
注意:我正在使用监督学习技术。
预期结果:
答案 0 :(得分:1)
你有几种方法可以解决它。
最直接的方法是使用一些边界框建议算法(如选择性搜索)获取一些建议的边界框,并在建议的每个上运行您已经训练过的分类网。这种方法是R-CNN采用的方法。
对于基于上述方法的更高级算法,我建议您阅读有关Fast-R-CNN和更快的R-CNN的信息。
查看Object detection with R-CNN?的一些基本解释。
Darknet和SSD基于不同的方法,如果你想要解决它们你可以阅读它们
http://www.cs.unc.edu/~wliu/papers/ssd.pdf https://pjreddie.com/media/files/papers/yolo.pdf
答案 1 :(得分:1)
图像定位是一个复杂的问题,许多不同的实现以不同的效率实现相同的结果。
有两种主要的实施方式
- 使用回归定位对象
- 单射击探测器
干杯
答案 2 :(得分:0)
我使用PyTorch和ResNet34在印度货币上做了一个类似的项目(检测+本地化)。以下是我的kaggle笔记本的链接,希望对您有所帮助。我已经从互联网上手动收集了图像,并在它们周围制作了边框,并使用“ LabelImg”注释工具保存了它们的注释文件(Pascal VOC)。
https://www.kaggle.com/shweta2407/objectdetection-on-custom-dataset-resnet34