본문 바로가기

Lab/Local Descriptor

Color 속성을 갖는 Local Descriptor


이걸 어따써~? 라는 것이 먼저 묻고 싶다. 컬러라 매칭은 매우 약할듯하고 그럼 어디에? 보통 논문에 보면 Color Local Descriptor는 Image Classification에 적용하는 듯하다.
보통 SIFT 같은 Edge 속성을 지닌 Descriptor와 같이 쓰이며 Bag of Word의 형태, 그리고 pLSA, LDA 같은 Topic Model에 적용하여 가공한후 분류기에 넣는 방식으로 한 논문들을 보았다.

Hue-Descriptor
여기서 말하는 descriptor는 Hue-Descriptor이다. 사실 많은 논문에 다양한 형태의 descriptor 알고리즘이 존재하고 있고 http://koen.me/research/colordescriptors/readme 
이 사이트가 대표적인듯하다.
그외,
http://lear.inrialpes.fr/people/vandeweijer/color_descriptors.html
http://www.cat.uab.es/~darojas/FeatureDetection/FeatureDetection.html

실제 소스는 공개되지 않거나 매트랩형태로 되어 있어서 사용하기가 어렵고 모 상업적으로도 못 사용한다.

제가 참고 한 사이트는 http://www.ymer.org/amir/software/robust-hue-histogram/ 
여기에는 소스가 포함되어 있는데 음 조금만 분석하다 보면 금방 포팅할 수 있을것 같다~! 저는 OpenCV 형태로 ^^;

간단히 알고리즘을 설명하면,
1. RGB->HSV 로 conversion (Hue와 Saturation을 중심으로)
2. Keypoint를 구한다.
3. 이 Keypoint중심의 패치를 적용하여
4. Hue는 Bin을 형성 (0~360값 -> 마치 Edge의 방향 = 128차원)
5. Saturation은 실제 descriptor를 구성하는 값으로 적용된다.
6. 이때, 패치에 대한 weight 즉 -> gaussian 값을 구하고 이를 구성하는 값으로 같이 적용한다. hist[bin] += sat*weight
7. descriptor의 smoothing
6. normalization

아마도 소스를 보면 알듯합니다. 아직 저는 Classification에 적용하지는 안했구요. 다만 이 포스트는 이런 Descriptor가 있다라고만 알리는거나 제 실험용입니다!! 음 참고용!!

이런 형태로 나오네요. keypoint
0:3.45261e-05 1:0.000233051 2:0.000599702 3:0.000785287 4:0.000685087 5:0.000512561 6:0.000268238 7:0.000131578 8:0.000151199 9:0.000323457 10:0.000588743 11:0.00091963 12:0.00117218 13:0.00130516 14:0.00171509 15:0.00297247 16:0.005238 17:0.00802589 18:0.0139129 19:0.0261063 20:0.0400501 21:0.0464966 22:0.0450796 23:0.0421268 24:0.0382588 25:0.0317482 26:0.0250563 27:0.0211981 28:0.0196253 29:0.0176937 30:0.0187985 31:0.0238205 32:0.0239949 33:0.0178715 34:0.0131921 35:0.00908611 36:0.00524134 37:0.00308084 38:0.00198005 39:0.00172296 40:0.00179031 41:0.00177509 42:0.001554 43:0.00115634 44:0.0013089 45:0.00165179 46:0.00148479 47:0.00096144 48:0.000709164 49:0.000856149 50:0.00088203 51:0.000733877 52:0.000842004 53:0.000823206 54:0.00065673 55:0.00100143 56:0.00166678 57:0.00174697 58:0.00116431 59:0.000754377 60:0.000810997 61:0.0013997 62:0.00208918 63:0.00215344 64:0.00168312 65:0.00160014 66:0.00240522 67:0.00289075 68:0.00260789 69:0.00250703 70:0.00373374 71:0.00709098 72:0.00960755 73:0.00951166 74:0.00933278 75:0.012865 76:0.0209337 77:0.0263832 78:0.0268273 79:0.0287479 80:0.0359528 81:0.0556464 82:0.0953212 83:0.14017 84:0.153543 85:0.130891 86:0.105853 87:0.0864701 88:0.0880633 89:0.089743 90:0.081652 91:0.0754682 92:0.0690031 93:0.0553379 94:0.0362487 95:0.0219809 96:0.0140272 97:0.00836123 98:0.00505401 99:0.00300552 100:0.00213708 101:0.00222754 102:0.00231768 103:0.00221467 104:0.00184191 105:0.00101788 106:0.000462966 107:0.000209702 108:0.000236413 109:0.000456266 110:0.000530441 111:0.000337906 112:0.000161101 113:6.57567e-05 114:3.62537e-05 115:8.85554e-05 116:0.000203001 117:0.000231116 118:0.000143153 119:0.00010617 120:0.000134334 121:0.000135038 122:7.77497e-05 123:4.5923e-05 124:8.69621e-05 125:0.000187802 126:0.000216486 127:0.000159403

만약 해보시분이 있고 저처럼 안나온다면, 한번 토의좀!! 제가 잘못했을 수도~~!!

'Lab > Local Descriptor' 카테고리의 다른 글

BRIEF: Binary Robust Independent Elementary Features  (0) 2012.02.28
Simplified SIFT Descriptor  (0) 2012.02.08