当前位置: 首页 > news >正文

关于 ISP Tuning的学习,分享几点看法

关于学习,分享几点看法,欢迎讨论 。

1、分阶段性的,阶梯式学习。

2、带目的性的,任务式学习。

3、有总结性的,输出式学习。

如上3条,可以依次循环去执行,下面我以 ISP Tuning 的学习为例,分享几点看法。

整个 isp pipeline 中有很多的模块需要去Tuning ,要想 Tuning 好,那就必须去学习每个模块的实现原理,在了解它底层逻辑的基础上才能更有针对性的去调试。但怎么去学,及怎么学好它呢?

1、分阶段性的,阶梯式学习

可以把 ISP Tuning 的学习分成三个阶段,对于刚入行的同学,建议可以先了解下整个 isp pipeline,知道有哪些模块,每个模块的作用是什么,基于这些就可以修改参数,调试效果了(当然每个平台开放的参数都不一样,需要对着调试指南有个熟悉的过程)。

接着到第二阶段,就是要理解 isp pipeline 中每个模块的实现原理,要掌握他们具体是如何工作的,对输入的数据做了哪些处理,会带来什么影响。

再接着比较深入的阶段,就是要考虑整个 isp pipeline 为什么要这么设计,每个模块处在这个位置的意义什么,是怎么相互影响的。

基于上面说的,我们把一项技能拆解成了不同的阶段,从入门到深入的阶梯式学习。这是一个循序渐进的过程,一方面可以更好的认识到自己所处的阶段,减少不必要的焦虑。另一方面,因为比较契合实际,会更容易得到结果,给自己有持续精进的信心。

2、带目的性的,任务式学习

我们先是把一个技能,从入门到深入划分成了三个阶段去学习掌握。但在每个阶段的学习中还应该有明确的目的性,要带着要任务去学习,否则会很难坚持下去。

对于刚入门的第一阶段,我们的目标可以定为会改参数,能达到自己期望的效果就可以了。那我们的任务就是要了解整个 isp pipeline,明确有哪些模块,每个模块的作用是什么。可以直接看这个平台的调试指南、isp spec、以及网上搜相关的 isp 相关的基础概念即可,目的是了解整个 ISP 的大概,有个完整的概念。

到第二阶段时,有了一定的调试经验,我们的目标就要定为调试参数时,每个参数的调优结果都要做到心中有数,不能是一个一直去试的状态。这一阶段我们的任务就是要理解每个模块的实现原理,理解它对输入的数据做了哪些处理,会带来什么影响。具体该怎么去做呢?对于一个我们只会调,但不太明白其原理的模块,我的看法是,首先我们可以先网上搜索(包括系列课程中的某一讲、视频、博文、论坛、书籍、论文)这些资料都看一遍,看的越多越好,筛选出部分讲的比较深入的收藏保存起来,多思考多理解。同时再结合自己平台去调,去试,去分析算法代码。反复几次,也就差不多了,对于其他模块也是如此。当然这个过程也是可以和上面一样划分阶段去学习的,不可能一口气吃成胖子。

到第三个阶段时,我们的目标就要再回到宏观上来,要理解 isp pipeline 的设计原理,每个模块处在这个位置的意义什么,有什么优势。这一阶段我们的任务就是可以调试更多的平台,对比他们的优势,和局限的地方,分析其原因。

3、有总结性的,输出式学习

那怎么检验自己是否学好了,掌握透了呢?最简单的方式,就是教给其他人。也就是把这一阶段学过的知识,内化成自己的后,再总结输出出来,教给其他人(包括但不限于写公众号、写博客、录短视频、部门内分享等等)。当别人能理解你所表达的内容,且你也能解决他基于这部分内容的提问,那就说明你掌握了,反之那就是掌握的还不牢靠,需要再去查漏补缺。

最近有听到一句话,分享给大家“ 往往有小聪明的人,会寻找捷径去学习,反观那些用笨办法的人,反而会比较容易成功”。这么说可能会有点谬误,我的理解是学习是需要方式方法,但也必须要有死磕下去的决心,比如学英语要背单词,学编程要多敲代码,道理很简单谁也都懂,但能一直执行下去的有多少呢,说这么多,其实我自己做到的也有限,大家共勉。

相关文章:

关于 ISP Tuning的学习,分享几点看法

关于学习,分享几点看法,欢迎讨论 。1、分阶段性的,阶梯式学习。2、带目的性的,任务式学习。3、有总结性的,输出式学习。如上3条,可以依次循环去执行,下面我以 ISP Tuning 的学习为例&#xff0c…...

RocketMQ源码阅读

没有用过rocketmq,但是一直对RocketMQ的实现很感兴趣,本次阅读源码基于5.0.0 一、 nameserver 通过源码阅读发现,它的作用主要是当作一个注册中心,注册broker、topic等信息,维护topic以及broker队列的路由信息&#…...

重磅 | 小O软件新品【鲸鱼地图】发布

千呼万唤始出来.......,小O系列软件又添新品【鲸鱼地图】!!! 2023年新年伊始,小O就投入到新品研发工作中,秉承“发现地理价值”理念,为用户提供更加好用、易用的地图软件产品,经过春…...

软考高级信息系统项目管理师系列之二十五:项目合同管理

软考高级信息系统项目管理师系列之二十五:项目合同管理 一、项目合同管理内容整理一、合同管理基本概念1.项目合同管理定义2.合同的分类3.合同类型选择4.合同内容二、合同管理过程1.合同管理过程的内容2.合同签订和履行管理3.合同变更和档案管理4.合同违约索赔管理项目合同管理…...

