Andrew Payne , Semeer Singh 在2004年发表的一篇论文——《Indoor vs Outdoor scene classification in digital photographs》
步骤:
1、用canny edge detector检测边缘
2、计算轮廓垂直度(straightness)
其中e_i 是当前端点,v_i是端点e_i的起始点之间的欧几里得距离,d(e_i)是端点e_i的起始点之间的像素距离
然而,如果轮廓有70%的部分比较直,而30%部分不规则,那么上个公式计算出来的垂直度不太准确,于是有一个改进的办法:把轮廓分成简单的子轮廓。
其中i=1时,
如果,,则轮廓在e_i像素处分裂,Ts在[0,1]变化,间隔为0.05,本文中Ts=0.85
3、对于全局,straight edges 的百分比是
其中,n是edge e_i中像素的个数,即Si>T2
m是T1<Si<T2的像素的个数,α<1是常数,l 是轮廓总像素个数
α是给不是特别直,但又算在其中的edges一个比较小的权重,本文T1=0.8,T2=0.9
4、把每个640×480像素数字图像分成16个大小相等的部分,每部分的边缘垂直度已检测,并且垂直边的比例作为分类器的一个特征
5、有两种分类器 (a)、用一个简单的规则,不需要任何training data
(b)、用training data来训练分类器,如 K-nn