diff --git a/BoI.cpp b/BoI.cpp index a86a370..45ec2a5 100644 --- a/BoI.cpp +++ b/BoI.cpp @@ -10,8 +10,7 @@ using namespace std; namespace fs = std::experimental::filesystem; -int main(int argc, char* argv[]) -{ +int main(int argc, char* argv[]){ //std::cout<<"example: ./BoI SIFT1M 8 100 500 true .."< fileTestSet, fileTrainingSet; @@ -100,10 +92,10 @@ int main(int argc, char* argv[]) //precalculate the binary nearest neighbor vector > neighbor (0, vector (0)); - for (int i=0; i < pow(2, hash_dimension); ++i) { + for (int i=0; i < pow(2, hash_dimension); ++i){ string binary = calculateBinary(i, hash_dimension); vector vicini; - for (int v=1; v <= vicinato; ++v) { + for (int v=1; v <= vicinato; ++v){ for (int j=0; j < hash_dimension; ++j) { calculateNeighbors(vicini, binary, j, v); } @@ -127,8 +119,8 @@ int main(int argc, char* argv[]) vector > projectionVector (hash_dimension*L, vector(globalVectorDimension)); - for (int i=0; i(&f), sizeof(float))){ VLAD_row.push_back(f); counter++; - if (counter == globalVectorDimension) { + if (counter == globalVectorDimension){ if (fastReRanking) VLAD_trainingSet.push_back(VLAD_row); @@ -184,7 +176,7 @@ int main(int argc, char* argv[]) VLAD_testSet.push_back(f); counter++; - if (counter == globalVectorDimension) { + if (counter == globalVectorDimension){ gapBucket = initialGap; vector valueBucket = {68,37,8,1}; @@ -195,7 +187,7 @@ int main(int argc, char* argv[]) vector LucaImagePosition(trainingElements,0.0); //auto s1 = std::chrono::high_resolution_clock::now(); - for (int hashTables = 0; hashTables < L; ++hashTables) { + for (int hashTables = 0; hashTables < L; ++hashTables){ int offset = hashCode*hashTables; int queryRetrieved = lsh_indexing(hash_dimension, VLAD_testSet, projectionVector, hashTables); @@ -217,7 +209,7 @@ int main(int argc, char* argv[]) imagePosition.push_back(ranking{j,LucaImagePosition[j]}); std::sort(imagePosition.begin(), imagePosition.end(), - [](const ranking& a, const ranking& b) { + [](const ranking& a, const ranking& b){ return a.weight > b.weight; }); @@ -233,7 +225,7 @@ int main(int argc, char* argv[]) auto position = imagePosition[r].index; - if (!fastReRanking) { + if (!fastReRanking){ vector VLAD_row = readIthRow_binary_new(DbFileReader,globalVectorDimension, position); imagePosition[r].weight = l2_norm_2vectors(VLAD_row,VLAD_testSet); } @@ -241,7 +233,7 @@ int main(int argc, char* argv[]) imagePosition[r].weight = l2_norm_2vectors(VLAD_trainingSet[position], VLAD_testSet); } - std::sort(imagePosition.begin(), imagePosition.end(),[](const ranking& a, const ranking& b) { + std::sort(imagePosition.begin(), imagePosition.end(),[](const ranking& a, const ranking& b){ return a.weight < b.weight; }); @@ -256,13 +248,11 @@ int main(int argc, char* argv[]) return 0; } - for (int r=0; r < imagePosition.size(); r++) - query_results[count].push_back(imagePosition[r].index); + for (int r=0; r < imagePosition.size(); r++) query_results[count].push_back(imagePosition[r].index); count++; - if (count%(q_results/3)==0 && count!=0) - cout << count<<" on "<