自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 dcraw for convert dng/tiff2jpg

【代码】dcraw for convert dng/tiff2jpg。

2024-09-18 15:24:40 52

原创 torch/onnx convert tf/tflite

GitCode - 全球开发者的开源社区,开源代码托管平台

2024-09-02 17:21:30 89

原创 torch convert to TFLite.

11!@@@@!!!

2024-08-22 15:02:54 288

原创 ImportError: numpy.core.multiarray failed to import

get done.

2024-08-22 11:11:53 99

原创 c language save the bin to jpeg.

【代码】c language save the bin to jpeg.

2024-08-19 20:23:43 113

原创 DATATYPE converting C

【代码】DATATYPE converting C。

2024-08-13 14:37:49 146

原创 raw downsample using c language and python visualization

【代码】raw downsample using c language and python visualization。

2024-08-12 18:18:12 265

原创 NOTICE:model deploy to haisi om

done..

2024-07-22 10:42:45 179

原创 jpg2bin

【代码】jpg2bin。

2024-07-18 18:09:56 99 1

原创 how haisi_AIPP do normalized consistent with torch(transforms.Normalize)

formula(1)

2024-07-18 11:49:46 224

原创 yuv2rgb_haisi_

【代码】yuv2rgb_haisi_

2024-07-17 16:53:51 87

原创 haisi calculate aimodel time

【代码】haisi calculate aimodel time。

2024-07-16 16:46:21 83

原创 how to increase the speed of data loading for the deep learning

【代码】how to increase the speed of data loading for the deep learning。

2024-06-25 13:54:28 219

原创 论文阅读:Deep Bilateral Learning for Real-Time Image Enhancement-google-hdrnet-slicing

grid就是对应图上面的那一条特征提取网络,具体来说,原始图像经过下采样之后,默认256分辨率送入一个特征提取模块,这里考虑到了全局和局部特征提取,后面作者也专门对这个做出了实验,如果不加入全局特征提取模块的话,最后生成的结果会出现明显的影块。经过这样的全局加局部的特征提取之后,最后卷积成96通道(默认)。其次就是guide,这种思想不得不提到何凯明大神的引导滤波,思想都是相似的,这里的guide用的具体的方法可以查看源码,不管是guide还是gride其实都可以根据需求和实验选择。

2024-06-14 19:29:28 232

原创 onnx,onnxruntime量化,避坑!!!

