女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基礎積累:圖像分割損失函數最全面、最詳細總結,含代碼

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-15 00:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:SFXiang
首發:AI算法修煉營

這是一篇關于圖像分割損失函數的總結,具體包括:

Binary Cross Entropy

Weighted Cross Entropy

Balanced Cross Entropy

Dice Loss

Focal loss

Tversky loss

Focal Tversky loss

log-cosh dice loss (本文提出的新損失函數)

代碼地址:https://github.com/shruti-jadon/Semantic-Segmentation-Loss-Functions
項目推薦:https://github.com/JunMa11/SegLoss

圖像分割一直是一個活躍的研究領域,因為它有可能修復醫療領域的漏洞,并幫助大眾。在過去的5年里,各種論文提出了不同的目標損失函數,用于不同的情況下,如偏差數據,稀疏分割等。在本文中,總結了大多數廣泛用于圖像分割的損失函數,并列出了它們可以幫助模型更快速、更好的收斂模型的情況。此外,本文還介紹了一種新的log-cosh dice損失函數,并將其在NBFS skull-stripping數據集上與廣泛使用的損失函數進行了性能比較。某些損失函數在所有數據集上都表現良好,在未知分布數據集上可以作為一個很好的選擇。

簡介

深度學習徹底改變了從軟件到制造業的各個行業。深度學習在醫學界的應用也十分廣泛,例如使用U-Net進行腫瘤分割、使用SegNet進行癌癥檢測等。在這些應用中,圖像分割是至關重要的,分割后的圖像除了告訴我們存在某種疾病外,還展示了它到底存在于何處,這為實現自動檢測CT掃描中的病變等功能提供基礎保障。

圖像分割可以定義為像素級別的分類任務。圖像由各種像素組成,這些像素組合在一起定義了圖像中的不同元素,因此將這些像素分類為一類元素的方法稱為語義圖像分割。在設計基于復雜圖像分割的深度學習架構時,通常會遇到了一個至關重要的選擇,即選擇哪個損失/目標函數,因為它們會激發算法的學習過程。損失函數的選擇對于任何架構學習正確的目標都是至關重要的,因此自2012年以來,各種研究人員開始設計針對特定領域的損失函數,以為其數據集獲得更好的結果。

在本文中,總結了15種基于圖像分割的損失函數。被證明可以在不同領域提供最新技術成果。這些損失函數可大致分為4類:基于分布的損失函數,基于區域的損失函數,基于邊界的損失函數和基于復合的損失函數(Distribution-based,Region-based, Boundary-based, and Compounded)

本文還討論了確定哪種目標/損失函數在場景中可能有用的條件。除此之外,還提出了一種新的log-cosh dice損失函數用于圖像語義分割。為了展示其效率,還比較了NBFS頭骨剝離數據集上所有損失函數的性能。

Distribution-based loss

1. Binary Cross-Entropy:二進制交叉熵損失函數

交叉熵定義為對給定隨機變量或事件集的兩個概率分布之間的差異的度量。它被廣泛用于分類任務,并且由于分割是像素級分類,因此效果很好。在多分類任務中,經常采用 softmax 激活函數+交叉熵損失函數,因為交叉熵描述了兩個概率分布的差異,然而神經網絡輸出的是向量,并不是概率分布的形式。所以需要 softmax激活函數將一個向量進行“歸一化”成概率分布的形式,再采用交叉熵損失函數計算 loss。

交叉熵損失函數可以用在大多數語義分割場景中,但它有一個明顯的缺點:當圖像分割任務只需要分割前景和背景兩種情況。當前景像素的數量遠遠小于背景像素的數量時,即的數量遠大于的數量,損失函數中的成分就會占據主導,使得模型嚴重偏向背景,導致效果不好。

#二值交叉熵,這里輸入要經過sigmoid處理  
importtorch  
importtorch.nnasnn  
importtorch.nn.functionalasF  
nn.BCELoss(F.sigmoid(input),target)  
#多分類交叉熵,用這個loss前面不需要加Softmax層  
nn.CrossEntropyLoss(input,target)

2、Weighted Binary Cross-Entropy加權交叉熵損失函數

classWeightedCrossEntropyLoss(torch.nn.CrossEntropyLoss):  
"""  
NetworkhastohaveNONONLINEARITY!  
"""  
def__init__(self,weight=None):  
super(WeightedCrossEntropyLoss,self).__init__()  
self.weight=weight  
  
