自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(283)
  • 资源 (4)
  • 收藏
  • 关注

原创 口型动画论文2:《基于语音驱动的表情动画设计与实现》

根据音素之间互相影响的规律,按照容易被影响的程度将汉语声母、韵母进行等级的划分,越高级表示越不容易受到影响,如表3-3所示,表3-4所示。根据表格显示的等级,高等级的韵母更不容易受到低等级韵母的影响,高等级的韵母更容易对低等级的韵母、声母产生影响。本文的衍生的成品不是一个软件,而是一段动画,而且是根据已有的语音来设计嘴型动画,作者根据汉语的发声特点设计了14种静态视位。可惜作者是艺术学院的,不是计算机相关专业,最终只是形成了一个给人看的做动画的技能指南,而不是一个自动化的软件工具。

2024-04-13 23:45:21 233

原创 口型动画论文解读1:《与汉语语音同步的三维人脸动画的研究》

这篇论文的成果中也有对表情的的实现。但是很可惜只是简单的表情演示,没有将表情和口型动画结合起来。完全可以增加一个情感分析模块,然后在口型动画中增加表情。

2024-04-13 15:45:30 338

原创 汉语语音基本特性

人的发音生理机构如图 2.3.1所示,发音时由肺部收缩送出一股直流空气,经气管流至喉头声门处(声门即声带开口处),在发声之初,声门处的声带肌肉收缩,声带并拢间隙小于 1mm,这股直流空气冲过很小的缝隙,使声带得到横向和纵向的速度,此时,声带向两边运动,缝隙增大(成年男性开到最大时,截面积约为 20mm),声门处压力下降,弹性恢复力将声带拉回平衡位置并继续趋向闭合,即声带产生振动,而且具有一定的振动周期,如图 2.3.2所示。,是一种三维图形,纵轴对应于频率,横轴对应于时间,图像的黑白度正比于语音信号的。

2024-04-01 18:14:57 905

原创 windows下QT如何集成OpenCV

由于安装的时候我选择的QT组件都是MInGW的,所以无法使用VS studio版本的dll库。在解压opencv后找到x64\mingw\bin目录,复制需要的dll模块到自己的工程下,如果没有特别需要,复制三个最常用的就够了。》中的说法,vs的c++ abi是stdcall, 而mingw使用的调用方式是cdecl。我一开始下载的opencv官方预编译的包,结果一直显示“error: undefined reference to”这样的错误。我是在windows下创建的Cmake类型的Qt工程。

2024-03-29 14:36:06 666

原创 数字人:试用FACEGOOD-Audio2Face的不愉快经历

就像名字中的那样,这其实是一个Audio2Face。主要就是将语音转口型的一个算法,内含了tensorflow的预训练模型,也提供了训练代码。但是该方案还包含了ASR和TTS的流程,包含了一整个问答的流程。中间只缺了连gpt生成内容的部分,这部分代码可以自己加。整体框图如下:上图ASR和TTS之间插入调用大预言模型的代码。不加的话会比较奇怪,自己识别后又TTS。facefood的这个开源不走心,没法用于自己的ARKit方案。除非你打算用官方的116维权重的3D模型。

2024-03-25 11:27:29 1039

原创 布料放大100倍后是什么样子

生活中绝大多数面料都是人造化学材料做成的。将纺织面料放大100X以上看到的样子都是那种塑料的感觉,和宏观的外观差别很大。我最近在做这方面的事情,这里分享几张布料的放大图片。这些布料看上去都很普通,但是放大后各有特点。

2024-03-19 16:12:45 165

原创 在Qt中使用线程类QThread

QThread是qt中的一个线程类。目前我了解到的共有两种用法,一种是作为普通的线程,就像c++标准库中的std::thread一样,另一种就是作为信号槽的容器,负责调用qt的时间循环。

2024-03-19 15:42:46 566

原创 QT之QString.arg输出固定位数

最后一个参数是QChar,这是一个16位的字符类型,并不是c++中的char。我需要用QString输出一个固定位数的数字字符串。

2024-02-23 10:17:41 372

原创 python/numpy读取二进制文件

我有一个文件,内容是摄像头的BGR数据,分辨率是1920X1080, 每个像素3个字节,共6220800字节。我已经写到磁盘上的文件里,需要用python读取到numpy中进行处理。使用open打开文件,二进制读取后用np.frombuffer转换为numpy.ndarray。使用numpy的fromfile函数直接从磁盘读取。

