prefácio
Existem muitas funções de perda para tarefas de detecção de alvo, que são registradas aqui. para referência futura.
Para mais funções de perda, consulte este artigo [CV Knowledge Literacy] | Funções de perda
A implementação de várias perdas pode ser encontrada em iscyy/yoloair/utils/loss.py
função
Perda de IOU
IOU = área ( pred ) ∩ area ( gt ) area ( pred ) ∪ area ( gt ) IOU = \frac{area(pred) \cap area(gt)}{area(pred) \cup area(gt)}EU O U=a re a ( p re d )∪a re a ( g t )a re a ( p re d )∩a re a ( g t )
Desvantagem: A perda de IOU é 0 quando disjunta.
IOUL oss = − lnpred ∩ gtpred ∪ gt IOU Loss = -ln\frac{pred ~\cap~ gt}{pred ~\cup~ gt}I O UL oss=− n _antes de _ _ ∪ g tantes de _ _ ∩ gt _
Perda GIOU
GIOU = IOU − A área − pred ∪ gt A área GIOU= IOU - \frac{Area - pred ~\cup~ gt}{Area}G I O U=EU O U−A re aA re a−antes de _ _ ∪ gt _
− 1 ≤ -1 \leq− 1≤ Perda GIOU≤ \leq≤ 1
onde Area é a área do menor retângulo que pode cobrir as caixas pred e gt.
GIOUL oss = 1 − GIOU GIOU Perda = 1-GIOUG I O UL oss=1−G I O U
HOJE Perda
GIOU = IOU − distância ( predcenter , gtcenter ) 2 c 2 GIOU= IOU - \frac{distance(pred_{center}, gt_{center})^2}{c^2}G I O U=EU O U−c2d is t ance ( p re d _ _ce n t er,g tce n t er)2
− 1 ≤ -1 \leq− 1≤ DIOU≤ \leq≤ 1
onde c é a diagonal do menor retângulo que pode cobrir as caixas pred e gt.
GIOUL oss = 1 − GIOU GIOU Perda = 1-GIOUG I O UL oss=1−G I O U
Perda CIOU
Os três itens consideram área de sobreposição, distância do ponto central e proporção
CIOU = IOU − ( distância ( predcenter , gtcenter ) 2 c 2 + α v ) CIOU = IOU - (\frac{distance(pred_{center}, gt_{center ) })^2}{c^2}+\alpha v)C I O U=EU O U−(c2d is t ance ( p re d _ _ce n t er,g tce n t er)2+αv )
v = 4 π 2 ( arctan ( wgthgt ) − arctan ( wh ) ) v = \frac{4}{\pi^2}(arctan(\frac{w^{gt}}{h^{gt}} )-arctan(\frac{w}{h}))dentro=Pi24( um rc t um (hg tdentrogt _)−Estou seguro ( _ _hdentro))
α = v 1 − IOU + v \alpha=\frac{v}{1-IOU+v}uma=1−EU O U+dentrodentro
CIOUL oss = 1 − CIOU CIOU Perda = 1-CIOUC I O UL oss=1−C I O U
Perda focal
FL ( pt ) = − ( 1 − pt ) γ log ( pt ) FL(p_t) = -(1-p_t)^\gamma log(p_t)F L ( pt)=− ( 1−pt)γ log(p_t)
pt = { pif y = 1 1 − caso contrário p_t = \left\{ \begin{array}{ll} p & if ~y = 1 \\ 1-p & caso contrário \end{array}\right.pt={
p1−peu estou _ =1o outro eu vejo _ _ _
( 1 − pt ) γ (1-p_t)^\gamma( 1−pt)γ pode reduzir a contribuição de perda de amostras facilmente separáveis.
3.1 Coleção de teoria da série YOLO (YOLOv1~v3) _yolov3 spp _Perda Focal explicada às 33:10
Às vezes, a implementação real do código multiplicará mais um α t \alpha_tumatPara equilibrar o peso da perda ( ( 1 − pt ) γ (1-p_t)^\gamma( 1−pt)γ ). como um hiperparâmetro.
FL ( pt ) = − α t ( 1 − pt ) γ log ( pt ) FL(p_t) = -\alpha_t(1-p_t)^\gamma log(p_t)F L ( pt)=- umt( 1−pt)γ log(p_t)
Observe que a rotulagem do conjunto de dados deve ser mais precisa, caso contrário, esses ruídos interferirão no treinamento sob perda focal.
E você precisa ajustar os parâmetros ao usá-lo.