一度认为是conda出了错误,由于是在服务器上,看代码debug不是很方便,一直以为是安装版本的问题,后面发现 quantization这个函数,包括其下面的函数,都不能这么调用。(之前的人都是这么用的?这个代码 一直在报错,no module named quantization。找了很多种方法,没有一个说到点子上的。

2024-05-23 13:53:08 526

原创 新的开发板如何配置网络,并挂载到服务器上(3403为例)mount

完事之后输入ip address 查看是不是eth0的网络变成刚才输入的ip。中间的那个ip换成当前网络下的网关。1.打开板子上的网络服务。3. 额 输入下面的话。

2024-05-20 12:01:01 247

原创 量化之------算子融合

此外,还需要考虑硬件和软件的兼容性,因为不是所有的算子组合都能从硬件加速中受益。具体的实现会依赖于使用的深度学习框架和硬件架构。归一化层(如Layer Normalization, Batch Normalization等)后通常会接一个激活函数。如果一个操作的输出是另一个操作的输入,并且两个操作都是ElementWise的,那么它们可以融合。将这两个层融合可以减少对内存的访问和提高计算效率。这两个算子可以融合在一起,避免额外的内存访问。在一些操作中,如在计算梯度时,求和和乘法操作可以一起执行。

2024-05-16 14:54:01 468

原创 ai awb paper 总结

准无监督颜色恒常性 - 知乎 (zhihu.com)

2024-03-25 14:59:20 232

原创 Q-BENCH: A BENCHMARK FOR GENERAL-PURPOSEFOUNDATION MODELS ON LOW-LEVEL VISION

简单来说,作者对MLLMs在lowlevel领域中的评价提出了一个测试基准,主要分三点进行讲述。有点类似于综述,显然作者团队在MLLM的lowlevel领域属于开山之作了。继续分享Q系列文章,今天分享Q-BENCH。

2024-01-10 15:07:36 506

原创 Q-BOOST: ON VISUAL QUALITY ASSESSMENT ABILITY OF LOW-LEVELMULTI-MODALITY FOUNDATION MODELS

再其次,如果只有good和bad,然后bad还等于0,那其实很难区别出好有多好,坏有多坏,而加入一个mid,还是那句话,虽然在文本的返回上只是多了一个token罢了,但是这个token如果经过log和sftmax之后可就是一个有权重的系数了,这样的影响是远远比只有good和bad要大的。ok,连续的图,为啥说是连续的图呢,因为开始作者也不确定策略2的效果啥样,然而经过试验发现,策略二只对VQA有效果,对IQA可以说不仅没有增强反而还弱化了,所以结论可以说是对于连续的图来说,就是视频。图像或视频质量估计。

2024-01-04 21:11:02 902

原创 Unexpected key(s) in state_dict: “conv_none.conv1.bias“, “conv_none.conv1.weight_orig“, “conv_none.c

【代码】Unexpected key(s) in state_dict: “conv_none.conv1.bias“, “conv_none.conv1.weight_orig“, “conv_none.c。

2023-12-19 16:23:39 506

原创 atc量化算子注意事项

1.nn.ReflectionPad2d()不支持。有的人喜欢先用这个填充然后再用卷积,其实直接在卷积里使用padding就行,也可以改想要的填充模式。3.卷积反卷积的时候,output_padding参数不支持。2.上采样只能用nearest,

2023-12-01 15:38:04 111

原创 convTranspose卷机上采样算子outputpadding不支持

k=2stride = 2getdone。

2023-12-01 11:27:09 66

原创 记录一下模型加载定义时的小trick --state_dict​​或​​torch.nn.Module.load_state_dict()​​的​​strict​​函数

strict 变量 去改变加载模型参数时的方式,为什么出现这个问题,因为有的网络在class init下会定义很多模型函数的对象,但是并不代表定义就一定被调用,假设在forward中没有被调用,那么如果strict不是false的话,模型遇到没有使用的key值就会报错。所以在我们完全理解网络之后,可以手动去取消这个strict。

2023-11-27 10:48:11 180

原创 超分网络训练过程中val出现颜色变化的问题

如图所示,训练过程中验证集出现上图问题,并不是所有val都这样,不明白这样的效果发生表示模型训练一定失败吗?之前的经验来说,不应该出现这样的现象,但是观察发现这样的效果有退化的趋势。

2023-11-16 11:17:02 98

原创 关于pip basicsr,facexlib,realesrgan et al.安装报错。

问题在于首先 -i的源要换成阿里的源,然后要安装他要求的库,在github上都有,或者默认也会自动pip,但是cython这个需要手动安装,pip install cython -i xxx 之后问题解决。上图这种错误,或者其他的错误,有的方法让去github上安装,那种方法到setup.py的时候也会报错。首先basicsr是一个超分的库,在ubuntu系统上pip时会报错。

2023-11-13 12:00:39 501

原创 修改pt,生成新的pt文件,删除带有up的层。

【代码】修改pt,生成新的pt文件,删除带有up的层。

2023-11-07 09:37:50 165

原创 onnx替换pt进行推理代码

【代码】onnx替换pt进行推理代码。

2023-11-06 11:50:49 391

原创 MACs (乘加运算次数)和 FLOPs (浮点运算次数)关系,onnx函数计算方式

2. 如果乘法和加法都计1 FLOPs,那么 MACs = FLOPs综上,MACs 和 FLOPs 的关系具体取决于计算方式,但更标准的做法是:MACs 和 FLOPs 是一个量级,它们的数值相等或近似相等。1. 如果乘法计2 FLOPs,加法计1 FLOPs,那么 MACs = 2 * FLOPs。之所以网上有人说它们是二倍关系,可能是采用了乘法计2 FLOPs的计算方式。所以,MACs 和 FLOPs 可以看作相等,都是反映模型计算量的指标。但这并不是一个标准的计算方法。

2023-11-01 17:14:48 1709

原创 ISP中tonemapping和gamma变换心得。

而对于16位的rgb,不好判断是否经过了gamma变换,第一种方式是通过直方图来看亮度分布,如果都分布在很黑的像素点,那可能就是没有经过gamma变换,因为一般经过gamma变换后的图像亮度分布比较平均,但是16位的png本来就是很黑呀,所以通过直方图还是不好判断,还有一种方式便是通过反gamma,看看图像经过反gamma之后是否明显造成了信息损失,包括亮度,信息等。首先对于8位的rgb,那肯定都是经过了gamma变换后的结果了,因为8位的rgb,肯定完全走完了isp流程。

2023-09-21 16:21:23 380

原创 HDRUNet: Single Image HDR Reconstruction withDenoising and Dequantization

找到之后,我们打开某一个文件夹下,会看到一组gt,long,mid,short,alignratio.npy,exposure.npy。执行这个yml就行,里面给定好路径,这里作者没有详细说明,其实要的都是png的图片。模型最优效果,21年的第二名,比之前的网络更简洁效果更好,比21年的第一名只差0.00几的精度。对于该文章网上有很多相关解读。简单看一下网络结构,是一个经典的UNet baseline的网络,对模型部署是比较友好的。有残差,有注意力机制,有权重选择,,具体结构不分析了,并不复杂,没有bn。

2023-09-21 16:06:45 320

原创 quick sort(快速排序)代码

【代码】quick sort(快速排序)代码。

2023-07-03 14:50:05 143

原创 VIT手撕代码简洁版

【代码】VIT手撕代码简洁版。

2023-06-15 18:03:57 195

原创 OCR使用开源

之前用过百度的ocr,GitHub上蛮复杂感觉,官网的需要money,且接口不能一直循环调用。这里分享一个好用的方法。

2023-05-23 14:31:05 290

原创 c++浅拷贝,深拷贝,以及栈,堆,和静态存储区static,理解与心得。

传给f2的m_p,对吧?仔细分析可以看到,我们创建的对象f1,在创建的时候自动调用构造函数在堆上开辟了10个空间给到指针m_p,然后我们又创建了第二个对象f2,让f2=f1,也就是调用我们的这个拷贝构造函数,那么我们看这个拷贝构造函数里是不是写的:m_p=other.m_p;首先栈,堆,和静态存储区static,都是开辟在内存上的空间,具体来说在c++中,创建一个对象如果不用new创建,那么这个对象的空间就被开辟在了栈上,这样的空间不需要我们在意,使用完程序会自动释放,也不用担心会发生内存泄漏的情况。

2023-05-19 17:19:04 743 2

原创 c++之到底什么时候需要加入析构函数定义?以及内存泄漏

堆内存分配后没有得到正确的释放,简单说一下堆内存和stack内存,占(stack)内存是由编译器或系统自动分配的,他的响应速度快,但是内存空间小,往往不会产生泄漏问题,而堆内存是程序员自己定义的内存,比如在定义一个新的对象时,new操作符会申请出一些堆空间,这样的空间不会被系统自动释放,需要程序员手动释放,这也是发生内存泄漏的主要原因。比如上面的代码没有申请任何资源所以不需要定义析构函数,而下面的代码定义了一个name的内存,使用后需要用析构函数释放内存。4. 一个类中只能有一个析构函数。

2023-05-19 09:39:32 849

原创 c++基础--const,引用,指针

如上图代码所示,在函数传入参数中加入&,调用函数时送入的为变量的地址,函数可以不需要复制变量,直接在地址上对原始变量进行修改,如果只希望读取地址而不需要修改变量值,可以在前面加入const参数,让函数对变量的操作变为只读。还有比如这种回调函数。这个函数可以在以后某个时刻调用该函数指针,这种技术称为回调。而下面的例子则展示出传入地址的优势:(这里先说一点,引用和传入地址的方式都会改变变量的值,所以const需要灵活的加入。优势其实有很多,比如下面的这种,定义一个比较函数可以针对不同的变量进行比较。

2023-05-17 17:49:09 57

原创 heatmap_python,用来判断不同层网络的注意力权重

row_image是原始图,feature是不同网络层输出的特征图,上述代码只是为了测试,实际使用时应该直接送入feature特征图的像素。

2023-04-10 13:47:55 208

原创 c++图像遍历方式以及底层原理

这是因为在彩色图像中,图像数据缓冲区的前 3 字节表示左上角像素的三个通道的值,接下来的 3字节表示第 1 行的第 2 个像素,以此类推(注意 OpenCV 默认的通道次序为 BGR)。不过出于性能上的考虑,我们会用几个额外的像素来填补行的长度。使用OpenCV的cv::Mat 实例的迭代器,首先要创建一个 cv::MatIterator_对象。因为图像迭代器是用来访问图像元素的,所以必须在编译时就明确返回值的类型。ptr是一个模板属性,可以用来获取地址,相同的一个属性也可以用at。key2:使用迭代器。

2023-04-04 19:46:04 508

原创 Co-training with High-Confidence Pseudo Labels for Semi-supervised Medical Image Segmentation-23CVPR

第二个便是在训练的时候给不同的数据。针对上面说的两点想法,作者先做了实验验证自己的想法,实验结果如上图,a中的MT模型和b中的CPS模型,这两种结构分别来自前几年的两篇顶会中,后面会详细说明,简单来说,作者发现MT模型的整体DICE不如CPS模型好,而CPS刚好满足上面说的两个特性,这一点证实了作者的想法。这篇文章是2023的cvpr关于医学图像分割的,用的半监督的方式,最近在工作中也尝试了解半监督,毕竟不仅仅是医学,各种领域的标签都还蛮难弄的,这篇文章正好对应了学校的研究方向,所以赶快分享出来。

2023-03-31 19:15:45 797

isp,传统算法,包括读取raw 每一帧

isp,传统算法,包括读取raw 每一帧

2023-09-14

dehaze-dcp-changed-c++

dehaze-dcp-changed-c++

2023-04-20

数据增强-图像锐化-rgb以及raw-rggb

数据增强-图像锐化-rgb以及raw-rggb

2023-04-20

raw2rgb(传统方式)讲raw图转化成rgb

raw2rgb(传统方式)

2022-11-03

空空如也

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

TA关注的人

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