ultralytics / ultralytics

NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite
https://docs.ultralytics.com
GNU Affero General Public License v3.0
28.62k stars 5.69k forks source link

MOTA and MOTP calculation #8252

Closed Shuaib11-Github closed 5 months ago

Shuaib11-Github commented 7 months ago

Search before asking

Question

I have for tracking for a single output as below, Object IDs: tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23.]) Bounding Boxes: tensor([[1746.5852, 532.9240, 1919.6624, 752.6738], [ 671.1702, 433.9525, 746.4346, 495.2292], [ 631.0151, 388.8817, 681.9429, 427.3249], [ 750.9922, 409.3558, 809.0884, 456.6566], [1128.0063, 430.8089, 1202.2113, 484.1173], [1794.8990, 446.9329, 1918.4865, 507.2599], [1163.6973, 349.8423, 1202.3220, 381.4899], [1065.2070, 413.3709, 1131.9819, 464.2481], [ 852.6096, 404.4958, 911.0833, 446.3598], [1215.1777, 381.8876, 1265.1753, 421.5816], [1368.8850, 399.9973, 1424.5498, 440.3634], [ 957.9658, 404.4436, 1029.3635, 465.9520], [1518.6152, 334.2286, 1562.8381, 368.8765], [1609.2129, 333.2341, 1690.6794, 460.3948], [1027.0447, 340.4250, 1060.4711, 368.0705], [ 609.4783, 363.4427, 644.3919, 386.9360], [1131.8442, 349.2545, 1160.5519, 374.2233], [ 972.8117, 342.3387, 1005.2701, 366.1255], [ 908.2639, 302.0847, 956.2980, 336.6221], [1579.6724, 410.7565, 1613.2292, 459.0648], [1202.4021, 317.7359, 1228.8746, 340.8892], [ 761.5058, 364.0521, 793.8737, 388.1438], [ 842.4190, 361.6234, 886.5723, 391.3627]])

For ground truth the file looks like this Frame_number, object_id, bounding boxes 41 34710 952.0 0.0 79.0 14.0

but I have 300 such instances for which I need to calculate iou_matrix and MOTA and MOTP metrics. I am having difficulty in doing this. I don't know how do I calculate MOTA and MOTP for the above, here is the code

from ultralytics import YOLO import motmetrics as mm import os import numpy as np

def parse_ground_truth(file_path): ground_truth = {} with open(file_path, 'r') as file: for line in file: parts = line.strip().split() frame_number, obj_id, x_min, y_min, x_max, y_max = int(parts[0]), int(parts[1]), float(parts[2]), float(parts[3]), float(parts[4]), float(parts[5]) bbox = (x_min, y_min, x_max, y_max)

        if frame_number not in ground_truth:
            ground_truth[frame_number] = []
        ground_truth[frame_number].append((obj_id, bbox))
return ground_truth

Load the YOLO model

model = YOLO('/home/rmarri/speed-estimation/bdd-yolo-finetune/runs/detect/train24/weights/best.pt')

Directories

video_dir = "/home/rmarri/speed-estimation/bdd-yolo-finetune/60fpsVidoes" # Update this path ground_truth_dir = "/home/rmarri/speed-estimation/bdd-yolo-finetune/60fpsvideolabels" # Update this path

Initialize MOT metrics

mh = mm.metrics.create() print("MOT initialized")

def calculate_iou(boxA, boxB):

Calculate the coordinates of the intersection rectangle

xA = max(boxA[0], boxB[0])
yA = max(boxA[1], boxB[1])
xB = min(boxA[2], boxB[2])
yB = min(boxA[3], boxB[3])

# Calculate the area of intersection
interArea = max(0, xB - xA) * max(0, yB - yA)

# Calculate the area of both bounding boxes
boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1])
boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1])

# Calculate the area of union
unionArea = boxAArea + boxBArea - interArea

# Compute IoU
iou = interArea / float(unionArea + 1e-6)  # Adding epsilon to avoid division by zero

return iou

for video_file in os.listdir(video_dir): if not video_file.endswith(".MOV"): continue # Skip non-video files

video_path = os.path.join(video_dir, video_file)
ground_truth_path = os.path.join(ground_truth_dir, video_file.replace(".MOV", ".txt"))

if not os.path.exists(ground_truth_path):
    print(f"Skipping {video_file}: ground truth file not found.")
    continue

print(f"Processing {video_file}...")
results = model.track(source=video_path, show=True, tracker='botsort.yaml')

ground_truth_data = parse_ground_truth(ground_truth_path)
acc = mm.MOTAccumulator(auto_id=True)

for frame_number, result in enumerate(results, start=1):  # Adjust starting frame number as necessary
    if frame_number not in ground_truth_data:
        continue  # Skip this frame if no ground truth data

    # Detection data
    det_boxes = result.boxes.xyxy.cpu().numpy()  # Assuming this is the correct way to access your detection bounding boxes
    det_ids = result.[boxes.id](http://boxes.id/)  # Assuming this is the correct way to access your detection IDs
    det_ids_np = np.array(det_ids)
    # Ground truth data for the current frame
    gt_ids, gt_boxes = zip(*ground_truth_data[frame_number])
    gt_boxes_np = np.array(gt_boxes)
    print('GT IDs:', gt_ids)
    print('DET IDs:', det_ids_np)
    print('GT Boxes:', gt_boxes_np)
    print('DET Boxes:', det_boxes)

    # # Example usage
    # gt_boxes = np.array([[961.94, 0, 80.45, 14.258]])
    # det_boxes = np.array([[0, 0, 1386.8, 1066.7], [18.699, 453.94, 73.065, 504.86], [75.047, 454.59, 134.77, 506.24]])

    iou_matrix = np.zeros((len(det_boxes), len(gt_boxes)))

    for i, det_box in enumerate(det_boxes):
        for j, gt_box in enumerate(gt_boxes):
            iou_matrix[i, j] = calculate_iou(det_box, gt_box)

    print("IoU Matrix:\n", iou_matrix)

    # Calculate IoU matrix
    # iou_matrix = mm.distances.iou_matrix(gt_boxes_np, det_boxes, max_iou=0.5)  # Adjust max_iou as needed
    # print("IOU_Matrix", iou_matrix)
# Update accumulator with frame's data
    acc.update(
        gt_ids,
        det_ids,
        iou_matrix
    )

Compute metrics after processing all frames

mh = mm.metrics.create() summary = mh.compute(acc, metrics=mm.metrics.motchallenge_metrics, name='acc') print(summary)

Additional

I have a ground truth data with frame_no, object_id, bounding boxes. ground truth data looks like this 41 1 952.0 0.0 79.0 14.0 42 1 954.7936639291984 0.0 83.82589528209907 14.867768595041323 44 1 961.9401867331467 0.0 80.44983453823076 14.258238809086198 50 1 969.075503083659 0.0 83.46678106945829 14.803607257496001 51 1 966.6347111485035 0.0 92.04233446195347 16.424031424653666 52 1 965.5744302572999 0.0 94.57271250223188 16.980587070598872 53 1 964.526253119986 0.0 98.34157491788552 17.83726246673933

I am getting this GT IDs: (334710,) # groundtruth DET IDs: [ 1] # detection GT Boxes: [[ 952 0 79 14]] DET Boxes: [[ 0 2.9919 1295.9 1076.3]] IoU Matrix: [[ 0]] GT IDs: (334710,) DET IDs: [ 1] GT Boxes: [[ 954.79 0 83.826 14.868]] DET Boxes: [[ 0 2.0868 1276.7 1073.6]] IoU Matrix: [[ 0]] GT IDs: (334710,) DET IDs: None GT Boxes: [[ 961.94 0 80.45 14.258]] DET Boxes: [[ 0 0 1386.8 1066.7] [ 18.699 453.94 73.065 504.86] [ 75.047 454.59 134.77 506.24]] IoU Matrix: [[ 0] [ -0] [ -0]] Traceback (most recent call last): File "botsort2.py", line 108, in acc.update( File "/home/rmarri/anaconda3/envs/yoloft/lib/python3.8/site-packages/motmetrics/mot.py", line 181, in update dists = np.atleast_2d(dists).astype(float).reshape(oids.shape[0], hids.shape[0]).copy() IndexError: tuple index out of range

And for tracking I don't know how to get frame_no. For some of the frames the object_ids is None. I want to calculate MOTA and MOTP metrics for ground truth and tracking.

Shuaib11-Github commented 7 months ago

Hello Glenn, can you provide a simple example code on how to do this. I need to calculate MOTA and MOTP metrics. But for that they should be in same format.

My ground truth file is a .txt file with frame no, Object IDs, Bounding boxes

And the tracking has for some frame has objects IDs as None and for others it has detected and bounding boxes are in tensors for each object detected. For tracking how do can we obtain frame number

This is for the 300th frame and some frames have bounding boxes but no Object IDs For the 300th frame it has detected 23 objects Object IDs: tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23.]) Bounding Boxes: tensor([[1746.5852, 532.9240, 1919.6624, 752.6738], [ 671.1702, 433.9525, 746.4346, 495.2292], [ 631.0151, 388.8817, 681.9429, 427.3249], [ 750.9922, 409.3558, 809.0884, 456.6566], [1128.0063, 430.8089, 1202.2113, 484.1173], [1794.8990, 446.9329, 1918.4865, 507.2599], [1163.6973, 349.8423, 1202.3220, 381.4899], [1065.2070, 413.3709, 1131.9819, 464.2481], [ 852.6096, 404.4958, 911.0833, 446.3598], [1215.1777, 381.8876, 1265.1753, 421.5816], [1368.8850, 399.9973, 1424.5498, 440.3634], [ 957.9658, 404.4436, 1029.3635, 465.9520], [1518.6152, 334.2286, 1562.8381, 368.8765], [1609.2129, 333.2341, 1690.6794, 460.3948], [1027.0447, 340.4250, 1060.4711, 368.0705], [ 609.4783, 363.4427, 644.3919, 386.9360], [1131.8442, 349.2545, 1160.5519, 374.2233], [ 972.8117, 342.3387, 1005.2701, 366.1255], [ 908.2639, 302.0847, 956.2980, 336.6221], [1579.6724, 410.7565, 1613.2292, 459.0648], [1202.4021, 317.7359, 1228.8746, 340.8892], [ 761.5058, 364.0521, 793.8737, 388.1438], [ 842.4190, 361.6234, 886.5723, 391.3627]])

I have a ground truth data for 300 frames with frame_no, object_id, bounding boxes. ground truth data looks like this in a .txt file

41 1 952.0 0.0 79.0 14.0 42 1 954.7936639291984 0.0 83.82589528209907 14.867768595041323 44 1 961.9401867331467 0.0 80.44983453823076 14.258238809086198 50 1 969.075503083659 0.0 83.46678106945829 14.803607257496001 51 1 966.6347111485035 0.0 92.04233446195347 16.424031424653666 52 1 965.5744302572999 0.0 94.57271250223188 16.980587070598872 53 1 964.526253119986 0.0 98.34157491788552 17.83726246673933 ....

On Sat, 17 Feb 2024, 1:04 am Glenn Jocher, @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github hello! It looks like you're on the right track with your tracking and validation efforts. For calculating MOTA and MOTP, you'll need to ensure that your detections and ground truth annotations are correctly paired by frame and object ID. Here's a simplified approach to help you:

  1. Make sure your ground truth and detection data are synchronized by frame number.
  2. Use the motmetrics library to create an accumulator and update it with the IoU matrix for each frame.
  3. After processing all frames, compute the MOTA and MOTP metrics using the accumulator.

Here's a snippet to guide you:

Initialize MOT metrics accumulatoracc = mm.MOTAccumulator(auto_id=True)

Loop through each framefor frame_number in range(start_frame, end_frame):

# Get ground truth and detection data for the current frame
gt_data = ground_truth_data.get(frame_number, [])
det_data = detection_data.get(frame_number, [])

# Extract IDs and bounding boxes
gt_ids, gt_boxes = zip(*gt_data) if gt_data else ([], [])
det_ids, det_boxes = zip(*det_data) if det_data else ([], [])

# Calculate IoU matrix
iou_matrix = mm.distances.iou_matrix(gt_boxes, det_boxes, max_iou=0.5)

# Update the accumulator
acc.update(
    gt_ids,
    det_ids,
    iou_matrix
)

Compute MOTA and MOTPsummary = mh.compute(acc, metrics=['mota', 'motp'], name='acc')print(summary)

For the IndexError you're encountering, it seems there might be a mismatch in the dimensions of your IDs and bounding boxes. Double-check that the lengths of gt_ids and det_ids match the number of rows in your iou_matrix.

Regarding the frame number, if you're using model.track(), the frame number is typically the index of the frame in the video or stream. If object_ids is None for some frames, it means no detections were made in that frame. You can handle this by checking if det_ids is not None before updating the accumulator.

I hope this helps! If you have further questions or run into more issues, feel free to reach out. Good luck with your tracking project! 👍🏼

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1949206807, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2A3Q2774BDYRZUKKSTYT6YF5AVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBZGIYDMOBQG4 . You are receiving this because you were mentioned.Message ID: @.***>

Shuaib11-Github commented 7 months ago

There are some of the frames with no Object IDs detected. How do I get rid of these.

And Bounding boxes are in tensors

For the 300th frame it has detected 23 objects Object IDs: tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23.]) Bounding Boxes: tensor([[1746.5852, 532.9240, 1919.6624, 752.6738], [ 671.1702, 433.9525, 746.4346, 495.2292], [ 631.0151, 388.8817, 681.9429, 427.3249], [ 750.9922, 409.3558, 809.0884, 456.6566], [1128.0063, 430.8089, 1202.2113, 484.1173], [1794.8990, 446.9329, 1918.4865, 507.2599], [1163.6973, 349.8423, 1202.3220, 381.4899], [1065.2070, 413.3709, 1131.9819, 464.2481], [ 852.6096, 404.4958, 911.0833, 446.3598], [1215.1777, 381.8876, 1265.1753, 421.5816], [1368.8850, 399.9973, 1424.5498, 440.3634], [ 957.9658, 404.4436, 1029.3635, 465.9520], [1518.6152, 334.2286, 1562.8381, 368.8765], [1609.2129, 333.2341, 1690.6794, 460.3948], [1027.0447, 340.4250, 1060.4711, 368.0705], [ 609.4783, 363.4427, 644.3919, 386.9360], [1131.8442, 349.2545, 1160.5519, 374.2233], [ 972.8117, 342.3387, 1005.2701, 366.1255], [ 908.2639, 302.0847, 956.2980, 336.6221], [1579.6724, 410.7565, 1613.2292, 459.0648], [1202.4021, 317.7359, 1228.8746, 340.8892], [ 761.5058, 364.0521, 793.8737, 388.1438], [ 842.4190, 361.6234, 886.5723, 391.3627]])

I have a ground truth data for 300 frames with frame_no, object_id, bounding boxes. ground truth data looks like this in a .txt file

41 1 952.0 0.0 79.0 14.0 42 1 954.7936639291984 0.0 83.82589528209907 14.867768595041323 44 1 961.9401867331467 0.0 80.44983453823076 14.258238809086198 50 1 969.075503083659 0.0 83.46678106945829 14.803607257496001 51 1 966.6347111485035 0.0 92.04233446195347 16.424031424653666 52 1 965.5744302572999 0.0 94.57271250223188 16.980587070598872 53 1 964.526253119986 0.0 98.34157491788552 17.83726246673933 ....

and some of the frames of ground truth data has multiple rows like below 341, 1, 1412.3, 0.0, 14.0, 93.2 341, 10, 0.0, 0.0, 14.0, 93.2 341, 13, 512.5, 55.6, 212.3, 1312.8 341, 21, 221.9, 80.4, 70.3, 832.4

How do I interpret the above and everything should be in the same format and multiple objects detected should have multiple rows 1 for each. Like in the above tracking of 300th image has 23 different objects we should have 23 rows with each row for each object detected and bounding boxes.

And also, How do I map the frame number of ground truth and tracking to detect the object in the frame and compare with ground truth.

If ground truth has 3 objects for a particular frame then tracking should have 3 objects detected to compare them.

Can you help me with these with code.

On Sat, 17 Feb 2024, 10:14 am Glenn Jocher, @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github to calculate MOTA (Multiple Object Tracking Accuracy) and MOTP (Multiple Object Tracking Precision), you need to compare the tracking results with the ground truth data frame by frame. The MOTA metric evaluates the overall tracking performance, including misses, false positives, and mismatches, while MOTP measures the precision of the object localization.

Here's a step-by-step guide to calculate MOTA and MOTP using the motmetrics library:

1.

Parse the ground truth data and store it in a dictionary with frame numbers as keys and lists of (object_id, bbox) tuples as values. 2.

Run the YOLO model to track objects in the video and store the results. 3.

For each frame, create an IoU (Intersection over Union) matrix that compares each detected bounding box with each ground truth bounding box. 4.

Update the MOTAccumulator with the ground truth IDs, detected IDs, and the IoU matrix for each frame. 5.

After processing all frames, compute the MOTA and MOTP metrics using the MOTAccumulator.

Here's a modified version of your code that should help you calculate MOTA and MOTP:

from ultralytics import YOLOimport motmetrics as mmimport osimport numpy as np

... [Your existing code for parse_ground_truth and calculate_iou functions] ...

Load the YOLO modelmodel = YOLO('/path/to/your/model.pt')

Directoriesvideo_dir = "/path/to/your/video/dir"ground_truth_dir = "/path/to/your/ground_truth/dir"

Initialize MOT metricsacc = mm.MOTAccumulator(auto_id=True)

Process each videofor video_file in os.listdir(video_dir):

if not video_file.endswith(".MOV"):
    continue  # Skip non-video files

video_path = os.path.join(video_dir, video_file)
ground_truth_path = os.path.join(ground_truth_dir, video_file.replace(".MOV", ".txt"))

if not os.path.exists(ground_truth_path):
    continue  # Skip if ground truth file not found

ground_truth_data = parse_ground_truth(ground_truth_path)

# Run tracking
results = model.track(source=video_path, show=True, tracker='botsort.yaml')

for frame_number, result in enumerate(results, start=1):
    if frame_number not in ground_truth_data:
        continue  # Skip if no ground truth for frame

    # Get ground truth and detection data for the current frame
    gt_ids, gt_boxes = zip(*ground_truth_data[frame_number])
    det_boxes = result.boxes.xyxy.cpu().numpy()
    det_ids = result.boxes.id.cpu().numpy()

    # Calculate IoU matrix
    iou_matrix = np.zeros((len(det_boxes), len(gt_boxes)), dtype=np.float32)
    for d, det in enumerate(det_boxes):
        for g, gt in enumerate(gt_boxes):
            iou_matrix[d, g] = calculate_iou(det, gt)

    # Update the accumulator
    acc.update(
        gt_ids,
        det_ids,
        iou_matrix
    )

Compute MOTA and MOTPsummary = mm.metrics.create().compute(acc, metrics=['mota', 'motp'], name='acc')print(summary)

Please note the following:

  • Ensure that the calculate_iou function is correctly implemented.
  • The track method should return results with frame numbers, object IDs, and bounding boxes.
  • The MOTAccumulator is updated with the ground truth IDs, detected IDs, and the IoU matrix for each frame.
  • After processing all frames, the compute method calculates the MOTA and MOTP metrics.

Make sure to adjust the paths and model file according to your setup. The code assumes that the track method returns results in the same order as the frames in the video. If the tracking results do not include frame numbers, you may need to modify the code to handle this.

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1949645804, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2FCJV5BRCKDK66MYS3YUAYRPAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBZGY2DKOBQGQ . You are receiving this because you were mentioned.Message ID: @.***>

Shuaib11-Github commented 7 months ago

Will it work if as I have a frame that is not detected from tracking but there is a frame in ground truth. I have a frame 44 in ground truth but it is not detected in tracking will the code you provided work for that. If not can you suggest how to deal with that. Thanks for the help.

On Sat, 17 Feb 2024, 7:03 pm Glenn Jocher, @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github to calculate MOTA (Multiple Object Tracking Accuracy) and MOTP (Multiple Object Tracking Precision), you need to compare the tracking results with the ground truth data frame by frame. The MOTA metric evaluates the overall tracking performance, considering false positives, false negatives, and identity switches, while MOTP measures the precision of the object localization.

Here's a step-by-step guide to calculate MOTA and MOTP using your tracking results and ground truth data:

1.

Parse Ground Truth Data: You've already implemented the parse_ground_truth function to read the ground truth data from a file and organize it by frame number. 2.

Run Tracking: You're using the model.track method to perform tracking on the video. Ensure that the tracking results include frame numbers, object IDs, and bounding boxes. 3.

Calculate IoU Matrix: For each frame, calculate the Intersection over Union (IoU) between each detected bounding box and each ground truth bounding box. You've implemented the calculate_iou function for this purpose. 4.

Update MOT Metrics: Use the mm.MOTAccumulator to accumulate the tracking results and ground truth data. For each frame, update the accumulator with the ground truth IDs, detected IDs, and the IoU matrix. 5.

Compute MOTA and MOTP: After processing all frames, compute the MOTA and MOTP metrics using the mm.metrics.create and mh.compute functions.

Here's a modified version of your code that includes the necessary changes:

import motmetrics as mmimport numpy as npfrom ultralytics import YOLO

Load the YOLO modelmodel = YOLO('path/to/your/model.pt')

Initialize MOT metricsmh = mm.metrics.create()acc = mm.MOTAccumulator(auto_id=True)

Your ground truth parsing and tracking code here...

For each frame in the videofor frame_number in range(1, total_frames + 1):

# Get tracking results for the current frame
track_results = ...  # Retrieve tracking results for the current frame

# Get ground truth data for the current frame
gt_data = ground_truth_data.get(frame_number, [])

# Extract ground truth IDs and boxes
gt_ids, gt_boxes = zip(*gt_data) if gt_data else ([], [])

# Extract tracking IDs and boxes
track_ids = track_results.boxes.id.cpu().numpy()
track_boxes = track_results.boxes.xyxy.cpu().numpy()

# Calculate IoU matrix
iou_matrix = mm.distances.iou_matrix(gt_boxes, track_boxes, max_iou=0.5)

# Update the accumulator
acc.update(
    gt_ids,
    track_ids,
    iou_matrix
)

Compute MOTA and MOTPsummary = mh.compute(acc, metrics=['mota', 'motp'], name='acc')print(summary)

Please note that you need to replace the ... with the actual code to retrieve tracking results for the current frame. Also, ensure that total_frames is set to the total number of frames in the video.

Regarding the IndexError you're encountering, it seems that there's a mismatch in the dimensions of the IDs and the IoU matrix. Make sure that the number of rows in the IoU matrix corresponds to the number of ground truth IDs and the number of columns corresponds to the number of detected IDs.

Lastly, to include frame numbers in the tracking results, you may need to modify the tracking code to output frame numbers alongside the object IDs and bounding boxes. If the tracking results do not include frame numbers, you might need to synchronize the tracking results with the video frames manually.

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1950175332, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2FVR77RIUACGUQEIK3YUCWQ3AVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJQGE3TKMZTGI . You are receiving this because you were mentioned.Message ID: @.***>

Shuaib11-Github commented 7 months ago

This is tracking data sample 41 1 0.0 2.991943359375 1295.934814453125 1076.286376953125 42 1 0.0 2.0867919921875 1276.67138671875 1073.5755615234375 50 1 0.0 0.0 1292.53076171875 1056.46826171875 51 1 0.0 2.98565673828125 1244.7637939453125 1070.510986328125 53 1 0.0 0.72564697265625 1303.447509765625 1056.89599609375 59 1 0.0 1.16705322265625 1381.504638671875 1073.988525390625 66 1 0.066650390625 1.24310302734375 1389.87744140625 1074.4794921875 66 2 1051.4501953125 0.0 1136.028564453125 24.507951736450195 70 1 0.0 2.107666015625 1404.94970703125 1079.3447265625 71 1 0.195556640625 0.25830078125 1392.21337890625 1077.80224609375

and this is ground truth data 41 1 952.0 0.0 79.0 14.0 42 1 954.7936639291984 0.0 83.82589528209907 14.867768595041323 44 1 961.9401867331467 0.0 80.44983453823076 14.258238809086198 50 1 969.075503083659 0.0 83.46678106945829 14.803607257496001 51 1 966.6347111485035 0.0 92.04233446195347 16.424031424653666 52 1 965.5744302572999 0.0 94.57271250223188 16.980587070598872 53 1 964.526253119986 0.0 98.34157491788552 17.83726246673933 54 1 965.7501778364752 0.0 102.20444662465452 18.800184061594656 55 1 969.1053137744819 0.0 102.91859502372226 19.153099817791407 56 1 970.5560915076899 0.0 105.29096060241983 19.91337068162944 57 1 972.0155565259095 0.0 108.09013071205162 20.83284596868358 58 1 973.2535988744531 0.0 110.86650354923741 21.8132671569829 59 1 976.0770694778238 0.0 107.74601715697568 21.544701522440825 65 2 1043.6441831683169 0.0 95.11163366336633 23.8

The tracking is not detecting the objects properly (bounding boxes values are completely off when compared to ground truth) and there are some of the frames that didn't got detected. How to deal with this.

On Mon, Feb 19, 2024 at 5:30 AM Glenn Jocher @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github to calculate MOTA (Multiple Object Tracking Accuracy) and MOTP (Multiple Object Tracking Precision), you need to compare the ground truth data with the tracking results. The IoU (Intersection over Union) matrix is used to determine the overlap between predicted bounding boxes and ground truth bounding boxes. Based on this overlap, you can determine matches, mismatches, and missed detections, which are then used to calculate MOTA and MOTP.

Here's a step-by-step guide to calculate MOTA and MOTP:

  1. Parse the ground truth data and organize it by frame number.
  2. For each frame, get the predicted bounding boxes and object IDs from the tracking results.
  3. Calculate the IoU matrix between the predicted bounding boxes and the ground truth bounding boxes.
  4. Use the IoU matrix to determine matches (correct detections), mismatches (identity switches), and missed detections (false negatives).
  5. Accumulate these counts over all frames to calculate MOTA and MOTP.

Your current code seems to be on the right track, but there are a few issues that need to be addressed:

  • The ground truth parsing function assumes a specific format for the ground truth file. Make sure the format matches your actual ground truth data.
  • The IoU calculation function seems correct, but you need to ensure that the bounding box coordinates are in the correct format (either xyxy or xywh).
  • The tracking results need to be organized by frame number, which is currently missing from your code.
  • The accumulator update function requires the correct number of detections and ground truth objects for each frame. Make sure the lengths of gt_ids and det_ids match the dimensions of the iou_matrix.
  • Handle cases where det_ids is None by skipping the update for that frame or by providing an empty list of detections.

Here's a modified version of your code that addresses some of these issues:

... [rest of your code] ...

for frame_number in range(1, max(ground_truth_data.keys()) + 1): if frame_number not in ground_truth_data: continue # Skip this frame if no ground truth data

# Get the tracking results for the current frame
# Note: You need to modify your tracking code to provide results by frame number
tracking_results = get_tracking_results_for_frame(frame_number)  # Implement this function

if tracking_results is None:
    det_ids = []
    det_boxes = []
else:
    det_ids = tracking_results['object_ids'].tolist()
    det_boxes = tracking_results['bounding_boxes'].tolist()

# Ground truth data for the current frame
gt_ids, gt_boxes = zip(*ground_truth_data[frame_number])

# Calculate IoU matrix
iou_matrix = np.zeros((len(det_boxes), len(gt_boxes)))
for i, det_box in enumerate(det_boxes):
    for j, gt_box in enumerate(gt_boxes):
        iou_matrix[i, j] = calculate_iou(det_box, gt_box)

# Update accumulator with frame's data
acc.update(
    gt_ids,
    det_ids,
    iou_matrix
)

Compute metrics after processing all framessummary = mh.compute(acc, metrics=mm.metrics.motchallenge_metrics, name='acc')strsummary = mm.io.render_summary(

summary,
formatters=mh.formatters,
namemap=mm.io.motchallenge_metric_names

)print(strsummary)

Please note that you need to implement the get_tracking_results_for_frame function to retrieve the tracking results for each frame number. This function should return a dictionary with object_ids and bounding_boxes for the detections in that frame.

Additionally, you need to handle cases where there are no detections ( det_ids is None) by providing an empty list of detections to the accumulator update function.

Lastly, the mm.metrics.create() function should be called outside the loop, and the accumulator should be updated within the loop for each frame. After processing all frames, you can compute the summary of metrics using mh.compute().

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1951491057, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2GFMVWBQV4SDWG3TG3YUKIZRAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJRGQ4TCMBVG4 . You are receiving this because you were mentioned.Message ID: @.***>

glenn-jocher commented 7 months ago

@Shuaib11-Github hello! It seems like you're facing a couple of challenges with tracking and ground truth alignment. Let's tackle them one by one.

  1. Frames with No Object IDs: If a frame from the tracking data has no object IDs, it means no objects were detected in that frame. For MOTA and MOTP calculations, you can treat these as missed detections. Simply pass an empty list for detections when updating the accumulator for that frame.

  2. Tensor Bounding Boxes: To work with bounding boxes in tensors, you can convert them to a list of tuples or a NumPy array, which might be easier to handle for IoU calculations and comparisons with ground truth data.

  3. Ground Truth and Tracking Format: To ensure both ground truth and tracking data are in the same format, you can standardize the representation of bounding boxes (e.g., as (x_min, y_min, x_max, y_max) tuples) and ensure that each detected object has a corresponding row in your data structure.

  4. Mapping Frame Numbers: The frame number in tracking should correspond to the frame number in the ground truth. If your tracking results don't include frame numbers, you might need to infer them based on the order of the frames processed or modify the tracking output to include frame numbers.

  5. Handling Multiple Objects: If there are multiple objects in a frame, both the ground truth and tracking data should reflect this by having multiple entries (rows) for that frame, one for each object.

Here's a simplified code snippet to help you align the formats and update the accumulator:

# Assuming `tracking_results` is a list of tuples (frame_number, object_id, bbox)
# and `ground_truth_data` is a dictionary {frame_number: [(object_id, bbox), ...]}

for frame_number in range(1, max_frame_number + 1):
    gt_data = ground_truth_data.get(frame_number, [])
    track_data = [data for data in tracking_results if data[0] == frame_number]

    gt_ids, gt_boxes = zip(*gt_data) if gt_data else ([], [])
    track_ids, track_boxes = zip(*[(obj_id, bbox) for _, obj_id, bbox in track_data]) if track_data else ([], [])

    # Convert tensors to lists or numpy arrays if needed
    # track_boxes = [bbox.numpy().tolist() for bbox in track_boxes]

    iou_matrix = np.zeros((len(track_boxes), len(gt_boxes)))
    for i, track_box in enumerate(track_boxes):
        for j, gt_box in enumerate(gt_boxes):
            iou_matrix[i, j] = calculate_iou(track_box, gt_box)

    acc.update(gt_ids, track_ids, iou_matrix)

# After all frames are processed
summary = mh.compute(acc, metrics=['mota', 'motp'], name='acc')
print(summary)

Remember to replace max_frame_number with the actual number of frames. This code assumes that tracking_results is already sorted by frame number. If not, you'll need to sort it beforehand.

For frames with no detections, the track_data will be empty, and the code will correctly handle this by passing empty lists to the accumulator.

I hope this helps! If you have further questions or need more assistance, feel free to ask. Good luck with your tracking project! 😊👍

Shuaib11-Github commented 7 months ago

This is the ground truth sample data 0 1 658.0 241.0 64.0 45.0 0 2 1055.0 257.0 71.0 35.0 0 3 451.0 222.0 35.0 28.0 0 4 489.0 225.0 61.0 52.0 1 1 657.9257819033365 239.26446280991738 67.61951057349208 47.603305785123965 1 2 1054.1518392577077 257.0 70.9607842945021 35.0 1 3 452.7159293373337 222.0 35.03921570549788 28.0 1 4 490.29184896618744 225.0 61.01960785274895 52.0 2 1 662.7821964696187 240.4863153583319 66.11612333261506 46.531466033110476 2 2 1056.3491143214103 256.220444646873 74.06453146990663 36.55911070625409 2 3 456.91152617461074 222.77955535312705 35.03808801913509 28.0 2 4 494.46351441076035 226.55911070625407 60.13815948443718 51.220444646872956

This is sample detection data 0 1 658.685302734375 242.7551727294922 720.6555786132812 285.99871826171875 0 2 452.51470947265625 221.4606170654297 485.09136962890625 249.34950256347656 0 3 1054.148681640625 256.66436767578125 1127.8323974609375 294.7427673339844 0 4 488.4786376953125 229.06192016601562 549.235107421875 277.170654296875 0 5 935.2161865234375 228.68618774414062 962.6964721679688 249.05557250976562 0 6 1078.255859375 210.36068725585938 1102.8758544921875 230.90438842773438 1 1 661.2457275390625 242.74179077148438 722.9550170898438 286.27813720703125 1 2 454.080810546875 220.898681640625 487.691650390625 248.28411865234375 1 3 1054.4012451171875 256.61627197265625 1128.2806396484375 295.074951171875 1 4 490.3866271972656 226.88665771484375 552.0838623046875 277.290283203125 1 5 936.8258056640625 228.39578247070312 965.3074951171875 248.2382354736328 1 6 1080.010986328125 209.59768676757812 1104.0716552734375 230.4517059326172

This is the output I am getting GT IDs: [13 27 31 34 36 37 32 38 42 41] DET IDs: [ 1 2 3 4 5 6 7 8 9 10] GT Boxes: [[ 1515 235.87 88.914 49.172] [ 1159.4 237.03 138.48 94.7] [ 892.17 209.87 124.97 98.816] [ 1100.2 207.86 38.014 28.074] [ 819.38 195.87 47.781 39.065] [ 1234.3 219.63 25.317 20.305] [ 706.07 186.88 47.187 38.684] [ 791.14 190.13 39.562 35.403] [ 765.24 189.89 31.48 28.785] [ 559.12 182.93 32.314 21.933]] DET Boxes: [[ 1159.7 237.84 1297.2 332.96] [ 893.85 211.31 1015.1 308.16] [ 708.43 187.3 754.12 225.42] [ 820.68 197.89 866.89 235.89] [ 790.3 188.71 832.51 225.82] [ 559.18 183.18 589.93 204.91] [ 1513 236.48 1589.7 284.97] [ 1100.1 207.91 1137.6 235.61] [ 766.1 188.33 796.53 217.45] [ 1163.9 189.08 1192.6 210.6]] IOU_Matrix [[ nan nan nan nan nan nan nan nan nan nan] [ nan nan nan nan nan nan nan nan nan nan] [ nan nan nan nan nan nan nan nan nan nan] [ nan nan nan nan nan nan nan nan nan nan] [ nan nan nan nan nan nan nan nan nan nan] [ nan nan nan nan nan nan nan nan nan nan] [ nan nan nan nan nan nan nan nan nan nan] [ nan nan nan nan nan nan nan nan nan nan] [ nan nan nan nan nan nan nan nan nan nan] [ nan nan nan nan nan nan nan nan nan nan]] idf1 idp idr recall precision num_unique_objects ... num_fragmentations mota motp num_transfer num_ascend num_migrate acc 0.0 0.0 0.0 0.0 0.0 43 ... 0 -1.321092 NaN 0 0 0

[1 rows x 18 columns]

why is iou_matrix are filled with nan and motp is nan. Can you help me in figuring out this.

Here is my complete code, please go through it and provide changes to be made to work

from ultralytics import YOLO import motmetrics as mm import os import numpy as np

def parse_ground_truth(file_path): ground_truth = {} with open(file_path, 'r') as file: for line in file: parts = line.strip().split() frame_number, obj_id, x_min, y_min, x_max, y_max = int(parts[0]), int(parts[1]), float(parts[2]), float(parts[3]), float(parts[4]), float( parts[5]) bbox = (x_min, y_min, x_max, y_max)

        if frame_number not in ground_truth:
            ground_truth[frame_number] = []
        ground_truth[frame_number].append((obj_id, bbox))
return ground_truth

Load the YOLO model

model = YOLO( '/home/rmarri/speed-estimation/bdd-yolo-finetune/runs/detect/train24/weights/ best.pt')

Directories

video_dir = "/path/to/video_dir" # Update this path ground_truth_dir = "/path/to/ground_truth.txt" # Update this path tracking_path_dir = "/path/to/detection_results.txt"

