Created
January 26, 2017 02:49
-
-
Save Grabber/de8a2b7de587cf8e58f4e3f6bb55cf23 to your computer and use it in GitHub Desktop.
calculating priori anchors with k-means
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # -*- coding: utf-8 -*- | |
| import time | |
| import numpy as np | |
| from random import randint | |
| iou_vals = [] | |
| iou_count = 0 | |
| class Test: | |
| @staticmethod | |
| def overlap(): | |
| a = [0,0,5,5] | |
| b = [0,0,10,10] | |
| overlap_x = overlap(a[0], a[2], b[0], b[2]) | |
| overlap_y = overlap(a[1], a[3], b[1], b[3]) | |
| return [overlap_x, overlap_y] | |
| @staticmethod | |
| def intersection(): | |
| a = [0,0,5,5] | |
| b = [0,0,10,10] | |
| return intersection(a, b) | |
| @staticmethod | |
| def area(): | |
| a = [0,0,10,10] | |
| return area(a) | |
| @staticmethod | |
| def union(): | |
| a = [0,0,5,5] | |
| b = [0,0,10,10] | |
| return union(a, b) | |
| @staticmethod | |
| def iou(): | |
| a = [0,0,5,5] | |
| b = [0,0,10,10] | |
| return iou(a, b) | |
| @staticmethod | |
| def uoi(): | |
| a = [0,0,5,5] | |
| b = [0,0,10,10] | |
| return uoi(a,b) | |
| @staticmethod | |
| def kmeans(): | |
| X = np.array([ | |
| #[ x, y, w, h], | |
| [191,158,226,188], | |
| [191,158,226,188], | |
| [126,213,163,231], | |
| [132,204,170,230], | |
| [133,194,171,224], | |
| [139,181,179,214], | |
| [140,168,180,202], | |
| [135,156,182,189], | |
| [140,140,186,174], | |
| [146,130,186,164], | |
| [139,114,186,148], | |
| [144,99,186,140], | |
| [139,90,185,127], | |
| [136,79,185,118], | |
| [136,64,179,105], | |
| [134,53,173,96], | |
| [127,48,170,86], | |
| [116,40,159,70], | |
| [108,32,154,62], | |
| [106,32,141,54], | |
| [132,210,158,232], | |
| [133,202,179,228], | |
| [144,195,187,225], | |
| [145,194,191,224], | |
| [156,180,204,216], | |
| [160,167,205,204], | |
| [171,162,212,195], | |
| [176,149,216,182], | |
| [176,143,219,172], | |
| [166,130,212,164], | |
| [173,122,221,156], | |
| [173,116,217,145], | |
| [172,116,211,144], | |
| [164,83,208,115], | |
| [159,75,210,106], | |
| [159,67,207,96], | |
| [157,53,208,88], | |
| [156,49,205,80], | |
| [154,46,207,77], | |
| [157,35,205,66], | |
| [148,32,203,53], | |
| [155,32,204,53], | |
| [120,31,157,53], | |
| [124,32,163,64], | |
| [132,39,172,79], | |
| [137,51,175,94], | |
| [142,62,179,108], | |
| [142,69,181,119], | |
| [148,83,186,132], | |
| [154,100,187,144], | |
| [156,108,191,154], | |
| [158,114,194,166], | |
| [160,130,191,180], | |
| [161,145,199,197], | |
| [158,156,198,200], | |
| [164,171,201,214], | |
| [160,180,196,221], | |
| [154,193,191,227], | |
| [151,204,184,230], | |
| [133,30,163,53], | |
| [134,35,168,63], | |
| [139,46,171,79], | |
| [142,59,170,87], | |
| [140,63,172,99], | |
| [141,76,172,110], | |
| [144,87,178,125], | |
| [153,100,183,131], | |
| [147,104,185,138], | |
| [153,119,188,154], | |
| [154,130,189,169], | |
| [158,148,188,187], | |
| [151,164,180,198], | |
| [152,179,184,213], | |
| [143,195,178,228], | |
| [137,205,170,231], | |
| [110,32,141,49], | |
| [114,33,149,54], | |
| [119,32,155,66], | |
| [119,37,161,78], | |
| [123,50,162,91], | |
| [126,61,166,96], | |
| [127,67,168,103], | |
| [132,76,170,111], | |
| [131,83,169,116], | |
| [136,93,171,129], | |
| [139,102,174,141], | |
| [141,109,178,148], | |
| [149,123,182,157], | |
| [149,130,185,171], | |
| [152,142,188,180], | |
| [151,150,184,185], | |
| [148,156,182,195], | |
| [148,163,182,203], | |
| [147,178,180,214], | |
| [143,182,180,221], | |
| [137,191,171,228], | |
| [136,197,171,235], | |
| [133,203,169,236], | |
| [130,211,168,234], | |
| [130,217,166,232], | |
| [130,222,160,235], | |
| [131,203,164,230], | |
| [133,193,165,228], | |
| [136,187,169,226], | |
| [136,179,170,221], | |
| [138,170,168,212], | |
| [136,165,166,207], | |
| [132,157,168,199], | |
| [132,152,166,195], | |
| [130,144,164,186], | |
| [131,136,168,179], | |
| [127,130,165,172], | |
| [129,124,165,162], | |
| [126,111,165,153], | |
| [126,106,168,143], | |
| [122,99,163,136], | |
| [126,94,165,129], | |
| [125,84,165,124], | |
| [124,77,168,113], | |
| [131,71,169,106], | |
| [133,60,168,97], | |
| [128,49,167,88], | |
| [131,47,169,83], | |
| [128,39,169,77], | |
| [126,33,169,70], | |
| [122,33,165,68], | |
| [121,31,161,62], | |
| [121,32,158,57], | |
| [119,32,150,52], | |
| [117,30,145,49], | |
| [103,30,135,51], | |
| [103,32,140,54], | |
| [107,30,146,58], | |
| [111,31,148,56], | |
| [112,31,152,60], | |
| [113,32,157,63], | |
| [117,37,164,67], | |
| [120,43,167,76], | |
| [118,42,163,78], | |
| [124,50,167,81], | |
| [123,53,169,89], | |
| [123,61,171,94], | |
| [126,63,172,95], | |
| [127,66,175,97], | |
| [132,73,175,104], | |
| [131,71,177,105], | |
| [136,74,177,106], | |
| [139,78,180,110], | |
| [148,82,192,116], | |
| [153,89,193,118], | |
| [156,90,197,122], | |
| [162,94,204,127], | |
| [163,97,209,130], | |
| [167,100,213,135], | |
| [174,104,215,137], | |
| [180,109,215,137], | |
| [184,111,217,138], | |
| [187,109,219,137], | |
| [182,107,218,139], | |
| [188,105,218,138], | |
| [178,101,219,135], | |
| [181,97,223,126], | |
| [184,90,220,124], | |
| [188,84,223,116], | |
| [193,79,225,112], | |
| [196,69,227,104], | |
| [196,56,229,92], | |
| [199,45,231,79], | |
| [202,37,236,68], | |
| [207,29,240,61], | |
| [204,33,240,60], | |
| [205,32,242,52], | |
| [205,32,246,57], | |
| [208,32,256,63], | |
| [216,32,249,63], | |
| [215,41,254,72], | |
| [215,49,246,76], | |
| [208,57,247,87], | |
| [206,64,240,95], | |
| [199,72,232,103], | |
| [202,76,234,104], | |
| [191,83,229,114], | |
| [189,85,224,116], | |
| [182,86,223,121], | |
| [183,89,216,124], | |
| [180,91,215,129], | |
| [181,93,217,131], | |
| [186,99,217,134], | |
| [187,102,218,136], | |
| [182,103,220,140], | |
| [192,112,228,145], | |
| [196,122,232,160], | |
| [205,132,234,160], | |
| [209,135,239,167], | |
| [209,146,239,170], | |
| [208,151,239,181], | |
| [208,156,246,192], | |
| [215,169,248,200], | |
| [219,176,250,206], | |
| [212,180,251,215], | |
| [222,193,254,222], | |
| [106,31,138,48], | |
| [112,32,144,58], | |
| [123,33,153,69], | |
| [126,45,160,85], | |
| [135,60,169,97], | |
| [142,72,174,110], | |
| [150,89,180,123], | |
| [148,101,181,139], | |
| [155,110,187,152], | |
| [156,123,186,158], | |
| [151,138,184,177], | |
| [147,154,182,191], | |
| [146,165,184,201], | |
| [143,176,179,210], | |
| [143,185,177,223], | |
| [139,196,172,233], | |
| [137,207,172,233], | |
| [136,214,167,235], | |
| [170,210,198,227], | |
| [172,202,203,227], | |
| [175,194,209,224], | |
| [171,184,207,217], | |
| [169,176,205,209], | |
| [173,164,205,197], | |
| [176,159,206,188], | |
| [169,149,203,176], | |
| [169,138,204,165], | |
| [174,126,207,154], | |
| [174,115,207,143], | |
| [175,103,206,132], | |
| [171,86,210,122], | |
| [173,78,210,108], | |
| [176,64,210,96], | |
| [175,50,211,86], | |
| [171,37,212,72], | |
| [176,33,211,63], | |
| [174,32,212,53], | |
| [104,33,132,50], | |
| [110,33,144,57], | |
| [119,40,152,69], | |
| [125,54,161,84], | |
| [129,68,160,101], | |
| [124,77,160,112], | |
| [132,91,168,126], | |
| [135,105,170,137], | |
| [134,113,170,151], | |
| [128,128,166,165], | |
| [135,140,172,180], | |
| [134,152,171,191], | |
| [134,161,169,203], | |
| [130,181,165,218], | |
| [128,196,160,229], | |
| [121,202,157,232], | |
| [117,205,154,232], | |
| [144,204,173,229], | |
| [148,191,178,223], | |
| [149,184,182,216], | |
| [152,176,185,210], | |
| [153,162,187,197], | |
| [157,150,190,185], | |
| [159,138,194,173], | |
| [157,122,198,156], | |
| [154,107,193,146], | |
| [158,89,193,128], | |
| [150,79,190,119], | |
| [142,68,184,107], | |
| [136,58,176,94], | |
| [131,45,174,87], | |
| [117,35,167,79], | |
| [108,34,154,66], | |
| [101,32,143,54], | |
| [101,31,130,45], | |
| [132,32,160,55], | |
| [136,36,167,67], | |
| [135,41,169,80], | |
| [141,57,173,93], | |
| [145,75,177,108], | |
| [149,89,183,127], | |
| [152,107,187,145], | |
| [157,123,187,160], | |
| [154,134,187,176], | |
| [151,150,184,188], | |
| [144,164,181,203], | |
| [140,175,179,218], | |
| [135,188,172,231], | |
| [130,200,166,234], | |
| [129,212,160,235], | |
| [155,206,185,229], | |
| [155,188,190,226], | |
| [168,183,199,219], | |
| [171,170,206,206], | |
| [175,155,206,191], | |
| [174,143,206,178], | |
| [171,131,207,169], | |
| [170,118,206,158], | |
| [166,105,205,147], | |
| [163,92,201,134], | |
| [157,80,193,122], | |
| [143,67,183,113], | |
| [136,54,179,100], | |
| [126,43,170,88], | |
| [116,35,164,80], | |
| [109,30,159,69], | |
| [103,31,154,57], | |
| [113,30,151,49], | |
| [224,32,262,54], | |
| [216,34,255,66], | |
| [212,43,247,77], | |
| [208,58,241,92], | |
| [209,69,238,102], | |
| [205,81,237,116], | |
| [200,92,228,129], | |
| [194,107,228,141], | |
| [193,120,228,156], | |
| [198,134,228,165], | |
| [193,150,221,178], | |
| [186,162,218,189], | |
| [180,171,216,210], | |
| [178,179,211,209], | |
| [171,188,205,220], | |
| [165,197,197,229], | |
| [162,207,192,231], | |
| [154,213,188,233], | |
| [206,209,236,225], | |
| [210,203,241,225], | |
| [208,197,245,224], | |
| [210,191,248,223], | |
| [210,189,246,220], | |
| [209,187,245,217], | |
| [207,183,242,216], | |
| [204,184,238,215], | |
| [203,181,240,213], | |
| [202,180,240,216], | |
| [201,184,236,217], | |
| [198,186,233,221], | |
| [199,187,234,223], | |
| [198,192,232,224], | |
| [196,194,228,223], | |
| [191,195,227,225], | |
| [191,203,225,224], | |
| [189,205,219,224], | |
| [186,210,214,225], | |
| [143,210,175,231], | |
| [141,204,183,232], | |
| [151,200,184,231], | |
| [155,192,188,229], | |
| [160,188,195,220], | |
| [165,177,204,208], | |
| [171,167,206,200], | |
| [174,158,206,190], | |
| [182,147,212,180], | |
| [181,138,214,173], | |
| [185,131,220,166], | |
| [186,122,217,156], | |
| [187,111,222,145], | |
| [189,96,223,131], | |
| [185,85,219,117], | |
| [182,71,213,106], | |
| [176,56,211,93], | |
| [175,42,208,81], | |
| [173,33,205,67], | |
| [166,33,203,55], | |
| [170,32,199,48], | |
| [94,32,125,51], | |
| [97,31,135,62], | |
| [101,33,140,74], | |
| [106,39,148,89], | |
| [113,53,153,99], | |
| [121,63,160,104], | |
| [121,68,165,114], | |
| [131,81,166,121], | |
| [127,82,168,122], | |
| [132,88,166,125], | |
| [130,89,164,123], | |
| [129,84,163,120], | |
| [127,81,164,115], | |
| [128,74,161,106], | |
| [126,65,160,98], | |
| [125,52,160,89], | |
| [126,42,159,73], | |
| [127,32,161,61], | |
| [125,32,159,53], | |
| [124,31,158,45], | |
| [136,211,167,232], | |
| [143,204,175,231], | |
| [142,197,176,230], | |
| [152,188,181,216], | |
| [159,174,185,201], | |
| [163,165,195,193], | |
| [163,150,193,181], | |
| [161,141,193,173], | |
| [164,133,193,159], | |
| [157,117,193,146], | |
| [163,109,194,136], | |
| [160,101,188,125], | |
| [153,91,185,115], | |
| [146,80,181,109], | |
| [144,75,175,103], | |
| [137,65,167,90], | |
| [129,55,163,86], | |
| [124,48,155,73], | |
| [115,37,149,65], | |
| [108,32,139,57], | |
| [102,32,132,48], | |
| [180,205,219,225], | |
| [185,201,223,224], | |
| [189,195,223,223], | |
| [193,193,222,224], | |
| [187,189,220,221], | |
| [190,185,217,221], | |
| [186,178,220,216], | |
| [185,171,221,214], | |
| [188,162,216,212], | |
| [177,160,212,204], | |
| [177,153,209,198], | |
| [180,147,215,193], | |
| [175,140,208,184], | |
| [175,135,211,182], | |
| [180,127,214,177], | |
| [178,126,213,170], | |
| [177,118,214,164], | |
| [176,111,215,156], | |
| [178,105,216,151], | |
| [180,97,216,146], | |
| [180,99,218,141], | |
| [175,92,215,133], | |
| [173,90,217,129], | |
| [168,86,213,125], | |
| [172,84,214,126], | |
| [166,78,208,121], | |
| [160,78,206,118], | |
| [154,74,199,112], | |
| [155,71,197,114], | |
| [148,67,191,108], | |
| [144,66,186,107], | |
| [142,62,185,103], | |
| [137,58,181,100], | |
| [133,50,180,98], | |
| [134,49,180,93], | |
| [136,43,179,86], | |
| [133,37,176,81], | |
| [137,34,175,73], | |
| [143,32,175,65], | |
| [143,31,174,62], | |
| [141,30,176,60], | |
| [141,32,174,53], | |
| [135,34,175,49], | |
| [132,32,179,42], | |
| [131,32,162,50], | |
| [128,32,161,54], | |
| [126,30,162,56], | |
| [128,32,162,61], | |
| [124,33,162,64], | |
| [123,35,164,69], | |
| [130,39,165,73], | |
| [131,39,165,76], | |
| [140,40,171,85], | |
| [138,46,172,90], | |
| [144,51,180,95], | |
| [151,60,186,101], | |
| [147,64,186,111], | |
| [159,70,188,114], | |
| [154,74,189,119], | |
| [161,84,192,127], | |
| [159,92,194,133], | |
| [152,99,191,139], | |
| [157,110,191,143], | |
| [149,118,186,152], | |
| [144,124,189,159], | |
| [146,129,189,168], | |
| [143,138,189,175], | |
| [143,144,184,184], | |
| [145,150,184,189], | |
| [143,154,189,195], | |
| [149,163,185,203], | |
| [150,170,188,210], | |
| [153,175,189,212], | |
| [153,179,188,216], | |
| [158,189,191,228], | |
| [158,195,191,230], | |
| [157,199,192,233], | |
| [161,200,191,229], | |
| [157,209,192,232], | |
| [127,214,154,237], | |
| [134,201,178,233], | |
| [145,199,183,234], | |
| [150,192,191,230], | |
| [146,174,192,219], | |
| [150,165,190,208], | |
| [144,154,194,197], | |
| [157,150,190,185], | |
| [149,143,192,175], | |
| [155,136,191,169], | |
| [152,120,190,150], | |
| [154,108,192,145], | |
| [159,95,195,134], | |
| [158,83,199,118], | |
| [155,71,197,108], | |
| [155,62,193,99], | |
| [149,54,186,87], | |
| [142,44,183,76], | |
| [135,37,173,66], | |
| [126,34,167,56], | |
| [123,33,160,47], | |
| [166,32,193,48], | |
| [170,34,198,63], | |
| [166,34,202,75], | |
| [161,39,199,84], | |
| [163,52,199,94], | |
| [160,62,197,103], | |
| [163,74,196,111], | |
| [164,80,199,123], | |
| [169,101,199,137], | |
| [166,105,200,145], | |
| [172,117,198,154], | |
| [170,127,200,163], | |
| [172,136,203,173], | |
| [177,147,202,183], | |
| [173,156,201,192], | |
| [170,164,198,200], | |
| [165,171,194,212], | |
| [166,180,198,218], | |
| [161,188,198,226], | |
| [153,197,187,226], | |
| [148,203,184,231], | |
| [171,32,216,52], | |
| [169,33,217,48], | |
| [166,32,216,52], | |
| [165,33,208,54], | |
| [165,33,207,61], | |
| [168,33,204,67], | |
| [168,37,207,74], | |
| [176,43,210,81], | |
| [176,50,210,88], | |
| [175,63,216,91], | |
| [179,67,216,96], | |
| [182,73,219,103], | |
| [180,84,228,111], | |
| [185,88,226,122], | |
| [188,91,224,130], | |
| [188,96,217,135], | |
| [180,97,220,141], | |
| [180,107,213,148], | |
| [178,115,209,156], | |
| [175,124,205,164], | |
| [174,124,204,166], | |
| [174,134,205,176], | |
| [164,156,202,186], | |
| [165,161,205,193], | |
| [165,163,205,198], | |
| [164,170,207,204], | |
| [168,174,215,211], | |
| [175,180,211,213], | |
| [179,191,219,221], | |
| [180,189,218,223], | |
| [175,196,215,224], | |
| [180,199,216,225], | |
| [112,32,146,57], | |
| [115,35,153,65], | |
| [124,41,160,73], | |
| [136,54,166,84], | |
| [133,60,167,95], | |
| [144,74,172,107], | |
| [149,80,179,116], | |
| [161,95,189,130], | |
| [168,103,198,143], | |
| [169,115,200,156], | |
| [173,129,202,168], | |
| [178,142,209,177], | |
| [177,152,211,191], | |
| [179,162,213,197], | |
| [175,177,211,211], | |
| [173,185,211,222], | |
| [175,192,211,225], | |
| [178,197,212,228], | |
| [183,203,215,227], | |
| [188,209,211,228], | |
| [148,210,177,230], | |
| [153,205,180,229], | |
| [157,199,184,226], | |
| [160,191,189,222], | |
| [163,185,198,216], | |
| [165,181,194,210], | |
| [168,172,197,213], | |
| [166,166,199,202], | |
| [172,162,199,200], | |
| [171,158,201,195], | |
| [175,153,208,187], | |
| [167,145,201,182], | |
| [160,134,197,173], | |
| [158,127,190,163], | |
| [151,120,186,154], | |
| [150,109,185,148], | |
| [149,100,178,133], | |
| [143,95,180,136], | |
| [148,88,182,125], | |
| [148,79,186,119], | |
| [146,77,179,112], | |
| [147,69,182,107], | |
| [150,62,185,103], | |
| [153,54,185,97], | |
| [153,48,188,88], | |
| [149,38,185,78], | |
| [156,34,186,69], | |
| [159,35,192,61], | |
| [157,34,194,55], | |
| [150,33,178,53], | |
| [148,32,178,56], | |
| [146,35,180,64], | |
| [144,44,176,79], | |
| [141,51,175,89], | |
| [141,61,170,96], | |
| [143,64,171,102], | |
| [143,67,175,111], | |
| [145,76,177,122], | |
| [146,85,178,132], | |
| [149,91,177,138], | |
| [151,106,182,140], | |
| [150,109,183,151], | |
| [158,123,186,163], | |
| [159,129,186,169], | |
| [158,137,195,179], | |
| [170,151,202,192], | |
| [168,157,200,197], | |
| [169,164,201,205], | |
| [169,171,200,213], | |
| [168,185,197,218], | |
| [162,194,195,225], | |
| [161,198,195,227], | |
| [158,204,194,229], | |
| [175,209,200,229], | |
| [176,203,206,226], | |
| [177,197,207,226], | |
| [184,192,209,223], | |
| [175,183,207,221], | |
| [177,174,208,214], | |
| [179,166,207,204], | |
| [177,155,203,195], | |
| [175,148,205,186], | |
| [175,144,202,176], | |
| [164,133,202,172], | |
| [160,120,198,161], | |
| [160,118,194,150], | |
| [159,113,193,146], | |
| [159,105,193,137], | |
| [165,98,196,132], | |
| [164,89,198,126], | |
| [163,88,196,119], | |
| [166,76,199,112], | |
| [168,67,200,101], | |
| [169,57,206,95], | |
| [168,48,209,79], | |
| [178,38,214,68], | |
| [180,32,216,58], | |
| [178,32,218,54], | |
| [184,32,216,50], | |
| [181,32,212,51], | |
| [180,33,214,56], | |
| [182,31,218,66], | |
| [187,34,220,74], | |
| [188,43,222,87], | |
| [190,49,227,96], | |
| [200,61,231,107], | |
| [204,70,238,113], | |
| [208,84,242,124], | |
| [211,95,242,133], | |
| [207,104,241,146], | |
| [202,118,234,157], | |
| [203,125,231,167], | |
| [200,135,232,179], | |
| [195,141,228,186], | |
| [191,151,228,194], | |
| [184,160,228,201], | |
| [183,167,228,211], | |
| [181,178,225,217], | |
| [185,187,226,226], | |
| [187,194,230,225], | |
| [190,193,235,225], | |
| [197,203,232,224], | |
| [153,207,176,226], | |
| [157,191,181,219], | |
| [157,174,186,206], | |
| [158,160,190,194], | |
| [165,149,195,181], | |
| [162,134,197,166], | |
| [165,121,197,155], | |
| [160,105,197,139], | |
| [158,94,196,130], | |
| [160,83,194,116], | |
| [159,73,197,108], | |
| [153,60,194,97], | |
| [153,47,190,85], | |
| [159,41,189,75], | |
| [165,35,193,65], | |
| [176,210,202,226], | |
| [184,203,206,224], | |
| [188,200,213,222], | |
| [189,191,218,218], | |
| [192,184,218,213], | |
| [191,175,221,212], | |
| [188,172,219,203], | |
| [192,165,219,196], | |
| [175,152,215,187], | |
| [179,145,213,179], | |
| [178,137,211,172], | |
| [179,131,215,168], | |
| [181,127,213,157], | |
| [189,120,217,151], | |
| [192,108,218,137], | |
| [190,96,223,130], | |
| [196,85,226,118], | |
| [198,79,232,112], | |
| [197,72,227,104], | |
| [195,63,230,98], | |
| [191,52,229,87], | |
| [201,50,230,79], | |
| [200,44,228,71], | |
| [193,34,228,61], | |
| [188,33,222,51], | |
| [135,33,165,51], | |
| [137,32,172,54], | |
| [138,35,176,63], | |
| [142,36,176,67], | |
| [142,40,178,79], | |
| [137,42,174,84], | |
| [142,57,177,96], | |
| [142,57,182,101], | |
| [146,69,183,110], | |
| [153,81,186,116], | |
| [153,88,188,125], | |
| [159,99,191,131], | |
| [159,104,193,137], | |
| [165,115,198,145], | |
| [165,119,199,151], | |
| [170,121,199,155], | |
| [169,126,205,161], | |
| [168,131,205,166], | |
| [165,141,199,172], | |
| [168,146,198,176], | |
| [171,154,207,186], | |
| [160,165,200,195], | |
| [158,173,192,201], | |
| [157,178,194,205], | |
| [155,188,185,215], | |
| [155,191,188,221], | |
| [149,197,186,225], | |
| [149,204,180,229], | |
| [147,202,178,228], | |
| [144,209,183,232], | |
| [149,209,176,231], | |
| [231,203,261,218], | |
| [229,203,260,220], | |
| [228,201,260,219], | |
| [228,200,261,218], | |
| [229,199,262,220], | |
| [229,199,258,219], | |
| [223,195,258,219], | |
| [227,196,256,218], | |
| [219,191,254,215], | |
| [224,194,256,219], | |
| [221,191,251,217], | |
| [219,187,247,217], | |
| [218,187,246,213], | |
| [216,185,244,211], | |
| [214,181,245,212], | |
| [209,178,242,209], | |
| [208,175,240,207], | |
| [210,175,240,205], | |
| [210,172,238,200], | |
| [207,168,237,198], | |
| [204,164,238,197], | |
| [207,164,237,196], | |
| [204,158,236,191], | |
| [205,157,234,185], | |
| [203,153,235,185], | |
| [196,148,233,181], | |
| [200,148,231,181], | |
| [196,141,231,172], | |
| [194,141,229,171], | |
| [191,137,226,168], | |
| [196,135,227,167], | |
| [196,134,225,162], | |
| [193,128,222,159], | |
| [147,212,178,229], | |
| [154,213,183,232], | |
| [152,210,184,229], | |
| [154,207,180,228], | |
| [150,201,181,227], | |
| [150,204,180,225], | |
| [150,202,177,227], | |
| [151,204,175,227], | |
| [148,205,177,230], | |
| [145,210,176,231], | |
| [141,215,165,230], | |
| [188,97,218,128], | |
| [186,95,214,126], | |
| [185,90,218,122], | |
| [180,89,216,118], | |
| [181,86,217,119], | |
| [183,89,218,116], | |
| [183,87,216,114], | |
| [181,82,216,112], | |
| [180,79,210,106], | |
| [177,77,214,107], | |
| [182,79,216,107], | |
| [182,81,219,107], | |
| [176,74,217,105], | |
| [179,78,212,103], | |
| [177,71,213,103], | |
| [180,76,211,100], | |
| [178,74,216,101], | |
| [176,72,213,100], | |
| [181,76,214,101], | |
| [178,73,211,99], | |
| [175,72,214,99], | |
| [180,74,212,99], | |
| [178,71,210,97], | |
| [176,72,210,97], | |
| [179,73,211,99], | |
| [179,71,217,98], | |
| [179,73,213,97], | |
| [179,73,213,101], | |
| [177,72,213,101], | |
| [176,73,212,100], | |
| [178,72,210,98], | |
| [172,71,210,98], | |
| [179,72,211,97], | |
| [177,73,210,99], | |
| [184,74,212,97], | |
| [174,70,213,100], | |
| [178,73,210,98], | |
| [179,73,212,99], | |
| [182,73,216,101], | |
| [177,70,212,98], | |
| [182,73,210,97], | |
| [176,70,213,100], | |
| [178,71,213,95], | |
| [174,72,209,97], | |
| [179,72,210,98], | |
| [180,70,211,98], | |
| [179,73,215,99], | |
| [183,72,214,98], | |
| [177,70,213,98], | |
| [179,70,212,96], | |
| [175,69,212,98], | |
| [179,73,211,97], | |
| [176,74,210,99], | |
| [169,69,210,97], | |
| [178,77,207,99], | |
| [177,77,208,102], | |
| [176,79,210,105], | |
| [175,79,205,106], | |
| [169,81,205,109], | |
| [175,85,202,112], | |
| [168,85,198,110], | |
| [168,84,205,111], | |
| [172,86,202,112], | |
| [168,84,201,111], | |
| [167,84,202,111], | |
| [171,87,201,110], | |
| [171,86,205,111], | |
| [170,82,206,115], | |
| [170,81,205,116], | |
| [169,80,207,114], | |
| [172,79,205,111], | |
| [172,80,206,111], | |
| [174,83,203,111], | |
| [174,82,204,112], | |
| [176,86,208,116], | |
| [176,85,207,119], | |
| [174,86,208,119], | |
| [175,88,207,118], | |
| [174,87,209,119], | |
| [175,89,207,121], | |
| [173,88,204,120], | |
| [173,89,210,121], | |
| [176,89,205,119], | |
| [175,91,207,118], | |
| [176,87,207,119], | |
| [176,87,207,117], | |
| [176,86,212,117], | |
| [175,86,214,118], | |
| [180,86,211,118], | |
| [181,87,215,115], | |
| [180,84,214,116], | |
| [181,84,216,115], | |
| [184,82,215,115], | |
| [186,85,220,116], | |
| [187,83,218,114], | |
| [190,84,223,114], | |
| [192,81,223,113], | |
| [194,82,227,112], | |
| [197,79,226,112], | |
| [197,79,230,111], | |
| [198,79,230,110], | |
| [200,79,233,111], | |
| [201,78,231,110], | |
| [201,78,234,112], | |
| [198,79,231,110], | |
| [198,79,233,113], | |
| [198,81,233,113], | |
| [199,81,233,115], | |
| [196,82,231,114], | |
| [195,82,230,113], | |
| [196,84,235,117], | |
| [194,82,231,114], | |
| [194,83,234,117], | |
| [196,84,231,114], | |
| [198,84,230,112], | |
| [192,78,229,113], | |
| [193,81,235,113], | |
| [191,81,230,114], | |
| [193,82,229,113], | |
| [195,83,230,114], | |
| [193,79,228,113], | |
| [193,79,228,111], | |
| [193,81,226,111], | |
| [195,82,228,110], | |
| [193,80,225,109], | |
| [193,80,227,110], | |
| [195,83,229,111], | |
| [195,83,228,112], | |
| [191,83,227,112], | |
| [192,85,231,111], | |
| [128,217,154,231], | |
| [195,85,229,115], | |
| [195,85,232,116], | |
| [195,85,232,113], | |
| [194,85,230,114], | |
| [194,85,228,114], | |
| [193,85,229,116], | |
| [191,83,226,115], | |
| [193,82,227,114], | |
| [190,83,228,114], | |
| [188,81,225,113], | |
| [190,81,228,113], | |
| [191,86,228,114], | |
| [189,86,228,115], | |
| [192,83,228,115], | |
| [194,83,227,112], | |
| [191,82,226,113], | |
| [192,80,228,113], | |
| [192,80,227,113], | |
| [191,80,227,114], | |
| [191,78,227,111], | |
| [191,75,226,112], | |
| [192,78,225,108], | |
| [192,77,223,109] | |
| ]) | |
| np.random.shuffle(X) | |
| return kmeans(X, K=9, iters=100) | |
| def overlap(a1, a2, b1, b2): | |
| l1 = a1 - a2/2. | |
| l2 = b1 - b2/2. | |
| left = l1 if l1 > l2 else l2 | |
| r1 = a1 + a2/2. | |
| r2 = b1 + b2/2. | |
| right = r1 if r1 < r2 else r2 | |
| return right - left | |
| def intersection(a, b): | |
| return overlap(a[0], a[2], b[0], b[2]) * overlap(a[1], a[3], b[1], b[3]) | |
| def area(x): | |
| return x[2]*x[3] | |
| def union(a, b): | |
| return area(a) + area(b) - intersection(a, b) | |
| def iou(a, b): | |
| return intersection(a, b) / union(a, b) | |
| def niou(a, b): | |
| global iou_vals | |
| global iou_count | |
| iou_val = iou(a,b) | |
| niou_val = 1. - iou_val | |
| iou_vals.append(niou_val) | |
| iou_count += 1 | |
| return niou_val | |
| def uoi(a, b): | |
| return union(a, b) / intersection(a, b) | |
| def kmeans(X, K, iters=10): | |
| if (K > len(X)): | |
| return np.array() | |
| C = X[np.random.choice(np.arange(len(X)), K, replace=False)] | |
| for i in range(iters): | |
| cost = np.array([np.argmin([niou(x_i, c_i) for c_i in C]) for x_i in X]) | |
| C = [X[cost == k].mean(axis=0) for k in range(K)] | |
| return np.array(C) | |
| def main(): | |
| # print "overlap: %s" % Test.overlap() | |
| # print "intersection: %f" % Test.intersection() | |
| # print "area: %f" % Test.area() | |
| # print "union: %f" % Test.union() | |
| # print "iou: %f" % Test.iou() | |
| # print "uoi: %f" % Test.uoi() | |
| test_kmeans = Test.kmeans() | |
| print "kmeans output format is:\n\t[[x1 y1, w1, h1], ..., [xn yn, wn, hn]]" | |
| print "\nkmeans, clustering with original dimensions:\n%s" % test_kmeans | |
| print "\nkmeans, clustering considering [208x208, 13x13 => 16]:\n%s" % (test_kmeans * 13/208) | |
| print "\nkmeans, clustering considering [416x416, 13x13 => 32]:\n%s" % (test_kmeans * 13/416) | |
| print "\navg_iou: %.2f%%" % (100.*sum(iou_vals) / iou_count) | |
| if __name__ == "__main__": | |
| main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
One question, where did you get this numbers in
Xarray Cuz, in the yolov2 paper author says he computed anchors from VOC and COCO bounding boxes