3
|
(¸]Ã ã @ s d dl Zd dlZdddZdS )é Nc C sÄ t | dkrg S | jtj} g }| dd
df }| dd
df }| dd
df | dd
df }| dd
df | dd
df }|| d || d }|dk r¬tj|} n
|
tj|} xt | dkr¾t | d }
|
| |
|
}|j| tj|| || d|
|
}tj|| || d|
|
} tj|| || d|
|
}tj|| || d|
|
}tjd|| d }tjd|| d }|| || d|
|
}tj| tj |
|
gtj
|
||kd f} qºW |S )a[ Suppress overlapping detections.
|
|
Original code from [1]_ has been adapted to include confidence score.
|
|
.. [1] http://www.pyimagesearch.com/2015/02/16/
|
faster-non-maximum-suppression-python/
|
|
Examples
|
--------
|
|
>>> boxes = [d.roi for d in detections]
|
>>> scores = [d.confidence for d in detections]
|
>>> indices = non_max_suppression(boxes, max_bbox_overlap, scores)
|
>>> detections = [detections[i] for i in indices]
|
|
Parameters
|
----------
|
boxes : ndarray
|
Array of ROIs (x, y, width, height).
|
max_bbox_overlap : float
|
ROIs that overlap more than this values are suppressed.
|
scores : Optional[array_like]
|
Detector confidence score.
|
|
Returns
|
-------
|
List[int]
|
Returns indices of detections that have survived non-maxima suppression.
|
|
r Né é é )ÚlenÚastypeÚnpÚfloatÚargsortÚappendÚmaximumÚminimumÚdeleteÚconcatenateÚwhere)ÚboxesZmax_bbox_overlapÚscoresZpickÚx1Úy1Úx2Úy2ZareaÚidxsÚlastÚiZxx1Zyy1Zxx2Zyy2ÚwÚhÚoverlap© r úND:\project\07_tracking_Re-id\04_s_yolo_tracking\lib\deep_sort\preprocessing.pyÚnon_max_suppression s6
|
|
r )N)Únumpyr Úcv2r r r r r Ú<module> s
|