详解SaaS产品的5类核心指标-程序员宅基地

技术标签: 数据分析  java  人工智能  编程语言  大数据  

354acb35fdc024ee7849645d319cfce8.gif

导读:在SaaS的经营中,对数据的整理和分析可以帮助我们有效地了解企业经营现状和可能存在的发展机遇。对于企业的不同角色和不同发展阶段,其需要关注的数据指标会有所不同。下面我将根据自己多年从事SaaS产品设计的经验,介绍SaaS常见的5类核心指标。

作者:胡文语

来源:大数据DT(ID:hzdashuju)

fb0bc005c2ffd46e0aaaf23eb010b978.png

01 经常性收入

1. 什么是MRR/ARR

经常性收入(Recurring Revenue)是未来持续可获得的收入,就SaaS而言,经常性收入来自客户的持续订阅,具有稳定、可预测、高度确定的特点。通过统计MRR/ARR可以清晰地呈现业绩状况和收入变化。

在SaaS业务中,通常按月或按年签订合同。

  • 对于按月签订合同及少量的年度合同,采用MRR(Month Recurring Revenue,月度经常性收入)。MRR用于衡量每月订阅收入,如果包含了一些年度订阅收入,先除以12,再分摊到每月来计算MRR。

  • 按年合同及少量的多年合同,采用ARR(Annual Recurring Revenue,年度经常性收入)。多年合同除以合同年限,再分摊到每年来计算ARR。

在MRR/ARR统计中,并不会计算一次性收入,例如定制的功能费用。

2. 如何计算MRR

将每个客户每月支付的费用相加得出MRR,公式如下。

MRR=SUM(每位客户每月支付费用)

例如,当月共拥有2个客户,每个客户支付100元/月,那么MRR=100+100=200元。下个月又增加了1个客户,那么MRR=100+100+100=300元。

同时,我们也要注意套餐不同,月费不同的情况。

例如,当月拥有1个客户,支付100元/月,那么MRR=100元。在下个月,增加了1个客户,订阅1000元/年(ARR),那么相当于83元/月(MRR),虽然2个客户的总收款为1100元,但MRR=100+83=183元。

3. MoM MRR增长率

MoM MRR增长率(MoM MRR Growth Rate)是按月计算MRR增长率,用于衡量SaaS业务增长速度、市场吸引力和业务扩展情况的指标,公式如下。

MRR增长率=(MRRt-MRRt-1)÷MRRt-1×100%

例如,上个月产生了1000元的MRR,本月产生了2000元的MRR,我们的MRR增长率=(2000-1000)÷1000×100%=100%

4. 净新增MRR

通过拆解MRR的各个组成部分,帮助我们了解到具体业务收入进和出的状况,以及导致MRR波动的原因。MRR主要包括如下内容。

  • 新增MRR:新客户产生的MRR。

  • 扩展MRR:对现有客户向上销售或交叉销售所增加的MRR。

  • 重新激活MRR:老客户重新使用其订阅的MRR。

  • 客户流失MRR:客户取消订阅后的MRR。

  • 客户收缩MRR:客户降低订阅后的MRR。

利用以上信息,我们可以计算净新增MRR(Net New MRR),公式如下,示意图如图1所示。

净新增MRR=(新增MRR+扩展MRR+重新激活MRR)-(客户流失MRR+客户收缩MRR)

例如,当月产生了1000元的新MRR,又产生了1000元的向上销售收入,由于客户流失而损失了500元MRR,那么我们的净新增MRR=1000+1000-500=1500元。

36771381991833c468ab108d1596276f.png

▲图1 净新增MRR

5. 确认收入

确认收入(Revenue Recognition)是非常重要的财务知识,在SaaS业务中,确认收入与合同金额(Bookings)、收款金额(Billings)有很大的区别。