测试开发之Django实战示例 第十三章 上线

在上一章,为其他程序与我们的Web应用交互创建了RESTful API。本章将学习如何创建生产环境让我们的网站正式上线,主要内容有:配置生产环境创建自定义中间件实现自定义管理命令1创建生产环境现在该将Django项目正式部署到生产环境中了。我们将按…...

python实战应用讲解-【语法基础篇】Python中的数值类型(附示例代码)

目录 前言 数值类型 十六进制、八进制和二进制 Python 数值类型转换 数值和表达式 前言...

Git常用命令以及如何在IDEA中使用Git

前言Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等)。Git在管理文件过程中会记录日志,方便回退到历史版本;Git存在分支的概念,一个项目可以有多个分支&…...

音乐播放器-- 以及数据库数据存储

运行环境 : java1.8 数据库以及代码编写工具 : sqlserver -- mysql 也可以 工具 eclipse 编码gbk窗体 : Swing使用了jaudiotagger 进行了音乐处理 图片展示 ----- 空闲时间 做出来玩的项目 部分功能还没有完善 完善了的功能 音乐 /// 主页 &a…...

[JAVA安全]Spring Messaging之CVE-2018-1270

漏洞简介 Spring 框架中通过spring-messaging 模块来实现 STOMP (Simple Text-Orientated Messaging Protocol),STOMP是一种封装 WebSocket的简单消息协议。攻击者可以通过建立WebSocket连接并发送一条消息造成远程代码执行, spring-messagin…...

CAN通信笔记-位时间、Tq及采样点同步

本文框架1.前言2. 位时间2.1 位时间定义2.2 位时间计算3. Tq3.1 Tq的计算3.1.1 举个例子3.2 位时间与Tq的换算4. 采样点同步4.1 硬同步4.2 重同步4.2.1 延长PBS1的重同步4.2.2 缩短PBS2的重同步1.前言 本篇记录些关于CAN的一些学习笔记,说实话CAN协议发展的已经非常…...

玩转 Kubernetes 配置管理:ConfigMap 和 Secret 实战演示

目录一、简介二、ConfigMap2.1 基于目录创建 ConfigMap2.2 基于文件创建 ConfigMap2.3 从环境文件创建 ConfigMap2.4 定义从文件创建 ConfigMap 时要使用的键2.5 根据字符串创建 ConfigMap三、Secret3.1 基于文件创建Secret3.2 基于字符串创建Secret3.3 yaml文件方式创建secret…...

Kubernetes

一、 kubernetes介绍 1.1 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应用程序定义…...

从零开始 verilog 以太网交换机(三)MAC发送控制器的设计与实现

从零开始 verilog 以太网交换机(三)MAC发送控制器的设计与实现 🔈声明: 😃博主主页:王_嘻嘻的CSDN主页 🧨 从零开始 verilog 以太网交换机系列专栏:点击这里 🔑未经作者允…...

使用vector<char>作为输入缓冲区

一、引言 当我们编写代码:实现网络接收、读取文件内容等功能时,我们往往要在内存中开辟一个输入缓冲区(又名:input buffer/读缓冲区)来存贮接收到的数据。在C里面我们可以用如下方法开辟输入缓冲区。 ①使用C语言中的数组&#x…...

自己在网站搭建用到的一些网站

背景 以后可能很少做网站类的项目了,所以做个简单总结,把自己的一些经历和一些小工具做个记录 域名和主机 https://www.godaddy.com/zh-sg, 我之前的基本都是国际会议型的网站,所以就在gadaddy上买了主机和域名。目标群体在国内可以考虑腾…...

XLSReadWriteII5 Color 颜色l的调用和使用

XLSReadWriteII5 Color 颜色l的调用和使用 一、色彩三原色 自然界,颜色是由红、绿、蓝三色组成,人眼的可见的颜色,可以通过红、绿、蓝三色按照不同的比例合成产生。 任意一种颜色由这三种原色按照一定的比例混合出来。 二、Windows系…...

RT-Thread SP使用教程

RT-Thread SPI 使用教程 实验环境使用的是正点原子的潘多拉开发板。 SPI从机设备使用的是BMP280温湿度大气压传感器。 使用RT-Thread Studio搭建基础功能。 1. 创建工程 使用RT-Thread Studio IDE创建芯片级的工程。创建完成后,可以直接编译下载进行测试。 2.…...

LeetCode 2363. 合并相似的物品

给你两个二维整数数组 items1 和 items2 ,表示两个物品集合。每个数组 items 有以下特质: items[i] [valuei, weighti] 其中 valuei 表示第 i 件物品的 价值 ,weighti 表示第 i 件物品的 重量 。 items 中每件物品的价值都是 唯一的 。 请你…...

numpy 中常用的数据保存、fmt多个参数

在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多 一、保存为二进制文件(.npy/.npz) (1)numpy.save(file, arr, allow_pickleTrue, fix_importsTrue) file:文件名…...

从0到1一步一步玩转openEuler--19 openEuler 管理服务-特性说明

文章目录19 管理服务-特性说明19.1 更快的启动速度19.2 提供按需启动能力19.3 采用cgroup特性跟踪和管理进程的生命周期19.4 启动挂载点和自动挂载的管理19.5 实现事务性依赖关系管理19.6 与SysV初始化脚本兼容19.7 能够对系统进行快照和恢复19 管理服务-特性说明 19.1 更快的…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage)&#xff1a…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...

深度学习习题2

1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...