2024-02-21 17:02:35 254

原创 PySimpleGUI:让spin支持循环

自己用PySimpleGUI写了个小工具,但是发现它的spin不支持循环。Tkinter本身的Spinbox有wrap这个开关可以觉得是否支持循环,但是没看到PySimpleGUI也支持这个特性。

2024-01-22 18:18:46 410

原创 使用pysimplegui+opencv编写一个摄像头的播放器

使用pysimplegui和opencv实现一个播放器,播放 摄像头的画面。

2024-01-22 17:22:39 778

原创 PySimpleGUI主题窗口样式

PySimpleGUI是一个基于Tthinter的简单GUI框架,可以作为python下跨平台的轻量级UI来使用。我看到示例代码里有设置主题的代码,所以找官方文档看了下,可以预览素有主题,方法是:这个代码会生成所有窗口的预览样式。窗口较多,我这里截图分开来展示。在自己的代码头部,使用以下代码设置主题:这里的主题名称在下面的主题样式中有显示,填写对应的名称即可。PySimpleGUI定义的主题就是设置了按钮、窗口、背景等元素的颜色等信息。所有的主题列表如下:参考资料PySimpleGUI 教程官网

2024-01-08 15:24:26 550

原创 解决pyuvc无法读取yuv格式的问题

我使用pyuvc访问uvc摄像头,但是发现pyuvc只支持了MJPEG的格式和GRAY格式。后面通过阅读pyuvc的代码,发现libuvc本身没有限制YUV的格式,是pyuvc限制的。首先修改_supported_formats,增加对uvc.UVC_FRAME_FORMAT_YUYV和uvc.UVC_FRAME_FORMAT_ANY的支持。编译生成新的whl文件在源码的wheelhouse/目录下。我的摄像头返回的是packaged格式的YUV420数据,我直接保存到磁盘文件中。在编译中我遇到的问题在。

2024-01-05 11:38:50 489

原创 delvewheel进行repair时报Unable to find library: msvcr100.dll【已解决】

我系统是64位的windows,我系统上在C:\Windows\SysWOW64这个目录下是存在msvcr100.dll这个文件的,但是它是32位的,delvewheel 把它忽略了。如果whl是64位CPU,则要求dll也要是64位的。可以看到,这里的类型判断和上面截图里二进制内容是对应的,PE后面跟着0x8664就是64位,跟着0x14c就是32位。网上各种修复方法,试了都不靠谱,还是下载了delvewheel源码一点点加打印分析,发现是dll和whl的CPU位宽类型不一样导致的。

2024-01-05 10:56:32 912

转载 代码执行的机器周期/性能对比[转]

网上看到一个对比代码执行各操作耗时的图,搜索了下源头,这里贴一下

2023-12-29 13:53:49 64

原创 使用python访问uvc摄像头

我有个支持uvc的摄像头,想通过python获取图像并设置其参数。如果在linux下,使用v4l2的相关库即可,在windows下我想了两个办法,一是使用opencv-python,二是安装一个叫pyuvc的库。

2023-12-27 17:06:49 1589 3

原创 linux下使用v4l2-ctl查看摄像头数据

我有一个支持uvc的相机,通过USB线和我的linux开发机连起来了。为了查看它的信息,我上网发现有v4l-utils这个包。这个包的工具可以让我在写代码前就对相机的参数有个大概了解。摄像头的有些参数是可调的,有些甚至支持zoom和云台的控制,具体的情况是看相机端实现的。虽然下面显示/dev下两个设备,但是实际上就一个摄像头(Webcam gadget),下面用/dev/video0来访问。我主要是用v4l2-ctl来查看摄像头的信息。我这个相机是4K的,可以看到4K的格式。

2023-12-27 15:13:51 1360

原创 pdf相关的python库

最近接触pdf信息抽取,使用了几个操作pdf的python库,这里简单纪录下。

2023-10-24 18:04:21 809

原创 label_studio中uwsgi内存占用高的问题排查

在大内存的host系统上申请的内存多,在内存不那么富裕的host系统上,docker起来后申请的内存就少。本来发现问题的是label_stuido17.3, 我下载了18.02版本的docker,问题也是一样的,看github上的issues,没看到跟我一样的问题。我用docker-compose控制docker看到的内存大小,结果只要不够的话,uwsgi根本就起不来,我猜测它有办法获取host系统上实际的内存大小,然后计算预申请的内存大小,不够的话就死给你看。箭头左边是默认值,右边是我修改的值。