defforward(self,inp,target):  
target=target.long()  
num_classes=inp.size()[1]  
  
i0=1  
i1=2  
  
whilei1

3、Balanced Cross-Entropy平衡交叉熵損失函數

與加權交叉熵損失函數類似,但平衡交叉熵損失函數對負樣本也進行加權。

4、Focal Loss

Focal loss是在目標檢測領域提出來的。其目的是關注難例(也就是給難分類的樣本較大的權重)。對于正樣本,使預測概率大的樣本(簡單樣本)得到的loss變小,而預測概率小的樣本(難例)loss變得大,從而加強對難例的關注度。但引入了額外參數,增加了調參難度。

classFocalLoss(nn.Module):  
"""  
copyfrom:https://github.com/Hsuxu/Loss_ToolBox-PyTorch/blob/master/FocalLoss/FocalLoss.py  
ThisisaimplementationofFocalLosswithsmoothlabelcrossentropysupportedwhichisproposedin  
'FocalLossforDenseObjectDetection.(https://arxiv.org/abs/1708.02002)'  
Focal_Loss=-1*alpha*(1-pt)*log(pt)  
:paramnum_class:  
:paramalpha:(tensor)3Dor4Dthescalarfactorforthiscriterion  
:paramgamma:(float,double)gamma>0reducestherelativelossforwell-classifiedexamples(p>0.5)puttingmore  
focusonhardmisclassifiedexample  
:paramsmooth:(float,double)smoothvaluewhencrossentropy  
:parambalance_index:(int)balanceclassindex,shouldbespecificwhenalphaisfloat  
:paramsize_average:(bool,optional)Bydefault,thelossesareaveragedovereachlosselementinthebatch.  
"""  
  
def__init__(self,apply_nonlin=None,alpha=None,gamma=2,balance_index=0,smooth=1e-5,size_average=True):  
super(FocalLoss,self).__init__()  
self.apply_nonlin=apply_nonlin  
self.alpha=alpha  
self.gamma=gamma  
self.balance_index=balance_index  
self.smooth=smooth  
self.size_average=size_average  
  
ifself.smoothisnotNone:  
ifself.smooth1.0:  
raiseValueError('smoothvalueshouldbein[0,1]')  
  
defforward(self,logit,target):  
ifself.apply_nonlinisnotNone:  
logit=self.apply_nonlin(logit)  
num_class=logit.shape[1]  
  
iflogit.dim()>2:  
#N,C,d1,d2->N,C,m(m=d1*d2*...)  
logit=logit.view(logit.size(0),logit.size(1),-1)  
logit=logit.permute(0,2,1).contiguous()  
logit=logit.view(-1,logit.size(-1))  
target=torch.squeeze(target,1)  
target=target.view(-1,1)  
#print(logit.shape,target.shape)  
#  
alpha=self.alpha  
  
ifalphaisNone:  
alpha=torch.ones(num_class,1)  
elifisinstance(alpha,(list,np.ndarray)):  
assertlen(alpha)==num_class  
alpha=torch.FloatTensor(alpha).view(num_class,1)  
alpha=alpha/alpha.sum()  
elifisinstance(alpha,float):  
alpha=torch.ones(num_class,1)  
alpha=alpha*(1-self.alpha)  
alpha[self.balance_index]=self.alpha  
  
else:  
raiseTypeError('Notsupportalphatype')  
  
ifalpha.device!=logit.device:  
alpha=alpha.to(logit.device)  
  
idx=target.cpu().long()  
  
one_hot_key=torch.FloatTensor(target.size(0),num_class).zero_()  
one_hot_key=one_hot_key.scatter_(1,idx,1)  
ifone_hot_key.device!=logit.device:  
one_hot_key=one_hot_key.to(logit.device)  
  
ifself.smooth:  
one_hot_key=torch.clamp(  
one_hot_key,self.smooth/(num_class-1),1.0-self.smooth)  
pt=(one_hot_key*logit).sum(1)+self.smooth  
logpt=pt.log()  
  
gamma=self.gamma  
  
alpha=alpha[idx]  
alpha=torch.squeeze(alpha)  
loss=-1*alpha*torch.pow((1-pt),gamma)*logpt  
  
ifself.size_average:  
loss=loss.mean()  
else:  
loss=loss.sum()  
returnloss

5、Distance map derived loss penalty term距離圖得出的損失懲罰項

