全连接神经网络算法 进行颐和园景点图片识别,并通过flask构建web api接口供其他服务使用(旅游之眼微信小程序图片场景识别算法支持)。
1从百度图片爬取颐和园五处景点图片各约30张。其中每处景点选20张作为训练集,10张作为测试集。 2 所有图片均压缩为统一尺寸1024680像素。 3 所有图片转成10246803的矩阵,进而转成 (1024680*3,1),即(2088960,1)的矩阵。 4 将训练集和测试集的矩阵分别拼接,训练集x为(2088960,100)的矩阵,测试集x为(2088960,64)的矩阵。再设置相应景点的y为 (1,0,0,0,0),(0,1,0,0,0),(0,0,1,0,0),(0,0,0,1,0),(0,0,0,0,1)
该算法为全连接神经网络算法,层数为1. 经过一层反向传播,迭代100次最佳,学习速率为0.01,激活函数为sigmoid。 将训练好的w(权重)b(偏移量)分别保存在相应的npy文件里,随用随取。
定义distinguish函数,传入一张图片,将其压缩为指定尺寸,转为指定尺寸的矩阵,加载npy文件,得到w,b,代入公式(x.T*w+b),得到一个(5,1)矩阵,按照最大值的下标,返回这个列表 ['万寿山', '东宫门', '佛香阁', '排云殿', '昆明湖'] 对应的景点。
URL:/home 请求方法POST, 通过调用distinguish方法进行识别,返回结果