mirror of
https://github.com/ultralytics/yolov5.git
synced 2025-06-03 14:49:29 +08:00
clean_str() function addition (#1674)
* clean_str() function addition * cleanup * add euro symbol € * add closing exclamation (spanish) * cleanup
This commit is contained in:
parent
7e161d9774
commit
d5289b54c4
@ -81,12 +81,13 @@ def detect(save_img=False):
|
|||||||
# Process detections
|
# Process detections
|
||||||
for i, det in enumerate(pred): # detections per image
|
for i, det in enumerate(pred): # detections per image
|
||||||
if webcam: # batch_size >= 1
|
if webcam: # batch_size >= 1
|
||||||
p, s, im0, frame = Path(path[i]), '%g: ' % i, im0s[i].copy(), dataset.count
|
p, s, im0, frame = path[i], '%g: ' % i, im0s[i].copy(), dataset.count
|
||||||
else:
|
else:
|
||||||
p, s, im0, frame = Path(path), '', im0s, getattr(dataset, 'frame', 0)
|
p, s, im0, frame = path, '', im0s, getattr(dataset, 'frame', 0)
|
||||||
|
|
||||||
save_path = str(save_dir / p.name)
|
p = Path(p) # to Path
|
||||||
txt_path = str(save_dir / 'labels' / p.stem) + ('' if dataset.mode == 'image' else f'_{frame}')
|
save_path = str(save_dir / p.name) # img.jpg
|
||||||
|
txt_path = str(save_dir / 'labels' / p.stem) + ('' if dataset.mode == 'image' else f'_{frame}') # img.txt
|
||||||
s += '%gx%g ' % img.shape[2:] # print string
|
s += '%gx%g ' % img.shape[2:] # print string
|
||||||
gn = torch.tensor(im0.shape)[[1, 0, 1, 0]] # normalization gain whwh
|
gn = torch.tensor(im0.shape)[[1, 0, 1, 0]] # normalization gain whwh
|
||||||
if len(det):
|
if len(det):
|
||||||
|
@ -19,7 +19,7 @@ from PIL import Image, ExifTags
|
|||||||
from torch.utils.data import Dataset
|
from torch.utils.data import Dataset
|
||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
|
|
||||||
from utils.general import xyxy2xywh, xywh2xyxy
|
from utils.general import xyxy2xywh, xywh2xyxy, clean_str
|
||||||
from utils.torch_utils import torch_distributed_zero_first
|
from utils.torch_utils import torch_distributed_zero_first
|
||||||
|
|
||||||
# Parameters
|
# Parameters
|
||||||
@ -267,7 +267,7 @@ class LoadStreams: # multiple IP or RTSP cameras
|
|||||||
|
|
||||||
n = len(sources)
|
n = len(sources)
|
||||||
self.imgs = [None] * n
|
self.imgs = [None] * n
|
||||||
self.sources = sources
|
self.sources = [clean_str(x) for x in sources] # clean source names for later
|
||||||
for i, s in enumerate(sources):
|
for i, s in enumerate(sources):
|
||||||
# Start the thread to read frames from the video stream
|
# Start the thread to read frames from the video stream
|
||||||
print('%g/%g: %s... ' % (i + 1, n, s), end='')
|
print('%g/%g: %s... ' % (i + 1, n, s), end='')
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
import glob
|
import glob
|
||||||
import logging
|
import logging
|
||||||
|
import math
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
import random
|
import random
|
||||||
@ -11,7 +12,6 @@ import time
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import cv2
|
import cv2
|
||||||
import math
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import torch
|
import torch
|
||||||
import torchvision
|
import torchvision
|
||||||
@ -97,6 +97,11 @@ def make_divisible(x, divisor):
|
|||||||
return math.ceil(x / divisor) * divisor
|
return math.ceil(x / divisor) * divisor
|
||||||
|
|
||||||
|
|
||||||
|
def clean_str(s):
|
||||||
|
# Cleans a string by replacing special characters with underscore _
|
||||||
|
return re.sub(pattern="[|@#!¡·$€%&()=?¿^*;:,¨´><+]", repl="_", string=s)
|
||||||
|
|
||||||
|
|
||||||
def labels_to_class_weights(labels, nc=80):
|
def labels_to_class_weights(labels, nc=80):
|
||||||
# Get class weights (inverse frequency) from training labels
|
# Get class weights (inverse frequency) from training labels
|
||||||
if labels[0] is None: # no labels loaded
|
if labels[0] is None: # no labels loaded
|
||||||
|
Loading…
x
Reference in New Issue
Block a user