图像智能处理黑科技,让图像处理信手拈来

news2024/11/18 18:41:31

图像智能处理黑科技,让图像处理信手拈来

    • 0. 前言
    • 1. 图像智能处理简介
    • 2. 图像切边增强
    • 3. PS 检测
    • 4. 图像水印去除
    • 5. 图像矫正
    • 6. 图像去屏幕纹
    • 7. 调用图像智能处理 API
    • 小结

0. 前言

计算机视觉 (Computer Vision, CV) 通过研究如何令机器“看懂”世界,构建从图像中获取信息的人工智能系统,是人工智能领域的一个重要分支。计算机视觉具体而言是指,利用计算机代替人眼对目标进行识别、跟踪和识别等,通过对图像进行处理,使其更适合人眼或计算机检测。因此,图像智能处理技术在计算机视觉中发挥着重要作用。

1. 图像智能处理简介

图像智能处理是指利用计算机对各种复杂应用场景的图像进行自动化处理和分析,是计算机视觉领域中重要的技术领域。通过为机器视觉系统添加图像智能处理功能,等于为机器安装上了智能的“眼睛”,令机器看得清、看得懂,以接近甚至超越人眼的能力执行分析与处理任务。
但是,如所有计算机技术一样,作为一门实践性很强的学科,我们不必要从头开始“造轮子”,本文的目标是令我们能够将图像智能处理快速集成到项目开发中,从而专注于使用这些工具创造新价值。
合合信息是行业领先的人工智能集大数据科技企业,通过在智能文字识别和商业大数据领域的积累的优势,提供了行业领先的计算机图形图像技术,其研发的智能图像处理引擎提供多种图像智能处理黑科技,例如图像切边增强、PS 检测、图像水印去除以及图像矫正等,还有更多图像智能处理黑科技,可以参考合合信息官网。其解决了影像采集不规范问题,能够极大的优化影像质量,为项目后续的图像处理奠定基础。

合合信息
本文将带领大家一窥合合信息图像智能处理的主要黑科技技术,并通过示例演示如何将其应用于实际的项目实践中。

2. 图像切边增强

文档数字化是保存文献、文档的一种重要方式,随着移动摄像头日益增多,拍摄物理文档成为一种便捷的文档扫描方式,拍摄完成后,可以对图像进一步进行处理,实现内容分析和信息提取。但文档拍摄由于弯曲、旋转、折叠,或者位于复杂背景之上导致扫描结果并不理想,如下图所示。
文档拍摄存在问题
目前,较为先进的模型采用 U-Net 作为基础模型,它使用全卷积网络作为主干网络,并包含一系列的下采样层和上采样层,网络架构如下图所示。
DocUnet
获取带有标签的海量数据是深度监督学习面临的首个挑战。为训练网络,我们大量具有不同扭曲程度的文档图像及相应的变形图像作为输入,但这些数据集难以获取,为了获取真实的变形标签图,需要使用平整文档进行随机扭曲合成数据集。
训练数据集获取

图像切边增强是指令计算机智能判断照片中主体文档的边缘进行切边,同时增强图像突出文字,支持识别背景复杂的文字内容,返回文字信息及文字的位置信息、行置信度、单字符内容和位置等,体验地址:合合信息图像切边增强。

图像切边增强
通过以上结果可以看出,图像切边增强不仅可以可以裁切图像主体区域,同时也能够对主体区域的图像质量进行增强,既能更好的对主题区域进行展示,还能够提高下游任务( OCR 识别、信息识别等)的准确率,在票据识别、文本转录等场景下具有很高的实用价值。

3. PS 检测

PS 作为一款图像处理软件,图像处理效果十分精确,其这一特点不仅为我们的生活提供了极大的便利,也会被“有心之人”利用,例如伪造发票、请假条等。
图像 PS 痕迹检测可以使用视觉线索和压缩伪影两种依据来判断图像是否被篡改:视觉线索即像素之间的关系;而压缩伪影特指 Jpg 压缩所用的 DCT 矩阵。以下网络架构是一种多分辨率融合网络,其融合了多个尺度的特征,可以利用图像的低维特征,对于图像 PS 痕迹检测具有极大优势。

PS检测架构

基于行业领先的自研篡改检测系统,合合信息的 PS 检测系统可判断图片是否被篡改,支持身份证、护照、行驶证、驾驶证、港澳通信证等证照类别,及增值税发票、普通发票、小票、合同等文档类别,让一切伪造凭证无所遁形,体验地址:合合信息 PS 检测。

PS 检测
在上图中,可以看出即时对于人眼而言无法察觉的微小 PS 修改痕迹,利用合合信息的 PS 检测系统的“火眼金睛”仍然可以准确的让其原形毕露。