Initialize MOT metrics

mh = mm.metrics.create() print("MOT initialized")

for video_file in os.listdir(video_dir): if not video_file.endswith(".MOV"): continue # Skip non-video files

video_path = os.path.join(video_dir, video_file)
# ground_truth_path = os.path.join(ground_truth_dir,

video_file.replace(".MOV", ".txt")) ground_truth_path = os.path.join(ground_truth_dir) tracking_path = os.path.join(tracking_path_dir)

if not os.path.exists(ground_truth_path):
    print(f"Skipping {video_file}: ground truth file not found.")
    continue

print(f"Processing {video_file}...")
results = model.track(source=video_path, show=True, tracker=

'botsort.yaml')

ground_truth_data = parse_ground_truth(ground_truth_path)
acc = mm.MOTAccumulator(auto_id=True)

for frame_number, result in enumerate(results, start=0):  # Adjust

starting frame number as necessary if frame_number not in ground_truth_data: continue # Skip this frame if no ground truth data

    # Detection data
    det_boxes = result.boxes.xyxy.cpu().numpy()  # Assuming this is the

correct way to access your detection bounding boxes det_ids = result.boxes.id # Assuming this is the correct way to access your detection IDs det_ids_np = np.array(det_ids) det_ids = det_ids_np.flatten()

Ground truth data for the current frame

    gt_ids, gt_boxes = zip(*ground_truth_data[frame_number])
    gt_boxes_np = np.array(gt_boxes)
    gt_ids = np.array(gt_ids).flatten()

    print('GT IDs:', gt_ids)
    print('DET IDs:', det_ids)
    print('GT Boxes:', gt_boxes_np)
    print('DET Boxes:', det_boxes)

#     # Calculate IoU matrix
    iou_matrix = mm.distances.iou_matrix(gt_boxes, det_boxes, max_iou=

0.5) # Adjust max_iou as needed print("IOU_Matrix", iou_matrix)

Update accumulator with frame's data

    acc.update(
        gt_ids,
        det_ids,
        iou_matrix
    )

Compute metrics after processing all frames

mh = mm.metrics.create() summary = mh.compute(acc, metrics=mm.metrics.motchallenge_metrics, name= 'acc') print(summary)

On Tue, Feb 20, 2024 at 3:29 AM Glenn Jocher @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github hello! It seems like you're facing a couple of challenges with tracking and ground truth alignment. Let's tackle them one by one.

1.

Frames with No Object IDs: If a frame from the tracking data has no object IDs, it means no objects were detected in that frame. For MOTA and MOTP calculations, you can treat these as missed detections. Simply pass an empty list for detections when updating the accumulator for that frame. 2.

Tensor Bounding Boxes: To work with bounding boxes in tensors, you can convert them to a list of tuples or a NumPy array, which might be easier to handle for IoU calculations and comparisons with ground truth data. 3.

Ground Truth and Tracking Format: To ensure both ground truth and tracking data are in the same format, you can standardize the representation of bounding boxes (e.g., as (x_min, y_min, x_max, y_max) tuples) and ensure that each detected object has a corresponding row in your data structure. 4.

Mapping Frame Numbers: The frame number in tracking should correspond to the frame number in the ground truth. If your tracking results don't include frame numbers, you might need to infer them based on the order of the frames processed or modify the tracking output to include frame numbers. 5.

Handling Multiple Objects: If there are multiple objects in a frame, both the ground truth and tracking data should reflect this by having multiple entries (rows) for that frame, one for each object.

Here's a simplified code snippet to help you align the formats and update the accumulator:

Assuming tracking_results is a list of tuples (frame_number, object_id, bbox)# and ground_truth_data is a dictionary {frame_number: [(object_id, bbox), ...]}

for frame_number in range(1, max_frame_number + 1): gt_data = ground_truth_data.get(frame_number, []) track_data = [data for data in tracking_results if data[0] == frame_number]

gt_ids, gt_boxes = zip(*gt_data) if gt_data else ([], [])
track_ids, track_boxes = zip(*[(obj_id, bbox) for _, obj_id, bbox in track_data]) if track_data else ([], [])

# Convert tensors to lists or numpy arrays if needed
# track_boxes = [bbox.numpy().tolist() for bbox in track_boxes]

iou_matrix = np.zeros((len(track_boxes), len(gt_boxes)))
for i, track_box in enumerate(track_boxes):
    for j, gt_box in enumerate(gt_boxes):
        iou_matrix[i, j] = calculate_iou(track_box, gt_box)

acc.update(gt_ids, track_ids, iou_matrix)

After all frames are processedsummary = mh.compute(acc, metrics=['mota', 'motp'], name='acc')print(summary)

Remember to replace max_frame_number with the actual number of frames. This code assumes that tracking_results is already sorted by frame number. If not, you'll need to sort it beforehand.

For frames with no detections, the track_data will be empty, and the code will correctly handle this by passing empty lists to the accumulator.

I hope this helps! If you have further questions or need more assistance, feel free to ask. Good luck with your tracking project! 😊👍

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1953204600, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2CBZCJT5ZDYQCCC4GTYUPDLTAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJTGIYDINRQGA . You are receiving this because you were mentioned.Message ID: @.***>

glenn-jocher commented 7 months ago

@Shuaib11-Github hey there! It looks like you're encountering NaN values in your IoU matrix, which typically happens when there's no overlap between the predicted and ground truth bounding boxes, or if there's an issue with the bounding box formats.

To address this, ensure that both ground truth and detection bounding boxes are in the same format (e.g., (x_min, y_min, x_max, y_max)). Also, verify that the coordinates are within the image dimensions and that the ground truth and detection data are correctly aligned frame-wise.

For frames where no objects are detected, you can skip updating the accumulator for that frame or pass empty lists for detections.

Here's a quick check you can add before updating the accumulator to handle empty detections:

if len(det_ids) > 0 and len(gt_ids) > 0:
    acc.update(gt_ids, det_ids, iou_matrix)
else:
    print(f"No detections for frame {frame_number}")

For the MOTP being NaN, it's likely due to the NaN values in the IoU matrix. Once you resolve the IoU matrix issue, the MOTP should be calculated correctly.

If you need further assistance, feel free to share more details or reach out again. Happy coding! 😄👨‍💻

Shuaib11-Github commented 7 months ago

For the code below I am getting from ultralytics import YOLO import motmetrics as mm import numpy as np import os from scipy.optimize import linear_sum_assignment

Function to parse ground truth

def parse_ground_truth(file_path): ground_truth = {} with open(file_path, 'r') as file: for line in file: parts = line.strip().split() frame_number, obj_id, x_min, y_min, x_max, y_max = int(parts[0]), int(parts[1]), float(parts[2]), float(parts[3]), float(parts[4]), float( parts[5]) bbox = [x_min, y_min, x_max, y_max] # Use list for consistency if frame_number not in ground_truth: ground_truth[frame_number] = [] ground_truth[frame_number].append((obj_id, bbox)) return ground_truth

Function to calculate IoU

def calculate_iou(det_box, gt_box): xA = max(det_box[0], gt_box[0]) yA = max(det_box[1], gt_box[1]) xB = min(det_box[2], gt_box[2]) yB = min(det_box[3], gt_box[3]) interArea = max(0, xB - xA) max(0, yB - yA) boxAArea = (det_box[2] - det_box[0]) (det_box[3] - det_box[1]) boxBArea = (gt_box[2] - gt_box[0]) * (gt_box[3] - gt_box[1]) iou = interArea / float(boxAArea + boxBArea - interArea) return iou

Function to calculate IoU matrix

def calculate_iou_matrix(detections, ground_truths): iou_matrix = np.zeros((len(detections), len(ground_truths))) for i, det in enumerate(detections): for j, gt in enumerate(ground_truths): iou_matrix[i, j] = calculate_iou(det, gt) return iou_matrix

Initialize the YOLO model

model = YOLO( '/home/rmarri/speed-estimation/bdd-yolo-finetune/runs/detect/train24/weights/ best.pt')

video_dir = "/home/rmarri/speed-estimation/bdd-yolo-finetune/60fpsVidoes" ground_truth_dir = "/home/rmarri/speed-estimation/bdd-yolo-finetune/60fpsVidoes/ground_truth_label.txt" tracking_path_dir = "/home/rmarri/speed-estimation/bdd-yolo-finetune/60fpsVidoes/detection_results.txt"

Initialize MOT metrics

mh = mm.metrics.create() print("MOT initialized")

Process videos

for video_file in os.listdir(video_dir): if not video_file.endswith(".MOV"): continue # Skip non-video files

video_path = os.path.join(video_dir, video_file)
ground_truth_path = ground_truth_dir  # Assuming one ground truth file

for simplicity

if not os.path.exists(ground_truth_path):
    print(f"Skipping {video_file}: ground truth file not found.")
    continue

results = model.track(source=video_path, show=True, stream=True)
        iou_matrix = calculate_iou_matrix(det_boxes, gt_boxes)

        acc.update(
            gt_ids,
            det_ids,
            iou_matrix
        )

Compute metrics after processing all frames

summary = mh.compute(acc, metrics=mm.metrics.motchallenge_metrics, name= 'acc') print(summary)

Calculate IoU matrix

iou_matrix = calculate_iou_matrix(det_boxes, gt_boxes) # Adjust

max_iou as needed

print("IOU_Matrix", iou_matrix)

Update accumulator with frame's data

acc.update(

gt_ids,

det_ids,

iou_matrix

)

Compute metrics after processing all frames

mh = mm.metrics.create()

summary = mh.compute(acc, metrics=mm.metrics.motchallenge_metrics,

name='acc')

print(summary)

MOT initialized WARNING ⚠️ Environment does not support cv2.imshow() or PIL Image.show()

Processing IMG_4451_3SEC.MOV...

WARNING ⚠️ inference results will accumulate in RAM unless stream=True is passed, causing potential out-of-memory errors for large sources or long-running streams and videos. See https://docs.ultralytics.com/modes/predict/ for help.

Example: results = model(source=..., stream=True) # generator of Results objects for r in results: boxes = r.boxes # Boxes object for bbox outputs masks = r.masks # Masks object for segment masks outputs probs = r.probs # Class probabilities for classification outputs

qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/rmarri/anaconda3/envs/yoloft/lib/python3.8/site-packages/cv2/qt/plugins" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb, eglfs, minimal, minimalegl, offscreen, vnc, webgl.

Aborted (core dumped)

But when I calculate separately iou_matrix is printing values but for the above code it is giving this warning and printing anything. Can you suggest changes to be made

On Tue, Feb 20, 2024 at 2:44 PM Glenn Jocher @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github hey there! It looks like you're encountering NaN values in your IoU matrix, which typically happens when there's no overlap between the predicted and ground truth bounding boxes, or if there's an issue with the bounding box formats.

To address this, ensure that both ground truth and detection bounding boxes are in the same format (e.g., (x_min, y_min, x_max, y_max)). Also, verify that the coordinates are within the image dimensions and that the ground truth and detection data are correctly aligned frame-wise.

For frames where no objects are detected, you can skip updating the accumulator for that frame or pass empty lists for detections.

Here's a quick check you can add before updating the accumulator to handle empty detections:

if len(det_ids) > 0 and len(gt_ids) > 0: acc.update(gt_ids, det_ids, iou_matrix)else: print(f"No detections for frame {frame_number}")

For the MOTP being NaN, it's likely due to the NaN values in the IoU matrix. Once you resolve the IoU matrix issue, the MOTP should be calculated correctly.

If you need further assistance, feel free to share more details or reach out again. Happy coding! 😄👨‍💻

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1953778869, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2GFEL5G4TI3VI5C5J3YURSQNAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJTG43TQOBWHE . You are receiving this because you were mentioned.Message ID: @.***>

glenn-jocher commented 7 months ago

@Shuaib11-Github hey there! It seems like you're running into a display issue with cv2.imshow() and a warning about accumulating inference results in RAM. Here's a quick fix:

  1. To avoid the display issue, you can run your code in a headless environment by setting the show=False parameter in the model.track() method, or you can use a virtual display if you're running on a server without a physical display.

  2. For the warning about accumulating inference results, you're already using stream=True, which is good. This should prevent out-of-memory errors by processing one frame at a time.

  3. If you're getting NaN values in your IoU matrix, make sure the bounding box formats are consistent and correctly calculated. If there are no detections for a frame, it's okay to skip updating the accumulator for that frame.

Here's a code snippet to handle no detections:

if det_ids is not None and len(det_ids) > 0:
    acc.update(gt_ids, det_ids, iou_matrix)
else:
    print(f"No detections for frame {frame_number}")

For the Qt platform plugin error, it's likely unrelated to your IoU matrix calculation. It's a common issue when running OpenCV in a headless environment. You can try setting the environment variable QT_QPA_PLATFORM to offscreen to bypass this error.

Hope this helps! If you need more assistance, feel free to reach out. 😊👨‍💻

Shuaib11-Github commented 7 months ago

Can botsort and bytetrack have same metric values for MOTA, MOTP, Precision, Recall etc.,

And how to deal with when we have bounding boxes of ground truth in x,y,w,h format.

Explain with simple code.

On Wed, 21 Feb 2024, 8:59 am Glenn Jocher, @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github hey there! It seems like you're running into a display issue with cv2.imshow() and a warning about accumulating inference results in RAM. Here's a quick fix:

1.

To avoid the display issue, you can run your code in a headless environment by setting the show=False parameter in the model.track() method, or you can use a virtual display if you're running on a server without a physical display. 2.

For the warning about accumulating inference results, you're already using stream=True, which is good. This should prevent out-of-memory errors by processing one frame at a time. 3.

If you're getting NaN values in your IoU matrix, make sure the bounding box formats are consistent and correctly calculated. If there are no detections for a frame, it's okay to skip updating the accumulator for that frame.

Here's a code snippet to handle no detections:

if det_ids is not None and len(det_ids) > 0: acc.update(gt_ids, det_ids, iou_matrix)else: print(f"No detections for frame {frame_number}")

For the Qt platform plugin error, it's likely unrelated to your IoU matrix calculation. It's a common issue when running OpenCV in a headless environment. You can try setting the environment variable QT_QPA_PLATFORM to offscreen to bypass this error.

Hope this helps! If you need more assistance, feel free to reach out. 😊👨‍💻

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1955815000, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2CMQ3WJLCOJUJDI73LYUVSZRAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJVHAYTKMBQGA . You are receiving this because you were mentioned.Message ID: @.***>

glenn-jocher commented 7 months ago

Hey @Shuaib11-Github! 😊

BoT-SORT and ByteTrack could potentially have similar metric values, but it's not guaranteed as they use different tracking algorithms. The metrics depend on the specific scenarios and data they're applied to.

For bounding boxes in x,y,w,h format, you can convert them to x_min, y_min, x_max, y_max format with a simple function like this:

def convert_bbox_format(bbox):
    x, y, w, h = bbox
    return [x, y, x + w, y + h]

Just apply this function to your ground truth bounding boxes before calculating metrics.

Hope this helps, and if you have any more questions, I'm here to help! 🚀

Shuaib11-Github commented 7 months ago

I am getting all the iou_matrix as 0 and idf1=1, idp=1, idr=1, recall=1, precision=1, MOTA=0.992679, MOTP=0, num_unique_objects=19 etc.,Can you provide what's wrong here

On Thu, Feb 22, 2024 at 4:19 AM Glenn Jocher @.***> wrote:

Hey @Shuaib11-Github https://github.com/Shuaib11-Github! 😊

BoT-SORT and ByteTrack could potentially have similar metric values, but it's not guaranteed as they use different tracking algorithms. The metrics depend on the specific scenarios and data they're applied to.

For bounding boxes in x,y,w,h format, you can convert them to x_min, y_min, x_max, y_max format with a simple function like this:

def convert_bbox_format(bbox): x, y, w, h = bbox return [x, y, x + w, y + h]

Just apply this function to your ground truth bounding boxes before calculating metrics.

Hope this helps, and if you have any more questions, I'm here to help! 🚀

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1958212267, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2H2BW5YLL4B3CKCL3TYUZ2WPAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJYGIYTEMRWG4 . You are receiving this because you were mentioned.Message ID: @.***>

glenn-jocher commented 7 months ago

@Shuaib11-Github hey there! If you're seeing an IoU matrix filled with zeros but getting high ID metrics and MOTA, it might indicate that your detections are being matched with ground truth objects, but the bounding box overlaps are not being calculated correctly. This could be due to a format mismatch or an error in the IoU calculation function.

Double-check that your ground truth and detection bounding boxes are in the same format before the IoU calculation. Also, ensure that the IoU function is correctly implemented. If the issue persists, feel free to share a snippet of your IoU calculation code, and I'll be glad to take a closer look! 😄👍

Shuaib11-Github commented 7 months ago

Here is My code. I am attaching ground truth and detection of 180 frames and video of 3 sec along for your reference. Please Look into all and guide me.

from ultralytics import YOLO import motmetrics as mm import numpy as np import os from scipy.optimize import linear_sum_assignment

import torch import numpy as np import pandas as pd from numpy import genfromtxt from torchvision.ops import box_iou from pathlib import Path

Load the tracking and ground truth data

tracking_data = genfromtxt('/path/to/detection_results_4104.txt', delimiter=' ') ground_truth_data = genfromtxt('/path/to/ground_truth_4104.txt', delimiter=' ')

Function to parse ground truth

def parse_ground_truth(file_path): ground_truth = {} with open(file_path, 'r') as file: for line in file: parts = line.strip().split() frame_number, obj_id, x_min, y_min, x_max, y_max = int(parts[0 ]), int(parts[1]), float(parts[2]), float(parts[3]), float(parts[4]), float( parts[5]) bbox = [x_min, y_min, x_max, y_max] # Use list for consistency if frame_number not in ground_truth: ground_truth[frame_number] = [] ground_truth[frame_number].append((obj_id, bbox)) return ground_truth

def convert_bbox_format(bbox): x, y, w, h = bbox return [x, y, x+w, y+h]

Function to calculate IoU

def calculate_iou(det_box, gt_box): xA = max(det_box[0], gt_box[0]) yA = max(det_box[1], gt_box[1]) xB = min(det_box[2], gt_box[2]) yB = min(det_box[3], gt_box[3]) interArea = max(0, xB - xA) max(0, yB - yA) boxAArea = (det_box[2] - det_box[0]) (det_box[3] - det_box[1]) boxBArea = (gt_box[2] - gt_box[0]) * (gt_box[3] - gt_box[1]) iou = interArea / float(boxAArea + boxBArea - interArea) return iou

Function to calculate IoU matrix

def calculate_iou_matrix(detections, ground_truths): iou_matrix = np.zeros((len(detections), len(ground_truths))) for i, det in enumerate(detections): for j, gt in enumerate(ground_truths): iou_matrix[i, j] = calculate_iou(det, gt) return iou_matrix

Initialize the YOLO model

model = YOLO( '/home/rmarri/speed-estimation/bdd-yolo-finetune/runs/detect/train24/weights/ best.pt')

video_dir = "/path/to/60fpsVidoes/4097" ground_truth_dir = /path/to/60fpsVidoes/4097/ground_truth.txt" tracking_path_dir = "/path/to/60fpsVidoes/4097/detection_results_4097.txt"

Initialize MOT metrics

mh = mm.metrics.create() print("MOT initialized")

acc = mm.MOTAccumulator(auto_id=True)

Process videos

for video_file in os.listdir(video_dir): if not video_file.endswith(".MOV"): continue # Skip non-video files

video_path = os.path.join(video_dir, video_file)
ground_truth_path = ground_truth_dir  # Assuming one ground truth file

for simplicity

if not os.path.exists(ground_truth_path):
    print(f"Skipping {video_file}: ground truth file not found.")
    continue

# results = model.track(source=video_path, show=True, stream=True)
ground_truth_data = parse_ground_truth(ground_truth_path)
acc = mm.MOTAccumulator(auto_id=True)

for video_file in os.listdir(video_dir):
    if not video_file.endswith(".MOV"):
        continue  # Skip non-video files

    video_path = os.path.join(video_dir, video_file)
    # ground_truth_path = os.path.join(ground_truth_dir,

video_file.replace(".MOV", ".txt")) ground_truth_path = os.path.join(ground_truth_dir) tracking_path = os.path.join(tracking_path_dir)

    if not os.path.exists(ground_truth_path):
        print(f"Skipping {video_file}: ground truth file not found.")
        continue

    print(f"Processing {video_file}...")
    results = model.track(source=video_path, show=True, stream=True,

tracker="botsort.yaml")

    ground_truth_data = parse_ground_truth(ground_truth_path)
    acc = mm.MOTAccumulator(auto_id=True)

    for frame_number, result in enumerate(results, start=0):  # Adjust

starting frame number as necessary if frame_number not in ground_truth_data: continue # Skip this frame if no ground truth data

        # Detection data
        det_boxes = result.boxes.xyxy.cpu().numpy()  # Assuming this is

the correct way to access your detection bounding boxes det_ids = result.boxes.id # Assuming this is the correct way to access your detection IDs det_ids_np = np.array(det_ids) det_ids = det_ids_np.flatten()

Ground truth data for the current frame

        gt_ids, gt_boxes = zip(*ground_truth_data[frame_number])
        gt_boxes_np = np.array(gt_boxes)
        gt_ids = np.array(gt_ids).flatten()

        print('GT IDs:', gt_ids)
        print('DET IDs:', det_ids)
        print('GT Boxes:', gt_boxes_np)
        print('DET Boxes:', det_boxes)

        iou_matrix = calculate_iou_matrix(det_boxes, gt_boxes)

        print(iou_matrix)

        acc.update(
            gt_ids,
            det_ids,
            iou_matrix
        )

Compute metrics after processing all frames

summary = mh.compute(acc, metrics=mm.metrics.motchallenge_metrics, name= 'acc') print(summary)

I will attach ground truth and detection file and also video file in another mail. Please go through it and help me with where the problem is

On Fri, Feb 23, 2024 at 5:01 AM Glenn Jocher @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github hey there! If you're seeing an IoU matrix filled with zeros but getting high ID metrics and MOTA, it might indicate that your detections are being matched with ground truth objects, but the bounding box overlaps are not being calculated correctly. This could be due to a format mismatch or an error in the IoU calculation function.

Double-check that your ground truth and detection bounding boxes are in the same format before the IoU calculation. Also, ensure that the IoU function is correctly implemented. If the issue persists, feel free to share a snippet of your IoU calculation code, and I'll be glad to take a closer look! 😄👍

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1960509929, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2AYZKPHPHYYRQXOU53YU7ILTAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRQGUYDSOJSHE . You are receiving this because you were mentioned.Message ID: @.***>

Shuaib11-Github commented 7 months ago

Here is My code. I am attaching ground truth and detection of 180 frames and video of 3 sec along for your reference. Please Look into all and guide me.

from ultralytics import YOLO import motmetrics as mm import numpy as np import os from scipy.optimize import linear_sum_assignment

import torch import numpy as np import pandas as pd from numpy import genfromtxt from torchvision.ops import box_iou from pathlib import Path

Load the tracking and ground truth data

tracking_data = genfromtxt('/path/to/detection_results_4104.txt', delimiter=' ') ground_truth_data = genfromtxt('/path/to/ground_truth_4104.txt', delimiter=' ')

Function to parse ground truth

def parse_ground_truth(file_path): ground_truth = {} with open(file_path, 'r') as file: for line in file: parts = line.strip().split() frame_number, obj_id, x_min, y_min, x_max, y_max = int(parts[0 ]), int(parts[1]), float(parts[2]), float(parts[3]), float(parts[4]), float( parts[5]) bbox = [x_min, y_min, x_max, y_max] # Use list for consistency if frame_number not in ground_truth: ground_truth[frame_number] = [] ground_truth[frame_number].append((obj_id, bbox)) return ground_truth

def convert_bbox_format(bbox): x, y, w, h = bbox return [x, y, x+w, y+h]

Function to calculate IoU

def calculate_iou(det_box, gt_box): xA = max(det_box[0], gt_box[0]) yA = max(det_box[1], gt_box[1]) xB = min(det_box[2], gt_box[2]) yB = min(det_box[3], gt_box[3]) interArea = max(0, xB - xA) max(0, yB - yA) boxAArea = (det_box[2] - det_box[0]) (det_box[3] - det_box[1]) boxBArea = (gt_box[2] - gt_box[0]) * (gt_box[3] - gt_box[1]) iou = interArea / float(boxAArea + boxBArea - interArea) return iou

Function to calculate IoU matrix

def calculate_iou_matrix(detections, ground_truths): iou_matrix = np.zeros((len(detections), len(ground_truths))) for i, det in enumerate(detections): for j, gt in enumerate(ground_truths): iou_matrix[i, j] = calculate_iou(det, gt) return iou_matrix

Initialize the YOLO model

model = YOLO( '/home/rmarri/speed-estimation/bdd-yolo-finetune/runs/detect/train24/weights/ best.pt')

video_dir = "/path/to/60fpsVidoes/4097" ground_truth_dir = /path/to/60fpsVidoes/4097/ground_truth.txt" tracking_path_dir = "/path/to/60fpsVidoes/4097/detection_results_4097.txt"

Initialize MOT metrics

mh = mm.metrics.create() print("MOT initialized")

acc = mm.MOTAccumulator(auto_id=True)

Process videos

for video_file in os.listdir(video_dir): if not video_file.endswith(".MOV"): continue # Skip non-video files

video_path = os.path.join(video_dir, video_file)
ground_truth_path = ground_truth_dir  # Assuming one ground truth file

for simplicity

if not os.path.exists(ground_truth_path):
    print(f"Skipping {video_file}: ground truth file not found.")
    continue

# results = model.track(source=video_path, show=True, stream=True)
ground_truth_data = parse_ground_truth(ground_truth_path)
acc = mm.MOTAccumulator(auto_id=True)

for video_file in os.listdir(video_dir):
    if not video_file.endswith(".MOV"):
        continue  # Skip non-video files

    video_path = os.path.join(video_dir, video_file)
    # ground_truth_path = os.path.join(ground_truth_dir,

video_file.replace(".MOV", ".txt")) ground_truth_path = os.path.join(ground_truth_dir) tracking_path = os.path.join(tracking_path_dir)

    if not os.path.exists(ground_truth_path):
        print(f"Skipping {video_file}: ground truth file not found.")
        continue

    print(f"Processing {video_file}...")
    results = model.track(source=video_path, show=True, stream=True,

tracker="botsort.yaml")

    ground_truth_data = parse_ground_truth(ground_truth_path)
    acc = mm.MOTAccumulator(auto_id=True)

    for frame_number, result in enumerate(results, start=0):  # Adjust

starting frame number as necessary if frame_number not in ground_truth_data: continue # Skip this frame if no ground truth data

        # Detection data
        det_boxes = result.boxes.xyxy.cpu().numpy()  # Assuming this is

the correct way to access your detection bounding boxes det_ids = result.boxes.id # Assuming this is the correct way to access your detection IDs det_ids_np = np.array(det_ids) det_ids = det_ids_np.flatten()

Ground truth data for the current frame

        gt_ids, gt_boxes = zip(*ground_truth_data[frame_number])
        gt_boxes_np = np.array(gt_boxes)
        gt_ids = np.array(gt_ids).flatten()

        print('GT IDs:', gt_ids)
        print('DET IDs:', det_ids)
        print('GT Boxes:', gt_boxes_np)
        print('DET Boxes:', det_boxes)

        iou_matrix = calculate_iou_matrix(det_boxes, gt_boxes)

        print(iou_matrix)

        acc.update(
            gt_ids,
            det_ids,
            iou_matrix
        )

Compute metrics after processing all frames

summary = mh.compute(acc, metrics=mm.metrics.motchallenge_metrics, name= 'acc') print(summary)

On Fri, Feb 23, 2024 at 8:10 PM Mohammed Shuaib Iqbal < @.***> wrote:

On Fri, Feb 23, 2024 at 5:01 AM Glenn Jocher @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github hey there! If you're seeing an IoU matrix filled with zeros but getting high ID metrics and MOTA, it might indicate that your detections are being matched with ground truth objects, but the bounding box overlaps are not being calculated correctly. This could be due to a format mismatch or an error in the IoU calculation function.

Double-check that your ground truth and detection bounding boxes are in the same format before the IoU calculation. Also, ensure that the IoU function is correctly implemented. If the issue persists, feel free to share a snippet of your IoU calculation code, and I'll be glad to take a closer look! 😄👍

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1960509929, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2AYZKPHPHYYRQXOU53YU7ILTAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRQGUYDSOJSHE . You are receiving this because you were mentioned.Message ID: @.***>

