diff --git a/pipeline/1_detect_aruco_observations.py b/pipeline/1_detect_aruco_observations.py new file mode 100644 index 0000000..90f9405 --- /dev/null +++ b/pipeline/1_detect_aruco_observations.py @@ -0,0 +1,587 @@ +#!/usr/bin/env python3 + +import argparse +import json +import os +import hashlib +import time +import uuid +from typing import Dict, Any + +import cv2 +import numpy as np + + +# ------------------------------------------------------------ +# Utilities +# ------------------------------------------------------------ + +def load_intrinsics_npz(npz_path: str): + data = np.load(npz_path) + + for k in ('camera_matrix', 'mtx', 'K'): + if k in data: + K = data[k].astype(np.float32) + break + else: + raise KeyError('Camera matrix not found in npz') + + for k in ('dist_coeffs', 'dist', 'D'): + if k in data: + D = data[k].astype(np.float32).reshape(-1, 1) + break + else: + D = np.zeros((5, 1), dtype=np.float32) + + return K, D + + +# ------------------------------------------------------------ + +def load_robot_vision_config(robot_json_path: str): + + with open(robot_json_path, 'r', encoding='utf-8') as f: + robot = json.load(f) + + vision_config = robot.get('vision_config', {}) + + marker_type = vision_config.get('MarkerType', 'DICT_4X4_250') + marker_size = float(vision_config.get('MarkerSize', 0.025)) + + return { + 'MarkerType': marker_type, + 'MarkerSize': marker_size + } + + +# ------------------------------------------------------------ + +def get_aruco_detector(dict_name: str): + + mapping = { + 'DICT_4X4_250': cv2.aruco.DICT_4X4_250, + 'DICT_5X5_100': cv2.aruco.DICT_5X5_100, + 'DICT_6X6_250': cv2.aruco.DICT_6X6_250, + 'DICT_ARUCO_ORIGINAL': cv2.aruco.DICT_ARUCO_ORIGINAL, + } + + dict_id = mapping.get(dict_name, cv2.aruco.DICT_4X4_250) + + dictionary = cv2.aruco.getPredefinedDictionary(dict_id) + + try: + params = cv2.aruco.DetectorParameters() + except Exception: + params = cv2.aruco.DetectorParameters_create() + + try: + detector = cv2.aruco.ArucoDetector(dictionary, params) + return detector, None + + except Exception: + return None, (dictionary, params) + + +# ------------------------------------------------------------ + +def detect_markers(image, detector_tuple): + + detector, fallback = detector_tuple + + if detector is not None: + + corners, ids, rejected = detector.detectMarkers(image) + + else: + + dictionary, params = fallback + + corners, ids, rejected = cv2.aruco.detectMarkers( + image, + dictionary, + parameters=params + ) + + return corners, ids, rejected + + +# ------------------------------------------------------------ + +def hash_file(path): + + sha = hashlib.sha256() + + with open(path, 'rb') as f: + + while True: + + chunk = f.read(1024 * 1024) + + if not chunk: + break + + sha.update(chunk) + + return sha.hexdigest() + + +# ------------------------------------------------------------ + +def polygon_mask(shape, polygon): + + mask = np.zeros(shape, dtype=np.uint8) + + cv2.fillConvexPoly( + mask, + polygon.astype(np.int32), + 255 + ) + + return mask + + +# ------------------------------------------------------------ + +def shrink_polygon(points, scale=0.80): + + center = np.mean(points, axis=0) + + shrunk = center + (points - center) * scale + + return shrunk.astype(np.float32) + + +# ------------------------------------------------------------ + +def compute_sharpness(gray_image, polygon): + + shrunk = shrink_polygon(polygon, scale=0.80) + + mask = polygon_mask(gray_image.shape, shrunk) + + pixels = gray_image[mask == 255] + + if pixels.size == 0: + return 0.0 + + temp = np.zeros_like(gray_image) + temp[mask == 255] = gray_image[mask == 255] + + lap = cv2.Laplacian(temp, cv2.CV_64F) + + values = lap[mask == 255] + + if values.size == 0: + return 0.0 + + return float(values.var()) + + +# ------------------------------------------------------------ + +def compute_contrast(gray_image, polygon): + + shrunk = shrink_polygon(polygon, scale=0.80) + + mask = polygon_mask(gray_image.shape, shrunk) + + pixels = gray_image[mask == 255] + + if pixels.size == 0: + + return { + 'p05': 0.0, + 'p95': 0.0, + 'dynamic_range': 0.0, + 'mean_gray': 0.0, + 'std_gray': 0.0 + } + + p05 = float(np.percentile(pixels, 5)) + p95 = float(np.percentile(pixels, 95)) + + return { + 'p05': p05, + 'p95': p95, + 'dynamic_range': float(p95 - p05), + 'mean_gray': float(np.mean(pixels)), + 'std_gray': float(np.std(pixels)) + } + + +# ------------------------------------------------------------ + +def compute_edge_ratio(corners): + + edge_lengths = [] + + for k in range(4): + + p1 = corners[k] + p2 = corners[(k + 1) % 4] + + edge_lengths.append( + float(np.linalg.norm(p1 - p2)) + ) + + edge_ratio = ( + max(edge_lengths) / + max(1e-6, min(edge_lengths)) + ) + + return edge_ratio, edge_lengths + + +# ------------------------------------------------------------ + +def compute_geometry_metrics(center, corners, width, height): + + image_center = np.array( + [width / 2.0, height / 2.0], + dtype=np.float32 + ) + + dist_center = np.linalg.norm(center - image_center) + + max_dist = np.linalg.norm(image_center) + + distance_center_norm = float( + dist_center / max(1e-6, max_dist) + ) + + min_x = np.min(corners[:, 0]) + max_x = np.max(corners[:, 0]) + + min_y = np.min(corners[:, 1]) + max_y = np.max(corners[:, 1]) + + border_distance_px = float(min( + min_x, + min_y, + width - max_x, + height - max_y + )) + + return { + 'distance_to_center_norm': distance_center_norm, + 'distance_to_border_px': border_distance_px + } + + +# ------------------------------------------------------------ + +def compute_confidence( + area_px, + sharpness, + edge_ratio, + dynamic_range, + border_distance_px +): + + score = 1.0 + + # area + score *= min(1.0, area_px / 1500.0) + + # sharpness + score *= min(1.0, sharpness / 120.0) + + # edge distortion + score *= 1.0 / max(1.0, edge_ratio) + + # contrast + score *= min(1.0, dynamic_range / 80.0) + + # border distance + score *= min(1.0, max(0.0, border_distance_px) / 50.0) + + score = max(0.0, min(1.0, score)) + + return float(score) + + +# ------------------------------------------------------------ + +def main(): + + parser = argparse.ArgumentParser() + + parser.add_argument( + '-i', + '--image', + required=True + ) + + parser.add_argument( + '-npz', + '--intrinsics', + required=True + ) + + parser.add_argument( + '-robot', + '--robot', + required=True + ) + + parser.add_argument( + '-cameraId', + '--cameraId', + required=True, + type=str + ) + + parser.add_argument( + '-outDir', + '--outDir', + required=True + ) + + args = parser.parse_args() + + os.makedirs(args.outDir, exist_ok=True) + + # -------------------------------------------------------- + # Load robot vision config + # -------------------------------------------------------- + + vision_config = load_robot_vision_config(args.robot) + + marker_type = vision_config['MarkerType'] + marker_size = vision_config['MarkerSize'] + + # -------------------------------------------------------- + # Load image + # -------------------------------------------------------- + + image = cv2.imread(args.image) + + if image is None: + raise RuntimeError(f'Cannot read image: {args.image}') + + gray = cv2.cvtColor( + image, + cv2.COLOR_BGR2GRAY + ) + + height, width = gray.shape[:2] + + # -------------------------------------------------------- + # Intrinsics + # -------------------------------------------------------- + + K, D = load_intrinsics_npz(args.intrinsics) + + # -------------------------------------------------------- + # Detection + # -------------------------------------------------------- + + detector_tuple = get_aruco_detector(marker_type) + + corners_list, ids, rejected = detect_markers( + gray, + detector_tuple + ) + + detections = [] + + # -------------------------------------------------------- + # Valid detections + # -------------------------------------------------------- + + if ids is not None: + + ids = ids.flatten().tolist() + + for i, marker_id in enumerate(ids): + + corners = corners_list[i].reshape((4, 2)).astype(np.float32) + + center = corners.mean(axis=0) + + area_px = float( + cv2.contourArea(corners) + ) + + perimeter_px = float( + cv2.arcLength(corners, True) + ) + + edge_ratio, edge_lengths = compute_edge_ratio(corners) + + sharpness = compute_sharpness( + gray, + corners + ) + + contrast = compute_contrast( + gray, + corners + ) + + geometry = compute_geometry_metrics( + center, + corners, + width, + height + ) + + confidence = compute_confidence( + area_px=area_px, + sharpness=sharpness, + edge_ratio=edge_ratio, + dynamic_range=contrast['dynamic_range'], + border_distance_px=geometry['distance_to_border_px'] + ) + + detection = { + + 'observation_id': str(uuid.uuid4()), + + 'type': 'aruco', + + 'marker_id': int(marker_id), + + 'marker_size_m': marker_size, + + 'image_points_px': corners.tolist(), + + 'center_px': center.tolist(), + + 'quality': { + + 'area_px': area_px, + + 'perimeter_px': perimeter_px, + + 'sharpness': { + 'laplacian_var': sharpness + }, + + 'contrast': contrast, + + 'geometry': geometry, + + 'edge_ratio': edge_ratio, + + 'edge_lengths_px': edge_lengths + }, + + 'confidence': confidence + } + + detections.append(detection) + + # -------------------------------------------------------- + # Rejected candidates + # -------------------------------------------------------- + + rejected_candidates = [] + + if rejected is not None: + + for candidate in rejected: + + pts = candidate.reshape((-1, 2)).astype(np.float32) + + center = pts.mean(axis=0) + + area_px = float( + cv2.contourArea(pts) + ) + + rejected_candidates.append({ + + 'image_points_px': pts.tolist(), + + 'center_px': center.tolist(), + + 'area_px': area_px + }) + + # -------------------------------------------------------- + # Final output + # -------------------------------------------------------- + + output = { + + 'schema_version': '1.0', + + 'created_utc': time.strftime( + '%Y-%m-%dT%H:%M:%SZ', + time.gmtime() + ), + + 'vision_config': { + 'MarkerType': marker_type, + 'MarkerSize': marker_size + }, + + 'camera': { + + 'camera_id': args.cameraId, + + 'intrinsics_file': os.path.abspath(args.intrinsics), + + 'camera_matrix': K.tolist(), + + 'distortion_coefficients': D.reshape(-1).tolist() + }, + + 'image': { + + 'image_file': os.path.abspath(args.image), + + 'image_sha256': hash_file(args.image), + + 'width_px': int(width), + + 'height_px': int(height) + }, + + 'aruco': { + + 'dictionary': marker_type, + + 'num_detected_markers': len(detections), + + 'num_rejected_candidates': len(rejected_candidates) + }, + + 'detections': detections, + + 'rejected_candidates': rejected_candidates + } + + # -------------------------------------------------------- + # Output path + # -------------------------------------------------------- + + input_filename = os.path.basename(args.image) + + input_base = os.path.splitext(input_filename)[0] + + out_json = os.path.join( + args.outDir, + f'{input_base}_aruco_detection.json' + ) + + # -------------------------------------------------------- + # Save JSON + # -------------------------------------------------------- + + with open(out_json, 'w', encoding='utf-8') as f: + + json.dump( + output, + f, + indent=2 + ) + + print(f'Saved: {out_json}') + + +# ------------------------------------------------------------ + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/pipeline/2_KameraPosition.py b/pipeline/2_KameraPosition.py new file mode 100644 index 0000000..cf4c5d1 --- /dev/null +++ b/pipeline/2_KameraPosition.py @@ -0,0 +1,562 @@ +#!/usr/bin/env python3 +""" +Step 2 of the vision pipeline +============================= + +Overall workflow +---------------- +1) Detect ArUco markers in each image and store 2D corners per marker. +2) Use the Board markers from robot.json as fixed world references. +3) Estimate the camera pose for each image with a Perspective-n-Point (PnP) + solve from the detected 2D corners and the known 3D Board marker corners. +4) Use that camera pose later as the fixed extrinsic input for articulated + bundle adjustment of the robot joints. + +Mathematical methods +-------------------- +- Homogeneous coordinates and rigid transforms in SE(3) +- ArUco marker geometry on a known board frame +- Perspective projection with camera intrinsics K and distortion D +- Robust pose estimation with RANSAC-PnP +- Optional nonlinear refinement by minimizing reprojection error + +Conventions +----------- +- robot.json defines the Board frame as the world frame. +- The camera pose reported by this script is the pose of the CAMERA in the + Board/world frame. +- The OpenCV rvec/tvec output is the object pose in the camera frame. + We invert that transform to obtain world_T_camera. + +Expected inputs +--------------- +- robot.json containing Board marker positions in millimeters. +- ArUco detection JSON(s) from detect_aruco_observations.py. + +Important: +The detection JSON already contains the camera intrinsics and distortion +coefficients copied from the calibration file during Step 1. +Therefore Step 2 no longer requires the original .npz file. +The detection JSON becomes the self-contained handover format between +pipeline stages. + +Output +------ +A JSON file per input detection file containing: +- camera pose (world_T_camera) +- camera pose inverse (camera_T_world) +- per-marker and global reprojection errors +- number of inlier correspondences +- list of used marker IDs +""" + +from __future__ import annotations + +import argparse +import json +import math +import os +from dataclasses import dataclass +from pathlib import Path +from typing import Any, Dict, Iterable, List, Optional, Sequence, Tuple + +import cv2 +import numpy as np + + +# ---------------------------------------------------------------------------- +# Helpers +# ---------------------------------------------------------------------------- + + +def load_robot_json(robot_json_path: str) -> Dict[str, Any]: + with open(robot_json_path, "r", encoding="utf-8") as f: + return json.load(f) + + + +def load_intrinsics_from_detection_json(detection_json: Dict[str, Any]) -> Tuple[np.ndarray, np.ndarray]: + cam = detection_json.get("camera", {}) or {} + + if "camera_matrix" not in cam: + raise KeyError("camera_matrix missing in detection JSON") + + K = np.asarray(cam["camera_matrix"], dtype=np.float64) + + D = np.asarray( + cam.get("distortion_coefficients", [0, 0, 0, 0, 0]), + dtype=np.float64, + ).reshape(-1, 1) + + return K, D + + + +def as_float3(v: Any) -> np.ndarray: + arr = np.asarray(v, dtype=np.float64).reshape(-1) + if arr.size < 3: + arr = np.pad(arr, (0, 3 - arr.size)) + return arr[:3] + + + +def normalize(v: np.ndarray, eps: float = 1e-12) -> np.ndarray: + n = float(np.linalg.norm(v)) + if n < eps: + return v * 0.0 + return v / n + + + +def rotation_from_normal(normal: np.ndarray) -> np.ndarray: + """Return a 3x3 rotation matrix whose local +Z aligns with the given normal. + + The local x/y axes are chosen deterministically by projecting a stable world + reference axis into the tangent plane. + """ + z_axis = normalize(normal) + if np.linalg.norm(z_axis) < 1e-12: + raise ValueError("Degenerate normal vector") + + ref = np.array([1.0, 0.0, 0.0], dtype=np.float64) + if abs(float(np.dot(ref, z_axis))) > 0.9: + ref = np.array([0.0, 1.0, 0.0], dtype=np.float64) + + x_axis = ref - np.dot(ref, z_axis) * z_axis + x_axis = normalize(x_axis) + if np.linalg.norm(x_axis) < 1e-12: + ref = np.array([0.0, 1.0, 0.0], dtype=np.float64) + x_axis = ref - np.dot(ref, z_axis) * z_axis + x_axis = normalize(x_axis) + + y_axis = np.cross(z_axis, x_axis) + y_axis = normalize(y_axis) + + # Columns are the basis vectors of the local frame in world coordinates. + R = np.column_stack([x_axis, y_axis, z_axis]) + return R + + + +def rodrigues_to_matrix(rvec: np.ndarray) -> np.ndarray: + R, _ = cv2.Rodrigues(rvec.reshape(3, 1)) + return R.astype(np.float64) + + + +def matrix_to_rodrigues(R: np.ndarray) -> np.ndarray: + rvec, _ = cv2.Rodrigues(R.astype(np.float64)) + return rvec.reshape(3) + + + +def invert_rigid_transform(R: np.ndarray, t: np.ndarray) -> Tuple[np.ndarray, np.ndarray]: + """Invert p_cam = R * p_world + t.""" + R_inv = R.T + t_inv = -R_inv @ t.reshape(3) + return R_inv, t_inv + + + +def make_homogeneous(R: np.ndarray, t: np.ndarray) -> np.ndarray: + T = np.eye(4, dtype=np.float64) + T[:3, :3] = R + T[:3, 3] = t.reshape(3) + return T + + + +def project_points(points_3d: np.ndarray, rvec: np.ndarray, tvec: np.ndarray, K: np.ndarray, D: np.ndarray) -> np.ndarray: + pts = points_3d.reshape(-1, 1, 3).astype(np.float64) + img_pts, _ = cv2.projectPoints(pts, rvec.reshape(3, 1), tvec.reshape(3, 1), K, D) + return img_pts.reshape(-1, 2) + + + +def rms_error(errors_px: np.ndarray) -> float: + if errors_px.size == 0: + return float("nan") + return float(np.sqrt(np.mean(np.sum(errors_px ** 2, axis=1)))) + + + +def safe_confidence(det: Dict[str, Any]) -> float: + try: + c = float(det.get("confidence", 1.0)) + except Exception: + c = 1.0 + return max(0.0, min(1.0, c)) + + +# ---------------------------------------------------------------------------- +# Robot board model +# ---------------------------------------------------------------------------- + + +@dataclass +class BoardMarker: + marker_id: int + center_world_mm: np.ndarray + normal_world: np.ndarray + size_mm: float + rotation_world: np.ndarray + + def corner_points_world_mm(self) -> np.ndarray: + """Return the 4 corner points in board/world coordinates. + + Corner order is OpenCV/ArUco compatible: + top-left, top-right, bottom-right, bottom-left in the marker local frame. + """ + s = float(self.size_mm) + half = s * 0.5 + + # Local marker corners in the marker's own frame, z=0. + corners_local = np.array([ + [-half, +half, 0.0], + [+half, +half, 0.0], + [+half, -half, 0.0], + [-half, -half, 0.0], + ], dtype=np.float64) + + corners_world = (self.rotation_world @ corners_local.T).T + self.center_world_mm.reshape(1, 3) + return corners_world + + + +def extract_board_markers(robot: Dict[str, Any]) -> Dict[int, BoardMarker]: + links = robot.get("links", {}) + if "Board" not in links: + raise KeyError("robot.json must contain links.Board for the world reference frame") + + board = links["Board"] + marker_defaults = robot.get("renderingInfo", {}).get("markerDefaults", {}) or {} + default_size_mm = float(marker_defaults.get("size", 25.0)) + + markers: Dict[int, BoardMarker] = {} + + for m in board.get("markers", []): + if not isinstance(m, dict): + continue + if "id" not in m or "position" not in m: + continue + + marker_id = int(m["id"]) + center = as_float3(m["position"]) + normal = as_float3(m.get("normal", [0, 0, 1])) + size_mm = float(m.get("size", default_size_mm)) + + # If a spin is present in the future, it can be added here. + # For the current Board markers it is not needed. + R = rotation_from_normal(normal) + + markers[marker_id] = BoardMarker( + marker_id=marker_id, + center_world_mm=center, + normal_world=normalize(normal), + size_mm=size_mm, + rotation_world=R, + ) + + if not markers: + raise ValueError("No Board markers found in robot.json") + + return markers + + +# ---------------------------------------------------------------------------- +# Observation loading +# ---------------------------------------------------------------------------- + + +def load_detection_json(path: str) -> Dict[str, Any]: + with open(path, "r", encoding="utf-8") as f: + return json.load(f) + + + +def build_pnp_correspondences( + detections: Sequence[Dict[str, Any]], + board_markers: Dict[int, BoardMarker], +) -> Tuple[np.ndarray, np.ndarray, np.ndarray, List[int]]: + """Build object/image correspondences from all detected Board markers. + + Returns: + object_points_mm: (N, 3) + image_points_px: (N, 2) + weights: (N,) + used_marker_ids: list of marker ids that contributed at least one corner + """ + object_points: List[np.ndarray] = [] + image_points: List[np.ndarray] = [] + weights: List[np.ndarray] = [] + used_marker_ids: List[int] = [] + + for det in detections: + if str(det.get("type", "")).lower() != "aruco": + continue + + try: + marker_id = int(det["marker_id"]) + except Exception: + continue + + if marker_id not in board_markers: + continue + + corners_px = np.asarray(det.get("image_points_px", []), dtype=np.float64) + if corners_px.shape != (4, 2): + continue + + marker = board_markers[marker_id] + corners_world_mm = marker.corner_points_world_mm() + + object_points.append(corners_world_mm) + image_points.append(corners_px) + + conf = safe_confidence(det) + # Repeat the marker confidence for all 4 corners. + weights.append(np.full((4,), conf, dtype=np.float64)) + used_marker_ids.append(marker_id) + + if not object_points: + raise ValueError("No usable Board marker correspondences found in detections") + + obj = np.concatenate(object_points, axis=0).astype(np.float64) + img = np.concatenate(image_points, axis=0).astype(np.float64) + w = np.concatenate(weights, axis=0).astype(np.float64) + + return obj, img, w, sorted(set(used_marker_ids)) + + +# ---------------------------------------------------------------------------- +# Pose estimation +# ---------------------------------------------------------------------------- + + +def pnp_initial_pose(object_points_mm: np.ndarray, image_points_px: np.ndarray, K: np.ndarray, D: np.ndarray) -> Tuple[np.ndarray, np.ndarray, np.ndarray]: + """Robust initial pose estimate using RANSAC-PnP when possible.""" + obj = object_points_mm.reshape(-1, 1, 3).astype(np.float64) + img = image_points_px.reshape(-1, 1, 2).astype(np.float64) + + # Prefer RANSAC for robustness. + ok, rvec, tvec, inliers = cv2.solvePnPRansac( + obj, + img, + K, + D, + iterationsCount=200, + reprojectionError=4.0, + confidence=0.999, + flags=cv2.SOLVEPNP_EPNP, + ) + + if not ok or rvec is None or tvec is None: + # Fallback to a direct solve. + ok, rvec, tvec = cv2.solvePnP( + obj, + img, + K, + D, + flags=cv2.SOLVEPNP_ITERATIVE, + ) + if not ok: + raise RuntimeError("cv2.solvePnP failed") + inliers = np.arange(len(object_points_mm), dtype=np.int32).reshape(-1, 1) + + rvec = rvec.reshape(3) + tvec = tvec.reshape(3) + + if inliers is None: + inliers = np.arange(len(object_points_mm), dtype=np.int32).reshape(-1, 1) + + return rvec, tvec, inliers + + + +def refine_pose_with_weights( + rvec_init: np.ndarray, + tvec_init: np.ndarray, + object_points_mm: np.ndarray, + image_points_px: np.ndarray, + weights: np.ndarray, + K: np.ndarray, + D: np.ndarray, +) -> Tuple[np.ndarray, np.ndarray]: + """Optional weighted nonlinear refinement. + + Uses OpenCV's LM refinement if available; otherwise falls back to the initial pose. + """ + rvec = rvec_init.reshape(3, 1).astype(np.float64) + tvec = tvec_init.reshape(3, 1).astype(np.float64) + + # Build a diagonal weighting by repeating stronger correspondences more often is not ideal. + # Instead, use a conservative weighted refinement via OpenCV if present. + if hasattr(cv2, "solvePnPRefineLM"): + try: + cv2.solvePnPRefineLM( + object_points_mm.reshape(-1, 1, 3).astype(np.float64), + image_points_px.reshape(-1, 1, 2).astype(np.float64), + K, + D, + rvec, + tvec, + ) + return rvec.reshape(3), tvec.reshape(3) + except Exception: + pass + + return rvec_init.reshape(3), tvec_init.reshape(3) + + + +def compute_reprojection_statistics( + object_points_mm: np.ndarray, + image_points_px: np.ndarray, + rvec: np.ndarray, + tvec: np.ndarray, + K: np.ndarray, + D: np.ndarray, +) -> Dict[str, Any]: + pred = project_points(object_points_mm, rvec, tvec, K, D) + residual = image_points_px - pred + err = np.linalg.norm(residual, axis=1) + + return { + "rmse_px": float(np.sqrt(np.mean(err ** 2))) if err.size else float("nan"), + "mean_px": float(np.mean(err)) if err.size else float("nan"), + "median_px": float(np.median(err)) if err.size else float("nan"), + "max_px": float(np.max(err)) if err.size else float("nan"), + "per_corner_errors_px": err.tolist(), + "per_corner_residuals_px": residual.tolist(), + } + + + +def pose_to_camera_in_world(rvec: np.ndarray, tvec: np.ndarray) -> Dict[str, Any]: + """Convert object-to-camera pose into camera pose in world coordinates.""" + R_wc_obj = rodrigues_to_matrix(rvec) + t_wc_obj = tvec.reshape(3) + + # object/world -> camera is: p_cam = R * p_world + t + # therefore camera in world is inverse transform. + R_cw, t_cw = invert_rigid_transform(R_wc_obj, t_wc_obj) + T_world_camera = make_homogeneous(R_cw, t_cw) + T_camera_world = make_homogeneous(R_wc_obj, t_wc_obj) + + return { + "rvec_world_to_camera": rvec.reshape(3).tolist(), + "tvec_world_to_camera_mm": tvec.reshape(3).tolist(), + "R_world_to_camera": R_wc_obj.tolist(), + "T_camera_world": T_camera_world.tolist(), + "R_camera_to_world": R_cw.tolist(), + "t_camera_in_world_mm": t_cw.tolist(), + "T_world_camera": T_world_camera.tolist(), + } + + + +def estimate_camera_pose_from_detection( + detection_json: Dict[str, Any], + robot: Dict[str, Any], +) -> Dict[str, Any]: + board_markers = extract_board_markers(robot) + K, D = load_intrinsics_from_detection_json(detection_json) + + detections = detection_json.get("detections", []) + object_points_mm, image_points_px, weights, used_marker_ids = build_pnp_correspondences(detections, board_markers) + + rvec_init, tvec_init, inliers = pnp_initial_pose(object_points_mm, image_points_px, K, D) + rvec, tvec = refine_pose_with_weights(rvec_init, tvec_init, object_points_mm, image_points_px, weights, K, D) + + stats = compute_reprojection_statistics(object_points_mm, image_points_px, rvec, tvec, K, D) + pose = pose_to_camera_in_world(rvec, tvec) + + # Add a few diagnostics useful for checking against the real world. + camera_pose = { + **pose, + "statistics": { + **stats, + "num_correspondences": int(len(object_points_mm)), + "num_inliers": int(len(inliers)) if inliers is not None else int(len(object_points_mm)), + "used_marker_ids": used_marker_ids, + }, + "input": { + "detection_image_file": detection_json.get("image", {}).get("image_file"), + "camera_id": detection_json.get("camera", {}).get("camera_id"), + "marker_dictionary": detection_json.get("vision_config", {}).get("MarkerType"), + }, + } + + return camera_pose + + +# ---------------------------------------------------------------------------- +# Main +# ---------------------------------------------------------------------------- + + +def main() -> None: + parser = argparse.ArgumentParser(description="Estimate camera pose from Board ArUco markers using PnP.") + parser.add_argument("--robot", required=True, help="Path to robot.json") + parser.add_argument( + "--detections", + required=True, + nargs="+", + help="One or more detection JSON files created by detect_aruco_observations.py", + ) + parser.add_argument("--outdir", required=True, help="Directory for the pose JSON outputs") + parser.add_argument("--write-summary", action="store_true", help="Write one combined summary JSON as well") + args = parser.parse_args() + + os.makedirs(args.outdir, exist_ok=True) + + robot = load_robot_json(args.robot) + + summary: Dict[str, Any] = { + "schema_version": "1.0", + "algorithm": "board_pnp_camera_pose", + "robot_file": os.path.abspath(args.robot), + "intrinsics_source": "embedded_in_detection_json", + "results": [], + } + + for det_path in args.detections: + detection_json = load_detection_json(det_path) + pose = estimate_camera_pose_from_detection(detection_json, robot) + + base = Path(det_path).stem + out_path = Path(args.outdir) / f"{base}_camera_pose.json" + + payload = { + "schema_version": "1.0", + "created_utc": __import__("time").strftime("%Y-%m-%dT%H:%M:%SZ", __import__("time").gmtime()), + "source_detection_file": os.path.abspath(det_path), + "camera_pose": pose, + } + + with open(out_path, "w", encoding="utf-8") as f: + json.dump(payload, f, indent=2) + + summary["results"].append({ + "detection_file": os.path.abspath(det_path), + "output_file": str(out_path), + "rmse_px": pose["statistics"]["rmse_px"], + "median_px": pose["statistics"]["median_px"], + "num_correspondences": pose["statistics"]["num_correspondences"], + "used_marker_ids": pose["statistics"]["used_marker_ids"], + }) + + print(f"Saved: {out_path}") + print(f" RMSE: {pose['statistics']['rmse_px']:.3f} px") + print(f" Median: {pose['statistics']['median_px']:.3f} px") + print(f" Used markers: {pose['statistics']['used_marker_ids']}") + + if args.write_summary: + summary_path = Path(args.outdir) / "camera_pose_summary.json" + with open(summary_path, "w", encoding="utf-8") as f: + json.dump(summary, f, indent=2) + print(f"Saved summary: {summary_path}") + + +if __name__ == "__main__": + main() diff --git a/pipeline/camera_pose_summary.json b/pipeline/camera_pose_summary.json new file mode 100644 index 0000000..e6d5dad --- /dev/null +++ b/pipeline/camera_pose_summary.json @@ -0,0 +1,47 @@ +{ + "schema_version": "1.0", + "algorithm": "board_pnp_camera_pose", + "robot_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\robot.json", + "intrinsics_source": "embedded_in_detection_json", + "results": [ + { + "detection_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1a_aruco_detection.json", + "output_file": "render_1a_aruco_detection_camera_pose.json", + "rmse_px": 53.69444650385422, + "median_px": 32.08915387366267, + "num_correspondences": 32, + "used_marker_ids": [ + 205, + 206, + 207, + 208, + 210, + 211, + 215, + 217 + ] + }, + { + "detection_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1b_aruco_detection.json", + "output_file": "render_1b_aruco_detection_camera_pose.json", + "rmse_px": 0.9028284747812563, + "median_px": 0.87428115526563, + "num_correspondences": 8, + "used_marker_ids": [ + 210, + 215 + ] + }, + { + "detection_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1c_aruco_detection.json", + "output_file": "render_1c_aruco_detection_camera_pose.json", + "rmse_px": 1.013497154241286, + "median_px": 0.98147711476875, + "num_correspondences": 8, + "used_marker_ids": [ + 210, + 214 + ] + } + ] +} \ No newline at end of file diff --git a/pipeline/render.npz b/pipeline/render.npz new file mode 100644 index 0000000..6243600 Binary files /dev/null and b/pipeline/render.npz differ diff --git a/pipeline/render_1a.png b/pipeline/render_1a.png new file mode 100644 index 0000000..4451893 Binary files /dev/null and b/pipeline/render_1a.png differ diff --git a/pipeline/render_1a_aruco_detection.json b/pipeline/render_1a_aruco_detection.json new file mode 100644 index 0000000..24b1a5f --- /dev/null +++ b/pipeline/render_1a_aruco_detection.json @@ -0,0 +1,11244 @@ +{ + "schema_version": "1.0", + "created_utc": "2026-05-28T14:19:26Z", + "vision_config": { + "MarkerType": "DICT_4X4_250", + "MarkerSize": 0.025 + }, + "camera": { + "camera_id": "cam1", + "intrinsics_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render.npz", + "camera_matrix": [ + [ + 1777.77783203125, + 0.0, + 640.0 + ], + [ + 0.0, + 1500.0, + 360.0 + ], + [ + 0.0, + 0.0, + 1.0 + ] + ], + "distortion_coefficients": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ] + }, + "image": { + "image_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1a.png", + "image_sha256": "693cee15555027b57d05defcf84517eafed047372b0effa201fc0c3fbc9f664f", + "width_px": 1280, + "height_px": 720 + }, + "aruco": { + "dictionary": "DICT_4X4_250", + "num_detected_markers": 17, + "num_rejected_candidates": 411 + }, + "detections": [ + { + "observation_id": "e42f5548-1d19-4c52-95b2-8bf325ee6c9d", + "type": "aruco", + "marker_id": 102, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 863.0, + 344.0 + ], + [ + 894.0, + 309.0 + ], + [ + 936.0, + 332.0 + ], + [ + 906.0, + 368.0 + ] + ], + "center_px": [ + 899.75, + 338.25 + ], + "quality": { + "area_px": 2225.5, + "perimeter_px": 190.7457504272461, + "sharpness": { + "laplacian_var": 3935.778766550373 + }, + "contrast": { + "p05": 14.0, + "p95": 185.0, + "dynamic_range": 171.0, + "mean_gray": 101.42780748663101, + "std_gray": 79.4179284235363 + }, + "geometry": { + "distance_to_center_norm": 0.3549750745296478, + "distance_to_border_px": 309.0 + }, + "edge_ratio": 1.0532483321651058, + "edge_lengths_px": [ + 46.75468063354492, + 47.88528060913086, + 46.86149978637695, + 49.24428939819336 + ] + }, + "confidence": 0.9494437061622057 + }, + { + "observation_id": "aac1b8f3-148b-4581-85f3-f61aeb42e46f", + "type": "aruco", + "marker_id": 243, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 524.0, + 300.0 + ], + [ + 558.0, + 275.0 + ], + [ + 577.0, + 317.0 + ], + [ + 544.0, + 342.0 + ] + ], + "center_px": [ + 550.75, + 308.5 + ], + "quality": { + "area_px": 1894.5, + "perimeter_px": 176.21891403198242, + "sharpness": { + "laplacian_var": 2678.6956247003295 + }, + "contrast": { + "p05": 25.0, + "p95": 191.0, + "dynamic_range": 166.0, + "mean_gray": 82.62843676355067, + "std_gray": 73.67721820744883 + }, + "geometry": { + "distance_to_center_norm": 0.14032743871212006, + "distance_to_border_px": 275.0 + }, + "edge_ratio": 1.1236297656439467, + "edge_lengths_px": [ + 42.20189666748047, + 46.097721099853516, + 41.400482177734375, + 46.51881408691406 + ] + }, + "confidence": 0.8899728634608616 + }, + { + "observation_id": "abc1f47b-193a-4dc8-a7b0-27bfdbb0b05d", + "type": "aruco", + "marker_id": 210, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 137.0, + 662.0 + ], + [ + 172.0, + 635.0 + ], + [ + 200.0, + 659.0 + ], + [ + 165.0, + 686.0 + ] + ], + "center_px": [ + 168.5, + 660.5 + ], + "quality": { + "area_px": 1596.0, + "perimeter_px": 162.16449737548828, + "sharpness": { + "laplacian_var": 3797.5312506581813 + }, + "contrast": { + "p05": 17.0, + "p95": 180.0, + "dynamic_range": 163.0, + "mean_gray": 75.3645933014354, + "std_gray": 71.58896556303098 + }, + "geometry": { + "distance_to_center_norm": 0.7614269256591797, + "distance_to_border_px": 34.0 + }, + "edge_ratio": 1.1986511772098227, + "edge_lengths_px": [ + 44.204071044921875, + 36.878177642822266, + 44.204071044921875, + 36.878177642822266 + ] + }, + "confidence": 0.5673043275049208 + }, + { + "observation_id": "37d67d6b-080d-4fe5-8d41-01529b86f337", + "type": "aruco", + "marker_id": 247, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 543.0, + 206.0 + ], + [ + 574.0, + 184.0 + ], + [ + 610.0, + 203.0 + ], + [ + 578.0, + 226.0 + ] + ], + "center_px": [ + 576.25, + 204.75 + ], + "quality": { + "area_px": 1413.0, + "perimeter_px": 158.43882751464844, + "sharpness": { + "laplacian_var": 4202.582433286217 + }, + "contrast": { + "p05": 10.0, + "p95": 176.0, + "dynamic_range": 166.0, + "mean_gray": 91.01580611169652, + "std_gray": 74.78021722492437 + }, + "geometry": { + "distance_to_center_norm": 0.22855591773986816, + "distance_to_border_px": 184.0 + }, + "edge_ratio": 1.0708467232203849, + "edge_lengths_px": [ + 38.01315689086914, + 40.70626449584961, + 39.408119201660156, + 40.31128692626953 + ] + }, + "confidence": 0.8796777163094818 + }, + { + "observation_id": "3de53c1a-8522-488d-b41a-7aeee4806ca7", + "type": "aruco", + "marker_id": 246, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 593.0, + 172.0 + ], + [ + 623.0, + 150.0 + ], + [ + 658.0, + 169.0 + ], + [ + 628.0, + 190.0 + ] + ], + "center_px": [ + 625.5, + 170.25 + ], + "quality": { + "area_px": 1307.5, + "perimeter_px": 153.0037727355957, + "sharpness": { + "laplacian_var": 3236.7051337367984 + }, + "contrast": { + "p05": 10.0, + "p95": 174.0, + "dynamic_range": 164.0, + "mean_gray": 59.25871766029246, + "std_gray": 68.86066607932854 + }, + "geometry": { + "distance_to_center_norm": 0.25916191935539246, + "distance_to_border_px": 150.0 + }, + "edge_ratio": 1.0875198679615226, + "edge_lengths_px": [ + 37.202152252197266, + 39.824615478515625, + 36.619667053222656, + 39.357337951660156 + ] + }, + "confidence": 0.8015179238063419 + }, + { + "observation_id": "e1a0ab10-e50b-4a82-b411-82fb981162bf", + "type": "aruco", + "marker_id": 101, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 842.0, + 431.0 + ], + [ + 838.0, + 405.0 + ], + [ + 880.0, + 430.0 + ], + [ + 882.0, + 455.0 + ] + ], + "center_px": [ + 860.5, + 430.25 + ], + "quality": { + "area_px": 972.0, + "perimeter_px": 146.9107780456543, + "sharpness": { + "laplacian_var": 3563.870814189421 + }, + "contrast": { + "p05": 40.0, + "p95": 170.0, + "dynamic_range": 130.0, + "mean_gray": 96.38335809806836, + "std_gray": 56.1831421207441 + }, + "geometry": { + "distance_to_center_norm": 0.31515657901763916, + "distance_to_border_px": 265.0 + }, + "edge_ratio": 1.9488695631540953, + "edge_lengths_px": [ + 26.305892944335938, + 48.87739944458008, + 25.079872131347656, + 46.647613525390625 + ] + }, + "confidence": 0.3325004465415643 + }, + { + "observation_id": "c920e3b3-46df-42ee-8131-d89c5b52a02d", + "type": "aruco", + "marker_id": 215, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 520.0, + 489.0 + ], + [ + 548.0, + 466.0 + ], + [ + 577.0, + 486.0 + ], + [ + 549.0, + 509.0 + ] + ], + "center_px": [ + 548.5, + 487.5 + ], + "quality": { + "area_px": 1227.0, + "perimeter_px": 142.92633819580078, + "sharpness": { + "laplacian_var": 3704.0260869185627 + }, + "contrast": { + "p05": 10.0, + "p95": 176.0, + "dynamic_range": 166.0, + "mean_gray": 74.18817852834741, + "std_gray": 74.50710285964344 + }, + "geometry": { + "distance_to_center_norm": 0.213719442486763, + "distance_to_border_px": 211.0 + }, + "edge_ratio": 1.0285998645985972, + "edge_lengths_px": [ + 36.2353401184082, + 35.22782897949219, + 36.2353401184082, + 35.22782897949219 + ] + }, + "confidence": 0.7952557920267838 + }, + { + "observation_id": "795ff943-1c0e-4689-a441-3a854d550c49", + "type": "aruco", + "marker_id": 124, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 731.0, + 365.0 + ], + [ + 725.0, + 339.0 + ], + [ + 764.0, + 362.0 + ], + [ + 769.0, + 388.0 + ] + ], + "center_px": [ + 747.25, + 363.5 + ], + "quality": { + "area_px": 874.5, + "perimeter_px": 142.85512161254883, + "sharpness": { + "laplacian_var": 3569.5639450778804 + }, + "contrast": { + "p05": 41.0, + "p95": 169.0, + "dynamic_range": 128.0, + "mean_gray": 96.77759472817134, + "std_gray": 55.93531471356835 + }, + "geometry": { + "distance_to_center_norm": 0.14613474905490875, + "distance_to_border_px": 332.0 + }, + "edge_ratio": 1.7100858488288635, + "edge_lengths_px": [ + 26.68332862854004, + 45.27692413330078, + 26.476404190063477, + 44.41846466064453 + ] + }, + "confidence": 0.34091855704160245 + }, + { + "observation_id": "4bf69404-e235-4ae6-9f9a-9c63e2110464", + "type": "aruco", + "marker_id": 229, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 450.0, + 259.0 + ], + [ + 482.0, + 236.0 + ], + [ + 511.0, + 235.0 + ], + [ + 477.0, + 258.0 + ] + ], + "center_px": [ + 480.0, + 247.0 + ], + "quality": { + "area_px": 611.0, + "perimeter_px": 136.49262046813965, + "sharpness": { + "laplacian_var": 2271.5009939565166 + }, + "contrast": { + "p05": 20.0, + "p95": 136.0, + "dynamic_range": 116.0, + "mean_gray": 55.44152744630072, + "std_gray": 45.60616184926728 + }, + "geometry": { + "distance_to_center_norm": 0.26675668358802795, + "distance_to_border_px": 235.0 + }, + "edge_ratio": 1.5192824359947652, + "edge_lengths_px": [ + 39.408119201660156, + 29.017236709594727, + 41.04875183105469, + 27.018512725830078 + ] + }, + "confidence": 0.26810902547334975 + }, + { + "observation_id": "d8199773-c76d-4f4b-98c5-20a73fd9a07c", + "type": "aruco", + "marker_id": 122, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 781.0, + 242.0 + ], + [ + 809.0, + 242.0 + ], + [ + 846.0, + 262.0 + ], + [ + 823.0, + 264.0 + ] + ], + "center_px": [ + 814.75, + 252.5 + ], + "quality": { + "area_px": 575.0, + "perimeter_px": 140.55935287475586, + "sharpness": { + "laplacian_var": 2332.9301951620905 + }, + "contrast": { + "p05": 20.0, + "p95": 144.0, + "dynamic_range": 124.0, + "mean_gray": 56.91729323308271, + "std_gray": 47.96616055186142 + }, + "geometry": { + "distance_to_center_norm": 0.27940502762794495, + "distance_to_border_px": 242.0 + }, + "edge_ratio": 2.0536884606639982, + "edge_lengths_px": [ + 28.0, + 42.05948257446289, + 23.0867919921875, + 47.41307830810547 + ] + }, + "confidence": 0.18665602922528673 + }, + { + "observation_id": "86709fde-f2c4-454d-8a8d-fa65f085b53f", + "type": "aruco", + "marker_id": 198, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 355.0, + 259.0 + ], + [ + 388.0, + 238.0 + ], + [ + 412.0, + 237.0 + ], + [ + 379.0, + 259.0 + ] + ], + "center_px": [ + 383.5, + 248.25 + ], + "quality": { + "area_px": 499.5, + "perimeter_px": 126.79710388183594, + "sharpness": { + "laplacian_var": 3972.096222043203 + }, + "contrast": { + "p05": 22.3, + "p95": 135.0, + "dynamic_range": 112.7, + "mean_gray": 68.38616714697406, + "std_gray": 42.61002890981658 + }, + "geometry": { + "distance_to_center_norm": 0.3810231387615204, + "distance_to_border_px": 237.0 + }, + "edge_ratio": 1.652544339497884, + "edge_lengths_px": [ + 39.11521530151367, + 24.020824432373047, + 39.66106414794922, + 24.0 + ] + }, + "confidence": 0.20150745250271476 + }, + { + "observation_id": "f33274fe-ef96-4f6d-9277-2fcc92cf630f", + "type": "aruco", + "marker_id": 211, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 427.0, + 425.0 + ], + [ + 456.0, + 405.0 + ], + [ + 482.0, + 423.0 + ], + [ + 455.0, + 444.0 + ] + ], + "center_px": [ + 455.0, + 424.25 + ], + "quality": { + "area_px": 1071.5, + "perimeter_px": 134.89371490478516, + "sharpness": { + "laplacian_var": 3165.7184033540047 + }, + "contrast": { + "p05": 8.399999999999999, + "p95": 165.0, + "dynamic_range": 156.6, + "mean_gray": 68.09879839786382, + "std_gray": 69.14261001184734 + }, + "geometry": { + "distance_to_center_norm": 0.26670128107070923, + "distance_to_border_px": 276.0 + }, + "edge_ratio": 1.1140017860673477, + "edge_lengths_px": [ + 35.22782897949219, + 31.62277603149414, + 34.20526123046875, + 33.83784866333008 + ] + }, + "confidence": 0.6412317666518965 + }, + { + "observation_id": "de2af2cc-6cc7-476b-9d91-faa7cc5c6ec9", + "type": "aruco", + "marker_id": 208, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 630.0, + 399.0 + ], + [ + 655.0, + 379.0 + ], + [ + 684.0, + 396.0 + ], + [ + 660.0, + 417.0 + ] + ], + "center_px": [ + 657.25, + 397.75 + ], + "quality": { + "area_px": 1033.5, + "perimeter_px": 132.50724029541016, + "sharpness": { + "laplacian_var": 2848.9886204705635 + }, + "contrast": { + "p05": 7.0, + "p95": 154.0, + "dynamic_range": 147.0, + "mean_gray": 57.04347826086956, + "std_gray": 62.4690403227182 + }, + "geometry": { + "distance_to_center_norm": 0.05652238056063652, + "distance_to_border_px": 303.0 + }, + "edge_ratio": 1.0970595655180506, + "edge_lengths_px": [ + 32.015621185302734, + 33.61547088623047, + 31.890438079833984, + 34.98571014404297 + ] + }, + "confidence": 0.6280424706698967 + }, + { + "observation_id": "ecb219ea-1f29-47b4-bddb-ae7b6396099a", + "type": "aruco", + "marker_id": 217, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 905.0, + 176.0 + ], + [ + 924.0, + 161.0 + ], + [ + 952.0, + 174.0 + ], + [ + 933.0, + 190.0 + ] + ], + "center_px": [ + 928.5, + 175.25 + ], + "quality": { + "area_px": 690.5, + "perimeter_px": 111.22257423400879, + "sharpness": { + "laplacian_var": 3793.153007417641 + }, + "contrast": { + "p05": 9.0, + "p95": 161.0, + "dynamic_range": 152.0, + "mean_gray": 61.256513026052104, + "std_gray": 62.35783295888325 + }, + "geometry": { + "distance_to_center_norm": 0.4665455222129822, + "distance_to_border_px": 161.0 + }, + "edge_ratio": 1.2931956388084183, + "edge_lengths_px": [ + 24.20743751525879, + 30.870698928833008, + 24.83948516845703, + 31.30495262145996 + ] + }, + "confidence": 0.35596573288593486 + }, + { + "observation_id": "8aa4042f-e046-4153-adef-90d26b3b2851", + "type": "aruco", + "marker_id": 206, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 816.0, + 132.0 + ], + [ + 836.0, + 118.0 + ], + [ + 862.0, + 130.0 + ], + [ + 843.0, + 145.0 + ] + ], + "center_px": [ + 839.25, + 131.25 + ], + "quality": { + "area_px": 628.0, + "perimeter_px": 107.22283935546875, + "sharpness": { + "laplacian_var": 4112.338450277431 + }, + "contrast": { + "p05": 9.0, + "p95": 161.0, + "dynamic_range": 152.0, + "mean_gray": 63.62443438914027, + "std_gray": 61.59026881671632 + }, + "geometry": { + "distance_to_center_norm": 0.41312646865844727, + "distance_to_border_px": 118.0 + }, + "edge_ratio": 1.2379107901411548, + "edge_lengths_px": [ + 24.413110733032227, + 28.635643005371094, + 24.20743751525879, + 29.96664810180664 + ] + }, + "confidence": 0.33820423087105295 + }, + { + "observation_id": "cfc91889-c49d-4e09-9646-d5ac0df35e0e", + "type": "aruco", + "marker_id": 205, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 982.0, + 114.0 + ], + [ + 999.0, + 100.0 + ], + [ + 1027.0, + 112.0 + ], + [ + 1010.0, + 126.0 + ] + ], + "center_px": [ + 1004.5, + 113.0 + ], + "quality": { + "area_px": 596.0, + "perimeter_px": 104.97161483764648, + "sharpness": { + "laplacian_var": 5067.414824476962 + }, + "contrast": { + "p05": 9.0, + "p95": 161.0, + "dynamic_range": 152.0, + "mean_gray": 71.72076372315036, + "std_gray": 63.212494032456604 + }, + "geometry": { + "distance_to_center_norm": 0.5996246933937073, + "distance_to_border_px": 100.0 + }, + "edge_ratio": 1.383257847031654, + "edge_lengths_px": [ + 22.022714614868164, + 30.463092803955078, + 22.022714614868164, + 30.463092803955078 + ] + }, + "confidence": 0.28724459014346065 + }, + { + "observation_id": "70120b46-c57d-438a-893f-81c26ae4703f", + "type": "aruco", + "marker_id": 207, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 895.0, + 73.0 + ], + [ + 912.0, + 60.0 + ], + [ + 938.0, + 71.0 + ], + [ + 921.0, + 85.0 + ] + ], + "center_px": [ + 916.5, + 72.25 + ], + "quality": { + "area_px": 546.5, + "perimeter_px": 100.29047966003418, + "sharpness": { + "laplacian_var": 4016.6321593416924 + }, + "contrast": { + "p05": 10.0, + "p95": 159.0, + "dynamic_range": 149.0, + "mean_gray": 64.26385224274406, + "std_gray": 61.4948700002493 + }, + "geometry": { + "distance_to_center_norm": 0.5434604287147522, + "distance_to_border_px": 60.0 + }, + "edge_ratio": 1.3380557461583085, + "edge_lengths_px": [ + 21.40093421936035, + 28.23118782043457, + 22.022714614868164, + 28.635643005371094 + ] + }, + "confidence": 0.27228561618555186 + } + ], + "rejected_candidates": [ + { + "image_points_px": [ + [ + 1234.0, + 676.0 + ], + [ + 1265.0, + 694.0 + ], + [ + 1249.0, + 716.0 + ], + [ + 1218.0, + 697.0 + ] + ], + "center_px": [ + 1241.5, + 695.75 + ], + "area_px": 962.5 + }, + { + "image_points_px": [ + [ + 481.0, + 676.0 + ], + [ + 506.0, + 694.0 + ], + [ + 482.0, + 715.0 + ], + [ + 457.0, + 697.0 + ] + ], + "center_px": [ + 481.5, + 695.5 + ], + "area_px": 957.0 + }, + { + "image_points_px": [ + [ + 631.0, + 667.0 + ], + [ + 657.0, + 686.0 + ], + [ + 634.0, + 707.0 + ], + [ + 609.0, + 689.0 + ] + ], + "center_px": [ + 632.75, + 687.25 + ], + "area_px": 964.5 + }, + { + "image_points_px": [ + [ + 780.0, + 659.0 + ], + [ + 807.0, + 677.0 + ], + [ + 786.0, + 698.0 + ], + [ + 759.0, + 680.0 + ] + ], + "center_px": [ + 783.0, + 678.5 + ], + "area_px": 945.0 + }, + { + "image_points_px": [ + [ + 730.0, + 662.0 + ], + [ + 757.0, + 680.0 + ], + [ + 736.0, + 701.0 + ], + [ + 709.0, + 683.0 + ] + ], + "center_px": [ + 733.0, + 681.5 + ], + "area_px": 945.0 + }, + { + "image_points_px": [ + [ + 581.0, + 670.0 + ], + [ + 606.0, + 688.0 + ], + [ + 585.0, + 709.0 + ], + [ + 558.0, + 691.0 + ] + ], + "center_px": [ + 582.5, + 689.5 + ], + "area_px": 942.0 + }, + { + "image_points_px": [ + [ + 34.0, + 659.0 + ], + [ + 53.0, + 678.0 + ], + [ + 24.0, + 698.0 + ], + [ + 5.0, + 680.0 + ] + ], + "center_px": [ + 29.0, + 678.75 + ], + "area_px": 926.0 + }, + { + "image_points_px": [ + [ + 680.0, + 665.0 + ], + [ + 707.0, + 683.0 + ], + [ + 685.0, + 704.0 + ], + [ + 659.0, + 685.0 + ] + ], + "center_px": [ + 682.75, + 684.25 + ], + "area_px": 941.0 + }, + { + "image_points_px": [ + [ + 1122.0, + 640.0 + ], + [ + 1152.0, + 658.0 + ], + [ + 1135.0, + 679.0 + ], + [ + 1105.0, + 661.0 + ] + ], + "center_px": [ + 1128.5, + 659.5 + ], + "area_px": 936.0 + }, + { + "image_points_px": [ + [ + 531.0, + 673.0 + ], + [ + 556.0, + 691.0 + ], + [ + 534.0, + 712.0 + ], + [ + 508.0, + 694.0 + ] + ], + "center_px": [ + 532.25, + 692.5 + ], + "area_px": 940.5 + }, + { + "image_points_px": [ + [ + 84.0, + 656.0 + ], + [ + 104.0, + 675.0 + ], + [ + 75.0, + 695.0 + ], + [ + 56.0, + 677.0 + ] + ], + "center_px": [ + 79.75, + 675.75 + ], + "area_px": 927.0 + }, + { + "image_points_px": [ + [ + 1170.0, + 638.0 + ], + [ + 1201.0, + 655.0 + ], + [ + 1185.0, + 676.0 + ], + [ + 1154.0, + 658.0 + ] + ], + "center_px": [ + 1177.5, + 656.75 + ], + "area_px": 915.5 + }, + { + "image_points_px": [ + [ + 878.0, + 654.0 + ], + [ + 906.0, + 672.0 + ], + [ + 887.0, + 693.0 + ], + [ + 859.0, + 675.0 + ] + ], + "center_px": [ + 882.5, + 673.5 + ], + "area_px": 930.0 + }, + { + "image_points_px": [ + [ + 829.0, + 656.0 + ], + [ + 856.0, + 674.0 + ], + [ + 837.0, + 695.0 + ], + [ + 809.0, + 677.0 + ] + ], + "center_px": [ + 832.75, + 675.5 + ], + "area_px": 928.5 + }, + { + "image_points_px": [ + [ + 42.0, + 619.0 + ], + [ + 62.0, + 637.0 + ], + [ + 33.0, + 657.0 + ], + [ + 14.0, + 639.0 + ] + ], + "center_px": [ + 37.75, + 638.0 + ], + "area_px": 903.0 + }, + { + "image_points_px": [ + [ + 530.0, + 633.0 + ], + [ + 555.0, + 650.0 + ], + [ + 532.0, + 671.0 + ], + [ + 507.0, + 653.0 + ] + ], + "center_px": [ + 531.0, + 651.75 + ], + "area_px": 915.0 + }, + { + "image_points_px": [ + [ + 1074.0, + 643.0 + ], + [ + 1103.0, + 661.0 + ], + [ + 1086.0, + 681.0 + ], + [ + 1056.0, + 664.0 + ] + ], + "center_px": [ + 1079.75, + 662.25 + ], + "area_px": 911.0 + }, + { + "image_points_px": [ + [ + 1025.0, + 646.0 + ], + [ + 1054.0, + 664.0 + ], + [ + 1036.0, + 684.0 + ], + [ + 1007.0, + 666.0 + ] + ], + "center_px": [ + 1030.5, + 665.0 + ], + "area_px": 904.0 + }, + { + "image_points_px": [ + [ + 725.0, + 622.0 + ], + [ + 751.0, + 639.0 + ], + [ + 731.0, + 660.0 + ], + [ + 704.0, + 642.0 + ] + ], + "center_px": [ + 727.75, + 640.75 + ], + "area_px": 902.0 + }, + { + "image_points_px": [ + [ + 1219.0, + 635.0 + ], + [ + 1249.0, + 653.0 + ], + [ + 1234.0, + 673.0 + ], + [ + 1203.0, + 655.0 + ] + ], + "center_px": [ + 1226.25, + 654.0 + ], + "area_px": 889.0 + }, + { + "image_points_px": [ + [ + 628.0, + 627.0 + ], + [ + 653.0, + 644.0 + ], + [ + 632.0, + 665.0 + ], + [ + 606.0, + 647.0 + ] + ], + "center_px": [ + 629.75, + 645.75 + ], + "area_px": 899.0 + }, + { + "image_points_px": [ + [ + 579.0, + 630.0 + ], + [ + 604.0, + 647.0 + ], + [ + 581.0, + 668.0 + ], + [ + 557.0, + 650.0 + ] + ], + "center_px": [ + 580.25, + 648.75 + ], + "area_px": 896.0 + }, + { + "image_points_px": [ + [ + 481.0, + 635.0 + ], + [ + 505.0, + 653.0 + ], + [ + 482.0, + 673.0 + ], + [ + 458.0, + 656.0 + ] + ], + "center_px": [ + 481.5, + 654.25 + ], + "area_px": 894.5 + }, + { + "image_points_px": [ + [ + 822.0, + 617.0 + ], + [ + 849.0, + 634.0 + ], + [ + 829.0, + 654.0 + ], + [ + 802.0, + 637.0 + ] + ], + "center_px": [ + 825.5, + 635.5 + ], + "area_px": 880.0 + }, + { + "image_points_px": [ + [ + 774.0, + 619.0 + ], + [ + 800.0, + 637.0 + ], + [ + 780.0, + 657.0 + ], + [ + 754.0, + 640.0 + ] + ], + "center_px": [ + 777.0, + 638.25 + ], + "area_px": 883.0 + }, + { + "image_points_px": [ + [ + 1062.0, + 604.0 + ], + [ + 1091.0, + 621.0 + ], + [ + 1074.0, + 641.0 + ], + [ + 1045.0, + 624.0 + ] + ], + "center_px": [ + 1068.0, + 622.5 + ], + "area_px": 869.0 + }, + { + "image_points_px": [ + [ + 1157.0, + 599.0 + ], + [ + 1187.0, + 616.0 + ], + [ + 1170.0, + 636.0 + ], + [ + 1141.0, + 618.0 + ] + ], + "center_px": [ + 1163.75, + 617.25 + ], + "area_px": 864.0 + }, + { + "image_points_px": [ + [ + 337.0, + 604.0 + ], + [ + 358.0, + 621.0 + ], + [ + 333.0, + 641.0 + ], + [ + 311.0, + 624.0 + ] + ], + "center_px": [ + 334.75, + 622.5 + ], + "area_px": 863.5 + }, + { + "image_points_px": [ + [ + 385.0, + 601.0 + ], + [ + 407.0, + 618.0 + ], + [ + 382.0, + 638.0 + ], + [ + 360.0, + 621.0 + ] + ], + "center_px": [ + 383.5, + 619.5 + ], + "area_px": 865.0 + }, + { + "image_points_px": [ + [ + 1014.0, + 607.0 + ], + [ + 1042.0, + 623.0 + ], + [ + 1025.0, + 644.0 + ], + [ + 996.0, + 626.0 + ] + ], + "center_px": [ + 1019.25, + 625.0 + ], + "area_px": 867.5 + }, + { + "image_points_px": [ + [ + 966.0, + 609.0 + ], + [ + 994.0, + 626.0 + ], + [ + 977.0, + 646.0 + ], + [ + 948.0, + 629.0 + ] + ], + "center_px": [ + 971.25, + 627.5 + ], + "area_px": 867.5 + }, + { + "image_points_px": [ + [ + 918.0, + 612.0 + ], + [ + 946.0, + 629.0 + ], + [ + 927.0, + 649.0 + ], + [ + 900.0, + 632.0 + ] + ], + "center_px": [ + 922.75, + 630.5 + ], + "area_px": 864.5 + }, + { + "image_points_px": [ + [ + 870.0, + 615.0 + ], + [ + 897.0, + 631.0 + ], + [ + 878.0, + 652.0 + ], + [ + 851.0, + 634.0 + ] + ], + "center_px": [ + 874.0, + 633.0 + ], + "area_px": 863.0 + }, + { + "image_points_px": [ + [ + 976.0, + 649.0 + ], + [ + 1004.0, + 667.0 + ], + [ + 986.0, + 687.0 + ], + [ + 959.0, + 669.0 + ] + ], + "center_px": [ + 981.25, + 668.0 + ], + "area_px": 865.0 + }, + { + "image_points_px": [ + [ + 676.0, + 625.0 + ], + [ + 702.0, + 642.0 + ], + [ + 682.0, + 662.0 + ], + [ + 656.0, + 645.0 + ] + ], + "center_px": [ + 679.0, + 643.5 + ], + "area_px": 860.0 + }, + { + "image_points_px": [ + [ + 625.0, + 589.0 + ], + [ + 650.0, + 606.0 + ], + [ + 628.0, + 625.0 + ], + [ + 603.0, + 608.0 + ] + ], + "center_px": [ + 626.5, + 607.0 + ], + "area_px": 849.0 + }, + { + "image_points_px": [ + [ + 529.0, + 594.0 + ], + [ + 553.0, + 611.0 + ], + [ + 531.0, + 630.0 + ], + [ + 506.0, + 613.0 + ] + ], + "center_px": [ + 529.75, + 612.0 + ], + "area_px": 848.0 + }, + { + "image_points_px": [ + [ + 673.0, + 586.0 + ], + [ + 698.0, + 603.0 + ], + [ + 677.0, + 623.0 + ], + [ + 652.0, + 606.0 + ] + ], + "center_px": [ + 675.0, + 604.5 + ], + "area_px": 857.0 + }, + { + "image_points_px": [ + [ + 927.0, + 652.0 + ], + [ + 954.0, + 668.0 + ], + [ + 937.0, + 689.0 + ], + [ + 909.0, + 671.0 + ] + ], + "center_px": [ + 931.75, + 670.0 + ], + "area_px": 847.5 + }, + { + "image_points_px": [ + [ + 1204.0, + 597.0 + ], + [ + 1234.0, + 613.0 + ], + [ + 1219.0, + 633.0 + ], + [ + 1189.0, + 616.0 + ] + ], + "center_px": [ + 1211.5, + 614.75 + ], + "area_px": 832.5 + }, + { + "image_points_px": [ + [ + 720.0, + 584.0 + ], + [ + 746.0, + 600.0 + ], + [ + 726.0, + 620.0 + ], + [ + 700.0, + 603.0 + ] + ], + "center_px": [ + 723.0, + 601.75 + ], + "area_px": 837.0 + }, + { + "image_points_px": [ + [ + 768.0, + 581.0 + ], + [ + 794.0, + 598.0 + ], + [ + 774.0, + 617.0 + ], + [ + 748.0, + 600.0 + ] + ], + "center_px": [ + 771.0, + 599.0 + ], + "area_px": 834.0 + }, + { + "image_points_px": [ + [ + 1109.0, + 602.0 + ], + [ + 1138.0, + 618.0 + ], + [ + 1122.0, + 638.0 + ], + [ + 1093.0, + 621.0 + ] + ], + "center_px": [ + 1115.5, + 619.75 + ], + "area_px": 829.5 + }, + { + "image_points_px": [ + [ + 576.0, + 592.0 + ], + [ + 601.0, + 608.0 + ], + [ + 579.0, + 628.0 + ], + [ + 555.0, + 611.0 + ] + ], + "center_px": [ + 577.75, + 609.75 + ], + "area_px": 832.5 + }, + { + "image_points_px": [ + [ + 1051.0, + 566.0 + ], + [ + 1079.0, + 583.0 + ], + [ + 1062.0, + 602.0 + ], + [ + 1034.0, + 585.0 + ] + ], + "center_px": [ + 1056.5, + 584.0 + ], + "area_px": 821.0 + }, + { + "image_points_px": [ + [ + 284.0, + 646.0 + ], + [ + 305.0, + 664.0 + ], + [ + 279.0, + 684.0 + ], + [ + 261.0, + 669.0 + ] + ], + "center_px": [ + 282.25, + 665.75 + ], + "area_px": 823.5 + }, + { + "image_points_px": [ + [ + 863.0, + 576.0 + ], + [ + 889.0, + 593.0 + ], + [ + 871.0, + 612.0 + ], + [ + 844.0, + 596.0 + ] + ], + "center_px": [ + 866.75, + 594.25 + ], + "area_px": 822.0 + }, + { + "image_points_px": [ + [ + 910.0, + 574.0 + ], + [ + 937.0, + 590.0 + ], + [ + 918.0, + 610.0 + ], + [ + 892.0, + 593.0 + ] + ], + "center_px": [ + 914.25, + 591.75 + ], + "area_px": 822.0 + }, + { + "image_points_px": [ + [ + 815.0, + 579.0 + ], + [ + 841.0, + 595.0 + ], + [ + 822.0, + 615.0 + ], + [ + 796.0, + 598.0 + ] + ], + "center_px": [ + 818.5, + 596.75 + ], + "area_px": 820.5 + }, + { + "image_points_px": [ + [ + 1097.0, + 564.0 + ], + [ + 1126.0, + 580.0 + ], + [ + 1110.0, + 599.0 + ], + [ + 1081.0, + 583.0 + ] + ], + "center_px": [ + 1103.5, + 581.5 + ], + "area_px": 807.0 + }, + { + "image_points_px": [ + [ + 622.0, + 552.0 + ], + [ + 647.0, + 568.0 + ], + [ + 625.0, + 587.0 + ], + [ + 601.0, + 570.0 + ] + ], + "center_px": [ + 623.75, + 569.25 + ], + "area_px": 808.0 + }, + { + "image_points_px": [ + [ + 1191.0, + 559.0 + ], + [ + 1219.0, + 575.0 + ], + [ + 1204.0, + 595.0 + ], + [ + 1175.0, + 578.0 + ] + ], + "center_px": [ + 1197.25, + 576.75 + ], + "area_px": 811.5 + }, + { + "image_points_px": [ + [ + 387.0, + 564.0 + ], + [ + 408.0, + 581.0 + ], + [ + 384.0, + 599.0 + ], + [ + 362.0, + 583.0 + ] + ], + "center_px": [ + 385.25, + 581.75 + ], + "area_px": 802.0 + }, + { + "image_points_px": [ + [ + 956.0, + 572.0 + ], + [ + 984.0, + 588.0 + ], + [ + 967.0, + 607.0 + ], + [ + 939.0, + 590.0 + ] + ], + "center_px": [ + 961.5, + 589.25 + ], + "area_px": 798.5 + }, + { + "image_points_px": [ + [ + 1144.0, + 561.0 + ], + [ + 1172.0, + 579.0 + ], + [ + 1157.0, + 597.0 + ], + [ + 1128.0, + 580.0 + ] + ], + "center_px": [ + 1150.25, + 579.25 + ], + "area_px": 798.5 + }, + { + "image_points_px": [ + [ + 1004.0, + 569.0 + ], + [ + 1031.0, + 585.0 + ], + [ + 1014.0, + 605.0 + ], + [ + 987.0, + 588.0 + ] + ], + "center_px": [ + 1009.0, + 586.75 + ], + "area_px": 807.0 + }, + { + "image_points_px": [ + [ + 809.0, + 542.0 + ], + [ + 835.0, + 558.0 + ], + [ + 815.0, + 577.0 + ], + [ + 790.0, + 561.0 + ] + ], + "center_px": [ + 812.25, + 559.5 + ], + "area_px": 796.5 + }, + { + "image_points_px": [ + [ + 716.0, + 547.0 + ], + [ + 741.0, + 563.0 + ], + [ + 721.0, + 582.0 + ], + [ + 696.0, + 566.0 + ] + ], + "center_px": [ + 718.5, + 564.5 + ], + "area_px": 795.0 + }, + { + "image_points_px": [ + [ + 1237.0, + 557.0 + ], + [ + 1266.0, + 573.0 + ], + [ + 1251.0, + 592.0 + ], + [ + 1222.0, + 575.0 + ] + ], + "center_px": [ + 1244.0, + 574.25 + ], + "area_px": 784.0 + }, + { + "image_points_px": [ + [ + 575.0, + 554.0 + ], + [ + 599.0, + 570.0 + ], + [ + 578.0, + 589.0 + ], + [ + 554.0, + 573.0 + ] + ], + "center_px": [ + 576.5, + 571.5 + ], + "area_px": 792.0 + }, + { + "image_points_px": [ + [ + 948.0, + 535.0 + ], + [ + 974.0, + 550.0 + ], + [ + 957.0, + 570.0 + ], + [ + 930.0, + 553.0 + ] + ], + "center_px": [ + 952.25, + 552.0 + ], + "area_px": 783.5 + }, + { + "image_points_px": [ + [ + 902.0, + 537.0 + ], + [ + 928.0, + 553.0 + ], + [ + 910.0, + 572.0 + ], + [ + 884.0, + 556.0 + ] + ], + "center_px": [ + 906.0, + 554.5 + ], + "area_px": 782.0 + }, + { + "image_points_px": [ + [ + 762.0, + 545.0 + ], + [ + 788.0, + 561.0 + ], + [ + 768.0, + 579.0 + ], + [ + 743.0, + 563.0 + ] + ], + "center_px": [ + 765.25, + 562.0 + ], + "area_px": 771.0 + }, + { + "image_points_px": [ + [ + 669.0, + 549.0 + ], + [ + 693.0, + 565.0 + ], + [ + 674.0, + 584.0 + ], + [ + 649.0, + 568.0 + ] + ], + "center_px": [ + 671.25, + 566.5 + ], + "area_px": 777.5 + }, + { + "image_points_px": [ + [ + 855.0, + 540.0 + ], + [ + 881.0, + 555.0 + ], + [ + 863.0, + 574.0 + ], + [ + 837.0, + 558.0 + ] + ], + "center_px": [ + 859.0, + 556.75 + ], + "area_px": 760.0 + }, + { + "image_points_px": [ + [ + 711.0, + 512.0 + ], + [ + 736.0, + 527.0 + ], + [ + 716.0, + 545.0 + ], + [ + 691.0, + 529.0 + ] + ], + "center_px": [ + 713.5, + 528.25 + ], + "area_px": 747.5 + }, + { + "image_points_px": [ + [ + 1223.0, + 521.0 + ], + [ + 1251.0, + 536.0 + ], + [ + 1237.0, + 555.0 + ], + [ + 1208.0, + 539.0 + ] + ], + "center_px": [ + 1229.75, + 537.75 + ], + "area_px": 752.0 + }, + { + "image_points_px": [ + [ + 894.0, + 502.0 + ], + [ + 920.0, + 518.0 + ], + [ + 902.0, + 535.0 + ], + [ + 876.0, + 520.0 + ] + ], + "center_px": [ + 898.0, + 518.75 + ], + "area_px": 734.0 + }, + { + "image_points_px": [ + [ + 757.0, + 509.0 + ], + [ + 782.0, + 524.0 + ], + [ + 763.0, + 542.0 + ], + [ + 738.0, + 527.0 + ] + ], + "center_px": [ + 760.0, + 525.5 + ], + "area_px": 735.0 + }, + { + "image_points_px": [ + [ + 848.0, + 505.0 + ], + [ + 874.0, + 520.0 + ], + [ + 855.0, + 538.0 + ], + [ + 830.0, + 522.0 + ] + ], + "center_px": [ + 851.75, + 521.25 + ], + "area_px": 733.0 + }, + { + "image_points_px": [ + [ + 665.0, + 514.0 + ], + [ + 689.0, + 529.0 + ], + [ + 670.0, + 547.0 + ], + [ + 645.0, + 532.0 + ] + ], + "center_px": [ + 667.25, + 530.5 + ], + "area_px": 733.5 + }, + { + "image_points_px": [ + [ + 803.0, + 507.0 + ], + [ + 828.0, + 522.0 + ], + [ + 809.0, + 540.0 + ], + [ + 784.0, + 524.0 + ] + ], + "center_px": [ + 806.0, + 523.25 + ], + "area_px": 732.0 + }, + { + "image_points_px": [ + [ + 1209.0, + 486.0 + ], + [ + 1237.0, + 501.0 + ], + [ + 1222.0, + 519.0 + ], + [ + 1194.0, + 503.0 + ] + ], + "center_px": [ + 1215.5, + 502.25 + ], + "area_px": 722.5 + }, + { + "image_points_px": [ + [ + 436.0, + 526.0 + ], + [ + 456.0, + 541.0 + ], + [ + 433.0, + 559.0 + ], + [ + 412.0, + 543.0 + ] + ], + "center_px": [ + 434.25, + 542.25 + ], + "area_px": 723.0 + }, + { + "image_points_px": [ + [ + 887.0, + 468.0 + ], + [ + 912.0, + 483.0 + ], + [ + 894.0, + 500.0 + ], + [ + 868.0, + 485.0 + ] + ], + "center_px": [ + 890.25, + 484.0 + ], + "area_px": 711.0 + }, + { + "image_points_px": [ + [ + 618.0, + 517.0 + ], + [ + 643.0, + 531.0 + ], + [ + 623.0, + 549.0 + ], + [ + 599.0, + 534.0 + ] + ], + "center_px": [ + 620.75, + 532.75 + ], + "area_px": 711.5 + }, + { + "image_points_px": [ + [ + 120.0, + 473.0 + ], + [ + 138.0, + 488.0 + ], + [ + 112.0, + 505.0 + ], + [ + 94.0, + 490.0 + ] + ], + "center_px": [ + 116.0, + 489.0 + ], + "area_px": 696.0 + }, + { + "image_points_px": [ + [ + 481.0, + 523.0 + ], + [ + 501.0, + 539.0 + ], + [ + 480.0, + 557.0 + ], + [ + 459.0, + 541.0 + ] + ], + "center_px": [ + 480.25, + 540.0 + ], + "area_px": 713.0 + }, + { + "image_points_px": [ + [ + 797.0, + 473.0 + ], + [ + 821.0, + 487.0 + ], + [ + 803.0, + 505.0 + ], + [ + 778.0, + 490.0 + ] + ], + "center_px": [ + 799.75, + 488.75 + ], + "area_px": 697.0 + }, + { + "image_points_px": [ + [ + 707.0, + 477.0 + ], + [ + 731.0, + 492.0 + ], + [ + 712.0, + 509.0 + ], + [ + 688.0, + 495.0 + ] + ], + "center_px": [ + 709.5, + 493.25 + ], + "area_px": 695.5 + }, + { + "image_points_px": [ + [ + 752.0, + 475.0 + ], + [ + 776.0, + 490.0 + ], + [ + 758.0, + 507.0 + ], + [ + 733.0, + 492.0 + ] + ], + "center_px": [ + 754.75, + 491.0 + ], + "area_px": 694.0 + }, + { + "image_points_px": [ + [ + 1239.0, + 451.0 + ], + [ + 1267.0, + 465.0 + ], + [ + 1254.0, + 482.0 + ], + [ + 1225.0, + 467.0 + ] + ], + "center_px": [ + 1246.25, + 466.25 + ], + "area_px": 666.0 + }, + { + "image_points_px": [ + [ + 661.0, + 480.0 + ], + [ + 685.0, + 494.0 + ], + [ + 667.0, + 511.0 + ], + [ + 642.0, + 496.0 + ] + ], + "center_px": [ + 663.75, + 495.25 + ], + "area_px": 672.5 + }, + { + "image_points_px": [ + [ + 81.0, + 442.0 + ], + [ + 99.0, + 456.0 + ], + [ + 73.0, + 473.0 + ], + [ + 56.0, + 458.0 + ] + ], + "center_px": [ + 77.25, + 457.25 + ], + "area_px": 658.5 + }, + { + "image_points_px": [ + [ + 1196.0, + 453.0 + ], + [ + 1223.0, + 467.0 + ], + [ + 1209.0, + 484.0 + ], + [ + 1181.0, + 469.0 + ] + ], + "center_px": [ + 1202.25, + 468.25 + ], + "area_px": 664.0 + }, + { + "image_points_px": [ + [ + 835.0, + 438.0 + ], + [ + 860.0, + 452.0 + ], + [ + 843.0, + 468.0 + ], + [ + 817.0, + 454.0 + ] + ], + "center_px": [ + 838.75, + 453.0 + ], + "area_px": 653.0 + }, + { + "image_points_px": [ + [ + 841.0, + 471.0 + ], + [ + 866.0, + 485.0 + ], + [ + 849.0, + 502.0 + ], + [ + 824.0, + 488.0 + ] + ], + "center_px": [ + 845.0, + 486.5 + ], + "area_px": 663.0 + }, + { + "image_points_px": [ + [ + 747.0, + 442.0 + ], + [ + 771.0, + 456.0 + ], + [ + 752.0, + 473.0 + ], + [ + 729.0, + 459.0 + ] + ], + "center_px": [ + 749.75, + 457.5 + ], + "area_px": 658.5 + }, + { + "image_points_px": [ + [ + 791.0, + 440.0 + ], + [ + 815.0, + 454.0 + ], + [ + 797.0, + 471.0 + ], + [ + 773.0, + 456.0 + ] + ], + "center_px": [ + 794.0, + 455.25 + ], + "area_px": 657.0 + }, + { + "image_points_px": [ + [ + 702.0, + 445.0 + ], + [ + 726.0, + 458.0 + ], + [ + 707.0, + 475.0 + ], + [ + 684.0, + 461.0 + ] + ], + "center_px": [ + 704.75, + 459.75 + ], + "area_px": 637.5 + }, + { + "image_points_px": [ + [ + 1183.0, + 421.0 + ], + [ + 1210.0, + 435.0 + ], + [ + 1196.0, + 451.0 + ], + [ + 1169.0, + 437.0 + ] + ], + "center_px": [ + 1189.5, + 436.0 + ], + "area_px": 628.0 + }, + { + "image_points_px": [ + [ + 1226.0, + 419.0 + ], + [ + 1253.0, + 433.0 + ], + [ + 1239.0, + 449.0 + ], + [ + 1212.0, + 435.0 + ] + ], + "center_px": [ + 1232.5, + 434.0 + ], + "area_px": 628.0 + }, + { + "image_points_px": [ + [ + 742.0, + 411.0 + ], + [ + 766.0, + 424.0 + ], + [ + 748.0, + 440.0 + ], + [ + 724.0, + 426.0 + ] + ], + "center_px": [ + 745.0, + 425.25 + ], + "area_px": 615.0 + }, + { + "image_points_px": [ + [ + 786.0, + 408.0 + ], + [ + 809.0, + 422.0 + ], + [ + 791.0, + 438.0 + ], + [ + 768.0, + 424.0 + ] + ], + "center_px": [ + 788.5, + 423.0 + ], + "area_px": 620.0 + }, + { + "image_points_px": [ + [ + 68.0, + 395.0 + ], + [ + 45.0, + 410.0 + ], + [ + 26.0, + 397.0 + ], + [ + 50.0, + 382.0 + ] + ], + "center_px": [ + 47.25, + 396.0 + ], + "area_px": 583.0 + }, + { + "image_points_px": [ + [ + 1171.0, + 390.0 + ], + [ + 1197.0, + 403.0 + ], + [ + 1183.0, + 419.0 + ], + [ + 1157.0, + 405.0 + ] + ], + "center_px": [ + 1177.0, + 404.25 + ], + "area_px": 592.0 + }, + { + "image_points_px": [ + [ + 1200.0, + 358.0 + ], + [ + 1227.0, + 371.0 + ], + [ + 1213.0, + 386.0 + ], + [ + 1187.0, + 373.0 + ] + ], + "center_px": [ + 1206.75, + 372.0 + ], + "area_px": 573.0 + }, + { + "image_points_px": [ + [ + 1117.0, + 362.0 + ], + [ + 1143.0, + 375.0 + ], + [ + 1128.0, + 390.0 + ], + [ + 1103.0, + 377.0 + ] + ], + "center_px": [ + 1122.75, + 376.0 + ], + "area_px": 571.0 + }, + { + "image_points_px": [ + [ + 1242.0, + 356.0 + ], + [ + 1268.0, + 369.0 + ], + [ + 1255.0, + 384.0 + ], + [ + 1229.0, + 371.0 + ] + ], + "center_px": [ + 1248.5, + 370.0 + ], + "area_px": 559.0 + }, + { + "image_points_px": [ + [ + 1159.0, + 360.0 + ], + [ + 1184.0, + 373.0 + ], + [ + 1171.0, + 388.0 + ], + [ + 1145.0, + 375.0 + ] + ], + "center_px": [ + 1164.75, + 374.0 + ], + "area_px": 558.0 + }, + { + "image_points_px": [ + [ + 1000.0, + 398.0 + ], + [ + 1025.0, + 411.0 + ], + [ + 1010.0, + 427.0 + ], + [ + 987.0, + 415.0 + ] + ], + "center_px": [ + 1005.5, + 412.75 + ], + "area_px": 571.0 + }, + { + "image_points_px": [ + [ + 1229.0, + 327.0 + ], + [ + 1255.0, + 340.0 + ], + [ + 1242.0, + 354.0 + ], + [ + 1216.0, + 342.0 + ] + ], + "center_px": [ + 1235.5, + 340.75 + ], + "area_px": 539.5 + }, + { + "image_points_px": [ + [ + 1188.0, + 329.0 + ], + [ + 1214.0, + 342.0 + ], + [ + 1201.0, + 356.0 + ], + [ + 1175.0, + 343.0 + ] + ], + "center_px": [ + 1194.5, + 342.5 + ], + "area_px": 533.0 + }, + { + "image_points_px": [ + [ + 1028.0, + 412.0 + ], + [ + 1038.0, + 400.0 + ], + [ + 1068.0, + 411.0 + ], + [ + 1053.0, + 425.0 + ] + ], + "center_px": [ + 1046.75, + 412.0 + ], + "area_px": 507.5 + }, + { + "image_points_px": [ + [ + 1106.0, + 333.0 + ], + [ + 1131.0, + 345.0 + ], + [ + 1117.0, + 360.0 + ], + [ + 1092.0, + 347.0 + ] + ], + "center_px": [ + 1111.5, + 346.25 + ], + "area_px": 537.5 + }, + { + "image_points_px": [ + [ + 1065.0, + 335.0 + ], + [ + 1090.0, + 347.0 + ], + [ + 1075.0, + 362.0 + ], + [ + 1051.0, + 349.0 + ] + ], + "center_px": [ + 1070.25, + 348.25 + ], + "area_px": 536.5 + }, + { + "image_points_px": [ + [ + 1015.0, + 308.0 + ], + [ + 1039.0, + 321.0 + ], + [ + 1024.0, + 335.0 + ], + [ + 1000.0, + 322.0 + ] + ], + "center_px": [ + 1019.5, + 321.5 + ], + "area_px": 531.0 + }, + { + "image_points_px": [ + [ + 47.0, + 310.0 + ], + [ + 24.0, + 323.0 + ], + [ + 7.0, + 312.0 + ], + [ + 30.0, + 297.0 + ] + ], + "center_px": [ + 27.0, + 310.5 + ], + "area_px": 514.0 + }, + { + "image_points_px": [ + [ + 1147.0, + 331.0 + ], + [ + 1172.0, + 343.0 + ], + [ + 1159.0, + 358.0 + ], + [ + 1134.0, + 346.0 + ] + ], + "center_px": [ + 1153.0, + 344.5 + ], + "area_px": 531.0 + }, + { + "image_points_px": [ + [ + 1096.0, + 305.0 + ], + [ + 1121.0, + 317.0 + ], + [ + 1106.0, + 331.0 + ], + [ + 1082.0, + 319.0 + ] + ], + "center_px": [ + 1101.25, + 318.0 + ], + "area_px": 517.0 + }, + { + "image_points_px": [ + [ + 1201.0, + 403.0 + ], + [ + 1213.0, + 389.0 + ], + [ + 1239.0, + 402.0 + ], + [ + 1226.0, + 416.0 + ] + ], + "center_px": [ + 1219.75, + 402.5 + ], + "area_px": 519.5 + }, + { + "image_points_px": [ + [ + 1055.0, + 307.0 + ], + [ + 1080.0, + 319.0 + ], + [ + 1065.0, + 333.0 + ], + [ + 1041.0, + 320.0 + ] + ], + "center_px": [ + 1060.25, + 319.75 + ], + "area_px": 512.0 + }, + { + "image_points_px": [ + [ + 443.0, + 646.0 + ], + [ + 455.0, + 656.0 + ], + [ + 431.0, + 676.0 + ], + [ + 419.0, + 667.0 + ] + ], + "center_px": [ + 437.0, + 661.25 + ], + "area_px": 474.0 + }, + { + "image_points_px": [ + [ + 1217.0, + 299.0 + ], + [ + 1242.0, + 311.0 + ], + [ + 1229.0, + 325.0 + ], + [ + 1204.0, + 313.0 + ] + ], + "center_px": [ + 1223.0, + 312.0 + ], + "area_px": 506.0 + }, + { + "image_points_px": [ + [ + 1136.0, + 303.0 + ], + [ + 1161.0, + 315.0 + ], + [ + 1147.0, + 329.0 + ], + [ + 1123.0, + 317.0 + ] + ], + "center_px": [ + 1141.75, + 316.0 + ], + "area_px": 505.0 + }, + { + "image_points_px": [ + [ + 1177.0, + 301.0 + ], + [ + 1201.0, + 313.0 + ], + [ + 1188.0, + 327.0 + ], + [ + 1163.0, + 315.0 + ] + ], + "center_px": [ + 1182.25, + 314.0 + ], + "area_px": 505.0 + }, + { + "image_points_px": [ + [ + 54.0, + 282.0 + ], + [ + 32.0, + 295.0 + ], + [ + 14.0, + 284.0 + ], + [ + 37.0, + 271.0 + ] + ], + "center_px": [ + 34.25, + 283.0 + ], + "area_px": 475.0 + }, + { + "image_points_px": [ + [ + 1165.0, + 274.0 + ], + [ + 1190.0, + 286.0 + ], + [ + 1177.0, + 299.0 + ], + [ + 1152.0, + 287.0 + ] + ], + "center_px": [ + 1171.0, + 286.5 + ], + "area_px": 481.0 + }, + { + "image_points_px": [ + [ + 1032.0, + 293.0 + ], + [ + 1045.0, + 280.0 + ], + [ + 1070.0, + 291.0 + ], + [ + 1055.0, + 305.0 + ] + ], + "center_px": [ + 1050.5, + 292.25 + ], + "area_px": 485.0 + }, + { + "image_points_px": [ + [ + 1006.0, + 281.0 + ], + [ + 1030.0, + 293.0 + ], + [ + 1016.0, + 306.0 + ], + [ + 992.0, + 295.0 + ] + ], + "center_px": [ + 1011.0, + 293.75 + ], + "area_px": 485.0 + }, + { + "image_points_px": [ + [ + 1112.0, + 289.0 + ], + [ + 1126.0, + 276.0 + ], + [ + 1150.0, + 288.0 + ], + [ + 1137.0, + 301.0 + ] + ], + "center_px": [ + 1131.25, + 288.5 + ], + "area_px": 480.5 + }, + { + "image_points_px": [ + [ + 1072.0, + 291.0 + ], + [ + 1085.0, + 278.0 + ], + [ + 1110.0, + 290.0 + ], + [ + 1096.0, + 303.0 + ] + ], + "center_px": [ + 1090.75, + 290.5 + ], + "area_px": 480.5 + }, + { + "image_points_px": [ + [ + 951.0, + 296.0 + ], + [ + 967.0, + 283.0 + ], + [ + 989.0, + 295.0 + ], + [ + 975.0, + 308.0 + ] + ], + "center_px": [ + 970.5, + 295.5 + ], + "area_px": 479.0 + }, + { + "image_points_px": [ + [ + 1205.0, + 272.0 + ], + [ + 1229.0, + 284.0 + ], + [ + 1217.0, + 297.0 + ], + [ + 1192.0, + 286.0 + ] + ], + "center_px": [ + 1210.75, + 284.75 + ], + "area_px": 474.5 + }, + { + "image_points_px": [ + [ + 983.0, + 268.0 + ], + [ + 998.0, + 255.0 + ], + [ + 1021.0, + 266.0 + ], + [ + 1007.0, + 279.0 + ] + ], + "center_px": [ + 1002.25, + 267.0 + ], + "area_px": 465.0 + }, + { + "image_points_px": [ + [ + 60.0, + 255.0 + ], + [ + 37.0, + 269.0 + ], + [ + 22.0, + 257.0 + ], + [ + 44.0, + 245.0 + ] + ], + "center_px": [ + 40.75, + 256.5 + ], + "area_px": 449.0 + }, + { + "image_points_px": [ + [ + 1232.0, + 284.0 + ], + [ + 1244.0, + 271.0 + ], + [ + 1269.0, + 282.0 + ], + [ + 1257.0, + 295.0 + ] + ], + "center_px": [ + 1250.5, + 283.0 + ], + "area_px": 457.0 + }, + { + "image_points_px": [ + [ + 1062.0, + 264.0 + ], + [ + 1076.0, + 252.0 + ], + [ + 1100.0, + 263.0 + ], + [ + 1087.0, + 275.0 + ] + ], + "center_px": [ + 1081.25, + 263.5 + ], + "area_px": 442.5 + }, + { + "image_points_px": [ + [ + 919.0, + 258.0 + ], + [ + 941.0, + 270.0 + ], + [ + 926.0, + 283.0 + ], + [ + 904.0, + 271.0 + ] + ], + "center_px": [ + 922.5, + 270.5 + ], + "area_px": 466.0 + }, + { + "image_points_px": [ + [ + 504.0, + 613.0 + ], + [ + 481.0, + 633.0 + ], + [ + 469.0, + 624.0 + ], + [ + 491.0, + 605.0 + ] + ], + "center_px": [ + 486.25, + 618.75 + ], + "area_px": 435.0 + }, + { + "image_points_px": [ + [ + 1141.0, + 261.0 + ], + [ + 1154.0, + 248.0 + ], + [ + 1178.0, + 259.0 + ], + [ + 1165.0, + 272.0 + ] + ], + "center_px": [ + 1159.5, + 260.0 + ], + "area_px": 455.0 + }, + { + "image_points_px": [ + [ + 1023.0, + 266.0 + ], + [ + 1037.0, + 253.0 + ], + [ + 1060.0, + 264.0 + ], + [ + 1047.0, + 277.0 + ] + ], + "center_px": [ + 1041.75, + 265.0 + ], + "area_px": 454.0 + }, + { + "image_points_px": [ + [ + 1169.0, + 233.0 + ], + [ + 1182.0, + 221.0 + ], + [ + 1206.0, + 232.0 + ], + [ + 1193.0, + 245.0 + ] + ], + "center_px": [ + 1187.5, + 232.75 + ], + "area_px": 449.5 + }, + { + "image_points_px": [ + [ + 1102.0, + 262.0 + ], + [ + 1115.0, + 250.0 + ], + [ + 1139.0, + 261.0 + ], + [ + 1126.0, + 274.0 + ] + ], + "center_px": [ + 1120.5, + 261.75 + ], + "area_px": 449.5 + }, + { + "image_points_px": [ + [ + 944.0, + 269.0 + ], + [ + 958.0, + 257.0 + ], + [ + 981.0, + 268.0 + ], + [ + 967.0, + 281.0 + ] + ], + "center_px": [ + 962.5, + 268.75 + ], + "area_px": 448.5 + }, + { + "image_points_px": [ + [ + 1053.0, + 238.0 + ], + [ + 1067.0, + 226.0 + ], + [ + 1090.0, + 237.0 + ], + [ + 1076.0, + 250.0 + ] + ], + "center_px": [ + 1071.5, + 237.75 + ], + "area_px": 448.5 + }, + { + "image_points_px": [ + [ + 1180.0, + 259.0 + ], + [ + 1192.0, + 247.0 + ], + [ + 1217.0, + 257.0 + ], + [ + 1205.0, + 270.0 + ] + ], + "center_px": [ + 1198.5, + 258.25 + ], + "area_px": 438.5 + }, + { + "image_points_px": [ + [ + 936.0, + 243.0 + ], + [ + 951.0, + 231.0 + ], + [ + 973.0, + 242.0 + ], + [ + 958.0, + 255.0 + ] + ], + "center_px": [ + 954.5, + 242.75 + ], + "area_px": 447.5 + }, + { + "image_points_px": [ + [ + 975.0, + 242.0 + ], + [ + 988.0, + 230.0 + ], + [ + 1012.0, + 240.0 + ], + [ + 998.0, + 253.0 + ] + ], + "center_px": [ + 993.25, + 241.25 + ], + "area_px": 435.5 + }, + { + "image_points_px": [ + [ + 1014.0, + 240.0 + ], + [ + 1028.0, + 228.0 + ], + [ + 1051.0, + 239.0 + ], + [ + 1037.0, + 251.0 + ] + ], + "center_px": [ + 1032.5, + 239.5 + ], + "area_px": 430.0 + }, + { + "image_points_px": [ + [ + 67.0, + 230.0 + ], + [ + 46.0, + 242.0 + ], + [ + 29.0, + 232.0 + ], + [ + 49.0, + 220.0 + ] + ], + "center_px": [ + 47.75, + 231.0 + ], + "area_px": 415.0 + }, + { + "image_points_px": [ + [ + 1105.0, + 224.0 + ], + [ + 1128.0, + 235.0 + ], + [ + 1115.0, + 248.0 + ], + [ + 1092.0, + 237.0 + ] + ], + "center_px": [ + 1110.0, + 236.0 + ], + "area_px": 442.0 + }, + { + "image_points_px": [ + [ + 58.0, + 352.0 + ], + [ + 66.0, + 370.0 + ], + [ + 51.0, + 380.0 + ], + [ + 34.0, + 367.0 + ] + ], + "center_px": [ + 52.25, + 367.25 + ], + "area_px": 458.5 + }, + { + "image_points_px": [ + [ + 1208.0, + 232.0 + ], + [ + 1219.0, + 220.0 + ], + [ + 1244.0, + 230.0 + ], + [ + 1232.0, + 243.0 + ] + ], + "center_px": [ + 1225.75, + 231.25 + ], + "area_px": 427.0 + }, + { + "image_points_px": [ + [ + 340.0, + 243.0 + ], + [ + 321.0, + 256.0 + ], + [ + 303.0, + 246.0 + ], + [ + 322.0, + 233.0 + ] + ], + "center_px": [ + 321.5, + 244.5 + ], + "area_px": 424.0 + }, + { + "image_points_px": [ + [ + 326.0, + 208.0 + ], + [ + 342.0, + 219.0 + ], + [ + 323.0, + 231.0 + ], + [ + 305.0, + 220.0 + ] + ], + "center_px": [ + 324.0, + 219.5 + ], + "area_px": 424.0 + }, + { + "image_points_px": [ + [ + 106.0, + 228.0 + ], + [ + 85.0, + 241.0 + ], + [ + 69.0, + 230.0 + ], + [ + 90.0, + 218.0 + ] + ], + "center_px": [ + 87.5, + 229.25 + ], + "area_px": 420.5 + }, + { + "image_points_px": [ + [ + 146.0, + 227.0 + ], + [ + 125.0, + 239.0 + ], + [ + 109.0, + 229.0 + ], + [ + 130.0, + 216.0 + ] + ], + "center_px": [ + 127.5, + 227.75 + ], + "area_px": 420.5 + }, + { + "image_points_px": [ + [ + 264.0, + 222.0 + ], + [ + 245.0, + 234.0 + ], + [ + 227.0, + 224.0 + ], + [ + 247.0, + 211.0 + ] + ], + "center_px": [ + 245.75, + 222.75 + ], + "area_px": 423.5 + }, + { + "image_points_px": [ + [ + 224.0, + 223.0 + ], + [ + 204.0, + 236.0 + ], + [ + 187.0, + 225.0 + ], + [ + 208.0, + 213.0 + ] + ], + "center_px": [ + 205.75, + 224.25 + ], + "area_px": 421.5 + }, + { + "image_points_px": [ + [ + 551.0, + 572.0 + ], + [ + 529.0, + 592.0 + ], + [ + 517.0, + 583.0 + ], + [ + 538.0, + 565.0 + ] + ], + "center_px": [ + 533.75, + 578.0 + ], + "area_px": 409.5 + }, + { + "image_points_px": [ + [ + 306.0, + 196.0 + ], + [ + 286.0, + 208.0 + ], + [ + 269.0, + 197.0 + ], + [ + 289.0, + 185.0 + ] + ], + "center_px": [ + 287.5, + 196.5 + ], + "area_px": 424.0 + }, + { + "image_points_px": [ + [ + 480.0, + 201.0 + ], + [ + 498.0, + 212.0 + ], + [ + 479.0, + 224.0 + ], + [ + 461.0, + 213.0 + ] + ], + "center_px": [ + 479.5, + 212.5 + ], + "area_px": 425.0 + }, + { + "image_points_px": [ + [ + 1131.0, + 235.0 + ], + [ + 1143.0, + 223.0 + ], + [ + 1167.0, + 233.0 + ], + [ + 1155.0, + 246.0 + ] + ], + "center_px": [ + 1149.0, + 234.25 + ], + "area_px": 426.0 + }, + { + "image_points_px": [ + [ + 1196.0, + 207.0 + ], + [ + 1208.0, + 195.0 + ], + [ + 1232.0, + 205.0 + ], + [ + 1220.0, + 218.0 + ] + ], + "center_px": [ + 1214.0, + 206.25 + ], + "area_px": 426.0 + }, + { + "image_points_px": [ + [ + 967.0, + 217.0 + ], + [ + 981.0, + 205.0 + ], + [ + 1004.0, + 215.0 + ], + [ + 990.0, + 227.0 + ] + ], + "center_px": [ + 985.5, + 216.0 + ], + "area_px": 416.0 + }, + { + "image_points_px": [ + [ + 1234.0, + 205.0 + ], + [ + 1246.0, + 193.0 + ], + [ + 1270.0, + 204.0 + ], + [ + 1258.0, + 216.0 + ] + ], + "center_px": [ + 1252.0, + 204.5 + ], + "area_px": 420.0 + }, + { + "image_points_px": [ + [ + 1120.0, + 210.0 + ], + [ + 1133.0, + 198.0 + ], + [ + 1156.0, + 209.0 + ], + [ + 1144.0, + 221.0 + ] + ], + "center_px": [ + 1138.25, + 209.5 + ], + "area_px": 419.5 + }, + { + "image_points_px": [ + [ + 1006.0, + 215.0 + ], + [ + 1019.0, + 203.0 + ], + [ + 1042.0, + 214.0 + ], + [ + 1028.0, + 226.0 + ] + ], + "center_px": [ + 1023.75, + 214.5 + ], + "area_px": 418.5 + }, + { + "image_points_px": [ + [ + 303.0, + 220.0 + ], + [ + 284.0, + 232.0 + ], + [ + 266.0, + 222.0 + ], + [ + 285.0, + 210.0 + ] + ], + "center_px": [ + 284.5, + 221.0 + ], + "area_px": 406.0 + }, + { + "image_points_px": [ + [ + 229.0, + 199.0 + ], + [ + 208.0, + 211.0 + ], + [ + 192.0, + 201.0 + ], + [ + 211.0, + 189.0 + ] + ], + "center_px": [ + 210.0, + 200.0 + ], + "area_px": 404.0 + }, + { + "image_points_px": [ + [ + 190.0, + 200.0 + ], + [ + 171.0, + 212.0 + ], + [ + 153.0, + 202.0 + ], + [ + 173.0, + 190.0 + ] + ], + "center_px": [ + 171.75, + 201.0 + ], + "area_px": 405.0 + }, + { + "image_points_px": [ + [ + 73.0, + 205.0 + ], + [ + 53.0, + 217.0 + ], + [ + 36.0, + 207.0 + ], + [ + 57.0, + 195.0 + ] + ], + "center_px": [ + 54.75, + 206.0 + ], + "area_px": 403.0 + }, + { + "image_points_px": [ + [ + 151.0, + 202.0 + ], + [ + 130.0, + 214.0 + ], + [ + 114.0, + 204.0 + ], + [ + 134.0, + 192.0 + ] + ], + "center_px": [ + 132.25, + 203.0 + ], + "area_px": 403.0 + }, + { + "image_points_px": [ + [ + 1035.0, + 189.0 + ], + [ + 1049.0, + 177.0 + ], + [ + 1071.0, + 188.0 + ], + [ + 1057.0, + 200.0 + ] + ], + "center_px": [ + 1053.0, + 188.5 + ], + "area_px": 418.0 + }, + { + "image_points_px": [ + [ + 1082.0, + 212.0 + ], + [ + 1095.0, + 200.0 + ], + [ + 1118.0, + 210.0 + ], + [ + 1106.0, + 222.0 + ] + ], + "center_px": [ + 1100.25, + 211.0 + ], + "area_px": 407.0 + }, + { + "image_points_px": [ + [ + 962.0, + 322.0 + ], + [ + 976.0, + 311.0 + ], + [ + 998.0, + 323.0 + ], + [ + 984.0, + 334.0 + ] + ], + "center_px": [ + 980.0, + 322.5 + ], + "area_px": 410.0 + }, + { + "image_points_px": [ + [ + 1158.0, + 208.0 + ], + [ + 1170.0, + 197.0 + ], + [ + 1194.0, + 207.0 + ], + [ + 1182.0, + 219.0 + ] + ], + "center_px": [ + 1176.0, + 207.75 + ], + "area_px": 402.0 + }, + { + "image_points_px": [ + [ + 1044.0, + 213.0 + ], + [ + 1057.0, + 202.0 + ], + [ + 1080.0, + 212.0 + ], + [ + 1067.0, + 224.0 + ] + ], + "center_px": [ + 1062.0, + 212.75 + ], + "area_px": 401.0 + }, + { + "image_points_px": [ + [ + 1110.0, + 186.0 + ], + [ + 1123.0, + 174.0 + ], + [ + 1146.0, + 185.0 + ], + [ + 1133.0, + 196.0 + ] + ], + "center_px": [ + 1128.0, + 185.25 + ], + "area_px": 401.0 + }, + { + "image_points_px": [ + [ + 112.0, + 203.0 + ], + [ + 93.0, + 215.0 + ], + [ + 75.0, + 205.0 + ], + [ + 95.0, + 194.0 + ] + ], + "center_px": [ + 93.75, + 204.25 + ], + "area_px": 386.5 + }, + { + "image_points_px": [ + [ + 441.0, + 179.0 + ], + [ + 459.0, + 189.0 + ], + [ + 442.0, + 201.0 + ], + [ + 423.0, + 191.0 + ] + ], + "center_px": [ + 441.25, + 190.0 + ], + "area_px": 397.0 + }, + { + "image_points_px": [ + [ + 517.0, + 176.0 + ], + [ + 536.0, + 186.0 + ], + [ + 518.0, + 198.0 + ], + [ + 500.0, + 188.0 + ] + ], + "center_px": [ + 517.75, + 187.0 + ], + "area_px": 397.0 + }, + { + "image_points_px": [ + [ + 116.0, + 446.0 + ], + [ + 135.0, + 461.0 + ], + [ + 119.0, + 471.0 + ], + [ + 101.0, + 457.0 + ] + ], + "center_px": [ + 117.75, + 458.75 + ], + "area_px": 419.0 + }, + { + "image_points_px": [ + [ + 421.0, + 191.0 + ], + [ + 402.0, + 203.0 + ], + [ + 385.0, + 193.0 + ], + [ + 402.0, + 181.0 + ] + ], + "center_px": [ + 402.5, + 192.0 + ], + "area_px": 396.0 + }, + { + "image_points_px": [ + [ + 156.0, + 178.0 + ], + [ + 135.0, + 190.0 + ], + [ + 120.0, + 180.0 + ], + [ + 140.0, + 168.0 + ] + ], + "center_px": [ + 137.75, + 179.0 + ], + "area_px": 391.0 + }, + { + "image_points_px": [ + [ + 267.0, + 197.0 + ], + [ + 248.0, + 209.0 + ], + [ + 231.0, + 199.0 + ], + [ + 250.0, + 187.0 + ] + ], + "center_px": [ + 249.0, + 198.0 + ], + "area_px": 394.0 + }, + { + "image_points_px": [ + [ + 422.0, + 167.0 + ], + [ + 403.0, + 179.0 + ], + [ + 386.0, + 169.0 + ], + [ + 405.0, + 157.0 + ] + ], + "center_px": [ + 404.0, + 168.0 + ], + "area_px": 394.0 + }, + { + "image_points_px": [ + [ + 596.0, + 534.0 + ], + [ + 576.0, + 552.0 + ], + [ + 563.0, + 544.0 + ], + [ + 584.0, + 526.0 + ] + ], + "center_px": [ + 579.75, + 539.0 + ], + "area_px": 389.0 + }, + { + "image_points_px": [ + [ + 1185.0, + 183.0 + ], + [ + 1198.0, + 171.0 + ], + [ + 1220.0, + 181.0 + ], + [ + 1209.0, + 193.0 + ] + ], + "center_px": [ + 1203.0, + 182.0 + ], + "area_px": 396.0 + }, + { + "image_points_px": [ + [ + 1052.0, + 537.0 + ], + [ + 1066.0, + 547.0 + ], + [ + 1050.0, + 564.0 + ], + [ + 1034.0, + 553.0 + ] + ], + "center_px": [ + 1050.5, + 550.25 + ], + "area_px": 426.0 + }, + { + "image_points_px": [ + [ + 284.0, + 235.0 + ], + [ + 299.0, + 246.0 + ], + [ + 280.0, + 258.0 + ], + [ + 264.0, + 247.0 + ] + ], + "center_px": [ + 281.75, + 246.5 + ], + "area_px": 400.5 + }, + { + "image_points_px": [ + [ + 99.0, + 254.0 + ], + [ + 80.0, + 266.0 + ], + [ + 64.0, + 256.0 + ], + [ + 84.0, + 243.0 + ] + ], + "center_px": [ + 81.75, + 254.75 + ], + "area_px": 398.5 + }, + { + "image_points_px": [ + [ + 998.0, + 191.0 + ], + [ + 1011.0, + 179.0 + ], + [ + 1033.0, + 189.0 + ], + [ + 1020.0, + 201.0 + ] + ], + "center_px": [ + 1015.5, + 190.0 + ], + "area_px": 394.0 + }, + { + "image_points_px": [ + [ + 1073.0, + 188.0 + ], + [ + 1086.0, + 176.0 + ], + [ + 1108.0, + 186.0 + ], + [ + 1095.0, + 198.0 + ] + ], + "center_px": [ + 1090.5, + 187.0 + ], + "area_px": 394.0 + }, + { + "image_points_px": [ + [ + 497.0, + 187.0 + ], + [ + 481.0, + 199.0 + ], + [ + 461.0, + 189.0 + ], + [ + 479.0, + 178.0 + ] + ], + "center_px": [ + 479.5, + 188.25 + ], + "area_px": 380.0 + }, + { + "image_points_px": [ + [ + 346.0, + 170.0 + ], + [ + 328.0, + 182.0 + ], + [ + 310.0, + 172.0 + ], + [ + 328.0, + 161.0 + ] + ], + "center_px": [ + 328.0, + 171.25 + ], + "area_px": 378.0 + }, + { + "image_points_px": [ + [ + 499.0, + 164.0 + ], + [ + 516.0, + 153.0 + ], + [ + 535.0, + 163.0 + ], + [ + 518.0, + 174.0 + ] + ], + "center_px": [ + 517.0, + 163.5 + ], + "area_px": 379.0 + }, + { + "image_points_px": [ + [ + 232.0, + 175.0 + ], + [ + 214.0, + 186.0 + ], + [ + 196.0, + 177.0 + ], + [ + 216.0, + 165.0 + ] + ], + "center_px": [ + 214.5, + 175.75 + ], + "area_px": 376.0 + }, + { + "image_points_px": [ + [ + 123.0, + 156.0 + ], + [ + 102.0, + 168.0 + ], + [ + 87.0, + 158.0 + ], + [ + 106.0, + 147.0 + ] + ], + "center_px": [ + 104.5, + 157.25 + ], + "area_px": 374.0 + }, + { + "image_points_px": [ + [ + 47.0, + 159.0 + ], + [ + 26.0, + 171.0 + ], + [ + 11.0, + 161.0 + ], + [ + 31.0, + 150.0 + ] + ], + "center_px": [ + 28.75, + 160.25 + ], + "area_px": 373.0 + }, + { + "image_points_px": [ + [ + 270.0, + 173.0 + ], + [ + 251.0, + 185.0 + ], + [ + 234.0, + 175.0 + ], + [ + 253.0, + 164.0 + ] + ], + "center_px": [ + 252.0, + 174.25 + ], + "area_px": 376.0 + }, + { + "image_points_px": [ + [ + 194.0, + 176.0 + ], + [ + 174.0, + 188.0 + ], + [ + 158.0, + 178.0 + ], + [ + 177.0, + 167.0 + ] + ], + "center_px": [ + 175.75, + 177.25 + ], + "area_px": 375.0 + }, + { + "image_points_px": [ + [ + 117.0, + 179.0 + ], + [ + 98.0, + 191.0 + ], + [ + 81.0, + 181.0 + ], + [ + 101.0, + 170.0 + ] + ], + "center_px": [ + 99.25, + 180.25 + ], + "area_px": 375.0 + }, + { + "image_points_px": [ + [ + 236.0, + 152.0 + ], + [ + 217.0, + 163.0 + ], + [ + 200.0, + 153.0 + ], + [ + 220.0, + 142.0 + ] + ], + "center_px": [ + 218.25, + 152.5 + ], + "area_px": 376.5 + }, + { + "image_points_px": [ + [ + 386.0, + 146.0 + ], + [ + 367.0, + 157.0 + ], + [ + 350.0, + 147.0 + ], + [ + 369.0, + 136.0 + ] + ], + "center_px": [ + 368.0, + 146.5 + ], + "area_px": 377.0 + }, + { + "image_points_px": [ + [ + 640.0, + 496.0 + ], + [ + 620.0, + 514.0 + ], + [ + 607.0, + 506.0 + ], + [ + 628.0, + 489.0 + ] + ], + "center_px": [ + 623.75, + 501.25 + ], + "area_px": 372.5 + }, + { + "image_points_px": [ + [ + 80.0, + 415.0 + ], + [ + 96.0, + 430.0 + ], + [ + 81.0, + 440.0 + ], + [ + 63.0, + 427.0 + ] + ], + "center_px": [ + 80.0, + 428.0 + ], + "area_px": 411.0 + }, + { + "image_points_px": [ + [ + 1148.0, + 184.0 + ], + [ + 1160.0, + 173.0 + ], + [ + 1183.0, + 183.0 + ], + [ + 1172.0, + 194.0 + ] + ], + "center_px": [ + 1165.75, + 183.5 + ], + "area_px": 373.5 + }, + { + "image_points_px": [ + [ + 1223.0, + 181.0 + ], + [ + 1234.0, + 170.0 + ], + [ + 1258.0, + 180.0 + ], + [ + 1246.0, + 191.0 + ] + ], + "center_px": [ + 1240.25, + 180.5 + ], + "area_px": 373.5 + }, + { + "image_points_px": [ + [ + 1101.0, + 163.0 + ], + [ + 1114.0, + 151.0 + ], + [ + 1136.0, + 161.0 + ], + [ + 1124.0, + 172.0 + ] + ], + "center_px": [ + 1118.75, + 161.75 + ], + "area_px": 377.5 + }, + { + "image_points_px": [ + [ + 1211.0, + 158.0 + ], + [ + 1223.0, + 147.0 + ], + [ + 1246.0, + 157.0 + ], + [ + 1234.0, + 168.0 + ] + ], + "center_px": [ + 1228.5, + 157.5 + ], + "area_px": 373.0 + }, + { + "image_points_px": [ + [ + 1027.0, + 166.0 + ], + [ + 1040.0, + 154.0 + ], + [ + 1062.0, + 164.0 + ], + [ + 1049.0, + 175.0 + ] + ], + "center_px": [ + 1044.5, + 164.75 + ], + "area_px": 376.5 + }, + { + "image_points_px": [ + [ + 1064.0, + 164.0 + ], + [ + 1076.0, + 153.0 + ], + [ + 1099.0, + 163.0 + ], + [ + 1086.0, + 174.0 + ] + ], + "center_px": [ + 1081.25, + 163.5 + ], + "area_px": 372.5 + }, + { + "image_points_px": [ + [ + 383.0, + 266.0 + ], + [ + 401.0, + 255.0 + ], + [ + 419.0, + 266.0 + ], + [ + 404.0, + 275.0 + ] + ], + "center_px": [ + 401.75, + 265.5 + ], + "area_px": 360.0 + }, + { + "image_points_px": [ + [ + 54.0, + 137.0 + ], + [ + 32.0, + 148.0 + ], + [ + 18.0, + 138.0 + ], + [ + 38.0, + 128.0 + ] + ], + "center_px": [ + 35.5, + 137.75 + ], + "area_px": 357.0 + }, + { + "image_points_px": [ + [ + 85.0, + 158.0 + ], + [ + 65.0, + 169.0 + ], + [ + 49.0, + 159.0 + ], + [ + 69.0, + 149.0 + ] + ], + "center_px": [ + 67.0, + 158.75 + ], + "area_px": 358.0 + }, + { + "image_points_px": [ + [ + 311.0, + 149.0 + ], + [ + 292.0, + 160.0 + ], + [ + 275.0, + 150.0 + ], + [ + 293.0, + 140.0 + ] + ], + "center_px": [ + 292.75, + 149.75 + ], + "area_px": 359.5 + }, + { + "image_points_px": [ + [ + 1055.0, + 141.0 + ], + [ + 1068.0, + 130.0 + ], + [ + 1090.0, + 140.0 + ], + [ + 1077.0, + 151.0 + ] + ], + "center_px": [ + 1072.5, + 140.5 + ], + "area_px": 372.0 + }, + { + "image_points_px": [ + [ + 1144.0, + 424.0 + ], + [ + 1167.0, + 437.0 + ], + [ + 1152.0, + 453.0 + ], + [ + 1144.0, + 449.0 + ] + ], + "center_px": [ + 1151.75, + 440.75 + ], + "area_px": 381.5 + }, + { + "image_points_px": [ + [ + 478.0, + 155.0 + ], + [ + 497.0, + 164.0 + ], + [ + 480.0, + 176.0 + ], + [ + 462.0, + 166.0 + ] + ], + "center_px": [ + 479.25, + 165.25 + ], + "area_px": 369.5 + }, + { + "image_points_px": [ + [ + 384.0, + 168.0 + ], + [ + 366.0, + 180.0 + ], + [ + 349.0, + 171.0 + ], + [ + 367.0, + 159.0 + ] + ], + "center_px": [ + 366.5, + 169.5 + ], + "area_px": 366.0 + }, + { + "image_points_px": [ + [ + 573.0, + 138.0 + ], + [ + 589.0, + 127.0 + ], + [ + 608.0, + 137.0 + ], + [ + 591.0, + 148.0 + ] + ], + "center_px": [ + 590.25, + 137.5 + ], + "area_px": 368.5 + }, + { + "image_points_px": [ + [ + 537.0, + 162.0 + ], + [ + 554.0, + 151.0 + ], + [ + 572.0, + 161.0 + ], + [ + 556.0, + 172.0 + ] + ], + "center_px": [ + 554.75, + 161.5 + ], + "area_px": 368.5 + }, + { + "image_points_px": [ + [ + 308.0, + 171.0 + ], + [ + 290.0, + 183.0 + ], + [ + 273.0, + 174.0 + ], + [ + 292.0, + 162.0 + ] + ], + "center_px": [ + 290.75, + 172.5 + ], + "area_px": 364.5 + }, + { + "image_points_px": [ + [ + 516.0, + 130.0 + ], + [ + 534.0, + 140.0 + ], + [ + 517.0, + 151.0 + ], + [ + 499.0, + 141.0 + ] + ], + "center_px": [ + 516.5, + 140.5 + ], + "area_px": 368.0 + }, + { + "image_points_px": [ + [ + 273.0, + 150.0 + ], + [ + 254.0, + 162.0 + ], + [ + 238.0, + 152.0 + ], + [ + 256.0, + 141.0 + ] + ], + "center_px": [ + 255.25, + 151.25 + ], + "area_px": 365.5 + }, + { + "image_points_px": [ + [ + 443.0, + 156.0 + ], + [ + 459.0, + 165.0 + ], + [ + 441.0, + 177.0 + ], + [ + 424.0, + 167.0 + ] + ], + "center_px": [ + 441.75, + 166.25 + ], + "area_px": 365.5 + }, + { + "image_points_px": [ + [ + 460.0, + 143.0 + ], + [ + 442.0, + 154.0 + ], + [ + 425.0, + 144.0 + ], + [ + 443.0, + 133.0 + ] + ], + "center_px": [ + 442.5, + 143.5 + ], + "area_px": 367.0 + }, + { + "image_points_px": [ + [ + 1175.0, + 160.0 + ], + [ + 1187.0, + 148.0 + ], + [ + 1209.0, + 158.0 + ], + [ + 1198.0, + 169.0 + ] + ], + "center_px": [ + 1192.25, + 158.75 + ], + "area_px": 368.0 + }, + { + "image_points_px": [ + [ + 682.0, + 461.0 + ], + [ + 662.0, + 478.0 + ], + [ + 650.0, + 470.0 + ], + [ + 670.0, + 453.0 + ] + ], + "center_px": [ + 666.0, + 465.5 + ], + "area_px": 364.0 + }, + { + "image_points_px": [ + [ + 1138.0, + 161.0 + ], + [ + 1150.0, + 150.0 + ], + [ + 1172.0, + 159.0 + ], + [ + 1160.0, + 171.0 + ] + ], + "center_px": [ + 1155.0, + 160.25 + ], + "area_px": 367.0 + }, + { + "image_points_px": [ + [ + 1201.0, + 135.0 + ], + [ + 1212.0, + 124.0 + ], + [ + 1235.0, + 134.0 + ], + [ + 1223.0, + 145.0 + ] + ], + "center_px": [ + 1217.75, + 134.5 + ], + "area_px": 362.5 + }, + { + "image_points_px": [ + [ + 365.0, + 207.0 + ], + [ + 380.0, + 217.0 + ], + [ + 362.0, + 229.0 + ], + [ + 346.0, + 219.0 + ] + ], + "center_px": [ + 363.25, + 218.0 + ], + "area_px": 371.0 + }, + { + "image_points_px": [ + [ + 497.0, + 141.0 + ], + [ + 481.0, + 152.0 + ], + [ + 462.0, + 143.0 + ], + [ + 479.0, + 132.0 + ] + ], + "center_px": [ + 479.75, + 142.0 + ], + "area_px": 352.0 + }, + { + "image_points_px": [ + [ + 571.0, + 138.0 + ], + [ + 555.0, + 149.0 + ], + [ + 536.0, + 140.0 + ], + [ + 553.0, + 129.0 + ] + ], + "center_px": [ + 553.75, + 139.0 + ], + "area_px": 352.0 + }, + { + "image_points_px": [ + [ + 423.0, + 144.0 + ], + [ + 406.0, + 155.0 + ], + [ + 388.0, + 146.0 + ], + [ + 405.0, + 135.0 + ] + ], + "center_px": [ + 405.5, + 145.0 + ], + "area_px": 351.0 + }, + { + "image_points_px": [ + [ + 497.0, + 119.0 + ], + [ + 480.0, + 130.0 + ], + [ + 462.0, + 121.0 + ], + [ + 479.0, + 110.0 + ] + ], + "center_px": [ + 479.5, + 120.0 + ], + "area_px": 351.0 + }, + { + "image_points_px": [ + [ + 348.0, + 147.0 + ], + [ + 331.0, + 158.0 + ], + [ + 313.0, + 149.0 + ], + [ + 331.0, + 138.0 + ] + ], + "center_px": [ + 330.75, + 148.0 + ], + "area_px": 350.0 + }, + { + "image_points_px": [ + [ + 202.0, + 130.0 + ], + [ + 183.0, + 142.0 + ], + [ + 167.0, + 132.0 + ], + [ + 186.0, + 122.0 + ] + ], + "center_px": [ + 184.5, + 131.5 + ], + "area_px": 347.0 + }, + { + "image_points_px": [ + [ + 387.0, + 123.0 + ], + [ + 369.0, + 134.0 + ], + [ + 352.0, + 125.0 + ], + [ + 370.0, + 114.0 + ] + ], + "center_px": [ + 369.5, + 124.0 + ], + "area_px": 349.0 + }, + { + "image_points_px": [ + [ + 239.0, + 129.0 + ], + [ + 221.0, + 140.0 + ], + [ + 204.0, + 131.0 + ], + [ + 224.0, + 120.0 + ] + ], + "center_px": [ + 222.0, + 130.0 + ], + "area_px": 347.0 + }, + { + "image_points_px": [ + [ + 276.0, + 128.0 + ], + [ + 258.0, + 139.0 + ], + [ + 241.0, + 129.0 + ], + [ + 260.0, + 119.0 + ] + ], + "center_px": [ + 258.75, + 128.75 + ], + "area_px": 349.0 + }, + { + "image_points_px": [ + [ + 313.0, + 126.0 + ], + [ + 295.0, + 137.0 + ], + [ + 278.0, + 128.0 + ], + [ + 297.0, + 117.0 + ] + ], + "center_px": [ + 295.75, + 127.0 + ], + "area_px": 348.0 + }, + { + "image_points_px": [ + [ + 91.0, + 135.0 + ], + [ + 71.0, + 146.0 + ], + [ + 56.0, + 137.0 + ], + [ + 75.0, + 126.0 + ] + ], + "center_px": [ + 73.25, + 136.0 + ], + "area_px": 346.0 + }, + { + "image_points_px": [ + [ + 128.0, + 134.0 + ], + [ + 108.0, + 145.0 + ], + [ + 93.0, + 136.0 + ], + [ + 112.0, + 125.0 + ] + ], + "center_px": [ + 110.25, + 135.0 + ], + "area_px": 346.0 + }, + { + "image_points_px": [ + [ + 170.0, + 110.0 + ], + [ + 151.0, + 121.0 + ], + [ + 135.0, + 112.0 + ], + [ + 155.0, + 101.0 + ] + ], + "center_px": [ + 152.75, + 111.0 + ], + "area_px": 346.0 + }, + { + "image_points_px": [ + [ + 165.0, + 132.0 + ], + [ + 146.0, + 143.0 + ], + [ + 130.0, + 134.0 + ], + [ + 150.0, + 123.0 + ] + ], + "center_px": [ + 147.75, + 133.0 + ], + "area_px": 346.0 + }, + { + "image_points_px": [ + [ + 1164.0, + 137.0 + ], + [ + 1176.0, + 126.0 + ], + [ + 1198.0, + 135.0 + ], + [ + 1187.0, + 146.0 + ] + ], + "center_px": [ + 1181.25, + 136.0 + ], + "area_px": 351.0 + }, + { + "image_points_px": [ + [ + 1092.0, + 140.0 + ], + [ + 1104.0, + 129.0 + ], + [ + 1126.0, + 138.0 + ], + [ + 1114.0, + 149.0 + ] + ], + "center_px": [ + 1109.0, + 139.0 + ], + "area_px": 350.0 + }, + { + "image_points_px": [ + [ + 1128.0, + 138.0 + ], + [ + 1139.0, + 128.0 + ], + [ + 1162.0, + 137.0 + ], + [ + 1150.0, + 148.0 + ] + ], + "center_px": [ + 1144.75, + 137.75 + ], + "area_px": 345.5 + }, + { + "image_points_px": [ + [ + 78.0, + 181.0 + ], + [ + 58.0, + 193.0 + ], + [ + 44.0, + 183.0 + ], + [ + 62.0, + 172.0 + ] + ], + "center_px": [ + 60.5, + 182.25 + ], + "area_px": 353.0 + }, + { + "image_points_px": [ + [ + 1118.0, + 116.0 + ], + [ + 1130.0, + 106.0 + ], + [ + 1152.0, + 115.0 + ], + [ + 1140.0, + 126.0 + ] + ], + "center_px": [ + 1135.0, + 115.75 + ], + "area_px": 345.0 + }, + { + "image_points_px": [ + [ + 571.0, + 116.0 + ], + [ + 587.0, + 106.0 + ], + [ + 606.0, + 115.0 + ], + [ + 590.0, + 125.0 + ] + ], + "center_px": [ + 588.5, + 115.5 + ], + "area_px": 334.0 + }, + { + "image_points_px": [ + [ + 60.0, + 115.0 + ], + [ + 40.0, + 125.0 + ], + [ + 25.0, + 116.0 + ], + [ + 44.0, + 106.0 + ] + ], + "center_px": [ + 42.25, + 115.5 + ], + "area_px": 330.5 + }, + { + "image_points_px": [ + [ + 243.0, + 108.0 + ], + [ + 224.0, + 118.0 + ], + [ + 208.0, + 109.0 + ], + [ + 226.0, + 99.0 + ] + ], + "center_px": [ + 225.25, + 108.5 + ], + "area_px": 331.5 + }, + { + "image_points_px": [ + [ + 316.0, + 105.0 + ], + [ + 298.0, + 115.0 + ], + [ + 281.0, + 106.0 + ], + [ + 299.0, + 96.0 + ] + ], + "center_px": [ + 298.5, + 105.5 + ], + "area_px": 332.0 + }, + { + "image_points_px": [ + [ + 610.0, + 137.0 + ], + [ + 626.0, + 126.0 + ], + [ + 644.0, + 135.0 + ], + [ + 630.0, + 146.0 + ] + ], + "center_px": [ + 627.5, + 136.0 + ], + "area_px": 344.0 + }, + { + "image_points_px": [ + [ + 608.0, + 115.0 + ], + [ + 624.0, + 104.0 + ], + [ + 642.0, + 113.0 + ], + [ + 627.0, + 124.0 + ] + ], + "center_px": [ + 625.25, + 114.0 + ], + "area_px": 343.0 + }, + { + "image_points_px": [ + [ + 1190.0, + 113.0 + ], + [ + 1201.0, + 103.0 + ], + [ + 1224.0, + 112.0 + ], + [ + 1213.0, + 122.0 + ] + ], + "center_px": [ + 1207.0, + 112.5 + ], + "area_px": 329.0 + }, + { + "image_points_px": [ + [ + 569.0, + 116.0 + ], + [ + 553.0, + 127.0 + ], + [ + 535.0, + 118.0 + ], + [ + 552.0, + 107.0 + ] + ], + "center_px": [ + 552.25, + 117.0 + ], + "area_px": 341.0 + }, + { + "image_points_px": [ + [ + 96.0, + 113.0 + ], + [ + 76.0, + 124.0 + ], + [ + 62.0, + 115.0 + ], + [ + 82.0, + 104.0 + ] + ], + "center_px": [ + 79.0, + 114.0 + ], + "area_px": 334.0 + }, + { + "image_points_px": [ + [ + 350.0, + 125.0 + ], + [ + 332.0, + 136.0 + ], + [ + 316.0, + 127.0 + ], + [ + 333.0, + 116.0 + ] + ], + "center_px": [ + 332.75, + 126.0 + ], + "area_px": 339.0 + }, + { + "image_points_px": [ + [ + 206.0, + 109.0 + ], + [ + 187.0, + 120.0 + ], + [ + 172.0, + 111.0 + ], + [ + 191.0, + 100.0 + ] + ], + "center_px": [ + 189.0, + 110.0 + ], + "area_px": 336.0 + }, + { + "image_points_px": [ + [ + 1237.0, + 134.0 + ], + [ + 1248.0, + 123.0 + ], + [ + 1270.0, + 132.0 + ], + [ + 1260.0, + 143.0 + ] + ], + "center_px": [ + 1253.75, + 133.0 + ], + "area_px": 342.0 + }, + { + "image_points_px": [ + [ + 1144.0, + 93.0 + ], + [ + 1156.0, + 83.0 + ], + [ + 1178.0, + 92.0 + ], + [ + 1166.0, + 102.0 + ] + ], + "center_px": [ + 1161.0, + 92.5 + ], + "area_px": 328.0 + }, + { + "image_points_px": [ + [ + 66.0, + 93.0 + ], + [ + 47.0, + 103.0 + ], + [ + 31.0, + 95.0 + ], + [ + 50.0, + 85.0 + ] + ], + "center_px": [ + 48.5, + 94.0 + ], + "area_px": 312.0 + }, + { + "image_points_px": [ + [ + 1154.0, + 115.0 + ], + [ + 1166.0, + 104.0 + ], + [ + 1187.0, + 113.0 + ], + [ + 1176.0, + 124.0 + ] + ], + "center_px": [ + 1170.75, + 114.0 + ], + "area_px": 340.0 + }, + { + "image_points_px": [ + [ + 348.0, + 194.0 + ], + [ + 364.0, + 183.0 + ], + [ + 381.0, + 192.0 + ], + [ + 365.0, + 204.0 + ] + ], + "center_px": [ + 364.5, + 193.25 + ], + "area_px": 347.5 + }, + { + "image_points_px": [ + [ + 1226.0, + 112.0 + ], + [ + 1237.0, + 101.0 + ], + [ + 1259.0, + 111.0 + ], + [ + 1248.0, + 121.0 + ] + ], + "center_px": [ + 1242.5, + 111.25 + ], + "area_px": 335.5 + }, + { + "image_points_px": [ + [ + 343.0, + 194.0 + ], + [ + 327.0, + 205.0 + ], + [ + 310.0, + 196.0 + ], + [ + 327.0, + 184.0 + ] + ], + "center_px": [ + 326.75, + 194.75 + ], + "area_px": 346.5 + }, + { + "image_points_px": [ + [ + 1083.0, + 118.0 + ], + [ + 1095.0, + 107.0 + ], + [ + 1116.0, + 116.0 + ], + [ + 1104.0, + 127.0 + ] + ], + "center_px": [ + 1099.5, + 117.0 + ], + "area_px": 339.0 + }, + { + "image_points_px": [ + [ + 644.0, + 113.0 + ], + [ + 659.0, + 103.0 + ], + [ + 678.0, + 112.0 + ], + [ + 664.0, + 122.0 + ] + ], + "center_px": [ + 661.25, + 112.5 + ], + "area_px": 325.5 + }, + { + "image_points_px": [ + [ + 570.0, + 95.0 + ], + [ + 585.0, + 85.0 + ], + [ + 604.0, + 93.0 + ], + [ + 588.0, + 104.0 + ] + ], + "center_px": [ + 586.75, + 94.25 + ], + "area_px": 326.0 + }, + { + "image_points_px": [ + [ + 496.0, + 97.0 + ], + [ + 480.0, + 108.0 + ], + [ + 462.0, + 99.0 + ], + [ + 479.0, + 89.0 + ] + ], + "center_px": [ + 479.25, + 98.25 + ], + "area_px": 324.0 + }, + { + "image_points_px": [ + [ + 499.0, + 119.0 + ], + [ + 515.0, + 109.0 + ], + [ + 533.0, + 118.0 + ], + [ + 518.0, + 128.0 + ] + ], + "center_px": [ + 516.25, + 118.5 + ], + "area_px": 324.5 + }, + { + "image_points_px": [ + [ + 606.0, + 93.0 + ], + [ + 622.0, + 83.0 + ], + [ + 640.0, + 92.0 + ], + [ + 625.0, + 102.0 + ] + ], + "center_px": [ + 623.25, + 92.5 + ], + "area_px": 324.5 + }, + { + "image_points_px": [ + [ + 318.0, + 105.0 + ], + [ + 334.0, + 95.0 + ], + [ + 352.0, + 103.0 + ], + [ + 334.0, + 114.0 + ] + ], + "center_px": [ + 334.5, + 104.25 + ], + "area_px": 323.0 + }, + { + "image_points_px": [ + [ + 568.0, + 95.0 + ], + [ + 553.0, + 105.0 + ], + [ + 534.0, + 96.0 + ], + [ + 551.0, + 86.0 + ] + ], + "center_px": [ + 551.5, + 95.5 + ], + "area_px": 324.0 + }, + { + "image_points_px": [ + [ + 424.0, + 100.0 + ], + [ + 407.0, + 111.0 + ], + [ + 390.0, + 102.0 + ], + [ + 407.0, + 92.0 + ] + ], + "center_px": [ + 407.0, + 101.25 + ], + "area_px": 323.0 + }, + { + "image_points_px": [ + [ + 425.0, + 79.0 + ], + [ + 408.0, + 90.0 + ], + [ + 391.0, + 81.0 + ], + [ + 408.0, + 71.0 + ] + ], + "center_px": [ + 408.0, + 80.25 + ], + "area_px": 323.0 + }, + { + "image_points_px": [ + [ + 279.0, + 106.0 + ], + [ + 262.0, + 116.0 + ], + [ + 245.0, + 108.0 + ], + [ + 263.0, + 97.0 + ] + ], + "center_px": [ + 262.25, + 106.75 + ], + "area_px": 322.0 + }, + { + "image_points_px": [ + [ + 246.0, + 86.0 + ], + [ + 227.0, + 97.0 + ], + [ + 212.0, + 88.0 + ], + [ + 229.0, + 78.0 + ] + ], + "center_px": [ + 228.5, + 87.25 + ], + "area_px": 321.0 + }, + { + "image_points_px": [ + [ + 460.0, + 99.0 + ], + [ + 444.0, + 109.0 + ], + [ + 426.0, + 100.0 + ], + [ + 444.0, + 90.0 + ] + ], + "center_px": [ + 443.5, + 99.5 + ], + "area_px": 323.0 + }, + { + "image_points_px": [ + [ + 133.0, + 112.0 + ], + [ + 115.0, + 122.0 + ], + [ + 99.0, + 114.0 + ], + [ + 118.0, + 103.0 + ] + ], + "center_px": [ + 116.25, + 112.75 + ], + "area_px": 320.0 + }, + { + "image_points_px": [ + [ + 138.0, + 90.0 + ], + [ + 119.0, + 101.0 + ], + [ + 104.0, + 92.0 + ], + [ + 123.0, + 82.0 + ] + ], + "center_px": [ + 121.0, + 91.25 + ], + "area_px": 319.0 + }, + { + "image_points_px": [ + [ + 388.0, + 102.0 + ], + [ + 371.0, + 112.0 + ], + [ + 354.0, + 103.0 + ], + [ + 371.0, + 93.0 + ] + ], + "center_px": [ + 371.0, + 102.5 + ], + "area_px": 323.0 + }, + { + "image_points_px": [ + [ + 210.0, + 88.0 + ], + [ + 192.0, + 98.0 + ], + [ + 176.0, + 89.0 + ], + [ + 195.0, + 79.0 + ] + ], + "center_px": [ + 193.25, + 88.5 + ], + "area_px": 321.5 + }, + { + "image_points_px": [ + [ + 318.0, + 84.0 + ], + [ + 300.0, + 94.0 + ], + [ + 284.0, + 85.0 + ], + [ + 302.0, + 75.0 + ] + ], + "center_px": [ + 301.0, + 84.5 + ], + "area_px": 322.0 + }, + { + "image_points_px": [ + [ + 1215.0, + 91.0 + ], + [ + 1226.0, + 80.0 + ], + [ + 1248.0, + 89.0 + ], + [ + 1237.0, + 99.0 + ] + ], + "center_px": [ + 1231.5, + 89.75 + ], + "area_px": 324.5 + }, + { + "image_points_px": [ + [ + 722.0, + 426.0 + ], + [ + 704.0, + 442.0 + ], + [ + 691.0, + 435.0 + ], + [ + 710.0, + 419.0 + ] + ], + "center_px": [ + 706.75, + 430.5 + ], + "area_px": 329.5 + }, + { + "image_points_px": [ + [ + 1109.0, + 95.0 + ], + [ + 1121.0, + 85.0 + ], + [ + 1142.0, + 93.0 + ], + [ + 1130.0, + 104.0 + ] + ], + "center_px": [ + 1125.5, + 94.25 + ], + "area_px": 322.5 + }, + { + "image_points_px": [ + [ + 639.0, + 71.0 + ], + [ + 653.0, + 62.0 + ], + [ + 673.0, + 70.0 + ], + [ + 657.0, + 80.0 + ] + ], + "center_px": [ + 655.5, + 70.75 + ], + "area_px": 308.0 + }, + { + "image_points_px": [ + [ + 1180.0, + 92.0 + ], + [ + 1191.0, + 82.0 + ], + [ + 1213.0, + 91.0 + ], + [ + 1201.0, + 101.0 + ] + ], + "center_px": [ + 1196.25, + 91.5 + ], + "area_px": 318.5 + }, + { + "image_points_px": [ + [ + 42.0, + 54.0 + ], + [ + 23.0, + 63.0 + ], + [ + 8.0, + 55.0 + ], + [ + 28.0, + 45.0 + ] + ], + "center_px": [ + 25.25, + 54.25 + ], + "area_px": 303.5 + }, + { + "image_points_px": [ + [ + 354.0, + 82.0 + ], + [ + 337.0, + 92.0 + ], + [ + 320.0, + 84.0 + ], + [ + 337.0, + 74.0 + ] + ], + "center_px": [ + 337.0, + 83.0 + ], + "area_px": 306.0 + }, + { + "image_points_px": [ + [ + 102.0, + 92.0 + ], + [ + 83.0, + 102.0 + ], + [ + 68.0, + 94.0 + ], + [ + 85.0, + 84.0 + ] + ], + "center_px": [ + 84.5, + 93.0 + ], + "area_px": 304.0 + }, + { + "image_points_px": [ + [ + 143.0, + 70.0 + ], + [ + 124.0, + 80.0 + ], + [ + 109.0, + 71.0 + ], + [ + 127.0, + 62.0 + ] + ], + "center_px": [ + 125.75, + 70.75 + ], + "area_px": 304.5 + }, + { + "image_points_px": [ + [ + 282.0, + 85.0 + ], + [ + 264.0, + 95.0 + ], + [ + 248.0, + 86.0 + ], + [ + 265.0, + 77.0 + ] + ], + "center_px": [ + 264.75, + 85.75 + ], + "area_px": 305.5 + }, + { + "image_points_px": [ + [ + 174.0, + 89.0 + ], + [ + 156.0, + 99.0 + ], + [ + 140.0, + 91.0 + ], + [ + 158.0, + 81.0 + ] + ], + "center_px": [ + 157.0, + 90.0 + ], + "area_px": 304.0 + }, + { + "image_points_px": [ + [ + 214.0, + 67.0 + ], + [ + 196.0, + 77.0 + ], + [ + 180.0, + 69.0 + ], + [ + 198.0, + 59.0 + ] + ], + "center_px": [ + 197.0, + 68.0 + ], + "area_px": 304.0 + }, + { + "image_points_px": [ + [ + 678.0, + 91.0 + ], + [ + 693.0, + 80.0 + ], + [ + 711.0, + 89.0 + ], + [ + 697.0, + 99.0 + ] + ], + "center_px": [ + 694.75, + 89.75 + ], + "area_px": 317.5 + }, + { + "image_points_px": [ + [ + 642.0, + 92.0 + ], + [ + 657.0, + 82.0 + ], + [ + 675.0, + 90.0 + ], + [ + 660.0, + 101.0 + ] + ], + "center_px": [ + 658.5, + 91.25 + ], + "area_px": 316.5 + }, + { + "image_points_px": [ + [ + 499.0, + 98.0 + ], + [ + 515.0, + 87.0 + ], + [ + 532.0, + 96.0 + ], + [ + 517.0, + 106.0 + ] + ], + "center_px": [ + 515.75, + 96.75 + ], + "area_px": 315.5 + }, + { + "image_points_px": [ + [ + 567.0, + 74.0 + ], + [ + 551.0, + 84.0 + ], + [ + 534.0, + 76.0 + ], + [ + 550.0, + 65.0 + ] + ], + "center_px": [ + 550.5, + 74.75 + ], + "area_px": 314.5 + }, + { + "image_points_px": [ + [ + 1169.0, + 71.0 + ], + [ + 1180.0, + 62.0 + ], + [ + 1202.0, + 70.0 + ], + [ + 1191.0, + 80.0 + ] + ], + "center_px": [ + 1185.5, + 70.75 + ], + "area_px": 302.5 + }, + { + "image_points_px": [ + [ + 1204.0, + 70.0 + ], + [ + 1215.0, + 60.0 + ], + [ + 1237.0, + 69.0 + ], + [ + 1226.0, + 78.0 + ] + ], + "center_px": [ + 1220.5, + 69.25 + ], + "area_px": 302.5 + }, + { + "image_points_px": [ + [ + 569.0, + 74.0 + ], + [ + 584.0, + 64.0 + ], + [ + 602.0, + 73.0 + ], + [ + 586.0, + 83.0 + ] + ], + "center_px": [ + 585.25, + 73.5 + ], + "area_px": 314.5 + }, + { + "image_points_px": [ + [ + 355.0, + 61.0 + ], + [ + 338.0, + 72.0 + ], + [ + 322.0, + 63.0 + ], + [ + 340.0, + 53.0 + ] + ], + "center_px": [ + 338.75, + 62.25 + ], + "area_px": 311.5 + }, + { + "image_points_px": [ + [ + 604.0, + 73.0 + ], + [ + 619.0, + 63.0 + ], + [ + 637.0, + 71.0 + ], + [ + 623.0, + 81.0 + ] + ], + "center_px": [ + 620.75, + 72.0 + ], + "area_px": 301.0 + }, + { + "image_points_px": [ + [ + 159.0, + 155.0 + ], + [ + 141.0, + 166.0 + ], + [ + 127.0, + 157.0 + ], + [ + 144.0, + 146.0 + ] + ], + "center_px": [ + 142.75, + 156.0 + ], + "area_px": 317.0 + }, + { + "image_points_px": [ + [ + 706.0, + 48.0 + ], + [ + 720.0, + 39.0 + ], + [ + 739.0, + 47.0 + ], + [ + 724.0, + 57.0 + ] + ], + "center_px": [ + 722.25, + 47.75 + ], + "area_px": 299.0 + }, + { + "image_points_px": [ + [ + 531.0, + 75.0 + ], + [ + 516.0, + 85.0 + ], + [ + 498.0, + 77.0 + ], + [ + 514.0, + 67.0 + ] + ], + "center_px": [ + 514.75, + 76.0 + ], + "area_px": 299.0 + }, + { + "image_points_px": [ + [ + 567.0, + 54.0 + ], + [ + 583.0, + 44.0 + ], + [ + 600.0, + 52.0 + ], + [ + 585.0, + 62.0 + ] + ], + "center_px": [ + 583.75, + 53.0 + ], + "area_px": 299.0 + }, + { + "image_points_px": [ + [ + 498.0, + 57.0 + ], + [ + 513.0, + 47.0 + ], + [ + 531.0, + 55.0 + ], + [ + 515.0, + 65.0 + ] + ], + "center_px": [ + 514.25, + 56.0 + ], + "area_px": 299.0 + }, + { + "image_points_px": [ + [ + 602.0, + 52.0 + ], + [ + 617.0, + 43.0 + ], + [ + 635.0, + 51.0 + ], + [ + 620.0, + 61.0 + ] + ], + "center_px": [ + 618.5, + 51.75 + ], + "area_px": 298.5 + }, + { + "image_points_px": [ + [ + 356.0, + 82.0 + ], + [ + 371.0, + 73.0 + ], + [ + 389.0, + 81.0 + ], + [ + 372.0, + 91.0 + ] + ], + "center_px": [ + 372.0, + 81.75 + ], + "area_px": 297.5 + }, + { + "image_points_px": [ + [ + 428.0, + 59.0 + ], + [ + 443.0, + 50.0 + ], + [ + 461.0, + 58.0 + ], + [ + 444.0, + 68.0 + ] + ], + "center_px": [ + 444.0, + 58.75 + ], + "area_px": 297.5 + }, + { + "image_points_px": [ + [ + 320.0, + 63.0 + ], + [ + 303.0, + 73.0 + ], + [ + 287.0, + 65.0 + ], + [ + 303.0, + 55.0 + ] + ], + "center_px": [ + 303.25, + 64.0 + ], + "area_px": 297.0 + }, + { + "image_points_px": [ + [ + 390.0, + 60.0 + ], + [ + 374.0, + 70.0 + ], + [ + 357.0, + 62.0 + ], + [ + 374.0, + 52.0 + ] + ], + "center_px": [ + 373.75, + 61.0 + ], + "area_px": 297.0 + }, + { + "image_points_px": [ + [ + 249.0, + 66.0 + ], + [ + 233.0, + 75.0 + ], + [ + 216.0, + 67.0 + ], + [ + 234.0, + 57.0 + ] + ], + "center_px": [ + 233.0, + 66.25 + ], + "area_px": 296.5 + }, + { + "image_points_px": [ + [ + 182.0, + 48.0 + ], + [ + 165.0, + 58.0 + ], + [ + 149.0, + 50.0 + ], + [ + 168.0, + 40.0 + ] + ], + "center_px": [ + 166.0, + 49.0 + ], + "area_px": 294.0 + }, + { + "image_points_px": [ + [ + 178.0, + 68.0 + ], + [ + 161.0, + 78.0 + ], + [ + 145.0, + 70.0 + ], + [ + 163.0, + 60.0 + ] + ], + "center_px": [ + 161.75, + 69.0 + ], + "area_px": 295.0 + }, + { + "image_points_px": [ + [ + 284.0, + 64.0 + ], + [ + 267.0, + 74.0 + ], + [ + 251.0, + 66.0 + ], + [ + 269.0, + 56.0 + ] + ], + "center_px": [ + 267.75, + 65.0 + ], + "area_px": 295.0 + }, + { + "image_points_px": [ + [ + 77.0, + 52.0 + ], + [ + 58.0, + 62.0 + ], + [ + 44.0, + 54.0 + ], + [ + 63.0, + 44.0 + ] + ], + "center_px": [ + 60.5, + 53.0 + ], + "area_px": 292.0 + }, + { + "image_points_px": [ + [ + 112.0, + 51.0 + ], + [ + 93.0, + 61.0 + ], + [ + 79.0, + 53.0 + ], + [ + 98.0, + 43.0 + ] + ], + "center_px": [ + 95.5, + 52.0 + ], + "area_px": 292.0 + }, + { + "image_points_px": [ + [ + 107.0, + 71.0 + ], + [ + 88.0, + 81.0 + ], + [ + 74.0, + 73.0 + ], + [ + 92.0, + 63.0 + ] + ], + "center_px": [ + 90.25, + 72.0 + ], + "area_px": 293.0 + }, + { + "image_points_px": [ + [ + 996.0, + 78.0 + ], + [ + 1008.0, + 68.0 + ], + [ + 1028.0, + 77.0 + ], + [ + 1016.0, + 87.0 + ] + ], + "center_px": [ + 1012.0, + 77.5 + ], + "area_px": 308.0 + }, + { + "image_points_px": [ + [ + 1239.0, + 69.0 + ], + [ + 1249.0, + 59.0 + ], + [ + 1271.0, + 67.0 + ], + [ + 1261.0, + 77.0 + ] + ], + "center_px": [ + 1255.0, + 68.0 + ], + "area_px": 300.0 + }, + { + "image_points_px": [ + [ + 761.0, + 393.0 + ], + [ + 743.0, + 408.0 + ], + [ + 731.0, + 402.0 + ], + [ + 748.0, + 386.0 + ] + ], + "center_px": [ + 745.75, + 397.25 + ], + "area_px": 307.5 + }, + { + "image_points_px": [ + [ + 1031.0, + 77.0 + ], + [ + 1042.0, + 67.0 + ], + [ + 1063.0, + 75.0 + ], + [ + 1052.0, + 85.0 + ] + ], + "center_px": [ + 1047.0, + 76.0 + ], + "area_px": 298.0 + }, + { + "image_points_px": [ + [ + 1135.0, + 73.0 + ], + [ + 1146.0, + 63.0 + ], + [ + 1167.0, + 71.0 + ], + [ + 1156.0, + 81.0 + ] + ], + "center_px": [ + 1151.0, + 72.0 + ], + "area_px": 298.0 + }, + { + "image_points_px": [ + [ + 1194.0, + 50.0 + ], + [ + 1205.0, + 40.0 + ], + [ + 1226.0, + 49.0 + ], + [ + 1216.0, + 58.0 + ] + ], + "center_px": [ + 1210.25, + 49.25 + ], + "area_px": 293.5 + }, + { + "image_points_px": [ + [ + 637.0, + 51.0 + ], + [ + 651.0, + 42.0 + ], + [ + 670.0, + 50.0 + ], + [ + 656.0, + 59.0 + ] + ], + "center_px": [ + 653.5, + 50.5 + ], + "area_px": 283.0 + }, + { + "image_points_px": [ + [ + 497.0, + 37.0 + ], + [ + 512.0, + 28.0 + ], + [ + 530.0, + 35.0 + ], + [ + 514.0, + 45.0 + ] + ], + "center_px": [ + 513.25, + 36.25 + ], + "area_px": 282.5 + }, + { + "image_points_px": [ + [ + 428.0, + 39.0 + ], + [ + 444.0, + 30.0 + ], + [ + 461.0, + 38.0 + ], + [ + 445.0, + 47.0 + ] + ], + "center_px": [ + 444.5, + 38.5 + ], + "area_px": 281.0 + }, + { + "image_points_px": [ + [ + 147.0, + 49.0 + ], + [ + 130.0, + 59.0 + ], + [ + 114.0, + 51.0 + ], + [ + 132.0, + 42.0 + ] + ], + "center_px": [ + 130.75, + 50.25 + ], + "area_px": 278.5 + }, + { + "image_points_px": [ + [ + 48.0, + 34.0 + ], + [ + 30.0, + 43.0 + ], + [ + 15.0, + 36.0 + ], + [ + 34.0, + 26.0 + ] + ], + "center_px": [ + 31.75, + 34.75 + ], + "area_px": 276.5 + }, + { + "image_points_px": [ + [ + 357.0, + 42.0 + ], + [ + 341.0, + 51.0 + ], + [ + 324.0, + 43.0 + ], + [ + 341.0, + 34.0 + ] + ], + "center_px": [ + 340.75, + 42.5 + ], + "area_px": 280.5 + }, + { + "image_points_px": [ + [ + 187.0, + 29.0 + ], + [ + 169.0, + 38.0 + ], + [ + 154.0, + 30.0 + ], + [ + 172.0, + 21.0 + ] + ], + "center_px": [ + 170.5, + 29.5 + ], + "area_px": 279.0 + }, + { + "image_points_px": [ + [ + 1023.0, + 57.0 + ], + [ + 1035.0, + 47.0 + ], + [ + 1055.0, + 55.0 + ], + [ + 1042.0, + 65.0 + ] + ], + "center_px": [ + 1038.75, + 56.0 + ], + "area_px": 295.0 + }, + { + "image_points_px": [ + [ + 675.0, + 70.0 + ], + [ + 690.0, + 60.0 + ], + [ + 707.0, + 68.0 + ], + [ + 694.0, + 78.0 + ] + ], + "center_px": [ + 691.5, + 69.0 + ], + "area_px": 292.0 + }, + { + "image_points_px": [ + [ + 710.0, + 69.0 + ], + [ + 724.0, + 59.0 + ], + [ + 742.0, + 67.0 + ], + [ + 728.0, + 77.0 + ] + ], + "center_px": [ + 726.0, + 68.0 + ], + "area_px": 292.0 + }, + { + "image_points_px": [ + [ + 196.0, + 153.0 + ], + [ + 179.0, + 164.0 + ], + [ + 165.0, + 155.0 + ], + [ + 182.0, + 144.0 + ] + ], + "center_px": [ + 180.5, + 154.0 + ], + "area_px": 307.0 + }, + { + "image_points_px": [ + [ + 1160.0, + 51.0 + ], + [ + 1170.0, + 42.0 + ], + [ + 1192.0, + 50.0 + ], + [ + 1182.0, + 59.0 + ] + ], + "center_px": [ + 1176.0, + 50.5 + ], + "area_px": 278.0 + }, + { + "image_points_px": [ + [ + 672.0, + 50.0 + ], + [ + 687.0, + 40.0 + ], + [ + 704.0, + 48.0 + ], + [ + 690.0, + 58.0 + ] + ], + "center_px": [ + 688.25, + 49.0 + ], + "area_px": 291.0 + }, + { + "image_points_px": [ + [ + 635.0, + 32.0 + ], + [ + 650.0, + 22.0 + ], + [ + 667.0, + 30.0 + ], + [ + 652.0, + 40.0 + ] + ], + "center_px": [ + 651.0, + 31.0 + ], + "area_px": 290.0 + }, + { + "image_points_px": [ + [ + 495.0, + 56.0 + ], + [ + 480.0, + 66.0 + ], + [ + 463.0, + 58.0 + ], + [ + 479.0, + 48.0 + ] + ], + "center_px": [ + 479.25, + 57.0 + ], + "area_px": 289.0 + }, + { + "image_points_px": [ + [ + 425.0, + 59.0 + ], + [ + 409.0, + 69.0 + ], + [ + 393.0, + 61.0 + ], + [ + 409.0, + 51.0 + ] + ], + "center_px": [ + 409.0, + 60.0 + ], + "area_px": 288.0 + }, + { + "image_points_px": [ + [ + 426.0, + 39.0 + ], + [ + 410.0, + 49.0 + ], + [ + 394.0, + 41.0 + ], + [ + 410.0, + 31.0 + ] + ], + "center_px": [ + 410.0, + 40.0 + ], + "area_px": 288.0 + }, + { + "image_points_px": [ + [ + 529.0, + 16.0 + ], + [ + 513.0, + 26.0 + ], + [ + 497.0, + 17.0 + ], + [ + 513.0, + 8.0 + ] + ], + "center_px": [ + 513.0, + 16.75 + ], + "area_px": 288.0 + }, + { + "image_points_px": [ + [ + 495.0, + 18.0 + ], + [ + 479.0, + 27.0 + ], + [ + 463.0, + 19.0 + ], + [ + 479.0, + 9.0 + ] + ], + "center_px": [ + 479.0, + 18.25 + ], + "area_px": 288.0 + }, + { + "image_points_px": [ + [ + 152.0, + 30.0 + ], + [ + 133.0, + 40.0 + ], + [ + 120.0, + 32.0 + ], + [ + 138.0, + 22.0 + ] + ], + "center_px": [ + 135.75, + 31.0 + ], + "area_px": 283.0 + }, + { + "image_points_px": [ + [ + 322.0, + 43.0 + ], + [ + 305.0, + 53.0 + ], + [ + 290.0, + 45.0 + ], + [ + 307.0, + 35.0 + ] + ], + "center_px": [ + 306.0, + 44.0 + ], + "area_px": 286.0 + }, + { + "image_points_px": [ + [ + 1057.0, + 55.0 + ], + [ + 1068.0, + 46.0 + ], + [ + 1089.0, + 54.0 + ], + [ + 1078.0, + 63.0 + ] + ], + "center_px": [ + 1073.0, + 54.5 + ], + "area_px": 277.0 + }, + { + "image_points_px": [ + [ + 1049.0, + 35.0 + ], + [ + 1060.0, + 26.0 + ], + [ + 1081.0, + 34.0 + ], + [ + 1070.0, + 43.0 + ] + ], + "center_px": [ + 1065.0, + 34.5 + ], + "area_px": 277.0 + }, + { + "image_points_px": [ + [ + 427.0, + 122.0 + ], + [ + 442.0, + 112.0 + ], + [ + 458.0, + 120.0 + ], + [ + 443.0, + 131.0 + ] + ], + "center_px": [ + 442.5, + 121.25 + ], + "area_px": 295.5 + }, + { + "image_points_px": [ + [ + 422.0, + 122.0 + ], + [ + 407.0, + 132.0 + ], + [ + 391.0, + 124.0 + ], + [ + 407.0, + 113.0 + ] + ], + "center_px": [ + 406.75, + 122.75 + ], + "area_px": 294.5 + }, + { + "image_points_px": [ + [ + 533.0, + 55.0 + ], + [ + 547.0, + 46.0 + ], + [ + 565.0, + 53.0 + ], + [ + 550.0, + 63.0 + ] + ], + "center_px": [ + 548.75, + 54.25 + ], + "area_px": 275.0 + }, + { + "image_points_px": [ + [ + 741.0, + 47.0 + ], + [ + 755.0, + 38.0 + ], + [ + 773.0, + 46.0 + ], + [ + 760.0, + 55.0 + ] + ], + "center_px": [ + 757.25, + 46.5 + ], + "area_px": 274.5 + }, + { + "image_points_px": [ + [ + 771.0, + 26.0 + ], + [ + 785.0, + 17.0 + ], + [ + 803.0, + 25.0 + ], + [ + 790.0, + 34.0 + ] + ], + "center_px": [ + 787.25, + 25.5 + ], + "area_px": 274.5 + }, + { + "image_points_px": [ + [ + 463.0, + 38.0 + ], + [ + 478.0, + 29.0 + ], + [ + 495.0, + 36.0 + ], + [ + 480.0, + 46.0 + ] + ], + "center_px": [ + 479.0, + 37.25 + ], + "area_px": 274.0 + }, + { + "image_points_px": [ + [ + 703.0, + 29.0 + ], + [ + 717.0, + 20.0 + ], + [ + 735.0, + 28.0 + ], + [ + 721.0, + 37.0 + ] + ], + "center_px": [ + 719.0, + 28.5 + ], + "area_px": 274.0 + }, + { + "image_points_px": [ + [ + 669.0, + 30.0 + ], + [ + 684.0, + 21.0 + ], + [ + 701.0, + 29.0 + ], + [ + 687.0, + 38.0 + ] + ], + "center_px": [ + 685.25, + 29.5 + ], + "area_px": 273.5 + }, + { + "image_points_px": [ + [ + 358.0, + 22.0 + ], + [ + 342.0, + 32.0 + ], + [ + 326.0, + 24.0 + ], + [ + 342.0, + 15.0 + ] + ], + "center_px": [ + 342.0, + 23.25 + ], + "area_px": 272.0 + }, + { + "image_points_px": [ + [ + 391.0, + 40.0 + ], + [ + 375.0, + 50.0 + ], + [ + 359.0, + 42.0 + ], + [ + 375.0, + 33.0 + ] + ], + "center_px": [ + 375.0, + 41.25 + ], + "area_px": 272.0 + }, + { + "image_points_px": [ + [ + 531.0, + 16.0 + ], + [ + 546.0, + 7.0 + ], + [ + 563.0, + 15.0 + ], + [ + 548.0, + 24.0 + ] + ], + "center_px": [ + 547.0, + 15.5 + ], + "area_px": 273.0 + }, + { + "image_points_px": [ + [ + 565.0, + 15.0 + ], + [ + 580.0, + 6.0 + ], + [ + 597.0, + 14.0 + ], + [ + 582.0, + 23.0 + ] + ], + "center_px": [ + 581.0, + 14.5 + ], + "area_px": 273.0 + }, + { + "image_points_px": [ + [ + 287.0, + 44.0 + ], + [ + 270.0, + 54.0 + ], + [ + 255.0, + 46.0 + ], + [ + 271.0, + 37.0 + ] + ], + "center_px": [ + 270.75, + 45.25 + ], + "area_px": 271.0 + }, + { + "image_points_px": [ + [ + 290.0, + 25.0 + ], + [ + 274.0, + 34.0 + ], + [ + 258.0, + 27.0 + ], + [ + 275.0, + 17.0 + ] + ], + "center_px": [ + 274.25, + 25.75 + ], + "area_px": 271.0 + }, + { + "image_points_px": [ + [ + 255.0, + 26.0 + ], + [ + 238.0, + 36.0 + ], + [ + 223.0, + 28.0 + ], + [ + 240.0, + 19.0 + ] + ], + "center_px": [ + 239.0, + 27.25 + ], + "area_px": 270.0 + }, + { + "image_points_px": [ + [ + 221.0, + 28.0 + ], + [ + 203.0, + 37.0 + ], + [ + 189.0, + 29.0 + ], + [ + 205.0, + 20.0 + ] + ], + "center_px": [ + 204.5, + 28.5 + ], + "area_px": 271.0 + }, + { + "image_points_px": [ + [ + 427.0, + 20.0 + ], + [ + 411.0, + 29.0 + ], + [ + 395.0, + 21.0 + ], + [ + 411.0, + 12.0 + ] + ], + "center_px": [ + 411.0, + 20.5 + ], + "area_px": 272.0 + }, + { + "image_points_px": [ + [ + 461.0, + 19.0 + ], + [ + 445.0, + 28.0 + ], + [ + 429.0, + 20.0 + ], + [ + 445.0, + 11.0 + ] + ], + "center_px": [ + 445.0, + 19.5 + ], + "area_px": 272.0 + }, + { + "image_points_px": [ + [ + 324.0, + 24.0 + ], + [ + 308.0, + 33.0 + ], + [ + 292.0, + 25.0 + ], + [ + 309.0, + 16.0 + ] + ], + "center_px": [ + 308.25, + 24.5 + ], + "area_px": 271.5 + }, + { + "image_points_px": [ + [ + 737.0, + 28.0 + ], + [ + 750.0, + 19.0 + ], + [ + 769.0, + 26.0 + ], + [ + 756.0, + 35.0 + ] + ], + "center_px": [ + 753.0, + 27.0 + ], + "area_px": 262.0 + }, + { + "image_points_px": [ + [ + 361.0, + 23.0 + ], + [ + 376.0, + 14.0 + ], + [ + 393.0, + 21.0 + ], + [ + 377.0, + 30.0 + ] + ], + "center_px": [ + 376.75, + 22.0 + ], + "area_px": 257.0 + }, + { + "image_points_px": [ + [ + 122.0, + 12.0 + ], + [ + 106.0, + 21.0 + ], + [ + 90.0, + 14.0 + ], + [ + 107.0, + 5.0 + ] + ], + "center_px": [ + 106.25, + 13.0 + ], + "area_px": 255.0 + }, + { + "image_points_px": [ + [ + 601.0, + 33.0 + ], + [ + 615.0, + 24.0 + ], + [ + 632.0, + 31.0 + ], + [ + 618.0, + 41.0 + ] + ], + "center_px": [ + 616.5, + 32.25 + ], + "area_px": 266.5 + }, + { + "image_points_px": [ + [ + 633.0, + 13.0 + ], + [ + 646.0, + 4.0 + ], + [ + 664.0, + 11.0 + ], + [ + 650.0, + 20.0 + ] + ], + "center_px": [ + 648.25, + 12.0 + ], + "area_px": 252.0 + }, + { + "image_points_px": [ + [ + 599.0, + 14.0 + ], + [ + 613.0, + 5.0 + ], + [ + 630.0, + 12.0 + ], + [ + 617.0, + 21.0 + ] + ], + "center_px": [ + 614.75, + 13.0 + ], + "area_px": 252.0 + }, + { + "image_points_px": [ + [ + 604.0, + 156.0 + ], + [ + 587.0, + 168.0 + ], + [ + 574.0, + 161.0 + ], + [ + 591.0, + 150.0 + ] + ], + "center_px": [ + 589.0, + 158.75 + ], + "area_px": 260.0 + }, + { + "image_points_px": [ + [ + 862.0, + 451.0 + ], + [ + 866.0, + 448.0 + ], + [ + 892.0, + 462.0 + ], + [ + 885.0, + 466.0 + ] + ], + "center_px": [ + 876.25, + 456.75 + ], + "area_px": 165.5 + }, + { + "image_points_px": [ + [ + 69.0, + 72.0 + ], + [ + 53.0, + 82.0 + ], + [ + 39.0, + 74.0 + ], + [ + 57.0, + 64.0 + ] + ], + "center_px": [ + 54.5, + 73.0 + ], + "area_px": 266.0 + }, + { + "image_points_px": [ + [ + 34.0, + 74.0 + ], + [ + 16.0, + 84.0 + ], + [ + 4.0, + 76.0 + ], + [ + 21.0, + 66.0 + ] + ], + "center_px": [ + 18.75, + 75.0 + ], + "area_px": 265.0 + }, + { + "image_points_px": [ + [ + 914.0, + 482.0 + ], + [ + 918.0, + 479.0 + ], + [ + 943.0, + 495.0 + ], + [ + 939.0, + 498.0 + ] + ], + "center_px": [ + 928.5, + 488.5 + ], + "area_px": 139.0 + }, + { + "image_points_px": [ + [ + 464.0, + 78.0 + ], + [ + 478.0, + 69.0 + ], + [ + 494.0, + 77.0 + ], + [ + 481.0, + 86.0 + ] + ], + "center_px": [ + 479.25, + 77.5 + ], + "area_px": 256.5 + }, + { + "image_points_px": [ + [ + 251.0, + 46.0 + ], + [ + 235.0, + 55.0 + ], + [ + 221.0, + 47.0 + ], + [ + 237.0, + 38.0 + ] + ], + "center_px": [ + 236.0, + 46.5 + ], + "area_px": 254.0 + }, + { + "image_points_px": [ + [ + 216.0, + 47.0 + ], + [ + 201.0, + 56.0 + ], + [ + 187.0, + 49.0 + ], + [ + 203.0, + 39.0 + ] + ], + "center_px": [ + 201.75, + 47.75 + ], + "area_px": 244.5 + }, + { + "image_points_px": [ + [ + 115.0, + 31.0 + ], + [ + 98.0, + 41.0 + ], + [ + 86.0, + 33.0 + ], + [ + 102.0, + 24.0 + ] + ], + "center_px": [ + 100.25, + 32.25 + ], + "area_px": 242.5 + }, + { + "image_points_px": [ + [ + 86.0, + 13.0 + ], + [ + 71.0, + 22.0 + ], + [ + 57.0, + 15.0 + ], + [ + 74.0, + 6.0 + ] + ], + "center_px": [ + 72.0, + 14.0 + ], + "area_px": 229.0 + }, + { + "image_points_px": [ + [ + 534.0, + 36.0 + ], + [ + 546.0, + 27.0 + ], + [ + 562.0, + 34.0 + ], + [ + 550.0, + 43.0 + ] + ], + "center_px": [ + 548.0, + 35.0 + ], + "area_px": 228.0 + }, + { + "image_points_px": [ + [ + 763.0, + 392.0 + ], + [ + 768.0, + 390.0 + ], + [ + 791.0, + 402.0 + ], + [ + 784.0, + 406.0 + ] + ], + "center_px": [ + 776.5, + 397.5 + ], + "area_px": 144.0 + }, + { + "image_points_px": [ + [ + 51.0, + 14.0 + ], + [ + 34.0, + 24.0 + ], + [ + 23.0, + 17.0 + ], + [ + 38.0, + 8.0 + ] + ], + "center_px": [ + 36.5, + 15.75 + ], + "area_px": 218.0 + }, + { + "image_points_px": [ + [ + 482.0, + 559.0 + ], + [ + 480.0, + 563.0 + ], + [ + 458.0, + 580.0 + ], + [ + 464.0, + 572.0 + ] + ], + "center_px": [ + 471.0, + 568.5 + ], + "area_px": 60.0 + }, + { + "image_points_px": [ + [ + 194.0, + 243.0 + ], + [ + 205.0, + 238.0 + ], + [ + 221.0, + 249.0 + ], + [ + 211.0, + 255.0 + ] + ], + "center_px": [ + 207.75, + 246.25 + ], + "area_px": 211.5 + }, + { + "image_points_px": [ + [ + 934.0, + 244.0 + ], + [ + 920.0, + 256.0 + ], + [ + 908.0, + 251.0 + ], + [ + 922.0, + 238.0 + ] + ], + "center_px": [ + 921.0, + 247.25 + ], + "area_px": 227.0 + }, + { + "image_points_px": [ + [ + 230.0, + 268.0 + ], + [ + 241.0, + 262.0 + ], + [ + 257.0, + 273.0 + ], + [ + 247.0, + 279.0 + ] + ], + "center_px": [ + 243.75, + 270.5 + ], + "area_px": 214.5 + }, + { + "image_points_px": [ + [ + 83.0, + 272.0 + ], + [ + 61.0, + 286.0 + ], + [ + 56.0, + 283.0 + ], + [ + 77.0, + 269.0 + ] + ], + "center_px": [ + 69.25, + 277.5 + ], + "area_px": 141.5 + }, + { + "image_points_px": [ + [ + 902.0, + 272.0 + ], + [ + 889.0, + 283.0 + ], + [ + 876.0, + 277.0 + ], + [ + 889.0, + 266.0 + ] + ], + "center_px": [ + 889.0, + 274.5 + ], + "area_px": 221.0 + }, + { + "image_points_px": [ + [ + 564.0, + 179.0 + ], + [ + 547.0, + 191.0 + ], + [ + 538.0, + 186.0 + ], + [ + 555.0, + 174.0 + ] + ], + "center_px": [ + 551.0, + 182.5 + ], + "area_px": 193.0 + }, + { + "image_points_px": [ + [ + 965.0, + 217.0 + ], + [ + 951.0, + 229.0 + ], + [ + 940.0, + 224.0 + ], + [ + 954.0, + 211.0 + ] + ], + "center_px": [ + 952.5, + 220.25 + ], + "area_px": 214.5 + }, + { + "image_points_px": [ + [ + 1031.0, + 371.0 + ], + [ + 1057.0, + 386.0 + ], + [ + 1047.0, + 384.0 + ], + [ + 1036.0, + 378.0 + ] + ], + "center_px": [ + 1042.75, + 379.75 + ], + "area_px": 72.5 + }, + { + "image_points_px": [ + [ + 995.0, + 191.0 + ], + [ + 981.0, + 203.0 + ], + [ + 970.0, + 197.0 + ], + [ + 983.0, + 186.0 + ] + ], + "center_px": [ + 982.25, + 194.25 + ], + "area_px": 206.5 + }, + { + "image_points_px": [ + [ + 1025.0, + 166.0 + ], + [ + 1011.0, + 177.0 + ], + [ + 1000.0, + 172.0 + ], + [ + 1013.0, + 161.0 + ] + ], + "center_px": [ + 1012.25, + 169.0 + ], + "area_px": 194.0 + }, + { + "image_points_px": [ + [ + 630.0, + 269.0 + ], + [ + 648.0, + 280.0 + ], + [ + 648.0, + 288.0 + ], + [ + 630.0, + 279.0 + ] + ], + "center_px": [ + 639.0, + 279.0 + ], + "area_px": 162.0 + }, + { + "image_points_px": [ + [ + 1053.0, + 142.0 + ], + [ + 1040.0, + 152.0 + ], + [ + 1029.0, + 148.0 + ], + [ + 1042.0, + 136.0 + ] + ], + "center_px": [ + 1041.0, + 144.5 + ], + "area_px": 186.0 + }, + { + "image_points_px": [ + [ + 739.0, + 330.0 + ], + [ + 760.0, + 330.0 + ], + [ + 767.0, + 334.0 + ], + [ + 744.0, + 333.0 + ] + ], + "center_px": [ + 752.5, + 331.75 + ], + "area_px": 74.0 + }, + { + "image_points_px": [ + [ + 128.0, + 244.0 + ], + [ + 108.0, + 257.0 + ], + [ + 104.0, + 254.0 + ], + [ + 123.0, + 242.0 + ] + ], + "center_px": [ + 115.75, + 249.25 + ], + "area_px": 105.0 + }, + { + "image_points_px": [ + [ + 1080.0, + 118.0 + ], + [ + 1068.0, + 128.0 + ], + [ + 1057.0, + 124.0 + ], + [ + 1069.0, + 113.0 + ] + ], + "center_px": [ + 1068.5, + 120.75 + ], + "area_px": 169.5 + }, + { + "image_points_px": [ + [ + 1107.0, + 95.0 + ], + [ + 1095.0, + 105.0 + ], + [ + 1084.0, + 101.0 + ], + [ + 1096.0, + 90.0 + ] + ], + "center_px": [ + 1095.5, + 97.75 + ], + "area_px": 169.5 + }, + { + "image_points_px": [ + [ + 1122.0, + 502.0 + ], + [ + 1124.0, + 500.0 + ], + [ + 1144.0, + 516.0 + ], + [ + 1136.0, + 515.0 + ] + ], + "center_px": [ + 1131.5, + 508.25 + ], + "area_px": 81.0 + }, + { + "image_points_px": [ + [ + 1133.0, + 73.0 + ], + [ + 1122.0, + 82.0 + ], + [ + 1110.0, + 78.0 + ], + [ + 1122.0, + 68.0 + ] + ], + "center_px": [ + 1121.75, + 75.25 + ], + "area_px": 161.0 + }, + { + "image_points_px": [ + [ + 1158.0, + 51.0 + ], + [ + 1146.0, + 61.0 + ], + [ + 1136.0, + 57.0 + ], + [ + 1146.0, + 47.0 + ] + ], + "center_px": [ + 1146.5, + 54.0 + ], + "area_px": 154.0 + }, + { + "image_points_px": [ + [ + 833.0, + 124.0 + ], + [ + 839.0, + 121.0 + ], + [ + 856.0, + 131.0 + ], + [ + 852.0, + 134.0 + ] + ], + "center_px": [ + 845.0, + 127.5 + ], + "area_px": 104.0 + }, + { + "image_points_px": [ + [ + 1182.0, + 30.0 + ], + [ + 1172.0, + 39.0 + ], + [ + 1160.0, + 35.0 + ], + [ + 1171.0, + 26.0 + ] + ], + "center_px": [ + 1171.25, + 32.5 + ], + "area_px": 145.5 + }, + { + "image_points_px": [ + [ + 1157.0, + 499.0 + ], + [ + 1164.0, + 489.0 + ], + [ + 1177.0, + 496.0 + ], + [ + 1164.0, + 503.0 + ] + ], + "center_px": [ + 1165.5, + 496.75 + ], + "area_px": 140.0 + }, + { + "image_points_px": [ + [ + 186.0, + 654.0 + ], + [ + 191.0, + 660.0 + ], + [ + 177.0, + 669.0 + ], + [ + 173.0, + 664.0 + ] + ], + "center_px": [ + 181.75, + 661.75 + ], + "area_px": 117.0 + }, + { + "image_points_px": [ + [ + 1124.0, + 403.0 + ], + [ + 1131.0, + 398.0 + ], + [ + 1144.0, + 406.0 + ], + [ + 1129.0, + 406.0 + ] + ], + "center_px": [ + 1132.0, + 403.25 + ], + "area_px": 83.0 + }, + { + "image_points_px": [ + [ + 979.0, + 438.0 + ], + [ + 992.0, + 446.0 + ], + [ + 984.0, + 454.0 + ], + [ + 981.0, + 449.0 + ] + ], + "center_px": [ + 984.0, + 446.75 + ], + "area_px": 95.5 + }, + { + "image_points_px": [ + [ + 856.0, + 266.0 + ], + [ + 874.0, + 276.0 + ], + [ + 865.0, + 273.0 + ], + [ + 858.0, + 269.0 + ] + ], + "center_px": [ + 863.25, + 271.0 + ], + "area_px": 24.5 + } + ] +} \ No newline at end of file diff --git a/pipeline/render_1a_aruco_detection_camera_pose.json b/pipeline/render_1a_aruco_detection_camera_pose.json new file mode 100644 index 0000000..88d8f12 --- /dev/null +++ b/pipeline/render_1a_aruco_detection_camera_pose.json @@ -0,0 +1,295 @@ +{ + "schema_version": "1.0", + "created_utc": "2026-05-28T14:19:28Z", + "source_detection_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1a_aruco_detection.json", + "camera_pose": { + "rvec_world_to_camera": [ + -2.305496407968605, + 1.065207351740574, + 0.34998974882711126 + ], + "tvec_world_to_camera_mm": [ + -315.2306259816743, + 224.77488089057, + 1383.92954200185 + ], + "R_world_to_camera": [ + [ + 0.6485090690393105, + -0.7612056883925573, + 0.0013738022347707657 + ], + [ + -0.6120529322947699, + -0.5203636712935098, + 0.5954937931392015 + ], + [ + -0.45257838596550426, + -0.38702396509357573, + -0.8033587336925552 + ] + ], + "T_camera_world": [ + [ + 0.6485090690393105, + -0.7612056883925573, + 0.0013738022347707657, + -315.2306259816743 + ], + [ + -0.6120529322947699, + -0.5203636712935098, + 0.5954937931392015, + 224.77488089057 + ], + [ + -0.45257838596550426, + -0.38702396509357573, + -0.8033587336925552, + 1383.92954200185 + ], + [ + 0.0, + 0.0, + 0.0, + 1.0 + ] + ], + "R_camera_to_world": [ + [ + 0.6485090690393105, + -0.6120529322947699, + -0.45257838596550426 + ], + [ + -0.7612056883925573, + -0.5203636712935098, + -0.38702396509357573 + ], + [ + 0.0013738022347707657, + 0.5954937931392015, + -0.8033587336925552 + ] + ], + "t_camera_in_world_mm": [ + 968.3406431525125, + 412.6232353376735, + 978.3729024968281 + ], + "T_world_camera": [ + [ + 0.6485090690393105, + -0.6120529322947699, + -0.45257838596550426, + 968.3406431525125 + ], + [ + -0.7612056883925573, + -0.5203636712935098, + -0.38702396509357573, + 412.6232353376735 + ], + [ + 0.0013738022347707657, + 0.5954937931392015, + -0.8033587336925552, + 978.3729024968281 + ], + [ + 0.0, + 0.0, + 0.0, + 1.0 + ] + ], + "statistics": { + "rmse_px": 53.69444650385422, + "mean_px": 43.49018862623262, + "median_px": 32.08915387366267, + "max_px": 131.0132247190388, + "per_corner_errors_px": [ + 125.9940054900667, + 105.07352467385594, + 109.87324347189022, + 131.0132247190388, + 21.010672127270144, + 30.17780962535308, + 29.741870343336966, + 21.53517675057069, + 30.674698289199373, + 37.37789632268799, + 33.503609458125965, + 26.755846339359543, + 52.6597777482743, + 55.943114202091685, + 56.41293588599435, + 53.3845318388676, + 24.140302976164055, + 12.501614463984566, + 17.843775799913118, + 27.851972943047976, + 19.55527279482321, + 15.006143006879194, + 8.168997067942962, + 18.41951241518959, + 26.644168238518596, + 43.73515602327787, + 39.76763972637787, + 23.72433018345239, + 42.69531998291903, + 60.42053547730011, + 53.73185743455883, + 36.347500219111076 + ], + "per_corner_residuals_px": [ + [ + -111.43384038596344, + 58.79616174774151 + ], + [ + -94.21398419609403, + 46.520648848501196 + ], + [ + -93.31959118739167, + 57.996409644488836 + ], + [ + -110.44277538824701, + 70.4759421066691 + ], + [ + 19.119375834118955, + -8.711934971827702 + ], + [ + 26.07607978564579, + -15.190070993800134 + ], + [ + 28.267108793747752, + -9.249292511446242 + ], + [ + 21.386189257435035, + -2.528783645053636 + ], + [ + 14.391649857517677, + -27.089066604665845 + ], + [ + 22.623064650364768, + -29.75405987987233 + ], + [ + 20.48965174053592, + -26.507848239232487 + ], + [ + 14.349578701348491, + -22.58240253890682 + ], + [ + 42.68032051979753, + -30.845460489754316 + ], + [ + 45.092250608114796, + -33.11073786135313 + ], + [ + 46.99580232025039, + -31.20599140474883 + ], + [ + 45.653152604068396, + -27.671246754794254 + ], + [ + 16.64076508745518, + -17.488257920248316 + ], + [ + 7.241353209464364, + -10.190837448506784 + ], + [ + 7.5129531818588475, + -16.185050796483836 + ], + [ + 16.94668756026067, + -22.102990240127752 + ], + [ + 19.553105326365085, + 0.2911463137773467 + ], + [ + 11.302035895770928, + 9.871591186511665 + ], + [ + 7.972569331990371, + 1.780632287325858 + ], + [ + 17.27663470149446, + -6.38720056084361 + ], + [ + -23.527458763101663, + 12.504814483751204 + ], + [ + -37.370264800659925, + 22.720633378253694 + ], + [ + -37.18919281759213, + 14.086486679897916 + ], + [ + -23.33139615759319, + 4.299976277948048 + ], + [ + -18.10794101712986, + 38.66513701726649 + ], + [ + -31.863312707890373, + 51.33585891599432 + ], + [ + -35.3592943065546, + 40.45779046747623 + ], + [ + -21.569770185610196, + 29.255525739904954 + ] + ], + "num_correspondences": 32, + "num_inliers": 12, + "used_marker_ids": [ + 205, + 206, + 207, + 208, + 210, + 211, + 215, + 217 + ] + }, + "input": { + "detection_image_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1a.png", + "camera_id": "cam1", + "marker_dictionary": "DICT_4X4_250" + } + } +} \ No newline at end of file diff --git a/pipeline/render_1b.png b/pipeline/render_1b.png new file mode 100644 index 0000000..0b9bcaa Binary files /dev/null and b/pipeline/render_1b.png differ diff --git a/pipeline/render_1b_aruco_detection.json b/pipeline/render_1b_aruco_detection.json new file mode 100644 index 0000000..e87435f --- /dev/null +++ b/pipeline/render_1b_aruco_detection.json @@ -0,0 +1,6741 @@ +{ + "schema_version": "1.0", + "created_utc": "2026-05-28T14:19:27Z", + "vision_config": { + "MarkerType": "DICT_4X4_250", + "MarkerSize": 0.025 + }, + "camera": { + "camera_id": "cam1", + "intrinsics_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render.npz", + "camera_matrix": [ + [ + 1777.77783203125, + 0.0, + 640.0 + ], + [ + 0.0, + 1500.0, + 360.0 + ], + [ + 0.0, + 0.0, + 1.0 + ] + ], + "distortion_coefficients": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ] + }, + "image": { + "image_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1b.png", + "image_sha256": "a390fad9e37792bf455b9ea46bc20ebbf8f4bdb0a0270bc341b0c39414ba14a9", + "width_px": 1280, + "height_px": 720 + }, + "aruco": { + "dictionary": "DICT_4X4_250", + "num_detected_markers": 10, + "num_rejected_candidates": 246 + }, + "detections": [ + { + "observation_id": "d4cf6b6e-663e-436a-ad4c-132053ca70cb", + "type": "aruco", + "marker_id": 102, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 758.0, + 527.0 + ], + [ + 824.0, + 522.0 + ], + [ + 824.0, + 581.0 + ], + [ + 758.0, + 586.0 + ] + ], + "center_px": [ + 791.0, + 554.0 + ], + "quality": { + "area_px": 3894.0, + "perimeter_px": 250.3782501220703, + "sharpness": { + "laplacian_var": 1982.7854057117818 + }, + "contrast": { + "p05": 18.0, + "p95": 185.0, + "dynamic_range": 167.0, + "mean_gray": 102.42052469135803, + "std_gray": 78.84797361336926 + }, + "geometry": { + "distance_to_center_norm": 0.3347931206226349, + "distance_to_border_px": 134.0 + }, + "edge_ratio": 1.1218495773056807, + "edge_lengths_px": [ + 66.18912506103516, + 59.0, + 66.18912506103516, + 59.0 + ] + }, + "confidence": 0.8913851020933449 + }, + { + "observation_id": "b1f9a655-bfec-42c0-a0d3-ad3a68b9264a", + "type": "aruco", + "marker_id": 124, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 837.0, + 613.0 + ], + [ + 893.0, + 632.0 + ], + [ + 895.0, + 694.0 + ], + [ + 838.0, + 677.0 + ] + ], + "center_px": [ + 865.75, + 654.0 + ], + "quality": { + "area_px": 3532.5, + "perimeter_px": 244.65658950805664, + "sharpness": { + "laplacian_var": 1260.039697900723 + }, + "contrast": { + "p05": 7.0, + "p95": 149.0, + "dynamic_range": 142.0, + "mean_gray": 64.90349768225875, + "std_gray": 65.77948098307361 + }, + "geometry": { + "distance_to_center_norm": 0.5047972202301025, + "distance_to_border_px": 26.0 + }, + "edge_ratio": 1.0823934976132112, + "edge_lengths_px": [ + 59.13543701171875, + 62.032249450683594, + 59.4810905456543, + 64.0078125 + ] + }, + "confidence": 0.4804167810936165 + }, + { + "observation_id": "f57082f6-b122-486f-865e-a8e51e51d23a", + "type": "aruco", + "marker_id": 243, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 568.0, + 219.0 + ], + [ + 626.0, + 221.0 + ], + [ + 625.0, + 274.0 + ], + [ + 568.0, + 272.0 + ] + ], + "center_px": [ + 596.75, + 246.5 + ], + "quality": { + "area_px": 3048.5, + "perimeter_px": 221.07898330688477, + "sharpness": { + "laplacian_var": 1452.2944966126818 + }, + "contrast": { + "p05": 38.0, + "p95": 191.0, + "dynamic_range": 153.0, + "mean_gray": 89.23336594911937, + "std_gray": 68.72982957783024 + }, + "geometry": { + "distance_to_center_norm": 0.16541028022766113, + "distance_to_border_px": 219.0 + }, + "edge_ratio": 1.0949900645130086, + "edge_lengths_px": [ + 58.03447341918945, + 53.00943374633789, + 57.03507614135742, + 53.0 + ] + }, + "confidence": 0.9132502955127223 + }, + { + "observation_id": "9624c46a-50be-4f00-92d6-9eef055042f4", + "type": "aruco", + "marker_id": 122, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 833.0, + 365.0 + ], + [ + 884.0, + 385.0 + ], + [ + 886.0, + 437.0 + ], + [ + 834.0, + 419.0 + ] + ], + "center_px": [ + 859.25, + 401.5 + ], + "quality": { + "area_px": 2701.0, + "perimeter_px": 215.8563575744629, + "sharpness": { + "laplacian_var": 1090.279514702366 + }, + "contrast": { + "p05": 7.0, + "p95": 147.0, + "dynamic_range": 140.0, + "mean_gray": 45.70519262981575, + "std_gray": 58.68517648892059 + }, + "geometry": { + "distance_to_center_norm": 0.3038843870162964, + "distance_to_border_px": 283.0 + }, + "edge_ratio": 1.0574348240198506, + "edge_lengths_px": [ + 54.7813835144043, + 52.038448333740234, + 55.02726745605469, + 54.00925827026367 + ] + }, + "confidence": 0.9456847621099602 + }, + { + "observation_id": "12527ff5-5df0-4959-a066-7295c6775787", + "type": "aruco", + "marker_id": 247, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 696.0, + 145.0 + ], + [ + 753.0, + 148.0 + ], + [ + 753.0, + 192.0 + ], + [ + 694.0, + 189.0 + ] + ], + "center_px": [ + 724.0, + 168.5 + ], + "quality": { + "area_px": 2555.0, + "perimeter_px": 204.20054244995117, + "sharpness": { + "laplacian_var": 2174.5957776743603 + }, + "contrast": { + "p05": 10.0, + "p95": 175.0, + "dynamic_range": 165.0, + "mean_gray": 87.22021028037383, + "std_gray": 76.8486951831822 + }, + "geometry": { + "distance_to_center_norm": 0.28477779030799866, + "distance_to_border_px": 145.0 + }, + "edge_ratio": 1.3426413969560103, + "edge_lengths_px": [ + 57.07889175415039, + 44.0, + 59.07622146606445, + 44.04542922973633 + ] + }, + "confidence": 0.7448005120854795 + }, + { + "observation_id": "82614732-b88e-4380-bc1c-e2313ffef74e", + "type": "aruco", + "marker_id": 246, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 784.0, + 149.0 + ], + [ + 841.0, + 151.0 + ], + [ + 842.0, + 195.0 + ], + [ + 784.0, + 193.0 + ] + ], + "center_px": [ + 812.75, + 172.0 + ], + "quality": { + "area_px": 2529.0, + "perimeter_px": 203.08091354370117, + "sharpness": { + "laplacian_var": 1783.5126581780073 + }, + "contrast": { + "p05": 9.0, + "p95": 174.0, + "dynamic_range": 165.0, + "mean_gray": 56.36337039204213, + "std_gray": 69.80847051245013 + }, + "geometry": { + "distance_to_center_norm": 0.34769952297210693, + "distance_to_border_px": 149.0 + }, + "edge_ratio": 1.3189653049815784, + "edge_lengths_px": [ + 57.03507614135742, + 44.0113639831543, + 58.03447341918945, + 44.0 + ] + }, + "confidence": 0.7581700566520715 + }, + { + "observation_id": "0903ff2c-f515-4ac7-8c96-b4247ff223c7", + "type": "aruco", + "marker_id": 215, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 663.0, + 390.0 + ], + [ + 709.0, + 392.0 + ], + [ + 707.0, + 430.0 + ], + [ + 661.0, + 428.0 + ] + ], + "center_px": [ + 685.0, + 410.0 + ], + "quality": { + "area_px": 1752.0, + "perimeter_px": 168.19210815429688, + "sharpness": { + "laplacian_var": 2012.2572993055553 + }, + "contrast": { + "p05": 12.0, + "p95": 176.0, + "dynamic_range": 164.0, + "mean_gray": 73.73916666666666, + "std_gray": 73.94727490565303 + }, + "geometry": { + "distance_to_center_norm": 0.0916082039475441, + "distance_to_border_px": 290.0 + }, + "edge_ratio": 1.2099951279465397, + "edge_lengths_px": [ + 46.04345703125, + 38.05259704589844, + 46.04345703125, + 38.05259704589844 + ] + }, + "confidence": 0.826449608683203 + }, + { + "observation_id": "53acd5d5-179a-4f73-80b7-f399b6c209e9", + "type": "aruco", + "marker_id": 210, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 260.0, + 270.0 + ], + [ + 302.0, + 272.0 + ], + [ + 296.0, + 306.0 + ], + [ + 252.0, + 305.0 + ] + ], + "center_px": [ + 277.5, + 288.25 + ], + "quality": { + "area_px": 1494.0, + "perimeter_px": 156.48695373535156, + "sharpness": { + "laplacian_var": 2476.0410248637572 + }, + "contrast": { + "p05": 15.0, + "p95": 180.0, + "dynamic_range": 165.0, + "mean_gray": 72.9696376101861, + "std_gray": 71.50378618336399 + }, + "geometry": { + "distance_to_center_norm": 0.5032430291175842, + "distance_to_border_px": 252.0 + }, + "edge_ratio": 1.274754950327127, + "edge_lengths_px": [ + 42.04759216308594, + 34.525352478027344, + 44.0113639831543, + 35.902645111083984 + ] + }, + "confidence": 0.7813266383036261 + }, + { + "observation_id": "e9fd52e4-06a1-41fa-8388-c0e5faca2813", + "type": "aruco", + "marker_id": 229, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 577.0, + 130.0 + ], + [ + 633.0, + 132.0 + ], + [ + 630.0, + 150.0 + ], + [ + 573.0, + 146.0 + ] + ], + "center_px": [ + 603.25, + 139.5 + ], + "quality": { + "area_px": 971.0, + "perimeter_px": 147.91658973693848, + "sharpness": { + "laplacian_var": 1392.1622913580247 + }, + "contrast": { + "p05": 20.0, + "p95": 138.0, + "dynamic_range": 118.0, + "mean_gray": 54.48, + "std_gray": 47.77305113570637 + }, + "geometry": { + "distance_to_center_norm": 0.30442705750465393, + "distance_to_border_px": 130.0 + }, + "edge_ratio": 3.4646323214690695, + "edge_lengths_px": [ + 56.035701751708984, + 18.248287200927734, + 57.14017868041992, + 16.492422103881836 + ] + }, + "confidence": 0.18684041285479083 + }, + { + "observation_id": "98334e32-87c0-40ee-84e5-745f6f4250d4", + "type": "aruco", + "marker_id": 198, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 590.0, + 71.0 + ], + [ + 641.0, + 73.0 + ], + [ + 639.0, + 87.0 + ], + [ + 587.0, + 85.0 + ] + ], + "center_px": [ + 614.25, + 79.0 + ], + "quality": { + "area_px": 726.0, + "perimeter_px": 131.53760528564453, + "sharpness": { + "laplacian_var": 2340.5056446617955 + }, + "contrast": { + "p05": 22.0, + "p95": 135.0, + "dynamic_range": 113.0, + "mean_gray": 67.08382066276803, + "std_gray": 45.81817177643276 + }, + "geometry": { + "distance_to_center_norm": 0.3842795193195343, + "distance_to_border_px": 71.0 + }, + "edge_ratio": 3.6796739708616246, + "edge_lengths_px": [ + 51.03919982910156, + 14.142135620117188, + 52.038448333740234, + 14.317821502685547 + ] + }, + "confidence": 0.13153339231482716 + } + ], + "rejected_candidates": [ + { + "image_points_px": [ + [ + 59.0, + 668.0 + ], + [ + 97.0, + 669.0 + ], + [ + 89.0, + 705.0 + ], + [ + 50.0, + 703.0 + ] + ], + "center_px": [ + 73.75, + 686.25 + ], + "area_px": 1379.5 + }, + { + "image_points_px": [ + [ + 974.0, + 671.0 + ], + [ + 1012.0, + 673.0 + ], + [ + 1015.0, + 709.0 + ], + [ + 976.0, + 707.0 + ] + ], + "center_px": [ + 994.25, + 690.0 + ], + "area_px": 1381.0 + }, + { + "image_points_px": [ + [ + 217.0, + 675.0 + ], + [ + 255.0, + 677.0 + ], + [ + 249.0, + 712.0 + ], + [ + 210.0, + 711.0 + ] + ], + "center_px": [ + 232.75, + 693.75 + ], + "area_px": 1376.5 + }, + { + "image_points_px": [ + [ + 296.0, + 679.0 + ], + [ + 334.0, + 680.0 + ], + [ + 329.0, + 716.0 + ], + [ + 290.0, + 714.0 + ] + ], + "center_px": [ + 312.25, + 697.25 + ], + "area_px": 1375.0 + }, + { + "image_points_px": [ + [ + 420.0, + 647.0 + ], + [ + 458.0, + 649.0 + ], + [ + 454.0, + 684.0 + ], + [ + 415.0, + 682.0 + ] + ], + "center_px": [ + 436.75, + 665.5 + ], + "area_px": 1356.5 + }, + { + "image_points_px": [ + [ + 656.0, + 658.0 + ], + [ + 694.0, + 659.0 + ], + [ + 693.0, + 695.0 + ], + [ + 655.0, + 693.0 + ] + ], + "center_px": [ + 674.5, + 676.25 + ], + "area_px": 1350.5 + }, + { + "image_points_px": [ + [ + 29.0, + 630.0 + ], + [ + 67.0, + 631.0 + ], + [ + 58.0, + 666.0 + ], + [ + 21.0, + 665.0 + ] + ], + "center_px": [ + 43.75, + 648.0 + ], + "area_px": 1321.0 + }, + { + "image_points_px": [ + [ + 341.0, + 644.0 + ], + [ + 379.0, + 645.0 + ], + [ + 374.0, + 680.0 + ], + [ + 336.0, + 679.0 + ] + ], + "center_px": [ + 357.5, + 662.0 + ], + "area_px": 1335.0 + }, + { + "image_points_px": [ + [ + 498.0, + 651.0 + ], + [ + 536.0, + 652.0 + ], + [ + 533.0, + 687.0 + ], + [ + 495.0, + 686.0 + ] + ], + "center_px": [ + 515.5, + 669.0 + ], + "area_px": 1333.0 + }, + { + "image_points_px": [ + [ + 1011.0, + 637.0 + ], + [ + 1049.0, + 638.0 + ], + [ + 1052.0, + 673.0 + ], + [ + 1014.0, + 672.0 + ] + ], + "center_px": [ + 1031.5, + 655.0 + ], + "area_px": 1327.0 + }, + { + "image_points_px": [ + [ + 185.0, + 637.0 + ], + [ + 222.0, + 638.0 + ], + [ + 216.0, + 673.0 + ], + [ + 178.0, + 672.0 + ] + ], + "center_px": [ + 200.25, + 655.0 + ], + "area_px": 1319.0 + }, + { + "image_points_px": [ + [ + 577.0, + 654.0 + ], + [ + 615.0, + 656.0 + ], + [ + 613.0, + 691.0 + ], + [ + 575.0, + 689.0 + ] + ], + "center_px": [ + 595.0, + 672.5 + ], + "area_px": 1334.0 + }, + { + "image_points_px": [ + [ + 932.0, + 634.0 + ], + [ + 970.0, + 635.0 + ], + [ + 972.0, + 670.0 + ], + [ + 934.0, + 668.0 + ] + ], + "center_px": [ + 952.0, + 651.75 + ], + "area_px": 1308.0 + }, + { + "image_points_px": [ + [ + 1204.0, + 610.0 + ], + [ + 1241.0, + 611.0 + ], + [ + 1247.0, + 646.0 + ], + [ + 1209.0, + 644.0 + ] + ], + "center_px": [ + 1225.25, + 627.75 + ], + "area_px": 1285.5 + }, + { + "image_points_px": [ + [ + 1134.0, + 680.0 + ], + [ + 1171.0, + 680.0 + ], + [ + 1177.0, + 715.0 + ], + [ + 1139.0, + 714.0 + ] + ], + "center_px": [ + 1155.25, + 697.25 + ], + "area_px": 1291.0 + }, + { + "image_points_px": [ + [ + 463.0, + 613.0 + ], + [ + 501.0, + 615.0 + ], + [ + 497.0, + 649.0 + ], + [ + 459.0, + 647.0 + ] + ], + "center_px": [ + 480.0, + 631.0 + ], + "area_px": 1300.0 + }, + { + "image_points_px": [ + [ + 385.0, + 610.0 + ], + [ + 423.0, + 611.0 + ], + [ + 419.0, + 645.0 + ], + [ + 381.0, + 644.0 + ] + ], + "center_px": [ + 402.0, + 627.5 + ], + "area_px": 1296.0 + }, + { + "image_points_px": [ + [ + 996.0, + 251.0 + ], + [ + 1058.0, + 252.0 + ], + [ + 1065.0, + 259.0 + ], + [ + 1004.0, + 259.0 + ] + ], + "center_px": [ + 1030.75, + 255.25 + ], + "area_px": 457.5 + }, + { + "image_points_px": [ + [ + 619.0, + 620.0 + ], + [ + 656.0, + 621.0 + ], + [ + 655.0, + 656.0 + ], + [ + 617.0, + 654.0 + ] + ], + "center_px": [ + 636.75, + 637.75 + ], + "area_px": 1296.0 + }, + { + "image_points_px": [ + [ + 1126.0, + 606.0 + ], + [ + 1163.0, + 608.0 + ], + [ + 1168.0, + 642.0 + ], + [ + 1131.0, + 641.0 + ] + ], + "center_px": [ + 1147.0, + 624.25 + ], + "area_px": 1269.0 + }, + { + "image_points_px": [ + [ + 1054.0, + 676.0 + ], + [ + 1091.0, + 677.0 + ], + [ + 1096.0, + 711.0 + ], + [ + 1059.0, + 711.0 + ] + ], + "center_px": [ + 1075.0, + 693.75 + ], + "area_px": 1274.0 + }, + { + "image_points_px": [ + [ + 154.0, + 600.0 + ], + [ + 191.0, + 601.0 + ], + [ + 184.0, + 635.0 + ], + [ + 147.0, + 634.0 + ] + ], + "center_px": [ + 169.0, + 617.5 + ], + "area_px": 1265.0 + }, + { + "image_points_px": [ + [ + 309.0, + 606.0 + ], + [ + 345.0, + 608.0 + ], + [ + 340.0, + 642.0 + ], + [ + 302.0, + 640.0 + ] + ], + "center_px": [ + 324.0, + 624.0 + ], + "area_px": 1270.0 + }, + { + "image_points_px": [ + [ + 139.0, + 672.0 + ], + [ + 175.0, + 674.0 + ], + [ + 167.0, + 709.0 + ], + [ + 131.0, + 706.0 + ] + ], + "center_px": [ + 153.0, + 690.25 + ], + "area_px": 1262.0 + }, + { + "image_points_px": [ + [ + 1160.0, + 574.0 + ], + [ + 1198.0, + 575.0 + ], + [ + 1202.0, + 608.0 + ], + [ + 1165.0, + 607.0 + ] + ], + "center_px": [ + 1181.25, + 591.0 + ], + "area_px": 1233.0 + }, + { + "image_points_px": [ + [ + 1091.0, + 641.0 + ], + [ + 1127.0, + 642.0 + ], + [ + 1132.0, + 676.0 + ], + [ + 1095.0, + 675.0 + ] + ], + "center_px": [ + 1111.25, + 658.5 + ], + "area_px": 1236.5 + }, + { + "image_points_px": [ + [ + 429.0, + 576.0 + ], + [ + 466.0, + 578.0 + ], + [ + 462.0, + 611.0 + ], + [ + 425.0, + 610.0 + ] + ], + "center_px": [ + 445.5, + 593.75 + ], + "area_px": 1245.5 + }, + { + "image_points_px": [ + [ + 1083.0, + 570.0 + ], + [ + 1120.0, + 572.0 + ], + [ + 1124.0, + 605.0 + ], + [ + 1086.0, + 603.0 + ] + ], + "center_px": [ + 1103.25, + 587.5 + ], + "area_px": 1230.5 + }, + { + "image_points_px": [ + [ + 929.0, + 563.0 + ], + [ + 966.0, + 565.0 + ], + [ + 968.0, + 598.0 + ], + [ + 931.0, + 597.0 + ] + ], + "center_px": [ + 948.5, + 580.75 + ], + "area_px": 1236.5 + }, + { + "image_points_px": [ + [ + 1170.0, + 645.0 + ], + [ + 1206.0, + 645.0 + ], + [ + 1212.0, + 679.0 + ], + [ + 1176.0, + 679.0 + ] + ], + "center_px": [ + 1191.0, + 662.0 + ], + "area_px": 1224.0 + }, + { + "image_points_px": [ + [ + 276.0, + 570.0 + ], + [ + 312.0, + 571.0 + ], + [ + 307.0, + 605.0 + ], + [ + 270.0, + 603.0 + ] + ], + "center_px": [ + 291.25, + 587.25 + ], + "area_px": 1231.0 + }, + { + "image_points_px": [ + [ + 124.0, + 564.0 + ], + [ + 160.0, + 565.0 + ], + [ + 153.0, + 598.0 + ], + [ + 116.0, + 597.0 + ] + ], + "center_px": [ + 138.25, + 581.0 + ], + "area_px": 1212.0 + }, + { + "image_points_px": [ + [ + 264.0, + 641.0 + ], + [ + 300.0, + 643.0 + ], + [ + 293.0, + 677.0 + ], + [ + 257.0, + 674.0 + ] + ], + "center_px": [ + 278.5, + 658.75 + ], + "area_px": 1223.5 + }, + { + "image_points_px": [ + [ + 108.0, + 634.0 + ], + [ + 144.0, + 636.0 + ], + [ + 135.0, + 670.0 + ], + [ + 100.0, + 667.0 + ] + ], + "center_px": [ + 121.75, + 651.75 + ], + "area_px": 1210.5 + }, + { + "image_points_px": [ + [ + 200.0, + 567.0 + ], + [ + 236.0, + 568.0 + ], + [ + 230.0, + 601.0 + ], + [ + 193.0, + 600.0 + ] + ], + "center_px": [ + 214.75, + 584.0 + ], + "area_px": 1211.0 + }, + { + "image_points_px": [ + [ + 78.0, + 597.0 + ], + [ + 114.0, + 599.0 + ], + [ + 105.0, + 632.0 + ], + [ + 69.0, + 629.0 + ] + ], + "center_px": [ + 91.5, + 614.25 + ], + "area_px": 1192.5 + }, + { + "image_points_px": [ + [ + 1118.0, + 538.0 + ], + [ + 1154.0, + 539.0 + ], + [ + 1159.0, + 572.0 + ], + [ + 1121.0, + 570.0 + ] + ], + "center_px": [ + 1138.0, + 554.75 + ], + "area_px": 1196.5 + }, + { + "image_points_px": [ + [ + 1194.0, + 541.0 + ], + [ + 1231.0, + 543.0 + ], + [ + 1236.0, + 575.0 + ], + [ + 1199.0, + 573.0 + ] + ], + "center_px": [ + 1215.0, + 558.0 + ], + "area_px": 1174.0 + }, + { + "image_points_px": [ + [ + 1227.0, + 509.0 + ], + [ + 1264.0, + 511.0 + ], + [ + 1269.0, + 543.0 + ], + [ + 1232.0, + 541.0 + ] + ], + "center_px": [ + 1248.0, + 526.0 + ], + "area_px": 1174.0 + }, + { + "image_points_px": [ + [ + 232.0, + 603.0 + ], + [ + 268.0, + 606.0 + ], + [ + 261.0, + 638.0 + ], + [ + 225.0, + 636.0 + ] + ], + "center_px": [ + 246.5, + 620.75 + ], + "area_px": 1187.5 + }, + { + "image_points_px": [ + [ + 169.0, + 532.0 + ], + [ + 205.0, + 533.0 + ], + [ + 199.0, + 565.0 + ], + [ + 162.0, + 564.0 + ] + ], + "center_px": [ + 183.75, + 548.5 + ], + "area_px": 1174.5 + }, + { + "image_points_px": [ + [ + 19.0, + 525.0 + ], + [ + 55.0, + 526.0 + ], + [ + 46.0, + 559.0 + ], + [ + 11.0, + 557.0 + ] + ], + "center_px": [ + 32.75, + 541.75 + ], + "area_px": 1166.5 + }, + { + "image_points_px": [ + [ + 623.0, + 551.0 + ], + [ + 659.0, + 552.0 + ], + [ + 658.0, + 585.0 + ], + [ + 621.0, + 583.0 + ] + ], + "center_px": [ + 640.25, + 567.75 + ], + "area_px": 1188.5 + }, + { + "image_points_px": [ + [ + 541.0, + 618.0 + ], + [ + 577.0, + 618.0 + ], + [ + 576.0, + 651.0 + ], + [ + 540.0, + 651.0 + ] + ], + "center_px": [ + 558.5, + 634.5 + ], + "area_px": 1188.0 + }, + { + "image_points_px": [ + [ + 244.0, + 535.0 + ], + [ + 280.0, + 536.0 + ], + [ + 275.0, + 568.0 + ], + [ + 238.0, + 567.0 + ] + ], + "center_px": [ + 259.25, + 551.5 + ], + "area_px": 1173.5 + }, + { + "image_points_px": [ + [ + 395.0, + 541.0 + ], + [ + 432.0, + 543.0 + ], + [ + 427.0, + 575.0 + ], + [ + 391.0, + 573.0 + ] + ], + "center_px": [ + 411.25, + 558.0 + ], + "area_px": 1177.0 + }, + { + "image_points_px": [ + [ + 1048.0, + 604.0 + ], + [ + 1084.0, + 605.0 + ], + [ + 1088.0, + 637.0 + ], + [ + 1052.0, + 637.0 + ] + ], + "center_px": [ + 1068.0, + 620.75 + ], + "area_px": 1168.0 + }, + { + "image_points_px": [ + [ + 970.0, + 601.0 + ], + [ + 1006.0, + 601.0 + ], + [ + 1009.0, + 634.0 + ], + [ + 973.0, + 633.0 + ] + ], + "center_px": [ + 989.5, + 617.25 + ], + "area_px": 1168.5 + }, + { + "image_points_px": [ + [ + 965.0, + 532.0 + ], + [ + 1002.0, + 533.0 + ], + [ + 1004.0, + 565.0 + ], + [ + 968.0, + 564.0 + ] + ], + "center_px": [ + 984.75, + 548.5 + ], + "area_px": 1165.5 + }, + { + "image_points_px": [ + [ + 288.0, + 503.0 + ], + [ + 324.0, + 505.0 + ], + [ + 319.0, + 536.0 + ], + [ + 282.0, + 535.0 + ] + ], + "center_px": [ + 303.25, + 519.75 + ], + "area_px": 1158.0 + }, + { + "image_points_px": [ + [ + 139.0, + 497.0 + ], + [ + 175.0, + 498.0 + ], + [ + 168.0, + 530.0 + ], + [ + 132.0, + 528.0 + ] + ], + "center_px": [ + 153.5, + 513.25 + ], + "area_px": 1144.5 + }, + { + "image_points_px": [ + [ + 587.0, + 516.0 + ], + [ + 623.0, + 517.0 + ], + [ + 622.0, + 549.0 + ], + [ + 585.0, + 547.0 + ] + ], + "center_px": [ + 604.25, + 532.25 + ], + "area_px": 1152.0 + }, + { + "image_points_px": [ + [ + 49.0, + 561.0 + ], + [ + 84.0, + 563.0 + ], + [ + 75.0, + 595.0 + ], + [ + 40.0, + 592.0 + ] + ], + "center_px": [ + 62.0, + 577.75 + ], + "area_px": 1125.0 + }, + { + "image_points_px": [ + [ + 1006.0, + 568.0 + ], + [ + 1041.0, + 568.0 + ], + [ + 1046.0, + 600.0 + ], + [ + 1010.0, + 600.0 + ] + ], + "center_px": [ + 1025.75, + 584.0 + ], + "area_px": 1136.0 + }, + { + "image_points_px": [ + [ + 1152.0, + 506.0 + ], + [ + 1188.0, + 508.0 + ], + [ + 1192.0, + 539.0 + ], + [ + 1156.0, + 538.0 + ] + ], + "center_px": [ + 1172.0, + 522.75 + ], + "area_px": 1128.0 + }, + { + "image_points_px": [ + [ + 1001.0, + 500.0 + ], + [ + 1036.0, + 501.0 + ], + [ + 1040.0, + 533.0 + ], + [ + 1004.0, + 532.0 + ] + ], + "center_px": [ + 1020.25, + 516.5 + ], + "area_px": 1132.5 + }, + { + "image_points_px": [ + [ + 214.0, + 500.0 + ], + [ + 249.0, + 501.0 + ], + [ + 243.0, + 533.0 + ], + [ + 207.0, + 531.0 + ] + ], + "center_px": [ + 228.25, + 516.25 + ], + "area_px": 1128.0 + }, + { + "image_points_px": [ + [ + 512.0, + 513.0 + ], + [ + 548.0, + 514.0 + ], + [ + 546.0, + 545.0 + ], + [ + 509.0, + 544.0 + ] + ], + "center_px": [ + 528.75, + 529.0 + ], + "area_px": 1134.0 + }, + { + "image_points_px": [ + [ + 926.0, + 497.0 + ], + [ + 961.0, + 498.0 + ], + [ + 964.0, + 530.0 + ], + [ + 927.0, + 528.0 + ] + ], + "center_px": [ + 944.5, + 513.25 + ], + "area_px": 1131.0 + }, + { + "image_points_px": [ + [ + 353.0, + 574.0 + ], + [ + 389.0, + 576.0 + ], + [ + 383.0, + 608.0 + ], + [ + 348.0, + 605.0 + ] + ], + "center_px": [ + 368.25, + 590.75 + ], + "area_px": 1132.0 + }, + { + "image_points_px": [ + [ + 582.0, + 585.0 + ], + [ + 618.0, + 585.0 + ], + [ + 617.0, + 617.0 + ], + [ + 581.0, + 616.0 + ] + ], + "center_px": [ + 599.5, + 600.75 + ], + "area_px": 1134.5 + }, + { + "image_points_px": [ + [ + 660.0, + 588.0 + ], + [ + 695.0, + 588.0 + ], + [ + 695.0, + 620.0 + ], + [ + 659.0, + 620.0 + ] + ], + "center_px": [ + 677.25, + 604.0 + ], + "area_px": 1136.0 + }, + { + "image_points_px": [ + [ + 507.0, + 580.0 + ], + [ + 542.0, + 583.0 + ], + [ + 538.0, + 615.0 + ], + [ + 503.0, + 612.0 + ] + ], + "center_px": [ + 522.5, + 597.5 + ], + "area_px": 1132.0 + }, + { + "image_points_px": [ + [ + 363.0, + 506.0 + ], + [ + 398.0, + 508.0 + ], + [ + 394.0, + 539.0 + ], + [ + 358.0, + 538.0 + ] + ], + "center_px": [ + 378.25, + 522.75 + ], + "area_px": 1125.0 + }, + { + "image_points_px": [ + [ + 553.0, + 481.0 + ], + [ + 588.0, + 483.0 + ], + [ + 586.0, + 514.0 + ], + [ + 550.0, + 513.0 + ] + ], + "center_px": [ + 569.25, + 497.75 + ], + "area_px": 1122.0 + }, + { + "image_points_px": [ + [ + 627.0, + 485.0 + ], + [ + 663.0, + 486.0 + ], + [ + 661.0, + 517.0 + ], + [ + 625.0, + 516.0 + ] + ], + "center_px": [ + 644.0, + 501.0 + ], + "area_px": 1118.0 + }, + { + "image_points_px": [ + [ + 405.0, + 475.0 + ], + [ + 440.0, + 477.0 + ], + [ + 436.0, + 508.0 + ], + [ + 400.0, + 506.0 + ] + ], + "center_px": [ + 420.25, + 491.5 + ], + "area_px": 1109.5 + }, + { + "image_points_px": [ + [ + 184.0, + 466.0 + ], + [ + 219.0, + 468.0 + ], + [ + 213.0, + 498.0 + ], + [ + 177.0, + 497.0 + ] + ], + "center_px": [ + 198.25, + 482.25 + ], + "area_px": 1092.5 + }, + { + "image_points_px": [ + [ + 478.0, + 479.0 + ], + [ + 514.0, + 480.0 + ], + [ + 511.0, + 511.0 + ], + [ + 475.0, + 509.0 + ] + ], + "center_px": [ + 494.5, + 494.75 + ], + "area_px": 1102.5 + }, + { + "image_points_px": [ + [ + 471.0, + 545.0 + ], + [ + 506.0, + 546.0 + ], + [ + 504.0, + 577.0 + ], + [ + 469.0, + 577.0 + ] + ], + "center_px": [ + 487.5, + 561.25 + ], + "area_px": 1103.5 + }, + { + "image_points_px": [ + [ + 547.0, + 548.0 + ], + [ + 582.0, + 549.0 + ], + [ + 581.0, + 580.0 + ], + [ + 546.0, + 580.0 + ] + ], + "center_px": [ + 564.0, + 564.25 + ], + "area_px": 1103.0 + }, + { + "image_points_px": [ + [ + 331.0, + 472.0 + ], + [ + 366.0, + 474.0 + ], + [ + 361.0, + 505.0 + ], + [ + 326.0, + 503.0 + ] + ], + "center_px": [ + 346.0, + 488.5 + ], + "area_px": 1095.0 + }, + { + "image_points_px": [ + [ + 96.0, + 528.0 + ], + [ + 130.0, + 531.0 + ], + [ + 121.0, + 562.0 + ], + [ + 87.0, + 559.0 + ] + ], + "center_px": [ + 108.5, + 545.0 + ], + "area_px": 1081.0 + }, + { + "image_points_px": [ + [ + 1042.0, + 536.0 + ], + [ + 1077.0, + 536.0 + ], + [ + 1081.0, + 567.0 + ], + [ + 1046.0, + 567.0 + ] + ], + "center_px": [ + 1061.5, + 551.5 + ], + "area_px": 1085.0 + }, + { + "image_points_px": [ + [ + 38.0, + 460.0 + ], + [ + 72.0, + 462.0 + ], + [ + 64.0, + 492.0 + ], + [ + 29.0, + 491.0 + ] + ], + "center_px": [ + 50.75, + 476.25 + ], + "area_px": 1065.0 + }, + { + "image_points_px": [ + [ + 258.0, + 469.0 + ], + [ + 292.0, + 471.0 + ], + [ + 287.0, + 501.0 + ], + [ + 251.0, + 500.0 + ] + ], + "center_px": [ + 272.0, + 485.25 + ], + "area_px": 1076.5 + }, + { + "image_points_px": [ + [ + 321.0, + 538.0 + ], + [ + 355.0, + 540.0 + ], + [ + 350.0, + 571.0 + ], + [ + 315.0, + 569.0 + ] + ], + "center_px": [ + 335.25, + 554.5 + ], + "area_px": 1080.5 + }, + { + "image_points_px": [ + [ + 111.0, + 463.0 + ], + [ + 145.0, + 465.0 + ], + [ + 138.0, + 495.0 + ], + [ + 103.0, + 494.0 + ] + ], + "center_px": [ + 124.25, + 479.25 + ], + "area_px": 1063.5 + }, + { + "image_points_px": [ + [ + 83.0, + 430.0 + ], + [ + 117.0, + 432.0 + ], + [ + 109.0, + 462.0 + ], + [ + 74.0, + 460.0 + ] + ], + "center_px": [ + 95.75, + 446.0 + ], + "area_px": 1052.0 + }, + { + "image_points_px": [ + [ + 155.0, + 433.0 + ], + [ + 189.0, + 435.0 + ], + [ + 182.0, + 465.0 + ], + [ + 147.0, + 463.0 + ] + ], + "center_px": [ + 168.25, + 449.0 + ], + "area_px": 1050.0 + }, + { + "image_points_px": [ + [ + 1077.0, + 504.0 + ], + [ + 1111.0, + 505.0 + ], + [ + 1116.0, + 535.0 + ], + [ + 1081.0, + 535.0 + ] + ], + "center_px": [ + 1096.25, + 519.75 + ], + "area_px": 1050.0 + }, + { + "image_points_px": [ + [ + 66.0, + 494.0 + ], + [ + 100.0, + 496.0 + ], + [ + 92.0, + 526.0 + ], + [ + 58.0, + 524.0 + ] + ], + "center_px": [ + 79.0, + 510.0 + ], + "area_px": 1036.0 + }, + { + "image_points_px": [ + [ + 437.0, + 511.0 + ], + [ + 472.0, + 511.0 + ], + [ + 470.0, + 541.0 + ], + [ + 435.0, + 541.0 + ] + ], + "center_px": [ + 453.5, + 526.0 + ], + "area_px": 1050.0 + }, + { + "image_points_px": [ + [ + 663.0, + 520.0 + ], + [ + 697.0, + 520.0 + ], + [ + 698.0, + 550.0 + ], + [ + 663.0, + 551.0 + ] + ], + "center_px": [ + 680.25, + 535.25 + ], + "area_px": 1052.5 + }, + { + "image_points_px": [ + [ + 55.0, + 398.0 + ], + [ + 89.0, + 400.0 + ], + [ + 81.0, + 429.0 + ], + [ + 46.0, + 427.0 + ] + ], + "center_px": [ + 67.75, + 413.5 + ], + "area_px": 1017.5 + }, + { + "image_points_px": [ + [ + 126.0, + 401.0 + ], + [ + 160.0, + 403.0 + ], + [ + 153.0, + 432.0 + ], + [ + 119.0, + 430.0 + ] + ], + "center_px": [ + 139.5, + 416.5 + ], + "area_px": 1000.0 + }, + { + "image_points_px": [ + [ + 27.0, + 367.0 + ], + [ + 61.0, + 368.0 + ], + [ + 53.0, + 397.0 + ], + [ + 19.0, + 395.0 + ] + ], + "center_px": [ + 40.0, + 381.75 + ], + "area_px": 981.0 + }, + { + "image_points_px": [ + [ + 525.0, + 387.0 + ], + [ + 559.0, + 388.0 + ], + [ + 557.0, + 417.0 + ], + [ + 522.0, + 416.0 + ] + ], + "center_px": [ + 540.75, + 402.0 + ], + "area_px": 1003.0 + }, + { + "image_points_px": [ + [ + 382.0, + 381.0 + ], + [ + 416.0, + 382.0 + ], + [ + 412.0, + 411.0 + ], + [ + 378.0, + 410.0 + ] + ], + "center_px": [ + 397.0, + 396.0 + ], + "area_px": 990.0 + }, + { + "image_points_px": [ + [ + 492.0, + 356.0 + ], + [ + 527.0, + 357.0 + ], + [ + 524.0, + 385.0 + ], + [ + 489.0, + 384.0 + ] + ], + "center_px": [ + 508.0, + 370.5 + ], + "area_px": 983.0 + }, + { + "image_points_px": [ + [ + 98.0, + 370.0 + ], + [ + 132.0, + 371.0 + ], + [ + 124.0, + 400.0 + ], + [ + 91.0, + 398.0 + ] + ], + "center_px": [ + 111.25, + 384.75 + ], + "area_px": 966.0 + }, + { + "image_points_px": [ + [ + 169.0, + 373.0 + ], + [ + 203.0, + 374.0 + ], + [ + 196.0, + 402.0 + ], + [ + 162.0, + 401.0 + ] + ], + "center_px": [ + 182.5, + 387.5 + ], + "area_px": 959.0 + }, + { + "image_points_px": [ + [ + 71.0, + 339.0 + ], + [ + 104.0, + 340.0 + ], + [ + 97.0, + 368.0 + ], + [ + 63.0, + 367.0 + ] + ], + "center_px": [ + 83.75, + 353.5 + ], + "area_px": 945.5 + }, + { + "image_points_px": [ + [ + 141.0, + 342.0 + ], + [ + 174.0, + 343.0 + ], + [ + 168.0, + 371.0 + ], + [ + 134.0, + 370.0 + ] + ], + "center_px": [ + 154.25, + 356.5 + ], + "area_px": 944.5 + }, + { + "image_points_px": [ + [ + 421.0, + 353.0 + ], + [ + 455.0, + 354.0 + ], + [ + 452.0, + 382.0 + ], + [ + 418.0, + 381.0 + ] + ], + "center_px": [ + 436.5, + 367.5 + ], + "area_px": 955.0 + }, + { + "image_points_px": [ + [ + 563.0, + 359.0 + ], + [ + 598.0, + 361.0 + ], + [ + 595.0, + 388.0 + ], + [ + 561.0, + 387.0 + ] + ], + "center_px": [ + 579.25, + 373.75 + ], + "area_px": 952.5 + }, + { + "image_points_px": [ + [ + 350.0, + 353.0 + ], + [ + 386.0, + 352.0 + ], + [ + 381.0, + 379.0 + ], + [ + 347.0, + 378.0 + ] + ], + "center_px": [ + 366.0, + 365.5 + ], + "area_px": 910.0 + }, + { + "image_points_px": [ + [ + 183.0, + 315.0 + ], + [ + 216.0, + 316.0 + ], + [ + 210.0, + 343.0 + ], + [ + 176.0, + 342.0 + ] + ], + "center_px": [ + 196.25, + 329.0 + ], + "area_px": 911.0 + }, + { + "image_points_px": [ + [ + 113.0, + 312.0 + ], + [ + 146.0, + 313.0 + ], + [ + 140.0, + 340.0 + ], + [ + 106.0, + 339.0 + ] + ], + "center_px": [ + 126.25, + 326.0 + ], + "area_px": 911.0 + }, + { + "image_points_px": [ + [ + 18.0, + 280.0 + ], + [ + 51.0, + 281.0 + ], + [ + 43.0, + 308.0 + ], + [ + 10.0, + 307.0 + ] + ], + "center_px": [ + 30.5, + 294.0 + ], + "area_px": 899.0 + }, + { + "image_points_px": [ + [ + 453.0, + 385.0 + ], + [ + 486.0, + 385.0 + ], + [ + 484.0, + 413.0 + ], + [ + 451.0, + 413.0 + ] + ], + "center_px": [ + 468.5, + 399.0 + ], + "area_px": 924.0 + }, + { + "image_points_px": [ + [ + 1136.0, + 383.0 + ], + [ + 1169.0, + 383.0 + ], + [ + 1174.0, + 410.0 + ], + [ + 1140.0, + 410.0 + ] + ], + "center_px": [ + 1154.75, + 396.5 + ], + "area_px": 904.5 + }, + { + "image_points_px": [ + [ + 45.0, + 309.0 + ], + [ + 77.0, + 311.0 + ], + [ + 69.0, + 338.0 + ], + [ + 36.0, + 336.0 + ] + ], + "center_px": [ + 56.75, + 323.5 + ], + "area_px": 894.5 + }, + { + "image_points_px": [ + [ + 1064.0, + 380.0 + ], + [ + 1097.0, + 380.0 + ], + [ + 1101.0, + 407.0 + ], + [ + 1067.0, + 407.0 + ] + ], + "center_px": [ + 1082.25, + 393.5 + ], + "area_px": 904.5 + }, + { + "image_points_px": [ + [ + 155.0, + 285.0 + ], + [ + 187.0, + 286.0 + ], + [ + 181.0, + 313.0 + ], + [ + 148.0, + 312.0 + ] + ], + "center_px": [ + 167.75, + 299.0 + ], + "area_px": 884.0 + }, + { + "image_points_px": [ + [ + 86.0, + 283.0 + ], + [ + 119.0, + 284.0 + ], + [ + 112.0, + 310.0 + ], + [ + 79.0, + 309.0 + ] + ], + "center_px": [ + 99.0, + 296.5 + ], + "area_px": 865.0 + }, + { + "image_points_px": [ + [ + 196.0, + 259.0 + ], + [ + 228.0, + 260.0 + ], + [ + 222.0, + 286.0 + ], + [ + 189.0, + 285.0 + ] + ], + "center_px": [ + 208.75, + 272.5 + ], + "area_px": 851.5 + }, + { + "image_points_px": [ + [ + 992.0, + 384.0 + ], + [ + 1026.0, + 377.0 + ], + [ + 1028.0, + 406.0 + ], + [ + 994.0, + 404.0 + ] + ], + "center_px": [ + 1010.0, + 392.75 + ], + "area_px": 838.0 + }, + { + "image_points_px": [ + [ + 128.0, + 257.0 + ], + [ + 160.0, + 258.0 + ], + [ + 153.0, + 284.0 + ], + [ + 121.0, + 282.0 + ] + ], + "center_px": [ + 140.5, + 270.25 + ], + "area_px": 826.5 + }, + { + "image_points_px": [ + [ + 56.0, + 150.0 + ], + [ + 89.0, + 149.0 + ], + [ + 84.0, + 173.0 + ], + [ + 50.0, + 174.0 + ] + ], + "center_px": [ + 69.75, + 161.5 + ], + "area_px": 798.5 + }, + { + "image_points_px": [ + [ + 168.0, + 231.0 + ], + [ + 200.0, + 232.0 + ], + [ + 195.0, + 257.0 + ], + [ + 162.0, + 256.0 + ] + ], + "center_px": [ + 181.25, + 244.0 + ], + "area_px": 818.0 + }, + { + "image_points_px": [ + [ + 35.0, + 226.0 + ], + [ + 66.0, + 227.0 + ], + [ + 59.0, + 252.0 + ], + [ + 27.0, + 251.0 + ] + ], + "center_px": [ + 46.75, + 239.0 + ], + "area_px": 795.0 + }, + { + "image_points_px": [ + [ + 76.0, + 201.0 + ], + [ + 107.0, + 202.0 + ], + [ + 100.0, + 227.0 + ], + [ + 69.0, + 226.0 + ] + ], + "center_px": [ + 88.0, + 214.0 + ], + "area_px": 782.0 + }, + { + "image_points_px": [ + [ + 181.0, + 179.0 + ], + [ + 213.0, + 180.0 + ], + [ + 207.0, + 204.0 + ], + [ + 175.0, + 203.0 + ] + ], + "center_px": [ + 194.0, + 191.5 + ], + "area_px": 774.0 + }, + { + "image_points_px": [ + [ + 116.0, + 177.0 + ], + [ + 147.0, + 178.0 + ], + [ + 141.0, + 202.0 + ], + [ + 109.0, + 201.0 + ] + ], + "center_px": [ + 128.25, + 189.5 + ], + "area_px": 762.5 + }, + { + "image_points_px": [ + [ + 142.0, + 204.0 + ], + [ + 173.0, + 205.0 + ], + [ + 168.0, + 228.0 + ], + [ + 135.0, + 228.0 + ] + ], + "center_px": [ + 154.5, + 216.25 + ], + "area_px": 755.0 + }, + { + "image_points_px": [ + [ + 60.0, + 255.0 + ], + [ + 91.0, + 255.0 + ], + [ + 86.0, + 279.0 + ], + [ + 55.0, + 280.0 + ] + ], + "center_px": [ + 73.0, + 267.25 + ], + "area_px": 757.0 + }, + { + "image_points_px": [ + [ + 101.0, + 230.0 + ], + [ + 132.0, + 230.0 + ], + [ + 127.0, + 254.0 + ], + [ + 96.0, + 254.0 + ] + ], + "center_px": [ + 114.0, + 242.0 + ], + "area_px": 744.0 + }, + { + "image_points_px": [ + [ + 1230.0, + 117.0 + ], + [ + 1261.0, + 119.0 + ], + [ + 1266.0, + 142.0 + ], + [ + 1235.0, + 141.0 + ] + ], + "center_px": [ + 1248.0, + 129.75 + ], + "area_px": 721.0 + }, + { + "image_points_px": [ + [ + 65.0, + 125.0 + ], + [ + 96.0, + 125.0 + ], + [ + 89.0, + 149.0 + ], + [ + 59.0, + 148.0 + ] + ], + "center_px": [ + 77.25, + 136.75 + ], + "area_px": 720.0 + }, + { + "image_points_px": [ + [ + 1202.0, + 141.0 + ], + [ + 1233.0, + 142.0 + ], + [ + 1237.0, + 166.0 + ], + [ + 1206.0, + 164.0 + ] + ], + "center_px": [ + 1219.5, + 153.25 + ], + "area_px": 722.5 + }, + { + "image_points_px": [ + [ + 155.0, + 153.0 + ], + [ + 186.0, + 154.0 + ], + [ + 181.0, + 176.0 + ], + [ + 149.0, + 176.0 + ] + ], + "center_px": [ + 167.75, + 164.75 + ], + "area_px": 711.5 + }, + { + "image_points_px": [ + [ + 902.0, + 36.0 + ], + [ + 933.0, + 36.0 + ], + [ + 936.0, + 59.0 + ], + [ + 904.0, + 59.0 + ] + ], + "center_px": [ + 918.75, + 47.5 + ], + "area_px": 724.5 + }, + { + "image_points_px": [ + [ + 1165.0, + 115.0 + ], + [ + 1196.0, + 116.0 + ], + [ + 1200.0, + 139.0 + ], + [ + 1169.0, + 138.0 + ] + ], + "center_px": [ + 1182.5, + 127.0 + ], + "area_px": 709.0 + }, + { + "image_points_px": [ + [ + 129.0, + 128.0 + ], + [ + 160.0, + 128.0 + ], + [ + 154.0, + 151.0 + ], + [ + 123.0, + 150.0 + ] + ], + "center_px": [ + 141.5, + 139.25 + ], + "area_px": 700.5 + }, + { + "image_points_px": [ + [ + 232.0, + 106.0 + ], + [ + 262.0, + 107.0 + ], + [ + 257.0, + 130.0 + ], + [ + 226.0, + 129.0 + ] + ], + "center_px": [ + 244.25, + 118.0 + ], + "area_px": 707.0 + }, + { + "image_points_px": [ + [ + 1006.0, + 134.0 + ], + [ + 1037.0, + 135.0 + ], + [ + 1039.0, + 158.0 + ], + [ + 1008.0, + 157.0 + ] + ], + "center_px": [ + 1022.5, + 146.0 + ], + "area_px": 711.0 + }, + { + "image_points_px": [ + [ + 295.0, + 109.0 + ], + [ + 326.0, + 109.0 + ], + [ + 322.0, + 132.0 + ], + [ + 291.0, + 131.0 + ] + ], + "center_px": [ + 308.5, + 120.25 + ], + "area_px": 699.5 + }, + { + "image_points_px": [ + [ + 104.0, + 102.0 + ], + [ + 135.0, + 103.0 + ], + [ + 129.0, + 125.0 + ], + [ + 98.0, + 124.0 + ] + ], + "center_px": [ + 116.5, + 113.5 + ], + "area_px": 688.0 + }, + { + "image_points_px": [ + [ + 1036.0, + 111.0 + ], + [ + 1067.0, + 112.0 + ], + [ + 1069.0, + 135.0 + ], + [ + 1039.0, + 134.0 + ] + ], + "center_px": [ + 1052.75, + 123.0 + ], + "area_px": 699.0 + }, + { + "image_points_px": [ + [ + 971.0, + 108.0 + ], + [ + 1001.0, + 109.0 + ], + [ + 1004.0, + 132.0 + ], + [ + 973.0, + 131.0 + ] + ], + "center_px": [ + 987.25, + 120.0 + ], + "area_px": 699.0 + }, + { + "image_points_px": [ + [ + 1001.0, + 86.0 + ], + [ + 1032.0, + 87.0 + ], + [ + 1034.0, + 109.0 + ], + [ + 1003.0, + 108.0 + ] + ], + "center_px": [ + 1017.5, + 97.5 + ], + "area_px": 680.0 + }, + { + "image_points_px": [ + [ + 168.0, + 104.0 + ], + [ + 197.0, + 105.0 + ], + [ + 193.0, + 127.0 + ], + [ + 162.0, + 127.0 + ] + ], + "center_px": [ + 180.0, + 115.75 + ], + "area_px": 677.5 + }, + { + "image_points_px": [ + [ + 50.0, + 176.0 + ], + [ + 80.0, + 175.0 + ], + [ + 75.0, + 198.0 + ], + [ + 45.0, + 198.0 + ] + ], + "center_px": [ + 62.5, + 186.75 + ], + "area_px": 672.5 + }, + { + "image_points_px": [ + [ + 80.0, + 77.0 + ], + [ + 110.0, + 78.0 + ], + [ + 104.0, + 99.0 + ], + [ + 73.0, + 99.0 + ] + ], + "center_px": [ + 91.75, + 88.25 + ], + "area_px": 659.0 + }, + { + "image_points_px": [ + [ + 1194.0, + 92.0 + ], + [ + 1224.0, + 94.0 + ], + [ + 1228.0, + 116.0 + ], + [ + 1198.0, + 115.0 + ] + ], + "center_px": [ + 1211.0, + 104.25 + ], + "area_px": 669.0 + }, + { + "image_points_px": [ + [ + 143.0, + 79.0 + ], + [ + 173.0, + 80.0 + ], + [ + 167.0, + 102.0 + ], + [ + 137.0, + 101.0 + ] + ], + "center_px": [ + 155.0, + 90.5 + ], + "area_px": 666.0 + }, + { + "image_points_px": [ + [ + 1071.0, + 137.0 + ], + [ + 1101.0, + 137.0 + ], + [ + 1105.0, + 159.0 + ], + [ + 1074.0, + 159.0 + ] + ], + "center_px": [ + 1087.75, + 148.0 + ], + "area_px": 671.0 + }, + { + "image_points_px": [ + [ + 1112.0, + 487.0 + ], + [ + 1148.0, + 488.0 + ], + [ + 1150.0, + 505.0 + ], + [ + 1114.0, + 503.0 + ] + ], + "center_px": [ + 1131.0, + 495.75 + ], + "area_px": 591.0 + }, + { + "image_points_px": [ + [ + 1187.0, + 490.0 + ], + [ + 1223.0, + 491.0 + ], + [ + 1225.0, + 508.0 + ], + [ + 1189.0, + 506.0 + ] + ], + "center_px": [ + 1206.0, + 498.75 + ], + "area_px": 591.0 + }, + { + "image_points_px": [ + [ + 937.0, + 84.0 + ], + [ + 967.0, + 84.0 + ], + [ + 969.0, + 107.0 + ], + [ + 939.0, + 106.0 + ] + ], + "center_px": [ + 953.0, + 95.25 + ], + "area_px": 674.0 + }, + { + "image_points_px": [ + [ + 905.0, + 529.0 + ], + [ + 926.0, + 530.0 + ], + [ + 927.0, + 562.0 + ], + [ + 906.0, + 560.0 + ] + ], + "center_px": [ + 916.0, + 545.25 + ], + "area_px": 660.0 + }, + { + "image_points_px": [ + [ + 1037.0, + 484.0 + ], + [ + 1073.0, + 485.0 + ], + [ + 1074.0, + 502.0 + ], + [ + 1038.0, + 500.0 + ] + ], + "center_px": [ + 1055.5, + 492.75 + ], + "area_px": 592.5 + }, + { + "image_points_px": [ + [ + 810.0, + 79.0 + ], + [ + 840.0, + 80.0 + ], + [ + 841.0, + 102.0 + ], + [ + 810.0, + 101.0 + ] + ], + "center_px": [ + 825.25, + 90.5 + ], + "area_px": 670.5 + }, + { + "image_points_px": [ + [ + 90.0, + 152.0 + ], + [ + 119.0, + 151.0 + ], + [ + 115.0, + 174.0 + ], + [ + 85.0, + 174.0 + ] + ], + "center_px": [ + 102.25, + 162.75 + ], + "area_px": 661.5 + }, + { + "image_points_px": [ + [ + 332.0, + 86.0 + ], + [ + 362.0, + 87.0 + ], + [ + 358.0, + 109.0 + ], + [ + 328.0, + 108.0 + ] + ], + "center_px": [ + 345.0, + 97.5 + ], + "area_px": 664.0 + }, + { + "image_points_px": [ + [ + 1137.0, + 140.0 + ], + [ + 1167.0, + 140.0 + ], + [ + 1171.0, + 162.0 + ], + [ + 1141.0, + 162.0 + ] + ], + "center_px": [ + 1154.0, + 151.0 + ], + "area_px": 660.0 + }, + { + "image_points_px": [ + [ + 118.0, + 55.0 + ], + [ + 148.0, + 56.0 + ], + [ + 142.0, + 77.0 + ], + [ + 112.0, + 77.0 + ] + ], + "center_px": [ + 130.0, + 66.25 + ], + "area_px": 648.0 + }, + { + "image_points_px": [ + [ + 967.0, + 62.0 + ], + [ + 997.0, + 62.0 + ], + [ + 1000.0, + 84.0 + ], + [ + 969.0, + 83.0 + ] + ], + "center_px": [ + 983.25, + 72.75 + ], + "area_px": 654.5 + }, + { + "image_points_px": [ + [ + 32.0, + 29.0 + ], + [ + 62.0, + 30.0 + ], + [ + 55.0, + 51.0 + ], + [ + 25.0, + 50.0 + ] + ], + "center_px": [ + 43.5, + 40.0 + ], + "area_px": 637.0 + }, + { + "image_points_px": [ + [ + 962.0, + 481.0 + ], + [ + 998.0, + 482.0 + ], + [ + 999.0, + 498.0 + ], + [ + 963.0, + 497.0 + ] + ], + "center_px": [ + 980.5, + 489.5 + ], + "area_px": 575.0 + }, + { + "image_points_px": [ + [ + 1213.0, + 24.0 + ], + [ + 1243.0, + 26.0 + ], + [ + 1247.0, + 47.0 + ], + [ + 1217.0, + 46.0 + ] + ], + "center_px": [ + 1230.0, + 35.75 + ], + "area_px": 639.0 + }, + { + "image_points_px": [ + [ + 305.0, + 62.0 + ], + [ + 335.0, + 62.0 + ], + [ + 331.0, + 84.0 + ], + [ + 301.0, + 83.0 + ] + ], + "center_px": [ + 318.0, + 72.75 + ], + "area_px": 647.0 + }, + { + "image_points_px": [ + [ + 55.0, + 54.0 + ], + [ + 85.0, + 53.0 + ], + [ + 79.0, + 75.0 + ], + [ + 49.0, + 74.0 + ] + ], + "center_px": [ + 67.0, + 64.0 + ], + "area_px": 630.0 + }, + { + "image_points_px": [ + [ + 1123.0, + 44.0 + ], + [ + 1153.0, + 45.0 + ], + [ + 1156.0, + 67.0 + ], + [ + 1126.0, + 65.0 + ] + ], + "center_px": [ + 1139.5, + 55.25 + ], + "area_px": 640.5 + }, + { + "image_points_px": [ + [ + 1060.0, + 42.0 + ], + [ + 1090.0, + 43.0 + ], + [ + 1093.0, + 64.0 + ], + [ + 1062.0, + 63.0 + ] + ], + "center_px": [ + 1076.25, + 53.0 + ], + "area_px": 638.0 + }, + { + "image_points_px": [ + [ + 941.0, + 133.0 + ], + [ + 970.0, + 133.0 + ], + [ + 973.0, + 155.0 + ], + [ + 943.0, + 155.0 + ] + ], + "center_px": [ + 956.75, + 144.0 + ], + "area_px": 649.0 + }, + { + "image_points_px": [ + [ + 25.0, + 150.0 + ], + [ + 55.0, + 149.0 + ], + [ + 50.0, + 170.0 + ], + [ + 20.0, + 171.0 + ] + ], + "center_px": [ + 37.5, + 160.0 + ], + "area_px": 625.0 + }, + { + "image_points_px": [ + [ + 875.0, + 131.0 + ], + [ + 905.0, + 130.0 + ], + [ + 907.0, + 152.0 + ], + [ + 877.0, + 152.0 + ] + ], + "center_px": [ + 891.0, + 141.25 + ], + "area_px": 646.0 + }, + { + "image_points_px": [ + [ + 842.0, + 105.0 + ], + [ + 872.0, + 105.0 + ], + [ + 874.0, + 126.0 + ], + [ + 844.0, + 127.0 + ] + ], + "center_px": [ + 858.0, + 115.75 + ], + "area_px": 646.0 + }, + { + "image_points_px": [ + [ + 517.0, + 463.0 + ], + [ + 553.0, + 464.0 + ], + [ + 551.0, + 480.0 + ], + [ + 516.0, + 479.0 + ] + ], + "center_px": [ + 534.25, + 471.5 + ], + "area_px": 569.5 + }, + { + "image_points_px": [ + [ + 778.0, + 55.0 + ], + [ + 808.0, + 56.0 + ], + [ + 809.0, + 77.0 + ], + [ + 779.0, + 77.0 + ] + ], + "center_px": [ + 793.5, + 66.25 + ], + "area_px": 644.5 + }, + { + "image_points_px": [ + [ + 591.0, + 466.0 + ], + [ + 626.0, + 467.0 + ], + [ + 626.0, + 483.0 + ], + [ + 590.0, + 482.0 + ] + ], + "center_px": [ + 608.25, + 474.5 + ], + "area_px": 568.5 + }, + { + "image_points_px": [ + [ + 665.0, + 469.0 + ], + [ + 701.0, + 470.0 + ], + [ + 700.0, + 486.0 + ], + [ + 665.0, + 485.0 + ] + ], + "center_px": [ + 682.75, + 477.5 + ], + "area_px": 568.5 + }, + { + "image_points_px": [ + [ + 94.0, + 31.0 + ], + [ + 123.0, + 32.0 + ], + [ + 117.0, + 53.0 + ], + [ + 87.0, + 52.0 + ] + ], + "center_px": [ + 105.25, + 42.0 + ], + "area_px": 626.0 + }, + { + "image_points_px": [ + [ + 1101.0, + 114.0 + ], + [ + 1130.0, + 114.0 + ], + [ + 1134.0, + 136.0 + ], + [ + 1105.0, + 136.0 + ] + ], + "center_px": [ + 1117.5, + 125.0 + ], + "area_px": 638.0 + }, + { + "image_points_px": [ + [ + 341.0, + 40.0 + ], + [ + 370.0, + 40.0 + ], + [ + 367.0, + 62.0 + ], + [ + 337.0, + 61.0 + ] + ], + "center_px": [ + 353.75, + 50.75 + ], + "area_px": 636.0 + }, + { + "image_points_px": [ + [ + 907.0, + 107.0 + ], + [ + 936.0, + 107.0 + ], + [ + 939.0, + 128.0 + ], + [ + 909.0, + 129.0 + ] + ], + "center_px": [ + 922.75, + 117.75 + ], + "area_px": 635.5 + }, + { + "image_points_px": [ + [ + 443.0, + 460.0 + ], + [ + 479.0, + 461.0 + ], + [ + 477.0, + 477.0 + ], + [ + 442.0, + 475.0 + ] + ], + "center_px": [ + 460.25, + 468.25 + ], + "area_px": 552.5 + }, + { + "image_points_px": [ + [ + 716.0, + 52.0 + ], + [ + 744.0, + 53.0 + ], + [ + 745.0, + 75.0 + ], + [ + 715.0, + 74.0 + ] + ], + "center_px": [ + 730.0, + 63.5 + ], + "area_px": 638.0 + }, + { + "image_points_px": [ + [ + 778.0, + 103.0 + ], + [ + 808.0, + 103.0 + ], + [ + 809.0, + 124.0 + ], + [ + 779.0, + 124.0 + ] + ], + "center_px": [ + 793.5, + 113.5 + ], + "area_px": 630.0 + }, + { + "image_points_px": [ + [ + 1240.0, + 3.0 + ], + [ + 1269.0, + 4.0 + ], + [ + 1274.0, + 25.0 + ], + [ + 1244.0, + 24.0 + ] + ], + "center_px": [ + 1256.75, + 14.0 + ], + "area_px": 615.0 + }, + { + "image_points_px": [ + [ + 315.0, + 16.0 + ], + [ + 344.0, + 17.0 + ], + [ + 340.0, + 38.0 + ], + [ + 310.0, + 37.0 + ] + ], + "center_px": [ + 327.25, + 27.0 + ], + "area_px": 624.0 + }, + { + "image_points_px": [ + [ + 224.0, + 451.0 + ], + [ + 259.0, + 452.0 + ], + [ + 256.0, + 468.0 + ], + [ + 221.0, + 466.0 + ] + ], + "center_px": [ + 240.0, + 459.25 + ], + "area_px": 547.0 + }, + { + "image_points_px": [ + [ + 131.0, + 10.0 + ], + [ + 160.0, + 11.0 + ], + [ + 155.0, + 31.0 + ], + [ + 125.0, + 31.0 + ] + ], + "center_px": [ + 142.75, + 20.75 + ], + "area_px": 607.5 + }, + { + "image_points_px": [ + [ + 297.0, + 454.0 + ], + [ + 332.0, + 455.0 + ], + [ + 330.0, + 470.0 + ], + [ + 294.0, + 469.0 + ] + ], + "center_px": [ + 313.25, + 462.0 + ], + "area_px": 535.0 + }, + { + "image_points_px": [ + [ + 370.0, + 457.0 + ], + [ + 406.0, + 458.0 + ], + [ + 404.0, + 472.0 + ], + [ + 368.0, + 472.0 + ] + ], + "center_px": [ + 387.0, + 464.75 + ], + "area_px": 523.0 + }, + { + "image_points_px": [ + [ + 1222.0, + 71.0 + ], + [ + 1251.0, + 71.0 + ], + [ + 1256.0, + 92.0 + ], + [ + 1227.0, + 92.0 + ] + ], + "center_px": [ + 1239.0, + 81.5 + ], + "area_px": 609.0 + }, + { + "image_points_px": [ + [ + 874.0, + 82.0 + ], + [ + 903.0, + 82.0 + ], + [ + 905.0, + 103.0 + ], + [ + 875.0, + 103.0 + ] + ], + "center_px": [ + 889.25, + 92.5 + ], + "area_px": 619.5 + }, + { + "image_points_px": [ + [ + 1130.0, + 91.0 + ], + [ + 1159.0, + 91.0 + ], + [ + 1163.0, + 112.0 + ], + [ + 1135.0, + 113.0 + ] + ], + "center_px": [ + 1146.75, + 101.75 + ], + "area_px": 615.0 + }, + { + "image_points_px": [ + [ + 1158.0, + 69.0 + ], + [ + 1187.0, + 69.0 + ], + [ + 1191.0, + 90.0 + ], + [ + 1162.0, + 90.0 + ] + ], + "center_px": [ + 1174.5, + 79.5 + ], + "area_px": 609.0 + }, + { + "image_points_px": [ + [ + 1066.0, + 89.0 + ], + [ + 1095.0, + 89.0 + ], + [ + 1098.0, + 110.0 + ], + [ + 1069.0, + 110.0 + ] + ], + "center_px": [ + 1082.0, + 99.5 + ], + "area_px": 609.0 + }, + { + "image_points_px": [ + [ + 594.0, + 4.0 + ], + [ + 623.0, + 4.0 + ], + [ + 622.0, + 25.0 + ], + [ + 592.0, + 24.0 + ] + ], + "center_px": [ + 607.75, + 14.25 + ], + "area_px": 605.5 + }, + { + "image_points_px": [ + [ + 747.0, + 78.0 + ], + [ + 776.0, + 78.0 + ], + [ + 777.0, + 98.0 + ], + [ + 747.0, + 99.0 + ] + ], + "center_px": [ + 761.75, + 88.25 + ], + "area_px": 605.0 + }, + { + "image_points_px": [ + [ + 655.0, + 6.0 + ], + [ + 684.0, + 6.0 + ], + [ + 684.0, + 27.0 + ], + [ + 654.0, + 26.0 + ] + ], + "center_px": [ + 669.25, + 16.25 + ], + "area_px": 605.0 + }, + { + "image_points_px": [ + [ + 779.0, + 10.0 + ], + [ + 808.0, + 11.0 + ], + [ + 808.0, + 32.0 + ], + [ + 779.0, + 31.0 + ] + ], + "center_px": [ + 793.5, + 21.0 + ], + "area_px": 609.0 + }, + { + "image_points_px": [ + [ + 40.0, + 102.0 + ], + [ + 69.0, + 100.0 + ], + [ + 65.0, + 121.0 + ], + [ + 36.0, + 122.0 + ] + ], + "center_px": [ + 52.5, + 111.25 + ], + "area_px": 588.5 + }, + { + "image_points_px": [ + [ + 898.0, + 172.0 + ], + [ + 920.0, + 163.0 + ], + [ + 946.0, + 171.0 + ], + [ + 925.0, + 176.0 + ] + ], + "center_px": [ + 922.25, + 170.5 + ], + "area_px": 314.5 + }, + { + "image_points_px": [ + [ + 70.0, + 8.0 + ], + [ + 99.0, + 9.0 + ], + [ + 93.0, + 29.0 + ], + [ + 64.0, + 28.0 + ] + ], + "center_px": [ + 81.5, + 18.5 + ], + "area_px": 586.0 + }, + { + "image_points_px": [ + [ + 697.0, + 623.0 + ], + [ + 709.0, + 623.0 + ], + [ + 712.0, + 659.0 + ], + [ + 696.0, + 658.0 + ] + ], + "center_px": [ + 703.5, + 640.75 + ], + "area_px": 496.5 + }, + { + "image_points_px": [ + [ + 881.0, + 185.0 + ], + [ + 888.0, + 201.0 + ], + [ + 889.0, + 233.0 + ], + [ + 882.0, + 218.0 + ] + ], + "center_px": [ + 885.0, + 209.25 + ], + "area_px": 212.0 + }, + { + "image_points_px": [ + [ + 1094.0, + 67.0 + ], + [ + 1123.0, + 67.0 + ], + [ + 1127.0, + 87.0 + ], + [ + 1098.0, + 87.0 + ] + ], + "center_px": [ + 1110.5, + 77.0 + ], + "area_px": 580.0 + }, + { + "image_points_px": [ + [ + 1031.0, + 65.0 + ], + [ + 1060.0, + 65.0 + ], + [ + 1063.0, + 85.0 + ], + [ + 1034.0, + 85.0 + ] + ], + "center_px": [ + 1047.0, + 75.0 + ], + "area_px": 580.0 + }, + { + "image_points_px": [ + [ + 997.0, + 41.0 + ], + [ + 1026.0, + 41.0 + ], + [ + 1029.0, + 61.0 + ], + [ + 1000.0, + 61.0 + ] + ], + "center_px": [ + 1013.0, + 51.0 + ], + "area_px": 580.0 + }, + { + "image_points_px": [ + [ + 905.0, + 60.0 + ], + [ + 933.0, + 60.0 + ], + [ + 936.0, + 80.0 + ], + [ + 907.0, + 81.0 + ] + ], + "center_px": [ + 920.25, + 70.25 + ], + "area_px": 585.5 + }, + { + "image_points_px": [ + [ + 841.0, + 59.0 + ], + [ + 870.0, + 58.0 + ], + [ + 872.0, + 78.0 + ], + [ + 843.0, + 79.0 + ] + ], + "center_px": [ + 856.5, + 68.5 + ], + "area_px": 582.0 + }, + { + "image_points_px": [ + [ + 747.0, + 32.0 + ], + [ + 776.0, + 32.0 + ], + [ + 777.0, + 52.0 + ], + [ + 748.0, + 52.0 + ] + ], + "center_px": [ + 762.0, + 42.0 + ], + "area_px": 580.0 + }, + { + "image_points_px": [ + [ + 1186.0, + 47.0 + ], + [ + 1214.0, + 47.0 + ], + [ + 1219.0, + 67.0 + ], + [ + 1190.0, + 67.0 + ] + ], + "center_px": [ + 1202.25, + 57.0 + ], + "area_px": 570.0 + }, + { + "image_points_px": [ + [ + 1026.0, + 19.0 + ], + [ + 1054.0, + 19.0 + ], + [ + 1058.0, + 39.0 + ], + [ + 1029.0, + 39.0 + ] + ], + "center_px": [ + 1041.75, + 29.0 + ], + "area_px": 570.0 + }, + { + "image_points_px": [ + [ + 243.0, + 60.0 + ], + [ + 271.0, + 60.0 + ], + [ + 268.0, + 80.0 + ], + [ + 240.0, + 81.0 + ] + ], + "center_px": [ + 255.5, + 70.25 + ], + "area_px": 572.5 + }, + { + "image_points_px": [ + [ + 872.0, + 36.0 + ], + [ + 900.0, + 36.0 + ], + [ + 903.0, + 56.0 + ], + [ + 875.0, + 57.0 + ] + ], + "center_px": [ + 887.5, + 46.25 + ], + "area_px": 575.5 + }, + { + "image_points_px": [ + [ + 935.0, + 39.0 + ], + [ + 963.0, + 38.0 + ], + [ + 966.0, + 58.0 + ], + [ + 937.0, + 59.0 + ] + ], + "center_px": [ + 950.25, + 48.5 + ], + "area_px": 572.5 + }, + { + "image_points_px": [ + [ + 810.0, + 34.0 + ], + [ + 838.0, + 34.0 + ], + [ + 840.0, + 54.0 + ], + [ + 811.0, + 54.0 + ] + ], + "center_px": [ + 824.75, + 44.0 + ], + "area_px": 570.0 + }, + { + "image_points_px": [ + [ + 17.0, + 76.0 + ], + [ + 45.0, + 76.0 + ], + [ + 41.0, + 95.0 + ], + [ + 12.0, + 96.0 + ] + ], + "center_px": [ + 28.75, + 85.75 + ], + "area_px": 553.5 + }, + { + "image_points_px": [ + [ + 1089.0, + 21.0 + ], + [ + 1116.0, + 21.0 + ], + [ + 1121.0, + 41.0 + ], + [ + 1092.0, + 41.0 + ] + ], + "center_px": [ + 1104.5, + 31.0 + ], + "area_px": 560.0 + }, + { + "image_points_px": [ + [ + 217.0, + 36.0 + ], + [ + 245.0, + 36.0 + ], + [ + 242.0, + 56.0 + ], + [ + 214.0, + 56.0 + ] + ], + "center_px": [ + 229.5, + 46.0 + ], + "area_px": 560.0 + }, + { + "image_points_px": [ + [ + 964.0, + 17.0 + ], + [ + 992.0, + 17.0 + ], + [ + 995.0, + 37.0 + ], + [ + 967.0, + 37.0 + ] + ], + "center_px": [ + 979.5, + 27.0 + ], + "area_px": 560.0 + }, + { + "image_points_px": [ + [ + 840.0, + 13.0 + ], + [ + 869.0, + 13.0 + ], + [ + 870.0, + 32.0 + ], + [ + 842.0, + 33.0 + ] + ], + "center_px": [ + 855.25, + 22.75 + ], + "area_px": 556.5 + }, + { + "image_points_px": [ + [ + 902.0, + 15.0 + ], + [ + 930.0, + 15.0 + ], + [ + 933.0, + 34.0 + ], + [ + 905.0, + 35.0 + ] + ], + "center_px": [ + 917.5, + 24.75 + ], + "area_px": 547.5 + }, + { + "image_points_px": [ + [ + 253.0, + 16.0 + ], + [ + 281.0, + 15.0 + ], + [ + 278.0, + 35.0 + ], + [ + 250.0, + 35.0 + ] + ], + "center_px": [ + 265.5, + 25.25 + ], + "area_px": 544.5 + }, + { + "image_points_px": [ + [ + 717.0, + 9.0 + ], + [ + 745.0, + 9.0 + ], + [ + 746.0, + 28.0 + ], + [ + 717.0, + 28.0 + ] + ], + "center_px": [ + 731.25, + 18.5 + ], + "area_px": 541.5 + }, + { + "image_points_px": [ + [ + 1151.0, + 24.0 + ], + [ + 1179.0, + 24.0 + ], + [ + 1183.0, + 43.0 + ], + [ + 1155.0, + 43.0 + ] + ], + "center_px": [ + 1167.0, + 33.5 + ], + "area_px": 532.0 + }, + { + "image_points_px": [ + [ + 810.0, + 127.0 + ], + [ + 841.0, + 128.0 + ], + [ + 842.0, + 145.0 + ], + [ + 810.0, + 141.0 + ] + ], + "center_px": [ + 825.75, + 135.25 + ], + "area_px": 487.0 + }, + { + "image_points_px": [ + [ + 211.0, + 345.0 + ], + [ + 229.0, + 345.0 + ], + [ + 223.0, + 373.0 + ], + [ + 205.0, + 373.0 + ] + ], + "center_px": [ + 217.0, + 359.0 + ], + "area_px": 504.0 + }, + { + "image_points_px": [ + [ + 650.0, + 97.0 + ], + [ + 674.0, + 98.0 + ], + [ + 671.0, + 121.0 + ], + [ + 649.0, + 120.0 + ] + ], + "center_px": [ + 661.0, + 109.0 + ], + "area_px": 531.0 + }, + { + "image_points_px": [ + [ + 223.0, + 288.0 + ], + [ + 242.0, + 289.0 + ], + [ + 236.0, + 315.0 + ], + [ + 218.0, + 315.0 + ] + ], + "center_px": [ + 229.75, + 301.75 + ], + "area_px": 493.0 + }, + { + "image_points_px": [ + [ + 1108.0, + 415.0 + ], + [ + 1132.0, + 415.0 + ], + [ + 1137.0, + 435.0 + ], + [ + 1111.0, + 435.0 + ] + ], + "center_px": [ + 1122.0, + 425.0 + ], + "area_px": 500.0 + }, + { + "image_points_px": [ + [ + 1181.0, + 419.0 + ], + [ + 1206.0, + 418.0 + ], + [ + 1210.0, + 438.0 + ], + [ + 1186.0, + 439.0 + ] + ], + "center_px": [ + 1195.75, + 428.5 + ], + "area_px": 494.5 + }, + { + "image_points_px": [ + [ + 1035.0, + 413.0 + ], + [ + 1059.0, + 412.0 + ], + [ + 1063.0, + 432.0 + ], + [ + 1038.0, + 433.0 + ] + ], + "center_px": [ + 1048.75, + 422.5 + ], + "area_px": 493.5 + }, + { + "image_points_px": [ + [ + 1213.0, + 390.0 + ], + [ + 1237.0, + 389.0 + ], + [ + 1242.0, + 408.0 + ], + [ + 1218.0, + 409.0 + ] + ], + "center_px": [ + 1227.5, + 399.0 + ], + "area_px": 461.0 + }, + { + "image_points_px": [ + [ + 529.0, + 231.0 + ], + [ + 532.0, + 270.0 + ], + [ + 526.0, + 270.0 + ], + [ + 521.0, + 262.0 + ] + ], + "center_px": [ + 527.0, + 258.25 + ], + "area_px": 226.5 + }, + { + "image_points_px": [ + [ + 911.0, + 673.0 + ], + [ + 929.0, + 676.0 + ], + [ + 928.0, + 701.0 + ], + [ + 912.0, + 698.0 + ] + ], + "center_px": [ + 920.0, + 687.0 + ], + "area_px": 425.0 + }, + { + "image_points_px": [ + [ + 1169.0, + 179.0 + ], + [ + 1193.0, + 173.0 + ], + [ + 1209.0, + 181.0 + ], + [ + 1178.0, + 184.0 + ] + ], + "center_px": [ + 1187.25, + 179.25 + ], + "area_px": 235.0 + }, + { + "image_points_px": [ + [ + 700.0, + 554.0 + ], + [ + 710.0, + 555.0 + ], + [ + 708.0, + 587.0 + ], + [ + 698.0, + 585.0 + ] + ], + "center_px": [ + 704.0, + 570.25 + ], + "area_px": 318.0 + }, + { + "image_points_px": [ + [ + 777.0, + 151.0 + ], + [ + 778.0, + 190.0 + ], + [ + 772.0, + 174.0 + ], + [ + 772.0, + 161.0 + ] + ], + "center_px": [ + 774.75, + 169.0 + ], + "area_px": 141.5 + }, + { + "image_points_px": [ + [ + 703.0, + 488.0 + ], + [ + 712.0, + 489.0 + ], + [ + 711.0, + 519.0 + ], + [ + 701.0, + 518.0 + ] + ], + "center_px": [ + 706.75, + 503.5 + ], + "area_px": 286.5 + }, + { + "image_points_px": [ + [ + 910.0, + 602.0 + ], + [ + 925.0, + 603.0 + ], + [ + 925.0, + 627.0 + ], + [ + 910.0, + 625.0 + ] + ], + "center_px": [ + 917.5, + 614.25 + ], + "area_px": 352.5 + }, + { + "image_points_px": [ + [ + 248.0, + 181.0 + ], + [ + 261.0, + 182.0 + ], + [ + 255.0, + 206.0 + ], + [ + 242.0, + 206.0 + ] + ], + "center_px": [ + 251.5, + 193.75 + ], + "area_px": 321.5 + }, + { + "image_points_px": [ + [ + 842.0, + 622.0 + ], + [ + 869.0, + 629.0 + ], + [ + 869.0, + 638.0 + ], + [ + 844.0, + 633.0 + ] + ], + "center_px": [ + 856.0, + 630.5 + ], + "area_px": 254.0 + }, + { + "image_points_px": [ + [ + 901.0, + 494.0 + ], + [ + 904.0, + 517.0 + ], + [ + 902.0, + 530.0 + ], + [ + 899.0, + 522.0 + ] + ], + "center_px": [ + 901.5, + 515.75 + ], + "area_px": 92.5 + }, + { + "image_points_px": [ + [ + 368.0, + 64.0 + ], + [ + 381.0, + 64.0 + ], + [ + 380.0, + 86.0 + ], + [ + 364.0, + 85.0 + ] + ], + "center_px": [ + 373.25, + 74.75 + ], + "area_px": 313.0 + }, + { + "image_points_px": [ + [ + 757.0, + 242.0 + ], + [ + 756.0, + 267.0 + ], + [ + 747.0, + 274.0 + ], + [ + 747.0, + 253.0 + ] + ], + "center_px": [ + 751.75, + 259.0 + ], + "area_px": 214.0 + }, + { + "image_points_px": [ + [ + 269.0, + 84.0 + ], + [ + 282.0, + 84.0 + ], + [ + 277.0, + 106.0 + ], + [ + 264.0, + 106.0 + ] + ], + "center_px": [ + 273.0, + 95.0 + ], + "area_px": 286.0 + }, + { + "image_points_px": [ + [ + 903.0, + 479.0 + ], + [ + 923.0, + 479.0 + ], + [ + 924.0, + 495.0 + ], + [ + 904.0, + 494.0 + ] + ], + "center_px": [ + 913.5, + 486.75 + ], + "area_px": 309.5 + }, + { + "image_points_px": [ + [ + 1248.0, + 588.0 + ], + [ + 1266.0, + 586.0 + ], + [ + 1272.0, + 600.0 + ], + [ + 1253.0, + 602.0 + ] + ], + "center_px": [ + 1259.75, + 594.0 + ], + "area_px": 270.0 + }, + { + "image_points_px": [ + [ + 600.0, + 412.0 + ], + [ + 602.0, + 394.0 + ], + [ + 622.0, + 397.0 + ], + [ + 612.0, + 408.0 + ] + ], + "center_px": [ + 609.0, + 402.75 + ], + "area_px": 229.0 + }, + { + "image_points_px": [ + [ + 865.0, + 605.0 + ], + [ + 877.0, + 606.0 + ], + [ + 892.0, + 616.0 + ], + [ + 886.0, + 617.0 + ] + ], + "center_px": [ + 880.0, + 611.0 + ], + "area_px": 99.0 + }, + { + "image_points_px": [ + [ + 714.0, + 134.0 + ], + [ + 719.0, + 131.0 + ], + [ + 738.0, + 132.0 + ], + [ + 741.0, + 135.0 + ] + ], + "center_px": [ + 728.0, + 133.0 + ], + "area_px": 70.0 + }, + { + "image_points_px": [ + [ + 625.0, + 125.0 + ], + [ + 626.0, + 120.0 + ], + [ + 647.0, + 121.0 + ], + [ + 647.0, + 126.0 + ] + ], + "center_px": [ + 636.25, + 123.0 + ], + "area_px": 108.0 + }, + { + "image_points_px": [ + [ + 861.0, + 526.0 + ], + [ + 865.0, + 532.0 + ], + [ + 866.0, + 548.0 + ], + [ + 861.0, + 540.0 + ] + ], + "center_px": [ + 863.25, + 536.5 + ], + "area_px": 64.0 + }, + { + "image_points_px": [ + [ + 756.0, + 283.0 + ], + [ + 755.0, + 286.0 + ], + [ + 742.0, + 299.0 + ], + [ + 741.0, + 293.0 + ] + ], + "center_px": [ + 748.5, + 290.25 + ], + "area_px": 63.0 + }, + { + "image_points_px": [ + [ + 862.0, + 361.0 + ], + [ + 879.0, + 365.0 + ], + [ + 882.0, + 369.0 + ], + [ + 876.0, + 370.0 + ] + ], + "center_px": [ + 874.75, + 366.25 + ], + "area_px": 62.0 + }, + { + "image_points_px": [ + [ + 1177.0, + 382.0 + ], + [ + 1193.0, + 381.0 + ], + [ + 1199.0, + 383.0 + ], + [ + 1189.0, + 384.0 + ] + ], + "center_px": [ + 1189.5, + 382.5 + ], + "area_px": 35.0 + }, + { + "image_points_px": [ + [ + 707.0, + 493.0 + ], + [ + 708.0, + 513.0 + ], + [ + 706.0, + 514.0 + ], + [ + 705.0, + 496.0 + ] + ], + "center_px": [ + 706.5, + 504.0 + ], + "area_px": 40.0 + }, + { + "image_points_px": [ + [ + 393.0, + 351.0 + ], + [ + 401.0, + 350.0 + ], + [ + 414.0, + 352.0 + ], + [ + 404.0, + 353.0 + ] + ], + "center_px": [ + 403.0, + 351.5 + ], + "area_px": 30.0 + }, + { + "image_points_px": [ + [ + 683.0, + 423.0 + ], + [ + 701.0, + 422.0 + ], + [ + 702.0, + 424.0 + ], + [ + 688.0, + 425.0 + ] + ], + "center_px": [ + 693.5, + 423.5 + ], + "area_px": 35.0 + } + ] +} \ No newline at end of file diff --git a/pipeline/render_1b_aruco_detection_camera_pose.json b/pipeline/render_1b_aruco_detection_camera_pose.json new file mode 100644 index 0000000..f09cac8 --- /dev/null +++ b/pipeline/render_1b_aruco_detection_camera_pose.json @@ -0,0 +1,169 @@ +{ + "schema_version": "1.0", + "created_utc": "2026-05-28T14:19:28Z", + "source_detection_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1b_aruco_detection.json", + "camera_pose": { + "rvec_world_to_camera": [ + -3.4928668596759627, + -0.11465199431472019, + 0.06891346455898573 + ], + "tvec_world_to_camera_mm": [ + -218.99274893021345, + -66.7998001007427, + 991.433880749304 + ], + "R_world_to_camera": [ + [ + 0.99716158725115, + 0.07035390512768569, + -0.026815982996183867 + ], + [ + 0.0566912850549916, + -0.9359657619679411, + -0.3474970368543954 + ], + [ + -0.04954661552094863, + 0.34499046429873387, + -0.9372975581070098 + ] + ], + "T_camera_world": [ + [ + 0.99716158725115, + 0.07035390512768569, + -0.026815982996183867, + -218.99274893021345 + ], + [ + 0.0566912850549916, + -0.9359657619679411, + -0.3474970368543954, + -66.7998001007427 + ], + [ + -0.04954661552094863, + 0.34499046429873387, + -0.9372975581070098, + 991.433880749304 + ], + [ + 0.0, + 0.0, + 0.0, + 1.0 + ] + ], + "R_camera_to_world": [ + [ + 0.99716158725115, + 0.0566912850549916, + -0.04954661552094863 + ], + [ + 0.07035390512768569, + -0.9359657619679411, + 0.34499046429873387 + ], + [ + -0.026815982996183867, + -0.3474970368543954, + -0.9372975581070098 + ] + ], + "t_camera_in_world_mm": [ + 271.2803169327997, + -389.1505655599084, + 900.1833170218047 + ], + "T_world_camera": [ + [ + 0.99716158725115, + 0.0566912850549916, + -0.04954661552094863, + 271.2803169327997 + ], + [ + 0.07035390512768569, + -0.9359657619679411, + 0.34499046429873387, + -389.1505655599084 + ], + [ + -0.026815982996183867, + -0.3474970368543954, + -0.9372975581070098, + 900.1833170218047 + ], + [ + 0.0, + 0.0, + 0.0, + 1.0 + ] + ], + "statistics": { + "rmse_px": 0.9028284747812563, + "mean_px": 0.7517926037815363, + "median_px": 0.87428115526563, + "max_px": 1.5028790321047885, + "per_corner_errors_px": [ + 0.11338351412627667, + 0.7806424610163631, + 0.13345378642964098, + 1.1182055161944655, + 1.5028790321047885, + 0.967919849514897, + 1.1773769846431092, + 0.22047968622274988 + ], + "per_corner_residuals_px": [ + [ + -0.08913552529247681, + -0.07007623995662016 + ], + [ + -0.7008974849087508, + -0.343722806328401 + ], + [ + -0.021934401844987406, + 0.13163888152104164 + ], + [ + 1.012165401384209, + 0.4752944105377992 + ], + [ + 1.4812157895764813, + 0.254254144213121 + ], + [ + -0.9440788085447593, + 0.21350418811266536 + ], + [ + -0.7765629048541882, + -0.8849670156405409 + ], + [ + 0.03208204880576204, + 0.2181330653094733 + ] + ], + "num_correspondences": 8, + "num_inliers": 5, + "used_marker_ids": [ + 210, + 215 + ] + }, + "input": { + "detection_image_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1b.png", + "camera_id": "cam1", + "marker_dictionary": "DICT_4X4_250" + } + } +} \ No newline at end of file diff --git a/pipeline/render_1c.png b/pipeline/render_1c.png new file mode 100644 index 0000000..b3de365 Binary files /dev/null and b/pipeline/render_1c.png differ diff --git a/pipeline/render_1c_aruco_detection.json b/pipeline/render_1c_aruco_detection.json new file mode 100644 index 0000000..7abcea3 --- /dev/null +++ b/pipeline/render_1c_aruco_detection.json @@ -0,0 +1,8904 @@ +{ + "schema_version": "1.0", + "created_utc": "2026-05-28T14:19:27Z", + "vision_config": { + "MarkerType": "DICT_4X4_250", + "MarkerSize": 0.025 + }, + "camera": { + "camera_id": "cam1", + "intrinsics_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render.npz", + "camera_matrix": [ + [ + 1777.77783203125, + 0.0, + 640.0 + ], + [ + 0.0, + 1500.0, + 360.0 + ], + [ + 0.0, + 0.0, + 1.0 + ] + ], + "distortion_coefficients": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ] + }, + "image": { + "image_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1c.png", + "image_sha256": "8a748927859a08f1bd9ceddef730e9035a42bd892a0a9241977eeba56c3cfa18", + "width_px": 1280, + "height_px": 720 + }, + "aruco": { + "dictionary": "DICT_4X4_250", + "num_detected_markers": 7, + "num_rejected_candidates": 339 + }, + "detections": [ + { + "observation_id": "42546de4-23fc-497d-a4b8-7e3b5c317cd5", + "type": "aruco", + "marker_id": 102, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 759.0, + 512.0 + ], + [ + 856.0, + 514.0 + ], + [ + 828.0, + 580.0 + ], + [ + 728.0, + 575.0 + ] + ], + "center_px": [ + 792.75, + 545.25 + ], + "quality": { + "area_px": 6456.5, + "perimeter_px": 339.0532913208008, + "sharpness": { + "laplacian_var": 1746.7626307459584 + }, + "contrast": { + "p05": 15.0, + "p95": 184.0, + "dynamic_range": 169.0, + "mean_gray": 98.22575406032483, + "std_gray": 80.16100003153355 + }, + "geometry": { + "distance_to_center_norm": 0.3269830048084259, + "distance_to_border_px": 140.0 + }, + "edge_ratio": 1.4259974156489281, + "edge_lengths_px": [ + 97.02061462402344, + 71.69379425048828, + 100.12492370605469, + 70.21395874023438 + ] + }, + "confidence": 0.7012635429952238 + }, + { + "observation_id": "6032f35e-1d39-49f1-8b05-160df4253252", + "type": "aruco", + "marker_id": 122, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 940.0, + 361.0 + ], + [ + 1014.0, + 415.0 + ], + [ + 996.0, + 469.0 + ], + [ + 918.0, + 412.0 + ] + ], + "center_px": [ + 967.0, + 414.25 + ], + "quality": { + "area_px": 5100.0, + "perimeter_px": 300.67908477783203, + "sharpness": { + "laplacian_var": 850.8717661526819 + }, + "contrast": { + "p05": 8.0, + "p95": 146.0, + "dynamic_range": 138.0, + "mean_gray": 46.12199413489736, + "std_gray": 57.67161372334323 + }, + "geometry": { + "distance_to_center_norm": 0.45140743255615234, + "distance_to_border_px": 251.0 + }, + "edge_ratio": 1.7393341824971433, + "edge_lengths_px": [ + 91.60785675048828, + 56.920997619628906, + 96.60745239257812, + 55.54277801513672 + ] + }, + "confidence": 0.5749326438029929 + }, + { + "observation_id": "efc9d683-cf6e-4f5e-bf08-a48e7831174e", + "type": "aruco", + "marker_id": 243, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 656.0, + 185.0 + ], + [ + 728.0, + 199.0 + ], + [ + 714.0, + 275.0 + ], + [ + 642.0, + 260.0 + ] + ], + "center_px": [ + 685.0, + 229.75 + ], + "quality": { + "area_px": 5639.0, + "perimeter_px": 300.4685821533203, + "sharpness": { + "laplacian_var": 1086.9278379738284 + }, + "contrast": { + "p05": 65.0, + "p95": 193.0, + "dynamic_range": 128.0, + "mean_gray": 106.54448017148982, + "std_gray": 57.33337761476221 + }, + "geometry": { + "distance_to_center_norm": 0.1876671463251114, + "distance_to_border_px": 185.0 + }, + "edge_ratio": 1.0535830709016873, + "edge_lengths_px": [ + 73.34848022460938, + 77.27871704101562, + 73.54590606689453, + 76.29547882080078 + ] + }, + "confidence": 0.9491420540234864 + }, + { + "observation_id": "d325590b-19cf-490b-8034-1de37cc026d3", + "type": "aruco", + "marker_id": 246, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 959.0, + 163.0 + ], + [ + 1037.0, + 176.0 + ], + [ + 1022.0, + 213.0 + ], + [ + 942.0, + 198.0 + ] + ], + "center_px": [ + 990.0, + 187.5 + ], + "quality": { + "area_px": 3068.0, + "perimeter_px": 239.3050994873047, + "sharpness": { + "laplacian_var": 1570.9195771097613 + }, + "contrast": { + "p05": 12.0, + "p95": 173.0, + "dynamic_range": 161.0, + "mean_gray": 57.680861478218304, + "std_gray": 67.95958432161584 + }, + "geometry": { + "distance_to_center_norm": 0.531389057636261, + "distance_to_border_px": 163.0 + }, + "edge_ratio": 2.0918474719224776, + "edge_lengths_px": [ + 79.07591247558594, + 39.924930572509766, + 81.39410400390625, + 38.910152435302734 + ] + }, + "confidence": 0.4780463267147134 + }, + { + "observation_id": "fabdc47b-250c-4fc2-83d2-6393801f420c", + "type": "aruco", + "marker_id": 247, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 846.0, + 143.0 + ], + [ + 920.0, + 155.0 + ], + [ + 902.0, + 191.0 + ], + [ + 825.0, + 177.0 + ] + ], + "center_px": [ + 873.25, + 166.5 + ], + "quality": { + "area_px": 2896.0, + "perimeter_px": 233.44074630737305, + "sharpness": { + "laplacian_var": 2316.348091048046 + }, + "contrast": { + "p05": 13.0, + "p95": 174.0, + "dynamic_range": 161.0, + "mean_gray": 87.36540429887411, + "std_gray": 74.86083677714068 + }, + "geometry": { + "distance_to_center_norm": 0.41272374987602234, + "distance_to_border_px": 143.0 + }, + "edge_ratio": 1.958396418454695, + "edge_lengths_px": [ + 74.96665954589844, + 40.24922180175781, + 78.26238250732422, + 39.96248245239258 + ] + }, + "confidence": 0.5106218488640142 + }, + { + "observation_id": "d44cf9ae-09cd-4be5-87b0-27137bf0249e", + "type": "aruco", + "marker_id": 214, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 1072.0, + 532.0 + ], + [ + 1130.0, + 546.0 + ], + [ + 1122.0, + 583.0 + ], + [ + 1062.0, + 568.0 + ] + ], + "center_px": [ + 1096.5, + 557.25 + ], + "quality": { + "area_px": 2284.0, + "perimeter_px": 196.7303924560547, + "sharpness": { + "laplacian_var": 1314.0889431615756 + }, + "contrast": { + "p05": 9.0, + "p95": 140.0, + "dynamic_range": 131.0, + "mean_gray": 69.38716082064857, + "std_gray": 60.24298092811457 + }, + "geometry": { + "distance_to_center_norm": 0.6772311925888062, + "distance_to_border_px": 137.0 + }, + "edge_ratio": 1.655285901037602, + "edge_lengths_px": [ + 59.66573715209961, + 37.85498809814453, + 61.84658432006836, + 37.36308288574219 + ] + }, + "confidence": 0.6041252446922665 + }, + { + "observation_id": "e20bc567-22b3-4fd1-aafd-2be185f0db54", + "type": "aruco", + "marker_id": 210, + "marker_size_m": 0.025, + "image_points_px": [ + [ + 371.0, + 383.0 + ], + [ + 417.0, + 394.0 + ], + [ + 394.0, + 422.0 + ], + [ + 347.0, + 411.0 + ] + ], + "center_px": [ + 382.25, + 402.5 + ], + "quality": { + "area_px": 1560.5, + "perimeter_px": 168.68052673339844, + "sharpness": { + "laplacian_var": 2842.0926549741707 + }, + "contrast": { + "p05": 17.0, + "p95": 179.0, + "dynamic_range": 162.0, + "mean_gray": 74.39889196675901, + "std_gray": 70.28614302190718 + }, + "geometry": { + "distance_to_center_norm": 0.3557531535625458, + "distance_to_border_px": 298.0 + }, + "edge_ratio": 1.3321269451115116, + "edge_lengths_px": [ + 47.29693603515625, + 36.2353401184082, + 48.27007293701172, + 36.878177642822266 + ] + }, + "confidence": 0.7506792079160973 + } + ], + "rejected_candidates": [ + { + "image_points_px": [ + [ + 194.0, + 191.0 + ], + [ + 177.0, + 206.0 + ], + [ + 50.0, + 221.0 + ], + [ + 69.0, + 206.0 + ] + ], + "center_px": [ + 122.5, + 206.0 + ], + "area_px": 1620.0 + }, + { + "image_points_px": [ + [ + 884.0, + 278.0 + ], + [ + 860.0, + 326.0 + ], + [ + 829.0, + 343.0 + ], + [ + 841.0, + 311.0 + ] + ], + "center_px": [ + 853.5, + 314.5 + ], + "area_px": 1030.0 + }, + { + "image_points_px": [ + [ + 164.0, + 666.0 + ], + [ + 205.0, + 678.0 + ], + [ + 178.0, + 711.0 + ], + [ + 137.0, + 698.0 + ] + ], + "center_px": [ + 171.0, + 688.25 + ], + "area_px": 1670.0 + }, + { + "image_points_px": [ + [ + 316.0, + 671.0 + ], + [ + 358.0, + 683.0 + ], + [ + 335.0, + 716.0 + ], + [ + 293.0, + 703.0 + ] + ], + "center_px": [ + 325.5, + 693.25 + ], + "area_px": 1652.5 + }, + { + "image_points_px": [ + [ + 82.0, + 642.0 + ], + [ + 121.0, + 653.0 + ], + [ + 94.0, + 685.0 + ], + [ + 54.0, + 673.0 + ] + ], + "center_px": [ + 87.75, + 663.25 + ], + "area_px": 1560.5 + }, + { + "image_points_px": [ + [ + 382.0, + 651.0 + ], + [ + 424.0, + 662.0 + ], + [ + 403.0, + 694.0 + ], + [ + 360.0, + 682.0 + ] + ], + "center_px": [ + 392.25, + 672.25 + ], + "area_px": 1586.0 + }, + { + "image_points_px": [ + [ + 534.0, + 655.0 + ], + [ + 577.0, + 667.0 + ], + [ + 559.0, + 699.0 + ], + [ + 515.0, + 687.0 + ] + ], + "center_px": [ + 546.25, + 677.0 + ], + "area_px": 1614.0 + }, + { + "image_points_px": [ + [ + 232.0, + 646.0 + ], + [ + 272.0, + 658.0 + ], + [ + 248.0, + 689.0 + ], + [ + 207.0, + 677.0 + ] + ], + "center_px": [ + 239.75, + 667.5 + ], + "area_px": 1549.5 + }, + { + "image_points_px": [ + [ + 298.0, + 627.0 + ], + [ + 339.0, + 638.0 + ], + [ + 316.0, + 669.0 + ], + [ + 274.0, + 657.0 + ] + ], + "center_px": [ + 306.75, + 647.75 + ], + "area_px": 1536.0 + }, + { + "image_points_px": [ + [ + 150.0, + 622.0 + ], + [ + 189.0, + 633.0 + ], + [ + 164.0, + 664.0 + ], + [ + 124.0, + 652.0 + ] + ], + "center_px": [ + 156.75, + 642.75 + ], + "area_px": 1498.0 + }, + { + "image_points_px": [ + [ + 447.0, + 631.0 + ], + [ + 488.0, + 643.0 + ], + [ + 469.0, + 674.0 + ], + [ + 426.0, + 662.0 + ] + ], + "center_px": [ + 457.5, + 652.5 + ], + "area_px": 1542.0 + }, + { + "image_points_px": [ + [ + 70.0, + 600.0 + ], + [ + 109.0, + 610.0 + ], + [ + 81.0, + 640.0 + ], + [ + 43.0, + 628.0 + ] + ], + "center_px": [ + 75.75, + 619.5 + ], + "area_px": 1419.0 + }, + { + "image_points_px": [ + [ + 216.0, + 604.0 + ], + [ + 255.0, + 614.0 + ], + [ + 231.0, + 644.0 + ], + [ + 191.0, + 633.0 + ] + ], + "center_px": [ + 223.25, + 623.75 + ], + "area_px": 1422.5 + }, + { + "image_points_px": [ + [ + 362.0, + 608.0 + ], + [ + 403.0, + 619.0 + ], + [ + 382.0, + 649.0 + ], + [ + 341.0, + 637.0 + ] + ], + "center_px": [ + 372.0, + 628.25 + ], + "area_px": 1451.0 + }, + { + "image_points_px": [ + [ + 281.0, + 585.0 + ], + [ + 320.0, + 596.0 + ], + [ + 298.0, + 625.0 + ], + [ + 257.0, + 614.0 + ] + ], + "center_px": [ + 289.0, + 605.0 + ], + "area_px": 1413.0 + }, + { + "image_points_px": [ + [ + 60.0, + 559.0 + ], + [ + 97.0, + 569.0 + ], + [ + 71.0, + 597.0 + ], + [ + 33.0, + 587.0 + ] + ], + "center_px": [ + 65.25, + 578.0 + ], + "area_px": 1315.0 + }, + { + "image_points_px": [ + [ + 137.0, + 581.0 + ], + [ + 174.0, + 591.0 + ], + [ + 150.0, + 620.0 + ], + [ + 111.0, + 609.0 + ] + ], + "center_px": [ + 143.0, + 600.25 + ], + "area_px": 1345.5 + }, + { + "image_points_px": [ + [ + 201.0, + 563.0 + ], + [ + 239.0, + 573.0 + ], + [ + 216.0, + 601.0 + ], + [ + 177.0, + 591.0 + ] + ], + "center_px": [ + 208.25, + 582.0 + ], + "area_px": 1313.0 + }, + { + "image_points_px": [ + [ + 124.0, + 542.0 + ], + [ + 161.0, + 552.0 + ], + [ + 136.0, + 579.0 + ], + [ + 99.0, + 569.0 + ] + ], + "center_px": [ + 130.0, + 560.5 + ], + "area_px": 1249.0 + }, + { + "image_points_px": [ + [ + 23.0, + 547.0 + ], + [ + 49.0, + 521.0 + ], + [ + 85.0, + 530.0 + ], + [ + 60.0, + 557.0 + ] + ], + "center_px": [ + 54.25, + 538.75 + ], + "area_px": 1209.5 + }, + { + "image_points_px": [ + [ + 163.0, + 551.0 + ], + [ + 187.0, + 525.0 + ], + [ + 224.0, + 534.0 + ], + [ + 201.0, + 561.0 + ] + ], + "center_px": [ + 193.75, + 542.75 + ], + "area_px": 1217.0 + }, + { + "image_points_px": [ + [ + 87.0, + 530.0 + ], + [ + 112.0, + 505.0 + ], + [ + 148.0, + 514.0 + ], + [ + 124.0, + 539.0 + ] + ], + "center_px": [ + 117.75, + 522.0 + ], + "area_px": 1133.0 + }, + { + "image_points_px": [ + [ + 150.0, + 513.0 + ], + [ + 173.0, + 489.0 + ], + [ + 210.0, + 498.0 + ], + [ + 186.0, + 523.0 + ] + ], + "center_px": [ + 179.75, + 505.75 + ], + "area_px": 1117.5 + }, + { + "image_points_px": [ + [ + 524.0, + 516.0 + ], + [ + 563.0, + 525.0 + ], + [ + 546.0, + 552.0 + ], + [ + 507.0, + 542.0 + ] + ], + "center_px": [ + 535.0, + 533.75 + ], + "area_px": 1195.0 + }, + { + "image_points_px": [ + [ + 14.0, + 510.0 + ], + [ + 39.0, + 485.0 + ], + [ + 74.0, + 494.0 + ], + [ + 49.0, + 519.0 + ] + ], + "center_px": [ + 44.0, + 502.0 + ], + "area_px": 1100.0 + }, + { + "image_points_px": [ + [ + 77.0, + 493.0 + ], + [ + 101.0, + 469.0 + ], + [ + 136.0, + 478.0 + ], + [ + 112.0, + 502.0 + ] + ], + "center_px": [ + 106.5, + 485.5 + ], + "area_px": 1056.0 + }, + { + "image_points_px": [ + [ + 5.0, + 474.0 + ], + [ + 29.0, + 451.0 + ], + [ + 64.0, + 459.0 + ], + [ + 39.0, + 483.0 + ] + ], + "center_px": [ + 34.25, + 466.75 + ], + "area_px": 1019.0 + }, + { + "image_points_px": [ + [ + 211.0, + 497.0 + ], + [ + 233.0, + 473.0 + ], + [ + 268.0, + 481.0 + ], + [ + 247.0, + 506.0 + ] + ], + "center_px": [ + 239.75, + 489.25 + ], + "area_px": 1052.5 + }, + { + "image_points_px": [ + [ + 138.0, + 477.0 + ], + [ + 161.0, + 454.0 + ], + [ + 196.0, + 463.0 + ], + [ + 174.0, + 486.0 + ] + ], + "center_px": [ + 167.25, + 470.0 + ], + "area_px": 1019.0 + }, + { + "image_points_px": [ + [ + 198.0, + 462.0 + ], + [ + 220.0, + 439.0 + ], + [ + 255.0, + 447.0 + ], + [ + 233.0, + 471.0 + ] + ], + "center_px": [ + 226.5, + 454.75 + ], + "area_px": 1009.5 + }, + { + "image_points_px": [ + [ + 66.0, + 458.0 + ], + [ + 90.0, + 436.0 + ], + [ + 124.0, + 444.0 + ], + [ + 101.0, + 467.0 + ] + ], + "center_px": [ + 95.25, + 451.25 + ], + "area_px": 976.0 + }, + { + "image_points_px": [ + [ + 126.0, + 443.0 + ], + [ + 149.0, + 421.0 + ], + [ + 183.0, + 429.0 + ], + [ + 161.0, + 452.0 + ] + ], + "center_px": [ + 154.75, + 436.25 + ], + "area_px": 967.5 + }, + { + "image_points_px": [ + [ + 56.0, + 425.0 + ], + [ + 79.0, + 404.0 + ], + [ + 113.0, + 411.0 + ], + [ + 90.0, + 433.0 + ] + ], + "center_px": [ + 84.5, + 418.25 + ], + "area_px": 903.5 + }, + { + "image_points_px": [ + [ + 185.0, + 429.0 + ], + [ + 206.0, + 407.0 + ], + [ + 240.0, + 415.0 + ], + [ + 220.0, + 437.0 + ] + ], + "center_px": [ + 212.75, + 422.0 + ], + "area_px": 923.0 + }, + { + "image_points_px": [ + [ + 257.0, + 447.0 + ], + [ + 278.0, + 424.0 + ], + [ + 311.0, + 432.0 + ], + [ + 291.0, + 455.0 + ] + ], + "center_px": [ + 284.25, + 439.5 + ], + "area_px": 934.5 + }, + { + "image_points_px": [ + [ + 115.0, + 411.0 + ], + [ + 137.0, + 390.0 + ], + [ + 170.0, + 397.0 + ], + [ + 149.0, + 419.0 + ] + ], + "center_px": [ + 142.75, + 404.25 + ], + "area_px": 881.5 + }, + { + "image_points_px": [ + [ + 172.0, + 397.0 + ], + [ + 194.0, + 376.0 + ], + [ + 227.0, + 384.0 + ], + [ + 205.0, + 405.0 + ] + ], + "center_px": [ + 199.5, + 390.5 + ], + "area_px": 869.0 + }, + { + "image_points_px": [ + [ + 579.0, + 666.0 + ], + [ + 588.0, + 650.0 + ], + [ + 632.0, + 661.0 + ], + [ + 623.0, + 678.0 + ] + ], + "center_px": [ + 605.5, + 663.75 + ], + "area_px": 829.5 + }, + { + "image_points_px": [ + [ + 490.0, + 642.0 + ], + [ + 500.0, + 626.0 + ], + [ + 544.0, + 637.0 + ], + [ + 533.0, + 653.0 + ] + ], + "center_px": [ + 516.75, + 639.5 + ], + "area_px": 811.5 + }, + { + "image_points_px": [ + [ + 243.0, + 414.0 + ], + [ + 263.0, + 393.0 + ], + [ + 297.0, + 401.0 + ], + [ + 277.0, + 422.0 + ] + ], + "center_px": [ + 270.0, + 407.5 + ], + "area_px": 874.0 + }, + { + "image_points_px": [ + [ + 104.0, + 380.0 + ], + [ + 126.0, + 360.0 + ], + [ + 159.0, + 367.0 + ], + [ + 137.0, + 388.0 + ] + ], + "center_px": [ + 131.5, + 373.75 + ], + "area_px": 841.5 + }, + { + "image_points_px": [ + [ + 47.0, + 394.0 + ], + [ + 70.0, + 373.0 + ], + [ + 102.0, + 381.0 + ], + [ + 80.0, + 401.0 + ] + ], + "center_px": [ + 74.75, + 387.25 + ], + "area_px": 835.0 + }, + { + "image_points_px": [ + [ + 1204.0, + 401.0 + ], + [ + 1244.0, + 409.0 + ], + [ + 1241.0, + 431.0 + ], + [ + 1200.0, + 423.0 + ] + ], + "center_px": [ + 1222.25, + 416.0 + ], + "area_px": 919.0 + }, + { + "image_points_px": [ + [ + 229.0, + 383.0 + ], + [ + 248.0, + 363.0 + ], + [ + 282.0, + 370.0 + ], + [ + 262.0, + 391.0 + ] + ], + "center_px": [ + 255.25, + 376.75 + ], + "area_px": 833.0 + }, + { + "image_points_px": [ + [ + 38.0, + 363.0 + ], + [ + 61.0, + 344.0 + ], + [ + 92.0, + 351.0 + ], + [ + 70.0, + 371.0 + ] + ], + "center_px": [ + 65.25, + 357.25 + ], + "area_px": 783.0 + }, + { + "image_points_px": [ + [ + 161.0, + 367.0 + ], + [ + 181.0, + 347.0 + ], + [ + 214.0, + 354.0 + ], + [ + 193.0, + 374.0 + ] + ], + "center_px": [ + 187.25, + 360.5 + ], + "area_px": 793.5 + }, + { + "image_points_px": [ + [ + 405.0, + 618.0 + ], + [ + 416.0, + 602.0 + ], + [ + 457.0, + 613.0 + ], + [ + 446.0, + 629.0 + ] + ], + "center_px": [ + 431.0, + 615.5 + ], + "area_px": 777.0 + }, + { + "image_points_px": [ + [ + 299.0, + 400.0 + ], + [ + 318.0, + 379.0 + ], + [ + 350.0, + 386.0 + ], + [ + 332.0, + 408.0 + ] + ], + "center_px": [ + 324.75, + 393.25 + ], + "area_px": 837.5 + }, + { + "image_points_px": [ + [ + 284.0, + 370.0 + ], + [ + 303.0, + 350.0 + ], + [ + 336.0, + 357.0 + ], + [ + 318.0, + 377.0 + ] + ], + "center_px": [ + 310.25, + 363.5 + ], + "area_px": 799.5 + }, + { + "image_points_px": [ + [ + 95.0, + 350.0 + ], + [ + 116.0, + 331.0 + ], + [ + 148.0, + 338.0 + ], + [ + 126.0, + 358.0 + ] + ], + "center_px": [ + 121.25, + 344.25 + ], + "area_px": 775.5 + }, + { + "image_points_px": [ + [ + 1122.0, + 385.0 + ], + [ + 1161.0, + 392.0 + ], + [ + 1157.0, + 413.0 + ], + [ + 1117.0, + 405.0 + ] + ], + "center_px": [ + 1139.25, + 398.75 + ], + "area_px": 843.5 + }, + { + "image_points_px": [ + [ + 322.0, + 595.0 + ], + [ + 333.0, + 580.0 + ], + [ + 374.0, + 591.0 + ], + [ + 362.0, + 606.0 + ] + ], + "center_px": [ + 347.75, + 593.0 + ], + "area_px": 734.0 + }, + { + "image_points_px": [ + [ + 216.0, + 353.0 + ], + [ + 236.0, + 334.0 + ], + [ + 268.0, + 341.0 + ], + [ + 248.0, + 361.0 + ] + ], + "center_px": [ + 242.0, + 347.25 + ], + "area_px": 774.0 + }, + { + "image_points_px": [ + [ + 1213.0, + 358.0 + ], + [ + 1252.0, + 365.0 + ], + [ + 1249.0, + 385.0 + ], + [ + 1209.0, + 378.0 + ] + ], + "center_px": [ + 1230.75, + 371.5 + ], + "area_px": 814.5 + }, + { + "image_points_px": [ + [ + 1089.0, + 355.0 + ], + [ + 1127.0, + 362.0 + ], + [ + 1122.0, + 382.0 + ], + [ + 1083.0, + 375.0 + ] + ], + "center_px": [ + 1105.25, + 368.5 + ], + "area_px": 808.5 + }, + { + "image_points_px": [ + [ + 30.0, + 335.0 + ], + [ + 52.0, + 316.0 + ], + [ + 82.0, + 323.0 + ], + [ + 60.0, + 342.0 + ] + ], + "center_px": [ + 56.0, + 329.0 + ], + "area_px": 724.0 + }, + { + "image_points_px": [ + [ + 1168.0, + 371.0 + ], + [ + 1206.0, + 378.0 + ], + [ + 1204.0, + 398.0 + ], + [ + 1165.0, + 392.0 + ] + ], + "center_px": [ + 1185.75, + 384.75 + ], + "area_px": 805.5 + }, + { + "image_points_px": [ + [ + 150.0, + 338.0 + ], + [ + 170.0, + 319.0 + ], + [ + 201.0, + 326.0 + ], + [ + 181.0, + 345.0 + ] + ], + "center_px": [ + 175.5, + 332.0 + ], + "area_px": 729.0 + }, + { + "image_points_px": [ + [ + 241.0, + 573.0 + ], + [ + 254.0, + 558.0 + ], + [ + 292.0, + 568.0 + ], + [ + 280.0, + 583.0 + ] + ], + "center_px": [ + 266.75, + 570.5 + ], + "area_px": 702.5 + }, + { + "image_points_px": [ + [ + 203.0, + 325.0 + ], + [ + 223.0, + 307.0 + ], + [ + 254.0, + 313.0 + ], + [ + 235.0, + 332.0 + ] + ], + "center_px": [ + 228.75, + 319.25 + ], + "area_px": 709.5 + }, + { + "image_points_px": [ + [ + 270.0, + 341.0 + ], + [ + 288.0, + 322.0 + ], + [ + 320.0, + 329.0 + ], + [ + 302.0, + 348.0 + ] + ], + "center_px": [ + 295.0, + 335.0 + ], + "area_px": 734.0 + }, + { + "image_points_px": [ + [ + 21.0, + 307.0 + ], + [ + 43.0, + 290.0 + ], + [ + 73.0, + 296.0 + ], + [ + 52.0, + 314.0 + ] + ], + "center_px": [ + 47.25, + 301.75 + ], + "area_px": 673.5 + }, + { + "image_points_px": [ + [ + 85.0, + 322.0 + ], + [ + 106.0, + 304.0 + ], + [ + 136.0, + 310.0 + ], + [ + 116.0, + 329.0 + ] + ], + "center_px": [ + 110.75, + 316.25 + ], + "area_px": 697.5 + }, + { + "image_points_px": [ + [ + 1134.0, + 342.0 + ], + [ + 1172.0, + 349.0 + ], + [ + 1168.0, + 368.0 + ], + [ + 1129.0, + 361.0 + ] + ], + "center_px": [ + 1150.75, + 355.0 + ], + "area_px": 763.0 + }, + { + "image_points_px": [ + [ + 13.0, + 281.0 + ], + [ + 35.0, + 264.0 + ], + [ + 65.0, + 270.0 + ], + [ + 44.0, + 287.0 + ] + ], + "center_px": [ + 39.25, + 275.5 + ], + "area_px": 647.5 + }, + { + "image_points_px": [ + [ + 256.0, + 313.0 + ], + [ + 274.0, + 295.0 + ], + [ + 306.0, + 301.0 + ], + [ + 288.0, + 320.0 + ] + ], + "center_px": [ + 281.0, + 307.25 + ], + "area_px": 709.0 + }, + { + "image_points_px": [ + [ + 1178.0, + 329.0 + ], + [ + 1216.0, + 336.0 + ], + [ + 1212.0, + 356.0 + ], + [ + 1175.0, + 349.0 + ] + ], + "center_px": [ + 1195.25, + 342.5 + ], + "area_px": 774.5 + }, + { + "image_points_px": [ + [ + 76.0, + 295.0 + ], + [ + 96.0, + 278.0 + ], + [ + 127.0, + 284.0 + ], + [ + 106.0, + 302.0 + ] + ], + "center_px": [ + 101.25, + 289.75 + ], + "area_px": 667.0 + }, + { + "image_points_px": [ + [ + 1221.0, + 317.0 + ], + [ + 1259.0, + 324.0 + ], + [ + 1256.0, + 343.0 + ], + [ + 1218.0, + 336.0 + ] + ], + "center_px": [ + 1238.5, + 330.0 + ], + "area_px": 743.0 + }, + { + "image_points_px": [ + [ + 139.0, + 310.0 + ], + [ + 159.0, + 292.0 + ], + [ + 189.0, + 299.0 + ], + [ + 170.0, + 317.0 + ] + ], + "center_px": [ + 164.25, + 304.5 + ], + "area_px": 685.5 + }, + { + "image_points_px": [ + [ + 191.0, + 298.0 + ], + [ + 211.0, + 280.0 + ], + [ + 241.0, + 287.0 + ], + [ + 222.0, + 305.0 + ] + ], + "center_px": [ + 216.25, + 292.5 + ], + "area_px": 685.5 + }, + { + "image_points_px": [ + [ + 1101.0, + 314.0 + ], + [ + 1138.0, + 321.0 + ], + [ + 1133.0, + 340.0 + ], + [ + 1096.0, + 333.0 + ] + ], + "center_px": [ + 1117.0, + 327.0 + ], + "area_px": 738.0 + }, + { + "image_points_px": [ + [ + 128.0, + 284.0 + ], + [ + 148.0, + 267.0 + ], + [ + 178.0, + 273.0 + ], + [ + 159.0, + 290.0 + ] + ], + "center_px": [ + 153.25, + 278.5 + ], + "area_px": 635.5 + }, + { + "image_points_px": [ + [ + 243.0, + 286.0 + ], + [ + 262.0, + 269.0 + ], + [ + 292.0, + 275.0 + ], + [ + 274.0, + 293.0 + ] + ], + "center_px": [ + 267.75, + 280.75 + ], + "area_px": 654.0 + }, + { + "image_points_px": [ + [ + 67.0, + 270.0 + ], + [ + 87.0, + 253.0 + ], + [ + 116.0, + 259.0 + ], + [ + 96.0, + 276.0 + ] + ], + "center_px": [ + 91.5, + 264.5 + ], + "area_px": 613.0 + }, + { + "image_points_px": [ + [ + 180.0, + 272.0 + ], + [ + 198.0, + 256.0 + ], + [ + 229.0, + 262.0 + ], + [ + 211.0, + 278.0 + ] + ], + "center_px": [ + 204.5, + 267.0 + ], + "area_px": 604.0 + }, + { + "image_points_px": [ + [ + 294.0, + 275.0 + ], + [ + 311.0, + 258.0 + ], + [ + 342.0, + 264.0 + ], + [ + 325.0, + 281.0 + ] + ], + "center_px": [ + 318.0, + 269.5 + ], + "area_px": 629.0 + }, + { + "image_points_px": [ + [ + 6.0, + 256.0 + ], + [ + 27.0, + 240.0 + ], + [ + 55.0, + 245.0 + ], + [ + 35.0, + 262.0 + ] + ], + "center_px": [ + 30.75, + 250.75 + ], + "area_px": 583.0 + }, + { + "image_points_px": [ + [ + 1229.0, + 279.0 + ], + [ + 1266.0, + 285.0 + ], + [ + 1263.0, + 303.0 + ], + [ + 1226.0, + 296.0 + ] + ], + "center_px": [ + 1246.0, + 290.75 + ], + "area_px": 667.0 + }, + { + "image_points_px": [ + [ + 231.0, + 261.0 + ], + [ + 248.0, + 245.0 + ], + [ + 279.0, + 250.0 + ], + [ + 261.0, + 267.0 + ] + ], + "center_px": [ + 254.75, + 255.75 + ], + "area_px": 599.5 + }, + { + "image_points_px": [ + [ + 119.0, + 259.0 + ], + [ + 138.0, + 242.0 + ], + [ + 167.0, + 248.0 + ], + [ + 148.0, + 264.0 + ] + ], + "center_px": [ + 143.0, + 253.25 + ], + "area_px": 583.0 + }, + { + "image_points_px": [ + [ + 169.0, + 247.0 + ], + [ + 188.0, + 231.0 + ], + [ + 217.0, + 237.0 + ], + [ + 199.0, + 253.0 + ] + ], + "center_px": [ + 193.25, + 242.0 + ], + "area_px": 583.0 + }, + { + "image_points_px": [ + [ + 58.0, + 245.0 + ], + [ + 78.0, + 229.0 + ], + [ + 106.0, + 234.0 + ], + [ + 86.0, + 251.0 + ] + ], + "center_px": [ + 82.0, + 239.75 + ], + "area_px": 572.0 + }, + { + "image_points_px": [ + [ + 109.0, + 234.0 + ], + [ + 128.0, + 218.0 + ], + [ + 157.0, + 224.0 + ], + [ + 138.0, + 240.0 + ] + ], + "center_px": [ + 133.0, + 229.0 + ], + "area_px": 578.0 + }, + { + "image_points_px": [ + [ + 361.0, + 289.0 + ], + [ + 375.0, + 272.0 + ], + [ + 407.0, + 278.0 + ], + [ + 391.0, + 295.0 + ] + ], + "center_px": [ + 383.5, + 283.5 + ], + "area_px": 617.0 + }, + { + "image_points_px": [ + [ + 1113.0, + 276.0 + ], + [ + 1148.0, + 282.0 + ], + [ + 1144.0, + 300.0 + ], + [ + 1108.0, + 293.0 + ] + ], + "center_px": [ + 1128.25, + 287.75 + ], + "area_px": 650.5 + }, + { + "image_points_px": [ + [ + 1155.0, + 265.0 + ], + [ + 1190.0, + 271.0 + ], + [ + 1187.0, + 288.0 + ], + [ + 1150.0, + 282.0 + ] + ], + "center_px": [ + 1170.5, + 276.5 + ], + "area_px": 636.0 + }, + { + "image_points_px": [ + [ + 281.0, + 250.0 + ], + [ + 298.0, + 234.0 + ], + [ + 328.0, + 240.0 + ], + [ + 311.0, + 256.0 + ] + ], + "center_px": [ + 304.5, + 245.0 + ], + "area_px": 582.0 + }, + { + "image_points_px": [ + [ + 608.0, + 541.0 + ], + [ + 639.0, + 549.0 + ], + [ + 628.0, + 567.0 + ], + [ + 597.0, + 560.0 + ] + ], + "center_px": [ + 618.0, + 554.25 + ], + "area_px": 656.0 + }, + { + "image_points_px": [ + [ + 219.0, + 237.0 + ], + [ + 237.0, + 221.0 + ], + [ + 266.0, + 227.0 + ], + [ + 249.0, + 242.0 + ] + ], + "center_px": [ + 242.75, + 231.75 + ], + "area_px": 553.5 + }, + { + "image_points_px": [ + [ + 393.0, + 252.0 + ], + [ + 409.0, + 236.0 + ], + [ + 439.0, + 242.0 + ], + [ + 424.0, + 258.0 + ] + ], + "center_px": [ + 416.25, + 247.0 + ], + "area_px": 581.0 + }, + { + "image_points_px": [ + [ + 1144.0, + 304.0 + ], + [ + 1180.0, + 309.0 + ], + [ + 1177.0, + 326.0 + ], + [ + 1141.0, + 320.0 + ] + ], + "center_px": [ + 1160.5, + 314.75 + ], + "area_px": 610.5 + }, + { + "image_points_px": [ + [ + 268.0, + 226.0 + ], + [ + 284.0, + 211.0 + ], + [ + 314.0, + 216.0 + ], + [ + 297.0, + 232.0 + ] + ], + "center_px": [ + 290.75, + 221.25 + ], + "area_px": 548.0 + }, + { + "image_points_px": [ + [ + 1124.0, + 240.0 + ], + [ + 1158.0, + 246.0 + ], + [ + 1154.0, + 263.0 + ], + [ + 1119.0, + 257.0 + ] + ], + "center_px": [ + 1138.75, + 251.5 + ], + "area_px": 613.5 + }, + { + "image_points_px": [ + [ + 1187.0, + 292.0 + ], + [ + 1223.0, + 297.0 + ], + [ + 1221.0, + 313.0 + ], + [ + 1185.0, + 308.0 + ] + ], + "center_px": [ + 1204.0, + 302.5 + ], + "area_px": 586.0 + }, + { + "image_points_px": [ + [ + 159.0, + 224.0 + ], + [ + 177.0, + 208.0 + ], + [ + 205.0, + 214.0 + ], + [ + 188.0, + 229.0 + ] + ], + "center_px": [ + 182.25, + 218.75 + ], + "area_px": 538.0 + }, + { + "image_points_px": [ + [ + 42.0, + 198.0 + ], + [ + 61.0, + 184.0 + ], + [ + 89.0, + 189.0 + ], + [ + 69.0, + 204.0 + ] + ], + "center_px": [ + 65.25, + 193.75 + ], + "area_px": 506.0 + }, + { + "image_points_px": [ + [ + 1148.0, + 430.0 + ], + [ + 1170.0, + 426.0 + ], + [ + 1190.0, + 431.0 + ], + [ + 1197.0, + 440.0 + ] + ], + "center_px": [ + 1176.25, + 431.75 + ], + "area_px": 280.5 + }, + { + "image_points_px": [ + [ + 208.0, + 213.0 + ], + [ + 226.0, + 198.0 + ], + [ + 254.0, + 204.0 + ], + [ + 237.0, + 219.0 + ] + ], + "center_px": [ + 231.25, + 208.5 + ], + "area_px": 532.5 + }, + { + "image_points_px": [ + [ + 378.0, + 228.0 + ], + [ + 393.0, + 213.0 + ], + [ + 423.0, + 219.0 + ], + [ + 408.0, + 234.0 + ] + ], + "center_px": [ + 400.5, + 223.5 + ], + "area_px": 540.0 + }, + { + "image_points_px": [ + [ + 1164.0, + 230.0 + ], + [ + 1199.0, + 236.0 + ], + [ + 1195.0, + 252.0 + ], + [ + 1161.0, + 246.0 + ] + ], + "center_px": [ + 1179.75, + 241.0 + ], + "area_px": 573.0 + }, + { + "image_points_px": [ + [ + 425.0, + 218.0 + ], + [ + 439.0, + 203.0 + ], + [ + 469.0, + 208.0 + ], + [ + 455.0, + 224.0 + ] + ], + "center_px": [ + 447.0, + 213.25 + ], + "area_px": 542.0 + }, + { + "image_points_px": [ + [ + 256.0, + 203.0 + ], + [ + 273.0, + 188.0 + ], + [ + 301.0, + 194.0 + ], + [ + 284.0, + 209.0 + ] + ], + "center_px": [ + 278.5, + 198.5 + ], + "area_px": 522.0 + }, + { + "image_points_px": [ + [ + 149.0, + 201.0 + ], + [ + 167.0, + 186.0 + ], + [ + 194.0, + 191.0 + ], + [ + 177.0, + 206.0 + ] + ], + "center_px": [ + 171.75, + 196.0 + ], + "area_px": 500.0 + }, + { + "image_points_px": [ + [ + 435.0, + 518.0 + ], + [ + 445.0, + 500.0 + ], + [ + 475.0, + 507.0 + ], + [ + 463.0, + 525.0 + ] + ], + "center_px": [ + 454.5, + 512.5 + ], + "area_px": 599.0 + }, + { + "image_points_px": [ + [ + 92.0, + 189.0 + ], + [ + 110.0, + 174.0 + ], + [ + 137.0, + 179.0 + ], + [ + 118.0, + 194.0 + ] + ], + "center_px": [ + 114.25, + 184.0 + ], + "area_px": 490.0 + }, + { + "image_points_px": [ + [ + 375.0, + 316.0 + ], + [ + 391.0, + 298.0 + ], + [ + 417.0, + 303.0 + ], + [ + 402.0, + 321.0 + ] + ], + "center_px": [ + 396.25, + 309.5 + ], + "area_px": 554.5 + }, + { + "image_points_px": [ + [ + 244.0, + 181.0 + ], + [ + 260.0, + 167.0 + ], + [ + 289.0, + 172.0 + ], + [ + 273.0, + 186.0 + ] + ], + "center_px": [ + 266.5, + 176.5 + ], + "area_px": 486.0 + }, + { + "image_points_px": [ + [ + 27.0, + 156.0 + ], + [ + 46.0, + 142.0 + ], + [ + 73.0, + 147.0 + ], + [ + 54.0, + 160.0 + ] + ], + "center_px": [ + 50.0, + 151.25 + ], + "area_px": 450.0 + }, + { + "image_points_px": [ + [ + 197.0, + 191.0 + ], + [ + 213.0, + 177.0 + ], + [ + 242.0, + 182.0 + ], + [ + 225.0, + 196.0 + ] + ], + "center_px": [ + 219.25, + 186.5 + ], + "area_px": 481.5 + }, + { + "image_points_px": [ + [ + 364.0, + 205.0 + ], + [ + 378.0, + 191.0 + ], + [ + 408.0, + 196.0 + ], + [ + 393.0, + 211.0 + ] + ], + "center_px": [ + 385.75, + 200.75 + ], + "area_px": 507.5 + }, + { + "image_points_px": [ + [ + 139.0, + 179.0 + ], + [ + 157.0, + 165.0 + ], + [ + 184.0, + 170.0 + ], + [ + 167.0, + 184.0 + ] + ], + "center_px": [ + 161.75, + 174.5 + ], + "area_px": 472.5 + }, + { + "image_points_px": [ + [ + 35.0, + 177.0 + ], + [ + 53.0, + 163.0 + ], + [ + 80.0, + 168.0 + ], + [ + 61.0, + 182.0 + ] + ], + "center_px": [ + 57.25, + 172.5 + ], + "area_px": 463.5 + }, + { + "image_points_px": [ + [ + 83.0, + 167.0 + ], + [ + 100.0, + 154.0 + ], + [ + 128.0, + 158.0 + ], + [ + 110.0, + 172.0 + ] + ], + "center_px": [ + 105.25, + 162.75 + ], + "area_px": 450.0 + }, + { + "image_points_px": [ + [ + 1133.0, + 208.0 + ], + [ + 1167.0, + 212.0 + ], + [ + 1164.0, + 227.0 + ], + [ + 1129.0, + 222.0 + ] + ], + "center_px": [ + 1148.25, + 217.25 + ], + "area_px": 516.0 + }, + { + "image_points_px": [ + [ + 410.0, + 195.0 + ], + [ + 424.0, + 181.0 + ], + [ + 453.0, + 186.0 + ], + [ + 439.0, + 201.0 + ] + ], + "center_px": [ + 431.5, + 190.75 + ], + "area_px": 497.5 + }, + { + "image_points_px": [ + [ + 350.0, + 183.0 + ], + [ + 365.0, + 169.0 + ], + [ + 393.0, + 174.0 + ], + [ + 378.0, + 189.0 + ] + ], + "center_px": [ + 371.5, + 178.75 + ], + "area_px": 488.5 + }, + { + "image_points_px": [ + [ + 1196.0, + 255.0 + ], + [ + 1230.0, + 260.0 + ], + [ + 1229.0, + 274.0 + ], + [ + 1194.0, + 270.0 + ] + ], + "center_px": [ + 1212.25, + 264.75 + ], + "area_px": 507.0 + }, + { + "image_points_px": [ + [ + 1236.0, + 245.0 + ], + [ + 1271.0, + 249.0 + ], + [ + 1269.0, + 264.0 + ], + [ + 1235.0, + 259.0 + ] + ], + "center_px": [ + 1252.75, + 254.25 + ], + "area_px": 507.0 + }, + { + "image_points_px": [ + [ + 130.0, + 158.0 + ], + [ + 148.0, + 144.0 + ], + [ + 174.0, + 149.0 + ], + [ + 157.0, + 163.0 + ] + ], + "center_px": [ + 152.25, + 153.5 + ], + "area_px": 458.5 + }, + { + "image_points_px": [ + [ + 1093.0, + 218.0 + ], + [ + 1126.0, + 222.0 + ], + [ + 1123.0, + 238.0 + ], + [ + 1089.0, + 232.0 + ] + ], + "center_px": [ + 1107.75, + 227.5 + ], + "area_px": 520.0 + }, + { + "image_points_px": [ + [ + 1173.0, + 197.0 + ], + [ + 1207.0, + 202.0 + ], + [ + 1204.0, + 216.0 + ], + [ + 1169.0, + 211.0 + ] + ], + "center_px": [ + 1188.25, + 206.5 + ], + "area_px": 500.5 + }, + { + "image_points_px": [ + [ + 456.0, + 186.0 + ], + [ + 469.0, + 171.0 + ], + [ + 498.0, + 176.0 + ], + [ + 485.0, + 191.0 + ] + ], + "center_px": [ + 477.0, + 181.0 + ], + "area_px": 500.0 + }, + { + "image_points_px": [ + [ + 395.0, + 174.0 + ], + [ + 409.0, + 160.0 + ], + [ + 438.0, + 165.0 + ], + [ + 424.0, + 179.0 + ] + ], + "center_px": [ + 416.5, + 169.5 + ], + "area_px": 476.0 + }, + { + "image_points_px": [ + [ + 186.0, + 169.0 + ], + [ + 203.0, + 156.0 + ], + [ + 230.0, + 160.0 + ], + [ + 214.0, + 174.0 + ] + ], + "center_px": [ + 208.25, + 164.75 + ], + "area_px": 445.5 + }, + { + "image_points_px": [ + [ + 75.0, + 147.0 + ], + [ + 93.0, + 133.0 + ], + [ + 119.0, + 138.0 + ], + [ + 101.0, + 151.0 + ] + ], + "center_px": [ + 97.0, + 142.25 + ], + "area_px": 432.0 + }, + { + "image_points_px": [ + [ + 1212.0, + 187.0 + ], + [ + 1245.0, + 192.0 + ], + [ + 1243.0, + 207.0 + ], + [ + 1209.0, + 201.0 + ] + ], + "center_px": [ + 1227.25, + 196.75 + ], + "area_px": 499.5 + }, + { + "image_points_px": [ + [ + 291.0, + 171.0 + ], + [ + 306.0, + 158.0 + ], + [ + 334.0, + 163.0 + ], + [ + 318.0, + 177.0 + ] + ], + "center_px": [ + 312.25, + 167.25 + ], + "area_px": 456.5 + }, + { + "image_points_px": [ + [ + 21.0, + 136.0 + ], + [ + 38.0, + 123.0 + ], + [ + 65.0, + 127.0 + ], + [ + 46.0, + 140.0 + ] + ], + "center_px": [ + 42.5, + 131.5 + ], + "area_px": 410.0 + }, + { + "image_points_px": [ + [ + 1104.0, + 185.0 + ], + [ + 1137.0, + 190.0 + ], + [ + 1133.0, + 205.0 + ], + [ + 1100.0, + 199.0 + ] + ], + "center_px": [ + 1118.5, + 194.75 + ], + "area_px": 500.5 + }, + { + "image_points_px": [ + [ + 233.0, + 160.0 + ], + [ + 248.0, + 147.0 + ], + [ + 276.0, + 151.0 + ], + [ + 260.0, + 165.0 + ] + ], + "center_px": [ + 254.25, + 155.75 + ], + "area_px": 441.0 + }, + { + "image_points_px": [ + [ + 177.0, + 149.0 + ], + [ + 193.0, + 135.0 + ], + [ + 220.0, + 140.0 + ], + [ + 204.0, + 153.0 + ] + ], + "center_px": [ + 198.5, + 144.25 + ], + "area_px": 436.5 + }, + { + "image_points_px": [ + [ + 278.0, + 151.0 + ], + [ + 293.0, + 138.0 + ], + [ + 321.0, + 142.0 + ], + [ + 306.0, + 155.0 + ] + ], + "center_px": [ + 299.5, + 146.5 + ], + "area_px": 424.0 + }, + { + "image_points_px": [ + [ + 222.0, + 139.0 + ], + [ + 238.0, + 126.0 + ], + [ + 265.0, + 131.0 + ], + [ + 249.0, + 144.0 + ] + ], + "center_px": [ + 243.5, + 135.0 + ], + "area_px": 431.0 + }, + { + "image_points_px": [ + [ + 53.0, + 221.0 + ], + [ + 70.0, + 206.0 + ], + [ + 95.0, + 212.0 + ], + [ + 79.0, + 226.0 + ] + ], + "center_px": [ + 74.25, + 216.25 + ], + "area_px": 460.5 + }, + { + "image_points_px": [ + [ + 102.0, + 210.0 + ], + [ + 119.0, + 196.0 + ], + [ + 144.0, + 202.0 + ], + [ + 128.0, + 216.0 + ] + ], + "center_px": [ + 123.25, + 206.0 + ], + "area_px": 456.0 + }, + { + "image_points_px": [ + [ + 1204.0, + 221.0 + ], + [ + 1237.0, + 225.0 + ], + [ + 1236.0, + 239.0 + ], + [ + 1202.0, + 235.0 + ] + ], + "center_px": [ + 1219.75, + 230.0 + ], + "area_px": 475.0 + }, + { + "image_points_px": [ + [ + 381.0, + 153.0 + ], + [ + 395.0, + 140.0 + ], + [ + 423.0, + 144.0 + ], + [ + 409.0, + 158.0 + ] + ], + "center_px": [ + 402.0, + 148.75 + ], + "area_px": 441.0 + }, + { + "image_points_px": [ + [ + 440.0, + 164.0 + ], + [ + 453.0, + 151.0 + ], + [ + 482.0, + 156.0 + ], + [ + 469.0, + 169.0 + ] + ], + "center_px": [ + 461.0, + 160.0 + ], + "area_px": 442.0 + }, + { + "image_points_px": [ + [ + 1143.0, + 176.0 + ], + [ + 1176.0, + 180.0 + ], + [ + 1173.0, + 194.0 + ], + [ + 1139.0, + 189.0 + ] + ], + "center_px": [ + 1157.75, + 184.75 + ], + "area_px": 468.0 + }, + { + "image_points_px": [ + [ + 1219.0, + 156.0 + ], + [ + 1252.0, + 161.0 + ], + [ + 1249.0, + 175.0 + ], + [ + 1216.0, + 170.0 + ] + ], + "center_px": [ + 1234.0, + 165.5 + ], + "area_px": 477.0 + }, + { + "image_points_px": [ + [ + 67.0, + 127.0 + ], + [ + 85.0, + 114.0 + ], + [ + 110.0, + 118.0 + ], + [ + 93.0, + 131.0 + ] + ], + "center_px": [ + 88.75, + 122.5 + ], + "area_px": 401.5 + }, + { + "image_points_px": [ + [ + 121.0, + 137.0 + ], + [ + 138.0, + 125.0 + ], + [ + 164.0, + 129.0 + ], + [ + 148.0, + 142.0 + ] + ], + "center_px": [ + 142.75, + 133.25 + ], + "area_px": 405.5 + }, + { + "image_points_px": [ + [ + 1073.0, + 215.0 + ], + [ + 1087.0, + 234.0 + ], + [ + 1092.0, + 257.0 + ], + [ + 1085.0, + 253.0 + ] + ], + "center_px": [ + 1084.25, + 239.75 + ], + "area_px": 222.5 + }, + { + "image_points_px": [ + [ + 1182.0, + 165.0 + ], + [ + 1214.0, + 171.0 + ], + [ + 1211.0, + 185.0 + ], + [ + 1178.0, + 179.0 + ] + ], + "center_px": [ + 1196.25, + 175.0 + ], + "area_px": 476.0 + }, + { + "image_points_px": [ + [ + 484.0, + 155.0 + ], + [ + 496.0, + 142.0 + ], + [ + 525.0, + 146.0 + ], + [ + 513.0, + 160.0 + ] + ], + "center_px": [ + 504.5, + 150.75 + ], + "area_px": 445.5 + }, + { + "image_points_px": [ + [ + 112.0, + 118.0 + ], + [ + 129.0, + 106.0 + ], + [ + 155.0, + 110.0 + ], + [ + 139.0, + 122.0 + ] + ], + "center_px": [ + 133.75, + 114.0 + ], + "area_px": 384.0 + }, + { + "image_points_px": [ + [ + 14.0, + 116.0 + ], + [ + 31.0, + 104.0 + ], + [ + 57.0, + 108.0 + ], + [ + 40.0, + 120.0 + ] + ], + "center_px": [ + 35.5, + 112.0 + ], + "area_px": 380.0 + }, + { + "image_points_px": [ + [ + 1076.0, + 163.0 + ], + [ + 1107.0, + 168.0 + ], + [ + 1104.0, + 182.0 + ], + [ + 1071.0, + 177.0 + ] + ], + "center_px": [ + 1089.5, + 172.5 + ], + "area_px": 468.0 + }, + { + "image_points_px": [ + [ + 1115.0, + 154.0 + ], + [ + 1147.0, + 159.0 + ], + [ + 1143.0, + 173.0 + ], + [ + 1111.0, + 168.0 + ] + ], + "center_px": [ + 1129.0, + 163.5 + ], + "area_px": 468.0 + }, + { + "image_points_px": [ + [ + 167.0, + 129.0 + ], + [ + 183.0, + 116.0 + ], + [ + 209.0, + 120.0 + ], + [ + 193.0, + 133.0 + ] + ], + "center_px": [ + 188.0, + 124.5 + ], + "area_px": 402.0 + }, + { + "image_points_px": [ + [ + 1243.0, + 211.0 + ], + [ + 1276.0, + 215.0 + ], + [ + 1276.0, + 228.0 + ], + [ + 1242.0, + 224.0 + ] + ], + "center_px": [ + 1259.25, + 219.5 + ], + "area_px": 437.5 + }, + { + "image_points_px": [ + [ + 410.0, + 124.0 + ], + [ + 424.0, + 111.0 + ], + [ + 451.0, + 116.0 + ], + [ + 438.0, + 129.0 + ] + ], + "center_px": [ + 430.75, + 120.0 + ], + "area_px": 425.0 + }, + { + "image_points_px": [ + [ + 211.0, + 120.0 + ], + [ + 226.0, + 108.0 + ], + [ + 253.0, + 112.0 + ], + [ + 239.0, + 124.0 + ] + ], + "center_px": [ + 232.25, + 116.0 + ], + "area_px": 388.0 + }, + { + "image_points_px": [ + [ + 755.0, + 152.0 + ], + [ + 762.0, + 144.0 + ], + [ + 796.0, + 151.0 + ], + [ + 790.0, + 161.0 + ] + ], + "center_px": [ + 775.75, + 152.0 + ], + "area_px": 362.5 + }, + { + "image_points_px": [ + [ + 367.0, + 133.0 + ], + [ + 381.0, + 120.0 + ], + [ + 408.0, + 124.0 + ], + [ + 395.0, + 137.0 + ] + ], + "center_px": [ + 387.75, + 128.5 + ], + "area_px": 411.5 + }, + { + "image_points_px": [ + [ + 60.0, + 108.0 + ], + [ + 77.0, + 95.0 + ], + [ + 102.0, + 100.0 + ], + [ + 85.0, + 112.0 + ] + ], + "center_px": [ + 81.0, + 103.75 + ], + "area_px": 389.0 + }, + { + "image_points_px": [ + [ + 7.0, + 97.0 + ], + [ + 25.0, + 86.0 + ], + [ + 50.0, + 90.0 + ], + [ + 33.0, + 101.0 + ] + ], + "center_px": [ + 28.75, + 93.5 + ], + "area_px": 350.5 + }, + { + "image_points_px": [ + [ + 441.0, + 241.0 + ], + [ + 455.0, + 226.0 + ], + [ + 480.0, + 230.0 + ], + [ + 467.0, + 246.0 + ] + ], + "center_px": [ + 460.75, + 235.75 + ], + "area_px": 456.0 + }, + { + "image_points_px": [ + [ + 267.0, + 131.0 + ], + [ + 282.0, + 118.0 + ], + [ + 308.0, + 122.0 + ], + [ + 294.0, + 135.0 + ] + ], + "center_px": [ + 287.75, + 126.5 + ], + "area_px": 402.5 + }, + { + "image_points_px": [ + [ + 1005.0, + 165.0 + ], + [ + 1011.0, + 152.0 + ], + [ + 1042.0, + 157.0 + ], + [ + 1036.0, + 171.0 + ] + ], + "center_px": [ + 1023.5, + 161.25 + ], + "area_px": 451.5 + }, + { + "image_points_px": [ + [ + 104.0, + 99.0 + ], + [ + 121.0, + 87.0 + ], + [ + 146.0, + 91.0 + ], + [ + 130.0, + 103.0 + ] + ], + "center_px": [ + 125.25, + 95.0 + ], + "area_px": 372.0 + }, + { + "image_points_px": [ + [ + 511.0, + 126.0 + ], + [ + 523.0, + 113.0 + ], + [ + 551.0, + 118.0 + ], + [ + 539.0, + 131.0 + ] + ], + "center_px": [ + 531.0, + 122.0 + ], + "area_px": 424.0 + }, + { + "image_points_px": [ + [ + 52.0, + 89.0 + ], + [ + 70.0, + 77.0 + ], + [ + 94.0, + 82.0 + ], + [ + 77.0, + 93.0 + ] + ], + "center_px": [ + 73.25, + 85.25 + ], + "area_px": 360.5 + }, + { + "image_points_px": [ + [ + 1226.0, + 127.0 + ], + [ + 1258.0, + 132.0 + ], + [ + 1255.0, + 145.0 + ], + [ + 1223.0, + 140.0 + ] + ], + "center_px": [ + 1240.5, + 136.0 + ], + "area_px": 431.0 + }, + { + "image_points_px": [ + [ + 940.0, + 154.0 + ], + [ + 946.0, + 141.0 + ], + [ + 977.0, + 146.0 + ], + [ + 971.0, + 159.0 + ] + ], + "center_px": [ + 958.5, + 150.0 + ], + "area_px": 433.0 + }, + { + "image_points_px": [ + [ + 979.0, + 145.0 + ], + [ + 985.0, + 132.0 + ], + [ + 1016.0, + 137.0 + ], + [ + 1010.0, + 150.0 + ] + ], + "center_px": [ + 997.5, + 141.0 + ], + "area_px": 433.0 + }, + { + "image_points_px": [ + [ + 158.0, + 110.0 + ], + [ + 174.0, + 97.0 + ], + [ + 199.0, + 102.0 + ], + [ + 183.0, + 114.0 + ] + ], + "center_px": [ + 178.5, + 105.75 + ], + "area_px": 384.5 + }, + { + "image_points_px": [ + [ + 256.0, + 111.0 + ], + [ + 271.0, + 99.0 + ], + [ + 297.0, + 104.0 + ], + [ + 282.0, + 116.0 + ] + ], + "center_px": [ + 276.5, + 107.5 + ], + "area_px": 387.0 + }, + { + "image_points_px": [ + [ + 1189.0, + 137.0 + ], + [ + 1221.0, + 141.0 + ], + [ + 1219.0, + 154.0 + ], + [ + 1186.0, + 149.0 + ] + ], + "center_px": [ + 1203.75, + 145.25 + ], + "area_px": 417.5 + }, + { + "image_points_px": [ + [ + 45.0, + 71.0 + ], + [ + 62.0, + 60.0 + ], + [ + 87.0, + 64.0 + ], + [ + 70.0, + 75.0 + ] + ], + "center_px": [ + 66.0, + 67.5 + ], + "area_px": 343.0 + }, + { + "image_points_px": [ + [ + 471.0, + 208.0 + ], + [ + 485.0, + 193.0 + ], + [ + 510.0, + 198.0 + ], + [ + 496.0, + 212.0 + ] + ], + "center_px": [ + 490.5, + 202.75 + ], + "area_px": 425.5 + }, + { + "image_points_px": [ + [ + 201.0, + 101.0 + ], + [ + 217.0, + 89.0 + ], + [ + 242.0, + 93.0 + ], + [ + 228.0, + 105.0 + ] + ], + "center_px": [ + 222.0, + 97.0 + ], + "area_px": 372.0 + }, + { + "image_points_px": [ + [ + 148.0, + 91.0 + ], + [ + 164.0, + 79.0 + ], + [ + 189.0, + 83.0 + ], + [ + 174.0, + 95.0 + ] + ], + "center_px": [ + 168.75, + 87.0 + ], + "area_px": 368.0 + }, + { + "image_points_px": [ + [ + 354.0, + 113.0 + ], + [ + 368.0, + 101.0 + ], + [ + 394.0, + 105.0 + ], + [ + 381.0, + 118.0 + ] + ], + "center_px": [ + 374.25, + 109.25 + ], + "area_px": 392.0 + }, + { + "image_points_px": [ + [ + 1152.0, + 146.0 + ], + [ + 1184.0, + 150.0 + ], + [ + 1181.0, + 163.0 + ], + [ + 1149.0, + 158.0 + ] + ], + "center_px": [ + 1166.5, + 154.25 + ], + "area_px": 413.5 + }, + { + "image_points_px": [ + [ + 191.0, + 83.0 + ], + [ + 206.0, + 72.0 + ], + [ + 232.0, + 75.0 + ], + [ + 217.0, + 87.0 + ] + ], + "center_px": [ + 211.5, + 79.25 + ], + "area_px": 351.5 + }, + { + "image_points_px": [ + [ + 96.0, + 81.0 + ], + [ + 113.0, + 69.0 + ], + [ + 137.0, + 74.0 + ], + [ + 121.0, + 85.0 + ] + ], + "center_px": [ + 116.75, + 77.25 + ], + "area_px": 356.0 + }, + { + "image_points_px": [ + [ + 397.0, + 105.0 + ], + [ + 410.0, + 93.0 + ], + [ + 437.0, + 97.0 + ], + [ + 424.0, + 109.0 + ] + ], + "center_px": [ + 417.0, + 101.0 + ], + "area_px": 376.0 + }, + { + "image_points_px": [ + [ + 814.0, + 132.0 + ], + [ + 822.0, + 119.0 + ], + [ + 851.0, + 124.0 + ], + [ + 844.0, + 137.0 + ] + ], + "center_px": [ + 832.75, + 128.0 + ], + "area_px": 421.0 + }, + { + "image_points_px": [ + [ + 341.0, + 95.0 + ], + [ + 355.0, + 83.0 + ], + [ + 381.0, + 87.0 + ], + [ + 368.0, + 99.0 + ] + ], + "center_px": [ + 361.25, + 91.0 + ], + "area_px": 372.0 + }, + { + "image_points_px": [ + [ + 1161.0, + 117.0 + ], + [ + 1192.0, + 121.0 + ], + [ + 1189.0, + 134.0 + ], + [ + 1157.0, + 129.0 + ] + ], + "center_px": [ + 1174.75, + 125.25 + ], + "area_px": 409.5 + }, + { + "image_points_px": [ + [ + 1018.0, + 136.0 + ], + [ + 1024.0, + 123.0 + ], + [ + 1054.0, + 128.0 + ], + [ + 1048.0, + 141.0 + ] + ], + "center_px": [ + 1036.0, + 132.0 + ], + "area_px": 420.0 + }, + { + "image_points_px": [ + [ + 454.0, + 115.0 + ], + [ + 466.0, + 103.0 + ], + [ + 493.0, + 107.0 + ], + [ + 481.0, + 120.0 + ] + ], + "center_px": [ + 473.5, + 111.25 + ], + "area_px": 391.5 + }, + { + "image_points_px": [ + [ + 245.0, + 93.0 + ], + [ + 260.0, + 81.0 + ], + [ + 285.0, + 85.0 + ], + [ + 271.0, + 97.0 + ] + ], + "center_px": [ + 265.25, + 89.0 + ], + "area_px": 364.0 + }, + { + "image_points_px": [ + [ + 853.0, + 123.0 + ], + [ + 861.0, + 111.0 + ], + [ + 890.0, + 115.0 + ], + [ + 883.0, + 128.0 + ] + ], + "center_px": [ + 871.75, + 119.25 + ], + "area_px": 402.5 + }, + { + "image_points_px": [ + [ + 495.0, + 107.0 + ], + [ + 507.0, + 95.0 + ], + [ + 534.0, + 99.0 + ], + [ + 523.0, + 111.0 + ] + ], + "center_px": [ + 514.75, + 103.0 + ], + "area_px": 376.0 + }, + { + "image_points_px": [ + [ + 38.0, + 54.0 + ], + [ + 54.0, + 44.0 + ], + [ + 79.0, + 47.0 + ], + [ + 62.0, + 58.0 + ] + ], + "center_px": [ + 58.25, + 50.75 + ], + "area_px": 315.0 + }, + { + "image_points_px": [ + [ + 439.0, + 97.0 + ], + [ + 451.0, + 85.0 + ], + [ + 478.0, + 89.0 + ], + [ + 466.0, + 101.0 + ] + ], + "center_px": [ + 458.5, + 93.0 + ], + "area_px": 372.0 + }, + { + "image_points_px": [ + [ + 877.0, + 143.0 + ], + [ + 884.0, + 130.0 + ], + [ + 913.0, + 135.0 + ], + [ + 906.0, + 148.0 + ] + ], + "center_px": [ + 895.0, + 139.0 + ], + "area_px": 412.0 + }, + { + "image_points_px": [ + [ + 992.0, + 116.0 + ], + [ + 998.0, + 104.0 + ], + [ + 1028.0, + 109.0 + ], + [ + 1023.0, + 121.0 + ] + ], + "center_px": [ + 1010.25, + 112.5 + ], + "area_px": 393.5 + }, + { + "image_points_px": [ + [ + 234.0, + 75.0 + ], + [ + 249.0, + 64.0 + ], + [ + 274.0, + 68.0 + ], + [ + 260.0, + 79.0 + ] + ], + "center_px": [ + 254.25, + 71.5 + ], + "area_px": 338.5 + }, + { + "image_points_px": [ + [ + 276.0, + 67.0 + ], + [ + 291.0, + 56.0 + ], + [ + 316.0, + 60.0 + ], + [ + 302.0, + 71.0 + ] + ], + "center_px": [ + 296.25, + 63.5 + ], + "area_px": 338.5 + }, + { + "image_points_px": [ + [ + 480.0, + 88.0 + ], + [ + 492.0, + 77.0 + ], + [ + 519.0, + 81.0 + ], + [ + 507.0, + 93.0 + ] + ], + "center_px": [ + 499.5, + 84.75 + ], + "area_px": 364.5 + }, + { + "image_points_px": [ + [ + 384.0, + 87.0 + ], + [ + 397.0, + 75.0 + ], + [ + 423.0, + 79.0 + ], + [ + 410.0, + 91.0 + ] + ], + "center_px": [ + 403.5, + 83.0 + ], + "area_px": 364.0 + }, + { + "image_points_px": [ + [ + 140.0, + 73.0 + ], + [ + 155.0, + 62.0 + ], + [ + 180.0, + 66.0 + ], + [ + 165.0, + 77.0 + ] + ], + "center_px": [ + 160.0, + 69.5 + ], + "area_px": 335.0 + }, + { + "image_points_px": [ + [ + 831.0, + 104.0 + ], + [ + 839.0, + 92.0 + ], + [ + 868.0, + 97.0 + ], + [ + 860.0, + 109.0 + ] + ], + "center_px": [ + 849.5, + 100.5 + ], + "area_px": 388.0 + }, + { + "image_points_px": [ + [ + 182.0, + 65.0 + ], + [ + 198.0, + 54.0 + ], + [ + 222.0, + 58.0 + ], + [ + 207.0, + 69.0 + ] + ], + "center_px": [ + 202.25, + 61.5 + ], + "area_px": 331.5 + }, + { + "image_points_px": [ + [ + 89.0, + 64.0 + ], + [ + 104.0, + 53.0 + ], + [ + 129.0, + 56.0 + ], + [ + 114.0, + 67.0 + ] + ], + "center_px": [ + 109.0, + 60.0 + ], + "area_px": 320.0 + }, + { + "image_points_px": [ + [ + 1197.0, + 108.0 + ], + [ + 1228.0, + 113.0 + ], + [ + 1225.0, + 125.0 + ], + [ + 1194.0, + 120.0 + ] + ], + "center_px": [ + 1211.0, + 116.5 + ], + "area_px": 387.0 + }, + { + "image_points_px": [ + [ + 287.0, + 85.0 + ], + [ + 302.0, + 73.0 + ], + [ + 326.0, + 77.0 + ], + [ + 313.0, + 89.0 + ] + ], + "center_px": [ + 307.0, + 81.0 + ], + "area_px": 356.0 + }, + { + "image_points_px": [ + [ + 131.0, + 56.0 + ], + [ + 147.0, + 45.0 + ], + [ + 171.0, + 49.0 + ], + [ + 155.0, + 60.0 + ] + ], + "center_px": [ + 151.0, + 52.5 + ], + "area_px": 328.0 + }, + { + "image_points_px": [ + [ + 537.0, + 99.0 + ], + [ + 547.0, + 87.0 + ], + [ + 575.0, + 91.0 + ], + [ + 564.0, + 103.0 + ] + ], + "center_px": [ + 555.75, + 95.0 + ], + "area_px": 372.0 + }, + { + "image_points_px": [ + [ + 1093.0, + 118.0 + ], + [ + 1098.0, + 106.0 + ], + [ + 1128.0, + 111.0 + ], + [ + 1124.0, + 123.0 + ] + ], + "center_px": [ + 1110.75, + 114.5 + ], + "area_px": 388.5 + }, + { + "image_points_px": [ + [ + 1045.0, + 155.0 + ], + [ + 1050.0, + 143.0 + ], + [ + 1080.0, + 149.0 + ], + [ + 1075.0, + 161.0 + ] + ], + "center_px": [ + 1062.5, + 152.0 + ], + "area_px": 390.0 + }, + { + "image_points_px": [ + [ + 1083.0, + 146.0 + ], + [ + 1088.0, + 134.0 + ], + [ + 1118.0, + 140.0 + ], + [ + 1113.0, + 152.0 + ] + ], + "center_px": [ + 1100.5, + 143.0 + ], + "area_px": 390.0 + }, + { + "image_points_px": [ + [ + 892.0, + 114.0 + ], + [ + 899.0, + 102.0 + ], + [ + 928.0, + 107.0 + ], + [ + 922.0, + 119.0 + ] + ], + "center_px": [ + 910.25, + 110.5 + ], + "area_px": 386.5 + }, + { + "image_points_px": [ + [ + 930.0, + 106.0 + ], + [ + 937.0, + 94.0 + ], + [ + 966.0, + 99.0 + ], + [ + 960.0, + 111.0 + ] + ], + "center_px": [ + 948.25, + 102.5 + ], + "area_px": 386.5 + }, + { + "image_points_px": [ + [ + 577.0, + 90.0 + ], + [ + 587.0, + 79.0 + ], + [ + 615.0, + 83.0 + ], + [ + 604.0, + 95.0 + ] + ], + "center_px": [ + 595.75, + 86.75 + ], + "area_px": 363.5 + }, + { + "image_points_px": [ + [ + 81.0, + 47.0 + ], + [ + 98.0, + 36.0 + ], + [ + 121.0, + 40.0 + ], + [ + 106.0, + 50.0 + ] + ], + "center_px": [ + 101.5, + 43.25 + ], + "area_px": 308.0 + }, + { + "image_points_px": [ + [ + 411.0, + 61.0 + ], + [ + 424.0, + 50.0 + ], + [ + 450.0, + 54.0 + ], + [ + 437.0, + 65.0 + ] + ], + "center_px": [ + 430.5, + 57.5 + ], + "area_px": 338.0 + }, + { + "image_points_px": [ + [ + 32.0, + 38.0 + ], + [ + 49.0, + 27.0 + ], + [ + 72.0, + 31.0 + ], + [ + 56.0, + 41.0 + ] + ], + "center_px": [ + 52.25, + 34.25 + ], + "area_px": 304.5 + }, + { + "image_points_px": [ + [ + 1005.0, + 90.0 + ], + [ + 1010.0, + 78.0 + ], + [ + 1040.0, + 82.0 + ], + [ + 1035.0, + 94.0 + ] + ], + "center_px": [ + 1022.5, + 86.0 + ], + "area_px": 380.0 + }, + { + "image_points_px": [ + [ + 521.0, + 80.0 + ], + [ + 532.0, + 69.0 + ], + [ + 559.0, + 73.0 + ], + [ + 547.0, + 85.0 + ] + ], + "center_px": [ + 539.75, + 76.75 + ], + "area_px": 356.5 + }, + { + "image_points_px": [ + [ + 425.0, + 79.0 + ], + [ + 438.0, + 67.0 + ], + [ + 463.0, + 71.0 + ], + [ + 451.0, + 83.0 + ] + ], + "center_px": [ + 444.25, + 75.0 + ], + "area_px": 356.0 + }, + { + "image_points_px": [ + [ + 25.0, + 22.0 + ], + [ + 41.0, + 12.0 + ], + [ + 65.0, + 15.0 + ], + [ + 49.0, + 25.0 + ] + ], + "center_px": [ + 45.0, + 18.5 + ], + "area_px": 288.0 + }, + { + "image_points_px": [ + [ + 224.0, + 58.0 + ], + [ + 238.0, + 47.0 + ], + [ + 263.0, + 51.0 + ], + [ + 248.0, + 62.0 + ] + ], + "center_px": [ + 243.25, + 54.5 + ], + "area_px": 327.5 + }, + { + "image_points_px": [ + [ + 465.0, + 71.0 + ], + [ + 477.0, + 60.0 + ], + [ + 503.0, + 63.0 + ], + [ + 492.0, + 75.0 + ] + ], + "center_px": [ + 484.25, + 67.25 + ], + "area_px": 345.0 + }, + { + "image_points_px": [ + [ + 968.0, + 98.0 + ], + [ + 974.0, + 86.0 + ], + [ + 1003.0, + 90.0 + ], + [ + 998.0, + 102.0 + ] + ], + "center_px": [ + 985.75, + 94.0 + ], + "area_px": 376.0 + }, + { + "image_points_px": [ + [ + 1067.0, + 100.0 + ], + [ + 1071.0, + 88.0 + ], + [ + 1101.0, + 92.0 + ], + [ + 1097.0, + 104.0 + ] + ], + "center_px": [ + 1084.0, + 96.0 + ], + "area_px": 376.0 + }, + { + "image_points_px": [ + [ + 427.0, + 143.0 + ], + [ + 438.0, + 131.0 + ], + [ + 464.0, + 136.0 + ], + [ + 453.0, + 148.0 + ] + ], + "center_px": [ + 445.5, + 139.5 + ], + "area_px": 367.0 + }, + { + "image_points_px": [ + [ + 470.0, + 134.0 + ], + [ + 481.0, + 122.0 + ], + [ + 507.0, + 127.0 + ], + [ + 496.0, + 139.0 + ] + ], + "center_px": [ + 488.5, + 130.5 + ], + "area_px": 367.0 + }, + { + "image_points_px": [ + [ + 505.0, + 63.0 + ], + [ + 517.0, + 52.0 + ], + [ + 543.0, + 56.0 + ], + [ + 532.0, + 67.0 + ] + ], + "center_px": [ + 524.25, + 59.5 + ], + "area_px": 337.5 + }, + { + "image_points_px": [ + [ + 173.0, + 48.0 + ], + [ + 188.0, + 38.0 + ], + [ + 212.0, + 41.0 + ], + [ + 198.0, + 52.0 + ] + ], + "center_px": [ + 192.75, + 44.75 + ], + "area_px": 308.0 + }, + { + "image_points_px": [ + [ + 214.0, + 41.0 + ], + [ + 228.0, + 31.0 + ], + [ + 253.0, + 34.0 + ], + [ + 238.0, + 45.0 + ] + ], + "center_px": [ + 233.25, + 37.75 + ], + "area_px": 308.0 + }, + { + "image_points_px": [ + [ + 1169.0, + 90.0 + ], + [ + 1199.0, + 94.0 + ], + [ + 1196.0, + 106.0 + ], + [ + 1166.0, + 102.0 + ] + ], + "center_px": [ + 1182.5, + 98.0 + ], + "area_px": 372.0 + }, + { + "image_points_px": [ + [ + 700.0, + 560.0 + ], + [ + 685.0, + 588.0 + ], + [ + 674.0, + 585.0 + ], + [ + 689.0, + 558.0 + ] + ], + "center_px": [ + 687.0, + 572.75 + ], + "area_px": 340.0 + }, + { + "image_points_px": [ + [ + 1204.0, + 82.0 + ], + [ + 1234.0, + 86.0 + ], + [ + 1232.0, + 98.0 + ], + [ + 1201.0, + 93.0 + ] + ], + "center_px": [ + 1217.75, + 89.75 + ], + "area_px": 362.0 + }, + { + "image_points_px": [ + [ + 810.0, + 86.0 + ], + [ + 818.0, + 74.0 + ], + [ + 846.0, + 79.0 + ], + [ + 839.0, + 90.0 + ] + ], + "center_px": [ + 828.25, + 82.25 + ], + "area_px": 361.5 + }, + { + "image_points_px": [ + [ + 371.0, + 69.0 + ], + [ + 383.0, + 58.0 + ], + [ + 409.0, + 62.0 + ], + [ + 397.0, + 73.0 + ] + ], + "center_px": [ + 390.0, + 65.5 + ], + "area_px": 334.0 + }, + { + "image_points_px": [ + [ + 916.0, + 133.0 + ], + [ + 922.0, + 122.0 + ], + [ + 951.0, + 127.0 + ], + [ + 945.0, + 139.0 + ] + ], + "center_px": [ + 933.5, + 130.25 + ], + "area_px": 366.5 + }, + { + "image_points_px": [ + [ + 1133.0, + 99.0 + ], + [ + 1164.0, + 104.0 + ], + [ + 1160.0, + 115.0 + ], + [ + 1130.0, + 110.0 + ] + ], + "center_px": [ + 1146.75, + 107.0 + ], + "area_px": 353.0 + }, + { + "image_points_px": [ + [ + 907.0, + 88.0 + ], + [ + 914.0, + 76.0 + ], + [ + 942.0, + 80.0 + ], + [ + 936.0, + 92.0 + ] + ], + "center_px": [ + 924.75, + 84.0 + ], + "area_px": 368.0 + }, + { + "image_points_px": [ + [ + 870.0, + 96.0 + ], + [ + 877.0, + 84.0 + ], + [ + 905.0, + 88.0 + ], + [ + 899.0, + 100.0 + ] + ], + "center_px": [ + 887.75, + 92.0 + ], + "area_px": 368.0 + }, + { + "image_points_px": [ + [ + 123.0, + 39.0 + ], + [ + 138.0, + 29.0 + ], + [ + 162.0, + 33.0 + ], + [ + 147.0, + 43.0 + ] + ], + "center_px": [ + 142.5, + 36.0 + ], + "area_px": 300.0 + }, + { + "image_points_px": [ + [ + 358.0, + 52.0 + ], + [ + 371.0, + 41.0 + ], + [ + 396.0, + 45.0 + ], + [ + 383.0, + 56.0 + ] + ], + "center_px": [ + 377.0, + 48.5 + ], + "area_px": 327.0 + }, + { + "image_points_px": [ + [ + 561.0, + 73.0 + ], + [ + 571.0, + 62.0 + ], + [ + 598.0, + 65.0 + ], + [ + 587.0, + 77.0 + ] + ], + "center_px": [ + 579.25, + 69.25 + ], + "area_px": 341.5 + }, + { + "image_points_px": [ + [ + 74.0, + 30.0 + ], + [ + 90.0, + 20.0 + ], + [ + 113.0, + 24.0 + ], + [ + 98.0, + 34.0 + ] + ], + "center_px": [ + 93.75, + 27.0 + ], + "area_px": 297.0 + }, + { + "image_points_px": [ + [ + 1142.0, + 72.0 + ], + [ + 1172.0, + 76.0 + ], + [ + 1169.0, + 88.0 + ], + [ + 1139.0, + 83.0 + ] + ], + "center_px": [ + 1155.5, + 79.75 + ], + "area_px": 358.5 + }, + { + "image_points_px": [ + [ + 115.0, + 23.0 + ], + [ + 131.0, + 13.0 + ], + [ + 154.0, + 17.0 + ], + [ + 138.0, + 27.0 + ] + ], + "center_px": [ + 134.5, + 20.0 + ], + "area_px": 294.0 + }, + { + "image_points_px": [ + [ + 1103.0, + 90.0 + ], + [ + 1107.0, + 80.0 + ], + [ + 1137.0, + 84.0 + ], + [ + 1133.0, + 96.0 + ] + ], + "center_px": [ + 1120.0, + 87.5 + ], + "area_px": 350.0 + }, + { + "image_points_px": [ + [ + 1056.0, + 126.0 + ], + [ + 1061.0, + 115.0 + ], + [ + 1090.0, + 120.0 + ], + [ + 1085.0, + 132.0 + ] + ], + "center_px": [ + 1073.0, + 123.25 + ], + "area_px": 361.0 + }, + { + "image_points_px": [ + [ + 583.0, + 48.0 + ], + [ + 594.0, + 37.0 + ], + [ + 620.0, + 41.0 + ], + [ + 610.0, + 52.0 + ] + ], + "center_px": [ + 601.75, + 44.5 + ], + "area_px": 333.5 + }, + { + "image_points_px": [ + [ + 1046.0, + 70.0 + ], + [ + 1075.0, + 74.0 + ], + [ + 1071.0, + 86.0 + ], + [ + 1042.0, + 82.0 + ] + ], + "center_px": [ + 1058.5, + 78.0 + ], + "area_px": 364.0 + }, + { + "image_points_px": [ + [ + 266.0, + 50.0 + ], + [ + 279.0, + 40.0 + ], + [ + 304.0, + 43.0 + ], + [ + 290.0, + 54.0 + ] + ], + "center_px": [ + 284.75, + 46.75 + ], + "area_px": 304.5 + }, + { + "image_points_px": [ + [ + 346.0, + 35.0 + ], + [ + 359.0, + 25.0 + ], + [ + 384.0, + 29.0 + ], + [ + 372.0, + 39.0 + ] + ], + "center_px": [ + 365.25, + 32.0 + ], + "area_px": 305.0 + }, + { + "image_points_px": [ + [ + 955.0, + 124.0 + ], + [ + 961.0, + 113.0 + ], + [ + 989.0, + 118.0 + ], + [ + 984.0, + 130.0 + ] + ], + "center_px": [ + 972.25, + 121.25 + ], + "area_px": 358.0 + }, + { + "image_points_px": [ + [ + 529.0, + 39.0 + ], + [ + 541.0, + 28.0 + ], + [ + 566.0, + 32.0 + ], + [ + 554.0, + 43.0 + ] + ], + "center_px": [ + 547.5, + 35.5 + ], + "area_px": 323.0 + }, + { + "image_points_px": [ + [ + 164.0, + 32.0 + ], + [ + 179.0, + 22.0 + ], + [ + 202.0, + 25.0 + ], + [ + 187.0, + 36.0 + ] + ], + "center_px": [ + 183.0, + 28.75 + ], + "area_px": 294.0 + }, + { + "image_points_px": [ + [ + 205.0, + 25.0 + ], + [ + 219.0, + 15.0 + ], + [ + 243.0, + 18.0 + ], + [ + 230.0, + 28.0 + ] + ], + "center_px": [ + 224.25, + 21.5 + ], + "area_px": 285.5 + }, + { + "image_points_px": [ + [ + 452.0, + 54.0 + ], + [ + 463.0, + 43.0 + ], + [ + 489.0, + 47.0 + ], + [ + 478.0, + 57.0 + ] + ], + "center_px": [ + 470.5, + 50.25 + ], + "area_px": 311.5 + }, + { + "image_points_px": [ + [ + 156.0, + 16.0 + ], + [ + 171.0, + 6.0 + ], + [ + 194.0, + 10.0 + ], + [ + 179.0, + 20.0 + ] + ], + "center_px": [ + 175.0, + 13.0 + ], + "area_px": 290.0 + }, + { + "image_points_px": [ + [ + 1238.0, + 76.0 + ], + [ + 1269.0, + 78.0 + ], + [ + 1267.0, + 89.0 + ], + [ + 1236.0, + 85.0 + ] + ], + "center_px": [ + 1252.5, + 82.0 + ], + "area_px": 316.0 + }, + { + "image_points_px": [ + [ + 848.0, + 78.0 + ], + [ + 855.0, + 67.0 + ], + [ + 883.0, + 71.0 + ], + [ + 876.0, + 82.0 + ] + ], + "center_px": [ + 865.5, + 74.5 + ], + "area_px": 336.0 + }, + { + "image_points_px": [ + [ + 885.0, + 70.0 + ], + [ + 892.0, + 59.0 + ], + [ + 920.0, + 63.0 + ], + [ + 913.0, + 74.0 + ] + ], + "center_px": [ + 902.5, + 66.5 + ], + "area_px": 336.0 + }, + { + "image_points_px": [ + [ + 67.0, + 15.0 + ], + [ + 82.0, + 5.0 + ], + [ + 105.0, + 8.0 + ], + [ + 90.0, + 18.0 + ] + ], + "center_px": [ + 86.0, + 11.5 + ], + "area_px": 275.0 + }, + { + "image_points_px": [ + [ + 1230.0, + 110.0 + ], + [ + 1234.0, + 100.0 + ], + [ + 1263.0, + 105.0 + ], + [ + 1260.0, + 116.0 + ] + ], + "center_px": [ + 1246.75, + 107.75 + ], + "area_px": 329.0 + }, + { + "image_points_px": [ + [ + 981.0, + 72.0 + ], + [ + 987.0, + 61.0 + ], + [ + 1015.0, + 65.0 + ], + [ + 1010.0, + 76.0 + ] + ], + "center_px": [ + 998.25, + 68.5 + ], + "area_px": 335.5 + }, + { + "image_points_px": [ + [ + 1177.0, + 64.0 + ], + [ + 1206.0, + 68.0 + ], + [ + 1204.0, + 79.0 + ], + [ + 1174.0, + 75.0 + ] + ], + "center_px": [ + 1190.25, + 71.5 + ], + "area_px": 334.5 + }, + { + "image_points_px": [ + [ + 1245.0, + 49.0 + ], + [ + 1274.0, + 53.0 + ], + [ + 1272.0, + 64.0 + ], + [ + 1242.0, + 60.0 + ] + ], + "center_px": [ + 1258.25, + 56.5 + ], + "area_px": 334.5 + }, + { + "image_points_px": [ + [ + 437.0, + 37.0 + ], + [ + 449.0, + 27.0 + ], + [ + 474.0, + 31.0 + ], + [ + 463.0, + 41.0 + ] + ], + "center_px": [ + 455.75, + 34.0 + ], + "area_px": 301.0 + }, + { + "image_points_px": [ + [ + 545.0, + 55.0 + ], + [ + 556.0, + 44.0 + ], + [ + 581.0, + 48.0 + ], + [ + 571.0, + 59.0 + ] + ], + "center_px": [ + 563.25, + 51.5 + ], + "area_px": 322.5 + }, + { + "image_points_px": [ + [ + 827.0, + 60.0 + ], + [ + 834.0, + 50.0 + ], + [ + 862.0, + 54.0 + ], + [ + 855.0, + 65.0 + ] + ], + "center_px": [ + 844.5, + 57.25 + ], + "area_px": 325.5 + }, + { + "image_points_px": [ + [ + 424.0, + 21.0 + ], + [ + 436.0, + 11.0 + ], + [ + 461.0, + 15.0 + ], + [ + 449.0, + 25.0 + ] + ], + "center_px": [ + 442.5, + 18.0 + ], + "area_px": 298.0 + }, + { + "image_points_px": [ + [ + 600.0, + 65.0 + ], + [ + 610.0, + 54.0 + ], + [ + 635.0, + 57.0 + ], + [ + 627.0, + 69.0 + ] + ], + "center_px": [ + 618.0, + 61.25 + ], + "area_px": 330.5 + }, + { + "image_points_px": [ + [ + 256.0, + 34.0 + ], + [ + 268.0, + 24.0 + ], + [ + 293.0, + 27.0 + ], + [ + 280.0, + 37.0 + ] + ], + "center_px": [ + 274.25, + 30.5 + ], + "area_px": 282.5 + }, + { + "image_points_px": [ + [ + 245.0, + 18.0 + ], + [ + 259.0, + 8.0 + ], + [ + 282.0, + 11.0 + ], + [ + 270.0, + 21.0 + ] + ], + "center_px": [ + 264.0, + 14.5 + ], + "area_px": 279.0 + }, + { + "image_points_px": [ + [ + 864.0, + 53.0 + ], + [ + 871.0, + 42.0 + ], + [ + 898.0, + 46.0 + ], + [ + 892.0, + 57.0 + ] + ], + "center_px": [ + 881.25, + 49.5 + ], + "area_px": 328.5 + }, + { + "image_points_px": [ + [ + 491.0, + 46.0 + ], + [ + 502.0, + 36.0 + ], + [ + 527.0, + 39.0 + ], + [ + 516.0, + 50.0 + ] + ], + "center_px": [ + 509.0, + 42.75 + ], + "area_px": 301.0 + }, + { + "image_points_px": [ + [ + 1028.0, + 40.0 + ], + [ + 1033.0, + 29.0 + ], + [ + 1061.0, + 33.0 + ], + [ + 1056.0, + 44.0 + ] + ], + "center_px": [ + 1044.5, + 36.5 + ], + "area_px": 328.0 + }, + { + "image_points_px": [ + [ + 807.0, + 44.0 + ], + [ + 814.0, + 33.0 + ], + [ + 841.0, + 37.0 + ], + [ + 834.0, + 48.0 + ] + ], + "center_px": [ + 824.0, + 40.5 + ], + "area_px": 325.0 + }, + { + "image_points_px": [ + [ + 515.0, + 23.0 + ], + [ + 525.0, + 13.0 + ], + [ + 551.0, + 16.0 + ], + [ + 540.0, + 26.0 + ] + ], + "center_px": [ + 532.75, + 19.5 + ], + "area_px": 286.5 + }, + { + "image_points_px": [ + [ + 1031.0, + 107.0 + ], + [ + 1036.0, + 96.0 + ], + [ + 1064.0, + 102.0 + ], + [ + 1059.0, + 112.0 + ] + ], + "center_px": [ + 1047.5, + 104.25 + ], + "area_px": 321.5 + }, + { + "image_points_px": [ + [ + 770.0, + 51.0 + ], + [ + 778.0, + 41.0 + ], + [ + 805.0, + 45.0 + ], + [ + 797.0, + 55.0 + ] + ], + "center_px": [ + 787.5, + 48.0 + ], + "area_px": 302.0 + }, + { + "image_points_px": [ + [ + 714.0, + 42.0 + ], + [ + 722.0, + 32.0 + ], + [ + 749.0, + 36.0 + ], + [ + 741.0, + 46.0 + ] + ], + "center_px": [ + 731.5, + 39.0 + ], + "area_px": 302.0 + }, + { + "image_points_px": [ + [ + 399.0, + 44.0 + ], + [ + 411.0, + 34.0 + ], + [ + 435.0, + 38.0 + ], + [ + 424.0, + 48.0 + ] + ], + "center_px": [ + 417.25, + 41.0 + ], + "area_px": 291.0 + }, + { + "image_points_px": [ + [ + 661.0, + 224.0 + ], + [ + 673.0, + 228.0 + ], + [ + 668.0, + 254.0 + ], + [ + 655.0, + 251.0 + ] + ], + "center_px": [ + 664.25, + 239.25 + ], + "area_px": 350.5 + }, + { + "image_points_px": [ + [ + 386.0, + 28.0 + ], + [ + 398.0, + 18.0 + ], + [ + 422.0, + 22.0 + ], + [ + 410.0, + 32.0 + ] + ], + "center_px": [ + 404.0, + 25.0 + ], + "area_px": 288.0 + }, + { + "image_points_px": [ + [ + 900.0, + 45.0 + ], + [ + 906.0, + 35.0 + ], + [ + 934.0, + 39.0 + ], + [ + 928.0, + 49.0 + ] + ], + "center_px": [ + 917.0, + 42.0 + ], + "area_px": 304.0 + }, + { + "image_points_px": [ + [ + 374.0, + 13.0 + ], + [ + 386.0, + 3.0 + ], + [ + 410.0, + 6.0 + ], + [ + 398.0, + 16.0 + ] + ], + "center_px": [ + 392.0, + 9.5 + ], + "area_px": 276.0 + }, + { + "image_points_px": [ + [ + 659.0, + 33.0 + ], + [ + 668.0, + 23.0 + ], + [ + 694.0, + 27.0 + ], + [ + 685.0, + 37.0 + ] + ], + "center_px": [ + 676.5, + 30.0 + ], + "area_px": 296.0 + }, + { + "image_points_px": [ + [ + 1087.0, + 48.0 + ], + [ + 1092.0, + 38.0 + ], + [ + 1119.0, + 42.0 + ], + [ + 1116.0, + 53.0 + ] + ], + "center_px": [ + 1103.5, + 45.25 + ], + "area_px": 312.0 + }, + { + "image_points_px": [ + [ + 568.0, + 31.0 + ], + [ + 578.0, + 21.0 + ], + [ + 603.0, + 25.0 + ], + [ + 594.0, + 35.0 + ] + ], + "center_px": [ + 585.75, + 28.0 + ], + "area_px": 293.0 + }, + { + "image_points_px": [ + [ + 843.0, + 36.0 + ], + [ + 850.0, + 26.0 + ], + [ + 877.0, + 30.0 + ], + [ + 870.0, + 40.0 + ] + ], + "center_px": [ + 860.0, + 33.0 + ], + "area_px": 298.0 + }, + { + "image_points_px": [ + [ + 1217.0, + 33.0 + ], + [ + 1246.0, + 37.0 + ], + [ + 1244.0, + 47.0 + ], + [ + 1215.0, + 43.0 + ] + ], + "center_px": [ + 1230.5, + 40.0 + ], + "area_px": 298.0 + }, + { + "image_points_px": [ + [ + 751.0, + 35.0 + ], + [ + 759.0, + 25.0 + ], + [ + 785.0, + 28.0 + ], + [ + 777.0, + 39.0 + ] + ], + "center_px": [ + 768.0, + 31.75 + ], + "area_px": 301.0 + }, + { + "image_points_px": [ + [ + 696.0, + 26.0 + ], + [ + 705.0, + 16.0 + ], + [ + 730.0, + 19.0 + ], + [ + 722.0, + 30.0 + ] + ], + "center_px": [ + 713.25, + 22.75 + ], + "area_px": 297.5 + }, + { + "image_points_px": [ + [ + 1113.0, + 65.0 + ], + [ + 1117.0, + 55.0 + ], + [ + 1145.0, + 60.0 + ], + [ + 1141.0, + 70.0 + ] + ], + "center_px": [ + 1129.0, + 62.5 + ], + "area_px": 300.0 + }, + { + "image_points_px": [ + [ + 1063.0, + 32.0 + ], + [ + 1067.0, + 22.0 + ], + [ + 1095.0, + 26.0 + ], + [ + 1091.0, + 36.0 + ] + ], + "center_px": [ + 1079.0, + 29.0 + ], + "area_px": 296.0 + }, + { + "image_points_px": [ + [ + 823.0, + 20.0 + ], + [ + 830.0, + 11.0 + ], + [ + 857.0, + 14.0 + ], + [ + 850.0, + 24.0 + ] + ], + "center_px": [ + 840.0, + 17.25 + ], + "area_px": 281.0 + }, + { + "image_points_px": [ + [ + 879.0, + 29.0 + ], + [ + 885.0, + 19.0 + ], + [ + 912.0, + 23.0 + ], + [ + 906.0, + 33.0 + ] + ], + "center_px": [ + 895.5, + 26.0 + ], + "area_px": 294.0 + }, + { + "image_points_px": [ + [ + 1072.0, + 673.0 + ], + [ + 1094.0, + 679.0 + ], + [ + 1089.0, + 699.0 + ], + [ + 1071.0, + 683.0 + ] + ], + "center_px": [ + 1081.5, + 683.5 + ], + "area_px": 333.0 + }, + { + "image_points_px": [ + [ + 337.0, + 18.0 + ], + [ + 348.0, + 9.0 + ], + [ + 372.0, + 13.0 + ], + [ + 359.0, + 23.0 + ] + ], + "center_px": [ + 354.0, + 15.75 + ], + "area_px": 272.5 + }, + { + "image_points_px": [ + [ + 1005.0, + 24.0 + ], + [ + 1010.0, + 14.0 + ], + [ + 1037.0, + 17.0 + ], + [ + 1033.0, + 27.0 + ] + ], + "center_px": [ + 1021.25, + 20.5 + ], + "area_px": 288.5 + }, + { + "image_points_px": [ + [ + 606.0, + 24.0 + ], + [ + 616.0, + 14.0 + ], + [ + 640.0, + 18.0 + ], + [ + 631.0, + 28.0 + ] + ], + "center_px": [ + 623.25, + 21.0 + ], + "area_px": 283.0 + }, + { + "image_points_px": [ + [ + 1078.0, + 72.0 + ], + [ + 1082.0, + 63.0 + ], + [ + 1110.0, + 68.0 + ], + [ + 1105.0, + 78.0 + ] + ], + "center_px": [ + 1093.75, + 70.25 + ], + "area_px": 286.0 + }, + { + "image_points_px": [ + [ + 553.0, + 16.0 + ], + [ + 563.0, + 6.0 + ], + [ + 587.0, + 9.0 + ], + [ + 578.0, + 19.0 + ] + ], + "center_px": [ + 570.25, + 12.5 + ], + "area_px": 273.5 + }, + { + "image_points_px": [ + [ + 733.0, + 19.0 + ], + [ + 741.0, + 9.0 + ], + [ + 766.0, + 12.0 + ], + [ + 758.0, + 23.0 + ] + ], + "center_px": [ + 749.5, + 15.75 + ], + "area_px": 290.5 + }, + { + "image_points_px": [ + [ + 946.0, + 79.0 + ], + [ + 951.0, + 69.0 + ], + [ + 978.0, + 74.0 + ], + [ + 972.0, + 84.0 + ] + ], + "center_px": [ + 961.75, + 76.5 + ], + "area_px": 292.5 + }, + { + "image_points_px": [ + [ + 788.0, + 28.0 + ], + [ + 795.0, + 18.0 + ], + [ + 821.0, + 21.0 + ], + [ + 814.0, + 31.0 + ] + ], + "center_px": [ + 804.5, + 24.5 + ], + "area_px": 281.0 + }, + { + "image_points_px": [ + [ + 923.0, + 61.0 + ], + [ + 928.0, + 52.0 + ], + [ + 955.0, + 56.0 + ], + [ + 950.0, + 66.0 + ] + ], + "center_px": [ + 939.0, + 58.75 + ], + "area_px": 279.0 + }, + { + "image_points_px": [ + [ + 1097.0, + 25.0 + ], + [ + 1101.0, + 15.0 + ], + [ + 1128.0, + 19.0 + ], + [ + 1124.0, + 29.0 + ] + ], + "center_px": [ + 1112.5, + 22.0 + ], + "area_px": 286.0 + }, + { + "image_points_px": [ + [ + 1148.0, + 57.0 + ], + [ + 1151.0, + 48.0 + ], + [ + 1179.0, + 52.0 + ], + [ + 1175.0, + 62.0 + ] + ], + "center_px": [ + 1163.25, + 54.75 + ], + "area_px": 277.0 + }, + { + "image_points_px": [ + [ + 1018.0, + 63.0 + ], + [ + 1023.0, + 53.0 + ], + [ + 1049.0, + 58.0 + ], + [ + 1045.0, + 68.0 + ] + ], + "center_px": [ + 1033.75, + 60.5 + ], + "area_px": 287.5 + }, + { + "image_points_px": [ + [ + 1039.0, + 16.0 + ], + [ + 1044.0, + 7.0 + ], + [ + 1071.0, + 11.0 + ], + [ + 1067.0, + 20.0 + ] + ], + "center_px": [ + 1055.25, + 13.5 + ], + "area_px": 265.5 + }, + { + "image_points_px": [ + [ + 859.0, + 14.0 + ], + [ + 865.0, + 4.0 + ], + [ + 891.0, + 7.0 + ], + [ + 885.0, + 17.0 + ] + ], + "center_px": [ + 875.0, + 10.5 + ], + "area_px": 278.0 + }, + { + "image_points_px": [ + [ + 1122.0, + 40.0 + ], + [ + 1126.0, + 31.0 + ], + [ + 1153.0, + 36.0 + ], + [ + 1149.0, + 45.0 + ] + ], + "center_px": [ + 1137.5, + 38.0 + ], + "area_px": 263.0 + }, + { + "image_points_px": [ + [ + 1053.0, + 55.0 + ], + [ + 1058.0, + 46.0 + ], + [ + 1084.0, + 51.0 + ], + [ + 1080.0, + 60.0 + ] + ], + "center_px": [ + 1068.75, + 53.0 + ], + "area_px": 261.0 + }, + { + "image_points_px": [ + [ + 994.0, + 46.0 + ], + [ + 999.0, + 37.0 + ], + [ + 1025.0, + 42.0 + ], + [ + 1021.0, + 51.0 + ] + ], + "center_px": [ + 1009.75, + 44.0 + ], + "area_px": 261.0 + }, + { + "image_points_px": [ + [ + 959.0, + 54.0 + ], + [ + 965.0, + 44.0 + ], + [ + 990.0, + 49.0 + ], + [ + 985.0, + 58.0 + ] + ], + "center_px": [ + 974.75, + 51.25 + ], + "area_px": 267.0 + }, + { + "image_points_px": [ + [ + 937.0, + 37.0 + ], + [ + 942.0, + 28.0 + ], + [ + 968.0, + 33.0 + ], + [ + 962.0, + 42.0 + ] + ], + "center_px": [ + 952.25, + 35.0 + ], + "area_px": 257.0 + }, + { + "image_points_px": [ + [ + 538.0, + 263.0 + ], + [ + 545.0, + 264.0 + ], + [ + 546.0, + 285.0 + ], + [ + 524.0, + 280.0 + ] + ], + "center_px": [ + 538.25, + 273.0 + ], + "area_px": 295.0 + }, + { + "image_points_px": [ + [ + 1189.0, + 25.0 + ], + [ + 1192.0, + 17.0 + ], + [ + 1219.0, + 22.0 + ], + [ + 1215.0, + 31.0 + ] + ], + "center_px": [ + 1203.75, + 23.75 + ], + "area_px": 244.5 + }, + { + "image_points_px": [ + [ + 972.0, + 30.0 + ], + [ + 977.0, + 21.0 + ], + [ + 1002.0, + 25.0 + ], + [ + 997.0, + 35.0 + ] + ], + "center_px": [ + 987.0, + 27.75 + ], + "area_px": 260.0 + }, + { + "image_points_px": [ + [ + 915.0, + 21.0 + ], + [ + 921.0, + 12.0 + ], + [ + 945.0, + 17.0 + ], + [ + 940.0, + 26.0 + ] + ], + "center_px": [ + 930.25, + 19.0 + ], + "area_px": 248.0 + }, + { + "image_points_px": [ + [ + 950.0, + 14.0 + ], + [ + 955.0, + 5.0 + ], + [ + 980.0, + 10.0 + ], + [ + 974.0, + 19.0 + ] + ], + "center_px": [ + 964.75, + 12.0 + ], + "area_px": 248.0 + }, + { + "image_points_px": [ + [ + 644.0, + 16.0 + ], + [ + 651.0, + 8.0 + ], + [ + 675.0, + 12.0 + ], + [ + 667.0, + 21.0 + ] + ], + "center_px": [ + 659.25, + 14.25 + ], + "area_px": 233.5 + }, + { + "image_points_px": [ + [ + 479.0, + 29.0 + ], + [ + 488.0, + 20.0 + ], + [ + 510.0, + 24.0 + ], + [ + 502.0, + 33.0 + ] + ], + "center_px": [ + 494.75, + 26.5 + ], + "area_px": 236.5 + }, + { + "image_points_px": [ + [ + 886.0, + 676.0 + ], + [ + 902.0, + 688.0 + ], + [ + 897.0, + 702.0 + ], + [ + 881.0, + 690.0 + ] + ], + "center_px": [ + 891.5, + 689.0 + ], + "area_px": 284.0 + }, + { + "image_points_px": [ + [ + 465.0, + 13.0 + ], + [ + 474.0, + 5.0 + ], + [ + 496.0, + 9.0 + ], + [ + 488.0, + 17.0 + ] + ], + "center_px": [ + 480.75, + 11.0 + ], + "area_px": 214.0 + }, + { + "image_points_px": [ + [ + 737.0, + 52.0 + ], + [ + 745.0, + 48.0 + ], + [ + 768.0, + 52.0 + ], + [ + 763.0, + 57.0 + ] + ], + "center_px": [ + 753.25, + 52.25 + ], + "area_px": 139.5 + }, + { + "image_points_px": [ + [ + 682.0, + 43.0 + ], + [ + 685.0, + 39.0 + ], + [ + 712.0, + 43.0 + ], + [ + 708.0, + 48.0 + ] + ], + "center_px": [ + 696.75, + 43.25 + ], + "area_px": 135.0 + }, + { + "image_points_px": [ + [ + 698.0, + 301.0 + ], + [ + 711.0, + 305.0 + ], + [ + 701.0, + 326.0 + ], + [ + 696.0, + 321.0 + ] + ], + "center_px": [ + 701.5, + 313.25 + ], + "area_px": 211.5 + }, + { + "image_points_px": [ + [ + 941.0, + 167.0 + ], + [ + 936.0, + 196.0 + ], + [ + 933.0, + 178.0 + ], + [ + 935.0, + 171.0 + ] + ], + "center_px": [ + 936.25, + 178.0 + ], + "area_px": 105.5 + }, + { + "image_points_px": [ + [ + 551.0, + 134.0 + ], + [ + 541.0, + 148.0 + ], + [ + 527.0, + 146.0 + ], + [ + 539.0, + 133.0 + ] + ], + "center_px": [ + 539.5, + 140.25 + ], + "area_px": 192.0 + }, + { + "image_points_px": [ + [ + 1081.0, + 375.0 + ], + [ + 1075.0, + 396.0 + ], + [ + 1067.0, + 395.0 + ], + [ + 1073.0, + 375.0 + ] + ], + "center_px": [ + 1074.0, + 385.25 + ], + "area_px": 167.0 + }, + { + "image_points_px": [ + [ + 79.0, + 267.0 + ], + [ + 88.0, + 258.0 + ], + [ + 104.0, + 262.0 + ], + [ + 94.0, + 271.0 + ] + ], + "center_px": [ + 91.25, + 264.5 + ], + "area_px": 177.5 + }, + { + "image_points_px": [ + [ + 576.0, + 106.0 + ], + [ + 565.0, + 119.0 + ], + [ + 553.0, + 117.0 + ], + [ + 564.0, + 105.0 + ] + ], + "center_px": [ + 564.5, + 111.75 + ], + "area_px": 166.5 + }, + { + "image_points_px": [ + [ + 516.0, + 251.0 + ], + [ + 521.0, + 244.0 + ], + [ + 540.0, + 248.0 + ], + [ + 534.0, + 256.0 + ] + ], + "center_px": [ + 527.75, + 249.75 + ], + "area_px": 163.5 + }, + { + "image_points_px": [ + [ + 1085.0, + 332.0 + ], + [ + 1094.0, + 334.0 + ], + [ + 1088.0, + 353.0 + ], + [ + 1081.0, + 352.0 + ] + ], + "center_px": [ + 1087.0, + 342.75 + ], + "area_px": 163.5 + }, + { + "image_points_px": [ + [ + 490.0, + 279.0 + ], + [ + 497.0, + 278.0 + ], + [ + 517.0, + 284.0 + ], + [ + 511.0, + 285.0 + ] + ], + "center_px": [ + 503.75, + 281.5 + ], + "area_px": 59.5 + }, + { + "image_points_px": [ + [ + 449.0, + 350.0 + ], + [ + 455.0, + 349.0 + ], + [ + 476.0, + 355.0 + ], + [ + 471.0, + 356.0 + ] + ], + "center_px": [ + 462.75, + 352.5 + ], + "area_px": 54.5 + }, + { + "image_points_px": [ + [ + 986.0, + 405.0 + ], + [ + 1000.0, + 414.0 + ], + [ + 996.0, + 424.0 + ], + [ + 983.0, + 415.0 + ] + ], + "center_px": [ + 991.25, + 414.5 + ], + "area_px": 166.5 + }, + { + "image_points_px": [ + [ + 887.0, + 248.0 + ], + [ + 879.0, + 264.0 + ], + [ + 873.0, + 269.0 + ], + [ + 882.0, + 253.0 + ] + ], + "center_px": [ + 880.25, + 258.5 + ], + "area_px": 45.5 + }, + { + "image_points_px": [ + [ + 373.0, + 413.0 + ], + [ + 377.0, + 407.0 + ], + [ + 395.0, + 411.0 + ], + [ + 390.0, + 417.0 + ] + ], + "center_px": [ + 383.75, + 412.0 + ], + "area_px": 123.0 + }, + { + "image_points_px": [ + [ + 612.0, + 97.0 + ], + [ + 601.0, + 110.0 + ], + [ + 594.0, + 109.0 + ], + [ + 604.0, + 97.0 + ] + ], + "center_px": [ + 602.75, + 103.25 + ], + "area_px": 99.0 + }, + { + "image_points_px": [ + [ + 1136.0, + 104.0 + ], + [ + 1150.0, + 104.0 + ], + [ + 1158.0, + 108.0 + ], + [ + 1138.0, + 107.0 + ] + ], + "center_px": [ + 1145.5, + 105.75 + ], + "area_px": 57.0 + }, + { + "image_points_px": [ + [ + 746.0, + 553.0 + ], + [ + 745.0, + 570.0 + ], + [ + 739.0, + 571.0 + ], + [ + 737.0, + 569.0 + ] + ], + "center_px": [ + 741.75, + 565.75 + ], + "area_px": 75.5 + }, + { + "image_points_px": [ + [ + 1249.0, + 55.0 + ], + [ + 1260.0, + 55.0 + ], + [ + 1268.0, + 58.0 + ], + [ + 1250.0, + 57.0 + ] + ], + "center_px": [ + 1256.75, + 56.25 + ], + "area_px": 34.0 + } + ] +} \ No newline at end of file diff --git a/pipeline/render_1c_aruco_detection_camera_pose.json b/pipeline/render_1c_aruco_detection_camera_pose.json new file mode 100644 index 0000000..4e97dad --- /dev/null +++ b/pipeline/render_1c_aruco_detection_camera_pose.json @@ -0,0 +1,169 @@ +{ + "schema_version": "1.0", + "created_utc": "2026-05-28T14:19:28Z", + "source_detection_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1c_aruco_detection.json", + "camera_pose": { + "rvec_world_to_camera": [ + 2.263468911707335, + 0.4185279076232256, + -0.15618269854175848 + ], + "tvec_world_to_camera_mm": [ + -131.52071411361564, + 6.261008191633575, + 845.2175730094486 + ], + "R_world_to_camera": [ + [ + 0.9373310430689994, + 0.34765394455176385, + 0.023393386603497504 + ], + [ + 0.24733770712755493, + -0.6165675091799039, + -0.7474413456964855 + ], + [ + -0.24542733004306072, + 0.7063860427990407, + -0.6639157960213375 + ] + ], + "T_camera_world": [ + [ + 0.9373310430689994, + 0.34765394455176385, + 0.023393386603497504, + -131.52071411361564 + ], + [ + 0.24733770712755493, + -0.6165675091799039, + -0.7474413456964855, + 6.261008191633575 + ], + [ + -0.24542733004306072, + 0.7063860427990407, + -0.6639157960213375, + 845.2175730094486 + ], + [ + 0.0, + 0.0, + 0.0, + 1.0 + ] + ], + "R_camera_to_world": [ + [ + 0.9373310430689994, + 0.24733770712755493, + -0.24542733004306072 + ], + [ + 0.34765394455176385, + -0.6165675091799039, + 0.7063860427990407 + ], + [ + 0.023393386603497504, + -0.7474413456964855, + -0.6639157960213375 + ] + ], + "t_camera_in_world_mm": [ + 329.1693569840543, + -547.46586742482, + 568.9097490955903 + ], + "T_world_camera": [ + [ + 0.9373310430689994, + 0.24733770712755493, + -0.24542733004306072, + 329.1693569840543 + ], + [ + 0.34765394455176385, + -0.6165675091799039, + 0.7063860427990407, + -547.46586742482 + ], + [ + 0.023393386603497504, + -0.7474413456964855, + -0.6639157960213375, + 568.9097490955903 + ], + [ + 0.0, + 0.0, + 0.0, + 1.0 + ] + ], + "statistics": { + "rmse_px": 1.013497154241286, + "mean_px": 0.959948878595011, + "median_px": 0.98147711476875, + "max_px": 1.4670431124238368, + "per_corner_errors_px": [ + 0.7453912348426285, + 0.7217726973711857, + 1.0945509565073668, + 0.3852000087970229, + 0.8849242405465457, + 1.4670431124238368, + 1.0780299889909544, + 1.3026787892805474 + ], + "per_corner_residuals_px": [ + [ + -0.14935206506288523, + -0.7302753272853124 + ], + [ + -0.6208469528596652, + -0.3681098854898437 + ], + [ + 0.5489523368783011, + 0.9469388196853288 + ], + [ + 0.3286776763773105, + 0.20087317349123168 + ], + [ + 0.6565456329204267, + 0.5933285290629442 + ], + [ + -1.440736791251254, + 0.27657366477171763 + ], + [ + -0.6545732662175396, + -0.8565526815772273 + ], + [ + 1.3003287403698778, + -0.07821249906197636 + ] + ], + "num_correspondences": 8, + "num_inliers": 8, + "used_marker_ids": [ + 210, + 214 + ] + }, + "input": { + "detection_image_file": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1c.png", + "camera_id": "cam1", + "marker_dictionary": "DICT_4X4_250" + } + } +} \ No newline at end of file diff --git a/pipeline/run.bat b/pipeline/run.bat new file mode 100644 index 0000000..5d56680 --- /dev/null +++ b/pipeline/run.bat @@ -0,0 +1,6 @@ + +python3 1_detect_aruco_observations.py --image render_1a.png -npz render.npz -robot ../robot.json -cameraId cam1 -outDir . +python3 1_detect_aruco_observations.py --image render_1b.png -npz render.npz -robot ../robot.json -cameraId cam1 -outDir . +python3 1_detect_aruco_observations.py --image render_1c.png -npz render.npz -robot ../robot.json -cameraId cam1 -outDir . + +python3 2_KameraPosition.py --robot ../robot.json --detections render_1a_aruco_detection.json render_1b_aruco_detection.json render_1c_aruco_detection.json --outdir . --write-summary \ No newline at end of file diff --git a/render.png b/render.png index 1f80d8e..b3de365 100644 Binary files a/render.png and b/render.png differ diff --git a/render_robot.py b/render_robot.py index 6c0615d..dc89c00 100644 --- a/render_robot.py +++ b/render_robot.py @@ -649,11 +649,6 @@ for link_name, link_info in links_def.items(): else: marker_obj.data.materials[0] = marker_mat - print("Marker:", marker_name) - print("WORLD POS:", marker_obj.matrix_world.translation) - print("LOCAL POS:", marker_obj.location) - - # -------------------------------------------------------- # -------------------------------------------------------- # BACKING PLATE (white PLA behind marker) diff --git a/robot.json b/robot.json index ad65e5c..f23da2b 100644 --- a/robot.json +++ b/robot.json @@ -16,8 +16,8 @@ "renderingInfo": { "width": 1280, "height": 720, - "cameraPosition": [-150, -400, 800], - "cameraTarget": [230, -180, 180], + "cameraPosition": [370, -600, 500], + "cameraTarget": [210, -180, 180], "cameraUpVector": [0, 0, 1], "lightPosition": [-500, -500, 500], "lightTarget": [0, 0, 0], @@ -78,13 +78,13 @@ } }, "defaultPosition": { - "x": 150, + "x": 100, "y": 30, - "z": -40, - "a": 260, - "b": 0, - "c": 0, - "e": 0 + "z": -30, + "a": -120, + "b": 22, + "c": 91, + "e": 10 }, "recognized": { "x": null, @@ -117,15 +117,15 @@ "color": [0.85, 0.20, 0.20] }, "markers":[ - {"id":205,"position":[800, -90, 0.3], "normal":[0,0,1]}, - {"id":206,"position":[600, 0, 0.3], "normal":[0,0,1]}, - {"id":207,"position":[800, 0, 0.3], "normal":[0,0,1]}, - {"id":208,"position":[500, -90, 0.3], "normal":[0,0,1]}, - {"id":210,"position":[0, 0.0, 0.3], "normal":[0,0,1]}, - {"id":211,"position":[200, 0.0, 0.3], "normal":[0,0,1]}, - {"id":214,"position":[400, 0.0, 0.3], "normal":[0,0,1]}, - {"id":215,"position":[200, -90, 0.3], "normal":[0,0,1]}, - {"id":217,"position":[600, -90, 0.3], "normal":[0,0,1]} + {"id":210,"position":[20, -20, 0.3], "normal":[0,0,1]}, + {"id":211,"position":[250, -10, 0.3], "normal":[0,0,1]}, + {"id":215,"position":[250, -90, 0.3], "normal":[0,0,1]}, + {"id":214,"position":[350, -10, 0.3], "normal":[0,0,1]}, + {"id":208,"position":[350, -90, 0.3], "normal":[0,0,1]}, + {"id":206,"position":[650, -10, 0.3], "normal":[0,0,1]}, + {"id":205,"position":[750, -90, 0.3], "normal":[0,0,1]}, + {"id":207,"position":[750, -10, 0.3], "normal":[0,0,1]}, + {"id":217,"position":[650, -90, 0.3], "normal":[0,0,1]} ], "model": [ { @@ -330,13 +330,14 @@ ], "markers":[ - {"id":228, "position":[-24.75, -112, 24.75],"normal":[-1,0,1], "relPosSource":["Fusion","Fusion","Fusion"]}, - {"id": 122, "name": "aruco_122", "position":[-24.75, -182, 24.75],"normal":[-1,0,1], "relPosSource":["Fusion","Fusion","Fusion"]}, - {"id": 122, "name": "aruco_122", "position":[-35,-112,0], "normal":[-1,0,0], "relPosSource":["Fusion","Fusion","Fusion"]}, - {"id": 124, "name": "aruco_124", "position":[-35,-219,0], "normal":[-1,0,0], "relPosSource":["Fusion","Fusion","Fusion"]}, - {"id":223,"name": "aruco_223", "position":[-28.67,-112,-20.08], "normal":[-28.67,0,-20.08], "relPosSource":["Fusion","Fusion","Fusion"]}, - {"id":218,"name": "aruco_218", "position":[35,-112,0], "normal":[1,0,0], "relPosSource":["Fusion","Fusion","Fusion"]}, - {"id":219, "name": "aruco_219", "position":[35,-219,0], "normal":[1,0,0], "relPosSource":["Fusion","Fusion","Fusion"]} + {"id":124, "position":[24.75, -112, -24.75],"normal":[1,0,-1]}, + {"id":122, "name": "aruco_122", "position":[-35,-112,0], "normal":[-1,0,0]}, + {"id":218, "name": "aruco_218", "position":[35,-112,0], "normal":[1,0,0]}, + {"id":122, "name": "aruco_122", "position":[0, -182, 30],"normal":[0,0,1]}, + {"id":101, "name": "aruco_122", "position":[ 24.75, -182, -24.75],"normal":[ 1,0,-1]}, + {"id":102, "name": "aruco_122", "position":[-24.75, -182, -24.75],"normal":[-1,0,-1]}, + {"id":124, "name": "aruco_124", "position":[-35,-219,0], "normal":[-1,0,0]}, + {"id":219, "name": "aruco_219", "position":[35,-219,0], "normal":[1,0,0]} ] }, @@ -383,6 +384,62 @@ "radius": 7, "color": [0.95, 0.20, 0.20] } + }, + "FingerA": { + "parent": "Palm", + "size": [80, 60, 20], + "mountPosition": [0, 0, 0], + "mountRotation": [0, 0, 0], + "jointToParent": { + "name": "Slider", + "type": "linear", + "axis": [1, 0, 0], + "origin": [4, -35,0], + "rotation": [0, 0, 0], + "variable": "e" + }, + "skeleton": { + "from": [0, 0,0], + "to": [0, -60, 0], + "radius": 4, + "color": [0.20, 0.80, 0.20] + }, + "model": [ + { + "stlFile": "surfaces/Finger.stl", + "originOfModel": [24,0,-9.1], + "rotationOfModelDegree": [90, -90,0], + "material": "defaultPlastic" + } + ] + }, + "FingerB": { + "parent": "Palm", + "size": [80, 60, 20], + "mountPosition": [0, 0, 0], + "mountRotation": [0, 0, 0], + "jointToParent": { + "name": "Slider", + "type": "linear", + "axis": [-1, 0, 0], + "origin": [-4, -35,0], + "rotation": [0, 0, 0], + "variable": "e" + }, + "skeleton": { + "from": [0, 0,0], + "to": [0, -60, 0], + "radius": 4, + "color": [0.20, 0.80, 0.20] + }, + "model": [ + { + "stlFile": "surfaces/Finger.stl", + "originOfModel": [-24,0,9.1], + "rotationOfModelDegree": [90, 90,0], + "material": "defaultPlastic" + } + ] } } } \ No newline at end of file diff --git a/surfaces/Finger.stl b/surfaces/Finger.stl new file mode 100644 index 0000000..073934e Binary files /dev/null and b/surfaces/Finger.stl differ