4. 图像水印去除

图像凭借其直观、易生产、传播成本低的特点在诸多信息的传播方式中成为了互联网信息传播的首选方式,而图像水印作为图像版权保护的重要方式在互联网中得到了极为广泛的应用。但是,作为用户,有时过度叠加的水印对我们的冲浪体验造成了极大的不便,相信许多小伙伴都在网上见过叠加了一层又一层水印的图片,并对其深恶痛绝。

图像水印
图像水印去除问题可以看作是一个从图像到图像的转换问题,即将带水印的图像转换为无水印的图像。我们同样可以基于全卷积网络来搭建图像水印去除模型,以实现这种图像到图像的转换。以下全卷积网络的输入是带水印的图像区域,经过多层卷积神经网络处理后输出无水印的图像,网络模型的目标是令网络输出的无水印图像能够和原始的无水印图像尽可能的接近。

网络架构

合合信息图像水印去除支持对图片中日期、logo、文字等形式的水印进行自动擦除,确保高保真处理,无痕还原图片素材,体验地址:合合信息图像水印去除。

图像水印去除可以看到水印去除的效果超出预期,即使是图像中的色彩以及细小的线条都可以得到完好的保留,而不是简单的对水印进行淡化涂抹,而且水印去除功能还支持去除 pdf 格式的文件,这对于大多数用户而言简直是福音,再也不用打印出带有浓厚颜色甚至影响阅读的电子版课件了。

5. 图像矫正

在日常生活与工作中我们通常使用纸质文档承载大量有用的信息,随着移动智能手机、便携相机等设备的逐渐普及,我们通常通过拍照实现纸质文档的数字化。文档数字化实现了纸质文档的存档、检索、共享、识别与分析等处理,为我们日常的工作与生活带来了极大的便利。但由于相机的姿态、文档放置状态、文档自身变形等不确定因素,在使用移动设备采集文档照片时会出现角度和弯曲变形,这些原始的照片对于文档图像内容的自动提取与分析造成了不利影响,因此需要进行一定的变形矫正处理。

偏移图像
针对现有用于图像矫正深度学习模型空间泛化性差、模型参数量大、推理速度慢等问题,目前一般采用轻量化文档姿态估计网络,用于透视变形文档图像的姿态估计处理,称之为 DPENet (Document Pose Estimation Network)。利用 DPENet 网络将文档图像中的单一文档视为一个姿态估计对象,将文档的四个角点视作文档对象的四个姿态估计点,结合当前主流的姿态估计模块 DSNT 实现了文档图像角点的高精度定位,并通过透视变换处理实现了透视变形的高精度矫正处理。

DSNT

合合信息图像矫正可以智能定位图像中文档主体的边缘,并进行背景切除 (文档提取),对形变文档进行矫正,主要包括角度矫正和弯曲矫正两种复杂的矫正,体验地址:合合信息图像矫正。

图像矫正
可以看到利用合合信息图像矫正功能能够将图像恢复至正面垂直拍摄的效果,解决了文档图像变形矫正算法抗干扰性差、矫正效果不佳等问题。

6. 图像去屏幕纹

智能手机,数码相机等设备为我们提供了快速记录信息的机会,已经逐渐成为人们日常生活中必不可少的工具。但是,使用数码相机拍摄数字屏幕时会在照片中会出现令人反感的屏幕纹。屏幕纹的存在不仅严重降低了图像的质量,并且也会影响到我们后续的分析和处理。

摩尔纹
同时,由于屏幕纹对重复结构的轻微变换具有极度敏感性,因此图像结构的多样性导致屏幕纹也具有复杂性和不规则性,屏幕纹的消除一直以来都是具有极具挑战性的任务。传统高斯、双边等滤波方式对屏幕纹的抑制效果不佳,而专门针对屏幕纹消除的工作目前仍然较少。不同于取噪点或去马赛克等图像修复问题,由于摩尔纹在频率、形状、颜色等方面的巨大变化,从被摩尔纹扰动的图像中恢复出原始干净图像仍然是一个未解决的问题。
针对这以问题许多研究试图通过多尺度设计来消除不同频段的摩尔纹。DMCNN 提出使用具有多分辨率分支的多尺度 CNN 处理摩尔纹图案,并对不同尺度的输出求和以获得最终输出;MDDM 通过引入基于动态特征编码器的自适应实例规范化改进了 DMCNN。而最新的 MopNet 则使用多尺度特征聚合子模块来处理复杂频率;同时在不同尺度之间采用渐进式上采样策略以平滑地提高分辨率。