0 1 1484.0 463.0 404.0 171.0 0 2 1063.0 441.0 166.0 113.0 0 4 1376.0 456.0 156.0 79.0 0 6 1764.0 447.0 156.0 122.0 0 9 1630.0 443.0 150.0 59.0 0 10 956.0 444.0 56.0 38.0 0 11 1282.0 448.0 48.0 18.0 0 12 1008.0 447.0 70.0 48.0 0 13 1218.0 449.0 32.0 16.0 0 14 901.0 445.0 34.0 25.0 0 15 866.0 442.0 28.0 20.0 1 1 1501.8568757234182 463.0 408.20360392506416 172.73553719008265 1 2 1068.816714551413 441.0 167.3830998227935 113.86776859504133 1 4 1387.2221681772903 456.0 156.11764711649366 79.0 1 9 1646.1597586949563 442.1322314049587 152.3912264117403 59.86776859504132 1 10 957.5123554355243 444.8677685950413 54.710826319034005 37.13223140495868 1 11 1278.6897798781447 447.1322314049587 50.281597268503816 18.867768595041323 1 12 1010.1950137689258 446.1322314049587 72.5521212224788 49.735537190082646 1 13 1214.5678362931071 449.0 33.657715843537986 16.867768595041323 1 14 902.1392119436384 444.1322314049587 35.19265049288833 25.867768595041323 1 15 866.254485262315 442.0 29.226566665452438 20.867768595041323 2 1 1508.3720325727097 462.99999999999994 417.54623166506434 176.91445873766392 2 2 1073.1320889661079 440.2229596092163 171.0861037367675 116.34770494493748 2 4 1397.2491025706672 456.0 162.53521454040995 82.11822141250819 2 9 1672.644275067877 441.98324586889123 114.67861528971169 44.52175382925203 2 10 958.1763536386317 444.22872555789377 56.827399569055906 38.55838373052818 2 12 1012.2358143428213 446.7505607928476 71.9700112429626 49.26670807533992 2 13 1210.5538923120696 449.0 35.4514777893782 17.779776304774344 2 14 901.8243020986295 443.9827655923988 36.42033343314572 26.785527372074032 2 16 1856.1586689987816 443.6 69.48266200243708 124.4 3 1 1512.6235633491842 463.75240960847316 426.0308744189093 181.22640320640363 3 2 1077.469946192395 439.976136241262 176.65846733677245 120.13537570375375 3 4 1407.2582500084845 456.0 167.73208789206387 84.59824917121978 3 9 1692.3538969620354 441.10370026075265 101.97241690899361 38.91607070782675 3 10 959.7974850824844 445.5223343509496 55.37085008541159 37.50671965718096 3 12 1014.2039619363148 446.20862518902146 72.84179621331229 49.83907492021068 3 13 1205.4366391691733 449.7354540264719 42.94628551076499 21.748457581631964 3 14 903.5439194893854 446.1836671187342 33.861849366181026 24.836657083420118 3 11 1274.183448025587 446.9801997832565 50.479448097069266 19.00828846282284 4 1 1515.789605659323 464.00235340538086 437.5430727539128 187.617208775931 4 2 1083.4552045805135 439.1896244769153 180.58660800275152 122.7720585553442 4 4 1419.374665055194 456.0 171.37324144275343 86.08149285947715 4 9 1715.0951095930852 442.59746332620153 91.23356667986344 33.824578777234244 4 10 960.8422424573025 445.2228011564342 55.97949753607674 37.86104664323647 4 12 1016.2216224230432 446.7604246561621 73.14672447360108 50.019170402341686 4 14 904.8939295871378 446.9497511662191 32.905297102715714 24.125767299002565 4 11 1270.257640018622 446.2348635521091 50.1990058720409 18.996980375815816 4 15 866.9308286931455 442.9508144791186 28.198799816459186 20.066605392860225 4 16 1864.1772889450285 459.4458336270312 40.87803681953906 71.21628253915956 5 1 1522.423309613742 465.4720454673268 445.1175853271858 193.19686702698866 5 2 1088.2092515277782 438.9293144271576 185.97672596108382 126.39427837443716 5 4 1430.6465192298228 456.0 174.50991156429524 87.21476343629173 5 9 1728.6603339885696 442.1570436366996 91.82548841577254 32.94889679936566 5 10 962.8725168480208 445.8260747933118 56.29976276975045 37.97815715543846 5 12 1020.2230649339286 446.95304306831144 74.28132674216319 50.78011867533097 5 14 905.5491601560707 447.1615066119909 33.56524300447578 24.651126203444882 5 11 1268.6036067469786 447.428119294002 48.16638167767787 18.279938458430074 5 16 1873.4981314534803 462.20082402862084 32.01714420439648 53.88494893106388 6 1 1531.838663389896 468.0383976939324 445.4043324469661 196.42215520700427 6 2 1094.066102529639 438.17125860048077 190.75278362505998 129.65141772272779 6 4 1442.3694408641552 456.6873370053556 177.89418251284494 88.2327070111617 6 9 1739.4558281962254 442.80949670892784 94.39539774817857 32.8102519274583 6 10 964.5015396946924 446.028391407161 56.57104534842378 38.016014291656795 6 12 1023.969215155949 447.70984532370306 73.98943873319809 50.34406970710025 6 14 905.644920147474 446.5109508563735 34.69098023143707 25.53719123121077 6 11 1266.6321922303318 447.1470675071623 49.08931628471579 18.742448021874733 7 1 1543.6261321295929 470.9921985984177 444.32421126687365 200.12687612983504 7 2 1101.5370487254713 438.5775195758779 193.50883620579322 131.42554345574786 7 4 1455.157438481005 456.9394888090246 182.88081815478736 89.89326493816179 7 10 966.1070479111748 446.0883934947539 55.88177544952434 37.337617221949166 7 12 1026.5861249231677 447.2919501971226 75.25660414277958 50.85561658447253 7 14 907.5710031040804 446.9411095646041 33.30385443569151 24.496912119753716 7 15 870.53688552413 443.0533909773148 28.21732299871605 19.983159363002525 8 1 1551.5001138379114 472.06484254317184 448.2833186391935 207.34517696484778 8 2 1108.1537989378178 438.75170922987604 197.72972361500598 133.9778356769115 8 4 1464.4549203339525 457.0281645429727 188.1059738297096 91.78953037456081 8 10 966.7496963022124 446.09716815928306 56.74904768438404 37.773581673570746 8 12 1027.3432263298332 446.45547253681457 78.59836915045186 53.06382550127465 8 14 908.7139324706397 446.3895466531651 34.628321364247135 25.488440242998117 9 1 1561.2686945125201 472.429836356454 451.3157053404769 215.84158122674864 9 2 1115.1805272419713 439.4905196662387 201.64209139203192 136.1669982421301 9 4 1477.4007930925527 457.71779628771395 194.09448711550218 93.77099523341255 9 10 969.7890144118442 446.76754569995137 55.40059266979789 36.58271456024563 9 12 1029.1414816430097 446.80636945718106 79.93609575849828 53.867484893477 9 14 909.1058461188587 446.1907188535023 35.079805760940914 25.838095029153507 9 15 871.3583127481419 443.0416586985163 29.255748204972363 20.81606028301514 10 1 1573.8755265965685 473.82800439485067 449.74021119114076 223.507621185148 10 2 1122.5893395088171 439.7827473966105 206.28152242196094 138.8764628580178 10 4 1487.814843957844 457.9752222352155 200.273819931555 95.78180591741449 10 10 971.0307767669964 447.0082061515167 55.905960962379496 36.81701168415245 10 12 1030.789595738767 446.94250611887105 81.59808998926893 54.81274386155499 10 14 908.267696347639 444.7740984607352 37.14173114882593 27.3024094776532 10 18 1708.3019666350197 442.8 214.59606672996065 71.6 11 1 1595.5057458898293 474.9804882202653 430.52106678067423 223.08971566180605 11 2 1128.9827681675756 439.2449981436309 212.17764040395645 142.4388197150213 11 4 1498.5876010361355 458.0660203555181 207.7722610722978 98.4554218958142 11 10 974.517179968658 447.75832370182 55.28993245849482 36.23460100725498 11 12 1032.4302916661184 446.3355475812858 83.28933283406796 55.80781431022197 11 14 908.2791241102409 444.2442353034923 37.87305274297357 27.84529688122543 11 18 1709.0188126215403 442.95009231329374 230.27289847240695 77.15341559186864 12 1 1619.4057977966543 474.7290519090119 408.91077345401555 222.02071190769223 12 2 1135.770435328066 439.69148274663905 217.6129779191151 145.67209394219273 12 4 1507.7262413606654 458.09351217263986 215.39241087429926 101.37648655169808 12 10 975.5752807376364 446.67787286238064 57.43014161800921 37.37038379228891 12 12 1035.6488010669154 447.4127880310046 82.48742128220883 54.85432367710326 12 14 908.5441694070666 444.0404916064876 38.22190188577178 28.046076311054367 12 18 1715.2534168953243 444.47981797723423 234.31071489913123 79.15865836839417 12 20 1127.5381032022121 445.79999999999995 33.32379359557578 36.2 12 6 1777.626086926004 443.01600600225083 113.80784865643288 83.15605852194572 12 15 873.1130744391261 443.05066155676275 29.754292268809333 20.989848812980473 13 1 1641.0650816379796 466.0689342751543 392.5598705138004 224.70093985771985 13 2 1144.3367884238407 439.86902366355224 222.20509694385905 148.1270538194204 13 4 1521.1014288285414 458.09724925927316 221.0889609924133 103.09373550845135 13 10 975.8068485610315 446.9378252720233 59.09258017629555 38.44858462665607 13 12 1037.57469590982 446.5063273761321 84.53269981707446 55.77744780339562 13 14 909.8111023693759 443.3115228573416 39.244981146145385 28.76730948011818 13 18 1720.4038052282372 443.5719294496378 243.02221160619462 83.29446941970876 13 20 1130.8620823652136 445.95523798097145 34.12725835620143 36.820951923885715 13 6 1782.3599239564771 442.1348567876863 117.78482232302689 83.24202432009535 13 15 873.45382251476 443.04375919836434 31.557196080269076 22.372845216438513 14 2 1152.6062524935664 439.29110779463656 229.08355310426288 152.22556536334667 14 4 1534.250644469821 458.7402183620202 227.2112520644438 104.98770362944771 14 10 977.6279602210843 447.0314389463205 60.070241393427004 38.857024727466616 14 12 1041.4045333015042 447.4772028085458 85.47792612853286 56.10775716258068 14 14 910.5471021344277 443.68954490875325 39.731499123546755 29.032678680263892 14 20 1135.6954957774626 446.0064059380698 36.200587478210764 38.57297275324347 14 6 1790.4734806481977 442.63486644252714 124.23088765986695 88.00159466786965 14 15 873.8998622727937 443.04283955598675 32.16799578835042 22.836952198428303 15 2 1160.608336586609 438.42344110889655 237.09026455492332 156.9518767108516 15 4 1548.7632212986014 459.631282593996 233.78601555519958 106.95116467251894 15 10 978.9539442011345 446.4033666705712 61.68391657773514 39.66582607502989 15 12 1043.2274247373773 447.84984802292485 86.22920884437951 56.213149693771946 15 14 911.515299087727 443.8437921501042 39.79360043904065 29.122410506714704 15 20 1140.6559434704704 446.01905665076436 37.897888433083686 39.84958878597904 15 6 1791.3543188064236 441.4478136215566 138.3436647699384 100.60440670070697 15 15 873.6705280870342 442.388486158803 33.153846403145984 23.662035367665098 15 22 1803.5936438926913 477.0 124.81271221461768 200.8 15 23 1719.667484248425 458.4 144.46503150315033 59.0 16 2 1168.033382015702 438.08936598018084 244.53095027572152 161.2725489919577 16 4 1562.83009107744 459.96901321594925 239.22065511066555 108.29402477695099 16 10 979.3014036012612 446.1604810188491 62.49064730278106 39.96684603846124 16 12 1045.1152770291164 447.9886559235729 87.85358796336926 56.89084860186113 16 14 912.9064400781452 443.25392908864796 39.677974164241434 29.144562560127792 16 20 1144.3666857256583 446.02010776464573 39.09123087657696 40.247495643349104 16 6 1794.132345594452 437.787887249316 148.2083311166741 112.31553915202542 16 15 874.2587319670084 442.13561661588983 33.42910568948788 23.97254733538354 16 22 1821.6396163469985 494.2518624732017 118.51943885062364 192.3309038767919 16 23 1732.4807573827181 458.09869184050467 112.96297612440449 46.19440322144797 17 2 1177.8973686546149 438.6081166540215 250.2724044374876 164.14510350823727 17 4 1578.1566697248747 460.7383539909233 244.57213938366593 109.39466290188652 17 10 981.6863191189741 446.0648714574119 62.0899324108902 39.41745978327478 17 12 1047.7640113807363 448.6922455112219 87.03374746344733 55.82184281330015 17 14 913.3619726530793 443.0327278165644 39.72142464347382 29.141895851777686 17 20 1147.5381431004712 446.71005746988527 39.57548873154141 39.646366171764825 17 6 1797.3164841819846 428.7261282251377 157.28105194228473 125.8385025166368 17 15 874.4117087319729 442.03705675810306 33.6359180251115 24.083400281828865 17 23 1749.197538931052 458.8576144550948 87.85987073245552 35.75629469491818 18 2 1187.843026160127 438.81814730548035 257.0981779534461 167.73538737074958 18 4 1591.9828563842875 460.37603235291346 253.84577018627684 112.35199736587913 18 10 982.9840554509847 446.0269870695509 62.342823523216566 39.1959952942095 18 12 1051.4815238539568 449.6198668030131 87.02077868128957 55.38676536419724 18 14 912.6562372738719 443.6109891187065 40.11593067457601 29.13089023946766 18 20 1150.8309923514269 446.27194877868004 41.23294532499118 40.06817715680801 18 15 874.3285500384558 441.34817400518205 34.60021912729821 24.768054132418058 18 23 1750.7497935046292 459.0127615377546 83.90965261460535 34.13392283002713 19 2 1197.1888533136064 438.259256334827 265.5576420357751 172.24993345433475 19 4 1608.2249286720034 461.51857487345177 261.7929414760095 114.72656811541636 19 10 984.6925417453259 446.0122320640403 63.83509657449453 39.76792050960768 19 12 1054.7370453952328 449.960680961837 89.04886161612251 56.535790064713446 19 14 914.3166818023387 443.1796451121998 40.28828976876025 29.117774410900996 19 20 1155.3276551654571 446.7836540285744 42.35465588545001 39.52344601948871 19 15 874.3790203507385 441.0871477215079 34.76793503708543 25.02165645125928 20 2 1207.454378162457 437.4018307621415 275.52913833970007 177.76274172257476 20 4 1621.1458554946828 461.3079406233443 273.2430423733532 118.81465816838929 20 10 985.1589305820337 446.00643370402435 66.60500308714032 41.29066619497146 20 12 1058.062053636207 450.0804022241195 90.01078545754775 56.957610456399856 20 14 915.2149745101368 442.3612981836912 41.737808022963115 30.420625757754856 20 20 1158.0620719218314 446.9720881779481 44.99830107853077 40.64485594735788 20 15 875.0807935230484 440.9895374196765 34.72066296758347 25.108919589131133 20 26 1048.3851485148516 441.8 46.02970297029703 35.0 21 2 1218.5501440011885 437.7130297321392 284.46997172172223 182.37459825947948 21 4 1630.8322360626294 459.2896843006488 284.73571481395436 123.55100298049184 21 10 988.2416373049895 446.65279974002374 66.93399653850659 41.212919012303125 21 12 1060.2067195482405 450.115525234219 91.68398667628374 57.762069399016916 21 14 915.4402060832655 442.05759072878544 43.11442951997267 31.551183239675705 21 20 1160.5212976607738 447.0372743856795 47.447517191124945 41.70702144244582 21 15 875.38107195606 440.95632075468995 34.60008852374085 25.13163596767986 21 26 1051.0806047767978 441.9541547277937 46.95913428594583 35.77077363896848 22 2 1229.3949593233451 437.84202435300665 294.8016827861972 187.91572964415042 22 4 1638.7513725537224 458.4923065352676 291.5113969910792 127.25546703432849 22 10 989.8466076400597 446.2494644789903 69.37462945403753 42.47928252898095 22 12 1063.129665506579 450.7744710357429 91.81875190150998 57.401325927266015 22 14 917.4202664056622 442.59103101576557 41.09321330558438 30.045749705635387 22 20 1163.7643709909064 447.05683230166494 49.36634519524658 42.09228855341777 22 15 875.5209789694334 440.9478513382118 34.46130329743371 25.130372721966804 22 26 1053.3178292122443 442.0059532763043 45.37757107840979 34.491476032676815 23 2 1240.0956419380118 437.25648816583794 307.6336344587487 195.09319049423044 23 4 1646.6120491191832 458.8160203939284 295.1403281207639 130.55442476589403 23 10 991.9699235144935 446.74436117103795 70.40252351952957 42.94969877455229 23 12 1066.5855853140056 451.6764282627692 92.21149173989413 57.245596756599326 23 14 918.5299470062685 442.817483871043 40.86109685096229 30.08414499144506 23 20 1167.0525367701514 447.0588067564551 50.93705491540832 42.216263921266055 23 15 875.9791633135626 441.60368679450545 33.55856171223023 24.4657390396989 23 26 1060.9840843985924 441.25521142332013 39.10756309252988 29.482439940126675 24 2 1253.3588066175948 437.66973376878394 318.06837112293994 200.34194096554563 24 4 1656.9143262786345 461.5082188750489 290.0726831599118 130.4821908495647 24 10 993.3125320279348 446.9354217825005 70.25494677022154 43.11731490571089 24 12 1069.048162679891 452.00700027178715 93.77515618353316 57.83410856629621 24 14 919.5589911415132 443.5625241671957 40.80269823471811 30.09295306367389 24 20 1168.875468313257 447.0548629882932 54.02039987009928 43.55923135921288 24 15 877.179520823348 441.1967893824976 33.1057661290479 24.200389053525292 24 26 1057.629349748983 442.5859838174693 44.43223938945616 33.44548841798214 24 11 1229.514038551681 446.0070050011349 45.97182469673949 18.005265554700397 25 2 1266.1277186644566 435.9187142042787 331.2407727861763 207.3921067848373 25 4 1669.7121695276621 463.8640712894386 283.60696711171255 130.34545302659006 25 10 995.4549253786507 447.00620910364535 70.7080182163962 43.167038968948916 25 12 1073.3709606351458 452.12017620692205 94.58718411423675 58.04689061055046 25 14 920.2197149955186 443.8478360495195 40.82846439612223 30.089442316141046 25 20 1171.3689617126481 447.05053200977625 56.54823075754447 44.70269912953777 25 15 877.5325463468024 441.0458013399559 33.75677698771708 24.759362491062394 25 26 1059.14073441354 442.2586425533443 46.70454839225852 35.149241703210315 25 27 1674.9914191419143 456.8 88.41716171617163 27.6 25 11 1229.3830354325041 445.9835665662198 44.25456390070602 17.990687857494375 26 2 1280.2993706825505 435.2370160597507 344.740675319675 214.49485894502496 26 4 1682.057901341189 465.41430002680096 278.27462882637343 131.5080746206901 26 10 996.5979497329431 447.030196439222 72.70330197476136 44.482477395387754 26 12 1076.2147848833308 452.15020205661733 96.8639107788308 59.430830850951516 26 14 921.8519970135097 445.93241054114975 39.32172364928082 28.76430934144628 26 20 1175.0468384622525 447.0456494403583 58.30151228329241 45.12366845320136 26 15 878.4331878627652 440.99128530033937 33.742529093538145 24.964838924847733 26 26 1062.9540261276527 442.79686126032277 45.65111985817738 34.45371745194487 26 27 1670.752755288893 456.9582570956526 87.08254949175242 27.12522871304219 26 11 1229.001423825554 446.6440761246583 42.98729035791936 17.98550589227317 27 2 1294.127655704814 434.97701938576233 358.86954587174966 221.61550483382626 27 4 1691.3699322517807 464.6941494469121 278.5108335925359 136.43123646522832 27 10 998.7768300479019 447.0371458278243 72.44942955740831 44.32215031905788 27 12 1078.1439786407366 451.4999974037832 99.72890992246695 61.248789285198924 27 14 923.5216760504364 447.4016286123701 37.900022940817074 27.576790439770434 27 20 1177.9531465146022 447.040518673281 59.617041618403604 45.26097406661299 27 15 879.7777067284293 441.629126354522 33.00952350855012 24.38222411649293 27 26 1064.3903798887104 442.3107148926749 47.108747848670404 35.53946782833341 27 27 1667.1020891251742 457.80206773707266 79.42423255632191 24.59379678878199 27 11 1228.146354438209 446.8909001731529 43.430991277199894 18.65204062472148 28 2 1309.8188517676526 435.5218933953847 372.3994984008178 228.09861000312839 28 4 1705.7682778855694 466.9769381004013 269.75318258725275 137.61846114069414 28 10 1000.4829186817789 447.0364798092766 72.41802582596323 44.240231143852256 28 12 1081.613772304433 450.5935732443702 102.9336990635621 63.22893256870031 28 14 924.2282335552859 447.2558625389664 38.46523513222303 27.815857388938795 28 20 1180.7695328000511 447.6894398654705 60.33707610378036 44.63597513582373 28 15 879.5941178013957 441.2134908370978 32.74541208349819 24.151124112095232 28 26 1066.972946392899 442.7981332204462 46.05999347181606 34.59287318299308 28 27 1661.2214635786033 458.0403117340455 77.68991907661537 23.879064797863656 28 11 1226.823908571266 446.324704929743 42.427579830852146 18.900016411796592 29 2 1326.7946269161482 436.38488207782694 387.76313106421856 235.60212272853585 29 4 1722.8090396034306 466.5612256322279 258.03039533099184 137.98988386351363 29 10 1001.6130949389249 447.0336872286032 73.26161852833187 44.85135433901408 29 12 1085.1562654904626 450.883567652961 103.42483742252703 63.32948672896258 29 14 924.7716980770789 447.19381441222794 38.70991986551292 27.905432174345165 29 20 1183.5465009182062 447.2774489790793 62.1496321967825 45.0296120621602 29 15 880.1562647246909 441.0584713148551 32.66935321602258 24.062632473330968 29 26 1066.5848281554283 442.3034748647542 50.873210272205114 38.2741006654316 29 27 1656.0977789233011 458.0936642550494 77.70029652844768 23.719007234851755 29 11 1226.2107577486736 446.1044241611712 41.084757948436675 18.992989786967392 29 28 1740.97414707415 469.0 60.45170585169972 17.4 30 2 1345.008684759745 436.092855733428 405.48791624660026 244.13546304290023 30 4 1741.1976322913674 467.0275272735027 244.56464620477453 138.05031832736915 30 10 1004.3473812844732 447.683803508551 72.75933815840298 44.419117085198046 30 12 1088.7468290063812 450.9937112738015 104.11709671108095 63.33829975925154 30 14 926.8027283038653 447.15806587580573 39.06052045490574 27.94279040948291 30 20 1188.7916598717923 447.11874988192955 64.01153540158367 45.81866962637359 30 15 881.5610256501327 441.0019603689013 33.52771429709537 24.690846659944583 30 26 1068.141661576936 442.76980552627987 51.772996786672145 38.94169740450525 30 27 1646.4051204773855 457.370228311276 82.67344128458318 25.16264594444348 30 28 1735.7710510474635 469.79240014193806 59.44733586116501 17.083039943224772 31 2 1363.0481858686585 434.70827366780946 425.400357476377 253.70160337429903 31 4 1761.171994850105 468.4928614834772 227.00524914614275 136.04096460540885 31 10 1006.6182141981376 446.61481821309144 75.88479843073257 46.21254752433669 31 12 1092.279910211194 451.0322638219847 106.34208310114255 64.62572538802927 31 14 927.0519888872306 447.13387669220367 40.14880104173084 28.62342467656492 31 20 1192.3979328083642 447.05617734900954 65.80981115678922 46.75658826936662 31 15 883.6616591003864 440.98235021988904 33.28403344000772 24.269375977878003 31 26 1070.8029058980926 443.6066315225073 51.100943207843464 38.528910780937025 31 27 1642.982688912991 456.4367841753747 87.690074051016 27.033705965169244 31 28 1729.0840435085947 468.44506246553425 64.53037719236166 18.576893506433066 32 2 1383.6643514520442 435.4382301450958 445.90487803098455 263.02812199361017 32 10 1009.4950003122483 446.8612791816209 76.14564432358343 46.228245280646924 32 12 1096.4711827376477 451.69388273686474 107.121646492618 65.09697663672436 32 14 927.2441630684383 446.4609488218173 41.60793016925147 29.53576328621728 32 20 1194.595398712747 446.3802825071092 68.49246587970237 48.4008415659619 32 15 883.4037358987388 440.9774229936375 33.937253693455865 24.76536683112533 32 26 1073.2215265152684 443.2695185217112 51.829107791193955 38.99866572838766 32 27 1645.730879622776 456.0944510550208 91.18462788654122 29.055944414259635 32 28 1720.2677993198806 467.3038958151623 71.11084674730452 20.481171145418823 33 2 1404.1118053337202 435.0990831348454 470.8992522571927 274.79768003774143 33 10 1010.670218535921 446.3039779214442 77.25590906225291 46.868729179688025 33 12 1100.2060271548687 451.29367305212077 108.77493030643106 65.90614641932503 33 14 927.8687487103659 445.54699220650224 42.950426047617654 30.533245290358686 33 20 1198.861328079776 446.7658379724342 68.24229847960324 47.72452886420985 33 15 884.8933112826312 441.63267872958363 33.58942023744237 24.2926356372601 33 26 1074.3325219735937 442.48256119436104 52.229522310445866 39.161185908392426 33 29 1867.8715224448213 470.00000000000006 59.85695511035734 137.4 34 2 1415.3425900314103 434.97000548764845 492.3608827668362 286.23630930779973 34 10 1011.8832630872845 446.09142203336 78.60556818910742 47.75171772144402 34 12 1102.3901195991943 450.48402943150245 113.50142017777755 68.7998893626272 34 14 928.6497411131284 445.1926184109953 43.61529888087159 30.912094592024886 34 20 1201.2285142109813 446.2639088312444 70.952044839709 49.39354431567802 34 15 886.0225680453336 441.2232415440798 33.601279034210734 24.106464352285535 34 26 1076.5727765819718 442.1760505677176 54.48507873303608 41.1712089183382 35 2 1422.3230684138944 434.29070981472455 509.16999350942893 297.5435925306649 35 10 1015.1765512352927 447.31205979596956 77.21823690767461 46.77519892543481 35 12 1105.2650308662126 450.17390416414315 115.53021977511372 69.88476645669739 35 14 929.0043107624 443.1001223092738 46.29468173517568 33.005353343937074 35 20 1205.5022058591665 446.7222328418787 70.8379459774158 48.71521455357038 35 15 886.8196830175239 441.7327347750288 33.46009083897438 24.03615106784757 35 26 1080.8172574896305 442.70368948241065 53.59875603002798 40.6321755484845 36 2 1427.8862469492628 434.66018814176806 524.214070405958 310.05420002155904 36 10 1016.5173014673782 447.1301697799596 79.64344142023248 48.35164834204969 36 12 1109.8107851468408 450.0518649934276 116.29861706308209 70.27565639761019 36 14 929.965388949773 442.9486240261291 45.6190631856644 32.515711925682375 36 20 1210.0370152351159 446.9048137839704 71.90024458627575 49.073837767470394 36 15 888.5174237465964 442.58649275893765 33.86062036088161 24.009819951787847 36 26 1083.383584556354 442.9140550843265 55.18885720645955 42.35221842373995 37 2 1433.7035700064569 434.1799755238303 536.9710820601116 323.65695307997885 37 10 1018.4196196927624 446.41220470354216 81.5379249031784 49.579487168302634 37 12 1114.298974582132 451.30646738722925 116.69894762422942 70.39285233021288 37 14 930.9399199561543 443.55456319060494 46.00743582476975 32.94799793701695 37 20 1212.8531156844963 446.9737567346566 73.76036773123845 49.84732921669003 37 15 887.7578844609187 442.24310218172275 34.756735968493366 24.662341617591423 37 26 1086.4349757893658 442.99204130967195 55.382224916935726 42.98779821533469 38 2 1440.800193647338 435.25892846759325 547.7654117929761 338.94345004271605 38 10 1021.0676602834162 446.133172100475 82.1758497840288 50.038467157927954 38 12 1118.5448432213718 451.7902219453593 117.38655740787654 70.40651187372222 38 14 931.5861012948461 443.1406216190538 47.489352219062695 34.40227572377672 38 20 1214.5525857594334 446.3478463405319 76.85280121885087 51.4293148580761 38 15 887.8491695688757 443.4206156172722 34.29061407216796 24.251277920518493 38 26 1088.8315352548102 443.02006805926567 55.45186271000045 43.21236100037851 39 2 1447.4662464193466 435.0619037748638 560.9625836733555 358.6653277483922 39 10 1024.3649747893035 446.0261247808175 81.60829723762713 49.544740423451294 39 12 1122.8638672953434 451.97204181257126 119.80871688827916 71.69128021696524 39 14 932.7862304764308 442.98658185759814 48.02274583750654 34.947863294279706 39 20 1218.6267481082634 446.7548089500938 77.41345362659828 51.372068237056794 39 15 888.9566169969539 443.87195220744167 33.87640766392986 24.08908340278477 39 26 1091.1325246630877 443.02842034108005 55.79377452850673 43.27560457184826 39 31 971.8 442.0 27.0 22.0 40 2 1458.7588862383568 435.61418830004885 568.7148617961462 378.20966904414183 40 10 1028.2023352994693 446.6438361651683 80.65215156752275 48.67521930000688 40 12 1125.8077077958883 451.38668457570725 123.7240803301468 74.10929415369993 40 14 933.3797424614223 442.9330906356379 47.901958003257185 35.14449199433652 40 20 1226.1552596071917 447.56914641391035 77.16167733309247 51.32188446217799 40 15 889.96168730787 444.03332253461855 33.81422075079446 24.027992006776913 40 26 1093.0803380210698 443.0293385036963 56.221728391889265 43.27834553895438 40 31 973.4957020057307 442.7707736389685 27.0 22.0 41 2 1477.3990562682866 435.2107211574752 563.2858432811828 391.4165402003093 41 10 1030.5905521887385 446.8813486253807 81.53276789336428 48.98801291415336 41 12 1130.6369179404976 451.8045572409411 124.67686593652265 74.36739078826332 41 14 935.256961939765 442.91901374419416 47.72334566446801 35.203307114687014 41 20 1232.5431486231482 447.8804819297524 76.29228890621903 50.62707242225773 41 15 890.2101154786099 444.08543320097584 33.994180879122666 24.005345377173022 41 26 1095.513263127749 442.37333664873546 57.40396380695932 43.91419753473541 41 31 974.5515938777355 443.02861770521775 26.022730147487177 21.221946202688873 41 33 1589.7172315308453 455.6 56.5655369383092 24.4 42 2 1507.105672505792 434.4181804327999 538.2222809416394 391.95389405103214 42 10 1033.1906600697516 446.9698739418487 82.23182329347068 49.096051667126176 42 12 1136.4263185941836 451.9655849164223 125.34770766269078 74.42851151840077 42 14 936.8482695366929 442.2677665966738 48.44511249176963 35.86178175325038 42 20 1237.9260531987845 447.99599926540014 76.96319498641837 51.00008916811042 42 15 890.4803137492199 444.0968223513569 34.97614461125553 24.65916361408235 42 26 1100.8075565457605 442.77402896586005 55.47224133221782 42.18626389749383 42 31 977.1311700259033 443.0818358076153 24.91986133308234 20.21588173688538 42 33 1584.1988621393136 455.91457544919416 58.16501224554816 24.871863173791237 42 11 1204.5237440420067 444.0401739924459 36.03420834442869 16.060438666242064 43 2 1544.4482836225964 434.10295975742014 502.7538422885486 385.31543801031387 43 10 1034.9865195425723 447.00236161627856 84.6334488020343 50.44115305338001 43 12 1140.5962705673724 452.6772416538736 127.91362182744122 75.72652547643308 43 14 938.593342108169 442.6729681906907 47.671600317042895 35.45189213094754 43 20 1241.371637205382 448.0359907888295 79.32613794075283 52.440232169608635 43 15 891.2006641891152 444.0955814494561 35.37374893787117 24.903352144151132 43 26 1102.4052217229262 442.93154487704396 58.03366752945295 44.14623773192409 43 31 979.0953533299389 443.8278994207997 23.66211729849232 19.174180115735677 43 33 1577.5834468093703 455.2370489972254 57.50482723493644 24.24440087344671 43 28 1662.3693686365473 466.97696850740255 59.926989943810185 17.075282027715588 44 2 1581.0704469914701 434.6326053441629 470.7027554349591 382.29530471801894 44 10 1037.1361285188736 447.66485230336804 85.70177816715925 50.94025110016748 44 12 1144.8292394100015 452.2943272754277 131.11624085531722 77.49669752662494 44 14 940.9689514963088 444.8072272295477 45.178685851624614 33.30568650078235 44 20 1244.9564491820179 448.04803516438136 81.24166155467093 53.62449995077161 44 15 891.319368338182 444.08796195114644 36.44165258400532 25.65061751076072 44 26 1101.9621671250243 442.34062441514106 62.24588975591019 47.44832314382146 44 31 979.210048519008 444.05221242953496 24.161616139305202 19.607200828493976 44 33 1571.5134866115045 455.77517286916753 58.005351005832225 24.029946868955925 44 28 1657.4199677136933 466.992679211561 59.85275480030101 16.938982024693924 45 10 1040.3376454156448 448.5727356937031 85.08149618434855 50.46418470394129 45 12 1149.8722387820649 452.14205393341103 133.63459961752588 78.7976929585495 45 14 941.2432170922547 444.2943916652646 46.02987388585779 33.80214764249414 45 20 1248.5147888825798 447.3996816037729 83.14469109649161 54.71373893755204 45 15 891.9936113483433 443.42997779095094 36.845935794039214 25.931027568198004 45 26 1104.6814560191754 442.7496264397551 63.06465206025214 48.0702613135298 45 31 979.9261976449458 444.1159497301836 24.313640864158202 19.76089327055454 45 33 1566.4808621003754 454.4865723045438 60.41168132274274 24.700958351930403 46 10 1042.8284714257131 448.91756540363116 86.04547891640902 50.922329674591325 46 12 1154.1810684917866 452.0791657629999 136.03900607521288 79.916807836024 46 14 943.3520135817604 445.4260455703219 44.9061231936188 32.66144081470512 46 20 1253.01236916436 447.1461968718252 83.79413875461707 55.11463108171565 46 15 892.3903505223951 443.1699301197241 37.97892560056117 26.686331090819213 46 26 1107.5043748602798 442.9159055048765 62.91307077205563 47.63850099217069 46 31 980.7546181341868 444.1231766490812 25.201092625531633 20.52490080840829 46 33 1562.6299067327686 454.75753389376655 60.272849898616215 24.228127109677658 46 38 1786.9931383739665 451.6 153.81372325206695 370.2 46 28 1647.126497526775 466.16217853029593 59.560282418038945 16.92847749899306 47 10 1044.6563477938864 448.3859137836536 88.38916853121901 52.39588007882838 47 12 1159.4446549055044 452.0519311541254 139.15581965459756 81.61329596629376 47 14 943.785606726451 445.1896481977821 46.44055727701471 33.555278903731605 47 20 1258.1620648757837 447.047386076743 84.68706638327536 55.89766154713642 47 15 892.7837905941917 443.71759207925453 38.53091753982436 26.9690045598391 47 26 1110.1884377040935 442.98033233255165 64.68138829755627 48.7434568034276 47 31 981.775428108455 444.1171188585393 25.35732821989204 20.80730801492268 47 33 1554.7811564180574 454.17455139075605 62.4936843659397 24.752336999931234 48 10 1047.5449823656163 448.8287992663065 88.62779522895829 52.29456404220064 48 12 1165.2577787462785 452.6868278964059 138.93001412947302 80.93899653512543 48 14 944.5957569733974 445.7572977874799 46.300866946190936 33.223999331729416 48 20 1263.7842090000163 447.6603730396521 85.22198829878691 56.17771935552761 48 15 893.2470301423573 443.27786632029125 38.715561540750045 27.06985283060786 48 26 1112.6325174395483 443.00400989150324 65.59246758669092 49.14561446130018 48 33 1548.965025601655 454.6550929079655 62.181096735373984 24.258407558291953 48 28 1633.3096716779319 465.136500037141 59.05929560565808 16.993927039341486 49 10 1049.3811923304572 448.33984299021415 90.98404039722078 53.546599158044835 49 12 1170.0551956221027 452.9317657617297 142.48204124656078 82.59269244348657 49 14 944.9281893835392 444.6448425561614 48.0791427410324 34.41782884070051 49 20 1269.3463465818177 447.24476347315925 86.1063686098218 56.91503782730794 49 15 894.443394079893 443.10583600137886 37.99987985907597 26.44661934987603 49 26 1114.5985672767142 443.012017839706 66.30020344581322 49.27619967470332 49 33 1540.6715963849308 454.1651612761218 65.9705147708058 25.43747477496856 49 28 1627.2162902437042 464.26365499668253 58.23025423458857 16.999064770337746 49 11 1192.3379326863799 444.893582440819 33.38551357276793 15.038152149995131 50 10 1052.736955866873 448.80097256433226 90.94648509210361 53.35838357889566 50 12 1175.4217575477935 453.02117813974803 146.1727033638279 84.49253132584312 50 14 945.3670148852485 444.88087618596677 48.7063113180594 34.859471301954905 50 20 1276.2688511633094 447.73583900092024 86.94405445114064 57.828710834184704 50 15 894.8332540313658 443.03836792114726 37.798267811806014 26.196717419111348 50 26 1119.145954417578 443.01396276324465 64.65413047495078 47.99793193235293 50 33 1533.5756876548458 453.99245203559644 67.8368966823422 25.860117468439107 50 28 1620.9863754166677 463.96406396840825 59.664962150320946 17.6697516336672 50 11 1184.4246222967363 444.96456316311156 40.253271859861364 18.544173131833855 51 10 1055.7330717405368 448.975784408841 91.23301983551842 53.26469662694854 51 12 1181.9432251131889 453.0513945829655 148.0465578069968 85.19237215219822 51 14 946.3146605584827 444.31729096193925 49.91480855411711 35.67712859689038 51 20 1282.1666179395156 447.27397516198266 86.94498554611953 58.159053681588034 51 15 894.7587975660275 442.35200530083813 39.433257896002104 27.420274530691646 51 26 1123.0365012420373 443.67419488826783 64.77908284244138 48.13705749789932 51 33 1528.5622041902677 453.9346617477596 70.29689210725057 26.677075229241616 51 28 1616.0451640691754 463.86242422338984 57.89974669010065 17.260494939894702 51 11 1180.8951712920448 444.3652698327219 41.86911495943222 20.189788484601443 52 10 1058.8102231839575 449.037488536692 92.50917894804735 53.87067376173463 52 12 1187.2451740581778 453.70887872895946 151.2604810918029 86.72432426985227 52 14 948.039181713205 445.4035571231548 49.52968200860661 35.3309423032854 52 20 1288.5387785488713 447.0939521809865 87.4863526546603 58.91501002510345 52 15 894.5068371789432 442.7454982304805 39.16744491985618 27.223991644867738 52 26 1124.3234236431447 443.26280512655586 67.61231883097896 50.14753593620606 52 33 1525.0668637010017 453.9188937933058 68.22884149174237 25.670445753017482 52 28 1611.8776376192852 463.8432908606967 57.020433288497294 17.096228210515722 52 11 1179.3031515641105 444.11237679323557 42.33854360835807 21.494834741775456 53 10 1061.1351548707134 449.71074162564616 93.09912536893825 54.08817563189229 53 12 1193.9738948215752 453.9571768521508 153.11172891465665 87.27873055777994 53 14 950.1910533203566 447.1422487060688 46.96534852645929 33.210073040086094 53 20 1294.685142485233 447.67661904156466 87.73203002128346 59.183922019903584 53 15 894.723240999419 442.2470107213847 39.67586225370391 27.79294891414914 53 26 1126.4618787683482 443.75325496939826 69.1149582436262 50.893911292527186 53 33 1519.2962227235644 453.92307164972135 69.48540328220321 25.929745686556917 53 28 1607.9666100873615 463.8486044224773 56.528094059090705 17.03413740666563 53 11 1177.1928614820636 444.01143278622885 46.871213959407974 25.152166611381233 54 10 1063.0553501227046 449.3078872854716 95.62587976375306 55.467856788512975 54 12 1199.5353567947684 453.3954459897669 157.23355884304277 89.40633106369745 54 14 951.5109243058048 447.1312520556602 46.87570679088832 33.05688642078024 54 20 1302.5403444103392 448.5548408498747 86.88497137444243 58.61087684869057 54 15 894.8756710470875 442.05992515107755 39.69209113695871 28.00239212656118 54 26 1128.9153666444136 443.9433600989894 70.77815205276036 51.813164369040976 54 33 1514.6849794000811 453.9286288666759 69.92847463832476 26.021508982099263 54 28 1603.1983019545723 463.86155122485883 58.07265546729813 17.67517279139185 55 10 1065.788145311162 448.4997330704757 97.60396498580054 56.62976988131248 55 12 1206.0029554713408 453.8234049692078 160.12532685634218 90.8362745945334 55 14 953.2521386798791 447.1208206594087 46.913633585726025 33.002726398228475 55 20 1307.9341034154106 448.8903620841256 87.26406351555869 59.02450936222709 55 15 895.2713655882251 441.99080208692016 39.633564757434115 28.074764657186982 55 26 1132.0694520979032 443.36416851600194 71.99374658320095 52.1473448636844 55 33 1508.6662994882242 453.9358912958921 70.45240874066135 26.051061447520333 55 28 1598.8016514538954 464.52568902922286 58.93981156626257 17.912560281989727 56 10 1068.506706168426 448.18417271073156 99.3755667339081 57.71056449428033 56 12 1212.914661815777 453.9855363129527 163.01378005059993 91.99824862349806 56 14 953.8258195611677 447.10854205623 46.99124524985041 32.98433275599175 56 20 1313.6347251613272 449.6680312651498 86.91209170177369 58.51040222284917 56 15 895.8456690039374 442.6228315772196 38.725056735827444 27.439173967293293 56 26 1134.4712722288102 443.1365179289331 73.78254269181521 52.90501624267873 56 33 1506.2007752084753 453.94319998910026 69.43314328539137 25.396823401226058 56 28 1596.2494043068907 464.7915204907729 57.49309802686598 17.346064282924505 57 10 1071.7145330368871 448.7110002961493 100.07256141043591 58.10821902926989 57 12 1218.2716310500118 454.6927171699033 166.7434702133471 93.70453635212736 57 14 954.1286638263218 447.09625116725164 48.076384099827884 33.64274784467616 57 20 1320.0179599453495 449.9594535576702 88.44369398115899 59.61293227166227 57 15 895.6506973062295 442.86913970819927 39.159580100327965 27.848761483933533 57 26 1136.5883557078375 443.0485153006856 75.12194982471807 53.1757064497303 57 33 1502.1970446341104 453.9509408825407 65.65297125840426 23.80732864126456 57 28 1594.296303626217 464.9012827349081 57.418554368298864 17.122106294931356 58 10 1074.616781844463 448.9150390186043 100.6909934983329 58.23892839278881 58 12 1224.6239870443487 454.9601620848412 170.8308025023168 95.61912409781453 58 14 955.5995278752963 447.08624009552454 47.66625004552089 33.23216093701044 58 20 1325.6029736658834 450.0626577190868 90.1536620466503 60.66978413493279 58 15 896.3770408752614 442.9607501817801 38.353957473200445 27.342040963524163 58 26 1139.8292036417326 443.6670625793344 77.08118355707795 53.90987526310328 58 33 1496.7028761915667 453.9590278087015 65.95117880840051 23.88886702214898 58 28 1589.491981283696 464.2796480036556 59.91737650825456 17.703875801178004 59 10 1079.5467250915 448.9916513905747 100.90516817346102 58.26743586694985 59 12 1232.3104122614923 455.0569250519303 174.44435955756336 96.96502317681738 59 14 956.729496478833 447.7388072461121 47.59722592148263 33.07315521540956 59 20 1332.9373042011716 450.7466561738841 88.48528641184643 59.10235508536027 59 15 897.3272726645957 442.99515512608633 37.98767603854429 27.140536081185243 59 26 1141.363394202709 443.25242688853984 78.98931693489837 54.8227041394198 59 33 1493.829646024386 453.9636508404069 64.79420268989688 23.252710101772152 59 28 1585.8143173023323 464.7060103728152 58.97471573678895 17.26442020509906 60 10 1082.6727074386724 449.01866030885964 102.19809906850993 58.91367684814823 60 12 1239.3915498750137 455.73565317838325 179.4714287260922 99.38588586486398 60 14 959.3775456403683 446.6512253148166 49.667036711961565 34.340691975862576 60 20 1339.0282878066787 450.3389350057676 88.7022062885144 58.467756514876214 60 15 898.1253630944454 442.34464716013326 39.58474756442438 28.38741968285368 60 26 1144.299067068702 443.09144304888315 80.01471311932623 55.153348630705594 60 33 1489.4063203811425 453.96874629398644 63.452944939359185 22.34620940035444 61 10 1086.125349663601 449.0268657244841 103.81659227311773 59.79636521057161 61 12 1247.5275494027985 455.9908887545714 183.06821082980747 100.92364527142723 61 14 959.8897178240009 446.89626648282484 50.66676068204371 34.81068841763188 61 20 1346.3764348399986 450.17756189253396 87.48214444054102 56.896092041316535 61 15 899.490313882537 442.7528779731751 39.316847812534846 28.198366048510756 61 26 1147.299048782957 443.0289358798756 81.65875805292141 55.90964693767612 61 33 1485.9281110009788 453.97349960136074 63.04301547606193 22.021602571488827 61 28 1575.9132745404445 463.3424659201977 61.1024724681878 17.84093277257563 62 10 1090.7957758994096 449.6798908903898 102.71750066333644 58.81285944442772 62 12 1256.1679320536732 456.72898538300916 185.28456598166386 101.4707281383997 62 14 960.4431909000757 446.334638354537 52.842634773888534 36.29613350560925 62 20 1353.6970840881388 449.44051089748723 87.40195847398766 55.62743786580256 62 15 900.6615494053992 442.91530968824975 39.19729171068447 28.11538539106697 62 26 1151.122283711267 443.0053155519605 81.9344248959399 55.52822221051168 62 33 1480.6410255939545 453.3012368826957 63.2017577024819 21.914745435443923 62 28 1567.9218157197006 463.048494185386 58.80260831630904 17.299481347884548 63 10 1093.4928935976093 449.93015845244213 104.8063381662905 59.72613572552859 63 12 1264.0362219436277 457.00603806778224 190.1889126288153 103.58007230843504 63 14 961.1373416712288 445.4735471680652 54.56732742781378 37.501543868450895 63 20 1359.7942232039898 449.1614221220319 88.1511650001877 55.15757810487178 63 15 899.9204158316729 442.31787633459965 40.81340078392741 29.396649513495106 63 26 1156.4925204239528 443.652777391213 81.85607768816237 55.35527080903528 63 33 1475.476822981316 453.73011961170505 63.356770549302524 21.886303751579764 63 28 1560.2824616846815 462.27944835608963 59.66634274291788 17.766525676277652 64 10 1096.6843508607242 450.67441601917324 106.90956406798588 60.71085520710295 64 12 1271.611117194279 457.1033465321796 196.06632405960573 106.28973618986602 64 14 962.2950429445286 445.78413373261293 55.30185213713318 37.960043545052244 64 20 1366.6133536044822 449.0568540492386 87.5130154603572 53.655162098996676 64 15 901.7397765619186 442.74205287762317 39.78548389775416 28.577530935394904 64 26 1158.6734518696105 443.24226339905005 83.93074439017441 56.584931333233236 64 33 1470.4900653025952 453.89278654086934 61.908906018534324 21.215873164214305 64 28 1555.4528657607136 462.6588173883584 57.71986323539895 17.28127013646159 65 10 1100.4867724456724 450.9541532361208 108.17266468606987 61.0718325127682 65 12 1281.1750746069652 457.1318412714501 201.3331966434566 108.58244346246117 65 14 962.8024766871088 444.61060006325516 57.31232181628013 39.421976012821304 65 20 1375.7241059152127 449.01729939745263 83.66112549721129 49.738924073018524 65 15 902.2955703917477 442.91268673434723 40.296041746262084 28.901595520346717 65 26 1159.943288983255 443.0861269454133 86.22563178528583 57.68729753024919 65 33 1465.0767921838403 453.9562888151712 63.53911986908296 21.654036186235878 65 28 1551.0940493946064 462.15375648120187 56.50444374640539 17.090924017404024 66 10 1104.747885336504 451.7084730384309 108.6669164314931 61.19140577899744 66 12 1288.7509732282722 457.13362093629206 207.3641067209492 111.35827942261531 66 14 964.0122920468033 444.80633400995856 57.905623887914786 39.970803448577605 66 15 902.749628184614 442.9760468086942 40.60801292343117 29.01834270122637 66 26 1161.7658998326083 443.67637307660175 86.79983600725893 57.44255932147793 66 33 1461.7123149601848 453.97975783976807 63.87571219635255 21.81817160806658 66 28 1546.6897375718647 461.97366455732856 57.35292765560228 17.685859958591504 67 10 1108.3938494437634 451.98907044463886 110.44060158386807 61.87455436855144 67 12 1297.139478014889 457.12641172973537 213.71117844292024 114.31628044993188 67 14 966.4925142343602 445.5362029562582 56.60174587584613 38.8724745110772 67 15 903.6408663936352 443.65617299768496 39.23676874351428 27.743797868108153 67 26 1164.3519343040707 443.9056389961677 87.56324880351752 57.32268376602919 67 33 1458.4861207104068 453.325327981524 63.66530189276426 21.887562871909736 67 28 1543.7832110038153 462.5661521882479 55.235047703619266 17.2518746641056 67 40 1382.2638613861386 448.2 70.67227722772277 21.0 68 10 1111.25814093051 452.08688354564185 112.47595516674112 62.77285165005931 68 12 1307.0017237271004 457.11639101788097 219.139735262687 116.69783031518902 68 14 966.5197612450465 445.16944952605087 57.83399024994233 39.73446463589375 68 15 904.808071759159 443.91698564389327 38.99312047719165 27.24452904103753 68 26 1173.8136564435827 444.6477281048468 87.076947518471 57.25879757485181 68 33 1454.4595203779584 453.08022265318084 66.26352287309858 23.24666968444267 68 40 1392.3924390635311 448.85041736227043 60.008777966426635 17.747913188647747 69 10 1115.4398903461945 452.1152656056946 114.64120412258862 63.75216133502046 69 12 1317.21017106328 457.7501785984656 224.66384262604998 118.85237115681846 69 14 968.337708739056 445.6839195812351 56.56147526722413 38.74738610091286 69 15 905.3515157960649 443.3413370391868 39.9634666049382 27.72980707919883 69 26 1180.406107159483 444.9268013035879 86.56892027474417 57.218680060583864 69 33 1454.0890739807194 452.3437604401493 65.78696719669499 23.74972098703917 70 10 1118.9774607123118 452.117660302847 117.84635606390515 65.41274728877907 70 12 1326.3156691450563 456.0545859433561 233.3205772723949 122.85227883982685 70 14 970.1748110190692 445.88803288452567 56.30969383905781 38.34261193159444 70 15 905.7379461722321 443.12710620952515 40.56844964184115 27.909471733229857 70 26 1184.6251116631552 445.0274742330813 87.25924597934882 57.84732275463701 71 10 1122.7860167603856 452.76016533449683 118.45189218220196 65.38205674897551 71 12 1334.5047114845286 452.8256218928467 246.0290410069012 129.47873161165757 71 14 970.6014503461688 445.9650243042293 57.30194413584543 38.842273803428014 71 15 906.1718191590656 443.7043473297364 40.16606966493327 27.317686181302076 71 26 1186.9046751552933 445.0604177155359 89.15385323980918 59.3844836950046 72 10 1127.2697255813966 453.0015749814602 120.17472956854388 65.99500518989585 72 12 1345.9766657146213 453.4775446086999 251.6993386030639 132.0021696037409 72 14 971.6463728709784 445.99354375672334 58.44137122883382 39.67914910051914 72 15 907.1020711388263 443.92414150250454 41.08022477159962 27.757698535152645 72 26 1192.7038934402854 445.06847250930326 88.86455838011148 59.956564405202464 73 10 1132.7571427104854 453.08532025464837 122.13154928186883 66.86089248049461 73 12 1356.6419841167958 452.4654412450949 260.1822131959827 136.11426504306817 73 14 972.5114418091242 445.3514116934001 60.45970046263877 41.294613353767765 73 15 908.1060954451001 444.00322075882536 41.37514105207122 27.920902412443613 73 26 1196.3592994165942 445.0662102089908 89.52346809522585 60.811296290922314 73 42 1158.9805899339933 440.20000000000005 42.0388201320132 15.8 74 10 1136.7655776699219 453.76077015043296 123.33037689684579 67.17132181158176 74 12 1368.616114005773 452.71618537843506 268.32588078330247 140.20143517079734 74 14 974.6051282050131 445.752077255653 60.210143194224706 41.25674168224328 74 15 908.4440801785997 444.02992518492323 41.514718304861965 27.982423759730498 74 26 1202.54145813742 445.0611525815107 89.04497602429338 61.12091732701728 74 43 957.990099009901 426.0 39.019801980198025 45.0 74 44 796.5444197728597 436.79999999999995 21.911160454280722 16.2 75 10 1140.28019719444 454.01176758410855 125.38570819880928 67.92026531994247 75 12 1383.2479118223519 454.74149478062407 272.6816280424639 141.7192902222866 75 14 975.9829707204387 445.9119552639772 60.17502118226705 41.22178721512973 75 15 909.1892324582021 444.03679251294534 41.591547242284335 28.00465882592285 75 26 1206.5086211466416 445.05502562642596 88.62820946806184 61.21944218271875 75 44 796.1402223461213 436.17385277513836 22.719555307757542 16.82614722486166 76 10 1145.6833199813866 455.403367932117 126.87516394843405 68.18556381251395 76 12 1396.72764463919 456.1924153053328 279.3404195233514 144.14261066043122 76 14 978.4257591400805 445.9732856368112 60.148948406126905 41.194082962171045 76 15 909.9544927161975 444.03643874181313 42.576071205613374 28.67189728349739 76 26 1208.514611851414 445.0490160936214 90.43838808003906 62.54840519001855 76 44 796.0025823100646 435.9709516848023 22.994835379870917 17.029048315197727 77 10 1149.9944871407727 453.9642331182175 131.1343712778852 70.22682209181251 77 12 1411.807339980576 458.0439601529953 284.63603702680047 145.64091559703417 77 14 980.6509698180706 446.65242134843623 59.407456586299844 40.51485199230188 77 15 910.501433115409 443.3802731573226 43.03513641414062 28.921076776250857 77 26 1214.433023255851 445.69500866488374 89.66427599183925 62.38678824995154 77 44 796.0085798871579 435.92568479187037 22.98284022568424 17.07431520812964 77 46 1181.9899752475249 441.0 32.42004950495049 16.2 78 10 1155.287820820809 455.35352188646635 131.0089299132734 69.68781769718022 78 12 1426.9120575800755 459.40712138663065 293.1909138821551 148.714364799442 78 14 982.4524305326339 446.9109509655646 58.407291049183875 39.581396731561945 78 15 910.8030085438662 443.7816974892636 44.27520547614697 29.668355842378485 78 26 1219.5093737517213 445.2860505520464 89.3386428754856 62.30040665054106 78 46 1185.502561132099 441.7826840310771 32.12596040306535 16.043463193784586 78 33 1415.6960089299907 451.0065285944246 53.38053093053398 19.19296290896204 79 10 1158.6743137514088 454.5753736049495 135.74169305337279 72.06667162779955 79 12 1440.725379815628 460.56955586154294 304.2293095069389 153.0459188193 79 14 983.9257674470776 447.67015443809885 58.30201912661176 39.22122610754761 79 15 912.1204030140535 443.2831326123466 45.545645685731294 30.599041303195904 79 26 1222.4423099756043 445.12545335937745 90.17508567331791 62.906269789552574 79 46 1190.5260440333516 441.24559775170667 32.11045931542716 15.993349194632291 79 33 1412.6184743481717 451.71893042191476 55.16670040545689 19.715411810374864 79 20 1491.4216292970016 448.92505301228437 58.7447407130818 29.291255935907923 80 10 1163.5970049856332 454.2755211561601 139.05683676201056 73.59419181911404 80 12 1457.73784781097 461.65136062790816 313.28909739635105 155.93183197073625 80 14 984.3177426713311 447.2842796923663 60.453978909380744 40.412900547041545 80 15 911.4819122895144 442.44327313844366 46.97337575983356 31.597973858902357 80 26 1226.082433623381 445.0620806579961 92.34388800516594 64.43075328518955 80 46 1192.2657521563053 441.0606142515019 33.74921498081602 16.73894193956351 80 33 1409.788670272307 451.89556641781815 54.371697362973485 19.15346060798377 80 47 1144.652681518152 444.0 29.494636963696372 15.8 80 27 1487.5380575275697 451.00679227420903 93.91611375123814 28.001541225871783 81 10 1171.155660246839 455.4475505941567 141.00024810393376 74.15894571417188 81 12 1473.3360130996741 462.70301480983966 325.01147970756654 160.18445313527386 81 14 984.09135711952 445.8287097241365 63.88029076375606 42.815878800150614 81 15 910.8570329228778 442.1194967290117 47.575861878381275 31.97570636201429 81 26 1232.3735026875497 445.68692738708535 86.34466249304256 59.14114822624226 81 46 1194.4197306694616 441.0012282495109 34.447930698228994 16.979941649328733 81 33 1406.8601139672996 451.9629684716034 54.198690143798444 18.958447272109023 81 47 1143.3800098581405 444.0 28.402400343039584 15.193736676553401 81 27 1480.18504728642 450.25239496445045 115.9852394716117 35.80576440626775 81 44 796.970837187953 435.96017739850845 22.916904292709827 17.01908196729936 82 10 1178.6472248273242 457.1980790923583 140.04833453474058 73.04298340517755 82 12 1490.997075588667 463.73808443275857 335.64069237412457 163.67757660503293 82 14 986.3203943777829 445.9175619706242 64.98476476158362 43.72380534928087 82 15 912.2874655506425 442.6463379383343 46.9913390683969 31.460956035711202 82 26 1237.2013409662577 445.93203296407734 85.43564472242907 57.67538541788027 82 46 1194.9503129394889 440.9830487762114 37.65403018410577 18.44895959113216 82 33 1401.5510317738008 451.98778942409297 56.18366764719055 19.578736996472355 82 47 1142.1581023772017 444.0 28.007690485177935 14.98320477441037 82 27 1477.9871082565219 451.87020389651997 133.1982899162769 43.0947924780014 82 44 797.0724780829737 435.98227179907303 22.892599755218885 16.994932582994537 83 10 1184.8205706572319 457.86352979468217 141.84852172649664 73.23256270870957 83 12 1511.7462790837585 465.4103422853198 346.4345398384791 166.87330318894067 83 14 988.92042271537 446.60328119035125 64.44118097363074 43.41669558958716 83 15 913.1994702566697 442.8566734244131 47.955259820331655 31.90266274387473 83 26 1244.6119707671164 446.688313186391 81.55634940406259 53.79550765709378 83 46 1194.3233558289246 440.9776127174213 41.651005861390544 20.29251936219978 83 33 1396.7389246524635 451.996770267665 56.914776603783004 19.809606315897508 83 47 1141.0681580186026 444.0 27.9171729273597 14.935555867388597 83 27 1481.7250650285607 451.9579708019277 148.95437075452975 50.41787833947654 83 44 797.1025153493262 435.9893971487463 22.890060288358953 16.987169381826284 84 10 1190.2777782203013 458.7567786731816 144.4227158333538 73.93904910490508 84 12 1528.5446828816828 466.04160268561947 362.4027768074256 172.52768654027895 84 14 989.9994794745094 445.56275611631 65.91399588958977 44.5862001476282 84 15 914.3742598892632 442.9374066796298 48.56594953620392 32.061466243825414 84 26 1249.7838366886863 446.27726051249033 84.39588181519586 55.106057670763846 84 46 1198.5385871313115 441.6191342505131 42.480462411812226 20.34831908782204 84 33 1392.2740160273456 451.33514580329154 58.841791823590135 20.56804723528198 84 47 1139.347793739743 444.0 29.27685518421541 15.66077862448943 84 27 1488.4355634698709 451.9949491096604 161.28893132387378 57.12698674907563 85 10 1193.7851863178887 457.77314442989956 150.64231880758427 76.80370035578848 85 12 1539.4357222270392 467.548134615895 372.31337253889546 176.55647078116533 85 14 992.0515262297289 445.81827731449073 65.68433263823928 44.368858952385786 85 15 913.9524521856279 441.6623484412722 50.4827990276965 33.41955417626999 85 26 1253.0569992033072 446.1315259248717 90.30676615186442 58.23497336415551 85 33 1388.2718792357794 451.0885091135823 59.22364760740345 20.853435679266404 85 47 1137.7820527422 444.0 29.692814781736093 15.908586352758755 85 27 1491.0183856178155 452.0098495607471 179.85604251959842 67.17635098530374 85 49 1482.9752475247524 460.0 42.04950495049505 16.0 85 50 1867.9300904003444 468.4 46.53981919931123 23.2 86 10 1199.8847192465146 458.0350090445582 153.50333800971273 77.87348774184476 86 12 1545.2083295398966 468.1151407437312 384.1684508308713 183.16463591721933 86 14 994.2445223661193 447.23062173148475 63.962861281237004 42.954517178785956 86 15 913.9501723958306 440.5361387789341 52.14161748403469 34.57171026722574 86 26 1260.6335382730529 446.72703466925736 87.3846551058739 54.83833280184334 86 33 1384.0002285346209 450.9969027563977 59.25788937425008 20.962930528219314 86 47 1136.2252514836284 444.0 29.86669310579886 15.997460374597718 86 27 1497.8922435380048 452.01571991287835 190.25430977928525 74.90697173073217 86 49 1480.8596328713934 460.0 40.11454514546526 15.229226361031518 86 50 1855.2649753964565 468.08833453686077 55.97511058698571 27.71914921551894 87 10 1205.1283948396476 457.4743041220752 157.5150486384264 79.55710461698496 87 12 1553.2120574553016 469.5924789960223 390.33204945177806 188.1983775600694 87 14 995.4502839636986 447.77533935086717 64.39746759634968 43.056154924084744 87 15 915.2447767080498 442.03396257186 50.78287611119266 33.720413192300015 87 33 1379.939709218097 450.30772290012817 60.501628306549605 21.661247785071854 87 47 1133.7353633828077 444.0 29.800318459290644 16.026343551114394 87 27 1510.697282550708 453.2182284507481 191.80391815428115 78.75098219481018 87 49 1471.9454883752503 459.20205237372215 43.93138806868424 16.56984265422478 87 50 1843.4298556178683 467.98265969874 79.91940258096368 39.870439082564616 87 52 964.359347671834 423.8 48.881304656331785 47.8 88 10 1210.7037897819246 455.95213525273726 164.50272791459838 82.76875344565845 88 12 1560.96092204365 469.5078428958331 397.1242339351807 195.18102147201455 88 14 996.9543839639996 447.9738863229034 65.63755325387103 43.74647260141116 88 15 916.4504088908985 443.298598887518 49.42405565987255 32.7012228289366 88 33 1378.8454769280936 450.70189286052965 57.71618352842321 20.62124924756219 88 47 1133.4689608137835 444.67339807626774 28.568871738587898 15.359971063358218 88 27 1526.1367025973716 453.7327745175257 190.74815459715165 80.86812107916919 88 49 1461.7745373705366 459.6895043342022 45.73690696321586 16.97149357618299 89 10 1216.6659675582118 455.36109437954093 168.8529577675161 84.61995367075073 89 12 1570.0081854681443 468.8125934253858 402.0978893194035 202.90732736168187 89 14 999.5202363277426 449.3537751626879 65.27392118639052 43.345177350826276 89 15 917.1680229792347 443.78166032097147 49.64327188497464 32.96413293783523 89 33 1376.6403283358966 451.53646817482223 56.65291766748099 20.20426971996928 89 47 1131.5917350188197 444.24396872643604 29.092492155831742 15.78760601960947 89 27 1543.5632281339053 453.32172719416667 190.37895480039356 82.86467378452961 89 49 1458.9817283620696 459.8855441444016 46.57424562542248 17.093973559388743 89 53 1212.0972497249725 444.8 49.805500550055015 46.0 89 55 1253.7752239179035 445.0 109.64955216419258 29.4 89 52 968.0417729324313 426.633061885966 48.06790974643376 47.091734528508496 90 10 1221.9647951941115 453.8372000172699 176.40922019558423 88.52730634690838 90 12 1578.8625580047808 468.5170857028431 405.8691744951049 211.5557013124245 90 14 1001.6012914234846 449.87729414801026 65.43077338818517 43.17963100972442 90 15 918.4055940860516 445.27247907640725 47.73692532920835 31.742512342784764 90 33 1373.848158032279 451.1780385514332 55.81800714662293 20.05162745312028 90 47 1130.0778736750817 444.08922235461495 29.030586753242204 15.94034549381771 90 27 1559.4146814299786 453.152013362682 191.1530563709513 84.82171462720741 90 49 1457.1883119818

