SIFT は特許あり(使用にちゅういが必要) HOG などにも興味あり see Three things everyone should know to improve object retrieval float sum = 0.0f; for (float f : desc) sum += f; if (sum != 0) { for (i = 0; i < desc.length; i++) { if (desc[i] < 0) desc[i] = (float) -Math.sqrt(-desc[i] / sum); else desc[i] = (float) Math.sqrt(desc[i] / sum); } }