可以將距離圖定義為ground truth與預測圖之間的距離(歐幾里得距離、絕對距離等)。合并映射的方法有2種,一種是創建神經網絡架構,在該算法中有一個用于分割的重建head,或者將其引入損失函數。遵循相同的理論,可以從GT mask得出的距離圖,并創建了一個基于懲罰的自定義損失函數。使用這種方法,可以很容易地將網絡引導到難以分割的邊界區域。損失函數定義為:

classDisPenalizedCE(torch.nn.Module):  
"""  
Onlyforbinary3Dsegmentation  
NetworkhastohaveNONONLINEARITY!  
"""  
  
defforward(self,inp,target):  
#print(inp.shape,target.shape)#(batch,2,xyz),(batch,2,xyz)  
#computedistancemapofgroundtruth  
withtorch.no_grad():  
dist=compute_edts_forPenalizedLoss(target.cpu().numpy()>0.5)+1.0  
  
dist=torch.from_numpy(dist)  
ifdist.device!=inp.device:  
dist=dist.to(inp.device).type(torch.float32)  
dist=dist.view(-1,)  
  
target=target.long()  
num_classes=inp.size()[1]  
  
i0=1  
i1=2  
  
whilei1

Region-based loss

1、Dice Loss

Dice系數是計算機視覺界廣泛使用的度量標準,用于計算兩個圖像之間的相似度。在2016年的時候,它也被改編為損失函數,稱為Dice損失。

defget_tp_fp_fn(net_output,gt,axes=None,mask=None,square=False):  
"""  
net_outputmustbe(b,c,x,y(,z)))  
gtmustbealabelmap(shape(b,1,x,y(,z))ORshape(b,x,y(,z)))oronehotencoding(b,c,x,y(,z))  
ifmaskisprovideditmusthaveshape(b,1,x,y(,z)))  
:paramnet_output:  
:paramgt:  
:paramaxes:  
:parammask:maskmustbe1forvalidpixelsand0forinvalidpixels  
:paramsquare:ifTruethenfp,tpandfnwillbesquaredbeforesummation  
:return:  
"""  
ifaxesisNone:  
axes=tuple(range(2,len(net_output.size())))  
  
shp_x=net_output.shape  
shp_y=gt.shape  
  
withtorch.no_grad():  
iflen(shp_x)!=len(shp_y):  
gt=gt.view((shp_y[0],1,*shp_y[1:]))  
  
ifall([i==jfori,jinzip(net_output.shape,gt.shape)]):  
#ifthisisthecasethengtisprobablyalreadyaonehotencoding  
y_onehot=gt  
else:  
gt=gt.long()  
y_onehot=torch.zeros(shp_x)  
ifnet_output.device.type=="cuda":  
y_onehot=y_onehot.cuda(net_output.device.index)  
y_onehot.scatter_(1,gt,1)  
  
tp=net_output*y_onehot  
fp=net_output*(1-y_onehot)  
fn=(1-net_output)*y_onehot  
  
ifmaskisnotNone:  
tp=torch.stack(tuple(x_i*mask[:,0]forx_iintorch.unbind(tp,dim=1)),dim=1)  
fp=torch.stack(tuple(x_i*mask[:,0]forx_iintorch.unbind(fp,dim=1)),dim=1)  
fn=torch.stack(tuple(x_i*mask[:,0]forx_iintorch.unbind(fn,dim=1)),dim=1)  
  
ifsquare:  
tp=tp**2  
fp=fp**2  
fn=fn**2  
  
tp=sum_tensor(tp,axes,keepdim=False)  
fp=sum_tensor(fp,axes,keepdim=False)  
fn=sum_tensor(fn,axes,keepdim=False)  
  
returntp,fp,fn  
  
  
classSoftDiceLoss(nn.Module):  
def__init__(self,apply_nonlin=None,batch_dice=False,do_bg=True,smooth=1.,  
square=False):  
"""  
paper:https://arxiv.org/pdf/1606.04797.pdf  
"""  
super(SoftDiceLoss,self).__init__()  
  
self.square=square  
self.do_bg=do_bg  
self.batch_dice=batch_dice  
self.apply_nonlin=apply_nonlin  
self.smooth=smooth  
  
defforward(self,x,y,loss_mask=None):  
shp_x=x.shape  
  
ifself.batch_dice:  
axes=[0]+list(range(2,len(shp_x)))  
else:  
axes=list(range(2,len(shp_x)))  
  