2023-09-20 14:17:55 289

原创 transformer大语言模型(LLM)部署方案整理

大模型的基本特征就是大,单机单卡部署会很慢,甚至显存不够用。毕竟不是谁都有H100/A100, 能有个3090就不错了。目前已经有不少框架支持了大模型的分布式部署,可以并行的提高推理速度。不光可以单机多卡,还可以多机多卡。

2023-09-13 11:25:55 3100

原创 python使用http.server搭建服务

在python中使用http.server搭建一个简单的http服务

2023-07-17 16:30:20 696

原创 ARM汇编1:如何在C语言中使用汇编

我最近对ARM的NEON编程有兴趣,主要是为了想学习一些矩阵计算加速相关的知识。但是我又不想写纯粹的汇编语言,我想在C语言中嵌入汇编来使用。经过检索学习,我找到两种可行的方式。我在阅读ncnn代码的时候,发现下面这两种方式都有用到。为了后续能愉快的阅读ncnn代码,将相关知识做个简单的整理。

2023-03-11 15:31:10 1020 1

原创 将pytorch的pth文件固化为pt文件

上面代码保存了state_dict, 所以保存的文件中是不含模型结构的,固化时需要从代码构造网络结构。好在项目是完全开源,将原项目下的model目录拷贝过来就行。,这个项目提供了预训练模型,我想要将该模型固化,然后转换格式后在嵌入式端使用。另外不能忘记调用eval() 来固化参数。我参考了一个开源的人像语义分割项目。

2023-03-08 15:13:54 2402 1

原创 c++中使用dlopen加载动态库中带类参数的函数

我一直都知道dlopen的大概用法。但是dlopen毕竟是c语言的函数,能否加载带c++类型传参的函数,我有点不确定。今天有空验证了下,是可以的。extern “C”只影响了函数在动态库中的Name Mangling,并不排斥参数和回参使用c++类型。代码比较 简单,一目了然。

2023-02-17 15:50:02 654

原创 活体识别6:小视科技开源的静默活体检测

按照官方的说明,该方案是一个集成了俩小模型的方案,就是不知道俩小模型的侧重点。总的来说,开源这么一个可用的RGB单帧模型,很值得欣赏。

2023-02-02 18:08:14 2010 1

原创 活体识别5:论文笔记之FeatherNets

我觉得作者做了两件事,一件是通过“集成+级联”的方式拿到了比赛的好成绩,一个是设计了一个轻量级的人脸任务分类网络。这两件事不一定有特别大的关系。要是作者能把只用两个FeatherNet级联的结果写出来就更好了,这样才是一个更有针对性的论文。作为一个开发者,我打算用作者开源的FeatherNetBForIR试试效果。毕竟我只有NIR相机,没有深度相机。

2023-02-01 17:15:41 553 5

原创 活体识别4:论文笔记之《Face Spoofing Detection Using Colour Texture Analysis》

在和打印假脸、视频假脸的对比中,灰度图无法有效区分假脸,因为它们与真脸图片的相似度都比较高(距离小),而在YCbCr空间中,Cb通道和Cr通道中真脸图片和假脸图片相似度较低(距离大),有较明显的区分度。本文的出发点仍然没变,由于缺乏高频信息,假的人脸经过两个不同型号的相机成像和一次打印或显示,将会导致图像质量下降,而且复制的图像也会引入额外的噪声。这个论文是芬兰奥卢大学(Oulu)课题组的一篇很有代表性的论文,写于2016年,使用的是“手工特征+SVM分类器”这种比较传统的方案,方案不复杂,效果还不错。

2023-02-01 11:19:24 515

原创 活体识别3:论文笔记之《FACE ANTI-SPOOFING BASED ON COLOR TEXTURE ANALYSIS》

主要思路就是使用一篇参考文献里描述的LBP特征来提取人脸的color-texture信息,该文献中最终的LBP直方图是由各个色彩通道的LBP直方图组合起来形成的。作者在论文里说,HSV和YCbCr两个色彩空间的特征合并后得到的直方图尺寸是59x3x2,所以可以推测,作何使用的直方图灰阶的数量是59,而不是256。这个论文是芬兰奥卢大学(Oulu)课题组的一篇很有代表性的论文,写于2015年,使用的是“LBP特征+SVM分类器”这种比较传统的方案,方案不复杂,效果还不错。本文的活体检测方法如图 2 所示。

