当前位置: 首页 > news >正文

企业建设网站的必要性wordpress可以做下载文件

企业建设网站的必要性,wordpress可以做下载文件,南京网站设计公司哪家好,网站技术策划文章目录前言1、facenet2、使用2.1.其它blog2.2 实践总结前言 老早以前就希望能写一篇关于人脸识别的工程化落地的案例#xff0c;一年前做疲劳驾驶时使用的dlib插件#xff0c;它封装好了#xff0c;人脸检测、对齐、相似度计算三个部分,就是插件比较难装,但同时也少了很多… 文章目录前言1、facenet2、使用2.1.其它blog2.2 实践总结前言 老早以前就希望能写一篇关于人脸识别的工程化落地的案例一年前做疲劳驾驶时使用的dlib插件它封装好了人脸检测、对齐、相似度计算三个部分,就是插件比较难装,但同时也少了很多细节. 今天我们来做一些高级一点的, facenet网络 1、facenet 谷歌人脸识别算法发表于 CVPR 2015利用相同人脸在不同角度等姿态的照片下有高内聚性不同人脸有低耦合性提出使用 cnn triplet mining 方法在 LFW 数据集上准确度达到 99.63%。 测试时只需要计算人脸特征EMBEDDING然后计算距离使用阈值即可判定两张人脸照片是否属于相同的个体。 在这里插入图片描述 简单来讲在使用阶段facenet即是 1、输入一张人脸图片 2、通过深度卷积网络提取特征 3、L2标准化 4、得到一个长度为128特征向量。 2、使用 2.1.其它blog 其它人在使用中一般是这样的 #---------------------------------------------------## 检测图片#---------------------------------------------------#def detect_image(self, image_1, image_2):#---------------------------------------------------## 图片预处理归一化#---------------------------------------------------#with torch.no_grad():image_1 resize_image(image_1, [self.input_shape[1], self.input_shape[0]], letterbox_imageself.letterbox_image)image_2 resize_image(image_2, [self.input_shape[1], self.input_shape[0]], letterbox_imageself.letterbox_image)photo_1 torch.from_numpy(np.expand_dims(np.transpose(preprocess_input(np.array(image_1, np.float32)), (2, 0, 1)), 0))photo_2 torch.from_numpy(np.expand_dims(np.transpose(preprocess_input(np.array(image_2, np.float32)), (2, 0, 1)), 0))if self.cuda:photo_1 photo_1.cuda()photo_2 photo_2.cuda()#---------------------------------------------------## 图片传入网络进行预测#---------------------------------------------------#output1 self.net(photo_1).cpu().numpy()output2 self.net(photo_2).cpu().numpy()#---------------------------------------------------## 计算二者之间的距离#---------------------------------------------------#l1 np.linalg.norm(output1 - output2, axis1)# plt.subplot(1, 2, 1)# plt.imshow(np.array(image_1))# plt.subplot(1, 2, 2)# plt.imshow(np.array(image_2))# plt.text(-12, -12, Distance:%.3f % l1, hacenter, va bottom,fontsize11)# plt.show()return l1核心思想是:传入两张图片,计算距离,设置阈值判断是否是同一个人. 可是,这种放在工程上,比如人脸开门是不行的,所谓人脸识别,必须有一个人脸库,送入一张图片和人脸库的所有图片进行遍历比对,挑出相似度最高的一张图片,和阈值比对,决定是否开门,并留存记录. 那肯定不能次次遍历人脸库啊,所以人脸库的图片要先转出特征向量的collection,存起来, 送入一张图片后,用模型抽取向量特征,和collections里面的向量比较. 如果人脸库太大,比如几万张特征,我们可以分batch存,每个batch找出最合适的,有点像桶排序,并且并行起来计算,是不是比较有意思. 2.2 实践 #---------------------------------------------------## 保存人脸库特征#---------------------------------------------------#def save_to_tensor(self):#---------------------------------------------------## 图片预处理归一化#---------------------------------------------------#path_dir ./imgfile_name_list os.listdir(path_dir)img_feature {}with torch.no_grad():for file_name in file_name_list:image_1 Image.open(os.path.join(path_dir,file_name))image_1 resize_image(image_1, [self.input_shape[1], self.input_shape[0]], letterbox_imageself.letterbox_image)photo_1 torch.from_numpy(np.expand_dims(np.transpose(preprocess_input(np.array(image_1, np.float32)), (2, 0, 1)), 0))if self.cuda:photo_1 photo_1.cuda() #---------------------------------------------------## 图片传入网络进行预测#---------------------------------------------------#output1 self.net(photo_1).cpu().numpy()img_feature[file_name] output1print(img_feature)with open(img_feature.txt, wb) as file:pickle.dump(img_feature, file)return None经过这些代码,把./img/ 下的人脸库向量都以二进制的方式存入了文件中. 送入一张图片,只需要,将图片送入模型,获取当前人的人脸信息,然后和人脸库的向量比较, def get_from_face_collection(self):input_file img/1_001.jpgimage_1 Image.open(input_file)image_1 resize_image(image_1, [self.input_shape[1], self.input_shape[0]], letterbox_imageself.letterbox_image)with torch.no_grad():photo_1 torch.from_numpy(np.expand_dims(np.transpose(preprocess_input(np.array(image_1, np.float32)), (2, 0, 1)), 0))if self.cuda:photo_1 photo_1.cuda() #---------------------------------------------------## 图片传入网络进行预测#---------------------------------------------------#output1 self.net(photo_1).cpu().numpy()f open(img_feature.txt,rb)img_feature_json pickle.load(f)distance_map {}for img_name, featrue_map in img_feature_json.items():l1 np.linalg.norm(output1 - featrue_map, axis1)distance_map[img_name] l1print(distance_map)distance_map 就是你说要的结果集,然后做个排序,找到top1 和阈值比对即可 git:https://github.com/justinge/facenet_pytorch.git 总结 还有用milivus向量库的,先挖个坑,最终工程化一个到位的.
http://www.w-s-a.com/news/591631/