ifself.apply_nonlinisnotNone:  
x=self.apply_nonlin(x)  
  
tp,fp,fn=get_tp_fp_fn(x,y,axes,loss_mask,self.square)  
  
dc=(2*tp+self.smooth)/(2*tp+fp+fn+self.smooth)  
  
ifnotself.do_bg:  
ifself.batch_dice:  
dc=dc[1:]  
else:  
dc=dc[:,1:]  
dc=dc.mean()  
  
return-dc

2、Tversky Loss

Tversky系數是Dice系數和 Jaccard 系數的一種推廣。當設置α=β=0.5,此時Tversky系數就是Dice系數。而當設置α=β=1時,此時Tversky系數就是Jaccard系數。α和β分別控制假陰性和假陽性。通過調整α和β,可以控制假陽性和假陰性之間的平衡。

classTverskyLoss(nn.Module):  
def__init__(self,apply_nonlin=None,batch_dice=False,do_bg=True,smooth=1.,  
square=False):  
"""  
paper:https://arxiv.org/pdf/1706.05721.pdf  
"""  
super(TverskyLoss,self).__init__()  
  
self.square=square  
self.do_bg=do_bg  
self.batch_dice=batch_dice  
self.apply_nonlin=apply_nonlin  
self.smooth=smooth  
self.alpha=0.3  
self.beta=0.7  
  
defforward(self,x,y,loss_mask=None):  
shp_x=x.shape  
  
ifself.batch_dice:  
axes=[0]+list(range(2,len(shp_x)))  
else:  
axes=list(range(2,len(shp_x)))  
  
ifself.apply_nonlinisnotNone:  
x=self.apply_nonlin(x)  
  
tp,fp,fn=get_tp_fp_fn(x,y,axes,loss_mask,self.square)  
  
  
tversky=(tp+self.smooth)/(tp+self.alpha*fp+self.beta*fn+self.smooth)  
  
ifnotself.do_bg:  
ifself.batch_dice:  
tversky=tversky[1:]  
else:  
tversky=tversky[:,1:]  
tversky=tversky.mean()  
  
return-tversky  

3、Focal Tversky Loss

與“Focal loss”相似,后者著重于通過降低易用/常見損失的權重來說明困難的例子。Focal Tversky Loss還嘗試借助γ系數來學習諸如在ROI(感興趣區域)較小的情況下的困難示例,如下所示:

classFocalTversky_loss(nn.Module):  
"""  
paper:https://arxiv.org/pdf/1810.07842.pdf  
authorcode:https://github.com/nabsabraham/focal-tversky-unet/blob/347d39117c24540400dfe80d106d2fb06d2b99e1/losses.py#L65  
"""  
def__init__(self,tversky_kwargs,gamma=0.75):  
super(FocalTversky_loss,self).__init__()  
self.gamma=gamma  
self.tversky=TverskyLoss(**tversky_kwargs)  
  
defforward(self,net_output,target):  
tversky_loss=1+self.tversky(net_output,target)#=1-tversky(net_output,target)  
focal_tversky=torch.pow(tversky_loss,self.gamma)  
returnfocal_tversky  

4、Sensitivity Specificity Loss

首先敏感性就是召回率,檢測出確實有病的能力:

特異性,檢測出確實沒病的能力:

而Sensitivity Specificity Loss為:

classSSLoss(nn.Module):  
def__init__(self,apply_nonlin=None,batch_dice=False,do_bg=True,smooth=1.,  
square=False):  
"""  
Sensitivity-Specifityloss  
paper:http://www.rogertam.ca/Brosch_MICCAI_2015.pdf  
tfcode:https://github.com/NifTK/NiftyNet/blob/df0f86733357fdc92bbc191c8fec0dcf49aa5499/niftynet/layer/loss_segmentation.py#L392  
"""  
super(SSLoss,self).__init__()  
  
self.square=square  
self.do_bg=do_bg  
self.batch_dice=batch_dice  
self.apply_nonlin=apply_nonlin  
self.smooth=smooth  
self.r=0.1#weightparameterinSSpaper  
  
defforward(self,net_output,gt,loss_mask=None):  
shp_x=net_output.shape  
shp_y=gt.shape  
#class_num=shp_x[1]  
  
withtorch.no_grad():  
iflen(shp_x)!=len(shp_y):  
gt=gt.view((shp_y[0],1,*shp_y[1:]))  
  