glenn-jocher commented 7 months ago

@Shuaib11-Github hey there! It looks like you're experiencing some issues with your IoU matrix calculations and the resulting tracking metrics. If all the IoU values are zero, it suggests that the detections are not overlapping with the ground truth bounding boxes at all, which is quite unusual if you're getting high ID metrics and MOTA.

Here are a few things to check:

  1. Ensure that the ground truth and detection bounding boxes are in the correct format and coordinate system before calculating IoU.
  2. Verify that the IoU calculation function is working correctly by testing it with known overlapping and non-overlapping boxes.
  3. Check if the detections and ground truth data are correctly synchronized frame-wise.

If you're still facing issues, please share a snippet of your ground truth and detection files, and I'll be happy to take a closer look to help you troubleshoot the problem. Keep up the great work! 😊🔍

Shuaib11-Github commented 6 months ago

Hi I have attached my ground truth and detection files. And also drive link for the 3 sec video for reference. Could you please go through it and check where the problem lies and the solution to that.

https://drive.google.com/file/d/1DfL9LJaEiAtPyMXvA62UMc5CA8i7YSRi/view?usp=sharing

On Sat, Feb 24, 2024 at 4:26 AM Glenn Jocher @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github hey there! It looks like you're experiencing some issues with your IoU matrix calculations and the resulting tracking metrics. If all the IoU values are zero, it suggests that the detections are not overlapping with the ground truth bounding boxes at all, which is quite unusual if you're getting high ID metrics and MOTA.

Here are a few things to check:

  1. Ensure that the ground truth and detection bounding boxes are in the correct format and coordinate system before calculating IoU.
  2. Verify that the IoU calculation function is working correctly by testing it with known overlapping and non-overlapping boxes.
  3. Check if the detections and ground truth data are correctly synchronized frame-wise.

If you're still facing issues, please share a snippet of your ground truth and detection files, and I'll be happy to take a closer look to help you troubleshoot the problem. Keep up the great work! 😊🔍

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1962105980, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2GZOCZIZI2BQXV2MF3YVENB7AVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRSGEYDKOJYGA . You are receiving this because you were mentioned.Message ID: @.***>