例如,按年收费的SaaS产品,年费1200元,那么:

  • 合同金额是1200元;

  • 客户一次性支付年费,收款金额是1200元;

  • 在合同期间的每个月确认收入为1200÷12=100元。剩下的[1200-(月数×100)]为递延收益;

  • 对于企业资产负债表而言,剩下11个月的1100元均为负债。因为服务还未完成,还需要投入11个月资源履行服务义务。因为合同可能发生中止的情况,所以还不是确定的收入,需要通过后期的确认收入(损益表中的利润)来减少资产负债表上的负债。

02 客户终生价值

1. 什么是LTV

LTV(Customer Lifetime Value)又称为CLTV或CLV,代表客户生命周期的财务价值,即单个客户在整个使用期间内所支付的费用,如图2所示。通过跟踪LTV可以帮助我们评估SaaS业务的健康状况,以及做出对业务发展而言更有可持续性帮助的决策。

bafd218a16466b4179a1bec4f5e2a549.png

▲图2 客户生命周期价值

2. 如何计算LTV

要计算客户生命周期价值,我们需要知道以下3个变量,公式如下所示。

LTV=ARPA×毛利率×客户月留存时长

  • 每个账户平均收入ARPA(Average Revenue Per Account)。

  • 流失率(Cusmoter Churn Rate)。

  • 毛利率(Gross Margin)。

由于客户月留存时长=(1÷客户流失率),因此

LTV=ARPA×毛利率×(1÷客户流失率)=ARPA×毛利率÷客户流失率

例如,每个账户的平均收入为1000元,毛利率为80%,客户流失率为10%,那么客户终身价值LTV=1000×80%÷10%=8000元。

3. 如何使用LTV

  • 指导获客成本。客户终身价值可以指导我们应该花多少钱来获取客户,一般而言,LTV:CAC(获客成本)≥3被认为是一个健康的标准。

  • 确定高价值客户。将LTV按照不同的客户进行细分(规模、行业或其他维度),可以帮助我们确定最有价值的客户类型和画像特征。从而集中营销、销售、产品和支持等资源来吸引、赢得和留住这些客户。

4. 如何提高LTV

可以采用以下4种策略增加LTV。

  • 增加ARPA。有研究表明,向现有客户成功销售的可能性为60%~70%,而向新客户成功销售的可能性为5%~20%。基于现有客户的信任,可对其进行向上销售和交叉销售,以增加ARPA。

  • 减少流失。客户留存时间越长,支付的费用也就越多。与客户保持互动并建立良好的关系,以及不断完善、优化产品和服务,从而提高客户忠诚度。

  • 提供年费套餐。假如客户平均留存时间为8个月,可以通过优惠10%来吸引客户购买年费套餐,促使客户生命周期延长至12个月。

  • 提高毛利率。提高自动化投入,进而降低人力投入并获得规模化效益。

03 获客成本

1. 什么是CAC

CAC(Customer Acquisition Cost)指获取单个新客户所需要的成本。通过跟踪和统计CAC可以帮助我们分析和比较不同的渠道,以及确定当前的获客成本是否在SaaS可持续经营的合理范围内。

对于大多数B2B SaaS业务而言,CAC包括以下内容。

  • 产生销售线索的成本:营销和广告投放费用。

  • 转化为客户的成本:销售和相关支持成本。

2. 如何计算CAC

将给定时间段中的营销和销售支出总额相加除以新客户总数,公式如下。

CACt =总成本t÷获得的客户总数t

例如,一个月里在营销和销售上花费了50000元,并获得了50个新客户,则该月的客户获取成本CAC=50000÷50=1000元。

CAC存在两种不同的计算方式。

  • 混合CAC(Blended CAC):市场营销支出÷(付费客户+自然客户)。把付费渠道和天然渠道(包括口口相传、社交媒体、自然搜索)混在一起计算的CAC。

  • 付费CAC(Paid CAC):通过付费渠道获取的总成本÷客户。

