掌握AI图像篡改检测工具,轻松识别图片造假

文章目录

  • 一、前言
    • 1.1 背景与危害
    • 1.2会议探讨
    • 1.3 技术先行
  • 二、亮点技术1:AI图像篡改检测技术
    • 2.1 传统方法Python实现步骤
    • 2.2 合合信息——PS纂改检测体验
  • 三、亮点技术2:生成式图像鉴别
    • 3.1 生成式图像安全问题
    • 3.2 传统方法Python实现步骤
    • 3.2 合合信息——生成式图像鉴别模型
  • 四、亮点技术3:OCR对抗攻击技术
    • 4.1 传统方法Python实现步骤
    • 4.2 合合信息——OCR对抗攻击技术
  • 五、总结

一、前言

1.1 背景与危害

AI生成(AIGC)技术的快速发展给社会带来了一系列严重的问题和挑战。其中包括截图伪造、生成式图片和身份信息泄露等方面。
首先,AI造假技术使得截图伪造变得更加容易和逼真。通过使用AI技术,可以轻松地修改和伪造截图,使其看起来与原始截图几乎没有区别。这使得虚假信息更加难以辨别,给社会带来了巨大的信息安全风险。虚假截图可能被用于传播虚假信息、篡改证据、进行网络诈骗等违法犯罪行为。

其次,生成式图片技术也是AI造假的重要方面。通过生成对抗网络(GAN)等技术,可以生成逼真的虚假图片。这些虚假图片可能被用于虚假广告、造假证据、网络欺诈等目的。生成式图片的逼真程度越来越高,使得辨别真假变得更加困难。

此外,AI技术的滥用也可能导致个人身份信息的泄露。通过分析个人照片、社交媒体信息和其他公开数据,AI可以生成逼真的人脸图像,并用于冒充他人身份。这给个人隐私和数据安全带来了严重的风险。

1.2会议探讨

图像作为信息的主要来源之一,随着人工智能的发展,利用AI进行图像伪造和篡改行为已成为一个严重的安全挑战。为了应对这一挑战,中国信息通信研究院(中国信通院)在2023年世界人工智能大会(WAIC)上组织了一个专题论坛,主题是“多模态基础大模型的可信AI”。

1.3 技术先行

提前布局,合合信息AI图像安全技术助力行业健康发展。合合信息AI图像安全技术方案主要包括三项重点技术:AI图像篡改检测、生成式图像鉴别、OCR对抗攻击技术,以应对日益高发的恶意P图、生成式造假和个人信息非法提取现象。

二、亮点技术1:AI图像篡改检测技术

2.1 传统方法Python实现步骤

AI图像篡改检测技术的实现步骤通常包括以下几个方面:

  1. 数据收集和预处理:首先需要收集大量的正常和被篡改的图像数据,并对这些数据进行预处理,如缩放、裁剪、归一化等操作,以便于后续的分析和处理。

  2. 特征提取和选择:在对图像进行分析之前,需要先从图像中提取出一些有用的特征,如颜色、纹理、形状等。然后根据实际需求,选择合适的特征进行分析。

  3. 模型训练和优化:基于所选的特征,使用深度学习算法(如卷积神经网络)训练出一个能够识别图像篡改的模型。在训练过程中,需要不断调整模型参数和超参数,以提高模型的准确性和鲁棒性。

  4. 模型测试和评估:在完成模型训练后,需要对其进行测试和评估,以检验其在实际应用中的性能和效果。常用的评估指标包括准确率、召回率、F1值等。

  5. 应用部署和维护:当模型经过测试和评估后,可以将其部署到实际应用场景中,如银行、保险等领域。同时,还需要对模型进行持续的维护和更新,以保证其在不断变化的应用环境中的稳定性和可靠性。

以下是一个简单的 Python 图像篡改检测代码示例:

import cv2
import numpy as np

