Skip to content

Commit f5ddcef

Browse files
committed
added Similary confidence
1 parent c009f72 commit f5ddcef

File tree

2 files changed

+92
-41
lines changed

2 files changed

+92
-41
lines changed

facebox/facebox.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ type Rect struct {
2929

3030
// Similar represents a similar face.
3131
type Similar struct {
32-
ID string
33-
Name string
32+
ID string
33+
Name string
34+
Confidence float64
3435
}
3536

3637
// Client is an HTTP client that can make requests to the box.

facebox/facebox_similar_test.go

Lines changed: 89 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,18 @@ func TestSimilarURL(t *testing.T) {
2929
"similar": [
3030
{
3131
"id": "file1.jpg",
32-
"name": "Ringo Starr"
32+
"name": "Ringo Starr",
33+
"confidence": 0.9
3334
},
3435
{
3536
"id": "file2.jpg",
36-
"name": "Ringo Starr"
37+
"name": "Ringo Starr",
38+
"confidence": 0.8
3739
},
3840
{
3941
"id": "file3.jpg",
40-
"name": "Ringo Starr"
42+
"name": "Ringo Starr",
43+
"confidence": 0.7
4144
}
4245
]
4346
}`)
@@ -51,12 +54,15 @@ func TestSimilarURL(t *testing.T) {
5154
is.Equal(len(similar), 3)
5255
is.Equal(similar[0].ID, "file1.jpg")
5356
is.Equal(similar[0].Name, "Ringo Starr")
57+
is.Equal(similar[0].Confidence, 0.9)
5458

5559
is.Equal(similar[1].ID, "file2.jpg")
5660
is.Equal(similar[1].Name, "Ringo Starr")
61+
is.Equal(similar[1].Confidence, 0.8)
5762

5863
is.Equal(similar[2].ID, "file3.jpg")
5964
is.Equal(similar[2].Name, "Ringo Starr")
65+
is.Equal(similar[2].Confidence, 0.7)
6066

6167
}
6268

@@ -102,15 +108,18 @@ func TestSimilarImage(t *testing.T) {
102108
"similar": [
103109
{
104110
"id": "file1.jpg",
105-
"name": "Ringo Starr"
111+
"name": "Ringo Starr",
112+
"confidence": 0.9
106113
},
107114
{
108115
"id": "file2.jpg",
109-
"name": "Ringo Starr"
116+
"name": "Ringo Starr",
117+
"confidence": 0.8
110118
},
111119
{
112120
"id": "file3.jpg",
113-
"name": "Ringo Starr"
121+
"name": "Ringo Starr",
122+
"confidence": 0.7
114123
}
115124
]
116125
}`)
@@ -124,12 +133,15 @@ func TestSimilarImage(t *testing.T) {
124133
is.Equal(len(similar), 3)
125134
is.Equal(similar[0].ID, "file1.jpg")
126135
is.Equal(similar[0].Name, "Ringo Starr")
136+
is.Equal(similar[0].Confidence, 0.9)
127137

128138
is.Equal(similar[1].ID, "file2.jpg")
129139
is.Equal(similar[1].Name, "Ringo Starr")
140+
is.Equal(similar[1].Confidence, 0.8)
130141

131142
is.Equal(similar[2].ID, "file3.jpg")
132143
is.Equal(similar[2].Name, "Ringo Starr")
144+
is.Equal(similar[2].Confidence, 0.7)
133145

134146
}
135147

