深度学习、AI构图、智能裁图、显著性检测、美感质量评价

基于美感数据集和改进的Alexnet-SPP的AI构图智能裁图

基于美感数据集和改进的Alexnet-SPP的显著性检测

部分代码下载地址:下载地址

实现思路和流程图

1. 基于显著性数据集,利用Alexnet-SPP回归出图像的显著性区域;
2. 基于显著性区域生成4x4或者5x5的候选框;
3. 利用美感质量数据集训练度量学习Siamese Network,对显著性候选框进行打分。
4. 对打分后的候选框进行排序,进行智能裁图。

效果展示:








测试代码:

import tensorflow as tf
import numpy as np
import cv2
import itertoolstf.reset_default_graph()def gen_datalabel(filePath):f = open(filePath)lines = f.readlines()lenNum = len(lines)Num = 0imPath =[]imgs = []for line in lines:Num = Num + 1result = line.split(',')im = result[0]print imimPath.append(im)print (Num,'--',lenNum, im)img = cv2.imread(im)img = cv2.resize(img, (640, 480))imgs.append(img)return imPath, np.asarray(imgs, np.float32)def generate_box(x, y, z, w, img, imgPath):box_centerx = int((x + z) / 2.0)box_centery = int((y + w) / 2.0)ratiosx = [1.0, 1.05, 1.1, 1.2, 1.3, 1.5]ratiosy = [1.0, 1.05, 1.1, 1.2, 1.3, 1.5]# ratiosx = [0.9, 0.95, 1.0, 1.05, 1.1, 1.15, 1.2, 1.3, 1.5]# ratiosy = [0.9, 0.95, 1.0, 1.05, 1.1, 1.15, 1.2, 1.3, 1.5]bbox_result = []bbox_result.append(imgPath)print (imgPath)for ratiox, ratioy in itertools.product(ratiosx, ratiosy):boxw = int((z - x) * ratiox)boxh = int((w - y) * ratioy)gen_boxx = max(box_centerx - (boxw / 2), 0)gen_boxy = max(box_centery - (boxh / 2), 0)gen_boxz = min(box_centerx + (boxw / 2), img2.shape[1])gen_boxw = min(box_centery + (boxh / 2), img2.shape[0])bbox_result.append(gen_boxx)bbox_result.append(gen_boxy)bbox_result.append(gen_boxz)bbox_result.append(gen_boxw)print(gen_boxx, gen_boxy, gen_boxz, gen_boxw)cv2.rectangle(img, (gen_boxx, gen_boxy), (gen_boxz, gen_boxw), (0, 255, 0), 5)return img, bbox_resultfilePath = 'data_lab.txt'
imPath, data = gen_datalabel(filePath)
bbox_file = open('bbox_file_lab.txt', 'a')
W_image = 640
H_image = 480with tf.Session() as sess:saver = tf.train.import_meta_graph('./model/model.ckpt.meta')saver.restore(sess, tf.train.latest_checkpoint('./model/'))graph = tf.get_default_graph()x_input = graph.get_tensor_by_name("x_input:0")keep_prob = graph.get_tensor_by_name("Placeholder_1:0")#attention to modifyfeed_dict = {x_input: data, keep_prob: 0.5}logits = graph.get_tensor_by_name("logits_eval:0")cls_result = sess.run(logits, feed_dict)for i in range(len(imPath)):# result_path1 = './lab_data/' + (imPath[i].split('/'))[2]# result_path2 = './lab_crop/' + (imPath[i].split('/'))[2]result_path3 = './lab_candidate/' + (imPath[i].split('/'))[2]img2 = cv2.imread(imPath[i])retxx = float(img2.shape[1]) / W_imageretyy = float(img2.shape[0]) / H_image# cv2.rectangle(img2, ( max(int(retxx * cls_result[i][0]), 0), max(int(retyy * cls_result[i][1]), 0)),#               ( min(int(retxx * cls_result[i][2]), img2.shape[1]), min(int(retyy * cls_result[i][3]), img2.shape[0])), (0, 0, 0), 5)#cv2.imwrite(result_path2, img2)xx, yy, ww, hh = int( max(retxx * cls_result[i][0], 0)), int( max(retyy * cls_result[i][1], 0)), int( min(retxx * cls_result[i][2], img2.shape[1])), int( min(retyy * cls_result[i][3], img2.shape[0]))img3, bbox_data= generate_box(xx, yy, ww, hh, img2, imPath[i])cv2.rectangle(img3, (xx, yy), (ww, hh),(0, 0, 0), 25)cv2.imwrite(result_path3, img3)for j in range(len(bbox_data)):bbox_file.write(str(bbox_data[j]) + ',')if j % 4 == 0:bbox_file.write('bbox' + str(j / 4) + ',')bbox_file.write('\n')bbox_file.close()

