Category: Digital Industry and Frontier Technologies

  • 基于CNN和LSTM的OCR文本识别/语音识别基本原理简介-CNN模型系列1

    在深度学习流行以前,智能化的算法主要依赖传统的统计机器学习算法,这个时候特征工程(feature engineering)就显得特别重要,如何构造好的有区分度的特征成为了机器学习算法性能的关键因素之一。比如早期的基于Haar特征和Adaboost的人脸检测算法,基于HOG特征的人体检测等,都是利用了图像中区域的像素特性构造的人工特征提取算法。特征工程需要相关领域专家去人为设计和构造,针对不同的任务场景很可能要设计不同的特征提取算法,设计及验证过程周期长效率低下门槛比较高。深度学习逐渐流行后,基于CNN的深度网络自动化特征提取方法和深度学习目标任务(网络结构中的head输出)实现了端到端的训练,从而使得算法的设计和实现更加的高效,而且由于深度学习的网络表达能力强大的特性,几乎所有的视觉任务上的性能都超越了传统的基于人为设计的特征工程的传统机器学习算法。 今天向大家介绍的基于深度学习的OCR文本识别也和上面的情况相似,早期的OCR文本识别也是基于手写体或印刷体的文字特征进行人为设计的特征提取算法,整个识别过程流程复杂,不同的阶段需要设计不同的算法去解决相关问题,而基于CNN和LSTM的文本识别算法则在基于大样本的基础上实现了端到端的训练,而且在精度上也达到了更高的水平,也是当前文本识别的关键算法。在该算法过程中,一般是将文本先进行行提取(如基于目标检测的文本行检测算法实现行提取),在提取的文本行的基础上,将文本行对应的图像作为文本识别网路的输入。首先CNN对图像的特征进行提取和建模,然后将特征输入到LSTM网络,LSTM网络对基于文本行的特征进行空间序列建模(可以理解为将长条的文本行切分成一段一段的顺序拼接一起的特征,LSTM基于这个序列顺序进行建模,可以对文本行的当前位置和其前后的位置的关系进行序列建模,关于LSTM的计算实现细节可以参考引文3)。 在实际的数据集中,由于文字的特性不同(有的汉字或字母比较宽,而有的比较窄,甚至汉字或字母之间间隔的宽度在不同的数据集的样本中也不一样,还有空格的个数也不尽相同,以及空格开始或空格的位置也不尽相同。一条文本行的ground truth只有对应的汉字或字母的文本句子,并没有标记每个汉字或字母对应在图像上的位置(否则标记成本太高),因此这里有一个特别的Loss能够简化这种自动对齐的计算,这个Loss称为CTCLoss,其在语音样本和groundtruth以及文本行图像和groundtruth的自动对齐上展示了简易灵活且强大的自动对齐的作用。 CTCLoss计算每一个时刻t下经过s的所有可能的路径的后验概率(首先根据引文7中的Composing the graph部分的规则计算y(s,t), 然后基于y(s,t)采用动态规划的算法分别计算alpha(s,t),beta(s,t)等),最后的loss是所有时刻的的概率和(用log去计算),关于CTCLoss的详细算法原理的介绍可以参考引文7。 基于CNN和LSTM的语音识别的算法原理和上述的OCR文本识别的原理类似,语音样本有长短不同,有停顿时间不同等需要输入和标记(输出)进行动态对齐的功能,CTCLoss同样可以在此处得以较好应用。 References

  • 交大老校区听讲座

    昨天去交大老校区去听了一下午的讲座,这是今年第一次去,恰巧很很高兴碰到了好多年未见得老同事们,感概大家还是老样子,感觉还是那么亲切,老校区的变化也不是很大,感觉也还是挺亲切,傍晚在食堂和听讲座新认识的律师朋友一起吃了碗面,短聊了会天,关于讲座的内容也在这里简要记录一下,仅供大家参考,也以备后需。 这次讲座主要的内容是医疗卫生行业的科技发展及产业转化的现状,学校有附属医院,有大规模的真实病例数据,以及医疗过程数据和相关治疗科技进展,也已经有相关的产业化的推进。这里记录两三个比较有印象的案例。 第一个关于精神类疾病的影像数据及人工智能辅助诊断系统,可以针对不同类别的病人的真实数据收集整理了大量的跨病类的数据集,并通过设计的人工智能算法达到对个体的影像数据进行自动诊断的目的,现有精确度尚可。当然最后的诊断还是以有经验的医生的判断为准; 第二个是基于脑电信号的情感智能以及疾病检测(如癫痫检测)方面的研究及在医疗方面的应用,对脑电信号的不断的精确的解码,专家们也相信以后机器人也将具有喜怒哀乐的情感。对于脑电信号的疾病检测以后也可能会应用到更多的疾病检测上,或者说以后的疾病检测的标记物不仅仅有影像数据,还有体液以及脑电等多模态数据,这样的诊断也会更加全面和精准; 第三个是基于脑机接口的视觉重建等方向,也许以后可以为失明失聪的人带来福音,期待对于这样的残疾人以后也能够有享受人类更多的天伦之乐的机会。 期待医疗行业随着数字化和智能技术的发展走上更加系统和全面科学化的道路,给全人类带来更多的福音,辅以图片以作纪念。感谢组织方的精心准备和可口的小点心。

  • AIGC体验7-Stable Diffusion使用技巧之ControlNet模型的使用2

    上篇短文向大家部分的介绍了ControlNet的使用示例,在Stable Diffusion的使用过程中,基础模型对于图像生成的质量的影响是挺关键的。在上篇介绍的短文中,我们使用了v1-5-pruned-emaonly这个模型,而在本文的示例中,我们将选择AnythingV5V3_v5PrtRE这个模型,从使用体验来说,该模型在生成人物方面的性能要明显优于v1-5-pruned-emaonly模型。相关的模型链接可以参考引文。 ControlNet还有更多的用法,读者可以进一步自行去尝试和积累经验,关于提示词的写法等还有不少的trick去在实践中模型和进一步总结,后续有相关的心得再去继续在这里分享。

  • AIGC体验6-Stable Diffusion使用技巧之ControlNet模型的使用1

    在文生图的应用中,用户经常会对生成的图形有特殊的要求,如局部重绘,满足边缘或深度条件,模糊变清晰,黑白变彩色,人体特定姿势(pose)等等。这篇短文将向大家介绍基于Stable Diffusion的ControlNet实现图像可控生成的几个示例,更加完整的介绍可以参考相关文献(这篇短文基于stable diffusion 1.5版本,具体可以使用引文3中给出的notebook)。 现有的stable diffusion的基础模型在人物生成上效果不是特别好,这篇短文暂时没有演示可控人物生成的效果,更多的场景会在后面的短文中进一步补充,欢迎大家关注,并提出意见建议。 References

  • AIGC体验5-Stable Diffusion使用技巧之LoRA模型的使用

    Stable Diffusion(SD)是开源的文生图大模型,随着相关技术的发展,已经迭代了多个版本(关于版本间不同的特性可以搜索查询,这里以1.5版本为例进行介绍,如和其兼容的lora模型比较多),并且其支持多种可控图像生成技巧,这篇短文将要向大家介绍相关的Stable Diffusion的使用技巧,不足支持欢迎读者提出意见建议并予以补充。 首先我们采用webui的方式使用比较便捷,参考文献1即为我们的Stable Diffusion V2.1版本的webui的jupyter notebook代码链接。具体使用可以在本地或colab里边。这篇短文将介绍SD的一般用法和基于LoRA模型的风格化用法。 一、一般用法:这里没有特别要强调说明的地方,主要是要写好提示词。这里举一个示例,提示词为:Two yellow orioles sing amid the green willows. 效果图为: 二、LoRA模型,lora模型是一种小模型技术,其显著的优点表现在:1、LoRA 通过低秩适应方法在较少的参数增加下微调大模型,资源消耗较少。2、在特定任务或小数据集上快速适应大模型,提升生成质量或特定任务的表现。3、LoRA模型可以作为额外模块加载到现有大模型中,灵活性高。使用LoRA模型的方法如下,1、首先,下载LoRA模型,如参考文献1所示;2、将下载的模型拷贝到lora的模型目录,如/content/stable-diffusion-webui/models/Lora,然后更新webui加载最新加入的lora模型(设置扫描lora模型路径),提示词为:Two yellow orioles sing amid the green willows. SONG DYNASTY FLOWER AND BIRD PAINTING如下图所示。 其中该界面的操作流程为:settings–>additional networks–>Extra paths to scan for LoRA models(设置为/content/stable-diffusion-webui/models/Lora)–>apply settings–>Reload UI。在上面的图中,我们用到了一个LoRA模型,具体可以参考引文1。 下一篇相关文章将介绍ControlNet的相关用法,欢迎读者继续关注,提出问题和意见建议。 References

  • AIGC体验4-midjourney中人物一致性的实现

    在一般的电影和短视频中,一般的都存在的多个镜头(storyboard),为了保证镜头切换的时候的人物的一致性,需要文生图模型对此有较好的支持,否则在文生图的自动生成的场景中就会存在着不满足分镜头设计的需求,大模型的可用性就会受到交大影响。 今天向大家介绍midjourney中怎么实现人物一致性,主要通过一个实例向大家做演示介绍。 首先,我们通过提示词生成一个人物的不同角度的4张图片,提示词如下: 根据上述提示词生成的图片效果为: 将图像保存到本地,然后通过工具裁剪成4个小的图片,然后点击下图中左下脚的“+”号按钮在弹出的菜单中选择“上传文件”,将上面裁剪的4个图片上传后,将其链接保存下来(通过点击放大每个图片然后鼠标右键图片上方获取图片链接,供四个链接)。 然后用/prefer option set命令来进行设置风格一致性,具体的指令形如下面截图: 然后,就可以指定以该”littleboy”的option来生成人物一致性的场景了。具体的示例指令为: 最终的效果为: 后面有机会将继续向大家介绍关于图像视频多媒体方面的大模型应用的一些技巧。欢迎感兴趣的读者关注并提出问题一起来商议探讨共同提高。

  • AIGC体验3-用Fliki+大模型制作短视频

    前面两篇短文向大家简要介绍了midjourney来进行绘图,今天向大家简要介绍一个支持在线的短视频制作的工具Fliki,不足之处欢迎大家批评指正并予以补充。 Fliki的官网为Fliki – Turn text into videos with AI voices, 其主要是根据故事分镜头来制作短视频,分镜头(storyboard)是影视制作中的术语,大概是一个连续的镜头来描述一个场景(如长镜头,宽镜头,远镜头等)。这方面经验也不是很足,以后有机会再补充相关细节。 首先我们用大模型(ChatGPT,通义千问,文心一言等)生成故事的分镜头脚本描述,也可以自己去描写。这里我们以登鹳雀楼为例,自己写的一个简单的分镜头场景描述来进行说明(暂时没有用到大模型来生成场景描述),用的是通义万象来生活场景图。 基于上述场景文字生成的图片后,我们就可以再Fliki中去生成这首小诗的短视频了,具体方法为下面的截图演示: 有必要对语音进行优化,可以考虑借助第三方语音合成平台生成整个的语音放到common sense的场景中去(最上方)。然后在每个分场景中去掉voiceover的layer。基本设置好后,就可以export然后就download了(注:为了去除水印,需要upgrade成会员) 更多的经验会在后续继续向大家介绍。 References

  • AIGC体验2-midjourney使用配置对生成的图片进行约束和限制

    上篇短文主要向大家介绍了midjourney的基本使用,在文生图的时候,有时作者期望有更多的控制条件,比如生成图片的大小和横竖比,生成图片的风格等。 首先可以通过命令/settings进行相关版本,以及模式的设置,输出结果为如下图示,具体关于这些模式的含义可以参考引文,这里不做赘述。 下面主要介绍一个使用一些约束和控制的示例 输出的结果如下图所示 点击“U4”后显示结果为: 加上图片风格和长宽比之后的示例如下: 点击“U4”后显示结果为: 后面将继续介绍相关使用的一些技能点。欢迎读者反馈意见和建议。 Reference

  • AIGC体验1-midjourney的初步使用

    midjourney在图片生成方向上有较高的质量,这篇博客简要记录一下其初步的使用方法。欢迎读者给出意见和建议,以及补充相关的说明。 注册后(注册过程忽略),可以建立自己的频道,方法如下几个图示。 然后就可以在对应的服务器里用相关命令生成图片了,这里举个示例,假设提示词为“Bright forest, little bunny Lily in front of home, sunlight shining on the grass”,则生成后的效果如下图所示: 具体后面更多的使用经验将在后续的体验过程中进一步加以记录。 References

  • 八段锦视频分享

    中华传统文化源远流长,中医,中国传统儒释道哲学思想还有中国武术。 今天分享一段八段锦,感觉挺好的,全身都能够锻炼得到,中国武术刚柔相济,是强身健体的很好的“保健操”。视频分享见参考引文。 最近深度学习和大模型相关技术又有新进展,1为Alapha Fold3,2为GPT-4o(“o”代表“omni”,全方位,全部的意思)。后面打算学习一下大模型相关的技术原理,并撰写相关的技术系列文章,为大模型相关基础技术普及出一点力,为国产大模型的技术突破提供几米阳光和几滴雨露。欢迎读者提供相关素材和意见建议。 Reference