ifall([i==jfori,jinzip(net_output.shape,gt.shape)]):  
#ifthisisthecasethengtisprobablyalreadyaonehotencoding  
y_onehot=gt  
else:  
gt=gt.long()  
y_onehot=torch.zeros(shp_x)  
ifnet_output.device.type=="cuda":  
y_onehot=y_onehot.cuda(net_output.device.index)  
y_onehot.scatter_(1,gt,1)  
  
ifself.batch_dice:  
axes=[0]+list(range(2,len(shp_x)))  
else:  
axes=list(range(2,len(shp_x)))  
  
ifself.apply_nonlinisnotNone:  
softmax_output=self.apply_nonlin(net_output)  
  
#noobjectvalue  
bg_onehot=1-y_onehot  
squared_error=(y_onehot-softmax_output)**2  
specificity_part=sum_tensor(squared_error*y_onehot,axes)/(sum_tensor(y_onehot,axes)+self.smooth)  
sensitivity_part=sum_tensor(squared_error*bg_onehot,axes)/(sum_tensor(bg_onehot,axes)+self.smooth)  
  
ss=self.r*specificity_part+(1-self.r)*sensitivity_part  
  
ifnotself.do_bg:  
ifself.batch_dice:  
ss=ss[1:]  
else:  
ss=ss[:,1:]  
ss=ss.mean()  
  
returnss

5、Log-Cosh Dice Loss(本文提出的損失函數)

Dice系數是一種用于評估分割輸出的度量標準。它也已修改為損失函數,因為它可以實現分割目標的數學表示。但是由于其非凸性,它多次都無法獲得最佳結果。Lovsz-softmax損失旨在通過添加使用Lovsz擴展的平滑來解決非凸損失函數的問題。同時,Log-Cosh方法已廣泛用于基于回歸的問題中,以平滑曲線。

將Cosh(x)函數和Log(x)函數合并,可以得到Log-Cosh Dice Loss:

deflog_cosh_dice_loss(self,y_true,y_pred):  
x=self.dice_loss(y_true,y_pred)  
returntf.math.log((torch.exp(x)+torch.exp(-x))/2.0)  

Boundary-based loss

1、Shape-aware Loss

顧名思義,Shape-aware Loss考慮了形狀。通常,所有損失函數都在像素級起作用,Shape-aware Loss會計算平均點到曲線的歐幾里得距離,即預測分割到ground truth的曲線周圍點之間的歐式距離,并將其用作交叉熵損失函數的系數,具體定義如下:(CE指交叉熵損失函數)

classDistBinaryDiceLoss(nn.Module):  
"""  
DistancemappenalizedDiceloss  
Motivatedby:https://openreview.net/forum?id=B1eIcvS45V  
DistanceMapLossPenaltyTermforSemanticSegmentation  
"""  
def__init__(self,smooth=1e-5):  
super(DistBinaryDiceLoss,self).__init__()  
self.smooth=smooth  
  
defforward(self,net_output,gt):  
"""  
net_output:(batch_size,2,x,y,z)  
target:groundtruth,shape:(batch_size,1,x,y,z)  
"""  
net_output=softmax_helper(net_output)  
#onehotcodeforgt  
withtorch.no_grad():  
iflen(net_output.shape)!=len(gt.shape):  
gt=gt.view((gt.shape[0],1,*gt.shape[1:]))  
  
ifall([i==jfori,jinzip(net_output.shape,gt.shape)]):  
#ifthisisthecasethengtisprobablyalreadyaonehotencoding  
y_onehot=gt  
else:  
gt=gt.long()  
y_onehot=torch.zeros(net_output.shape)  
ifnet_output.device.type=="cuda":  
y_onehot=y_onehot.cuda(net_output.device.index)  
y_onehot.scatter_(1,gt,1)  
  
gt_temp=gt[:,0,...].type(torch.float32)  
withtorch.no_grad():  
dist=compute_edts_forPenalizedLoss(gt_temp.cpu().numpy()>0.5)+1.0  
#print('dist.shape:',dist.shape)  
dist=torch.from_numpy(dist)  
  
ifdist.device!=net_output.device:  
dist=dist.to(net_output.device).type(torch.float32)  
  
tp=net_output*y_onehot  
tp=torch.sum(tp[:,1,...]*dist,(1,2,3))  
  