0 1 1484.0 463.0 404.0 171.0 0 2 1063.0 441.0 166.0 113.0 0 4 1376.0 456.0 156.0 79.0 0 6 1764.0 447.0 156.0 122.0 0 9 1630.0 443.0 150.0 59.0 0 10 956.0 444.0 56.0 38.0 0 11 1282.0 448.0 48.0 18.0 0 12 1008.0 447.0 70.0 48.0 0 13 1218.0 449.0 32.0 16.0 0 14 901.0 445.0 34.0 25.0 0 15 866.0 442.0 28.0 20.0 1 1 1501.8568757234182 463.0 408.20360392506416 172.73553719008265 1 2 1068.816714551413 441.0 167.3830998227935 113.86776859504133 1 4 1387.2221681772903 456.0 156.11764711649366 79.0 1 9 1646.1597586949563 442.1322314049587 152.3912264117403 59.86776859504132 1 10 957.5123554355243 444.8677685950413 54.710826319034005 37.13223140495868 1 11 1278.6897798781447 447.1322314049587 50.281597268503816 18.867768595041323 1 12 1010.1950137689258 446.1322314049587 72.5521212224788 49.735537190082646 1 13 1214.5678362931071 449.0 33.657715843537986 16.867768595041323 1 14 902.1392119436384 444.1322314049587 35.19265049288833 25.867768595041323 1 15 866.254485262315 442.0 29.226566665452438 20.867768595041323 2 1 1508.3720325727097 462.99999999999994 417.54623166506434 176.91445873766392 2 2 1073.1320889661079 440.2229596092163 171.0861037367675 116.34770494493748 2 4 1397.2491025706672 456.0 162.53521454040995 82.11822141250819 2 9 1672.644275067877 441.98324586889123 114.67861528971169 44.52175382925203 2 10 958.1763536386317 444.22872555789377 56.827399569055906 38.55838373052818 2 12 1012.2358143428213 446.7505607928476 71.9700112429626 49.26670807533992 2 13 1210.5538923120696 449.0 35.4514777893782 17.779776304774344 2 14 901.8243020986295 443.9827655923988 36.42033343314572 26.785527372074032 2 16 1856.1586689987816 443.6 69.48266200243708 124.4 3 1 1512.6235633491842 463.75240960847316 426.0308744189093 181.22640320640363 3 2 1077.469946192395 439.976136241262 176.65846733677245 120.13537570375375 3 4 1407.2582500084845 456.0 167.73208789206387 84.59824917121978 3 9 1692.3538969620354 441.10370026075265 101.97241690899361 38.91607070782675 3 10 959.7974850824844 445.5223343509496 55.37085008541159 37.50671965718096 3 12 1014.2039619363148 446.20862518902146 72.84179621331229 49.83907492021068 3 13 1205.4366391691733 449.7354540264719 42.94628551076499 21.748457581631964 3 14 903.5439194893854 446.1836671187342 33.861849366181026 24.836657083420118 3 11 1274.183448025587 446.9801997832565 50.479448097069266 19.00828846282284 4 1 1515.789605659323 464.00235340538086 437.5430727539128 187.617208775931 4 2 1083.4552045805135 439.1896244769153 180.58660800275152 122.7720585553442 4 4 1419.374665055194 456.0 171.37324144275343 86.08149285947715 4 9 1715.0951095930852 442.59746332620153 91.23356667986344 33.824578777234244 4 10 960.8422424573025 445.2228011564342 55.97949753607674 37.86104664323647 4 12 1016.2216224230432 446.7604246561621 73.14672447360108 50.019170402341686 4 14 904.8939295871378 446.9497511662191 32.905297102715714 24.125767299002565 4 11 1270.257640018622 446.2348635521091 50.1990058720409 18.996980375815816 4 15 866.9308286931455 442.9508144791186 28.198799816459186 20.066605392860225 4 16 1864.1772889450285 459.4458336270312 40.87803681953906 71.21628253915956 5 1 1522.423309613742 465.4720454673268 445.1175853271858 193.19686702698866 5 2 1088.2092515277782 438.9293144271576 185.97672596108382 126.39427837443716 5 4 1430.6465192298228 456.0 174.50991156429524 87.21476343629173 5 9 1728.6603339885696 442.1570436366996 91.82548841577254 32.94889679936566 5 10 962.8725168480208 445.8260747933118 56.29976276975045 37.97815715543846 5 12 1020.2230649339286 446.95304306831144 74.28132674216319 50.78011867533097 5 14 905.5491601560707 447.1615066119909 33.56524300447578 24.651126203444882 5 11 1268.6036067469786 447.428119294002 48.16638167767787 18.279938458430074 5 16 1873.4981314534803 462.20082402862084 32.01714420439648 53.88494893106388 6 1 1531.838663389896 468.0383976939324 445.4043324469661 196.42215520700427 6 2 1094.066102529639 438.17125860048077 190.75278362505998 129.65141772272779 6 4 1442.3694408641552 456.6873370053556 177.89418251284494 88.2327070111617 6 9 1739.4558281962254 442.80949670892784 94.39539774817857 32.8102519274583 6 10 964.5015396946924 446.028391407161 56.57104534842378 38.016014291656795 6 12 1023.969215155949 447.70984532370306 73.98943873319809 50.34406970710025 6 14 905.644920147474 446.5109508563735 34.69098023143707 25.53719123121077 6 11 1266.6321922303318 447.1470675071623 49.08931628471579 18.742448021874733 7 1 1543.6261321295929 470.9921985984177 444.32421126687365 200.12687612983504 7 2 1101.5370487254713 438.5775195758779 193.50883620579322 131.42554345574786 7 4 1455.157438481005 456.9394888090246 182.88081815478736 89.89326493816179 7 10 966.1070479111748 446.0883934947539 55.88177544952434 37.337617221949166 7 12 1026.5861249231677 447.2919501971226 75.25660414277958 50.85561658447253 7 14 907.5710031040804 446.9411095646041 33.30385443569151 24.496912119753716 7 15 870.53688552413 443.0533909773148 28.21732299871605 19.983159363002525 8 1 1551.5001138379114 472.06484254317184 448.2833186391935 207.34517696484778 8 2 1108.1537989378178 438.75170922987604 197.72972361500598 133.9778356769115 8 4 1464.4549203339525 457.0281645429727 188.1059738297096 91.78953037456081 8 10 966.7496963022124 446.09716815928306 56.74904768438404 37.773581673570746 8 12 1027.3432263298332 446.45547253681457 78.59836915045186 53.06382550127465 8 14 908.7139324706397 446.3895466531651 34.628321364247135 25.488440242998117 9 1 1561.2686945125201 472.429836356454 451.3157053404769 215.84158122674864 9 2 1115.1805272419713 439.4905196662387 201.64209139203192 136.1669982421301 9 4 1477.4007930925527 457.71779628771395 194.09448711550218 93.77099523341255 9 10 969.7890144118442 446.76754569995137 55.40059266979789 36.58271456024563 9 12 1029.1414816430097 446.80636945718106 79.93609575849828 53.867484893477 9 14 909.1058461188587 446.1907188535023 35.079805760940914 25.838095029153507 9 15 871.3583127481419 443.0416586985163 29.255748204972363 20.81606028301514 10 1 1573.8755265965685 473.82800439485067 449.74021119114076 223.507621185148 10 2 1122.5893395088171 439.7827473966105 206.28152242196094 138.8764628580178 10 4 1487.814843957844 457.9752222352155 200.273819931555 95.78180591741449 10 10 971.0307767669964 447.0082061515167 55.905960962379496 36.81701168415245 10 12 1030.789595738767 446.94250611887105 81.59808998926893 54.81274386155499 10 14 908.267696347639 444.7740984607352 37.14173114882593 27.3024094776532 10 18 1708.3019666350197 442.8 214.59606672996065 71.6 11 1 1595.5057458898293 474.9804882202653 430.52106678067423 223.08971566180605 11 2 1128.9827681675756 439.2449981436309 212.17764040395645 142.4388197150213 11 4 1498.5876010361355 458.0660203555181 207.7722610722978 98.4554218958142 11 10 974.517179968658 447.75832370182 55.28993245849482 36.23460100725498 11 12 1032.4302916661184 446.3355475812858 83.28933283406796 55.80781431022197 11 14 908.2791241102409 444.2442353034923 37.87305274297357 27.84529688122543 11 18 1709.0188126215403 442.95009231329374 230.27289847240695 77.15341559186864 12 1 1619.4057977966543 474.7290519090119 408.91077345401555 222.02071190769223 12 2 1135.770435328066 439.69148274663905 217.6129779191151 145.67209394219273 12 4 1507.7262413606654 458.09351217263986 215.39241087429926 101.37648655169808 12 10 975.5752807376364 446.67787286238064 57.43014161800921 37.37038379228891 12 12 1035.6488010669154 447.4127880310046 82.48742128220883 54.85432367710326 12 14 908.5441694070666 444.0404916064876 38.22190188577178 28.046076311054367 12 18 1715.2534168953243 444.47981797723423 234.31071489913123 79.15865836839417 12 20 1127.5381032022121 445.79999999999995 33.32379359557578 36.2 12 6 1777.626086926004 443.01600600225083 113.80784865643288 83.15605852194572 12 15 873.1130744391261 443.05066155676275 29.754292268809333 20.989848812980473 13 1 1641.0650816379796 466.0689342751543 392.5598705138004 224.70093985771985 13 2 1144.3367884238407 439.86902366355224 222.20509694385905 148.1270538194204 13 4 1521.1014288285414 458.09724925927316 221.0889609924133 103.09373550845135 13 10 975.8068485610315 446.9378252720233 59.09258017629555 38.44858462665607 13 12 1037.57469590982 446.5063273761321 84.53269981707446 55.77744780339562 13 14 909.8111023693759 443.3115228573416 39.244981146145385 28.76730948011818 13 18 1720.4038052282372 443.5719294496378 243.02221160619462 83.29446941970876 13 20 1130.8620823652136 445.95523798097145 34.12725835620143 36.820951923885715 13 6 1782.3599239564771 442.1348567876863 117.78482232302689 83.24202432009535 13 15 873.45382251476 443.04375919836434 31.557196080269076 22.372845216438513 14 2 1152.6062524935664 439.29110779463656 229.08355310426288 152.22556536334667 14 4 1534.250644469821 458.7402183620202 227.2112520644438 104.98770362944771 14 10 977.6279602210843 447.0314389463205 60.070241393427004 38.857024727466616 14 12 1041.4045333015042 447.4772028085458 85.47792612853286 56.10775716258068 14 14 910.5471021344277 443.68954490875325 39.731499123546755 29.032678680263892 14 20 1135.6954957774626 446.0064059380698 36.200587478210764 38.57297275324347 14 6 1790.4734806481977 442.63486644252714 124.23088765986695 88.00159466786965 14 15 873.8998622727937 443.04283955598675 32.16799578835042 22.836952198428303 15 2 1160.608336586609 438.42344110889655 237.09026455492332 156.9518767108516 15 4 1548.7632212986014 459.631282593996 233.78601555519958 106.95116467251894 15 10 978.9539442011345 446.4033666705712 61.68391657773514 39.66582607502989 15 12 1043.2274247373773 447.84984802292485 86.22920884437951 56.213149693771946 15 14 911.515299087727 443.8437921501042 39.79360043904065 29.122410506714704 15 20 1140.6559434704704 446.01905665076436 37.897888433083686 39.84958878597904 15 6 1791.3543188064236 441.4478136215566 138.3436647699384 100.60440670070697 15 15 873.6705280870342 442.388486158803 33.153846403145984 23.662035367665098 15 22 1803.5936438926913 477.0 124.81271221461768 200.8 15 23 1719.667484248425 458.4 144.46503150315033 59.0 16 2 1168.033382015702 438.08936598018084 244.53095027572152 161.2725489919577 16 4 1562.83009107744 459.96901321594925 239.22065511066555 108.29402477695099 16 10 979.3014036012612 446.1604810188491 62.49064730278106 39.96684603846124 16 12 1045.1152770291164 447.9886559235729 87.85358796336926 56.89084860186113 16 14 912.9064400781452 443.25392908864796 39.677974164241434 29.144562560127792 16 20 1144.3666857256583 446.02010776464573 39.09123087657696 40.247495643349104 16 6 1794.132345594452 437.787887249316 148.2083311166741 112.31553915202542 16 15 874.2587319670084 442.13561661588983 33.42910568948788 23.97254733538354 16 22 1821.6396163469985 494.2518624732017 118.51943885062364 192.3309038767919 16 23 1732.4807573827181 458.09869184050467 112.96297612440449 46.19440322144797 17 2 1177.8973686546149 438.6081166540215 250.2724044374876 164.14510350823727 17 4 1578.1566697248747 460.7383539909233 244.57213938366593 109.39466290188652 17 10 981.6863191189741 446.0648714574119 62.0899324108902 39.41745978327478 17 12 1047.7640113807363 448.6922455112219 87.03374746344733 55.82184281330015 17 14 913.3619726530793 443.0327278165644 39.72142464347382 29.141895851777686 17 20 1147.5381431004712 446.71005746988527 39.57548873154141 39.646366171764825 17 6 1797.3164841819846 428.7261282251377 157.28105194228473 125.8385025166368 17 15 874.4117087319729 442.03705675810306 33.6359180251115 24.083400281828865 17 23 1749.197538931052 458.8576144550948 87.85987073245552 35.75629469491818 18 2 1187.843026160127 438.81814730548035 257.0981779534461 167.73538737074958 18 4 1591.9828563842875 460.37603235291346 253.84577018627684 112.35199736587913 18 10 982.9840554509847 446.0269870695509 62.342823523216566 39.1959952942095 18 12 1051.4815238539568 449.6198668030131 87.02077868128957 55.38676536419724 18 14 912.6562372738719 443.6109891187065 40.11593067457601 29.13089023946766 18 20 1150.8309923514269 446.27194877868004 41.23294532499118 40.06817715680801 18 15 874.3285500384558 441.34817400518205 34.60021912729821 24.768054132418058 18 23 1750.7497935046292 459.0127615377546 83.90965261460535 34.13392283002713 19 2 1197.1888533136064 438.259256334827 265.5576420357751 172.24993345433475 19 4 1608.2249286720034 461.51857487345177 261.7929414760095 114.72656811541636 19 10 984.6925417453259 446.0122320640403 63.83509657449453 39.76792050960768 19 12 1054.7370453952328 449.960680961837 89.04886161612251 56.535790064713446 19 14 914.3166818023387 443.1796451121998 40.28828976876025 29.117774410900996 19 20 1155.3276551654571 446.7836540285744 42.35465588545001 39.52344601948871 19 15 874.3790203507385 441.0871477215079 34.76793503708543 25.02165645125928 20 2 1207.454378162457 437.4018307621415 275.52913833970007 177.76274172257476 20 4 1621.1458554946828 461.3079406233443 273.2430423733532 118.81465816838929 20 10 985.1589305820337 446.00643370402435 66.60500308714032 41.29066619497146 20 12 1058.062053636207 450.0804022241195 90.01078545754775 56.957610456399856 20 14 915.2149745101368 442.3612981836912 41.737808022963115 30.420625757754856 20 20 1158.0620719218314 446.9720881779481 44.99830107853077 40.64485594735788 20 15 875.0807935230484 440.9895374196765 34.72066296758347 25.108919589131133 20 26 1048.3851485148516 441.8 46.02970297029703 35.0 21 2 1218.5501440011885 437.7130297321392 284.46997172172223 182.37459825947948 21 4 1630.8322360626294 459.2896843006488 284.73571481395436 123.55100298049184 21 10 988.2416373049895 446.65279974002374 66.93399653850659 41.212919012303125 21 12 1060.2067195482405 450.115525234219 91.68398667628374 57.762069399016916 21 14 915.4402060832655 442.05759072878544 43.11442951997267 31.551183239675705 21 20 1160.5212976607738 447.0372743856795 47.447517191124945 41.70702144244582 21 15 875.38107195606 440.95632075468995 34.60008852374085 25.13163596767986 21 26 1051.0806047767978 441.9541547277937 46.95913428594583 35.77077363896848 22 2 1229.3949593233451 437.84202435300665 294.8016827861972 187.91572964415042 22 4 1638.7513725537224 458.4923065352676 291.5113969910792 127.25546703432849 22 10 989.8466076400597 446.2494644789903 69.37462945403753 42.47928252898095 22 12 1063.129665506579 450.7744710357429 91.81875190150998 57.401325927266015 22 14 917.4202664056622 442.59103101576557 41.09321330558438 30.045749705635387 22 20 1163.7643709909064 447.05683230166494 49.36634519524658 42.09228855341777 22 15 875.5209789694334 440.9478513382118 34.46130329743371 25.130372721966804 22 26 1053.3178292122443 442.0059532763043 45.37757107840979 34.491476032676815 23 2 1240.0956419380118 437.25648816583794 307.6336344587487 195.09319049423044 23 4 1646.6120491191832 458.8160203939284 295.1403281207639 130.55442476589403 23 10 991.9699235144935 446.74436117103795 70.40252351952957 42.94969877455229 23 12 1066.5855853140056 451.6764282627692 92.21149173989413 57.245596756599326 23 14 918.5299470062685 442.817483871043 40.86109685096229 30.08414499144506 23 20 1167.0525367701514 447.0588067564551 50.93705491540832 42.216263921266055 23 15 875.9791633135626 441.60368679450545 33.55856171223023 24.4657390396989 23 26 1060.9840843985924 441.25521142332013 39.10756309252988 29.482439940126675 24 2 1253.3588066175948 437.66973376878394 318.06837112293994 200.34194096554563 24 4 1656.9143262786345 461.5082188750489 290.0726831599118 130.4821908495647 24 10 993.3125320279348 446.9354217825005 70.25494677022154 43.11731490571089 24 12 1069.048162679891 452.00700027178715 93.77515618353316 57.83410856629621 24 14 919.5589911415132 443.5625241671957 40.80269823471811 30.09295306367389 24 20 1168.875468313257 447.0548629882932 54.02039987009928 43.55923135921288 24 15 877.179520823348 441.1967893824976 33.1057661290479 24.200389053525292 24 26 1057.629349748983 442.5859838174693 44.43223938945616 33.44548841798214 24 11 1229.514038551681 446.0070050011349 45.97182469673949 18.005265554700397 25 2 1266.1277186644566 435.9187142042787 331.2407727861763 207.3921067848373 25 4 1669.7121695276621 463.8640712894386 283.60696711171255 130.34545302659006 25 10 995.4549253786507 447.00620910364535 70.7080182163962 43.167038968948916 25 12 1073.3709606351458 452.12017620692205 94.58718411423675 58.04689061055046 25 14 920.2197149955186 443.8478360495195 40.82846439612223 30.089442316141046 25 20 1171.3689617126481 447.05053200977625 56.54823075754447 44.70269912953777 25 15 877.5325463468024 441.0458013399559 33.75677698771708 24.759362491062394 25 26 1059.14073441354 442.2586425533443 46.70454839225852 35.149241703210315 25 27 1674.9914191419143 456.8 88.41716171617163 27.6 25 11 1229.3830354325041 445.9835665662198 44.25456390070602 17.990687857494375 26 2 1280.2993706825505 435.2370160597507 344.740675319675 214.49485894502496 26 4 1682.057901341189 465.41430002680096 278.27462882637343 131.5080746206901 26 10 996.5979497329431 447.030196439222 72.70330197476136 44.482477395387754 26 12 1076.2147848833308 452.15020205661733 96.8639107788308 59.430830850951516 26 14 921.8519970135097 445.93241054114975 39.32172364928082 28.76430934144628 26 20 1175.0468384622525 447.0456494403583 58.30151228329241 45.12366845320136 26 15 878.4331878627652 440.99128530033937 33.742529093538145 24.964838924847733 26 26 1062.9540261276527 442.79686126032277 45.65111985817738 34.45371745194487 26 27 1670.752755288893 456.9582570956526 87.08254949175242 27.12522871304219 26 11 1229.001423825554 446.6440761246583 42.98729035791936 17.98550589227317 27 2 1294.127655704814 434.97701938576233 358.86954587174966 221.61550483382626 27 4 1691.3699322517807 464.6941494469121 278.5108335925359 136.43123646522832 27 10 998.7768300479019 447.0371458278243 72.44942955740831 44.32215031905788 27 12 1078.1439786407366 451.4999974037832 99.72890992246695 61.248789285198924 27 14 923.5216760504364 447.4016286123701 37.900022940817074 27.576790439770434 27 20 1177.9531465146022 447.040518673281 59.617041618403604 45.26097406661299 27 15 879.7777067284293 441.629126354522 33.00952350855012 24.38222411649293 27 26 1064.3903798887104 442.3107148926749 47.108747848670404 35.53946782833341 27 27 1667.1020891251742 457.80206773707266 79.42423255632191 24.59379678878199 27 11 1228.146354438209 446.8909001731529 43.430991277199894 18.65204062472148 28 2 1309.8188517676526 435.5218933953847 372.3994984008178 228.09861000312839 28 4 1705.7682778855694 466.9769381004013 269.75318258725275 137.61846114069414 28 10 1000.4829186817789 447.0364798092766 72.41802582596323 44.240231143852256 28 12 1081.613772304433 450.5935732443702 102.9336990635621 63.22893256870031 28 14 924.2282335552859 447.2558625389664 38.46523513222303 27.815857388938795 28 20 1180.7695328000511 447.6894398654705 60.33707610378036 44.63597513582373 28 15 879.5941178013957 441.2134908370978 32.74541208349819 24.151124112095232 28 26 1066.972946392899 442.7981332204462 46.05999347181606 34.59287318299308 28 27 1661.2214635786033 458.0403117340455 77.68991907661537 23.879064797863656 28 11 1226.823908571266 446.324704929743 42.427579830852146 18.900016411796592 29 2 1326.7946269161482 436.38488207782694 387.76313106421856 235.60212272853585 29 4 1722.8090396034306 466.5612256322279 258.03039533099184 137.98988386351363 29 10 1001.6130949389249 447.0336872286032 73.26161852833187 44.85135433901408 29 12 1085.1562654904626 450.883567652961 103.42483742252703 63.32948672896258 29 14 924.7716980770789 447.19381441222794 38.70991986551292 27.905432174345165 29 20 1183.5465009182062 447.2774489790793 62.1496321967825 45.0296120621602 29 15 880.1562647246909 441.0584713148551 32.66935321602258 24.062632473330968 29 26 1066.5848281554283 442.3034748647542 50.873210272205114 38.2741006654316 29 27 1656.0977789233011 458.0936642550494 77.70029652844768 23.719007234851755 29 11 1226.2107577486736 446.1044241611712 41.084757948436675 18.992989786967392 29 28 1740.97414707415 469.0 60.45170585169972 17.4 30 2 1345.008684759745 436.092855733428 405.48791624660026 244.13546304290023 30 4 1741.1976322913674 467.0275272735027 244.56464620477453 138.05031832736915 30 10 1004.3473812844732 447.683803508551 72.75933815840298 44.419117085198046 30 12 1088.7468290063812 450.9937112738015 104.11709671108095 63.33829975925154 30 14 926.8027283038653 447.15806587580573 39.06052045490574 27.94279040948291 30 20 1188.7916598717923 447.11874988192955 64.01153540158367 45.81866962637359 30 15 881.5610256501327 441.0019603689013 33.52771429709537 24.690846659944583 30 26 1068.141661576936 442.76980552627987 51.772996786672145 38.94169740450525 30 27 1646.4051204773855 457.370228311276 82.67344128458318 25.16264594444348 30 28 1735.7710510474635 469.79240014193806 59.44733586116501 17.083039943224772 31 2 1363.0481858686585 434.70827366780946 425.400357476377 253.70160337429903 31 4 1761.171994850105 468.4928614834772 227.00524914614275 136.04096460540885 31 10 1006.6182141981376 446.61481821309144 75.88479843073257 46.21254752433669 31 12 1092.279910211194 451.0322638219847 106.34208310114255 64.62572538802927 31 14 927.0519888872306 447.13387669220367 40.14880104173084 28.62342467656492 31 20 1192.3979328083642 447.05617734900954 65.80981115678922 46.75658826936662 31 15 883.6616591003864 440.98235021988904 33.28403344000772 24.269375977878003 31 26 1070.8029058980926 443.6066315225073 51.100943207843464 38.528910780937025 31 27 1642.982688912991 456.4367841753747 87.690074051016 27.033705965169244 31 28 1729.0840435085947 468.44506246553425 64.53037719236166 18.576893506433066 32 2 1383.6643514520442 435.4382301450958 445.90487803098455 263.02812199361017 32 10 1009.4950003122483 446.8612791816209 76.14564432358343 46.228245280646924 32 12 1096.4711827376477 451.69388273686474 107.121646492618 65.09697663672436 32 14 927.2441630684383 446.4609488218173 41.60793016925147 29.53576328621728 32 20 1194.595398712747 446.3802825071092 68.49246587970237 48.4008415659619 32 15 883.4037358987388 440.9774229936375 33.937253693455865 24.76536683112533 32 26 1073.2215265152684 443.2695185217112 51.829107791193955 38.99866572838766 32 27 1645.730879622776 456.0944510550208 91.18462788654122 29.055944414259635 32 28 1720.2677993198806 467.3038958151623 71.11084674730452 20.481171145418823 33 2 1404.1118053337202 435.0990831348454 470.8992522571927 274.79768003774143 33 10 1010.670218535921 446.3039779214442 77.25590906225291 46.868729179688025 33 12 1100.2060271548687 451.29367305212077 108.77493030643106 65.90614641932503 33 14 927.8687487103659 445.54699220650224 42.950426047617654 30.533245290358686 33 20 1198.861328079776 446.7658379724342 68.24229847960324 47.72452886420985 33 15 884.8933112826312 441.63267872958363 33.58942023744237 24.2926356372601 33 26 1074.3325219735937 442.48256119436104 52.229522310445866 39.161185908392426 33 29 1867.8715224448213 470.00000000000006 59.85695511035734 137.4 34 2 1415.3425900314103 434.97000548764845 492.3608827668362 286.23630930779973 34 10 1011.8832630872845 446.09142203336 78.60556818910742 47.75171772144402 34 12 1102.3901195991943 450.48402943150245 113.50142017777755 68.7998893626272 34 14 928.6497411131284 445.1926184109953 43.61529888087159 30.912094592024886 34 20 1201.2285142109813 446.2639088312444 70.952044839709 49.39354431567802 34 15 886.0225680453336 441.2232415440798 33.601279034210734 24.106464352285535 34 26 1076.5727765819718 442.1760505677176 54.48507873303608 41.1712089183382 35 2 1422.3230684138944 434.29070981472455 509.16999350942893 297.5435925306649 35 10 1015.1765512352927 447.31205979596956 77.21823690767461 46.77519892543481 35 12 1105.2650308662126 450.17390416414315 115.53021977511372 69.88476645669739 35 14 929.0043107624 443.1001223092738 46.29468173517568 33.005353343937074 35 20 1205.5022058591665 446.7222328418787 70.8379459774158 48.71521455357038 35 15 886.8196830175239 441.7327347750288 33.46009083897438 24.03615106784757 35 26 1080.8172574896305 442.70368948241065 53.59875603002798 40.6321755484845 36 2 1427.8862469492628 434.66018814176806 524.214070405958 310.05420002155904 36 10 1016.5173014673782 447.1301697799596 79.64344142023248 48.35164834204969 36 12 1109.8107851468408 450.0518649934276 116.29861706308209 70.27565639761019 36 14 929.965388949773 442.9486240261291 45.6190631856644 32.515711925682375 36 20 1210.0370152351159 446.9048137839704 71.90024458627575 49.073837767470394 36 15 888.5174237465964 442.58649275893765 33.86062036088161 24.009819951787847 36 26 1083.383584556354 442.9140550843265 55.18885720645955 42.35221842373995 37 2 1433.7035700064569 434.1799755238303 536.9710820601116 323.65695307997885 37 10 1018.4196196927624 446.41220470354216 81.5379249031784 49.579487168302634 37 12 1114.298974582132 451.30646738722925 116.69894762422942 70.39285233021288 37 14 930.9399199561543 443.55456319060494 46.00743582476975 32.94799793701695 37 20 1212.8531156844963 446.9737567346566 73.76036773123845 49.84732921669003 37 15 887.7578844609187 442.24310218172275 34.756735968493366 24.662341617591423 37 26 1086.4349757893658 442.99204130967195 55.382224916935726 42.98779821533469 38 2 1440.800193647338 435.25892846759325 547.7654117929761 338.94345004271605 38 10 1021.0676602834162 446.133172100475 82.1758497840288 50.038467157927954 38 12 1118.5448432213718 451.7902219453593 117.38655740787654 70.40651187372222 38 14 931.5861012948461 443.1406216190538 47.489352219062695 34.40227572377672 38 20 1214.5525857594334 446.3478463405319 76.85280121885087 51.4293148580761 38 15 887.8491695688757 443.4206156172722 34.29061407216796 24.251277920518493 38 26 1088.8315352548102 443.02006805926567 55.45186271000045 43.21236100037851 39 2 1447.4662464193466 435.0619037748638 560.9625836733555 358.6653277483922 39 10 1024.3649747893035 446.0261247808175 81.60829723762713 49.544740423451294 39 12 1122.8638672953434 451.97204181257126 119.80871688827916 71.69128021696524 39 14 932.7862304764308 442.98658185759814 48.02274583750654 34.947863294279706 39 20 1218.6267481082634 446.7548089500938 77.41345362659828 51.372068237056794 39 15 888.9566169969539 443.87195220744167 33.87640766392986 24.08908340278477 39 26 1091.1325246630877 443.02842034108005 55.79377452850673 43.27560457184826 39 31 971.8 442.0 27.0 22.0 40 2 1458.7588862383568 435.61418830004885 568.7148617961462 378.20966904414183 40 10 1028.2023352994693 446.6438361651683 80.65215156752275 48.67521930000688 40 12 1125.8077077958883 451.38668457570725 123.7240803301468 74.10929415369993 40 14 933.3797424614223 442.9330906356379 47.901958003257185 35.14449199433652 40 20 1226.1552596071917 447.56914641391035 77.16167733309247 51.32188446217799 40 15 889.96168730787 444.03332253461855 33.81422075079446 24.027992006776913 40 26 1093.0803380210698 443.0293385036963 56.221728391889265 43.27834553895438 40 31 973.4957020057307 442.7707736389685 27.0 22.0 41 2 1477.3990562682866 435.2107211574752 563.2858432811828 391.4165402003093 41 10 1030.5905521887385 446.8813486253807 81.53276789336428 48.98801291415336 41 12 1130.6369179404976 451.8045572409411 124.67686593652265 74.36739078826332 41 14 935.256961939765 442.91901374419416 47.72334566446801 35.203307114687014 41 20 1232.5431486231482 447.8804819297524 76.29228890621903 50.62707242225773 41 15 890.2101154786099 444.08543320097584 33.994180879122666 24.005345377173022 41 26 1095.513263127749 442.37333664873546 57.40396380695932 43.91419753473541 41 31 974.5515938777355 443.02861770521775 26.022730147487177 21.221946202688873 41 33 1589.7172315308453 455.6 56.5655369383092 24.4 42 2 1507.105672505792 434.4181804327999 538.2222809416394 391.95389405103214 42 10 1033.1906600697516 446.9698739418487 82.23182329347068 49.096051667126176 42 12 1136.4263185941836 451.9655849164223 125.34770766269078 74.42851151840077 42 14 936.8482695366929 442.2677665966738 48.44511249176963 35.86178175325038 42 20 1237.9260531987845 447.99599926540014 76.96319498641837 51.00008916811042 42 15 890.4803137492199 444.0968223513569 34.97614461125553 24.65916361408235 42 26 1100.8075565457605 442.77402896586005 55.47224133221782 42.18626389749383 42 31 977.1311700259033 443.0818358076153 24.91986133308234 20.21588173688538 42 33 1584.1988621393136 455.91457544919416 58.16501224554816 24.871863173791237 42 11 1204.5237440420067 444.0401739924459 36.03420834442869 16.060438666242064 43 2 1544.4482836225964 434.10295975742014 502.7538422885486 385.31543801031387 43 10 1034.9865195425723 447.00236161627856 84.6334488020343 50.44115305338001 43 12 1140.5962705673724 452.6772416538736 127.91362182744122 75.72652547643308 43 14 938.593342108169 442.6729681906907 47.671600317042895 35.45189213094754 43 20 1241.371637205382 448.0359907888295 79.32613794075283 52.440232169608635 43 15 891.2006641891152 444.0955814494561 35.37374893787117 24.903352144151132 43 26 1102.4052217229262 442.93154487704396 58.03366752945295 44.14623773192409 43 31 979.0953533299389 443.8278994207997 23.66211729849232 19.174180115735677 43 33 1577.5834468093703 455.2370489972254 57.50482723493644 24.24440087344671 43 28 1662.3693686365473 466.97696850740255 59.926989943810185 17.075282027715588 44 2 1581.0704469914701 434.6326053441629 470.7027554349591 382.29530471801894 44 10 1037.1361285188736 447.66485230336804 85.70177816715925 50.94025110016748 44 12 1144.8292394100015 452.2943272754277 131.11624085531722 77.49669752662494 44 14 940.9689514963088 444.8072272295477 45.178685851624614 33.30568650078235 44 20 1244.9564491820179 448.04803516438136 81.24166155467093 53.62449995077161 44 15 891.319368338182 444.08796195114644 36.44165258400532 25.65061751076072 44 26 1101.9621671250243 442.34062441514106 62.24588975591019 47.44832314382146 44 31 979.210048519008 444.05221242953496 24.161616139305202 19.607200828493976 44 33 1571.5134866115045 455.77517286916753 58.005351005832225 24.029946868955925 44 28 1657.4199677136933 466.992679211561 59.85275480030101 16.938982024693924 45 10 1040.3376454156448 448.5727356937031 85.08149618434855 50.46418470394129 45 12 1149.8722387820649 452.14205393341103 133.63459961752588 78.7976929585495 45 14 941.2432170922547 444.2943916652646 46.02987388585779 33.80214764249414 45 20 1248.5147888825798 447.3996816037729 83.14469109649161 54.71373893755204 45 15 891.9936113483433 443.42997779095094 36.845935794039214 25.931027568198004 45 26 1104.6814560191754 442.7496264397551 63.06465206025214 48.0702613135298 45 31 979.9261976449458 444.1159497301836 24.313640864158202 19.76089327055454 45 33 1566.4808621003754 454.4865723045438 60.41168132274274 24.700958351930403 46 10 1042.8284714257131 448.91756540363116 86.04547891640902 50.922329674591325 46 12 1154.1810684917866 452.0791657629999 136.03900607521288 79.916807836024 46 14 943.3520135817604 445.4260455703219 44.9061231936188 32.66144081470512 46 20 1253.01236916436 447.1461968718252 83.79413875461707 55.11463108171565 46 15 892.3903505223951 443.1699301197241 37.97892560056117 26.686331090819213 46 26 1107.5043748602798 442.9159055048765 62.91307077205563 47.63850099217069 46 31 980.7546181341868 444.1231766490812 25.201092625531633 20.52490080840829 46 33 1562.6299067327686 454.75753389376655 60.272849898616215 24.228127109677658 46 38 1786.9931383739665 451.6 153.81372325206695 370.2 46 28 1647.126497526775 466.16217853029593 59.560282418038945 16.92847749899306 47 10 1044.6563477938864 448.3859137836536 88.38916853121901 52.39588007882838 47 12 1159.4446549055044 452.0519311541254 139.15581965459756 81.61329596629376 47 14 943.785606726451 445.1896481977821 46.44055727701471 33.555278903731605 47 20 1258.1620648757837 447.047386076743 84.68706638327536 55.89766154713642 47 15 892.7837905941917 443.71759207925453 38.53091753982436 26.9690045598391 47 26 1110.1884377040935 442.98033233255165 64.68138829755627 48.7434568034276 47 31 981.775428108455 444.1171188585393 25.35732821989204 20.80730801492268 47 33 1554.7811564180574 454.17455139075605 62.4936843659397 24.752336999931234 48 10 1047.5449823656163 448.8287992663065 88.62779522895829 52.29456404220064 48 12 1165.2577787462785 452.6868278964059 138.93001412947302 80.93899653512543 48 14 944.5957569733974 445.7572977874799 46.300866946190936 33.223999331729416 48 20 1263.7842090000163 447.6603730396521 85.22198829878691 56.17771935552761 48 15 893.2470301423573 443.27786632029125 38.715561540750045 27.06985283060786 48 26 1112.6325174395483 443.00400989150324 65.59246758669092 49.14561446130018 48 33 1548.965025601655 454.6550929079655 62.181096735373984 24.258407558291953 48 28 1633.3096716779319 465.136500037141 59.05929560565808 16.993927039341486 49 10 1049.3811923304572 448.33984299021415 90.98404039722078 53.546599158044835 49 12 1170.0551956221027 452.9317657617297 142.48204124656078 82.59269244348657 49 14 944.9281893835392 444.6448425561614 48.0791427410324 34.41782884070051 49 20 1269.3463465818177 447.24476347315925 86.1063686098218 56.91503782730794 49 15 894.443394079893 443.10583600137886 37.99987985907597 26.44661934987603 49 26 1114.5985672767142 443.012017839706 66.30020344581322 49.27619967470332 49 33 1540.6715963849308 454.1651612761218 65.9705147708058 25.43747477496856 49 28 1627.2162902437042 464.26365499668253 58.23025423458857 16.999064770337746 49 11 1192.3379326863799 444.893582440819 33.38551357276793 15.038152149995131 50 10 1052.736955866873 448.80097256433226 90.94648509210361 53.35838357889566 50 12 1175.4217575477935 453.02117813974803 146.1727033638279 84.49253132584312 50 14 945.3670148852485 444.88087618596677 48.7063113180594 34.859471301954905 50 20 1276.2688511633094 447.73583900092024 86.94405445114064 57.828710834184704 50 15 894.8332540313658 443.03836792114726 37.798267811806014 26.196717419111348 50 26 1119.145954417578 443.01396276324465 64.65413047495078 47.99793193235293 50 33 1533.5756876548458 453.99245203559644 67.8368966823422 25.860117468439107 50 28 1620.9863754166677 463.96406396840825 59.664962150320946 17.6697516336672 50 11 1184.4246222967363 444.96456316311156 40.253271859861364 18.544173131833855 51 10 1055.7330717405368 448.975784408841 91.23301983551842 53.26469662694854 51 12 1181.9432251131889 453.0513945829655 148.0465578069968 85.19237215219822 51 14 946.3146605584827 444.31729096193925 49.91480855411711 35.67712859689038 51 20 1282.1666179395156 447.27397516198266 86.94498554611953 58.159053681588034 51 15 894.7587975660275 442.35200530083813 39.433257896002104 27.420274530691646 51 26 1123.0365012420373 443.67419488826783 64.77908284244138 48.13705749789932 51 33 1528.5622041902677 453.9346617477596 70.29689210725057 26.677075229241616 51 28 1616.0451640691754 463.86242422338984 57.89974669010065 17.260494939894702 51 11 1180.8951712920448 444.3652698327219 41.86911495943222 20.189788484601443 52 10 1058.8102231839575 449.037488536692 92.50917894804735 53.87067376173463 52 12 1187.2451740581778 453.70887872895946 151.2604810918029 86.72432426985227 52 14 948.039181713205 445.4035571231548 49.52968200860661 35.3309423032854 52 20 1288.5387785488713 447.0939521809865 87.4863526546603 58.91501002510345 52 15 894.5068371789432 442.7454982304805 39.16744491985618 27.223991644867738 52 26 1124.3234236431447 443.26280512655586 67.61231883097896 50.14753593620606 52 33 1525.0668637010017 453.9188937933058 68.22884149174237 25.670445753017482 52 28 1611.8776376192852 463.8432908606967 57.020433288497294 17.096228210515722 52 11 1179.3031515641105 444.11237679323557 42.33854360835807 21.494834741775456 53 10 1061.1351548707134 449.71074162564616 93.09912536893825 54.08817563189229 53 12 1193.9738948215752 453.9571768521508 153.11172891465665 87.27873055777994 53 14 950.1910533203566 447.1422487060688 46.96534852645929 33.210073040086094 53 20 1294.685142485233 447.67661904156466 87.73203002128346 59.183922019903584 53 15 894.723240999419 442.2470107213847 39.67586225370391 27.79294891414914 53 26 1126.4618787683482 443.75325496939826 69.1149582436262 50.893911292527186 53 33 1519.2962227235644 453.92307164972135 69.48540328220321 25.929745686556917 53 28 1607.9666100873615 463.8486044224773 56.528094059090705 17.03413740666563 53 11 1177.1928614820636 444.01143278622885 46.871213959407974 25.152166611381233 54 10 1063.0553501227046 449.3078872854716 95.62587976375306 55.467856788512975 54 12 1199.5353567947684 453.3954459897669 157.23355884304277 89.40633106369745 54 14 951.5109243058048 447.1312520556602 46.87570679088832 33.05688642078024 54 20 1302.5403444103392 448.5548408498747 86.88497137444243 58.61087684869057 54 15 894.8756710470875 442.05992515107755 39.69209113695871 28.00239212656118 54 26 1128.9153666444136 443.9433600989894 70.77815205276036 51.813164369040976 54 33 1514.6849794000811 453.9286288666759 69.92847463832476 26.021508982099263 54 28 1603.1983019545723 463.86155122485883 58.07265546729813 17.67517279139185 55 10 1065.788145311162 448.4997330704757 97.60396498580054 56.62976988131248 55 12 1206.0029554713408 453.8234049692078 160.12532685634218 90.8362745945334 55 14 953.2521386798791 447.1208206594087 46.913633585726025 33.002726398228475 55 20 1307.9341034154106 448.8903620841256 87.26406351555869 59.02450936222709 55 15 895.2713655882251 441.99080208692016 39.633564757434115 28.074764657186982 55 26 1132.0694520979032 443.36416851600194 71.99374658320095 52.1473448636844 55 33 1508.6662994882242 453.9358912958921 70.45240874066135 26.051061447520333 55 28 1598.8016514538954 464.52568902922286 58.93981156626257 17.912560281989727 56 10 1068.506706168426 448.18417271073156 99.3755667339081 57.71056449428033 56 12 1212.914661815777 453.9855363129527 163.01378005059993 91.99824862349806 56 14 953.8258195611677 447.10854205623 46.99124524985041 32.98433275599175 56 20 1313.6347251613272 449.6680312651498 86.91209170177369 58.51040222284917 56 15 895.8456690039374 442.6228315772196 38.725056735827444 27.439173967293293 56 26 1134.4712722288102 443.1365179289331 73.78254269181521 52.90501624267873 56 33 1506.2007752084753 453.94319998910026 69.43314328539137 25.396823401226058 56 28 1596.2494043068907 464.7915204907729 57.49309802686598 17.346064282924505 57 10 1071.7145330368871 448.7110002961493 100.07256141043591 58.10821902926989 57 12 1218.2716310500118 454.6927171699033 166.7434702133471 93.70453635212736 57 14 954.1286638263218 447.09625116725164 48.076384099827884 33.64274784467616 57 20 1320.0179599453495 449.9594535576702 88.44369398115899 59.61293227166227 57 15 895.6506973062295 442.86913970819927 39.159580100327965 27.848761483933533 57 26 1136.5883557078375 443.0485153006856 75.12194982471807 53.1757064497303 57 33 1502.1970446341104 453.9509408825407 65.65297125840426 23.80732864126456 57 28 1594.296303626217 464.9012827349081 57.418554368298864 17.122106294931356 58 10 1074.616781844463 448.9150390186043 100.6909934983329 58.23892839278881 58 12 1224.6239870443487 454.9601620848412 170.8308025023168 95.61912409781453 58 14 955.5995278752963 447.08624009552454 47.66625004552089 33.23216093701044 58 20 1325.6029736658834 450.0626577190868 90.1536620466503 60.66978413493279 58 15 896.3770408752614 442.9607501817801 38.353957473200445 27.342040963524163 58 26 1139.8292036417326 443.6670625793344 77.08118355707795 53.90987526310328 58 33 1496.7028761915667 453.9590278087015 65.95117880840051 23.88886702214898 58 28 1589.491981283696 464.2796480036556 59.91737650825456 17.703875801178004 59 10 1079.5467250915 448.9916513905747 100.90516817346102 58.26743586694985 59 12 1232.3104122614923 455.0569250519303 174.44435955756336 96.96502317681738 59 14 956.729496478833 447.7388072461121 47.59722592148263 33.07315521540956 59 20 1332.9373042011716 450.7466561738841 88.48528641184643 59.10235508536027 59 15 897.3272726645957 442.99515512608633 37.98767603854429 27.140536081185243 59 26 1141.363394202709 443.25242688853984 78.98931693489837 54.8227041394198 59 33 1493.829646024386 453.9636508404069 64.79420268989688 23.252710101772152 59 28 1585.8143173023323 464.7060103728152 58.97471573678895 17.26442020509906 60 10 1082.6727074386724 449.01866030885964 102.19809906850993 58.91367684814823 60 12 1239.3915498750137 455.73565317838325 179.4714287260922 99.38588586486398 60 14 959.3775456403683 446.6512253148166 49.667036711961565 34.340691975862576 60 20 1339.0282878066787 450.3389350057676 88.7022062885144 58.467756514876214 60 15 898.1253630944454 442.34464716013326 39.58474756442438 28.38741968285368 60 26 1144.299067068702 443.09144304888315 80.01471311932623 55.153348630705594 60 33 1489.4063203811425 453.96874629398644 63.452944939359185 22.34620940035444 61 10 1086.125349663601 449.0268657244841 103.81659227311773 59.79636521057161 61 12 1247.5275494027985 455.9908887545714 183.06821082980747 100.92364527142723 61 14 959.8897178240009 446.89626648282484 50.66676068204371 34.81068841763188 61 20 1346.3764348399986 450.17756189253396 87.48214444054102 56.896092041316535 61 15 899.490313882537 442.7528779731751 39.316847812534846 28.198366048510756 61 26 1147.299048782957 443.0289358798756 81.65875805292141 55.90964693767612 61 33 1485.9281110009788 453.97349960136074 63.04301547606193 22.021602571488827 61 28 1575.9132745404445 463.3424659201977 61.1024724681878 17.84093277257563 62 10 1090.7957758994096 449.6798908903898 102.71750066333644 58.81285944442772 62 12 1256.1679320536732 456.72898538300916 185.28456598166386 101.4707281383997 62 14 960.4431909000757 446.334638354537 52.842634773888534 36.29613350560925 62 20 1353.6970840881388 449.44051089748723 87.40195847398766 55.62743786580256 62 15 900.6615494053992 442.91530968824975 39.19729171068447 28.11538539106697 62 26 1151.122283711267 443.0053155519605 81.9344248959399 55.52822221051168 62 33 1480.6410255939545 453.3012368826957 63.2017577024819 21.914745435443923 62 28 1567.9218157197006 463.048494185386 58.80260831630904 17.299481347884548 63 10 1093.4928935976093 449.93015845244213 104.8063381662905 59.72613572552859 63 12 1264.0362219436277 457.00603806778224 190.1889126288153 103.58007230843504 63 14 961.1373416712288 445.4735471680652 54.56732742781378 37.501543868450895 63 20 1359.7942232039898 449.1614221220319 88.1511650001877 55.15757810487178 63 15 899.9204158316729 442.31787633459965 40.81340078392741 29.396649513495106 63 26 1156.4925204239528 443.652777391213 81.85607768816237 55.35527080903528 63 33 1475.476822981316 453.73011961170505 63.356770549302524 21.886303751579764 63 28 1560.2824616846815 462.27944835608963 59.66634274291788 17.766525676277652 64 10 1096.6843508607242 450.67441601917324 106.90956406798588 60.71085520710295 64 12 1271.611117194279 457.1033465321796 196.06632405960573 106.28973618986602 64 14 962.2950429445286 445.78413373261293 55.30185213713318 37.960043545052244 64 20 1366.6133536044822 449.0568540492386 87.5130154603572 53.655162098996676 64 15 901.7397765619186 442.74205287762317 39.78548389775416 28.577530935394904 64 26 1158.6734518696105 443.24226339905005 83.93074439017441 56.584931333233236 64 33 1470.4900653025952 453.89278654086934 61.908906018534324 21.215873164214305 64 28 1555.4528657607136 462.6588173883584 57.71986323539895 17.28127013646159 65 10 1100.4867724456724 450.9541532361208 108.17266468606987 61.0718325127682 65 12 1281.1750746069652 457.1318412714501 201.3331966434566 108.58244346246117 65 14 962.8024766871088 444.61060006325516 57.31232181628013 39.421976012821304 65 20 1375.7241059152127 449.01729939745263 83.66112549721129 49.738924073018524 65 15 902.2955703917477 442.91268673434723 40.296041746262084 28.901595520346717 65 26 1159.943288983255 443.0861269454133 86.22563178528583 57.68729753024919 65 33 1465.0767921838403 453.9562888151712 63.53911986908296 21.654036186235878 65 28 1551.0940493946064 462.15375648120187 56.50444374640539 17.090924017404024 66 10 1104.747885336504 451.7084730384309 108.6669164314931 61.19140577899744 66 12 1288.7509732282722 457.13362093629206 207.3641067209492 111.35827942261531 66 14 964.0122920468033 444.80633400995856 57.905623887914786 39.970803448577605 66 15 902.749628184614 442.9760468086942 40.60801292343117 29.01834270122637 66 26 1161.7658998326083 443.67637307660175 86.79983600725893 57.44255932147793 66 33 1461.7123149601848 453.97975783976807 63.87571219635255 21.81817160806658 66 28 1546.6897375718647 461.97366455732856 57.35292765560228 17.685859958591504 67 10 1108.3938494437634 451.98907044463886 110.44060158386807 61.87455436855144 67 12 1297.139478014889 457.12641172973537 213.71117844292024 114.31628044993188 67 14 966.4925142343602 445.5362029562582 56.60174587584613 38.8724745110772 67 15 903.6408663936352 443.65617299768496 39.23676874351428 27.743797868108153 67 26 1164.3519343040707 443.9056389961677 87.56324880351752 57.32268376602919 67 33 1458.4861207104068 453.325327981524 63.66530189276426 21.887562871909736 67 28 1543.7832110038153 462.5661521882479 55.235047703619266 17.2518746641056 67 40 1382.2638613861386 448.2 70.67227722772277 21.0 68 10 1111.25814093051 452.08688354564185 112.47595516674112 62.77285165005931 68 12 1307.0017237271004 457.11639101788097 219.139735262687 116.69783031518902 68 14 966.5197612450465 445.16944952605087 57.83399024994233 39.73446463589375 68 15 904.808071759159 443.91698564389327 38.99312047719165 27.24452904103753 68 26 1173.8136564435827 444.6477281048468 87.076947518471 57.25879757485181 68 33 1454.4595203779584 453.08022265318084 66.26352287309858 23.24666968444267 68 40 1392.3924390635311 448.85041736227043 60.008777966426635 17.747913188647747 69 10 1115.4398903461945 452.1152656056946 114.64120412258862 63.75216133502046 69 12 1317.21017106328 457.7501785984656 224.66384262604998 118.85237115681846 69 14 968.337708739056 445.6839195812351 56.56147526722413 38.74738610091286 69 15 905.3515157960649 443.3413370391868 39.9634666049382 27.72980707919883 69 26 1180.406107159483 444.9268013035879 86.56892027474417 57.218680060583864 69 33 1454.0890739807194 452.3437604401493 65.78696719669499 23.74972098703917 70 10 1118.9774607123118 452.117660302847 117.84635606390515 65.41274728877907 70 12 1326.3156691450563 456.0545859433561 233.3205772723949 122.85227883982685 70 14 970.1748110190692 445.88803288452567 56.30969383905781 38.34261193159444 70 15 905.7379461722321 443.12710620952515 40.56844964184115 27.909471733229857 70 26 1184.6251116631552 445.0274742330813 87.25924597934882 57.84732275463701 71 10 1122.7860167603856 452.76016533449683 118.45189218220196 65.38205674897551 71 12 1334.5047114845286 452.8256218928467 246.0290410069012 129.47873161165757 71 14 970.6014503461688 445.9650243042293 57.30194413584543 38.842273803428014 71 15 906.1718191590656 443.7043473297364 40.16606966493327 27.317686181302076 71 26 1186.9046751552933 445.0604177155359 89.15385323980918 59.3844836950046 72 10 1127.2697255813966 453.0015749814602 120.17472956854388 65.99500518989585 72 12 1345.9766657146213 453.4775446086999 251.6993386030639 132.0021696037409 72 14 971.6463728709784 445.99354375672334 58.44137122883382 39.67914910051914 72 15 907.1020711388263 443.92414150250454 41.08022477159962 27.757698535152645 72 26 1192.7038934402854 445.06847250930326 88.86455838011148 59.956564405202464 73 10 1132.7571427104854 453.08532025464837 122.13154928186883 66.86089248049461 73 12 1356.6419841167958 452.4654412450949 260.1822131959827 136.11426504306817 73 14 972.5114418091242 445.3514116934001 60.45970046263877 41.294613353767765 73 15 908.1060954451001 444.00322075882536 41.37514105207122 27.920902412443613 73 26 1196.3592994165942 445.0662102089908 89.52346809522585 60.811296290922314 73 42 1158.9805899339933 440.20000000000005 42.0388201320132 15.8 74 10 1136.7655776699219 453.76077015043296 123.33037689684579 67.17132181158176 74 12 1368.616114005773 452.71618537843506 268.32588078330247 140.20143517079734 74 14 974.6051282050131 445.752077255653 60.210143194224706 41.25674168224328 74 15 908.4440801785997 444.02992518492323 41.514718304861965 27.982423759730498 74 26 1202.54145813742 445.0611525815107 89.04497602429338 61.12091732701728 74 43 957.990099009901 426.0 39.019801980198025 45.0 74 44 796.5444197728597 436.79999999999995 21.911160454280722 16.2 75 10 1140.28019719444 454.01176758410855 125.38570819880928 67.92026531994247 75 12 1383.2479118223519 454.74149478062407 272.6816280424639 141.7192902222866 75 14 975.9829707204387 445.9119552639772 60.17502118226705 41.22178721512973 75 15 909.1892324582021 444.03679251294534 41.591547242284335 28.00465882592285 75 26 1206.5086211466416 445.05502562642596 88.62820946806184 61.21944218271875 75 44 796.1402223461213 436.17385277513836 22.719555307757542 16.82614722486166 76 10 1145.6833199813866 455.403367932117 126.87516394843405 68.18556381251395 76 12 1396.72764463919 456.1924153053328 279.3404195233514 144.14261066043122 76 14 978.4257591400805 445.9732856368112 60.148948406126905 41.194082962171045 76 15 909.9544927161975 444.03643874181313 42.576071205613374 28.67189728349739 76 26 1208.514611851414 445.0490160936214 90.43838808003906 62.54840519001855 76 44 796.0025823100646 435.9709516848023 22.994835379870917 17.029048315197727 77 10 1149.9944871407727 453.9642331182175 131.1343712778852 70.22682209181251 77 12 1411.807339980576 458.0439601529953 284.63603702680047 145.64091559703417 77 14 980.6509698180706 446.65242134843623 59.407456586299844 40.51485199230188 77 15 910.501433115409 443.3802731573226 43.03513641414062 28.921076776250857 77 26 1214.433023255851 445.69500866488374 89.66427599183925 62.38678824995154 77 44 796.0085798871579 435.92568479187037 22.98284022568424 17.07431520812964 77 46 1181.9899752475249 441.0 32.42004950495049 16.2 78 10 1155.287820820809 455.35352188646635 131.0089299132734 69.68781769718022 78 12 1426.9120575800755 459.40712138663065 293.1909138821551 148.714364799442 78 14 982.4524305326339 446.9109509655646 58.407291049183875 39.581396731561945 78 15 910.8030085438662 443.7816974892636 44.27520547614697 29.668355842378485 78 26 1219.5093737517213 445.2860505520464 89.3386428754856 62.30040665054106 78 46 1185.502561132099 441.7826840310771 32.12596040306535 16.043463193784586 78 33 1415.6960089299907 451.0065285944246 53.38053093053398 19.19296290896204 79 10 1158.6743137514088 454.5753736049495 135.74169305337279 72.06667162779955 79 12 1440.725379815628 460.56955586154294 304.2293095069389 153.0459188193 79 14 983.9257674470776 447.67015443809885 58.30201912661176 39.22122610754761 79 15 912.1204030140535 443.2831326123466 45.545645685731294 30.599041303195904 79 26 1222.4423099756043 445.12545335937745 90.17508567331791 62.906269789552574 79 46 1190.5260440333516 441.24559775170667 32.11045931542716 15.993349194632291 79 33 1412.6184743481717 451.71893042191476 55.16670040545689 19.715411810374864 79 20 1491.4216292970016 448.92505301228437 58.7447407130818 29.291255935907923 80 10 1163.5970049856332 454.2755211561601 139.05683676201056 73.59419181911404 80 12 1457.73784781097 461.65136062790816 313.28909739635105 155.93183197073625 80 14 984.3177426713311 447.2842796923663 60.453978909380744 40.412900547041545 80 15 911.4819122895144 442.44327313844366 46.97337575983356 31.597973858902357 80 26 1226.082433623381 445.0620806579961 92.34388800516594 64.43075328518955 80 46 1192.2657521563053 441.0606142515019 33.74921498081602 16.73894193956351 80 33 1409.788670272307 451.89556641781815 54.371697362973485 19.15346060798377 80 47 1144.652681518152 444.0 29.494636963696372 15.8 80 27 1487.5380575275697 451.00679227420903 93.91611375123814 28.001541225871783 81 10 1171.155660246839 455.4475505941567 141.00024810393376 74.15894571417188 81 12 1473.3360130996741 462.70301480983966 325.01147970756654 160.18445313527386 81 14 984.09135711952 445.8287097241365 63.88029076375606 42.815878800150614 81 15 910.8570329228778 442.1194967290117 47.575861878381275 31.97570636201429 81 26 1232.3735026875497 445.68692738708535 86.34466249304256 59.14114822624226 81 46 1194.4197306694616 441.0012282495109 34.447930698228994 16.979941649328733 81 33 1406.8601139672996 451.9629684716034 54.198690143798444 18.958447272109023 81 47 1143.3800098581405 444.0 28.402400343039584 15.193736676553401 81 27 1480.18504728642 450.25239496445045 115.9852394716117 35.80576440626775 81 44 796.970837187953 435.96017739850845 22.916904292709827 17.01908196729936 82 10 1178.6472248273242 457.1980790923583 140.04833453474058 73.04298340517755 82 12 1490.997075588667 463.73808443275857 335.64069237412457 163.67757660503293 82 14 986.3203943777829 445.9175619706242 64.98476476158362 43.72380534928087 82 15 912.2874655506425 442.6463379383343 46.9913390683969 31.460956035711202 82 26 1237.2013409662577 445.93203296407734 85.43564472242907 57.67538541788027 82 46 1194.9503129394889 440.9830487762114 37.65403018410577 18.44895959113216 82 33 1401.5510317738008 451.98778942409297 56.18366764719055 19.578736996472355 82 47 1142.1581023772017 444.0 28.007690485177935 14.98320477441037 82 27 1477.9871082565219 451.87020389651997 133.1982899162769 43.0947924780014 82 44 797.0724780829737 435.98227179907303 22.892599755218885 16.994932582994537 83 10 1184.8205706572319 457.86352979468217 141.84852172649664 73.23256270870957 83 12 1511.7462790837585 465.4103422853198 346.4345398384791 166.87330318894067 83 14 988.92042271537 446.60328119035125 64.44118097363074 43.41669558958716 83 15 913.1994702566697 442.8566734244131 47.955259820331655 31.90266274387473 83 26 1244.6119707671164 446.688313186391 81.55634940406259 53.79550765709378 83 46 1194.3233558289246 440.9776127174213 41.651005861390544 20.29251936219978 83 33 1396.7389246524635 451.996770267665 56.914776603783004 19.809606315897508 83 47 1141.0681580186026 444.0 27.9171729273597 14.935555867388597 83 27 1481.7250650285607 451.9579708019277 148.95437075452975 50.41787833947654 83 44 797.1025153493262 435.9893971487463 22.890060288358953 16.987169381826284 84 10 1190.2777782203013 458.7567786731816 144.4227158333538 73.93904910490508 84 12 1528.5446828816828 466.04160268561947 362.4027768074256 172.52768654027895 84 14 989.9994794745094 445.56275611631 65.91399588958977 44.5862001476282 84 15 914.3742598892632 442.9374066796298 48.56594953620392 32.061466243825414 84 26 1249.7838366886863 446.27726051249033 84.39588181519586 55.106057670763846 84 46 1198.5385871313115 441.6191342505131 42.480462411812226 20.34831908782204 84 33 1392.2740160273456 451.33514580329154 58.841791823590135 20.56804723528198 84 47 1139.347793739743 444.0 29.27685518421541 15.66077862448943 84 27 1488.4355634698709 451.9949491096604 161.28893132387378 57.12698674907563 85 10 1193.7851863178887 457.77314442989956 150.64231880758427 76.80370035578848 85 12 1539.4357222270392 467.548134615895 372.31337253889546 176.55647078116533 85 14 992.0515262297289 445.81827731449073 65.68433263823928 44.368858952385786 85 15 913.9524521856279 441.6623484412722 50.4827990276965 33.41955417626999 85 26 1253.0569992033072 446.1315259248717 90.30676615186442 58.23497336415551 85 33 1388.2718792357794 451.0885091135823 59.22364760740345 20.853435679266404 85 47 1137.7820527422 444.0 29.692814781736093 15.908586352758755 85 27 1491.0183856178155 452.0098495607471 179.85604251959842 67.17635098530374 85 49 1482.9752475247524 460.0 42.04950495049505 16.0 85 50 1867.9300904003444 468.4 46.53981919931123 23.2 86 10 1199.8847192465146 458.0350090445582 153.50333800971273 77.87348774184476 86 12 1545.2083295398966 468.1151407437312 384.1684508308713 183.16463591721933 86 14 994.2445223661193 447.23062173148475 63.962861281237004 42.954517178785956 86 15 913.9501723958306 440.5361387789341 52.14161748403469 34.57171026722574 86 26 1260.6335382730529 446.72703466925736 87.3846551058739 54.83833280184334 86 33 1384.0002285346209 450.9969027563977 59.25788937425008 20.962930528219314 86 47 1136.2252514836284 444.0 29.86669310579886 15.997460374597718 86 27 1497.8922435380048 452.01571991287835 190.25430977928525 74.90697173073217 86 49 1480.8596328713934 460.0 40.11454514546526 15.229226361031518 86 50 1855.2649753964565 468.08833453686077 55.97511058698571 27.71914921551894 87 10 1205.1283948396476 457.4743041220752 157.5150486384264 79.55710461698496 87 12 1553.2120574553016 469.5924789960223 390.33204945177806 188.1983775600694 87 14 995.4502839636986 447.77533935086717 64.39746759634968 43.056154924084744 87 15 915.2447767080498 442.03396257186 50.78287611119266 33.720413192300015 87 33 1379.939709218097 450.30772290012817 60.501628306549605 21.661247785071854 87 47 1133.7353633828077 444.0 29.800318459290644 16.026343551114394 87 27 1510.697282550708 453.2182284507481 191.80391815428115 78.75098219481018 87 49 1471.9454883752503 459.20205237372215 43.93138806868424 16.56984265422478 87 50 1843.4298556178683 467.98265969874 79.91940258096368 39.870439082564616 87 52 964.359347671834 423.8 48.881304656331785 47.8 88 10 1210.7037897819246 455.95213525273726 164.50272791459838 82.76875344565845 88 12 1560.96092204365 469.5078428958331 397.1242339351807 195.18102147201455 88 14 996.9543839639996 447.9738863229034 65.63755325387103 43.74647260141116 88 15 916.4504088908985 443.298598887518 49.42405565987255 32.7012228289366 88 33 1378.8454769280936 450.70189286052965 57.71618352842321 20.62124924756219 88 47 1133.4689608137835 444.67339807626774 28.568871738587898 15.359971063358218 88 27 1526.1367025973716 453.7327745175257 190.74815459715165 80.86812107916919 88 49 1461.7745373705366 459.6895043342022 45.73690696321586 16.97149357618299 89 10 1216.6659675582118 455.36109437954093 168.8529577675161 84.61995367075073 89 12 1570.0081854681443 468.8125934253858 402.0978893194035 202.90732736168187 89 14 999.5202363277426 449.3537751626879 65.27392118639052 43.345177350826276 89 15 917.1680229792347 443.78166032097147 49.64327188497464 32.96413293783523 89 33 1376.6403283358966 451.53646817482223 56.65291766748099 20.20426971996928 89 47 1131.5917350188197 444.24396872643604 29.092492155831742 15.78760601960947 89 27 1543.5632281339053 453.32172719416667 190.37895480039356 82.86467378452961 89 49 1458.9817283620696 459.8855441444016 46.57424562542248 17.093973559388743 89 53 1212.0972497249725 444.8 49.805500550055015 46.0 89 55 1253.7752239179035 445.0 109.64955216419258 29.4 89 52 968.0417729324313 426.633061885966 48.06790974643376 47.091734528508496 90 10 1221.9647951941115 453.8372000172699 176.40922019558423 88.52730634690838 90 12 1578.8625580047808 468.5170857028431 405.8691744951049 211.5557013124245 90 14 1001.6012914234846 449.87729414801026 65.43077338818517 43.17963100972442 90 15 918.4055940860516 445.27247907640725 47.73692532920835 31.742512342784764 90 33 1373.848158032279 451.1780385514332 55.81800714662293 20.05162745312028 90 47 1130.0778736750817 444.08922235461495 29.030586753242204 15.94034549381771 90 27 1559.4146814299786 453.152013362682 191.1530563709513 84.82171462720741 90 49 1457.188311981857 459.26571351497904 46.94222097529726 17.119365477121402 90 53 1216.0798697658006 446.5408280521786 46.587973337977076 42.834858086947946 90 52 967.1790177190622 425.62386944444046 49.446633577024805 48.47944459596457 91 10 1227.4917973298398 453.2490284261515 180.97585070304478 90.6437412933158 91 12 1587.1441389954098 467.1117524144517 412.09713890534965 223.73117336147573 91 14 1002.4500074119175 449.40352592586623 66.54727926444836 43.77086817479636 91 15 920.1036167495853 445.84067511833456 47.14708981744632 31.262109106916622 91 33 1370.1894016897686 451.04573248290177 55.69803117291688 19.99697818143444 91 47 1129.2436958228734 444.02973143374226 27.653220192998635 15.33289308010389 91 27 1574.3679044389205 452.45346707743994 194.74502872446652 88.02085471115514 91 49 1454.9907696470527 459.0417458867232 47.187495715646634 17.114507627579712 91 53 1221.536299876362 444.6226771764083 46.91694431686314 42.68643920252259 91 52 967.3122005840382 423.8694580992143 51.160679035767814 50.336489283663184 92 10 1234.2504028473982 452.3798233600895 186.60317980156833 93.35129595501564 92 12 1604.837057044554 472.8566158118738 402.5982795775151 228.40849918979274 92 14 1003.8217072488014 449.21607209481425 68.02520818916628 44.64434307537927 92 15 922.3836205408353 446.041306221097 46.90156597597914 31.08347305032458 92 33 1366.9667930551402 450.99798628699335 54.990833779588044 19.97886628888772 92 47 1128.7005952645684 444.0070399359579 27.0588864770556 15.097877708169548 92 27 1591.5690259815146 453.4278870275321 195.995585623833 89.83973315133044 92 49 1452.7313848579938 459.6437047646789 45.802175396247755 16.42366210113209 92 53 1226.4311665991177 444.8330407167606 49.30390396605453 44.240794033914646 92 52 968.4155433588082 423.9242356058833 50.96859360645511 50.29394708286852 92 56 1285.4906490649066 445.0 71.81870187018701 18.4 93 10 1244.0588301160576 455.25242643698647 185.55757375137998 92.43558071131363 93 12 1629.3369833790784 475.7937631362662 381.31292533369447 226.88631920464374 93 14 1005.8827159986475 449.7908051376601 68.00084134681778 44.31622901134094 93 15 923.0480427861143 445.4404152879367 47.77911260941544 31.68269889232657 93 33 1366.5678858271392 450.98208246950765 52.725626042222224 19.31058685623683 93 47 1127.9288979435435 443.99906641814465 26.74787087233128 15.013408307776823 93 27 1606.3539154749606 453.1882452967071 203.11729313564734 94.25153047554606 93 49 1449.9814697104966 459.8774955961383 45.4238109611045 16.153509748760733 93 53 1234.1524468999487 446.35362218436984 49.00358361516959 43.3158771736206 93 52 970.1044399449556 423.9508761420477 50.30452686794384 49.559844616607585 93 56 1290.0582214390868 445.0 70.75466900010912 18.083485808694792 94 10 1253.7025209908718 456.4003047561502 187.26235875967356 92.64788182720737 94 14 1007.3698488635234 449.34547794008824 69.07957834403258 44.836640381626154 94 15 923.0381481551634 445.8676142386281 47.24328550869336 31.24769629461884 94 47 1126.3126227766413 443.9964997895449 26.720115657174507 14.984448148694018 94 27 1624.9783083577884 454.34767055302336 208.28955509566094 97.17793621669738 94 53 1234.7562016143509 445.4640724618831 51.8414065283727 45.14659117383843 94 52 970.9144293009562 423.964705524006 50.28185227773604 49.26555770015995 94 56 1292.7699770530628 444.2051784998899 79.75192648061618 20.36997202640526 94 57 1777.3099909991 465.0 90.58001800180017 32.4 94 38 1775.004720938414 475.99411472937567 119.00474066057808 225.03502218420715 95 10 1262.7037597370804 457.4888027880203 189.1606291333125 92.6822770418998 95 14 1008.24794680755 448.5155560908202 71.3526329453246 46.33684725512535 95 15 923.5270620225303 446.0230100985549 47.2874357477317 31.07910514144232 95 47 1123.6100945884584 443.9959168056201 27.67723665547762 15.643316259860095 95 27 1644.0166636614547 453.55017799759 217.07943606388739 101.40335810802904 95 53 1236.6264666513039 445.83904958330896 51.96756650943043 44.408228309103336 95 52 972.8981185271697 424.64923992014513 48.85137489954175 47.79290683092775 95 56 1294.640922821194 444.6736581864186 88.15460913697176 22.488720906478168 95 38 1786.9895683082818 480.2157667060869 122.0042416753857 220.32228650642472 95 49 1452.4002868678247 459.97933317380813 45.41624698060803 16.03401860247633 96 10 1268.5816093366832 457.2494555436759 196.8819656894288 95.90966832223509 96 14 1011.2463809391974 449.49553563875105 70.67205274713177 45.59979526465786 96 15 924.8737624755374 446.07352924689326 48.23223288244768 31.680623621132785 96 47 1120.9740382707487 443.9958967781487 27.446353764559884 15.233061637594542 96 27 1665.1475721190413 453.85931826017816 223.18816010054113 103.62476629299822 96 53 1240.1248655103636 445.9774328803178 52.761528694463095 44.12372515739827 96 56 1301.7403530469714 444.863912671921 86.18731337316258 21.88278158867114 96 38 1805.6532220071092 478.8744346872668 114.59640344272607 211.0217487438549 97 1

