11# Author: Zylo117
22
3+ import math
34import os
5+ import uuid
6+ from glob import glob
7+ from typing import Union
48
59import cv2
610import numpy as np
711import torch
8- from glob import glob
12+ import webcolors
913from torch import nn
10- from torchvision . ops import nms
14+ from torch . nn . init import _calculate_fan_in_and_fan_out , _no_grad_normal_
1115from torchvision .ops .boxes import batched_nms
12- from typing import Union
13- import uuid
1416
1517from utils .sync_batchnorm import SynchronizedBatchNorm2d
1618
17- from torch .nn .init import _calculate_fan_in_and_fan_out , _no_grad_normal_
18- import math
19- import webcolors
2019
2120def invert_affine (metas : Union [float , list , tuple ], preds ):
2221 for i in range (len (preds )):
@@ -245,7 +244,7 @@ def variance_scaling_(tensor, gain=1.):
245244
246245
247246STANDARD_COLORS = [
248- 'LawnGreen' , 'Chartreuse' , 'Aqua' ,'Beige' , 'Azure' ,'BlanchedAlmond' ,'Bisque' ,
247+ 'LawnGreen' , 'Chartreuse' , 'Aqua' , 'Beige' , 'Azure' , 'BlanchedAlmond' , 'Bisque' ,
249248 'Aquamarine' , 'BlueViolet' , 'BurlyWood' , 'CadetBlue' , 'AntiqueWhite' ,
250249 'Chocolate' , 'Coral' , 'CornflowerBlue' , 'Cornsilk' , 'Crimson' , 'Cyan' ,
251250 'DarkCyan' , 'DarkGoldenRod' , 'DarkGrey' , 'DarkKhaki' , 'DarkOrange' ,
@@ -272,14 +271,14 @@ def variance_scaling_(tensor, gain=1.):
272271
273272
274273def from_colorname_to_bgr (color ):
275- rgb_color = webcolors .name_to_rgb (color )
276- result = (rgb_color .blue ,rgb_color .green ,rgb_color .red )
274+ rgb_color = webcolors .name_to_rgb (color )
275+ result = (rgb_color .blue , rgb_color .green , rgb_color .red )
277276 return result
278277
279278
280279def standard_to_bgr (list_color_name ):
281- standard = []
282- for i in range (len (list_color_name )- 36 ): # -36 used to match the len(obj_list)
280+ standard = []
281+ for i in range (len (list_color_name ) - 36 ): # -36 used to match the len(obj_list)
283282 standard .append (from_colorname_to_bgr (list_color_name [i ]))
284283 return standard
285284
@@ -296,11 +295,18 @@ def plot_one_box(img, coord, label=None, score=None, color=None, line_thickness=
296295 cv2 .rectangle (img , c1 , c2 , color , thickness = tl )
297296 if label :
298297 tf = max (tl - 2 , 1 ) # font thickness
299- s_size = cv2 .getTextSize (str ('{:.0%}' .format (score )),0 , fontScale = float (tl ) / 3 , thickness = tf )[0 ]
298+ s_size = cv2 .getTextSize (str ('{:.0%}' .format (score )), 0 , fontScale = float (tl ) / 3 , thickness = tf )[0 ]
300299 t_size = cv2 .getTextSize (label , 0 , fontScale = float (tl ) / 3 , thickness = tf )[0 ]
301- c2 = c1 [0 ] + t_size [0 ]+ s_size [0 ]+ 15 , c1 [1 ] - t_size [1 ] - 3
302- cv2 .rectangle (img , c1 , c2 , color , - 1 ) # filled
303- cv2 .putText (img , '{}: {:.0%}' .format (label , score ), (c1 [0 ],c1 [1 ] - 2 ), 0 , float (tl ) / 3 , [0 , 0 , 0 ], thickness = tf , lineType = cv2 .FONT_HERSHEY_SIMPLEX )
300+ c2 = c1 [0 ] + t_size [0 ] + s_size [0 ] + 15 , c1 [1 ] - t_size [1 ] - 3
301+ cv2 .rectangle (img , c1 , c2 , color , - 1 ) # filled
302+ cv2 .putText (img , '{}: {:.0%}' .format (label , score ), (c1 [0 ], c1 [1 ] - 2 ), 0 , float (tl ) / 3 , [0 , 0 , 0 ],
303+ thickness = tf , lineType = cv2 .FONT_HERSHEY_SIMPLEX )
304+
304305
305-
306306color_list = standard_to_bgr (STANDARD_COLORS )
307+
308+
309+ def boolean_string (s ):
310+ if s not in {'False' , 'True' }:
311+ raise ValueError ('Not a valid boolean string' )
312+ return s == 'True'
0 commit comments