深度学习、AI构图、智能裁图、显著性检测、美感质量评价相关推荐

  1. Infortrend存储 EonStor GSi 深度学习AI存储一体机

    要搭建一个深度学习环境的基本步骤相当繁琐,带有GPU的服务器首先需要安装OS以及深度学习框架的应用,在搭建时也需要考虑到交换机与存储系统,为了能简化繁琐的搭建过程,达到快速部署深度学习环境,Infor ...

  2. 使用函数计算三步实现深度学习 AI 推理在线服务

    目前深度学习应用广发, 其中 AI 推理的在线服务是其中一个重要的可落地的应用场景.本文将为大家介绍使用函数计算部署深度学习 AI 推理的最佳实践,  其中包括使用 FUN 工具一键部署安装第三方依赖 ...

  3. 降低深度学习开发门槛,“动态图+高层API”能带来多大的便利?

    "在深度学习技术面前,我感觉到深深的危机感." 已经有无数人曾经吐槽过这一点,因为深度学习趋势不可阻挡,但其入门门槛之高,落地难度之大,又往往会把开发者挡于门外. 如何降低深度学习 ...

  4. 深度学习AI美颜系列---AI美颜磨皮算法一

    深度学习AI美颜系列---AI美颜磨皮算法一 转自:https://blog.csdn.net/trent1985/article/details/80661230 首先说明一点,为什么本结内容是&q ...

  5. 本地函数定义是非法的_使用函数计算三步实现深度学习 AI 推理在线服务

    目前深度学习应用广发, 其中 AI 推理的在线服务是其中一个重要的可落地的应用场景.本文将为大家介绍使用函数计算部署深度学习 AI 推理的最佳实践, 其中包括使用 FUN 工具一键部署安装第三方依赖. ...

  6. 深度学习AI美颜系列---人脸数据增强

    深度学习AI美颜系列---人脸数据增强 在深度学习的训练中,我们经常会对较少的数据进行数据增强,一般而言,常用的数据增强包括如下几种: 1,旋转: 2,缩放: 3,镜像: 4,平移: 5,调色: 6, ...

  7. 深度学习在图像智能审核中的应用(nsfw篇)

    深度学习在图像智能审核中的应用(nsfw篇) NSFW(not suitable for work)图片,顾名思义,就是一些不太适合在工作中浏览的图片,本文介绍的工作是通过深度卷积神经网络来对此类图片 ...

  8. 深度学习AI美颜系列

    为什么要开始写AI美颜这个系列的内容? 人像美颜美妆滤镜现在来看,几乎成为了人们生活拍照,摄影的刚需,目前市面上绝大多数的算法依旧停留在传统的图像算法阶段,仅有少数的AI算法也尚属于探索研究阶段,比如 ...

  9. 大数据早报:原百度研究院院长林元庆宣布离职创业 比特采矿业巨头BitMain推出深度学习AI硬件(10.27)

    数据早知道,上乐投网看早报! 『百度』原百度研究院院长林元庆宣布离职创业 将投身AI领域 原百度深度学习实验室主任林元庆已经离职,接下来将在人工智能领域创业.据悉,林元庆在八月份便有离开的意向,十一之 ...

最新文章

  1. linux组权限管理,linux 用户组权限管理(示例代码)
  2. python 整数输出 d f_pythn print格式化输出---------%s 和 % d 都是什么意思?
  3. MongoDB 教程三: 高级查询 (SQL到MongoDB映射表)
  4. 编写一个程序,要求输入一个ASCII码值(如66),然后输入相应的字符`
  5. 删除“ie8左侧收藏夹图标(黄星星)”及“恢复”的方法
  6. 继开源之后 红帽打算把它当成新增长点
  7. ffmpeg-20160517-git-bin
  8. 【数学建模】数学建模学习4---动态规划(例题+matlab代码实现)
  9. 实验室纳新语音文字记录
  10. 110报警声+单片机c语言,单片机实现消防车报警声音的设计
  11. vue下载本地静态文件
  12. 火狐浏览器批量保存网页图片
  13. gradle报错this sometimes occurs after a network connection timeout.解决
  14. PPT怎么画坐标 坐标轴刻度数字对齐
  15. 第十三届蓝桥杯大赛软件赛省赛(Java 大学A组)
  16. Design Compiler工具学习笔记(5)
  17. [转] 公共DNS,114.114.114.114和8.8.8.8
  18. 【python】控制鼠标定时移动 防止屏幕锁定 并生成可执行文件exe
  19. 回文是指正读反读均相同的字符序列,如“abba“和“abdba“均是回文,但“good“不是回文。试写一个算法判定给定的字符向量是否为回文。(提示:将一半字符入栈)
  20. 微信公众号留言功能怎么开通权限?

热门文章

  1. Cocos 属性常用参数
  2. [JAVAEE] Thymeleaf 基本语法: form相关标签
  3. 员工信息管理系统java6_职工信息管理系统java源代码【可修改】.doc
  4. 新闻网大数据实时分析可视化系统项目——5、Hadoop2.X HA架构与部署
  5. python 下划线转驼峰
  6. Java之Spring mvc详解(非原创)
  7. MySQL 存储过程传参之in, out, inout 参数用法
  8. Android应用系列:完美运行GIF格式的ImageView(附源码)
  9. 与后台交互方法一 ——Ajax
  10. cordova 安装ssl证书_cordova环境配置(android)