glenn-jocher commented 6 months ago

@Shuaib11-Github hey there! 🌟 It looks like you're encountering some issues with your IoU matrix calculations and the resulting tracking metrics, showing all IoU values as zero and perfect scores for ID metrics, which seems unusual.

Given the complexity of the issue and without direct access to the ground truth, detection files, and the video, it's a bit challenging to pinpoint the exact problem. However, here are a few general tips that might help:

  1. Verify Bounding Box Formats: Ensure both your ground truth and detection bounding boxes are in the same format (e.g., [x_min, y_min, x_max, y_max]) before calculating IoU. Use the convert_bbox_format function you've provided on all bounding boxes if needed.

  2. Check IoU Calculation: Test your calculate_iou function with some hardcoded bounding boxes that you know should overlap to ensure it's working correctly.

  3. Frame Synchronization: Make sure the frame numbers in your detection results match those in your ground truth data. Misalignment here could cause mismatches in the IoU calculations.

  4. Detection File Format: Double-check the format of your detection file. It should match the expected format in your code, which seems to be [frame_number, obj_id, x_min, y_min, x_max, y_max].

  5. Debugging Prints: Add print statements before the IoU calculation to verify that the bounding boxes being compared are what you expect.

If you're still stuck, consider sharing a small snippet of your ground truth and detection files directly here. That way, I can provide more targeted advice. Keep up the great work, and don't hesitate to reach out for more help! 😊

Shuaib11-Github commented 6 months ago

Here is my detection file, ground truth fild and also a drive link for the video.

https://drive.google.com/file/d/1DfL9LJaEiAtPyMXvA62UMc5CA8i7YSRi/view?usp=sharing

On Tue, 27 Feb, 2024, 3:13 am Glenn Jocher, @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github hey there! 🌟 It looks like you're encountering some issues with your IoU matrix calculations and the resulting tracking metrics, showing all IoU values as zero and perfect scores for ID metrics, which seems unusual.

Given the complexity of the issue and without direct access to the ground truth, detection files, and the video, it's a bit challenging to pinpoint the exact problem. However, here are a few general tips that might help:

1.

Verify Bounding Box Formats: Ensure both your ground truth and detection bounding boxes are in the same format (e.g., [x_min, y_min, x_max, y_max]) before calculating IoU. Use the convert_bbox_format function you've provided on all bounding boxes if needed. 2.

Check IoU Calculation: Test your calculate_iou function with some hardcoded bounding boxes that you know should overlap to ensure it's working correctly. 3.

Frame Synchronization: Make sure the frame numbers in your detection results match those in your ground truth data. Misalignment here could cause mismatches in the IoU calculations. 4.

Detection File Format: Double-check the format of your detection file. It should match the expected format in your code, which seems to be [frame_number, obj_id, x_min, y_min, x_max, y_max]. 5.

Debugging Prints: Add print statements before the IoU calculation to verify that the bounding boxes being compared are what you expect.

If you're still stuck, consider sharing a small snippet of your ground truth and detection files directly here. That way, I can provide more targeted advice. Keep up the great work, and don't hesitate to reach out for more help! 😊

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1965347875, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2BYT7ZEKKPJVBHXQ7DYVT6YNAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRVGM2DOOBXGU . You are receiving this because you were mentioned.Message ID: @.***>