@@ -172,15 +184,18 @@ func TestSimilarID(t *testing.T) {
172184
"similar": [
173185
{
174186
"id": "file1.jpg",
175-
"name": "Ringo Starr"
187+
"name": "Ringo Starr",
188+
"confidence": 0.9
176189
},
177190
{
178191
"id": "file2.jpg",
179-
"name": "Ringo Starr"
192+
"name": "Ringo Starr",
193+
"confidence": 0.8
180194
},
181195
{
182196
"id": "file3.jpg",
183-
"name": "Ringo Starr"
197+
"name": "Ringo Starr",
198+
"confidence": 0.7
184199
}
185200
]
186201
}`)
@@ -194,12 +209,16 @@ func TestSimilarID(t *testing.T) {
194209
is.Equal(len(similar), 3)
195210
is.Equal(similar[0].ID, "file1.jpg")
196211
is.Equal(similar[0].Name, "Ringo Starr")
212+
is.Equal(similar[0].Confidence, 0.9)
197213

198214
is.Equal(similar[1].ID, "file2.jpg")
199215
is.Equal(similar[1].Name, "Ringo Starr")
216+
is.Equal(similar[1].Confidence, 0.8)
200217

201218
is.Equal(similar[2].ID, "file3.jpg")
202219
is.Equal(similar[2].Name, "Ringo Starr")
220+
is.Equal(similar[2].Confidence, 0.7)
221+
203222
}
204223

205224
func TestSimilarBase64(t *testing.T) {
@@ -217,15 +236,18 @@ func TestSimilarBase64(t *testing.T) {
217236
"similar": [
218237
{
219238
"id": "file1.jpg",
220-
"name": "Ringo Starr"
239+
"name": "Ringo Starr",
240+
"confidence": 0.9
221241
},
222242
{
223243
"id": "file2.jpg",
224-
"name": "Ringo Starr"
244+
"name": "Ringo Starr",
245+
"confidence": 0.8
225246
},
226247
{
227248
"id": "file3.jpg",
228-
"name": "Ringo Starr"
249+
"name": "Ringo Starr",
250+
"confidence": 0.7
229251
}
230252
]
231253
}`)
@@ -264,15 +286,18 @@ func TestSimilarsImage(t *testing.T) {
264286
"similar_faces": [
265287
{
266288
"id": "file1.jpg",
267-
"name": "Ringo Starr"
289+
"name": "Ringo Starr",
290+
"confidence": 0.9
268291
},
269292
{
270293
"id": "file2.jpg",
271-
"name": "Ringo Starr"
294+
"name": "Ringo Starr",
295+
"confidence": 0.9
272296
},
273297
{
274298
"id": "file3.jpg",
275-
"name": "Ringo Starr"
299+
"name": "Ringo Starr",
300+
"confidence": 0.9
276301
}
277302
]
278303
},
@@ -284,15 +309,18 @@ func TestSimilarsImage(t *testing.T) {
284309
"similar_faces": [
285310
{
286311
"id": "file1.jpg",
287-
"name": "Paul McCartney"
312+
"name": "Paul McCartney",
313+
"confidence": 0.9
288314
},
289315
{
290316
"id": "file2.jpg",
291-
"name": "Paul McCartney"
317+
"name": "Paul McCartney",
318+
"confidence": 0.9
292319
},
293320
{
294321
"id": "file3.jpg",
295-
"name": "Paul McCartney"
322+
"name": "Paul McCartney",
323+
"confidence": 0.9
296324
}
297325
]
298326
},
@@ -304,15 +332,18 @@ func TestSimilarsImage(t *testing.T) {
304332
"similar_faces": [
305333
{
306334
"id": "file1.jpg",
307-
"name": "John Lennon"
335+
"name": "John Lennon",
336+
"confidence": 0.9
308337
},
309338
{
310339
"id": "file2.jpg",
311-
"name": "John Lennon"
340+
"name": "John Lennon",
341+
"confidence": 0.9
312342
},
313343
{
314344
"id": "file3.jpg",
315-
"name": "John Lennon"
345+
"name": "John Lennon",
346+
"confidence": 0.9
316347
}
317348
]
318349
}
@@ -354,15 +385,18 @@ func TestSimilarsURL(t *testing.T) {
354385
"similar_faces": [
355386
{
356387
"id": "file1.jpg",
357-
"name": "Ringo Starr"
388+
"name": "Ringo Starr",
389+
"confidence": 0.9
358390
},
359391
{
360392
"id": "file2.jpg",
361-
"name": "Ringo Starr"
393+
"name": "Ringo Starr",
394+
"confidence": 0.9
362395
},
363396
{
364397
"id": "file3.jpg",
365-
"name": "Ringo Starr"
398+
"name": "Ringo Starr",
399+
"confidence": 0.9
366400
}
367401
]
368402
},
@@ -374,15 +408,18 @@ func TestSimilarsURL(t *testing.T) {
374408
"similar_faces": [
375409
{
376410
"id": "file1.jpg",
377-
"name": "Paul McCartney"
411+
"name": "Paul McCartney",
412+
"confidence": 0.9
378413
},
379414
{
380415
"id": "file2.jpg",
381-
"name": "Paul McCartney"
416+
"name": "Paul McCartney",
417+
"confidence": 0.9
382418
},
383419
{
384420
"id": "file3.jpg",
385-
"name": "Paul McCartney"
421+
"name": "Paul McCartney",
422+
"confidence": 0.9
386423
}
387424
]
388425
},
@@ -394,15 +431,18 @@ func TestSimilarsURL(t *testing.T) {
394431
"similar_faces": [
395432
{
396433
"id": "file1.jpg",
397-
"name": "John Lennon"
434+
"name": "John Lennon",
435+
"confidence": 0.9
398436
},
399437
{
400438
"id": "file2.jpg",
401-
"name": "John Lennon"
439+
"name": "John Lennon",
440+
"confidence": 0.9
402441
},
403442
{
404443
"id": "file3.jpg",
405-
"name": "John Lennon"
444+
"name": "John Lennon",
445+
"confidence": 0.9
406446
}
407447
]
408448
}
@@ -444,15 +484,18 @@ func TestSimilarsBase64(t *testing.T) {
444484
"similar_faces": [
445485
{
446486
"id": "file1.jpg",
447-
"name": "Ringo Starr"
487+
"name": "Ringo Starr",
488+
"confidence": 0.9
448489
},
449490
{
450491
"id": "file2.jpg",
451-
"name": "Ringo Starr"
492+
"name": "Ringo Starr",
493+
"confidence": 0.9
452494
},
453495
{
454496
"id": "file3.jpg",
455-
"name": "Ringo Starr"
497+
"name": "Ringo Starr",
498+
"confidence": 0.9
456499
}
457500
]
458501
},
@@ -464,15 +507,18 @@ func TestSimilarsBase64(t *testing.T) {
464507
"similar_faces": [
465508
{
466509
"id": "file1.jpg",
467-
"name": "Paul McCartney"
510+
"name": "Paul McCartney",
511+
"confidence": 0.9
468512
},
469513
{
470514
"id": "file2.jpg",
471-
"name": "Paul McCartney"
515+
"name": "Paul McCartney",
516+
"confidence": 0.9
472517
},
473518
{
474519
"id": "file3.jpg",
475-
"name": "Paul McCartney"
520+
"name": "Paul McCartney",
521+
"confidence": 0.9
476522
}
477523
]
478524
},
@@ -484,15 +530,18 @@ func TestSimilarsBase64(t *testing.T) {
484530
"similar_faces": [
485531
{
486532
"id": "file1.jpg",
487-
"name": "John Lennon"
533+
"name": "John Lennon",
534+
"confidence": 0.9
488535
},
489536
{
490537
"id": "file2.jpg",
491-
"name": "John Lennon"
538+
"name": "John Lennon",
539+
"confidence": 0.9
492540
},
493541
{
494542
"id": "file3.jpg",
495-
"name": "John Lennon"
543+
"name": "John Lennon",
544+
"confidence": 0.9
496545
}
497546
]
498547
}
@@ -510,5 +559,6 @@ func TestSimilarsBase64(t *testing.T) {
510559
is.Equal(faces[0].Rect.Height, 100)
511560
is.Equal(len(faces[0].SimilarFaces), 3)
512561
is.Equal(faces[0].SimilarFaces[0].ID, "file1.jpg")
562+
is.Equal(faces[0].SimilarFaces[0].Confidence, 0.9)
513563

514564
}

0 commit comments

Comments
 (0)