图像去屏幕纹网络架构

合合信息图像去屏幕纹支持去除因拍屏幕产生的各种纹理(屏幕纹、摩尔纹),还原清晰真实图像,体验地址:合合信息图像去屏幕纹。

图像去屏幕纹
可以看到合合信息图像去屏幕纹功能能够高效的完成图像恢复任务,最大程度的恢复被屏幕纹污染的屏摄照片,能够去除所有样式的屏幕纹,并且能够保证图片细节信息完整,便于我们后续对图像进行进一步的分析。

7. 调用图像智能处理 API

感受了合合信息图像智能处理引擎的强大之后,我们当然迫不及待的想将其应用到项目实践中去,合合信息提供了丰富的图像智能处理 API,支持 curlJavaC#PythonPHPNode.js等多种编程语言,并且提供了详尽的 API 功能描述与使用示例,方便我们将其应用于项目中去。

API调用
Python API 为例,调用合合信息图像智能处理的代码非常简单方便:

import requests
import json

def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

class CommonOcr(object):
    def __init__(self, img_path):
        # 登录后前往 “工作台-账号管理-开发者信息” 查看 x-ti-app-id
        self._app_id = 'f5..................5e4'
        # 登录后前往 “工作台-账号管理-开发者信息” 查看 x-ti-secret-code
        self._secret_code = '7...............4cafa'
        self._img_path = img_path

    def recognize(self):
        # 图片切边增强
        url = 'https://api.textin.com/ai/service/v1/crop_enhance_image'
        head = {}
        try:
            image = get_file_content(self._img_path)
            head['x-ti-app-id'] = self._app_id
            head['x-ti-secret-code'] = self._secret_code
            result = requests.post(url, data=image, headers=head)
            return result.text
        except Exception as e:
            return e

if __name__ == "__main__":
    response = CommonOcr(r'download.jpeg')
    print(response.recognize())

小结

依托于合合信息旗下强大的技术支撑,其研发的智能图像处理引擎不仅能够满足项目中常见的图像处理需求,同时其完善的文档支持也能够帮助我们快速部署应用高效的图像处理功能。本节中,介绍了合合信息图像智能处理的主要黑科技,包括图像切边增强、PS 检测、图像水印去除、图像矫正和图像取屏幕纹等,同时也了解了这些黑科技的重要特点,在今后的项目实践中可以根据实际需要合理选用,极大的提高应用程序的性能与效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式分享合集84

今天做的某地区的项目, 了解了一下 很是不开心 原来这几年丢的不仅是某公湖 真呵呵 一、学习单片机 如何系统地入门学习STM32? 假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习。 你要考虑的是, 我可以用STM32实…

Scratch软件编程等级考试三级——20200913

Scratch软件编程等级考试三级——20200913理论单选题判断题实操幻影小猫打气球游戏猫咪抓老鼠游戏理论 单选题 1、要使以下代码运行后画出如图所示三角形风车,则以下代码中①②③④处应分别填入多少?() A、3 4 90 120 B、4 3 90…

实验项目一:【文本反爬网站的分析和爬取】

一、实验目的 熟悉使用Selenium、Pyppeteer等工具爬取网站基本内容,通过分析具有文本反爬技术网站,设计爬取策略来获取文本正确的内容。 二、实验预习提示 安装Python环境 (Python 3.x):Pychram社区版Anaconda为Pytho…

[SpringBoot] YAML基础语法

✨✨个人主页:沫洺的主页 📚📚系列专栏: 📖 JavaWeb专栏📖 JavaSE专栏 📖 Java基础专栏📖vue3专栏 📖MyBatis专栏📖Spring专栏📖SpringMVC专栏📖SpringBoot专…

四线法与电桥

目录: 一、基本电桥电路 二、开尔文四线检测 三、惠斯通与开尔文电桥 1、电阻桥定义解释 2、电阻桥相关计算 3、开尔文双电桥 4、电阻桥的应用 --------------------------------------------------------------------------------------------------------…

java中的垃圾回收算法与垃圾回收器

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

Swift学习笔记笔记(五) Swift扩展协议类

一、 实验目的: 1.掌握Swift扩展型 2.掌握Swift协议 3.掌握Swift类 二、实验原理: 1.Swift扩展的定义 2.Swift协议的定义 3.Swift类的定义 三、实验步骤及内容: 1.方法 //实例方法 class Website { var visitCount 0 func visiting(){…

【LC】二叉树应用强化OJ

