76 lines
2.5 KiB
Plaintext
76 lines
2.5 KiB
Plaintext
# MediaPipe Objectron vertices/landmarks rendering CPU subgraph.
|
|
|
|
type: "RendererSubgraph"
|
|
|
|
input_stream: "IMAGE:input_image"
|
|
input_stream: "MULTI_LANDMARKS:multi_landmarks"
|
|
input_stream: "NORM_RECTS:multi_rect"
|
|
output_stream: "IMAGE:output_image"
|
|
|
|
# Outputs each element of multi_landmarks at a fake timestamp for the rest
|
|
# of the graph to process. At the end of the loop, outputs the BATCH_END
|
|
# timestamp for downstream calculators to inform them that all elements in the
|
|
# vector have been processed.
|
|
node {
|
|
calculator: "BeginLoopNormalizedLandmarkListVectorCalculator"
|
|
input_stream: "ITERABLE:multi_landmarks"
|
|
output_stream: "ITEM:single_landmarks"
|
|
output_stream: "BATCH_END:landmark_timestamp"
|
|
}
|
|
|
|
# Converts landmarks to drawing primitives for annotation overlay.
|
|
node {
|
|
calculator: "LandmarksToRenderDataCalculator"
|
|
input_stream: "NORM_LANDMARKS:single_landmarks"
|
|
output_stream: "RENDER_DATA:single_landmark_render_data"
|
|
node_options: {
|
|
[type.googleapis.com/mediapipe.LandmarksToRenderDataCalculatorOptions] {
|
|
landmark_connections: [1, 2] # edge 1-2
|
|
landmark_connections: [1, 3] # edge 1-3
|
|
landmark_connections: [1, 5] # edge 1-5
|
|
landmark_connections: [2, 4] # edge 2-4
|
|
landmark_connections: [2, 6] # edge 2-6
|
|
landmark_connections: [3, 4] # edge 3-4
|
|
landmark_connections: [3, 7] # edge 3-7
|
|
landmark_connections: [4, 8] # edge 4-8
|
|
landmark_connections: [5, 6] # edge 5-6
|
|
landmark_connections: [5, 7] # edge 5-7
|
|
landmark_connections: [6, 8] # edge 6-8
|
|
landmark_connections: [7, 8] # edge 7-8
|
|
landmark_color { r: 255 g: 0 b: 0 }
|
|
connection_color { r: 0 g: 255 b: 0 }
|
|
thickness: 4.0
|
|
}
|
|
}
|
|
}
|
|
|
|
node {
|
|
calculator: "EndLoopRenderDataCalculator"
|
|
input_stream: "ITEM:single_landmark_render_data"
|
|
input_stream: "BATCH_END:landmark_timestamp"
|
|
output_stream: "ITERABLE:multi_landmarks_render_data"
|
|
}
|
|
|
|
# Converts normalized rects to drawing primitives for annotation overlay.
|
|
node {
|
|
calculator: "RectToRenderDataCalculator"
|
|
input_stream: "NORM_RECTS:multi_rect"
|
|
output_stream: "RENDER_DATA:multi_rect_render_data"
|
|
node_options: {
|
|
[type.googleapis.com/mediapipe.RectToRenderDataCalculatorOptions] {
|
|
filled: false
|
|
color { r: 255 g: 0 b: 0 }
|
|
thickness: 4.0
|
|
}
|
|
}
|
|
}
|
|
|
|
# Draws annotations and overlays them on top of the input images.
|
|
node {
|
|
calculator: "AnnotationOverlayCalculator"
|
|
input_stream: "IMAGE:input_image"
|
|
input_stream: "VECTOR:multi_landmarks_render_data"
|
|
input_stream: "multi_rect_render_data"
|
|
output_stream: "IMAGE:output_image"
|
|
}
|