implemented adas semantic segmentation

main
Ben Hoff 6 years ago
parent 32027ce884
commit 36c3e2c4d9

@ -18,6 +18,7 @@ https://github.com/opencv/cvat/issues/750).
- REST API to export an annotation task (images + annotations)
- Datumaro is an experimental framework to build, analyze, debug and visualize datasets for DL algorithms
- Text Detection Auto Annoation Script in OpenVINO format for version 4
- Added in OpenVINO Semantic Segmentation for roads
### Changed
- page_size parameter for all REST API methods

@ -0,0 +1,31 @@
import numpy as np
from skimage.measure import approximate_polygon, find_contours
import cv2
for frame_results in detections:
frame_height = frame_results['frame_height']
frame_width = frame_results['frame_width']
frame_number = frame_results['frame_id']
detection = frame_results['detections']
detection = detection[0, 0, :, :]
width, height = detection.shape
for i in range(21):
zero = np.zeros((width,height),dtype=np.uint8)
f = float(i)
zero = ((detection == f) * 255).astype(np.float32)
zero = cv2.resize(zero, dsize=(frame_width, frame_height), interpolation=cv2.INTER_CUBIC)
contours = find_contours(zero, 0.8)
for contour in contours:
contour = np.flip(contour, axis=1)
contour = approximate_polygon(contour, tolerance=2.5)
segmentation = contour.tolist()
if len(segmentation) < 3:
continue
results.add_polygon(segmentation, i, frame_number)

@ -0,0 +1,25 @@
{
"label_map": {
"0": "road",
"1": "sidewalk",
"2": "building",
"3": "wall",
"4": "fence",
"5": "pole",
"6": "traffic light",
"7": "traffic sign",
"8": "vegetation",
"9": "terrain",
"10": "sky",
"11": "person",
"12": "rider",
"13": "car",
"14": "truck",
"15": "bus",
"16": "train",
"17": "motorcycle",
"18": "bicycle",
"19": "ego-vehicle",
"20": "background"
}
}
Loading…
Cancel
Save