0 1 1484.0 463.0 404.0 171.0 0 2 1063.0 441.0 166.0 113.0 0 4 1376.0 456.0 156.0 79.0 0 6 1764.0 447.0 156.0 122.0 0 9 1630.0 443.0 150.0 59.0 0 10 956.0 444.0 56.0 38.0 0 11 1282.0 448.0 48.0 18.0 0 12 1008.0 447.0 70.0 48.0 0 13 1218.0 449.0 32.0 16.0 0 14 901.0 445.0 34.0 25.0 0 15 866.0 442.0 28.0 20.0 1 1 1501.8568757234182 463.0 408.20360392506416 172.73553719008265 1 2 1068.816714551413 441.0 167.3830998227935 113.86776859504133 1 4 1387.2221681772903 456.0 156.11764711649366 79.0 1 9 1646.1597586949563 442.1322314049587 152.3912264117403 59.86776859504132 1 10 957.5123554355243 444.8677685950413 54.710826319034005 37.13223140495868 1 11 1278.6897798781447 447.1322314049587 50.281597268503816 18.867768595041323 1 12 1010.1950137689258 446.1322314049587 72.5521212224788 49.735537190082646 1 13 1214.5678362931071 449.0 33.657715843537986 16.867768595041323 1 14 902.1392119436384 444.1322314049587 35.19265049288833 25.867768595041323 1 15 866.254485262315 442.0 29.226566665452438 20.867768595041323 2 1 1508.3720325727097 462.99999999999994 417.54623166506434 176.91445873766392 2 2 1073.1320889661079 440.2229596092163 171.0861037367675 116.34770494493748 2 4 1397.2491025706672 456.0 162.53521454040995 82.11822141250819 2 9 1672.644275067877 441.98324586889123 114.67861528971169 44.52175382925203 2 10 958.1763536386317 444.22872555789377 56.827399569055906 38.55838373052818 2 12 1012.2358143428213 446.7505607928476 71.9700112429626 49.26670807533992 2 13 1210.5538923120696 449.0 35.4514777893782 17.779776304774344 2 14 901.8243020986295 443.9827655923988 36.42033343314572 26.785527372074032 2 16 1856.1586689987816 443.6 69.48266200243708 124.4 3 1 1512.6235633491842 463.75240960847316 426.0308744189093 181.22640320640363 3 2 1077.469946192395 439.976136241262 176.65846733677245 120.13537570375375 3 4 1407.2582500084845 456.0 167.73208789206387 84.59824917121978 3 9 1692.3538969620354 441.10370026075265 101.97241690899361 38.91607070782675 3 10 959.7974850824844 445.5223343509496 55.37085008541159 37.50671965718096 3 12 1014.2039619363148 446.20862518902146 72.84179621331229 49.83907492021068 3 13 1205.4366391691733 449.7354540264719 42.94628551076499 21.748457581631964 3 14 903.5439194893854 446.1836671187342 33.861849366181026 24.836657083420118 3 11 1274.183448025587 446.9801997832565 50.479448097069266 19.00828846282284 4 1 1515.789605659323 464.00235340538086 437.5430727539128 187.617208775931 4 2 1083.4552045805135 439.1896244769153 180.58660800275152 122.7720585553442 4 4 1419.374665055194 456.0 171.37324144275343 86.08149285947715 4 9 1715.0951095930852 442.59746332620153 91.23356667986344 33.824578777234244 4 10 960.8422424573025 445.2228011564342 55.97949753607674 37.86104664323647 4 12 1016.2216224230432 446.7604246561621 73.14672447360108 50.019170402341686 4 14 904.8939295871378 446.9497511662191 32.905297102715714 24.125767299002565 4 11 1270.257640018622 446.2348635521091 50.1990058720409 18.996980375815816 4 15 866.9308286931455 442.9508144791186 28.198799816459186 20.066605392860225 4 16 1864.1772889450285 459.4458336270312 40.87803681953906 71.21628253915956 5 1 1522.423309613742 465.4720454673268 445.1175853271858 193.19686702698866 5 2 1088.2092515277782 438.9293144271576 185.97672596108382 126.39427837443716 5 4 1430.6465192298228 456.0 174.50991156429524 87.21476343629173 5 9 1728.6603339885696 442.1570436366996 91.82548841577254 32.94889679936566 5 10 962.8725168480208 445.8260747933118 56.29976276975045 37.97815715543846 5 12 1020.2230649339286 446.95304306831144 74.28132674216319 50.78011867533097 5 14 905.5491601560707 447.1615066119909 33.56524300447578 24.651126203444882 5 11 1268.6036067469786 447.428119294002 48.16638167767787 18.279938458430074 5 16 1873.4981314534803 462.20082402862084 32.01714420439648 53.88494893106388 6 1 1531.838663389896 468.0383976939324 445.4043324469661 196.42215520700427 6 2 1094.066102529639 438.17125860048077 190.75278362505998 129.65141772272779 6 4 1442.3694408641552 456.6873370053556 177.89418251284494 88.2327070111617 6 9 1739.4558281962254 442.80949670892784 94.39539774817857 32.8102519274583 6 10 964.5015396946924 446.028391407161 56.57104534842378 38.016014291656795 6 12 1023.969215155949 447.70984532370306 73.98943873319809 50.34406970710025 6 14 905.644920147474 446.5109508563735 34.69098023143707 25.53719123121077 6 11 1266.6321922303318 447.1470675071623 49.08931628471579 18.742448021874733 7 1 1543.6261321295929 470.9921985984177 444.32421126687365 200.12687612983504 7 2 1101.5370487254713 438.5775195758779 193.50883620579322 131.42554345574786 7 4 1455.157438481005 456.9394888090246 182.88081815478736 89.89326493816179 7 10 966.1070479111748 446.0883934947539 55.88177544952434 37.337617221949166 7 12 1026.5861249231677 447.2919501971226 75.25660414277958 50.85561658447253 7 14 907.5710031040804 446.9411095646041 33.30385443569151 24.496912119753716 7 15 870.53688552413 443.0533909773148 28.21732299871605 19.983159363002525 8 1 1551.5001138379114 472.06484254317184 448.2833186391935 207.34517696484778 8 2 1108.1537989378178 438.75170922987604 197.72972361500598 133.9778356769115 8 4 1464.4549203339525 457.0281645429727 188.1059738297096 91.78953037456081 8 10 966.7496963022124 446.09716815928306 56.74904768438404 37.773581673570746 8 12 1027.3432263298332 446.45547253681457 78.59836915045186 53.06382550127465 8 14 908.7139324706397 446.3895466531651 34.628321364247135 25.488440242998117 9 1 1561.2686945125201 472.429836356454 451.3157053404769 215.84158122674864 9 2 1115.1805272419713 439.4905196662387 201.64209139203192 136.1669982421301 9 4 1477.4007930925527 457.71779628771395 194.09448711550218 93.77099523341255 9 10 969.7890144118442 446.76754569995137 55.40059266979789 36.58271456024563 9 12 1029.1414816430097 446.80636945718106 79.93609575849828 53.867484893477 9 14 909.1058461188587 446.1907188535023 35.079805760940914 25.838095029153507 9 15 871.3583127481419 443.0416586985163 29.255748204972363 20.81606028301514 10 1 1573.8755265965685 473.82800439485067 449.74021119114076 223.507621185148 10 2 1122.5893395088171 439.7827473966105 206.28152242196094 138.8764628580178 10 4 1487.814843957844 457.9752222352155 200.273819931555 95.78180591741449 10 10 971.0307767669964 447.0082061515167 55.905960962379496 36.81701168415245 10 12 1030.789595738767 446.94250611887105 81.59808998926893 54.81274386155499 10 14 908.267696347639 444.7740984607352 37.14173114882593 27.3024094776532 10 18 1708.3019666350197 442.8 214.59606672996065 71.6 11 1 1595.5057458898293 474.9804882202653 430.52106678067423 223.08971566180605 11 2 1128.9827681675756 439.2449981436309 212.17764040395645 142.4388197150213 11 4 1498.5876010361355 458.0660203555181 207.7722610722978 98.4554218958142 11 10 974.517179968658 447.75832370182 55.28993245849482 36.23460100725498 11 12 1032.4302916661184 446.3355475812858 83.28933283406796 55.80781431022197 11 14 908.2791241102409 444.2442353034923 37.87305274297357 27.84529688122543 11 18 1709.0188126215403 442.95009231329374 230.27289847240695 77.15341559186864 12 1 1619.4057977966543 474.7290519090119 408.91077345401555 222.02071190769223 12 2 1135.770435328066 439.69148274663905 217.6129779191151 145.67209394219273 12 4 1507.7262413606654 458.09351217263986 215.39241087429926 101.37648655169808 12 10 975.5752807376364 446.67787286238064 57.43014161800921 37.37038379228891 12 12 1035.6488010669154 447.4127880310046 82.48742128220883 54.85432367710326 12 14 908.5441694070666 444.0404916064876 38.22190188577178 28.046076311054367 12 18 1715.2534168953243 444.47981797723423 234.31071489913123 79.15865836839417 12 20 1127.5381032022121 445.79999999999995 33.32379359557578 36.2 12 6 1777.626086926004 443.01600600225083 113.80784865643288 83.15605852194572 12 15 873.1130744391261 443.05066155676275 29.754292268809333 20.989848812980473 13 1 1641.0650816379796 466.0689342751543 392.5598705138004 224.70093985771985 13 2 1144.3367884238407 439.86902366355224 222.20509694385905 148.1270538194204 13 4 1521.1014288285414 458.09724925927316 221.0889609924133 103.09373550845135 13 10 975.8068485610315 446.9378252720233 59.09258017629555 38.44858462665607 13 12 1037.57469590982 446.5063273761321 84.53269981707446 55.77744780339562 13 14 909.8111023693759 443.3115228573416 39.244981146145385 28.76730948011818 13 18 1720.4038052282372 443.5719294496378 243.02221160619462 83.29446941970876 13 20 1130.8620823652136 445.95523798097145 34.12725835620143 36.820951923885715 13 6 1782.3599239564771 442.1348567876863 117.78482232302689 83.24202432009535 13 15 873.45382251476 443.04375919836434 31.557196080269076 22.372845216438513 14 2 1152.6062524935664 439.29110779463656 229.08355310426288 152.22556536334667 14 4 1534.250644469821 458.7402183620202 227.2112520644438 104.98770362944771 14 10 977.6279602210843 447.0314389463205 60.070241393427004 38.857024727466616 14 12 1041.4045333015042 447.4772028085458 85.47792612853286 56.10775716258068 14 14 910.5471021344277 443.68954490875325 39.731499123546755 29.032678680263892 14 20 1135.6954957774626 446.0064059380698 36.200587478210764 38.57297275324347 14 6 1790.4734806481977 442.63486644252714 124.23088765986695 88.00159466786965 14 15 873.8998622727937 443.04283955598675 32.16799578835042 22.836952198428303 15 2 1160.608336586609 438.42344110889655 237.09026455492332 156.9518767108516 15 4 1548.7632212986014 459.631282593996 233.78601555519958 106.95116467251894 15 10 978.9539442011345 446.4033666705712 61.68391657773514 39.66582607502989 15 12 1043.2274247373773 447.84984802292485 86.22920884437951 56.213149693771946 15 14 911.515299087727 443.8437921501042 39.79360043904065 29.122410506714704 15 20 1140.6559434704704 446.01905665076436 37.897888433083686 39.84958878597904 15 6 1791.3543188064236 441.4478136215566 138.3436647699384 100.60440670070697 15 15 873.6705280870342 442.388486158803 33.153846403145984 23.662035367665098 15 22 1803.5936438926913 477.0 124.81271221461768 200.8 15 23 1719.667484248425 458.4 144.46503150315033 59.0 16 2 1168.033382015702 438.08936598018084 244.53095027572152 161.2725489919577 16 4 1562.83009107744 459.96901321594925 239.22065511066555 108.29402477695099 16 10 979.3014036012612 446.1604810188491 62.49064730278106 39.96684603846124 16 12 1045.1152770291164 447.9886559235729 87.85358796336926 56.89084860186113 16 14 912.9064400781452 443.25392908864796 39.677974164241434 29.144562560127792 16 20 1144.3666857256583 446.02010776464573 39.09123087657696 40.247495643349104 16 6 1794.132345594452 437.787887249316 148.2083311166741 112.31553915202542 16 15 874.2587319670084 442.13561661588983 33.42910568948788 23.97254733538354 16 22 1821.6396163469985 494.2518624732017 118.51943885062364 192.3309038767919 16 23 1732.4807573827181 458.09869184050467 112.96297612440449 46.19440322144797 17 2 1177.8973686546149 438.6081166540215 250.2724044374876 164.14510350823727 17 4 1578.1566697248747 460.7383539909233 244.57213938366593 109.39466290188652 17 10 981.6863191189741 446.0648714574119 62.0899324108902 39.41745978327478 17 12 1047.7640113807363 448.6922455112219 87.03374746344733 55.82184281330015 17 14 913.3619726530793 443.0327278165644 39.72142464347382 29.141895851777686 17 20 1147.5381431004712 446.71005746988527 39.57548873154141 39.646366171764825 17 6 1797.3164841819846 428.7261282251377 157.28105194228473 125.8385025166368 17 15 874.4117087319729 442.03705675810306 33.6359180251115 24.083400281828865 17 23 1749.197538931052 458.8576144550948 87.85987073245552 35.75629469491818 18 2 1187.843026160127 438.81814730548035 257.0981779534461 167.73538737074958 18 4 1591.9828563842875 460.37603235291346 253.84577018627684 112.35199736587913 18 10 982.9840554509847 446.0269870695509 62.342823523216566 39.1959952942095 18 12 1051.4815238539568 449.6198668030131 87.02077868128957 55.38676536419724 18 14 912.6562372738719 443.6109891187065 40.11593067457601 29.13089023946766 18 20 1150.8309923514269 446.27194877868004 41.23294532499118 40.06817715680801 18 15 874.3285500384558 441.34817400518205 34.60021912729821 24.768054132418058 18 23 1750.7497935046292 459.0127615377546 83.90965261460535 34.13392283002713 19 2 1197.1888533136064 438.259256334827 265.5576420357751 172.24993345433475 19 4 1608.2249286720034 461.51857487345177 261.7929414760095 114.72656811541636 19 10 984.6925417453259 446.0122320640403 63.83509657449453 39.76792050960768 19 12 1054.7370453952328 449.960680961837 89.04886161612251 56.535790064713446 19 14 914.3166818023387 443.1796451121998 40.28828976876025 29.117774410900996 19 20 1155.3276551654571 446.7836540285744 42.35465588545001 39.52344601948871 19 15 874.3790203507385 441.0871477215079 34.76793503708543 25.02165645125928 20 2 1207.454378162457 437.4018307621415 275.52913833970007 177.76274172257476 20 4 1621.1458554946828 461.3079406233443 273.2430423733532 118.81465816838929 20 10 985.1589305820337 446.00643370402435 66.60500308714032 41.29066619497146 20 12 1058.062053636207 450.0804022241195 90.01078545754775 56.957610456399856 20 14 915.2149745101368 442.3612981836912 41.737808022963115 30.420625757754856 20 20 1158.0620719218314 446.9720881779481 44.99830107853077 40.64485594735788 20 15 875.0807935230484 440.9895374196765 34.72066296758347 25.108919589131133 20 26 1048.3851485148516 441.8 46.02970297029703 35.0 21 2 1218.5501440011885 437.7130297321392 284.46997172172223 182.37459825947948 21 4 1630.8322360626294 459.2896843006488 284.73571481395436 123.55100298049184 21 10 988.2416373049895 446.65279974002374 66.93399653850659 41.212919012303125 21 12 1060.2067195482405 450.115525234219 91.68398667628374 57.762069399016916 21 14 915.4402060832655 442.05759072878544 43.11442951997267 31.551183239675705 21 20 1160.5212976607738 447.0372743856795 47.447517191124945 41.70702144244582 21 15 875.38107195606 440.95632075468995 34.60008852374085 25.13163596767986 21 26 1051.0806047767978 441.9541547277937 46.95913428594583 35.77077363896848 22 2 1229.3949593233451 437.84202435300665 294.8016827861972 187.91572964415042 22 4 1638.7513725537224 458.4923065352676 291.5113969910792 127.25546703432849 22 10 989.8466076400597 446.2494644789903 69.37462945403753 42.47928252898095 22 12 1063.129665506579 450.7744710357429 91.81875190150998 57.401325927266015 22 14 917.4202664056622 442.59103101576557 41.09321330558438 30.045749705635387 22 20 1163.7643709909064 447.05683230166494 49.36634519524658 42.09228855341777 22 15 875.5209789694334 440.9478513382118 34.46130329743371 25.130372721966804 22 26 1053.3178292122443 442.0059532763043 45.37757107840979 34.491476032676815 23 2 1240.0956419380118 437.25648816583794 307.6336344587487 195.09319049423044 23 4 1646.6120491191832 458.8160203939284 295.1403281207639 130.55442476589403 23 10 991.9699235144935 446.74436117103795 70.40252351952957 42.94969877455229 23 12 1066.5855853140056 451.6764282627692 92.21149173989413 57.245596756599326 23 14 918.5299470062685 442.817483871043 40.86109685096229 30.08414499144506 23 20 1167.0525367701514 447.0588067564551 50.93705491540832 42.216263921266055 23 15 875.9791633135626 441.60368679450545 33.55856171223023 24.4657390396989 23 26 1060.9840843985924 441.25521142332013 39.10756309252988 29.482439940126675 24 2 1253.3588066175948 437.66973376878394 318.06837112293994 200.34194096554563 24 4 1656.9143262786345 461.5082188750489 290.0726831599118 130.4821908495647 24 10 993.3125320279348 446.9354217825005 70.25494677022154 43.11731490571089 24 12 1069.048162679891 452.00700027178715 93.77515618353316 57.83410856629621 24 14 919.5589911415132 443.5625241671957 40.80269823471811 30.09295306367389 24 20 1168.875468313257 447.0548629882932 54.02039987009928 43.55923135921288 24 15 877.179520823348 441.1967893824976 33.1057661290479 24.200389053525292 24 26 1057.629349748983 442.5859838174693 44.43223938945616 33.44548841798214 24 11 1229.514038551681 446.0070050011349 45.97182469673949 18.005265554700397 25 2 1266.1277186644566 435.9187142042787 331.2407727861763 207.3921067848373 25 4 1669.7121695276621 463.8640712894386 283.60696711171255 130.34545302659006 25 10 995.4549253786507 447.00620910364535 70.7080182163962 43.167038968948916 25 12 1073.3709606351458 452.12017620692205 94.58718411423675 58.04689061055046 25 14 920.2197149955186 443.8478360495195 40.82846439612223 30.089442316141046 25 20 1171.3689617126481 447.05053200977625 56.54823075754447 44.70269912953777 25 15 877.5325463468024 441.0458013399559 33.75677698771708 24.759362491062394 25 26 1059.14073441354 442.2586425533443 46.70454839225852 35.149241703210315 25 27 1674.9914191419143 456.8 88.41716171617163 27.6 25 11 1229.3830354325041 445.9835665662198 44.25456390070602 17.990687857494375 26 2 1280.2993706825505 435.2370160597507 344.740675319675 214.49485894502496 26 4 1682.057901341189 465.41430002680096 278.27462882637343 131.5080746206901 26 10 996.5979497329431 447.030196439222 72.70330197476136 44.482477395387754 26 12 1076.2147848833308 452.15020205661733 96.8639107788308 59.430830850951516 26 14 921.8519970135097 445.93241054114975 39.32172364928082 28.76430934144628 26 20 1175.0468384622525 447.0456494403583 58.30151228329241 45.12366845320136 26 15 878.4331878627652 440.99128530033937 33.742529093538145 24.964838924847733 26 26 1062.9540261276527 442.79686126032277 45.65111985817738 34.45371745194487 26 27 1670.752755288893 456.9582570956526 87.08254949175242 27.12522871304219 26 11 1229.001423825554 446.6440761246583 42.98729035791936 17.98550589227317 27 2 1294.127655704814 434.97701938576233 358.86954587174966 221.61550483382626 27 4 1691.3699322517807 464.6941494469121 278.5108335925359 136.43123646522832 27 10 998.7768300479019 447.0371458278243 72.44942955740831 44.32215031905788 27 12 1078.1439786407366 451.4999974037832 99.72890992246695 61.248789285198924 27 14 923.5216760504364 447.4016286123701 37.900022940817074 27.576790439770434 27 20 1177.9531465146022 447.040518673281 59.617041618403604 45.26097406661299 27 15 879.7777067284293 441.629126354522 33.00952350855012 24.38222411649293 27 26 1064.3903798887104 442.3107148926749 47.108747848670404 35.53946782833341 27 27 1667.1020891251742 457.80206773707266 79.42423255632191 24.59379678878199 27 11 1228.146354438209 446.8909001731529 43.430991277199894 18.65204062472148 28 2 1309.8188517676526 435.5218933953847 372.3994984008178 228.09861000312839 28 4 1705.7682778855694 466.9769381004013 269.75318258725275 137.61846114069414 28 10 1000.4829186817789 447.0364798092766 72.41802582596323 44.240231143852256 28 12 1081.613772304433 450.5935732443702 102.9336990635621 63.22893256870031 28 14 924.2282335552859 447.2558625389664 38.46523513222303 27.815857388938795 28 20 1180.7695328000511 447.6894398654705 60.33707610378036 44.63597513582373 28 15 879.5941178013957 441.2134908370978 32.74541208349819 24.151124112095232 28 26 1066.972946392899 442.7981332204462 46.05999347181606 34.59287318299308 28 27 1661.2214635786033 458.0403117340455 77.68991907661537 23.879064797863656 28 11 1226.823908571266 446.324704929743 42.427579830852146 18.900016411796592 29 2 1326.7946269161482 436.38488207782694 387.76313106421856 235.60212272853585 29 4 1722.8090396034306 466.5612256322279 258.03039533099184 137.98988386351363 29 10 1001.6130949389249 447.0336872286032 73.26161852833187 44.85135433901408 29 12 1085.1562654904626 450.883567652961 103.42483742252703 63.32948672896258 29 14 924.7716980770789 447.19381441222794 38.70991986551292 27.905432174345165 29 20 1183.5465009182062 447.2774489790793 62.1496321967825 45.0296120621602 29 15 880.1562647246909 441.0584713148551 32.66935321602258 24.062632473330968 29 26 1066.5848281554283 442.3034748647542 50.873210272205114 38.2741006654316 29 27 1656.0977789233011 458.0936642550494 77.70029652844768 23.719007234851755 29 11 1226.2107577486736 446.1044241611712 41.084757948436675 18.992989786967392 29 28 1740.97414707415 469.0 60.45170585169972 17.4 30 2 1345.008684759745 436.092855733428 405.48791624660026 244.13546304290023 30 4 1741.1976322913674 467.0275272735027 244.56464620477453 138.05031832736915 30 10 1004.3473812844732 447.683803508551 72.75933815840298 44.419117085198046 30 12 1088.7468290063812 450.9937112738015 104.11709671108095 63.33829975925154 30 14 926.8027283038653 447.15806587580573 39.06052045490574 27.94279040948291 30 20 1188.7916598717923 447.11874988192955 64.01153540158367 45.81866962637359 30 15 881.5610256501327 441.0019603689013 33.52771429709537 24.690846659944583 30 26 1068.141661576936 442.76980552627987 51.772996786672145 38.94169740450525 30 27 1646.4051204773855 457.370228311276 82.67344128458318 25.16264594444348 30 28 1735.7710510474635 469.79240014193806 59.44733586116501 17.083039943224772 31 2 1363.0481858686585 434.70827366780946 425.400357476377 253.70160337429903 31 4 1761.171994850105 468.4928614834772 227.00524914614275 136.04096460540885 31 10 1006.6182141981376 446.61481821309144 75.88479843073257 46.21254752433669 31 12 1092.279910211194 451.0322638219847 106.34208310114255 64.62572538802927 31 14 927.0519888872306 447.13387669220367 40.14880104173084 28.62342467656492 31 20 1192.3979328083642 447.05617734900954 65.80981115678922 46.75658826936662 31 15 883.6616591003864 440.98235021988904 33.28403344000772 24.269375977878003 31 26 1070.8029058980926 443.6066315225073 51.100943207843464 38.528910780937025 31 27 1642.982688912991 456.4367841753747 87.690074051016 27.033705965169244 31 28 1729.0840435085947 468.44506246553425 64.53037719236166 18.576893506433066 32 2 1383.6643514520442 435.4382301450958 445.90487803098455 263.02812199361017 32 10 1009.4950003122483 446.8612791816209 76.14564432358343 46.228245280646924 32 12 1096.4711827376477 451.69388273686474 107.121646492618 65.09697663672436 32 14 927.2441630684383 446.4609488218173 41.60793016925147 29.53576328621728 32 20 1194.595398712747 446.3802825071092 68.49246587970237 48.4008415659619 32 15 883.4037358987388 440.9774229936375 33.937253693455865 24.76536683112533 32 26 1073.2215265152684 443.2695185217112 51.829107791193955 38.99866572838766 32 27 1645.730879622776 456.0944510550208 91.18462788654122 29.055944414259635 32 28 1720.2677993198806 467.3038958151623 71.11084674730452 20.481171145418823 33 2 1404.1118053337202 435.0990831348454 470.8992522571927 274.79768003774143 33 10 1010.670218535921 446.3039779214442 77.25590906225291 46.868729179688025 33 12 1100.2060271548687 451.29367305212077 108.77493030643106 65.90614641932503 33 14 927.8687487103659 445.54699220650224 42.950426047617654 30.533245290358686 33 20 1198.861328079776 446.7658379724342 68.24229847960324 47.72452886420985 33 15 884.8933112826312 441.63267872958363 33.58942023744237 24.2926356372601 33 26 1074.3325219735937 442.48256119436104 52.229522310445866 39.161185908392426 33 29 1867.8715224448213 470.00000000000006 59.85695511035734 137.4 34 2 1415.3425900314103 434.97000548764845 492.3608827668362 286.23630930779973 34 10 1011.8832630872845 446.09142203336 78.60556818910742 47.75171772144402 34 12 1102.3901195991943 450.48402943150245 113.50142017777755 68.7998893626272 34 14 928.6497411131284 445.1926184109953 43.61529888087159 30.912094592024886 34 20 1201.2285142109813 446.2639088312444 70.952044839709 49.39354431567802 34 15 886.0225680453336 441.2232415440798 33.601279034210734 24.106464352285535 34 26 1076.5727765819718 442.1760505677176 54.48507873303608 41.1712089183382 35 2 1422.3230684138944 434.29070981472455 509.16999350942893 297.5435925306649 35 10 1015.1765512352927 447.31205979596956 77.21823690767461 46.77519892543481 35 12 1105.2650308662126 450.17390416414315 115.53021977511372 69.88476645669739 35 14 929.0043107624 443.1001223092738 46.29468173517568 33.005353343937074 35 20 1205.5022058591665 446.7222328418787 70.8379459774158 48.71521455357038 35 15 886.8196830175239 441.7327347750288 33.46009083897438 24.03615106784757 35 26 1080.8172574896305 442.70368948241065 53.59875603002798 40.6321755484845 36 2 1427.8862469492628 434.66018814176806 524.214070405958 310.05420002155904 36 10 1016.5173014673782 447.1301697799596 79.64344142023248 48.35164834204969 36 12 1109.8107851468408 450.0518649934276 116.29861706308209 70.27565639761019 36 14 929.965388949773 442.9486240261291 45.6190631856644 32.515711925682375 36 20 1210.0370152351159 446.9048137839704 71.90024458627575 49.073837767470394 36 15 888.5174237465964 442.58649275893765 33.86062036088161 24.009819951787847 36 26 1083.383584556354 442.9140550843265 55.18885720645955 42.35221842373995 37 2 1433.7035700064569 434.1799755238303 536.9710820601116 323.65695307997885 37 10 1018.4196196927624 446.41220470354216 81.5379249031784 49.579487168302634 37 12 1114.298974582132 451.30646738722925 116.69894762422942 70.39285233021288 37 14 930.9399199561543 443.55456319060494 46.00743582476975 32.94799793701695 37 20 1212.8531156844963 446.9737567346566 73.76036773123845 49.84732921669003 37 15 887.7578844609187 442.24310218172275 34.756735968493366 24.662341617591423 37 26 1086.4349757893658 442.99204130967195 55.382224916935726 42.98779821533469 38 2 1440.800193647338 435.25892846759325 547.7654117929761 338.94345004271605 38 10 1021.0676602834162 446.133172100475 82.1758497840288 50.038467157927954 38 12 1118.5448432213718 451.7902219453593 117.38655740787654 70.40651187372222 38 14 931.5861012948461 443.1406216190538 47.489352219062695 34.40227572377672 38 20 1214.5525857594334 446.3478463405319 76.85280121885087 51.4293148580761 38 15 887.8491695688757 443.4206156172722 34.29061407216796 24.251277920518493 38 26 1088.8315352548102 443.02006805926567 55.45186271000045 43.21236100037851 39 2 1447.4662464193466 435.0619037748638 560.9625836733555 358.6653277483922 39 10 1024.3649747893035 446.0261247808175 81.60829723762713 49.544740423451294 39 12 1122.8638672953434 451.97204181257126 119.80871688827916 71.69128021696524 39 14 932.7862304764308 442.98658185759814 48.02274583750654 34.947863294279706 39 20 1218.6267481082634 446.7548089500938 77.41345362659828 51.372068237056794 39 15 888.9566169969539 443.87195220744167 33.87640766392986 24.08908340278477 39 26 1091.1325246630877 443.02842034108005 55.79377452850673 43.27560457184826 39 31 971.8 442.0 27.0 22.0 40 2 1458.7588862383568 435.61418830004885 568.7148617961462 378.20966904414183 40 10 1028.2023352994693 446.6438361651683 80.65215156752275 48.67521930000688 40 12 1125.8077077958883 451.38668457570725 123.7240803301468 74.10929415369993 40 14 933.3797424614223 442.9330906356379 47.901958003257185 35.14449199433652 40 20 1226.1552596071917 447.56914641391035 77.16167733309247 51.32188446217799 40 15 889.96168730787 444.03332253461855 33.81422075079446 24.027992006776913 40 26 1093.0803380210698 443.0293385036963 56.221728391889265 43.27834553895438 40 31 973.4957020057307 442.7707736389685 27.0 22.0 41 2 1477.3990562682866 435.2107211574752 563.2858432811828 391.4165402003093 41 10 1030.5905521887385 446.8813486253807 81.53276789336428 48.98801291415336 41 12 1130.6369179404976 451.8045572409411 124.67686593652265 74.36739078826332 41 14 935.256961939765 442.91901374419416 47.72334566446801 35.203307114687014 41 20 1232.5431486231482 447.8804819297524 76.29228890621903 50.62707242225773 41 15 890.2101154786099 444.08543320097584 33.994180879122666 24.005345377173022 41 26 1095.513263127749 442.37333664873546 57.40396380695932 43.91419753473541 41 31 974.5515938777355 443.02861770521775 26.022730147487177 21.221946202688873 41 33 1589.7172315308453 455.6 56.5655369383092 24.4 42 2 1507.105672505792 434.4181804327999 538.2222809416394 391.95389405103214 42 10 1033.1906600697516 446.9698739418487 82.23182329347068 49.096051667126176 42 12 1136.4263185941836 451.9655849164223 125.34770766269078 74.42851151840077 42 14 936.8482695366929 442.2677665966738 48.44511249176963 35.86178175325038 42 20 1237.9260531987845 447.99599926540014 76.96319498641837 51.00008916811042 42 15 890.4803137492199 444.0968223513569 34.97614461125553 24.65916361408235 42 26 1100.8075565457605 442.77402896586005 55.47224133221782 42.18626389749383 42 31 977.1311700259033 443.0818358076153 24.91986133308234 20.21588173688538 42 33 1584.1988621393136 455.91457544919416 58.16501224554816 24.871863173791237 42 11 1204.5237440420067 444.0401739924459 36.03420834442869 16.060438666242064 43 2 1544.4482836225964 434.10295975742014 502.7538422885486 385.31543801031387 43 10 1034.9865195425723 447.00236161627856 84.6334488020343 50.44115305338001 43 12 1140.5962705673724 452.6772416538736 127.91362182744122 75.72652547643308 43 14 938.593342108169 442.6729681906907 47.671600317042895 35.45189213094754 43 20 1241.371637205382 448.0359907888295 79.32613794075283 52.440232169608635 43 15 891.2006641891152 444.0955814494561 35.37374893787117 24.903352144151132 43 26 1102.4052217229262 442.93154487704396 58.03366752945295 44.14623773192409 43 31 979.0953533299389 443.8278994207997 23.66211729849232 19.174180115735677 43 33 1577.5834468093703 455.2370489972254 57.50482723493644 24.24440087344671 43 28 1662.3693686365473 466.97696850740255 59.926989943810185 17.075282027715588 44 2 1581.0704469914701 434.6326053441629 470.7027554349591 382.29530471801894 44 10 1037.1361285188736 447.66485230336804 85.70177816715925 50.94025110016748 44 12 1144.8292394100015 452.2943272754277 131.11624085531722 77.49669752662494 44 14 940.9689514963088 444.8072272295477 45.178685851624614 33.30568650078235 44 20 1244.9564491820179 448.04803516438136 81.24166155467093 53.62449995077161 44 15 891.319368338182 444.08796195114644 36.44165258400532 25.65061751076072 44 26 1101.9621671250243 442.34062441514106 62.24588975591019 47.44832314382146 44 31 979.210048519008 444.05221242953496 24.161616139305202 19.607200828493976 44 33 1571.5134866115045 455.77517286916753 58.005351005832225 24.029946868955925 44 28 1657.4199677136933 466.992679211561 59.85275480030101 16.938982024693924 45 10 1040.3376454156448 448.5727356937031 85.08149618434855 50.46418470394129 45 12 1149.8722387820649 452.14205393341103 133.63459961752588 78.7976929585495 45 14 941.2432170922547 444.2943916652646 46.02987388585779 33.80214764249414 45 20 1248.5147888825798 447.3996816037729 83.14469109649161 54.71373893755204 45 15 891.9936113483433 443.42997779095094 36.845935794039214 25.931027568198004 45 26 1104.6814560191754 442.7496264397551 63.06465206025214 48.0702613135298 45 31 979.9261976449458 444.1159497301836 24.313640864158202 19.76089327055454 45 33 1566.4808621003754 454.4865723045438 60.41168132274274 24.700958351930403 46 10 1042.8284714257131 448.91756540363116 86.04547891640902 50.922329674591325 46 12 1154.1810684917866 452.0791657629999 136.03900607521288 79.916807836024 46 14 943.3520135817604 445.4260455703219 44.9061231936188 32.66144081470512 46 20 1253.01236916436 447.1461968718252 83.79413875461707 55.11463108171565 46 15 892.3903505223951 443.1699301197241 37.97892560056117 26.686331090819213 46 26 1107.5043748602798 442.9159055048765 62.91307077205563 47.63850099217069 46 31 980.7546181341868 444.1231766490812 25.201092625531633 20.52490080840829 46 33 1562.6299067327686 454.75753389376655 60.272849898616215 24.228127109677658 46 38 1786.9931383739665 451.6 153.81372325206695 370.2 46 28 1647.126497526775 466.16217853029593 59.560282418038945 16.92847749899306 47 10 1044.6563477938864 448.3859137836536 88.38916853121901 52.39588007882838 47 12 1159.4446549055044 452.0519311541254 139.15581965459756 81.61329596629376 47 14 943.785606726451 445.1896481977821 46.44055727701471 33.555278903731605 47 20 1258.1620648757837 447.047386076743 84.68706638327536 55.89766154713642 47 15 892.7837905941917 443.71759207925453 38.53091753982436 26.9690045598391 47 26 1110.1884377040935 442.98033233255165 64.68138829755627 48.7434568034276 47 31 981.775428108455 444.1171188585393 25.35732821989204 20.80730801492268 47 33 1554.7811564180574 454.17455139075605 62.4936843659397 24.752336999931234 48 10 1047.5449823656163 448.8287992663065 88.62779522895829 52.29456404220064 48 12 1165.2577787462785 452.6868278964059 138.93001412947302 80.93899653512543 48 14 944.5957569733974 445.7572977874799 46.300866946190936 33.223999331729416 48 20 1263.7842090000163 447.6603730396521 85.22198829878691 56.17771935552761 48 15 893.2470301423573 443.27786632029125 38.715561540750045 27.06985283060786 48 26 1112.6325174395483 443.00400989150324 65.59246758669092 49.14561446130018 48 33 1548.965025601655 454.6550929079655 62.181096735373984 24.258407558291953 48 28 1633.3096716779319 465.136500037141 59.05929560565808 16.993927039341486 49 10 1049.3811923304572 448.33984299021415 90.98404039722078 53.546599158044835 49 12 1170.0551956221027 452.9317657617297 142.48204124656078 82.59269244348657 49 14 944.9281893835392 444.6448425561614 48.0791427410324 34.41782884070051 49 20 1269.3463465818177 447.24476347315925 86.1063686098218 56.91503782730794 49 15 894.443394079893 443.10583600137886 37.99987985907597 26.44661934987603 49 26 1114.5985672767142 443.012017839706 66.30020344581322 49.27619967470332 49 33 1540.6715963849308 454.1651612761218 65.9705147708058 25.43747477496856 49 28 1627.2162902437042 464.26365499668253 58.23025423458857 16.999064770337746 49 11 1192.3379326863799 444.893582440819 33.38551357276793 15.038152149995131 50 10 1052.736955866873 448.80097256433226 90.94648509210361 53.35838357889566 50 12 1175.4217575477935 453.02117813974803 146.1727033638279 84.49253132584312 50 14 945.3670148852485 444.88087618596677 48.7063113180594 34.859471301954905 50 20 1276.2688511633094 447.73583900092024 86.94405445114064 57.828710834184704 50 15 894.8332540313658 443.03836792114726 37.798267811806014 26.196717419111348 50 26 1119.145954417578 443.01396276324465 64.65413047495078 47.99793193235293 50 33 1533.5756876548458 453.99245203559644 67.8368966823422 25.860117468439107 50 28 1620.9863754166677 463.96406396840825 59.664962150320946 17.6697516336672 50 11 1184.4246222967363 444.96456316311156 40.253271859861364 18.544173131833855 51 10 1055.7330717405368 448.975784408841 91.23301983551842 53.26469662694854 51 12 1181.9432251131889 453.0513945829655 148.0465578069968 85.19237215219822 51 14 946.3146605584827 444.31729096193925 49.91480855411711 35.67712859689038 51 20 1282.1666179395156 447.27397516198266 86.94498554611953 58.159053681588034 51 15 894.7587975660275 442.35200530083813 39.433257896002104 27.420274530691646 51 26 1123.0365012420373 443.67419488826783 64.77908284244138 48.13705749789932 51 33 1528.5622041902677 453.9346617477596 70.29689210725057 26.677075229241616 51 28 1616.0451640691754 463.86242422338984 57.89974669010065 17.260494939894702 51 11 1180.8951712920448 444.3652698327219 41.86911495943222 20.189788484601443 52 10 1058.8102231839575 449.037488536692 92.50917894804735 53.87067376173463 52 12 1187.2451740581778 453.70887872895946 151.2604810918029 86.72432426985227 52 14 948.039181713205 445.4035571231548 49.52968200860661 35.3309423032854 52 20 1288.5387785488713 447.0939521809865 87.4863526546603 58.91501002510345 52 15 894.5068371789432 442.7454982304805 39.16744491985618 27.223991644867738 52 26 1124.3234236431447 443.26280512655586 67.61231883097896 50.14753593620606 52 33 1525.0668637010017 453.9188937933058 68.22884149174237 25.670445753017482 52 28 1611.8776376192852 463.8432908606967 57.020433288497294 17.096228210515722 52 11 1179.3031515641105 444.11237679323557 42.33854360835807 21.494834741775456 53 10 1061.1351548707134 449.71074162564616 93.09912536893825 54.08817563189229 53 12 1193.9738948215752 453.9571768521508 153.11172891465665 87.27873055777994 53 14 950.1910533203566 447.1422487060688 46.96534852645929 33.210073040086094 53 20 1294.685142485233 447.67661904156466 87.73203002128346 59.183922019903584 53 15 894.723240999419 442.2470107213847 39.67586225370391 27.79294891414914 53 26 1126.4618787683482 443.75325496939826 69.1149582436262 50.893911292527186 53 33 1519.2962227235644 453.92307164972135 69.48540328220321 25.929745686556917 53 28 1607.9666100873615 463.8486044224773 56.528094059090705 17.03413740666563 53 11 1177.1928614820636 444.01143278622885 46.871213959407974 25.152166611381233 54 10 1063.0553501227046 449.3078872854716 95.62587976375306 55.467856788512975 54 12 1199.5353567947684 453.3954459897669 157.23355884304277 89.40633106369745 54 14 951.5109243058048 447.1312520556602 46.87570679088832 33.05688642078024 54 20 1302.5403444103392 448.5548408498747 86.88497137444243 58.61087684869057 54 15 894.8756710470875 442.05992515107755 39.69209113695871 28.00239212656118 54 26 1128.9153666444136 443.9433600989894 70.77815205276036 51.813164369040976 54 33 1514.6849794000811 453.9286288666759 69.92847463832476 26.021508982099263 54 28 1603.1983019545723 463.86155122485883 58.07265546729813 17.67517279139185 55 10 1065.788145311162 448.4997330704757 97.60396498580054 56.62976988131248 55 12 1206.0029554713408 453.8234049692078 160.12532685634218 90.8362745945334 55 14 953.2521386798791 447.1208206594087 46.913633585726025 33.002726398228475 55 20 1307.9341034154106 448.8903620841256 87.26406351555869 59.02450936222709 55 15 895.2713655882251 441.99080208692016 39.633564757434115 28.074764657186982 55 26 1132.0694520979032 443.36416851600194 71.99374658320095 52.1473448636844 55 33 1508.6662994882242 453.9358912958921 70.45240874066135 26.051061447520333 55 28 1598.8016514538954 464.52568902922286 58.93981156626257 17.912560281989727 56 10 1068.506706168426 448.18417271073156 99.3755667339081 57.71056449428033 56 12 1212.914661815777 453.9855363129527 163.01378005059993 91.99824862349806 56 14 953.8258195611677 447.10854205623 46.99124524985041 32.98433275599175 56 20 1313.6347251613272 449.6680312651498 86.91209170177369 58.51040222284917 56 15 895.8456690039374 442.6228315772196 38.725056735827444 27.439173967293293 56 26 1134.4712722288102 443.1365179289331 73.78254269181521 52.90501624267873 56 33 1506.2007752084753 453.94319998910026 69.43314328539137 25.396823401226058 56 28 1596.2494043068907 464.7915204907729 57.49309802686598 17.346064282924505 57 10 1071.7145330368871 448.7110002961493 100.07256141043591 58.10821902926989 57 12 1218.2716310500118 454.6927171699033 166.7434702133471 93.70453635212736 57 14 954.1286638263218 447.09625116725164 48.076384099827884 33.64274784467616 57 20 1320.0179599453495 449.9594535576702 88.44369398115899 59.61293227166227 57 15 895.6506973062295 442.86913970819927 39.159580100327965 27.848761483933533 57 26 1136.5883557078375 443.0485153006856 75.12194982471807 53.1757064497303 57 33 1502.1970446341104 453.9509408825407 65.65297125840426 23.80732864126456 57 28 1594.296303626217 464.9012827349081 57.418554368298864 17.122106294931356 58 10 1074.616781844463 448.9150390186043 100.6909934983329 58.23892839278881 58 12 1224.6239870443487 454.9601620848412 170.8308025023168 95.61912409781453 58 14 955.5995278752963 447.08624009552454 47.66625004552089 33.23216093701044 58 20 1325.6029736658834 450.0626577190868 90.1536620466503 60.66978413493279 58 15 896.3770408752614 442.9607501817801 38.353957473200445 27.342040963524163 58 26 1139.8292036417326 443.6670625793344 77.08118355707795 53.90987526310328 58 33 1496.7028761915667 453.9590278087015 65.95117880840051 23.88886702214898 58 28 1589.491981283696 464.2796480036556 59.91737650825456 17.703875801178004 59 10 1079.5467250915 448.9916513905747 100.90516817346102 58.26743586694985 59 12 1232.3104122614923 455.0569250519303 174.44435955756336 96.96502317681738 59 14 956.729496478833 447.7388072461121 47.59722592148263 33.07315521540956 59 20 1332.9373042011716 450.7466561738841 88.48528641184643 59.10235508536027 59 15 897.3272726645957 442.99515512608633 37.98767603854429 27.140536081185243 59 26 1141.363394202709 443.25242688853984 78.98931693489837 54.8227041394198 59 33 1493.829646024386 453.9636508404069 64.79420268989688 23.252710101772152 59 28 1585.8143173023323 464.7060103728152 58.97471573678895 17.26442020509906 60 10 1082.6727074386724 449.01866030885964 102.19809906850993 58.91367684814823 60 12 1239.3915498750137 455.73565317838325 179.4714287260922 99.38588586486398 60 14 959.3775456403683 446.6512253148166 49.667036711961565 34.340691975862576 60 20 1339.0282878066787 450.3389350057676 88.7022062885144 58.467756514876214 60 15 898.1253630944454 442.34464716013326 39.58474756442438 28.38741968285368 60 26 1144.299067068702 443.09144304888315 80.01471311932623 55.153348630705594 60 33 1489.4063203811425 453.96874629398644 63.452944939359185 22.34620940035444 61 10 1086.125349663601 449.0268657244841 103.81659227311773 59.79636521057161 61 12 1247.5275494027985 455.9908887545714 183.06821082980747 100.92364527142723 61 14 959.8897178240009 446.89626648282484 50.66676068204371 34.81068841763188 61 20 1346.3764348399986 450.17756189253396 87.48214444054102 56.896092041316535 61 15 899.490313882537 442.7528779731751 39.316847812534846 28.198366048510756 61 26 1147.299048782957 443.0289358798756 81.65875805292141 55.90964693767612 61 33 1485.9281110009788 453.97349960136074 63.04301547606193 22.021602571488827 61 28 1575.9132745404445 463.3424659201977 61.1024724681878 17.84093277257563 62 10 1090.7957758994096 449.6798908903898 102.71750066333644 58.81285944442772 62 12 1256.1679320536732 456.72898538300916 185.28456598166386 101.4707281383997 62 14 960.4431909000757 446.334638354537 52.842634773888534 36.29613350560925 62 20 1353.6970840881388 449.44051089748723 87.40195847398766 55.62743786580256 62 15 900.6615494053992 442.91530968824975 39.19729171068447 28.11538539106697 62 26 1151.122283711267 443.0053155519605 81.9344248959399 55.52822221051168 62 33 1480.6410255939545 453.3012368826957 63.2017577024819 21.914745435443923 62 28 1567.9218157197006 463.048494185386 58.80260831630904 17.299481347884548 63 10 1093.4928935976093 449.93015845244213 104.8063381662905 59.72613572552859 63 12 1264.0362219436277 457.00603806778224 190.1889126288153 103.58007230843504 63 14 961.1373416712288 445.4735471680652 54.56732742781378 37.501543868450895 63 20 1359.7942232039898 449.1614221220319 88.1511650001877 55.15757810487178 63 15 899.9204158316729 442.31787633459965 40.81340078392741 29.396649513495106 63 26 1156.4925204239528 443.652777391213 81.85607768816237 55.35527080903528 63 33 1475.476822981316 453.73011961170505 63.356770549302524 21.886303751579764 63 28 1560.2824616846815 462.27944835608963 59.66634274291788 17.766525676277652 64 10 1096.6843508607242 450.67441601917324 106.90956406798588 60.71085520710295 64 12 1271.611117194279 457.1033465321796 196.06632405960573 106.28973618986602 64 14 962.2950429445286 445.78413373261293 55.30185213713318 37.960043545052244 64 20 1366.6133536044822 449.0568540492386 87.5130154603572 53.655162098996676 64 15 901.7397765619186 442.74205287762317 39.78548389775416 28.577530935394904 64 26 1158.6734518696105 443.24226339905005 83.93074439017441 56.584931333233236 64 33 1470.4900653025952 453.89278654086934 61.908906018534324 21.215873164214305 64 28 1555.4528657607136 462.6588173883584 57.71986323539895 17.28127013646159 65 10 1100.4867724456724 450.9541532361208 108.17266468606987 61.0718325127682 65 12 1281.1750746069652 457.1318412714501 201.3331966434566 108.58244346246117 65 14 962.8024766871088 444.61060006325516 57.31232181628013 39.421976012821304 65 20 1375.7241059152127 449.01729939745263 83.66112549721129 49.738924073018524 65 15 902.2955703917477 442.91268673434723 40.296041746262084 28.901595520346717 65 26 1159.943288983255 443.0861269454133 86.22563178528583 57.68729753024919 65 33 1465.0767921838403 453.9562888151712 63.53911986908296 21.654036186235878 65 28 1551.0940493946064 462.15375648120187 56.50444374640539 17.090924017404024 66 10 1104.747885336504 451.7084730384309 108.6669164314931 61.19140577899744 66 12 1288.7509732282722 457.13362093629206 207.3641067209492 111.35827942261531 66 14 964.0122920468033 444.80633400995856 57.905623887914786 39.970803448577605 66 15 902.749628184614 442.9760468086942 40.60801292343117 29.01834270122637 66 26 1161.7658998326083 443.67637307660175 86.79983600725893 57.44255932147793 66 33 1461.7123149601848 453.97975783976807 63.87571219635255 21.81817160806658 66 28 1546.6897375718647 461.97366455732856 57.35292765560228 17.685859958591504 67 10 1108.3938494437634 451.98907044463886 110.44060158386807 61.87455436855144 67 12 1297.139478014889 457.12641172973537 213.71117844292024 114.31628044993188 67 14 966.4925142343602 445.5362029562582 56.60174587584613 38.8724745110772 67 15 903.6408663936352 443.65617299768496 39.23676874351428 27.743797868108153 67 26 1164.3519343040707 443.9056389961677 87.56324880351752 57.32268376602919 67 33 1458.4861207104068 453.325327981524 63.66530189276426 21.887562871909736 67 28 1543.7832110038153 462.5661521882479 55.235047703619266 17.2518746641056 67 40 1382.2638613861386 448.2 70.67227722772277 21.0 68 10 1111.25814093051 452.08688354564185 112.47595516674112 62.77285165005931 68 12 1307.0017237271004 457.11639101788097 219.139735262687 116.69783031518902 68 14 966.5197612450465 445.16944952605087 57.83399024994233 39.73446463589375 68 15 904.808071759159 443.91698564389327 38.99312047719165 27.24452904103753 68 26 1173.8136564435827 444.6477281048468 87.076947518471 57.25879757485181 68 33 1454.4595203779584 453.08022265318084 66.26352287309858 23.24666968444267 68 40 1392.3924390635311 448.85041736227043 60.008777966426635 17.747913188647747 69 10 1115.4398903461945 452.1152656056946 114.64120412258862 63.75216133502046 69 12 1317.21017106328 457.7501785984656 224.66384262604998 118.85237115681846 69 14 968.337708739056 445.6839195812351 56.56147526722413 38.74738610091286 69 15 905.3515157960649 443.3413370391868 39.9634666049382 27.72980707919883 69 26 1180.406107159483 444.9268013035879 86.56892027474417 57.218680060583864 69 33 1454.0890739807194 452.3437604401493 65.78696719669499 23.74972098703917 70 10 1118.9774607123118 452.117660302847 117.84635606390515 65.41274728877907 70 12 1326.3156691450563 456.0545859433561 233.3205772723949 122.85227883982685 70 14 970.1748110190692 445.88803288452567 56.30969383905781 38.34261193159444 70 15 905.7379461722321 443.12710620952515 40.56844964184115 27.909471733229857 70 26 1184.6251116631552 445.0274742330813 87.25924597934882 57.84732275463701 71 10 1122.7860167603856 452.76016533449683 118.45189218220196 65.38205674897551 71 12 1334.5047114845286 452.8256218928467 246.0290410069012 129.47873161165757 71 14 970.6014503461688 445.9650243042293 57.30194413584543 38.842273803428014 71 15 906.1718191590656 443.7043473297364 40.16606966493327 27.317686181302076 71 26 1186.9046751552933 445.0604177155359 89.15385323980918 59.3844836950046 72 10 1127.2697255813966 453.0015749814602 120.17472956854388 65.99500518989585 72 12 1345.9766657146213 453.4775446086999 251.6993386030639 132.0021696037409 72 14 971.6463728709784 445.99354375672334 58.44137122883382 39.67914910051914 72 15 907.1020711388263 443.92414150250454 41.08022477159962 27.757698535152645 72 26 1192.7038934402854 445.06847250930326 88.86455838011148 59.956564405202464 73 10 1132.7571427104854 453.08532025464837 122.13154928186883 66.86089248049461 73 12 1356.6419841167958 452.4654412450949 260.1822131959827 136.11426504306817 73 14 972.5114418091242 445.3514116934001 60.45970046263877 41.294613353767765 73 15 908.1060954451001 444.00322075882536 41.37514105207122 27.920902412443613 73 26 1196.3592994165942 445.0662102089908 89.52346809522585 60.811296290922314 73 42 1158.9805899339933 440.20000000000005 42.0388201320132 15.8 74 10 1136.7655776699219 453.76077015043296 123.33037689684579 67.17132181158176 74 12 1368.616114005773 452.71618537843506 268.32588078330247 140.20143517079734 74 14 974.6051282050131 445.752077255653 60.210143194224706 41.25674168224328 74 15 908.4440801785997 444.02992518492323 41.514718304861965 27.982423759730498 74 26 1202.54145813742 445.0611525815107 89.04497602429338 61.12091732701728 74 43 957.990099009901 426.0 39.019801980198025 45.0 74 44 796.5444197728597 436.79999999999995 21.911160454280722 16.2 75 10 1140.28019719444 454.01176758410855 125.38570819880928 67.92026531994247 75 12 1383.2479118223519 454.74149478062407 272.6816280424639 141.7192902222866 75 14 975.9829707204387 445.9119552639772 60.17502118226705 41.22178721512973 75 15 909.1892324582021 444.03679251294534 41.591547242284335 28.00465882592285 75 26 1206.5086211466416 445.05502562642596 88.62820946806184 61.21944218271875 75 44 796.1402223461213 436.17385277513836 22.719555307757542 16.82614722486166 76 10 1145.6833199813866 455.403367932117 126.87516394843405 68.18556381251395 76 12 1396.72764463919 456.1924153053328 279.3404195233514 144.14261066043122 76 14 978.4257591400805 445.9732856368112 60.148948406126905 41.194082962171045 76 15 909.9544927161975 444.03643874181313 42.576071205613374 28.67189728349739 76 26 1208.514611851414 445.0490160936214 90.43838808003906 62.54840519001855 76 44 796.0025823100646 435.9709516848023 22.994835379870917 17.029048315197727 77 10 1149.9944871407727 453.9642331182175 131.1343712778852 70.22682209181251 77 12 1411.807339980576 458.0439601529953 284.63603702680047 145.64091559703417 77 14 980.6509698180706 446.65242134843623 59.407456586299844 40.51485199230188 77 15 910.501433115409 443.3802731573226 43.03513641414062 28.921076776250857 77 26 1214.433023255851 445.69500866488374 89.66427599183925 62.38678824995154 77 44 796.0085798871579 435.92568479187037 22.98284022568424 17.07431520812964 77 46 1181.9899752475249 441.0 32.42004950495049 16.2 78 10 1155.287820820809 455.35352188646635 131.0089299132734 69.68781769718022 78 12 1426.9120575800755 459.40712138663065 293.1909138821551 148.714364799442 78 14 982.4524305326339 446.9109509655646 58.407291049183875 39.581396731561945 78 15 910.8030085438662 443.7816974892636 44.27520547614697 29.668355842378485 78 26 1219.5093737517213 445.2860505520464 89.3386428754856 62.30040665054106 78 46 1185.502561132099 441.7826840310771 32.12596040306535 16.043463193784586 78 33 1415.6960089299907 451.0065285944246 53.38053093053398 19.19296290896204 79 10 1158.6743137514088 454.5753736049495 135.74169305337279 72.06667162779955 79 12 1440.725379815628 460.56955586154294 304.2293095069389 153.0459188193 79 14 983.9257674470776 447.67015443809885 58.30201912661176 39.22122610754761 79 15 912.1204030140535 443.2831326123466 45.545645685731294 30.599041303195904 79 26 1222.4423099756043 445.12545335937745 90.17508567331791 62.906269789552574 79 46 1190.5260440333516 441.24559775170667 32.11045931542716 15.993349194632291 79 33 1412.6184743481717 451.71893042191476 55.16670040545689 19.715411810374864 79 20 1491.4216292970016 448.92505301228437 58.7447407130818 29.291255935907923 80 10 1163.5970049856332 454.2755211561601 139.05683676201056 73.59419181911404 80 12 1457.73784781097 461.65136062790816 313.28909739635105 155.93183197073625 80 14 984.3177426713311 447.2842796923663 60.453978909380744 40.412900547041545 80 15 911.4819122895144 442.44327313844366 46.97337575983356 31.597973858902357 80 26 1226.082433623381 445.0620806579961 92.34388800516594 64.43075328518955 80 46 1192.2657521563053 441.0606142515019 33.74921498081602 16.73894193956351 80 33 1409.788670272307 451.89556641781815 54.371697362973485 19.15346060798377 80 47 1144.652681518152 444.0 29.494636963696372 15.8 80 27 1487.5380575275697 451.00679227420903 93.91611375123814 28.001541225871783 81 10 1171.155660246839 455.4475505941567 141.00024810393376 74.15894571417188 81 12 1473.3360130996741 462.70301480983966 325.01147970756654 160.18445313527386 81 14 984.09135711952 445.8287097241365 63.88029076375606 42.815878800150614 81 15 910.8570329228778 442.1194967290117 47.575861878381275 31.97570636201429 81 26 1232.3735026875497 445.68692738708535 86.34466249304256 59.14114822624226 81 46 1194.4197306694616 441.0012282495109 34.447930698228994 16.979941649328733 81 33 1406.8601139672996 451.9629684716034 54.198690143798444 18.958447272109023 81 47 1143.3800098581405 444.0 28.402400343039584 15.193736676553401 81 27 1480.18504728642 450.25239496445045 115.9852394716117 35.80576440626775 81 44 796.970837187953 435.96017739850845 22.916904292709827 17.01908196729936 82 10 1178.6472248273242 457.1980790923583 140.04833453474058 73.04298340517755 82 12 1490.997075588667 463.73808443275857 335.64069237412457 163.67757660503293 82 14 986.3203943777829 445.9175619706242 64.98476476158362 43.72380534928087 82 15 912.2874655506425 442.6463379383343 46.9913390683969 31.460956035711202 82 26 1237.2013409662577 445.93203296407734 85.43564472242907 57.67538541788027 82 46 1194.9503129394889 440.9830487762114 37.65403018410577 18.44895959113216 82 33 1401.5510317738008 451.98778942409297 56.18366764719055 19.578736996472355 82 47 1142.1581023772017 444.0 28.007690485177935 14.98320477441037 82 27 1477.9871082565219 451.87020389651997 133.1982899162769 43.0947924780014 82 44 797.0724780829737 435.98227179907303 22.892599755218885 16.994932582994537 83 10 1184.8205706572319 457.86352979468217 141.84852172649664 73.23256270870957 83 12 1511.7462790837585 465.4103422853198 346.4345398384791 166.87330318894067 83 14 988.92042271537 446.60328119035125 64.44118097363074 43.41669558958716 83 15 913.1994702566697 442.8566734244131 47.955259820331655 31.90266274387473 83 26 1244.6119707671164 446.688313186391 81.55634940406259 53.79550765709378 83 46 1194.3233558289246 440.9776127174213 41.651005861390544 20.29251936219978 83 33 1396.7389246524635 451.996770267665 56.914776603783004 19.809606315897508 83 47 1141.0681580186026 444.0 27.9171729273597 14.935555867388597 83 27 1481.7250650285607 451.9579708019277 148.95437075452975 50.41787833947654 83 44 797.1025153493262 435.9893971487463 22.890060288358953 16.987169381826284 84 10 1190.2777782203013 458.7567786731816 144.4227158333538 73.93904910490508 84 12 1528.5446828816828 466.04160268561947 362.4027768074256 172.52768654027895 84 14 989.9994794745094 445.56275611631 65.91399588958977 44.5862001476282 84 15 914.3742598892632 442.9374066796298 48.56594953620392 32.061466243825414 84 26 1249.7838366886863 446.27726051249033 84.39588181519586 55.106057670763846 84 46 1198.5385871313115 441.6191342505131 42.480462411812226 20.34831908782204 84 33 1392.2740160273456 451.33514580329154 58.841791823590135 20.56804723528198 84 47 1139.347793739743 444.0 29.27685518421541 15.66077862448943 84 27 1488.4355634698709 451.9949491096604 161.28893132387378 57.12698674907563 85 10 1193.7851863178887 457.77314442989956 150.64231880758427 76.80370035578848 85 12 1539.4357222270392 467.548134615895 372.31337253889546 176.55647078116533 85 14 992.0515262297289 445.81827731449073 65.68433263823928 44.368858952385786 85 15 913.9524521856279 441.6623484412722 50.4827990276965 33.41955417626999 85 26 1253.0569992033072 446.1315259248717 90.30676615186442 58.23497336415551 85 33 1388.2718792357794 451.0885091135823 59.22364760740345 20.853435679266404 85 47 1137.7820527422 444.0 29.692814781736093 15.908586352758755 85 27 1491.0183856178155 452.0098495607471 179.85604251959842 67.17635098530374 85 49 1482.9752475247524 460.0 42.04950495049505 16.0 85 50 1867.9300904003444 468.4 46.53981919931123 23.2 86 10 1199.8847192465146 458.0350090445582 153.50333800971273 77.87348774184476 86 12 1545.2083295398966 468.1151407437312 384.1684508308713 183.16463591721933 86 14 994.2445223661193 447.23062173148475 63.962861281237004 42.954517178785956 86 15 913.9501723958306 440.5361387789341 52.14161748403469 34.57171026722574 86 26 1260.6335382730529 446.72703466925736 87.3846551058739 54.83833280184334 86 33 1384.0002285346209 450.9969027563977 59.25788937425008 20.962930528219314 86 47 1136.2252514836284 444.0 29.86669310579886 15.997460374597718 86 27 1497.8922435380048 452.01571991287835 190.25430977928525 74.90697173073217 86 49 1480.8596328713934 460.0 40.11454514546526 15.229226361031518 86 50 1855.2649753964565 468.08833453686077 55.97511058698571 27.71914921551894 87 10 1205.1283948396476 457.4743041220752 157.5150486384264 79.55710461698496 87 12 1553.2120574553016 469.5924789960223 390.33204945177806 188.1983775600694 87 14 995.4502839636986 447.77533935086717 64.39746759634968 43.056154924084744 87 15 915.2447767080498 442.03396257186 50.78287611119266 33.720413192300015 87 33 1379.939709218097 450.30772290012817 60.501628306549605 21.661247785071854 87 47 1133.7353633828077 444.0 29.800318459290644 16.026343551114394 87 27 1510.697282550708 453.2182284507481 191.80391815428115 78.75098219481018 87 49 1471.9454883752503 459.20205237372215 43.93138806868424 16.56984265422478 87 50 1843.4298556178683 467.98265969874 79.91940258096368 39.870439082564616 87 52 964.359347671834 423.8 48.881304656331785 47.8 88 10 1210.7037897819246 455.95213525273726 164.50272791459838 82.76875344565845 88 12 1560.96092204365 469.5078428958331 397.1242339351807 195.18102147201455 88 14 996.9543839639996 447.9738863229034 65.63755325387103 43.74647260141116 88 15 916.4504088908985 443.298598887518 49.42405565987255 32.7012228289366 88 33 1378.8454769280936 450.70189286052965 57.71618352842321 20.62124924756219 88 47 1133.4689608137835 444.67339807626774 28.568871738587898 15.359971063358218 88 27 1526.1367025973716 453.7327745175257 190.74815459715165 80.86812107916919 88 49 1461.7745373705366 459.6895043342022 45.73690696321586 16.97149357618299 89 10 1216.6659675582118 455.36109437954093 168.8529577675161 84.61995367075073 89 12 1570.0081854681443 468.8125934253858 402.0978893194035 202.90732736168187 89 14 999.5202363277426 449.3537751626879 65.27392118639052 43.345177350826276 89 15 917.1680229792347 443.78166032097147 49.64327188497464 32.96413293783523 89 33 1376.6403283358966 451.53646817482223 56.65291766748099 20.20426971996928 89 47 1131.5917350188197 444.24396872643604 29.092492155831742 15.78760601960947 89 27 1543.5632281339053 453.32172719416667 190.37895480039356 82.86467378452961 89 49 1458.9817283620696 459.8855441444016 46.57424562542248 17.093973559388743 89 53 1212.0972497249725 444.8 49.805500550055015 46.0 89 55 1253.7752239179035 445.0 109.64955216419258 29.4 89 52 968.0417729324313 426.633061885966 48.06790974643376 47.091734528508496 90 10 1221.9647951941115 453.8372000172699 176.40922019558423 88.52730634690838 90 12 1578.8625580047808 468.5170857028431 405.8691744951049 211.5557013124245 90 14 1001.6012914234846 449.87729414801026 65.43077338818517 43.17963100972442 90 15 918.4055940860516 445.27247907640725 47.73692532920835 31.742512342784764 90 33 1373.848158032279 451.1780385514332 55.81800714662293 20.05162745312028 90 47 1130.0778736750817 444.08922235461495 29.030586753242204 15.94034549381771 90 27 1559.4146814299786 453.152013362682 191.1530563709513 84.82171462720741 90 49 1457.188311981857 459.26571351497904 46.94222097529726 17.119365477121402 90 53 1216.0798697658006 446.5408280521786 46.587973337977076 42.834858086947946 90 52 967.1790177190622 425.62386944444046 49.446633577024805 48.47944459596457 91 10 1227.4917973298398 453.2490284261515 180.97585070304478 90.6437412933158 91 12 1587.1441389954098 467.1117524144517 412.09713890534965 223.73117336147573 91 14 1002.4500074119175 449.40352592586623 66.54727926444836 43.77086817479636 91 15 920.1036167495853 445.84067511833456 47.14708981744632 31.262109106916622 91 33 1370.1894016897686 451.04573248290177 55.69803117291688 19.99697818143444 91 47 1129.2436958228734 444.02973143374226 27.653220192998635 15.33289308010389 91 27 1574.3679044389205 452.45346707743994 194.74502872446652 88.02085471115514 91 49 1454.9907696470527 459.0417458867232 47.187495715646634 17.114507627579712 91 53 1221.536299876362 444.6226771764083 46.91694431686314 42.68643920252259 91 52 967.3122005840382 423.8694580992143 51.160679035767814 50.336489283663184 92 10 1234.2504028473982 452.3798233600895 186.60317980156833 93.35129595501564 92 12 1604.837057044554 472.8566158118738 402.5982795775151 228.40849918979274 92 14 1003.8217072488014 449.21607209481425 68.02520818916628 44.64434307537927 92 15 922.3836205408353 446.041306221097 46.90156597597914 31.08347305032458 92 33 1366.9667930551402 450.99798628699335 54.990833779588044 19.97886628888772 92 47 1128.7005952645684 444.0070399359579 27.0588864770556 15.097877708169548 92 27 1591.5690259815146 453.4278870275321 195.995585623833 89.83973315133044 92 49 1452.7313848579938 459.6437047646789 45.802175396247755 16.42366210113209 92 53 1226.4311665991177 444.8330407167606 49.30390396605453 44.240794033914646 92 52 968.4155433588082 423.9242356058833 50.96859360645511 50.29394708286852 92 56 1285.4906490649066 445.0 71.81870187018701 18.4 93 10 1244.0588301160576 455.25242643698647 185.55757375137998 92.43558071131363 93 12 1629.3369833790784 475.7937631362662 381.31292533369447 226.88631920464374 93 14 1005.8827159986475 449.7908051376601 68.00084134681778 44.31622901134094 93 15 923.0480427861143 445.4404152879367 47.77911260941544 31.68269889232657 93 33 1366.5678858271392 450.98208246950765 52.725626042222224 19.31058685623683 93 47 1127.9288979435435 443.99906641814465 26.74787087233128 15.013408307776823 93 27 1606.3539154749606 453.1882452967071 203.11729313564734 94.25153047554606 93 49 1449.9814697104966 459.8774955961383 45.4238109611045 16.153509748760733 93 53 1234.1524468999487 446.35362218436984 49.00358361516959 43.3158771736206 93 52 970.1044399449556 423.9508761420477 50.30452686794384 49.559844616607585 93 56 1290.0582214390868 445.0 70.75466900010912 18.083485808694792 94 10 1253.7025209908718 456.4003047561502 187.26235875967356 92.64788182720737 94 14 1007.3698488635234 449.34547794008824 69.07957834403258 44.836640381626154 94 15 923.0381481551634 445.8676142386281 47.24328550869336 31.24769629461884 94 47 1126.3126227766413 443.9964997895449 26.720115657174507 14.984448148694018 94 27 1624.9783083577884 454.34767055302336 208.28955509566094 97.17793621669738 94 53 1234.7562016143509 445.4640724618831 51.8414065283727 45.14659117383843 94 52 970.9144293009562 423.964705524006 50.28185227773604 49.26555770015995 94 56 1292.7699770530628 444.2051784998899 79.75192648061618 20.36997202640526 94 57 1777.3099909991 465.0 90.58001800180017 32.4 94 38 1775.004720938414 475.99411472937567 119.00474066057808 225.03502218420715 95 10 1262.7037597370804 457.4888027880203 189.1606291333125 92.6822770418998 95 14 1008.24794680755 448.5155560908202 71.3526329453246 46.33684725512535 95 15 923.5270620225303 446.0230100985549 47.2874357477317 31.07910514144232 95 47 1123.6100945884584 443.9959168056201 27.67723665547762 15.643316259860095 95 27 1644.0166636614547 453.55017799759 217.07943606388739 101.40335810802904 95 53 1236.6264666513039 445.83904958330896 51.96756650943043 44.408228309103336 95 52 972.8981185271697 424.64923992014513 48.85137489954175 47.79290683092775 95 56 1294.640922821194 444.6736581864186 88.15460913697176 22.488720906478168 95 38 1786.9895683082818 480.2157667060869 122.0042416753857 220.32228650642472 95 49 1452.4002868678247 459.979333