def detect_tampering(image_path):
    # 加载图像
    image = cv2.imread(image_path)
    
    # 将图像转换为灰度图
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    
    # 计算图像的梯度
    gradient_x = cv2.Sobel(gray, cv2.CV_64F, 1, 0, ksize=3)
    gradient_y = cv2.Sobel(gray, cv2.CV_64F, 0, 1, ksize=3)
    
    # 计算梯度幅值
    gradient_magnitude = np.sqrt(gradient_x**2 + gradient_y**2)
    
    # 对梯度幅值进行阈值处理
    threshold = np.max(gradient_magnitude) * 0.1
    gradient_magnitude[gradient_magnitude < threshold] = 0
    
    # 统计图像中非零像素的数量
    non_zero_pixels = np.count_nonzero(gradient_magnitude)
    
    # 根据非零像素数量判断是否有篡改
    if non_zero_pixels > 0.01 * gradient_magnitude.size:
        print("图像被篡改")
    else:
        print("图像未被篡改")

# 使用示例
detect_tampering("image.jpg")

这个代码使用 Sobel 算子计算图像的梯度,并通过阈值处理将梯度幅值较小的像素设为零。然后根据非零像素数量来判断图像是否被篡改。如果非零像素数量超过图像总像素数的 1%,则认为图像被篡改。

不过这种开源代码检测的效果远远比不上下面合合信息检测工具的效果。

2.2 合合信息——PS纂改检测体验

(1)打开合合信息官网:https://b.intsig.com/ocr,点击PS纂改检测

(2)点击申请试用


(3)仿纂改检测效果展示,被篡改地方都是以热力图的形式展示图像区域

这项名为“PS篡改检测”的技术,以其强大的“像素级”分析能力而脱颖而出。它能够深度挖掘图像被篡改后的特征变化,覆盖了包括身份证、护照等多种重要证件识别类目。

合合信息的篡改检测技术再升级可以检测多种截图、转账记录、交易记录、聊天记录等。不论是采用“复制移动”手段,将关键要素从原图中“抠下”并移动至其他位置,还是通过“擦除”、“重打印”等方式进行的图片篡改,合合信息的图像篡改检测技术都能准确识别。这项技术利用先进的深度学习和计算机视觉算法,能够精准分析图像的特征、纹理和结构,从而识别出任何形式的篡改。

给定一张图片,输入到合合信息篡改检测模型中,便能够判别这张图像是否被篡改,并且定位出篡改图像的篡改区域:

相比于证照篡改检测,截图检测更加困难。截图的背景通常没有纹路和底色,整个截图缺乏光照差异。而证件篡改识别可以通过拍照时产生的成像差异来判断篡改痕迹,但截图则没有这些“信息”。因此,现有的视觉模型往往难以充分发掘原始图像和篡改图像之间的细粒度差异特征,导致准确率不高。

为了解决这个问题,合合信息提出了一种基于HRNet的编码器-解码器结构的图像真实性鉴别模型。这种模型结合了图像本身的信息,包括但不限于噪声、频谱等,从而能够捕捉到细粒度的视觉差异。通过这种方式,合合信息的技术能够实现高精度的截图检测,从而让截图造假无所遁形。

这一技术的突破对于保护个人信息安全和打击欺诈行为具有重要意义。它不仅能够提高截图检测的准确率,还能够控制误检率,确保不会误判合法的图片。合合信息的图像篡改检测技术将为数字时代的信息安全提供更加可靠的保障,为社会的发展和公众的利益做出贡献。

三、亮点技术2:生成式图像鉴别

3.1 生成式图像安全问题

开年以来,以语言生成类、视觉生成类模式为代表的AIGC产品引发了社会对于图文内容“可信度”问题的讨论。AIGC爆火的背后,不法分子通过生成的图片去规避版权、身份验证,非法获取利益,给人民群众造成了财产损失。

比如AI作画公司用画家作品用于训练,普通人几分钟就可以生产出类似高水平且无版权的作品:

3.2 传统方法Python实现步骤

生成式图像鉴别技术的实现步骤通常包括以下几个关键步骤:

  1. 数据收集和准备:收集包含真实图像和生成式图像的大规模数据集,并进行标注和预处理。确保数据集的多样性和代表性,以便训练出具有泛化能力的模型。

  2. 模型选择和构建:选择适合生成式图像鉴别任务的模型架构,常见的包括深度卷积神经网络(CNN)和生成对抗网络(GAN)。根据任务需求和数据集特点,构建合适的模型结构。

  3. 模型训练:使用准备好的数据集对模型进行训练。通过反向传播算法和优化器来更新模型的参数,使其能够准确地区分真实图像和生成式图像。训练过程中需要注意正则化和防止过拟合的方法。

  4. 模型评估和调优:使用独立的测试集对训练好的模型进行评估,计算准确率、召回率、精确度等指标。根据评估结果对模型进行调优,如调整超参数、增加训练数据等。

  5. 部署和应用:将训练好的模型部署到实际应用中,可以是在服务器端进行图像鉴别,也可以是集成到移动设备或其他平台上。根据具体应用场景和需求,进行适当的优化和性能调整。