混合CAC可以为我们提供业务的整体概况,查看付费CAC可以帮助我们确定哪些渠道有效,哪些渠道无效,以及对比各个渠道,图3所示是CAC可视化折线图。

2c33bb7ff4ed1d9b947950c60fe8e815.png

▲图3 CAC可视化折线图

3. LTV:CAC

LTV:CAC用于估算客户获取的投资回报率(ROI)。通常情况下,LTV:CAC≥3被行业认为是一个良好的指标,如图4所示。

78a6fe6354de637dc8ce6c37db24dd6a.png

▲图4 LTV:CAC比率

例如,客户的生命周期价值为3000元,而获客成本为1000元,则LTV:CAC=3:1。

4. CAC投资回收期

通过计算CAC投资回收期(CAC Payback Period)得知获利(未考虑后期维护成本的情况)需要等待的时长,即从客户身上获取收入需要多长时间才能抵消获客成本,公式如下。

CAC投资回收期=CAC÷(ARPA×毛利率)

例如,客户获取成本为1000元,每位客户平均每月收入为100元,毛利率为80%,那么CAC投资回收期为1000÷(100×80%)=12.5个月。

此外,CAC投资回收期≤12个月被认为是一个不错的指标,如图5所示。投资回收期越短,公司的现金流就越好,且还有助于减少因客户流失而沉没的获客投入。

de633339a3a9e235bc8d2ad0e7aa11b0.png

▲图5 CAC投资回收期≤12个月

5. 缩短CAC投资回收期

我们想要尽快实现盈利,就需要客户订阅收入尽可能快地超过获取成本(CAC),通常可以采取以下方式,实现这一目标。

  • 增加收入:最大化定价和套餐策略;与潜在客户建立良好关系,进而最快速的进行转化;专注客户上手(Onboarding),让意向客户尽早了解产品的价值进而付费订阅,让老客户不断深入使用,致使订阅更多或升级套餐,如图6所示。

165ef8def10c4323c87e6628ed380ab8.png

▲图6 增加收入

  • 降低获客成本:优化营销渠道,将钱投放到最佳回报率的渠道上;增加自然线索,例如优化SEO、口碑传播,如图7所示。

089ce74cb38a34be1571613478d28f38.png

▲图7 降低CAC

  • 增加向上销售和交叉销售的机会:引导客户向上升级高级套餐或通过交叉销售相关产品的方式增加客户的支出,如图8所示。

250fc9e024c70a251811e8b675cb83d8.png

▲图8 向上销售和交叉销售

04 平均客户收入

1. 什么是ARPA

ARPA(Average Revenue Per Account)指每个账户(客户)每月或每年产生的平均收入。用于衡量平均账户或客户的每月贡献。通过跟踪和统计ARPA可以帮助我们绘制出客户消费的变化情况,以及细分不同客户群体的价值。

2. 如何计算ARPA

计算ARPA即客户(付费用户)产生的每月经常性收入MRR除以当前月份的账户或客户总数,公式如下。

ARPA=MRR÷账户/客户总数t

例如,一家公司有1000个账户,每月产生100000元的收入。每个账户的平均收入ARPA=100000÷1000=100元。

使用账户数还是客户数进行计算,主要与收费模式是否和坐席数有关。如果有关,就可以使用具体的账户数量进行计算。

3. 如何使用ARPA

ARPA可以帮助我们预测和优化收入。例如通过跟踪对比新账户和现有账户的ARPA,可以帮助我们对营销策略、定价策略和产品策略调整效果的评估。随着时间的推移,ARPA的变化趋势也反映了产品/服务的溢价能力。

4. 如何提高ARPA

可以采用以下方法提高ARPA。

1)优化定价结构

  • 提高价格:调整产品价格是增加每位用户平均收入最明显、最直接的方法。

  • 可扩展的定价:随着客户业务的增长,需要客户不断升级套餐计划,例如套餐A允许储存1000个客户信息,套餐B允许储存10000个客户信息。