dc=(2*tp+self.smooth)/(torch.sum(net_output[:,1,...],(1,2,3))+torch.sum(y_onehot[:,1,...],(1,2,3))+self.smooth)  
  
dc=dc.mean()  
  
return-dc  

2、Hausdorff Distance Loss

Hausdorff Distance Loss(HD)是分割方法用來跟蹤模型性能的度量。

任何分割模型的目的都是為了最大化Hausdorff距離,但是由于其非凸性,因此并未廣泛用作損失函數。有研究者提出了基于Hausdorff距離的損失函數的3個變量,它們都結合了度量用例,并確保損失函數易于處理。

classHDDTBinaryLoss(nn.Module):  
def__init__(self):  
"""  
computehaudorfflossforbinarysegmentation  
https://arxiv.org/pdf/1904.10030v1.pdf  
"""  
super(HDDTBinaryLoss,self).__init__()  
  
  
defforward(self,net_output,target):  
"""  
net_output:(batch_size,2,x,y,z)  
target:groundtruth,shape:(batch_size,1,x,y,z)  
"""  
net_output=softmax_helper(net_output)  
pc=net_output[:,1,...].type(torch.float32)  
gt=target[:,0,...].type(torch.float32)  
withtorch.no_grad():  
pc_dist=compute_edts_forhdloss(pc.cpu().numpy()>0.5)  
gt_dist=compute_edts_forhdloss(gt.cpu().numpy()>0.5)  
#print('pc_dist.shape:',pc_dist.shape)  
  
pred_error=(gt-pc)**2  
dist=pc_dist**2+gt_dist**2#/alpha=2ineq(8)  
  
dist=torch.from_numpy(dist)  
ifdist.device!=pred_error.device:  
dist=dist.to(pred_error.device).type(torch.float32)  
  
multipled=torch.einsum("bxyz,bxyz->bxyz",pred_error,dist)  
hd_loss=multipled.mean()  
  
returnhd_loss

Compounded loss

1、Exponential Logarithmic Loss

指數對數損失函數集中于使用骰子損失和交叉熵損失的組合公式來預測不那么精確的結構。對骰子損失和熵損失進行指數和對數轉換,以合并更精細的分割邊界和準確的數據分布的好處。它定義為:

2、Combo Loss

