我在scikit-learn方面是新手,我有很多图像,这些图像的大小不尽相同,其中一些是真实场景的图像,如
cdn.mayike.com/emotion/img/attached/1/image/dt/20170920/12/20170920121356_795.pngcdn.mayike.com/emotion/img/attached/1/image/mainImg/20170916/15/20170916153205_512.png,
而另一些则不是真实场景的图像,如
cdn.mayike.com/emotion/img/attached/1/image/dt/20170917/01/20170917011403_856.jpeg
cdn.mayike.com/emotion/img/attached/1/image/dt/20170917/14/20170917145613_197.png.
我想使用scikit-learn来识别哪些不是真实场景的图像,我认为这类似于http://scikit-learn.org/stable/auto_examples/applications/plot_face_recognition.html#sphx-glr-auto-examples-applications-plot-face-recognition-py.
我完全不知道如何开始。
如何创建数据集并从图像中提取特征?
有人能告诉我应该做些什么吗?
回答:
这似乎不直接是一个编程问题,你的问题涉及到非基础的“当前”研究领域。
你应该阅读关于自然场景(统计)的内容,并熟悉当前的机器学习框架之一,如TensorFlow、Caffe。
有很多教程可以帮助你入门,例如,你可以从一个二元分类器开始,该分类器输出给定图像是否显示自然场景。
你的数据库设置可以具有如下结构:
-> Dataset -> natural_scenes -> artificial_images
例如,Digits可以使用这种结构来创建数据集,并且能够使用为Caffe和TensorFlow设计的模型。
我还建议你阅读关于微调神经网络的内容,因为如果你从头开始训练,你将需要大量的图像在数据库中。
在Caffe中,你可以微调预训练的模型,如CaffeNet或GoogeNet。
我认为这些是帮助你入门的一些基本信息。
关于scikit-learn和人脸检测:人脸检测更多的是寻找可能包含人脸的局部候选或图像块。另一方面,你的问题更像是一个全局问题,因为它涉及到整个图像。因此,我建议从这里开始使用能够为你提取局部和全局特征的神经网络。