需要注意的是,生成式图像鉴别技术的实现步骤可能因具体任务和方法而有所不同,上述步骤仅为一般性的参考。在实际应用中,还需要考虑数据隐私、模型鲁棒性和系统的实时性等因素,以确保技术的可靠性和有效性。

以下是一个简单的 Python 生成式图像鉴别代码示例:

import cv2
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

def extract_features(image_path):
    # 加载图像
    image = cv2.imread(image_path)
    
    # 调整图像大小为固定尺寸
    image = cv2.resize(image, (100, 100))
    
    # 提取图像特征
    features = np.reshape(image, (1, -1))
    
    return features

def train_model():
    # 加载正样本图像
    real_images = []
    for i in range(1, 101):
        image_path = f"real_images/real_{i}.jpg"
        features = extract_features(image_path)
        real_images.append(features)
    
    # 加载生成式样本图像
    fake_images = []
    for i in range(1, 101):
        image_path = f"fake_images/fake_{i}.jpg"
        features = extract_features(image_path)
        fake_images.append(features)
    
    # 创建标签
    real_labels = [1] * len(real_images)
    fake_labels = [0] * len(fake_images)
    
    # 合并样本和标签
    X = np.concatenate((real_images, fake_images), axis=0)
    y = np.concatenate((real_labels, fake_labels), axis=0)
    
    # 划分训练集和测试集
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    
    # 训练随机森林分类器
    model = RandomForestClassifier(n_estimators=100)
    model.fit(X_train, y_train)
    
    # 在测试集上评估模型性能
    accuracy = model.score(X_test, y_test)
    print("模型准确率:", accuracy)

# 使用示例
train_model()

这个代码使用了一个随机森林分类器来进行生成式图像的鉴别。首先,通过 extract_features 函数提取图像的特征,这里使用了简单的图像像素值作为特征。然后,加载正样本和生成式样本的图像,并为它们创建对应的标签。接下来,将样本和标签合并,并使用 train_test_split 函数将数据集划分为训练集和测试集。然后,使用随机森林分类器进行训练,并在测试集上评估模型性能。最后,打印模型的准确率。你可以将正样本和生成式样本的图像路径替换为你自己的数据集路径。

上面是我用Python 方法实现生成式图像鉴别,效果一般,与合合信息识别系统效果差了不止亿点点。

3.2 合合信息——生成式图像鉴别模型

该项目面临的难点主要可以归结为两个方面:一是生成出来的图像场景繁多,不可能通过穷举的方式来解决;二是有些生成的图像与真实图片的相似度非常高,几乎无法从人类的判断角度区分,对机器而言更加困难。

针对这些难点,合合信息提出了一种基于空域与频域关系建模的方法,能够在不需要穷举所有可能的图片的情况下,利用多维度特征来准确分辨真实图片和生成式图片之间的细微差异。

通过对空域和频域的关系进行建模,合合信息的技术能够从不同的角度捕捉到真实图片和生成式图片之间的差异。这种多维度特征的分析方法使得机器能够更准确地判断图片的真实性,克服了生成式图片与真实图片相似度高的问题。

模型结构如下图所示:

在该模型中,通过多个空间注意力头来聚焦于图像的空间特征,并利用纹理增强模块来放大浅层特征中的微小伪影,从而提升模型对真实人脸和伪造人脸的感知和判断准确度。在各种复杂场景下,该模型能够高度可靠地区分真实人脸和伪造人脸。同时,相关技术也在不断地迭代和改进中,以进一步提升模型的性能和适应性。

这一技术的突破对于保护个人信息安全和打击人脸伪造行为具有重要意义。通过该模型的应用,可以有效地防止人脸伪造带来的欺骗和安全威胁。