2)更多销售

  • 向上销售:通过提供不同功能或服务组合的套餐,引导客户升级,增加向上销售机会。

  • 交叉销售:提供套餐外的功能或者服务,提高交叉销售收入。

  • 捆绑销售:通过组合多个产品或功能组件进行销售,增加订阅金额。

3)扩展产品线

关注现有客户的需求,开发新功能或额外的服务来发展和进化产品,以进一步扩展市场,增加产品价值提高ARPU。例如,一家在线客服系统的应用,扩展智能客服和电话客服的服务。

4)关注高ARPA客户

并非所有的客户都是平等的,我们可以将更多的精力投入到高价值客户的身上。

05 流失

1. 什么是流失

流失(Churn)客户指在特定时间段内停止订阅服务的客户。对于依赖经常性收入的SaaS业务而言,跟踪流失客户可以评估业务的健康状况以及计算得出客户的生命周期价值。

常见的流失原因如下。

  • 客户无法看到/获取产品的价值。

  • 产品质量或功能不满足。

  • 服务不好。

  • 转向竞争对手。

  • 账户余额不足。

  • 客户业务关闭。

虽然所有的流失都意味着收入的损失,但对于因产品或服务有问题而造成的流失,我们需要着重对其进行完善和优化,以此来提高留存并获得更多的持续性收入。

在SaaS中有2种计算流失的角度。

  • 客户流失(Customer Churn):取消订阅的客户数量。

  • 收入流失(MRR/ARR Churn或Revenue Churn):取消订阅的收入损失。

2. 客户流失

计算客户流失率,需要先将给定时间段内停止订阅的客户数量相加,然后除以期初的客户总数,公式如下。

客户流失率=流失的客户数t÷客户总数t×100%

例如,在月初有20个付费客户,到了月末只有19个付费客户,那么当月的客户流失率为(20-19)÷20×100%=5%。

听起来合理的月度流失率,可能会造成非常严重的年均流失率,计算公式如下。

年客户流失率=[1-(1-月流失率)12]×100%

例如,月客户流失率5%,听上去并不高,将转化为全年客户流失率,却高达46%。

[1-(1-0.05)12]×100%≈46%

当我们将年客户流失率定为5%~7%时,意味着月流失率仅约为0.5%,即每200个客户流失1个客户。

6%≈[1-(1-0.005)12]×100%

通过上述公式,我们可以从单个月度流失率中提前计算得出年度可能流失率。当我们拥有12个月的数据时,就可以用以下公式更为确切地计算出全年实际客户流失率。

年客户流失率=[1-(1-m1)×(1-m2)×...×(1-m11)×(1-m12)]×100%

3. 收入流失

假如在当月有3个客户停止订阅服务,第一个客户原本支付10元/月,第二个客户原本支付50元/月,第三个客户原本支付100元/月。那么收入流失就是这些订阅费用的总和,即10+50+100=160元,收入流失公式如下。

MRR流失=SUM(流失客户的MRR)

收入流失率指流失收入占收入的百分比,计算公式如下。

MRR流失率=期间流失MRR÷期初MRR×100%

1)客户流失与收入流失

那为什么会有两种计算方式?

例如,我们的SaaS业务是按照坐席收费,50元/月。拥有200个客户,100个大客户(每个大客户拥有100个坐席),100个小客户(每个小客户拥有10个坐席)。

当月,我们流失了10个客户,那么月客户流失率为10÷200×100%=5%。

如果在流失的客户中,有8个是大客户,2个是小客户,那么MRR流失[(8×100)+(2×10)]×50=41000元,MRR流失率为41000÷550000×100%=7.45%。

如果在流失的客户中,有2个是大客户,8个是小客户,那么MRR流失[(2×100)+(8×10)]×50=14000元,MRR流失率为14000÷550000×100%=2.55%。

综上,通过不同的计算方式,使得我们可以更加全面、准确地了解到业务中所发生的事情。

