- 博客(756)
- 资源 (5)
- 收藏
- 关注
原创 工作杂谈(十八)——告辞信(离开第一份工作)
0.感谢作为一个刚毕业的双非本科应届生,我当时找工作跑了不少社招,也被很多HR嫌弃过。刚开始的时候是和同学们一起跑的,有的人跑着跑着就放弃了,直接走了校招的招聘。除了一些真的很优秀的同学进到了不错的公司和岗位外,大部分人都去了像富士康这种,前几天还有一个去了富士康同学打电话跟我抱怨,后面就剩我自己再跑了,我已经记不清自己投了多少简历,才去了自己这份工作。感谢自己的坚持,也感谢公司给了我工作...
2020-03-24 14:51:52
2758
7
转载 高通CamX架构解析—— Camera HAL3接口与CamX-CHI框架设计
如果你是一名Android相机应用的开发者,或者正在从事手机相机系统的开发工作,那么“高通CamX架构”这个名字你一定不陌生。但第一次接触它时,你可能会被它复杂的层级和一堆陌生的术语搞得晕头转向。别担心,今天我就以一个过来人的身份,带你拨开迷雾,看看这个架构到底是怎么一回事,以及它和我们熟知的Camera HAL3接口之间,到底是如何“牵手”合作的。简单来说,你可以把整个Android相机系统想象成一个大型的跨国企业。
2026-05-11 15:51:19
8
转载 Camera基础 pitch、yaw、roll
xml如果是360就是不生效使用dtsi里面的,如果在 0 to 359内就是会使用xml里面的。Pitch(俯仰):绕横轴旋转,使物体向前或向后倾斜。俯仰角度通常用来描述物体绕其横轴的旋转。Roll(翻滚):绕纵轴旋转,使物体沿水平面滚动。翻滚角度通常用来描述物体绕其纵轴的旋转。Yaw(偏航):绕垂直轴旋转,使物体左右转动。偏航角度通常用来描述物体绕其垂直轴的旋转。
2026-05-09 11:49:50
15
转载 高通 ISP pipeline
IPS是图像信号处理,是对CMOS图像传感器输出的信号做后期处理的芯片。主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等。ISP处理主要有三个流preview、snapshot、video:分别对应IFE、BPS、IPE。
2026-04-13 17:37:20
108
原创 地平线x5 ISP 图像效果调试
在编译好app.img和hbre.img后,将两个估计独立进行烧录更新。然后进入“/app/platform_samples/tuning_tool/”路径下,运行run_tuning.sh脚本,参考命令如下: 具体启动流程如下: 通过 “ss -tlnp”监听tcp窗口,我们可以找到camera和isp_tuning的接口地址。 最后通过ISP调试的上位机,我们就可以正常连接我们的开发板了。 本文档介绍了Horizon Sunrise X5 图像处理器的测试和调试方案,详细说明了静态图像
2026-04-10 14:05:26
526
原创 《PyTorch深度学习建模与应用(参考用书)》(三)——深度神经网络
神经网络的概念最初来源于生物学家对大脑神经网络的研究,从中发现其神经元的工作原理,并且从数学角度提出感知模型,并对其进行抽象化。
2026-04-06 15:10:55
403
原创 高通EIS基础pipeline
如上图所示,高通CamX中,为每个Request ID涉及了多个Seq ID(0-3),在EIS集成过程中,每个Seq ID有不同的作用,因为EIS是基于IMU数据计算的,在算法运行前需要拿到Gyro/Accel data,而获取Gyro/Accel data前,需要读取当前帧图像的帧时间戳、曝光时间、rollingshutterskew等Metadata信息。介绍了高通平台EIS node输出信息的流向,本文从整体pipeline的角度介绍高通平台EIS算法集成的位置。
2026-03-27 19:53:32
423
原创 在 Windows 上使用 torch.compile()
torch.compile() 依赖 TorchInductor,它会 JIT 编译算子,需要可用的 C/C++ 编译工具链。因此,在 Windows 上要让 torch.compile 正常工作,整体准备会比 Linux 或 macOS 更麻烦一些(后者通常只需安装 PyTorch)。如果你是 Windows 用户,并觉得配置 torch.compile 过于复杂也不用担心:本仓库的所有示例在不编译的情况下依然可以正常运行。
2026-03-25 21:15:05
268
转载 深度学习中batch/lr/epoch三者的关系
在不限内存的情况,应当用大点的batch_size, 进行模型优化,稳且快。在内存有限的情况下,减小batch_size的情况下应该相应减小的是learning_rate, 至于epoch怎么调,你就需要综合看你的loss下降情况与验证集的指标情况了。若是loss还能降,指标还在升,那说明欠拟合,还没收敛,应该继续train,增大epoch。若是loss还能再降,指标也在降,说明过拟合了,那就得采用提前终止(减少epoch)或采用weight_decay等防过拟合措施。
2026-03-25 19:49:16
34
原创 深入理解HDR
HDR(High Dynamic Range,高动态范围)和WDR(Wide Dynamic Range,宽动态范围)是两种用于提升图像动态范围的技术,主要目的是在复杂光照条件下捕捉更丰富的细节。尽管两者的目标相似,但在技术实现方式、应用场景以及性能表现上存在显著差异。HDR通常通过多帧合成的方式实现,即相机在一次拍摄过程中捕捉多张不同曝光的照片,并将它们合并成一张具有更高动态范围的图像。这种方式依赖于软件算法来对齐和融合图像内容,因此容易受到运动伪影的影响。
2026-03-14 18:19:00
267
原创 为什么白平衡偏蓝会让图像看上去更暗
Y0.299R0.587G0.114B当 AWB 偏蓝时,算法错误地认为场景色温过高(如将 5000K 误判为 7500K),会压低 R/G 通道增益,抬高 B 通道增益。结果是:R 和 G 被压缩,B 被放大,但 B 对 Y 的贡献很小,导致整体 Y 值下降,图像物理亮度降低。
2026-03-12 09:36:34
81
原创 CCM深入理解
CCM 全称为Color Correction Matrix --色彩校正矩阵 ,它通常在RGBdomain进行,并在AWB之后。AWB主要是矫正白色,相应的其他色彩也跟着有一些变化。CCM就是保持白色不变,将其他色彩校正成真实的颜色。色彩校正矩阵如图所示:为了保证白平衡不被破坏,需满足:C00 + C01 + C02 = 1 ,且C00大于等于1,C10和C20以此类推。
2026-03-10 10:51:56
470
原创 opencv图像处理学习(七十六)——StereoBM函数各个参数的含义
【代码】opencv图像处理学习(七十六)——StereoBM函数各个参数的含义。
2026-03-02 17:49:14
50
原创 初学slam(二)——ROS
ROS(RObot Operating System)是Willow Garage公司于2007年发布的一个开源机器人操作系统,它为软件开发人员开发机器人应用程序提供了许多优秀的工具和库。同时,还有优秀的开发者不断为它贡献代码。本质上,ROS并不是一个真正意义上的操作系统,而更像是基于操作系统之上的一个软件包。它提供了众多在实际机器人中可能遇到的算法:导航、通信、路径规划等等。ROS的版本代号是按照字母顺序编排的,并随着Ubuntu系统发布的更新而更新。
2026-02-28 17:17:27
315
原创 初学slam(零)——什么是slam
移动机器人自定位与环境建模密不可分。在未知环境中,移动机器人依靠构建的环境地图进行自定位,环境地图的准确性又依赖于定位精度。移动机器人处于陌生环境时,往往由于缺乏参照物难以定义。基于定位的环境建模与基于地图的定位都是比较容易实现的,但两者抛开其一单独进行都会提高实现SLAM技术的难度。概率定位法信标定位法图形匹配定位法与全球定位系统。
2026-02-28 12:44:04
609
原创 《PyTorch深度学习建模与应用(参考用书)》(零)——深度学习综述
深度学习可以让计算机从经验种进行学习,并根据层次化的概念来理解世界,让计算机从经验中获取知识,可以避免由人类来给计算机形式化地制定它所需要地所有知识。TensorFlow的前身是2011年Google Brain内部孵化项目DistBelief,它是一个为深度神经网络构建的机器学习系统。经过Google 内部的锤炼后,在2015年11月9日,对外发布了TensorFlow,并于2017年2月发布了1.0.0版本,这标志着TensorFlow稳定版本的诞生。
2025-11-15 20:58:28
924
2
原创 Chromatix 7快速入门手册
camera sensor 工作原理:先感应到光信号,接着将光信号转换成模拟信号,在通过A/D转换成数字信号。我们以10bit 数据为例,转换成的数字信号则在0-1023 的范围内,然而A/D转换器的精度无法将电压值很小的一部分转换出来,从而导致暗态细节损失这时需要认为地输出信号加一个固定的偏移量,使整体信号值放大,有小保留了电压值很小的暗部细节,当然也会损失部分亮度细节。此操作是因为我们拍照时较关注暗态拍照,保留暗部细节牺牲部分动态范围的操作而被认可。
2025-11-13 16:55:27
2005
原创 深度学习模型处理图片的所需的算力计算
在深度学习训练里,GPU的双精度(FP64)算力要求相对特殊,对于一些科学计算类的深度学习任务,如气候模拟相关模型训练,双精度算力可能每秒要达到数百GFLOPS,才能保证计算的准确性和稳定性。考虑到深度学习训练的实时性需求,GPU的算力稳定性十分关键。深度学习训练对GPU算力的要求,从计算精度角度看,单精度(FP32)算力在一些中等规模模型训练中,每秒需达到数千亿次浮点运算(TFLOPS)级别,例如在常见的图像分类模型训练时,英伟达部分高端GPU单精度算力可达10-30 TFLOPS才能较好满足需求。
2025-11-11 20:27:29
736
原创 已知mipi的单lane速率,sensor帧率和VTS,如何计算HTS
(1)VTS = 2622 行(含 blank)(3)单 lane 速率 = 1152 Mbps = 1.152×10⁹ bps(4)像素位宽 RAW10 → 10 bit/pix。
2025-10-16 09:58:29
521
原创 编写 GStreamer 插件2:编写插件的基础知识(二)
状态描述元素实例是否初始化,是否准备好传输数据,以及它是否当前正在处理数据。从现在起,它将被简单地称为“NULL”、“READY”、“pause”和“PLAYING”。GST_STATE_NULL 是元素的默认状态。在这种状态下,它没有分配任何运行时资源,它没有加载任何运行时库,显然无法处理数据。GST_STATE_READY 是元素可以处于的下一个状态。在就绪状态下,元素分配了所有默认资源(运行时库、运行时内存)。但是,它尚未分配或定义任何特定于流的内容。
2025-09-26 14:55:52
721
转载 GStreamer官方入门课程1:Hello World!
没有什么比在屏幕上打印“Hello World”更能给人留下软件库的第一印象了!但既然我们要处理多媒体框架,我们就要播放视频了。不要被下面的代码量吓倒:只有4行代码可以完成真正的工作。剩下的是清理代码,在C语言中,这总是有点冗长。不用再费吹灰之力,准备好您的第一个GStreamer应用程序…
2025-09-26 14:46:40
142
原创 高通camx架构学习(四)——Camera Framework
frameworks/av/services/camera/libcameraservice AOSP 中这个目录下是 87 个文件,而 Qcom 的基线中增加了 27 个文件,分别为 api1/qticlient2 目录下的 25 个文件,以及 QTICamera2Client.cpp, QTICamera2Client.h 两个文件。
2025-09-19 20:01:32
1293
原创 高通camx架构学习(三)—— HalQcom Hal3 CamX
Camera HAL3学习:HAL层操作简单总结:&emsp:&emsp:Qcom作为平台厂商会根据谷歌定义的HAL3接口来实现自己的Camera HAL3,新的主流的Qcom Camera HAL3 架构就是CamX了. Camx的详细过程可参考高通文档:80-pc212-1_d_qualcomm_spectra_isp_camera_chi_api_reference.pdf 最主要还是要看code,手机厂商对该层代码有自己的改动,可能差别还是有的,具体项目大体框架一致但细节有区别,差异和
2025-09-19 19:45:11
1214
1
原创 高通camx架构学习(二)——深入理解高通Camx Hal
同样地,CHI中的ExtensionModule在初始化的时候,其构造方法中也会通过调用dlopen方法加载camera.qcom.so库,并将其入口方法ChiEntry通过dlsym映射出来,之后调用该方法,将g_chiContextOps(ChiContextOps,该结构体中定义了很多指针函数)作为参数传入CamX中,一旦进入CamX中,便会将本地的操作方法地址依次赋值给g_chiContextOps中的每一个函数指针,这样CHI之后就可以通过g_chiContextOps访问到CamX方法。
2025-09-19 16:28:58
884
原创 高通camx架构学习(一)——高通 Camera Camx 架构
目前主流的机型都使用camx架构,这个架构和之前架构的主要区别就是 芯片接口层的代码从hardware/qcom 迁移到 vendor/qcom/proprietary/下面,我们主要关注的camera hal层的源码也是放在vendor/qcom/proprietary/camx/下面。都是从 vendor/qcom/proprietary/chi-cdk/vendor/chioverride/default/chxextensionmodule.cpp中调用过来的。
2025-09-19 15:49:18
1607
原创 高通camx架构学习(零)—— 深入理解Camera 硬件抽象层
从上面的定义可以看出,主要是通过hw_module_t 代表了模块,通过其open方法用来打开一个设备,而该设备是用hw_device_t来表示,其中除了用来关闭设备的close方法外,并无其它方法,由此可见谷歌定义的HAL接口,并不能满足绝大部分HAL模块的需要,所以谷歌想出了一个比较好的解决方式,那便是将这两个基本结构嵌入到更大的结构体内部,同时在更大的结构内部定义了各自模块特有的方法,用于实现模块的功能,这样,一来对上保持了HAL的统一规范,二来也扩展了模块的功能。
2025-09-19 14:40:24
1569
原创 为什么深度学习中一般使用mean=[0.485, 0.456, 0.406]和std=[0.229, 0.224, 0.225]来归一化图像?
Q:图像预处理部分在resize后还会使用均值:image_mean=[0.485,0.456,0.406],标准差:image_std=[0.229,0.224,0.225]进行归一化,为什么使用这几个值?A:image_mean=[0.485,0.456,0.406]、image_std=[0.229,0.224,0.225]是Imagenet数据集的均值和标准差,使用Imagenet的均值和标准是一种常见的做法。如果你想在你自己的数据集上从头开始训练,你可以计算新的平均值和标准。
2025-09-08 18:13:09
442
原创 各深度学习框架优缺点
TensorFlow 的官网地址为 https://www.tensorflow.org/。TensorFlow 逐渐成为最流行的深度学习框架,目前在 GitHub 中已经有 1500 多个与深度学习相关的包中提到了 TensorFlow,而其中只有 5 个是谷歌公司官方提供的,可想而知它的应用是多么广泛。TensorFlow 在很大程度上推动了深度学习的发展,并成为这个行业的标准,目前可以说是深度学习的代名词了。
2025-09-08 10:33:01
1163
原创 npy可视化方法
npviewer 是一个应用程序,它允许您以热图的形式可视化 numpy 的 npy 文件中的数据。该应用程序根据不同的模式自动选择适当的维度进行显示。在桌面上打开npyviewr的快捷方式,并在地址栏输入要加载的文件目录或者npy文件即可。
2025-09-02 16:45:21
490
原创 ubuntu之坑(十九)——VMware虚拟机扩容磁盘
虚拟机 – VMware Workstation ProLinux系统 – Ubuntu 16.04 LTS。
2025-09-02 14:47:16
1076
2
MX Component 4.16S.txt
2019-08-30
tcpmaster v0.0.0.2.rar
2019-12-27
tcpmaster V0.0.0.1.rar
2019-12-24
qcs6490的4k->8K的SWRemosaic
2025-08-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