生成式图像检测技术在反诈骗、版权保护等领域具有广泛的应用空间。特别是在金融行业,不法分子利用AI合成技术对线上资金进行盗刷的情况时有发生,这对公民的财产安全构成了威胁。然而,本项技术的应用可以通过对支付环节的干预来降低资金盗刷的概率,提供更可靠的资金安全保障。

在传媒行业中,一些图片供给方利用软件自动生成海报等图片,并故意隐瞒其来源,将其售卖给第三方。然而,第三方在不知情的情况下进行商业使用,导致了侵权问题的发生。相关的图像检测技术可以在一定程度上解决这些问题,通过对图片的来源和真实性进行检测,确保第三方在使用图片时不会侵犯版权。

四、亮点技术3:OCR对抗攻击技术

人们会出于生活、工作需要,拍摄自己的相关证件、文件并发送给第三方,这些图片上承载的个人信息可能被不法分子使用OCR技术识别提取并泄露。基于个人、企业业务的文件资料保密需求,合合信息进行了创新技术探索,研发了OCR对抗攻击技术来进行文档图片“加密”。

4.1 传统方法Python实现步骤

OCR 对抗攻击技术的实现步骤可以分为以下几个阶段:

  1. 收集数据集:首先需要收集用于训练和测试的OCR模型的数据集。数据集应包含各种类型的文本、字体、背景和扭曲等变化。

  2. 训练OCR模型:使用收集到的数据集,训练一个OCR模型。常用的OCR模型包括卷积神经网络(CNN)和循环神经网络(RNN)等。

  3. 选择攻击技术:根据具体的需求和场景,选择合适的OCR对抗攻击技术。常见的OCR对抗攻击技术包括添加噪声、图像扭曲、对抗样本生成等。

  4. 生成对抗样本:使用选择的攻击技术,对原始图像进行处理,生成对抗样本。对抗样本的生成过程可以通过添加噪声、扭曲图像、改变光照条件等方式来改变原始图像的特征,使其能够误导OCR模型。

  5. 评估攻击效果:使用生成的对抗样本对训练好的OCR模型进行测试,评估攻击效果。可以通过计算攻击成功率、误分类率等指标来评估攻击效果。

  6. 调整攻击参数:根据评估结果,调整攻击技术的参数,进一步提高攻击效果。

  7. 防御对抗攻击:根据对抗攻击的特点和实现方法,设计相应的防御策略。常见的防御方法包括使用对抗训练、检测对抗样本等。

  8. 优化攻击技术:根据防御策略的效果,优化攻击技术,提高攻击效果和鲁棒性。

对于OCR对抗攻击技术的代码实现,以下是一个简单的Python示例:

import cv2
import numpy as np

def add_noise(image):
    # 添加随机噪声
    noise = np.random.normal(0, 1, image.shape).astype(np.uint8)
    noisy_image = cv2.add(image, noise)
    return noisy_image

def distort_text(image):
    # 扭曲文本形状
    rows, cols = image.shape[:2]
    distortion_map = np.zeros_like(image)
    for i in range(rows):
        for j in range(cols):
            x = int(j + 20 * np.sin(2 * np.pi * i / 50))
            y = i
            if x < cols:
                distortion_map[y, x] = image[i, j]
    distorted_image = cv2.remap(image, distortion_map, None, cv2.INTER_LINEAR)
    return distorted_image

def apply_attack(image_path):
    # 加载图像
    image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
    
    # 添加噪声
    noisy_image = add_noise(image)
    
    # 扭曲文本
    distorted_image = distort_text(noisy_image)
    
    # 保存攻击后的图像
    attacked_image_path = 'attacked_image.jpg'
    cv2.imwrite(attacked_image_path, distorted_image)
    print("攻击后的图像已保存为:", attacked_image_path)

# 使用示例
apply_attack("document.jpg")

这个代码示例展示了两种常见的OCR对抗攻击技术:添加随机噪声和扭曲文本形状。首先,通过 add_noise 函数向图像中添加了随机噪声。然后,使用 distort_text 函数对图像中的文本进行了扭曲处理。最后,保存攻击后的图像。

请注意,这只是一个简单的示例,实际上,OCR对抗攻击技术可能涉及更复杂的图像处理和扰动方法。具体的代码实现可能因应用场景和需求而有所不同。