2)总MRR流失

总MRR流失(Gross MRR Churn Rate)是由于客户取消订阅和降级而导致的经常性收入损失的百分比,反映了客户对产品的满意度以及企业是否吸引了合适的客户,计算公式如下。

总MRR流失率=[(降级MRR+取消MRR)÷(期初总MRR)]×100%

如果本月流失(取消订阅或套餐降级)的总MRR为200元,而总MRR(在月初计量)为10000元,则MRR总流失率为200÷10000×100%=2%。

3)净MRR流失率

净MRR流失率(Net MRR Churn Rate)是一段时期内现有客户取消和降级而损失的收入减去扩展(向上销售和交叉销售)收入后与期初MRR的百分比关系,公式如下。

净MRR流失率=(损失MRR-扩张MRR)÷期初总MRR×100%

例如,A公司的MRR为50000元,其中向上销售和交叉销售的收入为7000元,客户取消和降级损失了10000元,则净MRR流失率为(10000-7000)÷50000×100%=6%。

B公司的MRR为100000元,其中向上销售和交叉销售的收入为12000元,客户取消和降级损失了7000元,则净MRR流失率为(7000-12000)÷100000×100%=-5%。

当出现负流失时,意味着现有客户每月产生的额外收入大于取消和降级而损失的收入。要达到净MRR流失率为负值,可以采用以下措施。

  • 实施可扩展的定价模式,例如采用按坐席付费或者按调用次数付费的模式。

  • 向上销售,引导客户升级更高的套餐版本。

  • 交叉销售,引导客户购买额外的产品或服务。

  • 降低流失率,从而减少取消订阅对收入的影响。

4. 队列分析

队列本身不是一个指标,但非常重要。队列分析(Cohort Analysis)是一个可视化图表,用于绘制和比较每个队列的特定指标随时间的进展情况。

在SaaS中,我们会查看留存率随时间的变化趋势,并尝试找出导致高流失率的因素,从而改善客户留存情况。通常,我们基于时间进行队列分组,例如:

  • 2021年1月注册;

  • 2021年2月注册;

  • 2021年3月注册。

常见的队列分析以表格的形式呈现,具有以下几个特征,示例如图9所示。

  • 每行代表一组用户,队列的名称在第一列(例如2021年1月)。

  • 每列代表队列创建后的第几个月(第0个月是注册月份)。

  • 每个单元格中的值为相对于前一个月的流失率或留存率。

19b797b96fbab69ce6a71160ac434af0.png

▲图9 队列分析

队列分析可以帮助我们找到以下问题的答案。

  • 在客户生命周期的哪个阶段用户流失率最高。

  • 在什么时间段后流失会稳定下来。

针对流失率高的地方,例如第1个月和第2个月,采取适当的改善行动。然后查看和跟踪后面的队列在1个月和第2个月的流失情况,这样就可以从数据上直观地看出我们的行动是否产生了积极的影响。

本文里我们详细了解了SaaS常见的5类核心数据指标,这些数据指标可以帮助我们更好地了解SaaS企业的经营状况。而在企业经营里,客户转化是重中之重。如果您想要了解这部分内容,可以详细阅读胡文语老师的新作《SaaS攻略:入门、实战与进阶》

关于作者:胡文语,SaaS产品设计专家,从事SaaS产品设计6年,负责过上万家持续付费的SaaS产品设计,现任浙江快服集团云客服事业部产品设计总监。微信公众号“产品D”(ID:Int-PD)维护者。

本文摘编自《SaaS攻略:入门、实战与进阶》,经出版方授权发布。(ISBN:978-7-111-69781-7)

46f9b506af0c5ce186e359f837df477c.gif

延伸阅读

cad6008f76aeddd16d008c6d75d43f94.png

延伸阅读《SaaS攻略:入门、实战与进阶》

点击上图了解及购买

转载请联系微信:DoctorData