glenn-jocher commented 6 months ago

@Shuaib11-Github hey there! 🌟 Thanks for sharing your ground truth, detection files, and the video link. I've taken a look at the information you provided.

Based on what you've shared, it seems like there might be a mismatch or an issue with how the IoU calculations are being performed, leading to all IoU values being zero. This could be due to several reasons, such as format mismatches between your detection and ground truth data or incorrect bounding box coordinates.

Here's a quick tip: Ensure that both your detection and ground truth bounding boxes are in the same format (e.g., [x_min, y_min, x_max, y_max]) and that the coordinates accurately reflect the positions and sizes of the objects in the frames. You might also want to manually verify a few bounding boxes from both files to ensure they're correctly aligned with the objects in your video.

If you're still facing issues, a simple code snippet to calculate IoU for a pair of bounding boxes in the [x_min, y_min, x_max, y_max] format is:

def calculate_iou(boxA, boxB):
    xA = max(boxA[0], boxB[0])
    yA = max(boxA[1], boxB[1])
    xB = min(boxA[2], boxB[2])
    yB = min(boxA[3], boxB[3])
    interArea = max(0, xB - xA) * max(0, yB - yA)
    boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1])
    boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1])
    iou = interArea / float(boxAArea + boxBArea - interArea)
    return iou

Try using this function to calculate IoU for a few pairs of bounding boxes manually and see if the results make sense. If the IoU values are still incorrect, there might be an issue with the data or how it's being processed.

I hope this helps! If you have any more details or specific questions, feel free to share. Keep up the great work! 😊

Shuaib11-Github commented 6 months ago

Have you gone through the video. And did you run the code to get the detection text file. The problem I am getting is, it is completely off from ground truth and there are lot more objects in ground truth and also objects_ids are differeing, for ground truth the object_id is 2 and detection object_id is 3. Doesn't it calculate iou_matrix w.r.t each box and we get weird values as we are calculating iou_marix of different objects.

Please go through the video. I have fine tuned the model and ran. Could you please look into it.

On Tue, 27 Feb 2024, 10:18 pm Glenn Jocher, @.***> wrote:

@Shuaib11-Github https://github.com/Shuaib11-Github hey there! 🌟 Thanks for sharing your ground truth, detection files, and the video link. I've taken a look at the information you provided.

Based on what you've shared, it seems like there might be a mismatch or an issue with how the IoU calculations are being performed, leading to all IoU values being zero. This could be due to several reasons, such as format mismatches between your detection and ground truth data or incorrect bounding box coordinates.

Here's a quick tip: Ensure that both your detection and ground truth bounding boxes are in the same format (e.g., [x_min, y_min, x_max, y_max]) and that the coordinates accurately reflect the positions and sizes of the objects in the frames. You might also want to manually verify a few bounding boxes from both files to ensure they're correctly aligned with the objects in your video.

If you're still facing issues, a simple code snippet to calculate IoU for a pair of bounding boxes in the [x_min, y_min, x_max, y_max] format is:

def calculate_iou(boxA, boxB): xA = max(boxA[0], boxB[0]) yA = max(boxA[1], boxB[1]) xB = min(boxA[2], boxB[2]) yB = min(boxA[3], boxB[3]) interArea = max(0, xB - xA) max(0, yB - yA) boxAArea = (boxA[2] - boxA[0]) (boxA[3] - boxA[1]) boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1]) iou = interArea / float(boxAArea + boxBArea - interArea) return iou

Try using this function to calculate IoU for a few pairs of bounding boxes manually and see if the results make sense. If the IoU values are still incorrect, there might be an issue with the data or how it's being processed.

I hope this helps! If you have any more details or specific questions, feel free to share. Keep up the great work! 😊

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1967081800, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2B2OS3EWO5VMEZGDETYVYE5XAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRXGA4DCOBQGA . You are receiving this because you were mentioned.Message ID: @.***>

glenn-jocher commented 6 months ago

Hey @Shuaib11-Github! 👋 Thanks for the update and for sharing the video along with your fine-tuned model's results. It's quite common for object IDs between ground truth and detection to differ, especially when the model predicts more objects than present in the ground truth or vice versa. This discrepancy can indeed lead to unexpected IoU matrix values if you're trying to match objects by their IDs directly.

For calculating the IoU matrix correctly, it's crucial to match the detected objects with the ground truth based on their spatial overlap rather than their IDs. This way, you can evaluate how well your model is detecting the actual objects, regardless of the ID differences. Here's a simplified approach:

  1. Ignore IDs for IoU calculation: Focus on the bounding boxes' spatial overlap between detections and ground truth.
  2. Use a matching algorithm: After calculating the IoU matrix, you can use algorithms like the Hungarian method to find the best match between detected objects and ground truth, based on IoU scores.

Here's a quick example of how you might approach this:

from scipy.optimize import linear_sum_assignment

# Assuming iou_matrix is already calculated
row_ind, col_ind = linear_sum_assignment(-iou_matrix)  # Note the negative sign for maximization

# Now, row_ind and col_ind provide the indices of matched detections and ground truth objects

This method ensures that you're evaluating the detection performance based on spatial accuracy, which is more aligned with how object detection models are typically assessed.

I hope this helps clarify things a bit! If you have further questions or need more assistance, feel free to reach out. Keep up the great work! 😄

Shuaib11-Github commented 6 months ago

But I am getting all the iou_scores as zeros.

On Wed, 28 Feb 2024, 1:12 am Glenn Jocher, @.***> wrote:

Hey @Shuaib11-Github https://github.com/Shuaib11-Github! 👋 Thanks for the update and for sharing the video along with your fine-tuned model's results. It's quite common for object IDs between ground truth and detection to differ, especially when the model predicts more objects than present in the ground truth or vice versa. This discrepancy can indeed lead to unexpected IoU matrix values if you're trying to match objects by their IDs directly.

For calculating the IoU matrix correctly, it's crucial to match the detected objects with the ground truth based on their spatial overlap rather than their IDs. This way, you can evaluate how well your model is detecting the actual objects, regardless of the ID differences. Here's a simplified approach:

  1. Ignore IDs for IoU calculation: Focus on the bounding boxes' spatial overlap between detections and ground truth.
  2. Use a matching algorithm: After calculating the IoU matrix, you can use algorithms like the Hungarian method to find the best match between detected objects and ground truth, based on IoU scores.

Here's a quick example of how you might approach this:

from scipy.optimize import linear_sum_assignment

Assuming iou_matrix is already calculatedrow_ind, col_ind = linear_sum_assignment(-iou_matrix) # Note the negative sign for maximization

Now, row_ind and col_ind provide the indices of matched detections and ground truth objects

This method ensures that you're evaluating the detection performance based on spatial accuracy, which is more aligned with how object detection models are typically assessed.

I hope this helps clarify things a bit! If you have further questions or need more assistance, feel free to reach out. Keep up the great work! 😄

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1967469935, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2AIFV53U4B5IF7N7BDYVYZKJAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRXGQ3DSOJTGU . You are receiving this because you were mentioned.Message ID: @.***>

Shuaib11-Github commented 6 months ago

Because I am having only 4 detected objects and 11 ground truth the iou_matrix for all the elements is zero. Can you please look into it. Suggest how to deal with it. There are objects that are matching in ground truth and detection, still Ia m getting iou_matrix as 0's

gt_ids for all frames: [1.0, 2.0, 4.0, 6.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0] gt_boxes for all frames: [array([ 1484, 463, 1888, 634]), array([ 1063, 441, 1229, 554]), array([ 1376, 456, 1532, 535]), array([ 1764, 447, 1920, 569]), array([ 1630, 443, 1780, 502]), array([ 956, 444, 1012, 482]), array([ 1282, 448, 1330, 466]), array([ 1008, 447, 1078, 495]), array([ 1218, 449, 1250, 465]), array([ 901, 445, 935, 470]), array([ 866, 442, 894, 462])] [[ 1058.2 439.05 1224.6 553.94] [ 1485.5 460.11 1883.6 631.36] [ 1374.8 456.8 1530.1 534.92] [ 1825.5 447.97 1920 565.79]] 0 [ 1058.2 439.05 1224.6 553.94] 0 [ 1484 463 1888 634] 1 [ 1063 441 1229 554] 2 [ 1376 456 1532 535] 3 [ 1764 447 1920 569] 4 [ 1630 443 1780 502]

On Wed, Feb 28, 2024 at 1:12 AM Glenn Jocher @.***> wrote:

Hey @Shuaib11-Github https://github.com/Shuaib11-Github! 👋 Thanks for the update and for sharing the video along with your fine-tuned model's results. It's quite common for object IDs between ground truth and detection to differ, especially when the model predicts more objects than present in the ground truth or vice versa. This discrepancy can indeed lead to unexpected IoU matrix values if you're trying to match objects by their IDs directly.

For calculating the IoU matrix correctly, it's crucial to match the detected objects with the ground truth based on their spatial overlap rather than their IDs. This way, you can evaluate how well your model is detecting the actual objects, regardless of the ID differences. Here's a simplified approach:

  1. Ignore IDs for IoU calculation: Focus on the bounding boxes' spatial overlap between detections and ground truth.
  2. Use a matching algorithm: After calculating the IoU matrix, you can use algorithms like the Hungarian method to find the best match between detected objects and ground truth, based on IoU scores.

Here's a quick example of how you might approach this:

from scipy.optimize import linear_sum_assignment

Assuming iou_matrix is already calculatedrow_ind, col_ind = linear_sum_assignment(-iou_matrix) # Note the negative sign for maximization

Now, row_ind and col_ind provide the indices of matched detections and ground truth objects

This method ensures that you're evaluating the detection performance based on spatial accuracy, which is more aligned with how object detection models are typically assessed.

I hope this helps clarify things a bit! If you have further questions or need more assistance, feel free to reach out. Keep up the great work! 😄

— Reply to this email directly, view it on GitHub https://github.com/ultralytics/ultralytics/issues/8252#issuecomment-1967469935, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONNA2AIFV53U4B5IF7N7BDYVYZKJAVCNFSM6AAAAABDMMORPCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRXGQ3DSOJTGU . You are receiving this because you were mentioned.Message ID: @.***>

glenn-jocher commented 6 months ago

Hey @Shuaib11-Github! 🌟 If you're getting all zeros in your IoU matrix despite having matching objects in ground truth and detections, it might be due to the format or scale of the bounding boxes being compared. Here are a couple of things to check:

  1. Coordinate Scale: Ensure both ground truth and detection coordinates are in the same scale relative to the image dimensions. Sometimes, detections might be normalized (0 to 1) while ground truths are in pixel coordinates.

  2. Bounding Box Format: Double-check that both are using the same bounding box format. The IoU calculation expects [x_min, y_min, x_max, y_max].

  3. Manual Verification: Try manually calculating IoU for a pair of matching bounding boxes to ensure your IoU function works as expected.

Here's a quick snippet for manual IoU calculation for verification:

def manual_iou_check():
    gt_box = [1484, 463, 1888, 634]  # Example ground truth box
    det_box = [1058.2, 439.05, 1224.6, 553.94]  # Example detection box
    iou = calculate_iou(gt_box, det_box)
    print(f"Manual IoU check: {iou}")

manual_iou_check()

If the manual check returns a reasonable IoU but your matrix is still zeros, the issue might be in how the matrix is being populated. Ensure the loop correctly iterates over all detection and ground truth pairs.

Keep up the great work, and let me know how it goes! 😄

github-actions[bot] commented 5 months ago

👋 Hello there! We wanted to give you a friendly reminder that this issue has not had any recent activity and may be closed soon, but don't worry - you can always reopen it if needed. If you still have any questions or concerns, please feel free to let us know how we can help.

For additional resources and information, please see the links below:

Feel free to inform us of any other issues you discover or feature requests that come to mind in the future. Pull Requests (PRs) are also always welcomed!

Thank you for your contributions to YOLO 🚀 and Vision AI ⭐