Skip to content

Commit 201a5b7

Browse files
committed
added dev_test
1 parent f60ca72 commit 201a5b7

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

modules/datasets/src/fr_lfw.cpp

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,14 @@ void FR_lfwImp::loadDataset(const string &path)
106106
ifstream infile((path + "pairs.txt").c_str());
107107
string line;
108108
getline(infile, line); // should be 10 300
109+
CV_Assert(line=="10\t300");
109110
unsigned int num = 0;
110111
while (getline(infile, line))
111112
{
112113
if (0 == (num % 600))
113114
{
114115
train.push_back(vector< Ptr<Object> >());
115116
test.push_back(vector< Ptr<Object> >());
116-
validation.push_back(vector< Ptr<Object> >());
117117
}
118118

119119
vector<string> elems;
@@ -143,10 +143,12 @@ void FR_lfwImp::loadDataset(const string &path)
143143

144144
num++;
145145
}
146+
infile.close();
146147

147148
// dev train loading to train[0]
148149
ifstream infile2((path + "pairsDevTrain.txt").c_str());
149150
getline(infile2, line); // should 1100
151+
CV_Assert(line=="1100");
150152
while (getline(infile2, line))
151153
{
152154
vector<string> elems;
@@ -174,6 +176,41 @@ void FR_lfwImp::loadDataset(const string &path)
174176

175177
train[0].push_back(curr);
176178
}
179+
infile2.close();
180+
181+
// dev train loading to validation[0]
182+
ifstream infile3((path + "pairsDevTest.txt").c_str());
183+
getline(infile3, line); // should 500
184+
CV_Assert(line=="500");
185+
validation.push_back(vector< Ptr<Object> >());
186+
while (getline(infile3, line))
187+
{
188+
vector<string> elems;
189+
split(line, elems, '\t');
190+
191+
Ptr<FR_lfwObj> curr(new FR_lfwObj);
192+
string &person1 = elems[0];
193+
unsigned int imageNumber1 = atoi(elems[1].c_str())-1;
194+
curr->image1 = person1 + "/" + faces[person1][imageNumber1];
195+
196+
string person2;
197+
unsigned int imageNumber2;
198+
if (3 == elems.size())
199+
{
200+
person2 = elems[0];
201+
imageNumber2 = atoi(elems[2].c_str())-1;
202+
curr->same = true;
203+
} else
204+
{
205+
person2 = elems[2];
206+
imageNumber2 = atoi(elems[3].c_str())-1;
207+
curr->same = false;
208+
}
209+
curr->image2 = person2 + "/" + faces[person2][imageNumber2];
210+
211+
validation[0].push_back(curr);
212+
}
213+
infile3.close();
177214
}
178215

179216
Ptr<FR_lfw> FR_lfw::create()

0 commit comments

Comments
 (0)