推荐语:这是一本能带领你零基础入门SaaS行业并迅速成长为SaaS专业人才的实战性著作。全书内容围绕SaaS客户的全生命周期展开,从SaaS的通识、获客、上手、留存4个维度帮助你快速构建完整的SaaS知识体系,涵盖SaaS的产品、运营、营销、销售、客户成功等多个主题,是SaaS领域从业者的案前攻略。

更多精彩回顾

书讯 | 2月书讯(下)| 新年到,新书到!

书讯 | 2月书讯 (上)| 新年到,新书到!

资讯 | Python迎来31岁生日,蝉联年度编程语言排行榜冠军

书单 | 成为优秀Java开发者,我看了这几本书

干货 |一文带你掌握计算机体系结构核心内容

资讯 |云原生时代,阿里如何让Java冷启动提速两个数量级?

赠书 | 【第94期】存储系统又慢又杂太难用?我们推荐这几本书帮你解决问题

ec0bca871996c50e04d26bd85dbf13db.gif

d9ac39f3680c730570489d6302852049.gif

点击阅读全文购买

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hzbooks/article/details/123516484

智能推荐

centos误删yum,重新安装yum的正确姿势_centos8 误删yum和dnf安装yum和dnf-程序员宅基地

文章浏览阅读3k次。1.针对误卸载yum卸载pythonrpm -qa|grep python|xargs rpm -e --allmatches --nodepswhereis python|xargs rm -fr2.卸载yumrpm -qa|grep yum|xargs rpm -e --allmatches --nodepswhereis yum|xargs rm -fr3.新建一个文..._centos8 误删yum和dnf安装yum和dnf

pynq 环境搭建_PYNQ系列学习(一): Pynq开发环境配置-程序员宅基地

文章浏览阅读913次。PYNQ项目是一个新的开源框架,使嵌入式编程人员在无需设计可编程逻辑电路的情况下充分发挥Xilinx Zynq All Programmable SoC(APSoC)的功能。与常规方式不同的是,通过PYNQ,用户可以使用Python进行APSoC编程,并且代码可直接在PYNQ-Z1上进行开发和测试。通过PYNQ,可编程逻辑电路将作为硬件库导入并通过其API进行编程,其方式与导入和编程软件库基本相同..._pynq 架构 仿真环境

api游戏编程鼠标选择拖动_如何选择合适的游戏鼠标-程序员宅基地

文章浏览阅读752次。api游戏编程鼠标选择拖动You don’t need a gaming mouse to play PC games—just about any mouse with two buttons and a wheel will play anythingyou want it to. But that’s no reason to deny yourself the wonderful var..._change your grip

数字图像字符识别——数字识别_2待识别字符图片-程序员宅基地

文章浏览阅读5.7w次,点赞42次,收藏291次。本文简单介绍图片字符识别的原理,主要识别图片中的数字,其他字符识别原理类似。大家应该知道,对于人类来说,可以很容易理解一张图片所表达的信息,这是人类视觉系统数万年演变进化的结果。但对于计算机这个诞生进化不到百年的 “新星”,要让它理解一张图像上的信息是一个复杂的过程。计算机理解图像是一个数字计算比较的过程。如图,我们一目了然的识别的图像中的数字,如何让计算机识别下图中的数字呢?环境:VS2015..._2待识别字符图片

HarmonyOS应用开发者基础认证 试题及答案_下面哪一个事件方法可以获取到list滑动的偏移量-程序员宅基地

文章浏览阅读308次。B. 通过"$r(‘app.type.name’)"的形式引用应用资源,app代表是应用内resources目录中定义的资源,type代表资源类型(或资源的存放位置)。11.在Column和Row容器组件中,justifyContent用于设置子组件在主轴方向上的对齐格式,alignItems用于设置子组件在交叉轴方向上的对齐格式。E. 属性方法:用于组件属性的配置,统一通过属性方法进行设置,如fontSize()、width()、height()、color() 等。_下面哪一个事件方法可以获取到list滑动的偏移量

