【图像分割和识别】活动形状模型 (ASM) 和活动外观模型 (AAM)(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码实现
💥1 概述
提出了一种主动形状模型分割方案,该方案由最优局部特征引导,与原始公式中的归一阶导数轮廓相反[Cootes and Taylor, 1995, 1999, and 2001]。使用非线性 kNN 分类器代替线性马氏距离来查找地标的最佳位移。对于描述形状的每个地标,在分割优化过程中考虑的每个分辨率级别上,将确定一组不同的最佳特征。特征的选择是自动的,使用训练图像和顺序特征向前和向后选择。新方法在合成数据和四个医学分割任务中进行了测试:在包含230张胸片的数据库中分割左右肺野,并在MRI脑图像的90个切片数据库中分割小脑和胼胝体。在所有情况下,新方法在重叠误差测量(使用配对 T 检验时为 p<0.001)方面产生的结果明显优于原始活动形状模型方案。
这是Cootes和Taylor引入的基本活动形状模型(ASM)和活动外观模型(AAM)的一个例子,具有多分辨率方法,彩色图像支持和改进的边缘查找方法的2D和3D。对于生物医学对象的自动分割和识别非常有用。
.
基本思想 ASM:
ASM 模型是根据训练图像中手动绘制的轮廓(3D 表面)训练的。ASM 模型使用主成分分析 (PCA) 查找训练数据中的主要变化,这使模型能够自动识别轮廓是否为可能/良好的对象轮廓。此外,ASM模式还包含描述垂直于控制点的线纹理的矩阵,这些矩阵用于校正搜索步骤中的位置。
创建 ASM 模型后,通过查找控制点的最佳纹理匹配来变形初始轮廓。这是一个迭代过程,其中控制点的移动受到 ASM 模型从训练数据中识别为“正常”对象轮廓的限制。
.
基本思想AAM:
PCA用于查找训练数据的平均形状和平均形状的主要变化。找到形状模型后,所有训练数据对象都变形为主形状,并将像素转换为矢量。然后使用 PCA 来查找训练集中的平均外观(强度)和外观方差。
形状和外观模型都与 PCA 合并为一个 AAM 模型。
通过用已知量替换训练集中的参数,可以创建一个模型,该模型针对模型强度和正常图像强度的一定差异提供最佳参数更新。此模型用于搜索阶段。
参考文献:
- Ginneken B. et al. “Active Shape Model Segmentation with Optimal Features”, IEEE Transactions on Medical Imaging 2002.
- T.F. Cootes, G.J Edwards, and C,J. Taylor“Active Appearance Models”, Proc. European Conference on Computer Vision 1998
- T.F. Cootes, G.J Edwards, and C,J. Taylor “Active Appearance Models”, IEEE Transactions on Pattern Analysis and Machine Intelligence 2001
📚2 运行结果






部分代码:
%Add functions path to matlab search path
functionname='AAM_2D_example.m'; functiondir=which(functionname);
functiondir=functiondir(1:end-length(functionname));
addpath([functiondir 'AAM Functions'])
addpath([functiondir 'Functions'])
addpath([functiondir 'PieceWiseLinearWarp_version2'])
addpath([functiondir 'PieceWiseLinearWarp_version2/functions'])
% Try to compile c-files
cd([functiondir 'PieceWiseLinearWarp_version2/functions'])
try
mex('warp_triangle_double.c','image_interpolation.c');
catch ME
disp('compile c-files failed: example will be slow');
end
cd(functiondir);
%% Set options
% Number of contour points interpolated between the major landmarks.
options.ni=20;
% Set normal appearance/contour, limit to +- m*sqrt( eigenvalue )
options.m=3;
% Size of appearance texture as amount of orignal image
options.texturesize=1;
% If verbose is true all debug images will be shown.
options.verbose=true;
% Number of image scales
options.nscales=4;
% Number of search itterations
options.nsearch=15;
%% Load training data
% First Load the Hand Training DataSets (Contour and Image)
% The LoadDataSetNiceContour, not only reads the contour points, but
% also resamples them to get a nice uniform spacing, between the important
% landmark contour points.
TrainingData=struct;
for i=1:10
is=num2str(i); number = '000'; number(end-length(is)+1:end)=is;
filename=['Fotos/train' number '.mat'];
[TrainingData(i).Vertices, TrainingData(i).Lines]=LoadDataSetNiceContour(filename,options.ni,options.verbose);
filename=['Fotos/train' number '.jpg'];
I=im2double(imread(filename));
if(options.verbose)
Vertices=TrainingData(i).Vertices;
Lines=TrainingData(i).Lines;
t=mod(i-1,4); if(t==0), figure; end
subplot(2,2,t+1), imshow(I); hold on;
P1=Vertices(Lines(:,1),:); P2=Vertices(Lines(:,2),:);
plot([P1(:,2) P2(:,2)]',[P1(:,1) P2(:,1)]','b');
drawnow;
end
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
- Ginneken B. et al. “Active Shape Model Segmentation with Optimal Features”, IEEE Transactions on Medical Imaging 2002.
- T.F. Cootes, G.J Edwards, and C,J. Taylor“Active Appearance Models”, Proc. European Conference on Computer Vision 1998
- T.F. Cootes, G.J Edwards, and C,J. Taylor “Active Appearance Models”, IEEE Transactions on Pattern Analysis and Machine Intelligence 2001
🌈4 Matlab代码实现
相关文章:
【图像分割和识别】活动形状模型 (ASM) 和活动外观模型 (AAM)(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
HTML基础介绍2
表单格式化 ctrld:复制选中行数的所有代码 ctrlx:删除代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>表单综合案例</title> </head> <body> <!--…...
rar压缩包怎么改成zip格式
不知道大家有没有遇到需要转换压缩包格式的问题,今天想和大家分享rar压缩包改成zip格式的方法。 方法一: 直接修改rar压缩包的后缀名变为zip,就可以修改压缩包文件格式了 方法二: 先将rar压缩包解压出来,然后再将解…...
Mac 补丁管理
Mac 补丁管理涉及通过扫描收集所有缺失补丁的完整列表、下载缺失的补丁、在非生产计算机上测试它们,最后将它们推广到生产环境中进行部署来管理 macOS 端点,修补 Mac 设备(又称 Mac 修补)可增强 macOS 环境的安全级别。 什么是 m…...
【物理】带电粒子在磁场和电场中移动的 3D 轨迹研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
【云原生】K8S二进制搭建上篇
目录 一、环境部署1.1操作系统初始化 二、部署etcd集群2.1 准备签发证书环境在 master01 节点上操作在 node01与02 节点上操作 三、部署docker引擎四、部署 Master 组件4.1在 master01 节点上操 五、部署Worker Node组件 一、环境部署 集群IP组件k8s集群master01192.168.243.1…...
day49-Springboot
Springboot 1. Springboot简介 1.1 简介:Springboot来简化Spring应用开发的一个框架,约定大于配置 1.2 优点: 可以快速的构建独立运行的Spring项目; 框架内有Servlet容器,无需依赖外部,所以不需要达成w…...
Day 9 字符串
慢慢补。 Prefixes and Suffixes 水个代码先。 代码...
Promise用法
学习了promise之后,有点懂但让我说又说不出来,参考别人的记录一下。 1.什么是promise? 2.promise解决了什么问题 3.es6 promise语法 (1)then链式操作语法 (2)catch的语法 (3…...
JSP教程_编程入门自学教程_菜鸟教程-免费教程分享
教程简介 JSP(全称Java Server Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返…...
极简在线商城系统,支持docker一键部署
Hmart 给大家推荐一个简约自适应电子商城系统,针对虚拟商品在线发货,支持企业微信通知,支持docker一键部署,个人资质也可搭建。 前端 后端 H2 console 运行命令 docker run -d --name mall --restartalways -p 8080:8080 -e co…...
如何微调医疗大模型llm:llama2学习笔记
三个微调方向:简单医疗问答 临床问答 影像学 一般流程: 1 数据集准备 2 模型基座选择 3 微调 4 案例拆解 1 数据集准备:两种类型,一种文本一种影像 扩展,多模态 2 模型基座选择 多模态处理所有视频,文本…...
生成对抗网络DCGAN学习
在AI内容生成领域,有三种常见的AI模型技术:GAN、VAE、Diffusion。其中,Diffusion是较新的技术,相关资料较为稀缺。VAE通常更多用于压缩任务,而GAN由于其问世较早,相关的开源项目和科普文章也更加全面&#…...
error: #5: cannot open source input file “core_cmInstr.h“
GD32F103VET6和STM32F103VET6引脚兼容。 GD32F103VET6工程模板需要包含头文件:core_cmInstr.h和core_cmFunc.h,这个和STM32F103还是有区别的,否则会报错,如下: error: #5: cannot open source input file "core…...
FastAPI 教程、结合vue实现前后端分离
英文版文档:https://fastapi.tiangolo.com/ 中文版文档:https://fastapi.tiangolo.com/zh/ 1、FastAPI 教程 简 介 FastAPI 和 Sanic 类似,都是 Python 中的异步 web 框架。相比 Sanic,FastAPI 更加的成熟、社区也更加的活跃。 …...
算法通关村第四关——如何基于数组(链表)实现栈
栈的基础知识 栈的特征 特征1 栈和队列是比较特殊的线性表,又被称为 访问受限的线性表。栈是很多表达式、符号等运算的基础,也是递归的底层实现(递归就是方法自己调用自己,在JVM的虚拟机栈中,一个线程中的栈帧就是…...
Postgresql警告日志的配置
文章目录 1.postgresql与日志有关的参数2.开启日志3.指定日志目录4.設置文件名format5.設置日志文件產出模式6.設置日志记录格式7.日誌輪換7.1非截斷式輪換7.2 截斷式輪換 8.日誌記錄內容8.1 log_statement8.2 log_min_duration_statement 9 輸出範本 1.postgresql与日志有关的…...
Java、JSAPI、 ssm架构 微信支付demo
1.前端 index.html <%page import"com.tenpay.configure.WxPayConfig"%> <% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-8"%> <html><style>#fukuan{font-size: 50px;marg…...
MongoDB文档--基本安装-linux安装(mongodb环境搭建)-docker安装(挂载数据卷)-以及详细版本对比
阿丹: 前面了解了mongodb的一些基本概念。本节文章对安装mongodb进行讲解以及汇总。 官网教程如下: 安装 MongoDB - MongoDB-CN-Manual 版本特性 下面是各个版本的选择请在安装以及选择版本的时候参考一下: MongoDB 2.x 版本:…...
tomcat限制IP访问
tomcat可以通过增加配置,来对来源ip进行限制,即只允许某些ip访问或禁止某些来源ip访问。 配置路径:server.xml 文件下 标签下。与同级 <Valve className"org.apache.catalina.valves.RemoteAddrValve" allow"192.168.x.x&…...
Shiro RememberMe反序列化漏洞深度解析与实战利用
1. 这个漏洞不是“老古董”,而是理解Java安全边界的活教材很多人看到CVE-2016-4437,第一反应是“Shiro都淘汰了,还讲这个干啥?”——我去年在给一家做政企内部系统的客户做渗透复测时,就遇到过一个上线三年的审批平台&…...
PA100K数据集实战:从下载到结构化解析全流程
1. PA100K数据集初探:为什么选择它?如果你正在研究行人属性识别,PA100K绝对是个绕不开的宝藏数据集。这个数据集包含了10万张真实监控场景下的行人图像,每张图都标注了26种常见属性——从衣着风格(比如是否穿T恤、裙子…...
SSH工具对比:新手用户和熟练运维,选型逻辑有什么不同
结论 新手用户和熟练运维在选择 SSH 工具时,关注点往往完全不同。 新手更在意的是:能不能顺利连接、界面是否直观、文件和配置是否容易找到、网站出问题时能不能快速定位。 而熟练运维更在意的是:连接效率、命令自由度、多服务器管理能力、原…...
放弃编码器!纯靠MPU6050和PID算法,手把手教你用TT马达实现平衡小车稳定控制(STM32F103C8T6实战)
纯MPU6050STM32F103的TT马达平衡车实战:无编码器PID控制全解析当大多数平衡小车方案都在强调编码器对速度反馈的不可或缺性时,我们决定挑战一个更极简的配置:仅用5美元的TT马达、9轴的MPU6050和STM32F103C8T6最小系统板,完全舍弃编…...
多智能体谈判系统:Agent 如何通过博弈达成最优交易价格?
多智能体谈判系统:Agent 如何通过博弈达成最优交易价格?关键词 多智能体系统、自动谈判、博弈论、纳什均衡、帕累托最优、双边/多边谈判、强化学习谈判、动态定价 摘要 想象一个没有人类中介的世界:电商平台上的智能客服自动和批发商砍价、供…...
基于MAX78000的离线鸟类声音识别:边缘AI从数据到部署全流程解析
1. 项目概述:当边缘AI“听懂”鸟鸣在野外生态监测或自家后院观鸟时,你是否有过这样的经历:听到一阵清脆或婉转的鸟鸣,却完全不知道是哪位“歌唱家”在表演?传统的鸟类识别依赖专家经验和图鉴比对,不仅门槛高…...
基于随机森林的低成本传感器机器学习校准实践指南
1. 项目概述:当低成本传感器遇上机器学习校准在物联网和智能感知系统铺天盖地的今天,低成本传感器几乎无处不在。从监测办公室的空气质量,到追踪城市街道的噪音污染,再到农业大棚里的温湿度控制,这些价格亲民的“小眼睛…...
3分钟掌握JetBrains IDE试用期重置:终极完整指南
3分钟掌握JetBrains IDE试用期重置:终极完整指南 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter JetBrains IDE试用期重置工具(ide-eval-resetter)是一个开源项目,专…...
多模型聚合平台如何助力网站AIB测试与选型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 多模型聚合平台如何助力网站AIB测试与选型 对于网站产品经理而言,首页文案的生成质量直接影响用户的第一印象和转化率。…...
Java项目中如何提升整体系统性能?
性能优化可以说是我们程序员的必修课,如果你想要跳出CRUD的苦海,成为一个更“高级”的程序员的话,性能优化这一关你是无论无何都要去面对的。为了提升系统性能,开发人员可以从系统的各个角度和层次对系统进行优化。除了最常见的代…...