2023-02-01 10:42:36 476 1

原创 活体识别2: 综述类资源收集

19年的文章,把传统机器学习的方案和深度学习的方案都介绍了,简单易懂。

2023-01-31 10:28:13 543

原创 活体识别1:近红外(NIR)图像特性

第一行从左到右分别为近红外光下的真实人脸、打印黑白人脸以及打印彩色人脸,第二行为相同情况下的可见光成像图。通过图4可以看出,在近红外光下真实人脸能够保留较为完善的边缘轮廓信息,而打印照片的边缘信息丢失较为严重,同时可以看出在近红外下真实人脸的对比度比打印人脸高。来自:[1]隋孟君,茅耀斌,孙金生.基于近红外图像特征的活体人脸检测[J].自动化与仪器仪表,2021(09):25-29.最近在接触活体识别,在网上找到一个介绍近红外光(NIR)特性的论文,我简单做个笔记。原文的全文在文末参考资料里。

2023-01-31 09:43:29 2869

原创 opencv鱼眼镜头矫正

鱼眼镜头是一种视场角很大的镜头,但是得到的图片有很大的畸变,所以需要对鱼眼镜头进行标定,标定所得的参数可以对鱼眼镜头的图像进行矫正。

2022-12-29 16:42:34 5798 4

原创 tf2.X中将模型保存为savedmodel

我小将一个计算欧式距离的小模型转换为savedmodel。

2022-11-14 20:19:52 576

原创 onnx模型输入输出维度修改

费了半天劲搭环境,解决onnx转换过程的各种问题,最后发现rknn-toolkit2-v1.3不支持onnx的hardswish算子,白干了。最后,在rknn-toolkit-v1.7环境下将ckpt固化为pb文件,拷贝到rknn-toolkit2-v1.3下,再转换为rknn成功。可以看到右侧inputs和outputs的信息,第一个维度都是无效的,所以我需要把他们固定为1,因为我本来也不需要批量推理。代码运行输出(unk__207和unk__208应该是引起上述保存的原因,改了它们就好了)

2022-10-27 20:01:41 3963 2

原创 tensorflow-ckpt转savemode记录

直接用tf2onnx转有问题,所以使用savemode作为中间格式,先将ckpt转为savemode,再将savemode转为onnx。搞个转换onnx的活,tf2.X的环境下怎么都不行,我后来安装了一个py36+tf1.15+tf2onnx的环境才走通全流程。解决方法在上面代码里,就是在add_meta_graph_and_variables第二个参数里指定“serve”为tag.我有一个tf1.X训练输出的ckpt格式的模型,需要转换为onnx格式。我在tf2.0里好用的代码,在tf2.2就出错了。

2022-10-27 19:43:24 1170

转载 Linux graphic subsytem(1)_概述[转]

图形子系统是linux系统中比较复杂的子系统之一:对下,它要管理形态各异的、性能各异的显示相关的器件;对上,它要向应用程序提供易用的、友好的、功能强大的图形用户界面(GUI)。因此,它是linux系统中少有的、和用户空间程序(甚至是用户)息息相关的一个子系统。本文是图形子系统分析文章的第一篇,也是提纲挈领的一篇,将会从整体上,对linux显示子系统做一个简单的概述,进而罗列出显示子系统的软件构成,后续的文章将会围绕这些软件一一展开分析。

2022-10-23 11:55:35 194

原创 opencv中使用copyMakeBorder为图片填充边框

在使用深度学习模型推理的时候,通常输入图片都是一个正方形,而摄像头采集的图片通常是长方形的,这就要把图片的边上填充一些像素,从而变成所需的正方形。在opencv中copyMakeBorder可做填充的工作,非常适合做深度学习图片的前处理。这个例子把图片转换为320X320的正方形图片。

2022-10-21 09:31:54 1368

原创 c++成员函数做回调

对于bind包装成员函数的用法,简单做个笔记。

2022-10-20 10:00:10 362

原创 到底有几个鸿蒙OS? 谈谈我眼里的鸿蒙操作系统