ECCV 2022 旷视入选论文亮点解读(上)-程序员宅基地

文章浏览阅读1.5k次。近日,欧洲计算机视觉国际会议 ECCV 2022(European Conference on Computer Vision)发布了论文录用结果。本届 ECCV 2022论文有效投稿数5803篇,其中1650篇论文中选,录取率仅为28%。ECCV是国际顶尖的计算机视觉会议之一,每两年举行一次。今年将在10月23日-27日于以色列特拉维夫(Tel-Aviv)举行,并采取线..._kd-mvs: knowledge distillation based self-supervised learning for multi-view

随便推点

Qt之多线程(二)_qthreadstorage-程序员宅基地

文章浏览阅读8.7k次。1、QMutex QMutex类提供的是线程之间的访问顺序化 QMutex的目的是保护一个对象、数据结果或者代码实同一时间只有一个线程访问它们。(在Java术语中,它和同步关键字“synchronized”很相似)。一般最好使用QMutexLocker,它能确保锁定和解锁保持一致。例如,这里有一个方法打印给用户两条消息: void someMethod() {qDebug("Hello");qDebug("World"); } 如果同时在两个线程中调用这个_qthreadstorage

APUE编程:75---信号处理(SIGALRM信号处理:alarm、ualarm定时函数)_sigalrm如何停止定时-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏2次。一、alarm函数#include <unistd.h>unsigned int alarm(unsigned int seconds);功能:使用alarm函数可以设置一个时间值(闹钟时间),当执行到该函数之后开始计时,超时时产生SIGALRM信号。如果不忽略或不捕捉此信号,则其默认动作是终止该进程 参数: 定时秒数(以秒为单位) 如果秒为零,则取消任何挂起的警..._sigalrm如何停止定时

基于深度卷积神经网络的图像去噪方法_tnrd-程序员宅基地

文章浏览阅读6.7w次,点赞30次,收藏320次。基于深度卷积神经网络的图像去噪方法 摘要:图像去噪在图像处理中仍然是一个具有挑战性的问题。作者提出了一种基于深度卷积神经网络(DCNN)的图像去噪方法。作者设计的不同于其他基于学习的方法:一个DCNN来实现噪声图像。因此,通过从污染图像中分离噪声图像可以实现潜在清晰图像。在训练阶段,采用梯度裁剪方案来防止梯度爆炸,并使网络能够快速收敛。实验结果表明,与现有技术的去噪方法相比,所提出的去噪方法可以实..._tnrd

Jetbrains系列软件高版本闪退问题解决_uninstall silently-程序员宅基地

文章浏览阅读4.5k次。问题描述在安装了高版本的Jetbrains系列软件后,出现了闪退的情况,排查日志发现如下错误## A fatal error has been detected by the Java Runtime Environment:## EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffb30db99ac, pid=1948, tid=15720## JRE version: OpenJDK Runtime Environment JBR_uninstall silently

SVN提示https证书验证失败解决办法-程序员宅基地

文章浏览阅读1w次。技术分享之 《SVN提示https证书验证失败解决办法》——我要编程技术手册系列svn提交代码时报错,证书认证失败Commit failed with error0 files committed, 1 file failed to commit: 修改模糊查询svn: E170013: Commit failed (details follow):svn: E170013: ...

OpenCV中的inRange()_opencv inrange-程序员宅基地

文章浏览阅读3.4w次,点赞51次,收藏195次。【1】inRange()函数OpenCV中的inRange()函数可实现二值化功能(这点类似threshold()函数),更关键的是可以同时针对多通道进行操作,使用起来非常方便!主要是将在两个阈值内的像素值设置为白色(255),而不在阈值区间内的像素值设置为黑色(0),该功能类似于之间所讲的双阈值化操作。函数原型(C++): void inRange(InputArr..._opencv inrange

推荐文章

热门文章

相关标签