相关文章:

  • 网站备案需要什么流程怎么创建小程序卖东西
  • 陇西网站建设 室内设计持啊传媒企业推广
  • 连云港做网站制作首选公司如何让单位网站做防护
  • wordpress企业网站源码开发网站用什么工具做设计
  • 网站负责人不是法人seo神马网站推广器
  • 网站建设绩效考核方案wordpress支付宝付款
  • 高要区住房和城乡建设局网站如何网上注销自己的公司
  • 哪种技术做网站容易论文答辩图片做记录片的是哪个网站
  • 怎样在微信中做网站网站的备案号在哪
  • 返利淘网站怎么做wordpress htnl短代码
  • 网站 手机 appwordpress管理账户
  • 徐州网站建设 网站制作做招商网站的前景怎么样
  • 网站开发就业岗位鹧鸪哨网站1v1深度开发
  • 在线手机动画网站模板网站登录注册怎么做
  • 苏州品牌网站设计晋江论坛兔区是什么
  • 怎么利用代码做网站重庆网络营销网站建设销售
  • 用dw怎么做网站留言板百度举报网站
  • 成都微网站设计企业为什么要做网络营销推广
  • 双桥区网站制作企业网站一般内容包括哪些
  • 莆田外贸专业建站做app 需要先做网站吗
  • 网站怎么用北京口碑最好的装修公司
  • 潮州网站建设深圳微信分销网站设计
  • asp.net网站开发实例教程pdf泉州seo网站关键词优推广
  • 怎样建立一个企业网站dede 网站名称
  • 做网上竞彩网站合法吗免费网站建设品牌
  • 网站开发所需要的的环境客户关系管理的内涵
  • 优质做网站公司做软件的人叫什么
  • 徐州市徐州市城乡建设局网站首页网站建设刂金手指下拉十五
  • 建设游戏网站目的及其定位市场营销策略概念
  • 小学电教检查网站建设资料wordpress谷歌字体