組合損失定義為Dice loss和修正的交叉熵的加權和。它試圖利用Dice損失解決類不平衡問題的靈活性,同時使用交叉熵進行曲線平滑。定義為:(DL指Dice Loss)

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 圖像分割
    +關注

    關注

    4

    文章

    182

    瀏覽量

    18304
  • 深度學習
    +關注

    關注

    73

    文章

    5557

    瀏覽量

    122669
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    圖像分割圖像定位的c語言算法代碼

    各位大哥,誰能幫小弟介紹一些有圖像分割圖像定位的c語言代碼的資料,萬分感謝。小弟最近在研究圖像方面的東西,可是書上講的大多是理論,具體
    發表于 12-16 09:18

    TensorFlow損失函數(定義和使用)詳解

    的情況下,損失函數定義為交叉熵。輸出 Y 的維數等于訓練數據集中類別的數量,其中 P 為類別數量:如果想把 L1 正則化加到損失上,那么代碼如下:對于 L2 正則化,
    發表于 07-28 14:38

    圖像分割—基于圖的圖像分割

    圖像分割—基于圖的圖像分割圖像分割—基于圖的圖像
    發表于 11-19 16:17 ?0次下載

    基于Matlab圖像分割的研究

    特性的分割、邊緣分割、指紋圖像分割方法進行了詳細的分析比較,分別對這些方法進行了圖像仿真,并分
    發表于 01-04 15:10 ?0次下載

    圖像分割圖像邊緣檢測

     圖像分割的研究多年來一直受到人們的高度重視,至今提出了各種類型的分割算法。Pal把圖像分割算法分成了6類:閾值
    發表于 12-19 09:29 ?1.1w次閱讀
    <b class='flag-5'>圖像</b><b class='flag-5'>分割</b>和<b class='flag-5'>圖像</b>邊緣檢測

    圖像分割的基本方法解析

    本文詳細介紹了圖像分割的基本方法有:基于邊緣的圖像分割方法、閾值分割方法、區域
    發表于 12-20 11:06 ?11.1w次閱讀
    <b class='flag-5'>圖像</b><b class='flag-5'>分割</b>的基本方法解析

    基于水平集的牙齒CT圖像分割技術

    水平集函數中各能量項進行研究,并通過對比實驗體現水平集方法的優越性。基于水平集的牙齒CT圖像分割方法中水平集函數的能量項主要包括:競爭能量項、梯度能量項、形狀約束能量項、全局先驗灰度能
    發表于 12-22 15:57 ?2次下載
    基于水平集的牙齒CT<b class='flag-5'>圖像</b><b class='flag-5'>分割</b>技術

    基于內容的圖像分割方法綜述

    的方法、基于像素聚類的方法和語義分割方法這3種類型并分別加以介紹對每類方法所包含的典型算法,尤其是最近幾年利用深度網絡技術的語義圖像分割方法的基本思想、優缺點進行了分析、對比和總結.介
    發表于 01-02 16:52 ?2次下載
    基于內容的<b class='flag-5'>圖像</b><b class='flag-5'>分割</b>方法綜述

    分析總結基于深度神經網絡的圖像語義分割方法

    隨著深度學習技術的快速發展及其在語義分割領域的廣泛應用,語義分割效果得到顯著提升。對基于深度神經網絡的圖像語義分割方法進行分析與總結,根據網
    發表于 03-19 14:14 ?21次下載
    分析<b class='flag-5'>總結</b>基于深度神經網絡的<b class='flag-5'>圖像</b>語義<b class='flag-5'>分割</b>方法

    沒你想的那么難 | 一文讀懂圖像分割

    DerrickMwiti在一篇文章中,就什么是圖像分割圖像分割架構、圖像分割
    的頭像 發表于 05-16 09:21 ?1366次閱讀
    沒你想的那么難 | 一文讀懂<b class='flag-5'>圖像</b><b class='flag-5'>分割</b>

    什么是圖像分割圖像分割的體系結構和方法

    圖像分割(Image Segmentation)是計算機視覺領域中的一項重要基礎技術,是圖像理解中的重要一環。前端時間,數據科學家Derrick Mwiti在一篇文章中,就什么是圖像
    的頭像 發表于 08-18 10:34 ?7597次閱讀
    什么是<b class='flag-5'>圖像</b><b class='flag-5'>分割</b>?<b class='flag-5'>圖像</b><b class='flag-5'>分割</b>的體系結構和方法

    最全綜述:圖像分割算法

    閾值法的基本思想是基于圖像的灰度特征來計算一個或多個灰度閾值,并將圖像中每個像素的灰度值與閾值作比較,最后將像素根據比較結果分到合適的類別中。因此,該方法最為關鍵的一步就是按照某個準則函數來求解最佳灰度閾值。
    的頭像 發表于 11-03 16:04 ?1283次閱讀
    <b class='flag-5'>最全</b>綜述:<b class='flag-5'>圖像</b><b class='flag-5'>分割</b>算法

    圖像分割與語義分割中的CNN模型綜述

    圖像分割與語義分割是計算機視覺領域的重要任務,旨在將圖像劃分為多個具有特定語義含義的區域或對象。卷積神經網絡(CNN)作為深度學習的一種核心模型,在
    的頭像 發表于 07-09 11:51 ?1966次閱讀

    圖像分割和語義分割的區別與聯系

    圖像分割和語義分割是計算機視覺領域中兩個重要的概念,它們在圖像處理和分析中發揮著關鍵作用。 1. 圖像
    的頭像 發表于 07-17 09:55 ?1889次閱讀

    語義分割25種損失函數綜述和展望

    本綜述提供了對25種用于圖像分割損失函數全面且統一的回顧。我們提供了一種新穎的分類法,并詳細
    的頭像 發表于 10-22 08:04 ?1570次閱讀
    語義<b class='flag-5'>分割</b>25種<b class='flag-5'>損失</b><b class='flag-5'>函數</b>綜述和展望
    主站蜘蛛池模板: 静安区| 新竹县| 乌苏市| 舟曲县| 册亨县| 康保县| 扎囊县| 信阳市| 济宁市| 永春县| 察哈| 宁乡县| 讷河市| 黎平县| 佳木斯市| 玉屏| 平邑县| 山阳县| 定日县| 苍南县| 岳池县| 喀喇沁旗| 怀集县| 威宁| 临城县| 万安县| 呈贡县| 和田县| 长治市| 建宁县| 永州市| 富蕴县| 淳化县| 玉龙| 彰化县| 荃湾区| 平遥县| 黑河市| 泰安市| 临桂县| 长沙市|