✨博客主页: 心荣~ ✨系列专栏:【LeetCode/牛客刷题】 ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录1. 检查两颗树是否相同2. 另一颗树的子树3. 二叉树最大深度4. 判断—颗二叉树是否是平衡二叉树5. 对称二叉树6. 二叉树的构建及遍历7. 二叉树的分层遍历8. 给定一个二叉树…

JAVAweb第一次总结作业

1.什么是html HTML的全称为超文本标记语言(Hyper Text Markup Language),是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。 HTML文本是由HTML命令组成的描述性文本&…

【Python】import模块的多种操作

前言 记录一下关于Python在导入模块时候一些操作~ 知识点📖📖 Python魔法方法:__all__ Python内置模块:importlib 实现 指定导出的变量 当你在使用 from xxx import * 时候,可以通过 __all__ 来指定可被导出的变…

每天五分钟机器学习:通过学习曲线判断模型是过拟合还是欠拟合

本文重点 本节课程我们学习使用学习曲线来判断某一个学习算法是否处于偏差、方差问题。学习曲线其实就是训练误差和验证误差关于样本m的曲线,我们将通过学习曲线来判断该算法是处于高偏差问题,还是处于高方差问题。 高偏差问题(欠拟合) 注意:这个m表示训练集数据样本…

王二涛研究组揭示丛枝菌根共生与根瘤共生的协同进化机制

2021年,中国科学院分子植物科学卓越创新中心王二涛团队在《Molecular Plant》发表了“Mycorrhizal Symbiosis Modulates the Rhizosphere Microbiota to Promote Rhizobia Legume Symbiosis”研究论文,该研究通过定量微生物组、微生物共发生网络及微生物…

mac for m1(arm):安装redis的四种方式(本机安装、homebrew安装、虚拟机安装、docker安装)

0. 引言 redis作为当今最常用的非关系型数据库,被广泛应用于数据缓存场景。而mac m1采用arm芯片,使得众多软件安装成为问题,今天我们来看mac m1如何安装redis 1.本机安装redis 1、下载redis安装包:https://redis.io/download/ …

subplots()--matplotlib

1. 函数功能 成一个画布和若干子区。2. 函数语法 matplotlib.pyplot.subplots(nrows1, ncols1, *, sharexFalse, shareyFalse, squeezeTrue, subplot_kwNone, gridspec_kwNone, **fig_kw)3. 函数参数与示例 参数含义nrows, ncols画布被分成的行、列数squeeze布尔值&#xf…

【畅购商城】用户登录

用户登录 构建页面&#xff1a;Login.vue步骤一&#xff1a;创建Login.vue步骤二&#xff1a;绘制通用模块<template> <div> <TopNav></TopNav> <div style"clear:both;"></div> <HeaderLogo></HeaderLogo> <div…

嵌入式开发--CubeMX使用入门教程

嵌入式开发–CubeMX使用入门教程 CubeMX简介 传统的单片机开发时&#xff0c;需要针对片上外设做各种初始化的工作&#xff0c;相当麻烦。 CubeMX是ST公司出品的一款图形化代码生成工具&#xff0c;通过图形化界面&#xff0c;可以非常直观的配置好各种片上外设&#xff0c;时…

一个方便IO单元测试的C#扩展库

对于我们.Net程序员&#xff0c;System.Web.Abstractions我们都非常熟悉&#xff0c;主要作用于Web可以实现单元测试&#xff0c;他是在.Net framework 3.5 sp1开始引入的,很好的解决项目表示层不好做单元测试的问题&#xff0c;这个库所有类都是Wrapper/Decorator模式的。今天…

[SpringBoot] Spring Boot注册Web原生组件/拦截器HandlerInterceptor

✨✨个人主页:沫洺的主页 &#x1f4da;&#x1f4da;系列专栏: &#x1f4d6; JavaWeb专栏&#x1f4d6; JavaSE专栏 &#x1f4d6; Java基础专栏&#x1f4d6;vue3专栏 &#x1f4d6;MyBatis专栏&#x1f4d6;Spring专栏&#x1f4d6;SpringMVC专栏&#x1f4d6;SpringBoot专…

风控建模坏样本太少,不要再用过采样和欠采样了,试下这种更有效的方法

样本数据不平衡是我们建模场景中经常遇到的问题&#xff0c;由于目标类别的分布占比差异较大&#xff0c;使得模型训练难以取得较好的拟合效果&#xff0c;甚至模型结果在实际应用中无效。举个最常见的例子&#xff0c;在信贷场景中构建反欺诈模型时&#xff0c;训练样本数据的…

(附源码)计算机毕业设计SSM垃圾分类综合服务系统

&#xff08;附源码&#xff09;计算机毕业设计SSM垃圾分类综合服务系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术…