Skip to content

Commit c1cca81

Browse files
committed
fix thresh for face rec
1 parent 2294feb commit c1cca81

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

visionSamples/FaceTracker/app/src/main/cpp/native-lib.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ typedef struct
6767
uint8_t blue;//a see rgb_pixel assignment
6868
} argb;
6969

70-
int FACE_RECOGNIZE_THRESH = 0.5;
70+
float FACE_RECOGNIZE_THRESH = 0.6;
7171

7272
extern "C"
7373
{
@@ -108,11 +108,12 @@ extern "C"
108108
}
109109

110110
//todo: smth wrong with colors
111-
//dlib::save_bmp(img, "/storage/emulated/0/Download/test2.bmp");
111+
//dlib::save_bmp(img, "/storage/emulated/0/Download/test.bmp");
112112

113113
std::vector<dlib::rectangle> dets = detector(img);
114114
LOGI("detected size %d", dets.size());
115115

116+
float min_dist = 0.0;
116117
if(dets.size() > 0 ){
117118
auto face = dets.front();
118119
std::vector<matrix<rgb_pixel>> faces;
@@ -131,21 +132,26 @@ extern "C"
131132
if (face_descriptors.size() > 0)
132133
{
133134
matrix<float, 0, 1> face_desc = face_descriptors[0];
134-
LOGI("recognized");
135135
for (auto& i : known_faces) {
136-
if( length(face_desc - i.second ) < FACE_RECOGNIZE_THRESH) //todo: extract thresh
136+
float dist = length(face_desc - i.second );
137+
if (dist < min_dist){
138+
min_dist = dist;
139+
}
140+
if( dist < FACE_RECOGNIZE_THRESH) //todo: extract thresh
137141
{
142+
LOGI("recognized");
138143
return env->NewStringUTF(i.first.c_str());
139144
}
140145
}
141146
}
147+
LOGI("not recognized, max dist %0.2f", min_dist);
142148
}
143149

144150
LOGI("unlocking pixels");
145151
AndroidBitmap_unlockPixels(env, bmp);
146152

147-
const char *returnValue = "Unknown";
148-
return env->NewStringUTF(returnValue);
153+
std::string returnValue = "Unknown" + std::to_string(min_dist);
154+
return env->NewStringUTF(returnValue.c_str());
149155
}
150156
}
151157

visionSamples/FaceTracker/app/src/main/java/com/google/android/gms/samples/vision/face/facetracker/FaceGraphic.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ public void onRecognized(String str) {
167167
frame_cx = FRAMES_TO_SKIP; //reset
168168
mCustomDetector.setHandlerListener(null); //unsubscribe
169169
mCustomDetector.resetRecognition();
170-
if (str == "Unknown")
170+
if (str.startsWith("Unknown"))
171171
{
172172
Log.w(TAG, "Not Recognized");
173173
mBoxPaint.setColor(Color.MAGENTA);

visionSamples/FaceTracker/app/src/main/java/com/google/android/gms/samples/vision/face/facetracker/FaceTrackerActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ private void createCameraSource() {
206206
//.setFacing(CameraSource.CAMERA_FACING_BACK)
207207
mCameraSource = new CameraSource.Builder(context, customDetector)
208208
.setRequestedPreviewSize(1024, 768)
209-
.setFacing(CameraSource.CAMERA_FACING_BACK)
209+
.setFacing(CameraSource.CAMERA_FACING_FRONT)
210210
.setRequestedFps(20.0f)
211211
.build();
212212
}

0 commit comments

Comments
 (0)