Knowledge

Features from accelerated segment test

Source 📝

58: 265:- t. If there exists 3 of them that are either brighter or darker, the rest pixels are then examined for final conclusion. And according to the inventor in his first paper, on average 3.8 pixels are needed to check for candidate corner pixel. Compared with 8.5 pixels for each candidate corner, 3.8 is really a great reduction which could highly improve the performance. 235:
So when either of the two conditions is met, candidate p can be classified as a corner. There is a tradeoff of choosing N, the number of contiguous pixels and the threshold value t. On one hand the number of detected corner points should not be too many, on the other hand, the high performance should
300:
approach is introduced to help improve the detecting algorithm. This machine learning approach operates in two stages. Firstly, corner detection with a given N is processed on a set of training images which are preferable from the target application domain. Corners are detected through the simplest
31:
tasks. The FAST corner detector was originally developed by Edward Rosten and Tom Drummond, and was published in 2006. The most promising advantage of the FAST corner detector is its computational efficiency. Referring to its name, it is indeed faster than many other well-known feature extraction
248:
The high-speed test for rejecting non-corner points is operated by examining 4 example pixels, namely pixel 1, 9, 5 and 13. Because there should be at least 12 contiguous pixels that are whether all brighter or darker than the candidate corner, so there should be at least 3 pixels out of these 4
588:
is a metaheurisic algorithm, each time the algorithm would generate a different optimized decision tree. So it is better to take efficiently large amount of iterations to find a solution that is close to the real optimal. According to Rosten, it takes about 200 hours on a
48:
detectors. Moreover, when machine learning techniques are applied, superior performance in terms of computation time and resources can be realised. The FAST corner detector is very suitable for real-time video processing application because of this high-speed performance.
69:
of radius 3) to classify whether a candidate point p is actually a corner. Each pixel in the circle is labeled from integer number 1 to 16 clockwise. If a set of N contiguous pixels in the circle are all brighter than the intensity of candidate pixel p (denoted by
516:, another y is selected to yield the most information gain (notice that the y could be the same as x ). This recursive process ends when the entropy is zero so that either all pixels in that subset are corners or non-corners. 554:
can not be applied directly to the resulting features." However, if N is fixed, for each pixel p the corner strength is defined as the maximum value of t that makes p a corner. Two approaches therefore could be used:
563:
could be applied to find the biggest t for which p is still a corner. So each time a different t is set for the decision tree algorithm. When it manages to find the biggest t, that t could be regarded as the corner
283:
The efficiency of the detector depends on the choice and ordering of these selected test pixels. However it is unlikely that the chosen pixels are optimal which take concerns about the distribution of corner
272:
The high-speed test cannot be generalized well for N < 12. If N < 12, it would be possible that a candidate p is a corner and only 2 out of 4 example test pixels are both brighter I
492:
A recursive process is applied to each subsets in order to select each x that could maximize the information gain. For example, at first an x is selected to partition P into P
229: 151: 183: 105: 74:) plus a threshold value t or all darker than the intensity of candidate pixel p minus threshold value t, then p is classified as corner. The conditions can be written as: 551: 538:
Notice that the corners detected using this decision tree algorithm should be slightly different from the results using segment test detector. This is because that
740:
Repeatability test result is presented as the averaged area under repeatability curves for 0-2000 corners per frame over all datasets (except the additive noise):
584:. So that after the optimization, the structure of the decision tree would be optimized and suitable for points with high repeatability. However, since 257:
are within , then candidate p is not a corner. Otherwise pixels 5 and 13 are further examined to check whether three of them are brighter than I
1217: 1158: 1061: 978: 301:
implementation which literally extracts a ring of 16 pixels and compares the intensity values with an appropriate threshold.
350:
Then choosing an x (same for all p) partitions P (the set of all pixels of all training images) into 3 different subsets, P
1079:
Rosten, Edward; Reid Porter; Tom Drummond (2010). "FASTER and better: A machine learning approach to corner detection".
249:
example pixels that are all brighter or darker than the candidate corner. Firstly pixels 1 and 9 are examined, if both I
304:
For candidate p, each location on the circle x ∈ {1, 2, 3, ..., 16} can be denoted by p→x. The state of each pixel, S
567:
Another approach is an iteration scheme, where each time t is increased to the smallest value of which pass the test.
37: 601:
In Rosten's research, FAST and FAST-ER detector are evaluated on several different datasets and compared with the
618: 606: 45: 41: 417: 610: 532: 833:
computer. The dataset are divided into a training set and a test set. The training set consists of 101
424:
is used to measure the information of p being a corner. For a set of pixels Q, the total entropy of K
240:, N is usually chosen as 12. A high-speed test method could be applied to exclude non-corner points. 188: 110: 66: 24: 1188: 159: 81: 1141: 1044: 524: 535:
is used to compile the code. The compiled code is used as corner detector later for other images.
560: 33: 1136: 1039: 1029:
Rosten, Edward; Tom Drummond (2005). "Fusing points and lines for high performance tracking".
1002: 961:
Rosten, Edward; Drummond, Tom (2006). "Machine Learning for High-speed Corner Detection".
8: 1202: 1126:
Rosten, Edward; Tom Drummond (2006). "Machine Learning for High-Speed Corner Detection".
585: 581: 539: 1030: 593:
at 3 GHz which is 100 repeats of 100,000 iterations to optimize the FAST detector.
1176: 1164: 1127: 1114: 1088: 1067: 984: 1154: 1118: 1106: 1057: 974: 837:
images with a resolution of 992×668 pixels. The test set consists of 4968 frames of
236:
not be achieved by sacrificing computational efficiency. Without the improvement of
1168: 1146: 1098: 1071: 1049: 988: 966: 465: 409: 297: 237: 20: 28: 531:, which is just a bunch of nested if-else statements. For optimization purpose, 1211: 577: 520: 405: 401: 1110: 1102: 624:
The parameter settings for the detectors (other than FAST) are as follows:
1053: 542:
depends on the training data, which could not cover all possible corners.
1032:
Tenth IEEE International Conference on Computer Vision (ICCV'05) Volume 1
1150: 970: 296:
In order to address the first two weakness points of high-speed test, a
965:. Lecture Notes in Computer Science. Vol. 3951. pp. 430–443. 838: 834: 614: 57: 416:
be a boolean variable which indicates whether p is a corner, then the
830: 590: 550:"Since the segment test does not compute a corner response function, 1135:. Lecture Notes in Computer Science. Vol. 1. pp. 430–443. 1093: 1015:
FASTER and better: A machine learning approach to corner detection
1014: 576:
FAST-ER detector is an improvement of the FAST detector using a
408:
is applied to the 16 locations in order to achieve the maximum
1081:
IEEE Transactions on Pattern Analysis and Machine Intelligence
1078: 528: 268:
However, there are several weaknesses for this test method:
602: 27:
points and later used to track and map objects in many
287:
Multiple features are detected adjacent to one another
523:
can then be converted into programming code, such as
191: 162: 113: 84: 291: 65:FAST corner detector uses a circle of 16 pixels (a 1125: 1028: 596: 571: 223: 177: 145: 99: 1003:Real-time Video Annotations for Augmented Reality 504:with the most information; then for each subset P 1209: 960: 308:must be in one of the following three states: 829:Speed tests were performed on a 3.0 GHz 156:Condition 2: A set of N contiguous pixels S, 78:Condition 1: A set of N contiguous pixels S, 17:Features from accelerated segment test (FAST) 61:The pixels used by the FAST corner detector 545: 1140: 1092: 1043: 56: 52: 23:method, which could be used to extract 1210: 231:(a bright corner on a dark background) 153:(a dark corner on a bright background) 1218:Feature detection (computer vision) 1038:. Vol. 2. pp. 1508–1511. 458:is false}| (number of non-corners) 13: 243: 163: 85: 14: 1229: 1196: 841:352×288 video. And the result is: 292:Improvement with machine learning 224:{\displaystyle I_{x}<I_{p}-t} 146:{\displaystyle I_{x}>I_{p}+t} 1022: 597:Comparison with other detectors 572:FAST-ER: Enhanced repeatability 1007: 995: 954: 451:is true}| (number of corners) 178:{\displaystyle \forall x\in S} 100:{\displaystyle \forall x\in S} 1: 948: 468:can then be represented as: 7: 1129:Computer Vision – ECCV 2006 963:Computer Vision – ECCV 2006 533:profile-guided optimization 10: 1234: 691: 640: 1203:Advanced Vision homepage 580:algorithm, in this case 851:Training set pixel rate 561:binary search algorithm 552:non-maximum suppression 546:Non-maximum suppression 34:difference of Gaussians 1103:10.1109/TPAMI.2008.275 225: 179: 147: 101: 62: 1054:10.1109/ICCV.2005.104 454:where n = |{ i ∈ Q: K 447:where c = |{ i ∈ Q: K 428:(not normalized) is: 226: 180: 148: 102: 60: 53:Segment test detector 854:Test set pixel rate 432:H(Q) = ( c + n ) log 276:+ t or darker than I 261:+ t or darker than I 189: 160: 111: 82: 1151:10.1007/11744023_34 971:10.1007/11744023_34 727:General parameters 681:Harris, Shi-Tomasi 673:Distance threshold 586:simulated annealing 582:simulated annealing 540:decision tree model 881:Original FAST n=12 719:Scales per octave 646:Scales per octave 621:corner detectors. 221: 175: 143: 97: 63: 36:(DoG) used by the 1160:978-3-540-33832-1 1063:978-0-7695-2334-7 980:978-3-540-33832-1 946: 945: 826: 825: 737: 736: 633:Parameter Setting 392:= {p ∈ P : S 381:= {p ∈ P : S 370:= {p ∈ P : S 32:methods, such as 1225: 1192: 1186: 1182: 1180: 1172: 1144: 1134: 1122: 1096: 1075: 1047: 1037: 1017: 1011: 1005: 999: 993: 992: 958: 845: 844: 779:Shi & Tomasi 744: 743: 627: 626: 466:information gain 436:( c + n ) - clog 410:information gain 298:machine learning 238:machine learning 230: 228: 227: 222: 214: 213: 201: 200: 184: 182: 181: 176: 152: 150: 149: 144: 136: 135: 123: 122: 106: 104: 103: 98: 67:Bresenham circle 21:corner detection 1233: 1232: 1228: 1227: 1226: 1224: 1223: 1222: 1208: 1207: 1199: 1184: 1183: 1174: 1173: 1161: 1132: 1064: 1035: 1025: 1020: 1013:Edward Rosten, 1012: 1008: 1001:Edward Rosten, 1000: 996: 981: 959: 955: 951: 695:Initial blur σ 692:Harris-Laplace 654:Initial blur σ 599: 574: 548: 519:This generated 515: 511: 507: 503: 499: 495: 487: 483: 479: 475: 457: 450: 443: 439: 435: 427: 423: 415: 404:algorithm, the 395: 391: 384: 380: 373: 369: 361: 357: 353: 345: 341: 334: 330: 326: 319: 315: 307: 294: 279: 275: 264: 260: 256: 252: 246: 244:High-speed test 209: 205: 196: 192: 190: 187: 186: 161: 158: 157: 131: 127: 118: 114: 112: 109: 108: 83: 80: 79: 73: 55: 29:computer vision 12: 11: 5: 1231: 1221: 1220: 1206: 1205: 1198: 1197:External links 1195: 1194: 1193: 1185:|journal= 1159: 1142:10.1.1.64.8513 1123: 1087:(1): 105–119. 1076: 1062: 1045:10.1.1.60.4715 1024: 1021: 1019: 1018: 1006: 994: 979: 952: 950: 947: 944: 943: 940: 937: 933: 932: 929: 926: 922: 921: 918: 915: 911: 910: 907: 904: 900: 899: 896: 893: 889: 888: 885: 882: 878: 877: 874: 871: 867: 866: 863: 860: 856: 855: 852: 849: 843: 842: 824: 823: 820: 816: 815: 812: 808: 807: 804: 800: 799: 796: 795:Harris-Laplace 792: 791: 788: 784: 783: 780: 776: 775: 772: 768: 767: 764: 760: 759: 756: 752: 751: 748: 742: 741: 735: 734: 731: 728: 724: 723: 720: 716: 715: 712: 708: 707: 704: 700: 699: 696: 693: 689: 688: 685: 682: 678: 677: 674: 671: 667: 666: 663: 659: 658: 655: 651: 650: 647: 643: 642: 638: 637: 634: 631: 611:Harris-Laplace 598: 595: 573: 570: 569: 568: 565: 547: 544: 513: 509: 505: 501: 497: 493: 490: 489: 485: 481: 477: 473: 462: 461: 460: 459: 455: 452: 448: 441: 437: 433: 425: 421: 413: 398: 397: 393: 389: 386: 382: 378: 375: 371: 367: 359: 355: 351: 348: 347: 346:+ t (brighter) 343: 339: 336: 332: 328: 324: 321: 317: 313: 305: 293: 290: 289: 288: 285: 281: 277: 273: 262: 258: 254: 250: 245: 242: 233: 232: 220: 217: 212: 208: 204: 199: 195: 174: 171: 168: 165: 154: 142: 139: 134: 130: 126: 121: 117: 96: 93: 90: 87: 71: 54: 51: 9: 6: 4: 3: 2: 1230: 1219: 1216: 1215: 1213: 1204: 1201: 1200: 1190: 1178: 1170: 1166: 1162: 1156: 1152: 1148: 1143: 1138: 1131: 1130: 1124: 1120: 1116: 1112: 1108: 1104: 1100: 1095: 1090: 1086: 1082: 1077: 1073: 1069: 1065: 1059: 1055: 1051: 1046: 1041: 1034: 1033: 1027: 1026: 1016: 1010: 1004: 998: 990: 986: 982: 976: 972: 968: 964: 957: 953: 941: 938: 935: 934: 930: 927: 924: 923: 919: 916: 913: 912: 908: 905: 902: 901: 897: 894: 891: 890: 886: 883: 880: 879: 875: 872: 869: 868: 864: 861: 858: 857: 853: 850: 847: 846: 840: 836: 832: 828: 827: 821: 818: 817: 813: 810: 809: 805: 802: 801: 797: 794: 793: 789: 786: 785: 781: 778: 777: 773: 770: 769: 765: 762: 761: 757: 754: 753: 749: 746: 745: 739: 738: 732: 729: 726: 725: 721: 718: 717: 713: 710: 709: 705: 702: 701: 697: 694: 690: 686: 683: 680: 679: 675: 672: 669: 668: 664: 661: 660: 656: 653: 652: 648: 645: 644: 639: 635: 632: 629: 628: 625: 622: 620: 616: 612: 608: 604: 594: 592: 587: 583: 579: 578:metaheuristic 566: 562: 558: 557: 556: 553: 543: 541: 536: 534: 530: 526: 522: 521:decision tree 517: 471: 470: 469: 467: 453: 446: 445: 431: 430: 429: 419: 411: 407: 406:ID3 algorithm 403: 402:decision tree 387: 376: 365: 364: 363: 337: 335:+ t (similar) 322: 311: 310: 309: 302: 299: 286: 282: 271: 270: 269: 266: 241: 239: 218: 215: 210: 206: 202: 197: 193: 172: 169: 166: 155: 140: 137: 132: 128: 124: 119: 115: 94: 91: 88: 77: 76: 75: 68: 59: 50: 47: 43: 39: 35: 30: 26: 22: 18: 1128: 1084: 1080: 1031: 1023:Bibliography 1009: 997: 962: 956: 703:Harris blur 623: 600: 575: 549: 537: 518: 491: 476:= H(P) - H(P 463: 400:Secondly, a 399: 349: 320:- t (darker) 303: 295: 284:appearances. 267: 247: 234: 64: 16: 15: 831:Pentium 4-D 338:b, I 323:s, I 312:d, I 949:References 925:Shi-Tomasi 839:monochrome 835:monochrome 615:Shi-Tomasi 1187:ignored ( 1177:cite book 1137:CiteSeerX 1119:206764370 1094:0810.2434 1040:CiteSeerX 870:FAST n=12 733:5 pixels 591:Pentium 4 564:strength. 216:− 170:∈ 164:∀ 92:∈ 86:∀ 1212:Category 1111:19926902 859:FAST n=9 848:Detector 814:1116.79 806:1121.53 798:1153.13 782:1219.08 774:1275.59 766:1304.57 747:Detector 711:Octaves 662:Octaves 630:Detector 440:c - nlog 327:- t ≤ I 1169:1388140 1072:1505168 989:1388140 892:FAST-ER 822:271.73 803:FAST-12 790:1195.2 758:1313.6 755:FAST-ER 684:Blur σ 484:) - H(P 480:) - H(P 418:entropy 412:. Let K 362:where: 25:feature 1167:  1157:  1139:  1117:  1109:  1070:  1060:  1042:  987:  977:  914:Harris 819:Random 787:Harris 763:FAST-9 670:SUSAN 636:Value 617:, and 607:Harris 46:Harris 1165:S2CID 1133:(PDF) 1115:S2CID 1089:arXiv 1068:S2CID 1036:(PDF) 985:S2CID 942:5.10 931:6.50 920:7.90 909:13.6 903:SUSAN 898:67.5 887:82.2 811:SUSAN 619:SUSAN 396:= b } 385:= s } 374:= d } 253:and I 42:SUSAN 19:is a 1189:help 1155:ISBN 1107:PMID 1058:ISBN 975:ISBN 939:4.72 928:6.50 917:8.05 906:12.3 895:75.4 876:154 865:179 698:0.8 687:2.5 676:4.0 657:0.8 641:DoG 527:and 464:The 420:of K 354:, P 280:- t. 203:< 125:> 44:and 38:SIFT 1147:doi 1099:doi 1050:doi 967:doi 936:DoG 873:158 862:188 771:DOG 722:10 603:DoG 529:C++ 512:, P 508:, P 500:, P 496:, P 394:p→x 383:p→x 372:p→x 358:, P 342:≥ I 340:p→x 331:≤ I 329:p→x 316:≤ I 314:p→x 306:p→x 1214:: 1181:: 1179:}} 1175:{{ 1163:. 1153:. 1145:. 1113:. 1105:. 1097:. 1085:32 1083:. 1066:. 1056:. 1048:. 983:. 973:. 884:79 750:A 730:ε 714:4 706:3 665:4 649:3 613:, 609:, 605:, 559:A 444:n 185:, 107:, 40:, 1191:) 1171:. 1149:: 1121:. 1101:: 1091:: 1074:. 1052:: 991:. 969:: 525:C 514:b 510:s 506:d 502:b 498:s 494:d 488:) 486:d 482:s 478:b 474:g 472:H 456:i 449:i 442:2 438:2 434:2 426:Q 422:p 414:p 390:b 388:P 379:s 377:P 368:d 366:P 360:b 356:s 352:d 344:p 333:p 325:p 318:p 278:p 274:p 263:p 259:p 255:9 251:1 219:t 211:p 207:I 198:x 194:I 173:S 167:x 141:t 138:+ 133:p 129:I 120:x 116:I 95:S 89:x 72:p 70:I

Index

corner detection
feature
computer vision
difference of Gaussians
SIFT
SUSAN
Harris

Bresenham circle
machine learning
machine learning
decision tree
ID3 algorithm
information gain
entropy
information gain
decision tree
C
C++
profile-guided optimization
decision tree model
non-maximum suppression
binary search algorithm
metaheuristic
simulated annealing
simulated annealing
Pentium 4
DoG
Harris
Harris-Laplace

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.