4.2 合合信息——OCR对抗攻击技术

合合信息的OCR对抗攻击技术是一种创新的技术解决方案,旨在保护个人和企业的文件资料的隐私和机密性。该技术可以对文档图片进行加密,以防止不法分子使用OCR技术识别和提取其中的个人信息:

该技术有助于防止第三方通过OCR系统读取和保存图像中的文字内容,降低数据泄露的风险。这种技术创新能够在不影响肉眼观看和判断的情况下,有效保护信息的安全和隐私。

五、总结

AI造假技术的出现给社会带来了一系列挑战和问题。然而合合信息AI图像内容检测工具的出现,在保护图像真实性和识别文本方面发挥了重要的作用。 通过自动化、高准确性和多样化的检测功能,这些技术能够帮助用户检测和防御图像篡改、生成式图像欺骗和OCR对抗攻击等问题。然而,随着技术的发展,这些攻击技术也在不断演进,需要不断改进和完善相应的防御措施,以保护图像和文本的安全和可信度。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《Linux从练气到飞升》No.27 Linux中的线程互斥

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…

小DEMO:在vue中自定义range组件

1、组件样式 2、使用 import cSlider from /components/c-slider/c-slider.vue<div class"range"><cSlider v-model"cScale" change"cScaleChange" :min"1" :max"10"/> </div> 3、组件代码 <templa…

5+单基因+免疫浸润,这篇肿瘤预后文章你值得拥有

今天给同学们分享一篇生信文章“Systematic analysis of the role of SLC52A2 in multiple human cancers”&#xff0c;这篇文章发表在Cancer Cell Int期刊上&#xff0c;影响因子为5.8。 结果解读&#xff1a; 多种人类癌症中SLC52A2的mRNA表达 首先&#xff0c;作者使用GT…

virtualbox基本配置

全屏模式调出热键 右边的 ctrl home 键 安装增强功能 注意&#xff1a;virtualbox 自带那个安装增强功能点击后是没有效果的 1、启动虚拟机 2、设备 3、分配虚拟光驱 4、选择虚拟盘 5、选择对应iso文件&#xff0c;文件下载路径 6、双击对应文件安装&#xff0c;默认配置…

多区域OSPF配置

配置命令步骤&#xff1a; 1.使用router ospf 进程ID编号 启用OSPF路由 2.使用network 直连网络地址 反掩码 area 区域号 将其归于对应区域 注意&#xff1a; 1.进程ID编号可任意&#xff08;1-65535&#xff09; 2.反掩码用4个255相减得到 3.area 0 为主干区域 4.连接不…

虚拟机第一次如何打开

1、将别人的虚拟机拷贝到自己的电脑盘里&#xff1b; 2、打开VMware&#xff0c;选择“打开虚拟机”&#xff1b; 3、选择拷贝的虚拟机里的.vmx文件&#xff1b; 4、选择“播放虚拟机”&#xff1b; 5、如果出现一个选择框&#xff0c;选“我已复制改虚拟机”即可。

Python 中的 tqdm() 方法

tqdm&#xff08;阿拉伯语"taqaddum"的缩写&#xff0c;意为"进展"&#xff09;是Python中一个用于在循环中显示进度条的库。它提供了一种简单而又灵活的方式来监测代码执行的进度&#xff0c;特别是在处理大量数据或耗时较长的任务时非常有用。 1、安装 …

golang 解析oracle 数据文件头

package mainimport ("encoding/binary""fmt""io""os" ) // Powered by 黄林杰 15658655447 // Usered for parser oracle datafile header block 1 .... // oracle 数据文件头块解析 // KCBlockStruct represents the structure of t…

什么是美颜SDK?美颜SDK对比评测

美颜SDK在视频直播中发挥着越来越重要的作用。为了实现实时、高质量的美颜效果&#xff0c;各种视频直播美颜SDK应运而生。本文将对这些技术进行深入解析与比较。 一、技术原理解析 深度学习技术通过大量的训练数据学习人脸特征&#xff0c;从而实现更为自然的美颜效果。传统…

干货分享:如何提高商城系统网页访问速度?

