engines_file: "/opt/ultinous/demo.prototxt" environment: { debug_level: 4 profile: true drop_on: {} no_input_policy: RUN_IF_DROP_ON kafka_broker_list: "localhost:9092" } #################################################################################################################### # # Cam 1 # data_run: { input: { file_name: "rtsp://user:pwd@10.99.99.1:554/live1.sdp" } data_flow: { data_node: {type: FRAME name: "input"} data_node: {type: FRAME_INFO name: "frameinfo"} data_node: {type: DETECTIONS name: "dets"} data_node: {type: DETECTIONS name: "dets_filtered"} data_node: {type: HEAD_POSE_3DS name: "poses"} data_node: {type: FEATURE_VECTORS name: "fvecs"} data_node: {type: GENDERS name: "genders"} data_node: {type: AGES name: "ages"} data_node: {type: SKELETONS name: "skeletons"} data_node: {type: FRAME name: "lowres"} data_node: {type: FRAME name: "anonymized"} data_node: {type: FRAME name: "lowres_anonymized"} process_node: { type: FRAME_INFO_EXTRACTOR name: "frameinfocalc" logging: false frame_info_extractor_config: { input_frame: "input" output_info: "frameinfo" } } process_node: { type: OBJ_DETECTOR name: "det" logging: false obj_det_config: { type: HEAD input: "input" bounding_boxes: "dets" min_height_in_pixels: 32 max_height_in_pixels: 512 confidence_threshold: 0.95 image_scale_factor: 0.5 } } process_node { type: DRAW_RECTS name: "anonymization" draw_rects_config { input_frame: "input" input_bounding_boxes: "dets" output_frame: "anonymized" blur: true blur_kernel_size: 31 blur_sigma: 40 draw_rect: false draw_properties: false head_padding_top: 0 head_padding_bottom: 7 head_padding_left: 1 head_padding_right: 1 det_color: { red: 0 green: 0 blue: 0 } } } process_node: { type: HEAD_POSE_CALC name: "headposecalc" logging: false head_pose_calc_config: { input_frame: "input" input_bounding_boxes: "dets" output_poses: "poses" } } process_node: { type: HEAD_POSE_FILTER name: "headposefilter" logging: false head_pose_filter_config: { input_frame: "input" input_bounding_boxes: "dets" input_poses: "poses" output_bounding_boxes: "dets_filtered" head_pose_3d_threshold: { minPitch: -8 maxPitch: 8 minYaw:-20 maxYaw: 20 minRoll: -20 maxRoll: 20 } } } process_node: { type: FACE_FEATURE_CALC name: "facerec" logging: false face_feature_calc_config: { input_frame: "input" input_dets: "dets_filtered" output_features: "fvecs" } } process_node: { type: FACE_DEMOGRAPHY_CALC name: "facedem" logging: false face_demography_calc_config: { input_frame: "input" input_detections: "dets_filtered" output_genders: "genders" output_ages: "ages" } } process_node: { type: RESIZE name: "downscale" logging: false resize_config: { type: ABSOLUTE_SIZE input: "input" output: "lowres" width: 1280 } } process_node: { type: RESIZE name: "downscale2" logging: false resize_config: { type: ABSOLUTE_SIZE input: "anonymized" output: "lowres_anonymized" width: 1280 } } process_node: { type: SKELETON_ESTIMATOR name: "skeleton_estimator" skeleton_estimator_config { input_frame: "input" skeletons: "skeletons" } } # kafka output process_node:{type: KAFKA_OUTPUT name: "frameinfo_out" kafka_output_config: {topic_name: "uvapdemo.cam.1.frameinfo.FrameInfoRecord.json" input_node: "frameinfo"}} process_node:{type: KAFKA_OUTPUT name: "det_out" kafka_output_config: {topic_name: "uvapdemo.cam.1.dets.ObjectDetectionRecord.json" input_node: "dets"}} process_node:{type: KAFKA_OUTPUT name: "pose_out" kafka_output_config: {topic_name: "uvapdemo.cam.1.poses.HeadPose3DRecord.json" input_node: "poses"}} process_node:{type: KAFKA_OUTPUT name: "fvecs_out" kafka_output_config: {topic_name: "uvapdemo.cam.1.fvecs.FeatureVectorRecord.json" input_node: "fvecs"}} process_node:{type: KAFKA_OUTPUT name: "vid_out" kafka_output_config: {topic_name: "uvapdemo.cam.1.lowres.Image.jpg" input_node: "lowres"}} process_node:{type: KAFKA_OUTPUT name: "genders_out" kafka_output_config: {topic_name: "uvapdemo.cam.1.genders.GendersRecord.json" input_node: "genders"}} process_node:{type: KAFKA_OUTPUT name: "ages_out" kafka_output_config: {topic_name: "uvapdemo.cam.1.ages.AgesRecord.json" input_node: "ages"}} process_node:{type: KAFKA_OUTPUT name: "skeletons_out" kafka_output_config: {topic_name: "uvapdemo.cam.1.skeletons.SkeletonRecord.json" input_node: "skeletons"}} process_node:{type: KAFKA_OUTPUT name: "vid_out_anonym" kafka_output_config: {topic_name: "uvapdemo.cam.1.lowres_anonymized.Image.jpg" input_node: "lowres_anonymized"}} } } #################################################################################################################### # # Cam 2 # data_run: { input: { file_name: "rtsp://user:pwd@10.99.99.2:554/live1.sdp" } data_flow: { data_node: {type: FRAME name: "input"} data_node: {type: FRAME_INFO name: "frameinfo"} data_node: {type: FRAME name: "lowres"} data_node: {type: DETECTIONS name: "dets"} data_node: {type: DETECTIONS name: "dets_filtered"} data_node: {type: HEAD_POSE_3DS name: "poses"} data_node: {type: FEATURE_VECTORS name: "fvecs"} data_node: {type: GENDERS name: "genders"} data_node: {type: AGES name: "ages"} process_node: { type: FRAME_INFO_EXTRACTOR name: "frameinfocalc" logging: false frame_info_extractor_config: { input_frame: "input" output_info: "frameinfo" } } process_node: { type: OBJ_DETECTOR name: "det" logging: false obj_det_config: { type: HEAD input: "input" bounding_boxes: "dets" min_height_in_pixels: 32 max_height_in_pixels: 512 confidence_threshold: 0.95 image_scale_factor: 0.5 } } process_node: { type: HEAD_POSE_CALC name: "headposecalc" logging: false head_pose_calc_config: { input_frame: "input" input_bounding_boxes: "dets" output_poses: "poses" } } process_node: { type: HEAD_POSE_FILTER name: "headposefilter" logging: false head_pose_filter_config: { input_frame: "input" input_bounding_boxes: "dets" input_poses: "poses" output_bounding_boxes: "dets_filtered" head_pose_3d_threshold: { minPitch: -8 maxPitch: 8 minYaw:-20 maxYaw: 20 minRoll: -20 maxRoll: 20 } } } process_node: { type: FACE_FEATURE_CALC name: "facerec" logging: false face_feature_calc_config: { input_frame: "input" input_dets: "dets_filtered" output_features: "fvecs" } } process_node: { type: FACE_DEMOGRAPHY_CALC name: "facedem" logging: false face_demography_calc_config: { input_frame: "input" input_detections: "dets_filtered" output_genders: "genders" output_ages: "ages" } } process_node: { type: RESIZE name: "downscale" logging: false resize_config: { type: ABSOLUTE_SIZE input: "input" output: "lowres" width: 1280 } } # kafka output process_node:{type: KAFKA_OUTPUT name: "frameinfo_out" kafka_output_config: {topic_name: "uvapdemo.cam.2.frameinfo.FrameInfoRecord.json" input_node: "frameinfo"}} process_node:{type: KAFKA_OUTPUT name: "det_out" kafka_output_config: {topic_name: "uvapdemo.cam.2.dets.ObjectDetectionRecord.json" input_node: "dets"}} process_node:{type: KAFKA_OUTPUT name: "pose_out" kafka_output_config: {topic_name: "uvapdemo.cam.2.poses.HeadPose3DRecord.json" input_node: "poses"}} process_node:{type: KAFKA_OUTPUT name: "fvecs_out" kafka_output_config: {topic_name: "uvapdemo.cam.2.fvecs.FeatureVectorRecord.json" input_node: "fvecs"}} process_node:{type: KAFKA_OUTPUT name: "vid_out" kafka_output_config: {topic_name: "uvapdemo.cam.2.lowres.Image.jpg" input_node: "lowres"}} process_node:{type: KAFKA_OUTPUT name: "genders_out" kafka_output_config: {topic_name: "uvapdemo.cam.2.genders.GendersRecord.json" input_node: "genders"}} process_node:{type: KAFKA_OUTPUT name: "ages_out" kafka_output_config: {topic_name: "uvapdemo.cam.2.ages.AgesRecord.json" input_node: "ages"}} } }