|
|
|
@@ -86,6 +86,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
.setInputImageFormat(AndroidConfig.ImageFormat.RGBA) |
|
|
|
.setInputImageSize(Image_w, Image_h) |
|
|
|
.setOutputImageSize(Image_w, Image_h)) |
|
|
|
hasInitKs = true |
|
|
|
Log.i(LOG_TAG, "init Success") |
|
|
|
|
|
|
|
} |
|
|
|
@@ -106,14 +107,14 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
addFaceInVad(faceResult, personInfo.faceStr, personInfo.result) |
|
|
|
} else { |
|
|
|
LogUtils.e( |
|
|
|
"testface", |
|
|
|
LOG_TAG, |
|
|
|
" faceData.faceResult == null $personInfo" |
|
|
|
) |
|
|
|
} |
|
|
|
// faceQueue.offer(personInfo); |
|
|
|
// faceCount++; |
|
|
|
Log.e( |
|
|
|
"testtwo", |
|
|
|
LOG_TAG, |
|
|
|
"selectMan CompressBmpByHD duration " + (System.currentTimeMillis() - start) |
|
|
|
) |
|
|
|
if (MainActivity.instance != null) { |
|
|
|
@@ -126,7 +127,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
return |
|
|
|
} |
|
|
|
if (personInfo.result == null || DuiMessageObserver.needPause) { |
|
|
|
LogUtils.e("testtwo", " personInfo.result == null$personInfo") |
|
|
|
LogUtils.e(LOG_TAG, " personInfo.result == null$personInfo") |
|
|
|
return |
|
|
|
} |
|
|
|
val start = System.currentTimeMillis() |
|
|
|
@@ -139,7 +140,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
addFaceInVadClose(faceResult, personInfo.faceStr, personInfo.result) |
|
|
|
} else { |
|
|
|
LogUtils.e( |
|
|
|
"testtwo", |
|
|
|
LOG_TAG, |
|
|
|
" faceData.faceResult == null $personInfo" |
|
|
|
) |
|
|
|
val file: File = |
|
|
|
@@ -148,9 +149,9 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
} |
|
|
|
// faceQueue.offer(personInfo); |
|
|
|
// faceCount++; |
|
|
|
Log.e("testtwo", "close man face width " + personInfo.faceWidth + " time " + time) |
|
|
|
Log.e(LOG_TAG, "close man face width " + personInfo.faceWidth + " time " + time) |
|
|
|
Log.e( |
|
|
|
"testtwo", |
|
|
|
LOG_TAG, |
|
|
|
"close CompressBmpByHD duration " + (System.currentTimeMillis() - start) + " facestr " + personInfo.faceStr + " person " + personInfo + " time " + time |
|
|
|
) |
|
|
|
if (MainActivity.instance != null) { |
|
|
|
@@ -162,7 +163,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
while (faceListInVad.size > 2) { |
|
|
|
faceListInVad.poll() |
|
|
|
} |
|
|
|
Log.e("testface", "before vad " + faceListInVad.size) |
|
|
|
Log.e(LOG_TAG, "before vad " + faceListInVad.size) |
|
|
|
} |
|
|
|
|
|
|
|
override fun setFaceCheck(faceCheck: Boolean, |
|
|
|
@@ -198,14 +199,14 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
landmarkInfos = faceDetect.landmark2d() |
|
|
|
} |
|
|
|
|
|
|
|
Log.d("#####", "Face Num: " + faceDetectInfos!!.size) |
|
|
|
Log.d(LOG_TAG, "Face Num: " + faceDetectInfos!!.size) |
|
|
|
if (faceDetectInfos != null && faceDetectInfos.size > 0) { |
|
|
|
val face_landmarks: List<List<TenginekitPoint>> = ArrayList() |
|
|
|
for (i in faceDetectInfos.indices) { |
|
|
|
var rect: Rect? = Rect() |
|
|
|
rect = faceDetectInfos[i].asRect() |
|
|
|
Log.d( |
|
|
|
"#####", |
|
|
|
LOG_TAG, |
|
|
|
"mouseClose: " + landmarkInfos[i].mouseClose + "pitch: " + landmarkInfos[i].pitch + "yaw: " + landmarkInfos[i].yaw |
|
|
|
) |
|
|
|
} |
|
|
|
@@ -235,9 +236,9 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
} |
|
|
|
val faceStr = sb.toString() |
|
|
|
personInfo.faceStr = faceStr |
|
|
|
LogUtils.e("access123", "faceStr $faceStr") |
|
|
|
LogUtils.e(LOG_TAG, "faceStr $faceStr") |
|
|
|
LogUtils.e( |
|
|
|
"testface", |
|
|
|
LOG_TAG, |
|
|
|
"face duration " + (System.currentTimeMillis() - start) + " lx x1 " + personInfo.result.fa_x1 + " lx y1 " + personInfo.result.fa_y1 + " lx w " + personInfo.result.fa_w + " lx h " + personInfo.result.fa_h |
|
|
|
) |
|
|
|
} |
|
|
|
@@ -304,7 +305,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
} |
|
|
|
} |
|
|
|
if (faceListInVad.size == 0) { |
|
|
|
Log.e("testface", "BeforeASR size 0 is speak false") |
|
|
|
Log.e(LOG_TAG, "BeforeASR size 0 is speak false") |
|
|
|
return false |
|
|
|
} |
|
|
|
if (needFaceAngleCheck) { |
|
|
|
@@ -322,7 +323,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
|
|
|
|
|
|
|
|
override fun getCurrentSpeak(name: String, isClear: Boolean): Boolean { |
|
|
|
Log.e("testkd2", "FaceManager.needKSCheck " + needKSCheck) |
|
|
|
Log.e(LOG_TAG, "FaceManager.needKSCheck " + needKSCheck) |
|
|
|
if (!needKSCheck || !hasInitKs) { |
|
|
|
return true |
|
|
|
} |
|
|
|
@@ -338,12 +339,12 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
} |
|
|
|
} |
|
|
|
if (faceListInVad.size == 0) { |
|
|
|
Log.e("testface2", "close size 0 is speak false") |
|
|
|
Log.e(LOG_TAG, "close size 0 is speak false") |
|
|
|
return false |
|
|
|
} |
|
|
|
if (needFaceAngleCheck) { |
|
|
|
val isAngleOk = checkAngle(faceListInVad, name) |
|
|
|
Log.e("testtwoface", "$name isAngleOk $isAngleOk") |
|
|
|
Log.e(LOG_TAG, "$name isAngleOk $isAngleOk") |
|
|
|
if (!isAngleOk) { |
|
|
|
faceListInVad.clear() |
|
|
|
faceStrListInVad.clear() |
|
|
|
@@ -390,7 +391,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
} |
|
|
|
} |
|
|
|
if (faceListCloseInVad.size == 0) { |
|
|
|
Log.e("testface", "size 0 is speak false") |
|
|
|
Log.e(LOG_TAG, "size 0 is speak false") |
|
|
|
return false |
|
|
|
} |
|
|
|
if (needFaceAngleCheck) { |
|
|
|
@@ -441,14 +442,14 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
overAngleCount++ |
|
|
|
} else { |
|
|
|
LogUtils.e( |
|
|
|
"testtwoface", |
|
|
|
LOG_TAG, |
|
|
|
"face.yaw " + face.yaw + " time " + DuiMessageObserver.mTime + " " + name |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
val rightAngleCount = count - overAngleCount |
|
|
|
LogUtils.e( |
|
|
|
"testtwoface", |
|
|
|
LOG_TAG, |
|
|
|
"face.yaw overAngleCount $overAngleCount count $count name $name" |
|
|
|
) |
|
|
|
return if (count <= 12) { |
|
|
|
@@ -525,12 +526,12 @@ class TEngine2FaceCheckManager : FaceCheckInterface { |
|
|
|
} |
|
|
|
Logger.e("djASR-嘴型检测: " + logTag + name + " is speak " + isSpeak + " mouthOpen " + mouthOpen + " mouthClose " + mouthClose + " yawOverAngleCount " + yawOverAngleCount + " mouthChangeCount " + mouthChangeCount + " leftFaceSize " + ArcSoftFaceCheckManager.faceCount + " overAngleCount " + pitchOverAngleCount + " mouthOther " + mouthOther + " time " + DuiMessageObserver.mTime) |
|
|
|
Log.e( |
|
|
|
"testface", |
|
|
|
LOG_TAG, |
|
|
|
logTag + name + " is speak " + isSpeak + " mouthOpen " + mouthOpen + " mouthClose " + mouthClose + " yawOverAngleCount " + yawOverAngleCount + " mouthChangeCount " + mouthChangeCount + " leftFaceSize " + ArcSoftFaceCheckManager.faceCount + " overAngleCount " + pitchOverAngleCount + " mouthOther " + mouthOther + " time " + DuiMessageObserver.mTime + " duration " + (System.currentTimeMillis() - start) |
|
|
|
) |
|
|
|
Logger.e("djASR-嘴型检测: " + logTag + name + " time " + DuiMessageObserver.mTime + " is speak " + isSpeak + " result " + result) |
|
|
|
Log.e( |
|
|
|
"testface", |
|
|
|
LOG_TAG, |
|
|
|
logTag + name + " time " + DuiMessageObserver.mTime + " is speak " + isSpeak + " result " + result |
|
|
|
) |
|
|
|
if (MainActivity.instance != null) { |
|
|
|
|