如今&#xff0c;商城系统网页的访问速度对于用户体验和销售业绩至关重要。用户对于网页的加载速度要求越来越高&#xff0c;一旦加载速度过慢&#xff0c;用户可能会选择离开&#xff0c;甚至转向竞争对手的网站。因此&#xff0c;提高商城系统网页的打开速度是每个电商运营者…

2023年【N1叉车司机】找解析及N1叉车司机复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年N1叉车司机找解析为正在备考N1叉车司机操作证的学员准备的理论考试专题&#xff0c;每个月更新的N1叉车司机复审模拟考试祝您顺利通过N1叉车司机考试。 1、【多选题】《中华人民共和国特种设备安全法》第八十三…

ROS1 学习11 坐标系tf 管理系统 简介及demo示例

坐标系是我们非常熟悉的一个概念&#xff0c;也是机器人学中的重要基础&#xff0c;在一个完整的机器人系统中&#xff0c;会存在很多坐标系&#xff0c;这些坐标系之间的位置关系该如何管理&#xff1f; ROS给我们提供了一个坐标系的管理神器——TF。 比如在机械臂形态的机器…

ubuntu 20.04+ORB_SLAM3 安装配库教程

目录 安装ros(如果只是运行ORB-SLAM3&#xff0c;可以跳过安装)0. ros 安装教程1. 安装opencv2. 安装Pangolin3. 安装Eigen34.安装Python & libssl-dev5.安装boost库6.安装ceres库&#xff08;不必须&#xff09;7.安装Sophus库&#xff08;不必须&#xff09;8. 安装g20库…

多线程概述及创建

什么是线程&#xff1f; 线程(thread)是一个程序内部的一条执行路径。 我们之前启动程序执行后&#xff0c;main方法的执行其实就是一条单独的执行路径。 程序中如果只有一条执行路径&#xff0c;那么这个程序就是单线程的程序。 多线程是什么&#xff1f; 多线程是指从软…

Linux 读写权限的配置

文章目录 Linux文件权限详解 一、文件权限二、修改文件访问权限的方法三、UMASK值四、三种特殊权限suid、sgid、sticky&#xff08;sticky权限工作环境中相对常用&#xff09;五、ACL访问控制列表六、文件权限操作的常用命令 Linux文件权限详解 Linux系统中不仅是对用户与组根…

Cesium 实战 - 加载水经微图下载资源问题 - 地球南北极有蓝圈,南北极空洞

Cesium 实战 - 加载水经微图下载资源问题 - 地球南北极有蓝圈 错误展示排错过程解决问题完整代码在线示例 在某个项目中&#xff0c;客户提到一个问题&#xff0c;即地球南北极会有一个蓝色的洞&#xff0c;经复现&#xff0c;确实有这个问题。见下图。 经过排查&#xff0c;最…

高难度工业废水处理有哪些注意事项

高难度工业废水处理的注意事项包括&#xff1a; 预处理&#xff1a;在将废水输送至污水处理系统前&#xff0c;应进行预处理&#xff0c;以减轻处理设备的负荷&#xff0c;提高处理效率。预处理可以包括去除废水中的悬浮物、沉淀物以及防止化学物质的沉积等。针对不同废水选择…

nestJs(三) 数据库

真正的服务往往包括数据存储。 本篇将介绍如何建立 NestJs 的数据库连接、并使用数据库联表查询。这样就就是完整的后台服务了。 开发准备 下载并安装 Mysql创建 school 库 create database school;3.安装 nestjs/typeorm typeorm mysql2 npm install --save nestjs/typeor…

浅了解下:运营商大数据如何挖掘电销同行网站,APP,精准获客 ?

今天我们要讲的是运营商精准大数据营销。运营商精准大数据营销只是精准营销的一种&#xff0c;精准营销筛选包含了电话营销这个词。那么电话营销如何通过运营商大数据找到精准的客户&#xff1f;电销如何通过大数据找到准确的客户来源&#xff1f; 在全网时代&#xff0c;大数…

echarts:graph图表拖拽节点

需求&#xff1a;实现一个可视化编辑器&#xff0c;用户可以添加节点&#xff0c;并对节点进行拖拽编辑等 实现期间碰到很多问题&#xff0c;特意记录下来&#xff0c;留待将来碰到这些问题的同学&#xff0c;省去些解决问题的时间 问题1&#xff1a;节点的data如下&#xff0…