目前鸿蒙是华为的一个大IP,其长远规划就是“理想鸿蒙”的样子。但是普通消费者拿着华为手机用着“AOSP鸿蒙”,却以为自己用的是“理想鸿蒙”。华为在营销上也混淆了“理想鸿蒙”和“AOSP鸿蒙”,导致招来很多人的反感。但是华为作为被美国精准狙击的公司,必须找退路,而且这个退路不是一朝一夕能建好的,所以推出了“AOSP鸿蒙”作为暂时的应敌之策,并对外宣称退路已经建好了,不怕美国制裁,保持消费者对华为的信心。但是私底下也在推进OpenHarmony,将来成熟后就能成为不惧制裁的底牌。结论就是。

2022-10-15 15:20:36 11960 19

原创 tensorflow2.x:构建tf.keras.Model实例的几种方式

我看到教程里搭建模型主要就是实例化一个tf.keras.Model并对它进行各种设置,实例化一个tf.keras.Model对象竟然同时存在多种方式,这也不是“灵活”能解释的通的,感觉还是没有实现一种好用的方式达到“一招鲜”,多种方式并存的原因可能还是设计不够简单。如果是多输入输出的话,输入用[inoput1, input2]这样的方式来传入就可以,输出用[out1,out2]的方式来返回。Sequential只能搭建简单的网络,如果内部有复杂的结构,就需要直接使用tf.keras.Model构造。

2022-08-24 12:36:20 1900

原创 pytorch模型转换问题记录

我在forward()函数里把tensor转换为python数值来显示,调用torch.jit.trace就会报错。在forward()函数里所有的操作都用tensor就没问题了。简单来说,原因就是我保存模型直接用torch.save(), 没法在其它脚本中直接加载,除非那个脚本中也有nn.Module子类的定义。为了在开发板上使用模型,我用转换脚本加载了我生成的pytorch模型文件,但是却报错了。我需要把我的模型保存为TorchScript格式。这样保存的pt就可以在其它python里加载了。...

2022-08-17 20:40:06 3330 2

IT++文档html格式

IT++ 是一个数学,信号处理和通信类功能的 C++ 库。这个是它的文档包。

2024-03-30

IT++信号处理和通信C++ 库

IT++ 是一个数学,信号处理和通信类功能的 C++ 库。它的主要用途是模拟通信系统,并进行研究相关领域的通信。它综合了 Matlab 的功能和 C 的速度,适合于信号处理等领域。 功能和特点 模板阵列和堆叠的集装箱类 命令和文件的论点分析器 模板向量和矩阵类 稀疏向量和矩阵类 载体功能和矩阵类 矩阵分解等特征 求解线性方程组 随机数代 二进制和伽罗瓦类型(标量,矢量和矩阵) 一体化的一维职能 无条件的非线性优化 统计类 过滤功能和类 频域滤波 FFT 算法,理论,变换,和 Hadamard 变换 时域和频域窗口 评估和寻找根源的多项式(逆行动) 滤波器的设计功能 快速独立分量分析 矢量调制器(如 OFDM 和 MIMO ) OFDM 系统和 CDMA 调制器 多径信道(包括频率单位和频率选择性) 海明,格雷,CRC 码 基于事件的仿真类 信号和简化语法 TCP 连接客户端和服务器 选择性重复传 标量化和矢量量化类 高斯混合模型 阅读和保存几种不同的音频文件格式 阅读和保存不同的图像格式 二进制文件格式,最基础的 IT + + 类型 定点标量,矢量和矩阵类型

2024-03-30

纺织品 纤维定量分析 近红外光谱法 (FZ-T 01144-2018).pdf

本标准规定了采用近红外光谱法测定纺织品中纤维含量的方法。本标准适用于除涂层织物、涂料印花织物和无机纤维以外的纺织品。 标准号:FZ/T 01144-2018 中国标准分类号:W04 国际标准分类号:59.080.01 批准发布部门:工业和信息化部 行业分类:制造业 王京力、桂家祥、张晓利 等 中山出入境检验检疫局、江西出入境检验检疫局、广东出入境检验检疫局等 本标准适用于除涂层织物、涂料印花织物和无机纤维以外的纺织品。

2024-03-15

windows下围棋级位测试6000题

Windows下围棋练习题。适合未定段的小朋友。

2024-03-04

TDA8007B中文手册

自己翻译的英文手册,不太准确,请参照英文手册。

2011-12-07

msp430单片机c语言程序设计与开发

是一本影印版的图书,主要是430的c编程。

2009-03-28

pcb封装形式图片介绍

这里包含了一些典型的封装图片及尺寸.特别是三个引脚的封装

2008-09-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除