分类
有意思的项目

图片删除文字

把文字从图片上删除,原理是非常简单的,就是先 OCR,找到文字的坐标,然后再生成一个 mask,把文字罩住就可以,今天看到一个开源项目,叫做 GitHub – iuliaturc/detextify: Remove text from AI-generated images ,他的做法是用 Stable Diffusion 这样的模型去生成图,然后用这个图去罩住那块文字。

效果

复制前
移除文字

问题

对中文的图片支持不好,要调用第三方 OCR 来处理中文,最多能删除 5 个 textbox(字块)。

想法

基于这种思路,把各个 AI 的能力整合到一起,就可以实现一些复杂的能力,如可以实现图片到图片的翻译。

分类
有意思的项目

Ray 框架推荐

在找一个框架,可以方便的训练,调优,服务化的框架,找来找去,发现 Welcome to the Ray documentation — Ray 2.1.0 这个框架基本上能满足我的需求,查了一下,发现很多大公司在用,国外的 openai,shopify 之类的。

项目地址

GitHub – ray-project/ray: Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a toolkit of libraries (Ray AIR) for accelerating ML workloads.

分类
有意思的项目 深度学习

用 Dreambooth 生成自己的肖像

最近AI 生成 avatar 或者 portrait 特别火,火到什么程度呢?有人用这个一天挣了 100 万美元,我也一直很喜欢生成头像,这种生成的技术叫做 Dreambooth,应该是 Google 发布的一论文,然后有人把它实现了。

Dreambooth
20221210Q3OTIm

生成步骤

准确照片

要拍 20 张左右的照片,如果是肖像生成, iphone 有人像模式,用这种方式拍出来的效果最好,20 张照片应该从人脸的各个角度进行拍摄。

准备训练

用上面拍的 20 张照片进行训练,训练时间在不同的 GPU 上差距很大,不太推荐在 T4 上面去训练,推荐 A100,显存至少要 20 G 以上。

生成

训练完成就可以根据 prompt 去生成,用什么样的 prompt 非常有技巧,推荐一个参考网站。 PromptHero – Search prompts for Stable Diffusion, DALL-E & Midjourney

论文

[2208.12242] DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation (arxiv.org)

代码实现

