portal area identify

Task 寻找识别汇管区的方法 Superpixel Classification Approach (已过时) Superpixel:包含多个像素的图像块 思想: 将像素分组为有意义的视觉基元(超像素),再对这些基元进行特征提取和分类,从而高效地完成像素级的分割任务** 实施过程 1.分割成块(大块的像素) 2.提取特征(颜色,纹理,坐标 etc) 3.使用已标注的数据集进行训练(按照1,2步对数据集进行处理,为每个超像素块设置标签,eg:当前块70%的部分为天空,则说明此块的标签便是天空) 新数据:训练完成后对应新数据同样进行1,2步骤,后放入训练好的分类器中(这里提到的是随机森林) 结果:每个超像素均被赋予了标签,那么各个区域便被赋予了标签  补充: 随机森林分类器: 一堆决策树,投票得出最终结果,并且随机森林会进行数据抽样(有放回,即Bootstrap Aggregating)和特征抽样从而建立训练样本。 概括随机森林的特点:决策树,数据抽样、特征抽样、投票机制 Simple Linear Iterative Clustering(简单线性迭代聚类)即 SLIC 算法:用于生成超像素,我们仅需传入k,k为一个图片被分割成的超像素总数 CIELAB color space 和 image clustering 是SLIC用的 Local Binary Pattern(局部二值模式)即LBP 算法: 核心思想: 局部比较:以一个像素为中心,将其与周围固定半径内的 P 个邻域像素进行比较。 二值化:如果邻域像素的灰度值大于或等于中心像素的灰度值,则标记为 1;否则标记为 0。 生成编码:按顺序(例如顺时针)将这些 0 和 1 排列成一个二进制数串。 转换为十进制:将这个二进制数转换为一个十进制数,这个值就是该中心像素的LBP编码值。 **举例说明:**假设有一个3x3的区域,中心点灰度值为50,周围8个点的灰度值为 [55, 40, 60, 45, 50, 65, 35, 70]。比较后得到的二进制序列为:1, 0, 1, 0, 1, 1, 0, 1。将这个二进制数 10101101 转换为十进制,就是173。这个173就是这个中心点的LBP纹理值。 ...

October 17, 2025 · 1 min · 113 words · Bob

minIoC

