新手,最近在做一个项目,想以一定尺寸裁剪所给图片,使得裁剪出来的部分是图片的重点内容,想请教怎样用机器学习完成这项工作。
个人理解:
0.准备你需要的环境 eg:Matlab、vs、opencv
1.准备有关图片重要内容的数据集(训练集(正负样本)+测试集)
2.可以采用传统方法,使用特征+分类器训练数据。
针对要检测内容选取合适的特征(HOG,LBP,SIFT,Edglet特征等)和分类器(有SVM和Adaboost)
比如行人的话,经典的是HOG+SVM,人脸的话是Haar+Adaboost,一般性物体的话可以是HOG+DPM算法。
3.测试数据
当然还可以用深度学习RCNN系列。你可以选取传统方法先入个坑,但是弄到最后也还是会慢慢到深度学习上的,不过个人感觉能深入了解下传统方法对以后深度学习也是有好处的。以上关键词详情可以查,网上有很多资料。如果您觉得能帮到你,希望能采纳。 :-P
机器学习有很多分支,比如深度学习,你这个可以用深度卷积神经网络(dcnn)
如果不想从底层写,可以调用opencv
。。。。。。。。。。。。。。。。。。。。。。。。
可以理解为目标检测问题,使用R-CNN系列的方法可以解决
重点内容的定义是什么?有点类似目标检测任务,可以利用现在流行的神经网络R-CNN去完成
选好工具,然后查找一些可以参考的源程序,多调试
解决问题分两步:
1. 图片中什么是重要的;
2. 裁剪该部分
step1分情况:
1)如果是特定场景图片,比如人脸,车辆,有特定的检测方法(传统方法或者CNN都可以)
2)一般物体检测的方法 (RNN系列)
3)显著性物体检测方法(看程明明老师或者卢湖川老师的论文,有代码)
step2:
step1中的1,2两种情况直接给出所需要裁剪的区域
step1中的第3种情况,给出每个像素是否显著的概率,把概率高的像素区域提取出来即可
谢谢 望采纳!
定位重点内容,可以使用传统模式匹配方式利用opencv,或使用深度学习方式,需要大量标注样例。