GitHub – XavierXiao/Dreambooth-Stable-Diffusion: Implementation of Dreambooth (https://arxiv.org/abs/2208.12242) with Stable Diffusion

diffusers/examples/dreambooth at main · ShivamShrirao/diffusers · GitHub

huggingface 也有训练的代码,和相关的参数,并且还总结了各种经验。

Training Stable Diffusion with Dreambooth using Diffusers (huggingface.co)

diffusers/examples/dreambooth at main · huggingface/diffusers · GitHub

分类
有意思的项目

用 InvokeAI 来搭建 Stable Diffusion 服务

Stable Diffusion

对于这种生成图片的项目,需要有一种高效的方法来查看生成的结果,找来找去,发现 invoke-ai 这个项目能满足我的需求,有如下几个优点。

  • 安装非常方便。
  • 界面交互做的非常好。
  • 可以很方便的集成 stable diffusion 各种模型。
20221207HSS2Vp
分类
有意思的项目

lama-cleaner 消除图片对象

今天在自己的服务器上把这个项目跑起来了,在图片消除上,效果还不错,基本上可以商用。

Iama-cleaner 介绍

image inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pictures.

GitHub – Sanster/lama-cleaner: Image inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pictures.

Iama-cleaner 体验

Image Cleaner – Cleanup Pictures/Images 100% Free (imgcleaner.com)

特征

除了常规的图片对象消除外,还支持图片替换,基于 SD 1.5

azfzOA

可选择的模型和调整的参数都比较多,需要持续使用。

Inpainting

Runway Inpainting – a Hugging Face Space by runwayml 这个项目也可以实现生成的效果。

分类
有意思的项目

openai 的 token 与 temperature

openai 是一个很好的工具,用来写商品标题、商品介绍、广告文案、推广邮件,确实很方便,已经是工作之中不可缺少的一个工具,现在的竞争就是看谁的工具更加先进。

在和同事交流的时候,发现大家对 openai 这里面两个最重要的概念(token, temperatuere)理解都不一样,查了一下手册,感觉说的很清晰的。

token

openai 的 token 与 区块链上的 token 完全不一样,他应该是语义不可再分的最小单位。

I have an orange cat named Butterscotch.

Ihaveanorangecatnamed 每一个都是一个 token,这里有 6 个 token。
Butterscotch 就会拆分成 Butterscotch 四个 token。

. 标点符号也是一个 token。

也就是复杂的会拆分,简单的就不会再拆分了,文档里面也提到了,很多 token 以空格开始,如

“ hello” and “ bye”

openai token 说明

openai token 提取

分类
Depop 有意思的项目

零信任介绍与相关资料推荐

一般公司都会存在两个网络,一个是公司的内网,一个是外网,在办公室可以直接连接内网,比如内网的 OA 或者 MIS 系统之类的,这些系统是只能员工访问的,办公室外的人是无法访问的,但是遇到一个问题,比如员工去外面出差,或者在家办公,这个时候要连接内网的 OA 或者 MIS 之类的怎么办呢?传统的方法是通过 VPN,相信没几个人想用 VPN,VPN 会遇到稳定性等各种问题,所以有一些公司开始搞零信任方案。

什么是零信任

VPN 解决方案是基于网络的信任,比如你来到了公司接入网络,我就相信你是内部员工,你通过 VPN 验证后登录,也对你完全信任,零信任的方案正好相反,我对你的每一个行为都是零信任,也就是完全不信任,你的每一个行为我都要验证。

零信任是完全不信任网络,而是基于设备、用户、动态访问控制和行为感知策略。零信任需要一个强大的身份服务来确保每个用户的访问,一旦身份验证通过,并能证明自己设备的完整性,则赋予适当权限访问资源。所以这里有四个元素:验证用户、验证设备、权限控制、自学习和自适应。

最主要的特征是不在基于网络 的信任,而是基于设备 行为 的验证。

零信任资料汇总

Google BeyondCorp 相关论文

最早是 Google 开始实践零信任方案,他写了 5 篇论文,要想了解 Google 的零信任方案是怎么设计并实施的,这 5 篇论文一定要读。

BeyondCorp: A New Approach to Enterprise Security – Google Research

BeyondCorp: Design to Deployment at Google – Google Research

BeyondCorp: The Access Proxy – Google Research

Migrating to BeyondCorp: Maintaining Productivity While Improving Security – Google Research

BeyondCorp: The User Experience (google.com)

Forrester Build Security Into Your Network’s DNA: The Zero Trust Network Architecture

分类
有意思的项目

用 pyannote.audio 实现说话人识别

如果用 Azure 的语音识别服务,他有一个说话人识别的功能,会标注这一句话是哪个人说的,特别适合在采访或者对话之类的场景,微软的确实好用,但是贵,找到了一个开源的解决方案,用 pyannote.audio 来解决,我自己对比了一下和微软的结果,基本上没有差别,这样完整的语音识别方案就用了。

说话人识别

20220922yESnWy

从上图可以看到能识别到不同的人,speaker_SPEAKER_01、speaker_SPEAKER_00 就是不同的人说的话,并且能显示时间段。

完整的语音识别开源解决方案

https://github.com/openai/whisper 实现语音转文本,用 pyannote.audio 实现对话人识别,基本上能满足大部分场景了。

分类
创意 有意思的项目

openai 开放其语音识别模型 whisper

openai 开放了其语音识别模型 GitHub – openai/whisper

hisper是一个通用的语音识别模型。它是在一个大型的多样化音频数据集上训练出来的,也是一个多任务模型,可以进行多语言语音识别,以及语音翻译和语言识别。

只是把模型公开了,但是怎么样训练的并没有开源,把训练的结果开放给大家下载使用。

openai whisper 博客简介

Whisper是一个自动语音识别(ASR)系统,它是根据从网络上收集的680,000小时的多语言和多任务监督数据进行训练的。我们表明,使用这样一个庞大而多样的数据集,可以提高对口音、背景噪音和技术语言的稳健性。此外,它还能实现多种语言的转录,以及从这些语言翻译成英语。我们正在开放模型和推理代码,作为建立有用的应用程序和进一步研究稳健语音处理的基础。

安装

在 linux 上面安装非常方便,依赖 ffmpeg,我的是 centos,直接编译 ffmpeg 是最快的。

安装 yasm

sudo yum install yasm

安装 ffmpeg

git clone https://git.ffmpeg.org/ffmpeg.git

./configure --enable-shared

make -j 4

sudo make install

修改连接依赖

在 /etc/ld.so.conf 添加如下内容

/usr/local/lib/
/usr/local/lib64/

检查连接库

sudo ldconfig -v  | grep code

安装 whisper

sudo pip3.8  install git+https://github.com/openai/whisper.git

运行语音识别

 whisper a.mp3  --language en  --model medium

我对比了几个常用的语音识别引擎,包括 azure,whisper 基本上与他们保持一致。

应用场景

语音识别的场景应该还是很多的,比如多人会议纪录,字幕生成,podcast 转文本等。

分类
有意思的项目

图像视频修复方案

Real-ESRGAN

Real-ESRGAN 的目标是开发出实用的图像/视频修复算法,他是一个开源的产品, Real-ESRGAN 需要 GPU 的支持,如果机器没有 GPU ,好像玩不起来。

replicate 有效果测试,有人用他的模型数据做了一个桌面应用 upscayl

湘ICP备2020020034号-1