常用注解结构 当前IOC容器设计结构 可以看到分为了注解、核心、包扫描器3部分。 注解部分最基础的bean注解我们实现了Component,3层架构中的注解我们实现了Controller,Service,Repository,这3者均“继承”了Component(其实是在其注解定义中加入了注解@Component). 待补充:Autowired,Qualifier,Scope BeanDefinition 核心部分,我们先介绍BeanDefinition,该类作为Bean元数据类,主要包含4个属性:用于反射类型,用于实例化的对象名,是否单例(2个属性用于描述)。 那么为何使用两个属性来表示是否单例? reply: 无需多余的字符串比较,可直接由其中一个字段的bool值直接得到是否单例。这在判断性能上提升多倍。 @Data @NoArgsConstructor @AllArgsConstructor public class BeanDefinition { private Class<?> beanClass; // Bean的Class对象(用于反射创建实例) private String beanName; // Bean的唯一标识符 private String scope; // 作用域(singleton/prototype) private boolean singleton; // 是否单例的快速标志位 } 两个字段表示是否单例,也带来了新问题:我们设置信息时需要保证二者的一致性 public void setScope(String scope) { this.scope = scope; this.singleton = "singleton".equals(scope); // 自动同步 } public void setSingleton(boolean singleton) { this.singleton = singleton; this.scope = singleton ? "singleton" : "prototype"; // 自动同步 } 构造器方面,我们提供2个不同参数的构造器,区别是后者可以传入scope(即是否单例) ...

October 12, 2025 · 4 min · 731 words · Bob

机器学习的概统基础-01

基础知识补充: 期望 期望值,是指无限次重复一个随机实验,所能得到的长期平均结果。它是所有可能结果的概率加权和。 计算方法:每个可能的结果乘以其发生的概率,然后将所有乘积相加。 E(X)=∑[xi​⋅P(X=xi​)] (对于连续型变量,使用积分) 联系By大数定律 平均值和期望值通过大数定律 被深刻地联系在一起。 大数定律指出:当试验次数(样本容量 n)足够大时,样本的平均值 xˉ 会无限接近总体的期望值 E(X)。 这就像在掷骰子的例子中,你掷的次数越多,你的平均点数就越接近理论期望值3.5。 通过例子区分平均值和期望:平均值是对已经发生的数据的概括,而期望值是对未来可能性的预测 方差 方差 是衡量随机变量与其平均值(期望值)的偏离程度的量。它描述了数据的离散程度。 计算公式:对于一个随机变量 X,其方差 Var(X) 定义为: Var(X)=E[(X−E[X])2] 直观理解: 方差大:数据点散布得很开,远离均值。不确定性高。 方差小:数据点紧密地聚集在均值周围。不确定性低。 中心极限定理 中心极限定理描述的是样本平均值分布 正态分布 正态分布描述的是数据在其平均值附近波动 正态分布的期望为 μ 区别方差和标准差 后者反应了数据在平均值上下的波动范围,前者由于是后者的平方,更多的是反映数据的分散程度,方差越大,数据越分散。 条件期望 普通期望(无条件期望):E[y] 这是随机变量 y 的全局平均值。它回答的问题是:“在所有可能的情况下,y 平均来看是多少?” 例子:E[身高] = 全体中国成年男性的平均身高(比如175cm)。它不考虑任何其他信息。 条件期望:E[y | x] 这是在给定某些已知信息 x 的情况下,y 的条件平均值。它回答的问题是:“当我们知道了某个信息 x 后,y 平均来看是多少?” 例子:E[身高 | 年龄=10岁] = 已知一个男性年龄是10岁时,他的平均身高(比如140cm)。 核心思想:条件期望让我们能够根据已知信息,做出更精确、更“有条件”的预测。 条件期望随着条件的变化而变化: E[房价 | 面积=50平米] = 可能是 300万(小房子更便宜)。 ...

October 7, 2025 · 1 min · 164 words · Bob

大模型作业-本地部署deepseek-构建本地知识库

使用以下技术栈,部署本地LLM 应用框架:Dify(Docker版) 本地大模型:Ollama部署deepseek,嵌入模型:BGEM3 文档处理:Dify内置文本分割与向量化 Dify是什么? 相当于免编程的简单AI助手开发框架 Dify的缺点:大规模系统,性能要求过高(算法、延迟),资源受限(嵌入式、边缘计算),高度定制化 向量数据库:语义相似度检索 通过比对向量的"距离",也就是相似度进行检索。 每个数据数据(语句)中的词都对应一个已经生成的向量,然后再通过一系列复杂操作生成该句子的向量,在数据库中检索"距离"更近的向量 余弦相似度只关心方向,不关心长度。 测试问题 简单事实查询(测试基础检索) “什么是人工智能?” 多文档信息整合(测试跨文档能力) “RAG是什么意思?” 推理受限or出错(测试推理能力) 我把手机放在一本打开的书下面,然后合上了书。手机现在在哪里? 太阳什么时候时候从西边升起? 测试长文本细节丢失 问题1:“星穹项目的总负责人和预算是多少?” 模型可能回答: “总负责人是张三,预算为500万元。” 分析: 这两个信息都位于文档的开头部分。模型的注意力机制在开始时最为集中,因此很容易捕获并记住这些信息。此时没有细节丢失。 问题2(综合性问题,考验长距离信息整合):“请总结一下项目中需要与其他部门或外部供应商协作的关键点。” 模型理想答案应包含: 与风控部的李四合作解决金融模型偏差。(少了这个!!!!!!) 与王五的团队协作进行音频模块集成。 依赖外部供应商 “天眼”数据源的API服务。 模型可能回答(整合失败): “项目需要与王五的团队合作,并且依赖‘天眼’数据源。” 分析: 模型丢失了位于文档中部的“风控部李四” 这一关键协作方。因为它无法同时将文档开头、中部、末尾的稀疏信息点有效地关联和整合在一起。它只能抓取到最容易记住的(末尾的)和可能还记得的(开头附近的)信息,而中间部分的信息已经“蒸发”了。 测试全过程体现统计响应速度受限 本次部署所用的本地部署LLM流程总结和排错指南可以点击以下链接下载 本地部署LLM流程总结 排错指南

October 5, 2025 · 1 min · 40 words · Bob

就业要求分析

To be or not to be … That is a question 后端开发/研发方向 滴滴公司 携程 阿里云 大模型-AI 京东 先深入理解机器学习算法的理论基础,然后学习使用一个或多个主流的机器学习框架来动手实践,将理论应用于解决实际问题。 阿里云 GO other way 车企风华 Tesla 算法工程师,CV方向-上海 The Role Tesla’s Data Algorithms team is at the forefront of industrial intelligence R&D. Through our self-developed data and algorithm platform, we empower critical business areas such as manufacturing, supply chain, sales, service, and charging networks, transforming massive data into high-value assets that drive better products and enhanced user experiences. ...

September 26, 2025 · 3 min · 430 words · Bob

练习使用MybatisPlus

基础使用 使用步骤 引入依赖 自己的mapper接口继承BaseMapper 我们可以看到(下图)baseMapper有着一系列的基础数据库操作 实体类配置 MybatisPlus通过以下实现CRUD数据库表信息 •默认以类名驼峰转下划线作为表名 •默认把名为id的字段作为主键 •默认把变量名驼峰转下划线作为表的字段名 MybatisPlus的常用注解: •@TableName:指定表名称及全局配置 •@TableId:指定id字段及相关配置 •@TableField:指定普通字段及相关配置 @TableField的常见场景: •成员变量名与数据库字段名不一致 •成员变量名以is开头,且是布尔值 •成员变量名与数据库关键字冲突 •成员变量不是数据库字段 yaml配置 mybatis-plus: #注册别名后,就不用在xml中写全路径名称了 type-aliases-package: com.itheima.mp.domain.po # 其它很多配置都不用配置,使用默认值即可 mybatisPlus不仅实现了一些基础的单表查询mapper,甚至提供了service接口,借助该接口能够完成一些基础业务 IService 通过一个接口和一个实现类来协调完成这些基础功能的实现 扩展插件 逻辑删除 直接再yaml中配置,配置完成后,原来删除方法如,deleteById,就会执行逻辑删除 mybatis-plus: global-config: db-config: # 逻辑删除字段名(在数据表中的) logic-delete-field: deleted # 逻辑已删除值(默认为 1) logic-delete-value: 1 # 逻辑未删除值(默认为 0) logic-not-delete-value: 0 JSON处理器 能够将数据库中存储的json数据,解析为对象 步骤:1.注入字段使用注解;2.创建实体类 @Data @TableName(value = "user", autoResultMap = true) public class User { ... /** * 详细信息 */ @TableField(typeHandler = JacksonTypeHandler.class) private Map<String, Object> info; ... } @Data @AllArgsConstructor(staticName = "of") //便于静态构造创建对象 @NoArgsConstructor public class UserInfo { private Integer age; private String intro; private String gender; } 分页插件 单独的分页插件依赖 ...

September 18, 2025 · 1 min · 139 words · Bob

信息安全-course-1

前言:信息安全=技术+管理 信息安全不止于数字信息,还包含实体信息; 信息安全,不仅要求能够防患未然,而且在问题发生时要求能够处理。 信息安全三元素:CIA,额外的三个元素AAA 什么是Hash? Hash 用于防篡改,用于做快照,通过hash算法生成指定长度的唯一串。eg: 通过爬取网页内容生成hash,来判断网站内容是否更新 //这里了解一下相关的hash算法 非对称加密: 两种情况:1.用公钥加密 2.用私钥进行签名 用途:前者是为了对内容本身进行加密,后者是为了进行数字签名(目的是防止内容本身被篡改) 过程: 使用公钥(对内容加密):发送方使用公钥对内容加密后,接收方使用发送方的私钥进行解密。 使用私钥(对内容进行签名): 发送方:先对内容进行Hash(目的是生成固定长度的串),再通过私钥进行数字签名,将得到的签名值附在内容的尾部 接收方:使用公钥对签名进行处理,得到原始的内容Hash, 同时对内容生成hash,比对二者是否相等,最终判断内容是否被篡改 新时期,新风险:大算力暴力破解加密信息,在信息失去时效性前得到明文。 以下是AI扩展内容 信息安全导论:核心概念与基础技术 前言:信息安全是一个涵盖广泛的领域,其有效性建立在技术与管理的紧密结合之上。它不仅关乎数字信息的安全,也包含实体信息(如纸质文件、设备)的保护。一个健全的信息安全体系不仅要能防患于未然,还必须在安全事件发生时具备有效的响应与处理能力。 信息安全的核心基石:CIA 三元组与 AAA 信息安全的目標通常围绕三个核心原则,即 CIA 三元组: 保密性 (Confidentiality):确保信息不被未授权的用户、实体或进程访问或泄露。 完整性 (Integrity):保护数据免受未授权的篡改或破坏,确保数据的准确性和可靠性。 可用性 (Availability):确保授权用户在需要时可以可靠地访问信息和相关资产。 此外,还有三个至关重要的支撑性元素,常被称为 AAA: 认证 (Authentication):验证用户、系统或实体的身份是否属实。(“你是你说的人吗?”) 授权 (Authorization):决定通过认证的主体拥有哪些访问权限和操作权限。(“你被允许做什么?”) 可审计性 (Accounting / Auditing):记录和审查用户及系统的活动日志,用于追踪、取证和合规性检查。(“你做了什么?”) 什么是哈希(Hash)? 哈希(Hash),或称散列,是一种将任意长度的输入(如消息、文件)通过哈希算法转换成固定长度、唯一(或近乎唯一)的输出串的函数。这个输出串称为哈希值或消息摘要。 核心特性: 确定性:相同的输入永远产生相同的哈希值。 快速计算:能快速计算出任意输入的哈希值。 单向性:从哈希值极难(在计算上不可行)反推出原始输入。 抗碰撞性:极难找到两个不同的输入得到相同的哈希值。 雪崩效应:输入的微小变化会导致哈希值发生巨大且不可预测的变化。 用途: 防篡改:正如您笔记中所说,这是哈希最主要的用途之一。例如,软件下载站会提供文件的哈希值。用户下载文件后可以自行计算其哈希值并与官网提供的进行比对,若不一致,则说明文件可能在传输过程中被篡改或损坏。 快照与验证:用于检测数据变化。您的例子非常贴切:爬虫程序定期对网页内容生成哈希并存储。下一次爬取时,只需计算新内容的哈希并与旧值对比,即可高效判断网页内容是否更新,而无需比对整个网页内容。 密码存储:系统通常不直接存储用户密码明文,而是存储其哈希值。用户登录时,系统对输入的密码再次进行哈希计算,并与存储的哈希值比对。这样即使数据库泄露,攻击者也无法直接获得用户的明文密码。 区块链与数字货币:构成了区块链技术的基石,用于连接区块和保证交易记录的不可篡改性。 常见哈希算法: MD5:产生128位哈希值。因其抗碰撞性已被攻破,不再推荐用于安全目的,但仍可用于简单的完整性校验。 SHA-1:产生160位哈希值。同样存在安全性弱点,已被大多数安全应用淘汰。 SHA-2 家族:包括 SHA-256、SHA-384、SHA-512 等,是目前广泛使用的安全哈希算法。 SHA-3:最新的哈希标准,设计上与SHA-2不同,提供了另一种选择。 非对称加密(公钥密码学) 非对称加密使用一对 mathematically related 的密钥:一个公钥 (Public Key) 和一个私钥 (Private Key)。公钥可以公开给任何人,而私钥必须由所有者严格保密。正如您所指出的,其应用主要分为两种情况: ...

September 8, 2025 · 1 min · 108 words · Bob

精简hugo文章发布操作

策略选取:powershell函数 之前情况:创建文章需要切换到hugo目录,再用hugo命令,发布网站则需要3个git命令。 改善之后:创建文章: np ‘文章名’ ; 发布网站: 一、创建文章: 1. 创建powershell配置文件 # 检查配置文件是否存在 Test-Path $PROFILE # 如果返回 False,创建配置文件 if (!(Test-Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force Write-Host "已创建 PowerShell 配置文件" -ForegroundColor Green } 2. 记事本打开文件并复制函数 # 用记事本打开配置文件 notepad $PROFILE PowerShell的函数 a.中文版:存在shell编码与函数编码不一致问题(前者中文编码,后者utf-8) function New-Post { param( [Parameter(Mandatory=$true)] [string]$Title ) # 保存当前目录 $currentLocation = Get-Location try { # 设置网站路径(!!!!!! hugo网站的根目录) $websitePath = "C:\Users\amebo\MyFreshWebsite" # 检查目录是否存在 if (-not (Test-Path $websitePath)) { Write-Host "错误:找不到目录 $websitePath" -ForegroundColor Red return } # 检查 Hugo 是否安装 if (-not (Get-Command hugo -ErrorAction SilentlyContinue)) { Write-Host "错误:未找到 hugo 命令" -ForegroundColor Red return } # 切换到网站目录并创建文章(!!!!核心操作:创建md) Set-Location $websitePath Write-Host "正在创建文章: $Title..." -ForegroundColor Yellow hugo new "posts/$Title.md" if ($LASTEXITCODE -eq 0) { Write-Host "成功创建文章:posts/$Title.md" -ForegroundColor Green } else { Write-Host "创建文章失败" -ForegroundColor Red } } finally { # 返回原始目录 Set-Location $currentLocation } } # 设置别名 Set-Alias -Name newpost -Value New-Post Set-Alias -Name np -Value New-Post Write-Host "New-Post 函数已加载!使用方法: np `"文章名称`"" -ForegroundColor Green b. 英文版:不存在编码问题 # 1. 创建英文版本的函数内容 $englishContent = @' function New-Post { param( [Parameter(Mandatory=$true)] [string]$Title ) $current = Get-Location $websitePath = "C:\Users\amebo\MyFreshWebsite" if (-not (Test-Path $websitePath)) { Write-Host "Error: Directory not found" -ForegroundColor Red return } if (-not (Get-Command hugo -ErrorAction SilentlyContinue)) { Write-Host "Error: hugo not found" -ForegroundColor Red return } Set-Location $websitePath Write-Host "Creating post: $Title..." -ForegroundColor Yellow hugo new "posts/$Title.md" if ($LASTEXITCODE -eq 0) { Write-Host "Success: posts/$Title.md created" -ForegroundColor Green } else { Write-Host "Failed to create post" -ForegroundColor Red } Set-Location $current } Set-Alias np New-Post Set-Alias newpost New-Post Write-Host "New-Post function loaded. Use: np `"PostTitle`"" -ForegroundColor Green '@ # 2. 保存到配置文件(使用ASCII编码) $englishContent | Out-File -FilePath $PROFILE -Encoding ASCII # 3. 重新加载配置文件 . $PROFILE 效果: ...

September 2, 2025 · 2 min · 367 words · Bob

HOW TO INTEREST PEOPLE

Everyone who was ever a guest of Theodore Roosevelt was astonished at the range and diversity of his knowledge. Whether his visitor was a cowboy or a Rough Rider, a New York politician or a diplomat, Roosevelt knew what to say. And how was it done? The answer was simple. Whenever Roosevelt expected a visitor, he sat up late the night before, reading up on the subject in which he knew his guest was particularly interested. For Roosevelt knew, as all leaders know, that the royal road to a person’s heart is to talk about the things he or she treasures most. The genial William Lyon Phelps, essayist and professor of literature at Yale, learned this lesson early in life. “When I was eight years old and was spending a weekend visiting my Aunt Libby Linsley at her home in Stratford on the Housatonic,” he wrote in his essay on Human Nature, “a middle-aged man called one evening, and after a polite skirmish with my aunt, he devoted his attention to me. At that time, I happened to be excited about boats, and the visitor discussed the subject in a way that seemed to me particularly interesting. After he left, I spoke of him with enthusiasm. What a man! My aunt informed me he was a New York lawyer, that he cared nothing whatever about boats—that he took not the slightest interest in the subject. ‘But why then did he talk all the time about boats?’ “‘Because he is a gentleman. He saw you were interested in boats, and he talked about the things he knew would interest and please you. He made himself agreeable.’” And William Lyon Phelps added, “I never forgot my aunt’s remark.” As I write this chapter, I have before me a letter from Edward L. Chalif, who was active in Boy Scout work. “One day I found I needed a favor,” wrote Mr. Chalif. “A big Scout jamboree was coming off in Europe, and I wanted the president of one of the largest corporations in America to pay the expenses of one of my boys for the trip. “Fortunately, just before I went to see this man, I heard that he had drawn a check for a million dollars, and that after it was canceled, he had had it framed. “So the first thing I did when I entered his office was to ask to see the check. A check for a million dollars! I told him I never knew that anybody had ever written such a check, and that I wanted to tell my boys that I had actually seen a check for a million dollars. He gladly showed it to me; I admired it and asked him to tell me all about how it happened to be drawn.” You notice, don’t you, that Mr. Chalif didn’t begin by talking about the Boy Scouts, or the jamboree in Europe, or what it was he wanted? He talked in terms of what interested the other man. Here’s the result: “Presently, the man I was interviewing said, ‘Oh, by the way, what was it you wanted to see me about?’ So I told him. “To my vast surprise,” Mr. Chalif continues, “he not only granted immediately what I asked for, but much more. I had asked him to send only one boy to Europe, but he sent five boys and myself, gave me a letter of credit for a thousand dollars and told us to stay in Europe for seven weeks. He also gave me letters of introduction to his branch presidents, putting them at our service, and he himself met us in Paris and showed us the town. ...

July 15, 2025 · 7 min · 1393 words · Bob

理解AI开发的博客程序

Docker 配置数据源和中间件 docker-compose up -d mysql redis 命令组成: docker-compose:调用容器编排工具 up:核心操作指令,会根据配置文件创建/重建容器 -d:表示以分离模式(后台)运行‌ 执行流程: 首先检查当前目录下的docker-compose.yml文件 创建所需的网络和存储卷 按依赖顺序启动MySQL和Redis容器‌ docker exec bs-blog-mysql mysqladmin ping -h localhost -u root -p123456 命令结构: docker exec:在运行中的容器内执行命令 bs-blog-mysql:目标容器名称 mysqladmin ping:MySQL管理工具的健康检查指令 -h localhost:指定连接本地MySQL实例 -u root:使用root账户连接 -p123456:指定数据库密码 预期响应: 若服务正常会返回 mysqld is alive 若连接失败可能返回 Access denied 或连接超时错误

1 min · 45 words · Bob
微信二维码

扫一扫,加我微信