Selaa lähdekoodia

tengine2

dev_h5stream
李俊才 1 vuosi sitten
vanhempi
commit
34e4274e2b
2 muutettua tiedostoa jossa 23 lisäystä ja 21 poistoa
  1. +2
    -1
      app/src/main/java/com/aispeech/nativedemo/face/FaceManager.java
  2. +21
    -20
      app/src/main/java/com/aispeech/nativedemo/tengine2/TEngine2FaceCheckManager.kt

+ 2
- 1
app/src/main/java/com/aispeech/nativedemo/face/FaceManager.java Näytä tiedosto

@@ -23,6 +23,7 @@ import com.aispeech.nativedemo.entity.PersonInfo;
import com.aispeech.nativedemo.entity.Stranger; import com.aispeech.nativedemo.entity.Stranger;
import com.aispeech.nativedemo.log.Logger; import com.aispeech.nativedemo.log.Logger;
import com.aispeech.nativedemo.network.ws.MessageUtils; import com.aispeech.nativedemo.network.ws.MessageUtils;
import com.aispeech.nativedemo.tengine2.TEngine2FaceCheckManager;
import com.aispeech.nativedemo.utils.CommandExecution; import com.aispeech.nativedemo.utils.CommandExecution;
import com.aispeech.nativedemo.utils.HttpUtil; import com.aispeech.nativedemo.utils.HttpUtil;
import com.aispeech.nativedemo.widget.CameraTextureView; import com.aispeech.nativedemo.widget.CameraTextureView;
@@ -101,7 +102,7 @@ public class FaceManager implements ChatMode {
mNormalChatMode = mFaceChatCloseName; mNormalChatMode = mFaceChatCloseName;
mFaceCheckInterface = ArcSoftFaceCheckManager.getInstance(); mFaceCheckInterface = ArcSoftFaceCheckManager.getInstance();
//mFaceCheckInterface = KSFaceCheckManager.getInstance(); //mFaceCheckInterface = KSFaceCheckManager.getInstance();
//mFaceCheckInterface = TEngineFaceCheckManager.Companion.getInstance();
mFaceCheckInterface = TEngine2FaceCheckManager.Companion.getInstance();
} }


public static FaceManager getInstance() { public static FaceManager getInstance() {


+ 21
- 20
app/src/main/java/com/aispeech/nativedemo/tengine2/TEngine2FaceCheckManager.kt Näytä tiedosto

@@ -86,6 +86,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface {
.setInputImageFormat(AndroidConfig.ImageFormat.RGBA) .setInputImageFormat(AndroidConfig.ImageFormat.RGBA)
.setInputImageSize(Image_w, Image_h) .setInputImageSize(Image_w, Image_h)
.setOutputImageSize(Image_w, Image_h)) .setOutputImageSize(Image_w, Image_h))
hasInitKs = true
Log.i(LOG_TAG, "init Success") Log.i(LOG_TAG, "init Success")


} }
@@ -106,14 +107,14 @@ class TEngine2FaceCheckManager : FaceCheckInterface {
addFaceInVad(faceResult, personInfo.faceStr, personInfo.result) addFaceInVad(faceResult, personInfo.faceStr, personInfo.result)
} else { } else {
LogUtils.e( LogUtils.e(
"testface",
LOG_TAG,
" faceData.faceResult == null $personInfo" " faceData.faceResult == null $personInfo"
) )
} }
// faceQueue.offer(personInfo); // faceQueue.offer(personInfo);
// faceCount++; // faceCount++;
Log.e( Log.e(
"testtwo",
LOG_TAG,
"selectMan CompressBmpByHD duration " + (System.currentTimeMillis() - start) "selectMan CompressBmpByHD duration " + (System.currentTimeMillis() - start)
) )
if (MainActivity.instance != null) { if (MainActivity.instance != null) {
@@ -126,7 +127,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface {
return return
} }
if (personInfo.result == null || DuiMessageObserver.needPause) { if (personInfo.result == null || DuiMessageObserver.needPause) {
LogUtils.e("testtwo", " personInfo.result == null$personInfo")
LogUtils.e(LOG_TAG, " personInfo.result == null$personInfo")
return return
} }
val start = System.currentTimeMillis() val start = System.currentTimeMillis()
@@ -139,7 +140,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface {
addFaceInVadClose(faceResult, personInfo.faceStr, personInfo.result) addFaceInVadClose(faceResult, personInfo.faceStr, personInfo.result)
} else { } else {
LogUtils.e( LogUtils.e(
"testtwo",
LOG_TAG,
" faceData.faceResult == null $personInfo" " faceData.faceResult == null $personInfo"
) )
val file: File = val file: File =
@@ -148,9 +149,9 @@ class TEngine2FaceCheckManager : FaceCheckInterface {
} }
// faceQueue.offer(personInfo); // faceQueue.offer(personInfo);
// faceCount++; // 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( Log.e(
"testtwo",
LOG_TAG,
"close CompressBmpByHD duration " + (System.currentTimeMillis() - start) + " facestr " + personInfo.faceStr + " person " + personInfo + " time " + time "close CompressBmpByHD duration " + (System.currentTimeMillis() - start) + " facestr " + personInfo.faceStr + " person " + personInfo + " time " + time
) )
if (MainActivity.instance != null) { if (MainActivity.instance != null) {
@@ -162,7 +163,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface {
while (faceListInVad.size > 2) { while (faceListInVad.size > 2) {
faceListInVad.poll() faceListInVad.poll()
} }
Log.e("testface", "before vad " + faceListInVad.size)
Log.e(LOG_TAG, "before vad " + faceListInVad.size)
} }


override fun setFaceCheck(faceCheck: Boolean, override fun setFaceCheck(faceCheck: Boolean,
@@ -198,14 +199,14 @@ class TEngine2FaceCheckManager : FaceCheckInterface {
landmarkInfos = faceDetect.landmark2d() landmarkInfos = faceDetect.landmark2d()
} }


Log.d("#####", "Face Num: " + faceDetectInfos!!.size)
Log.d(LOG_TAG, "Face Num: " + faceDetectInfos!!.size)
if (faceDetectInfos != null && faceDetectInfos.size > 0) { if (faceDetectInfos != null && faceDetectInfos.size > 0) {
val face_landmarks: List<List<TenginekitPoint>> = ArrayList() val face_landmarks: List<List<TenginekitPoint>> = ArrayList()
for (i in faceDetectInfos.indices) { for (i in faceDetectInfos.indices) {
var rect: Rect? = Rect() var rect: Rect? = Rect()
rect = faceDetectInfos[i].asRect() rect = faceDetectInfos[i].asRect()
Log.d( Log.d(
"#####",
LOG_TAG,
"mouseClose: " + landmarkInfos[i].mouseClose + "pitch: " + landmarkInfos[i].pitch + "yaw: " + landmarkInfos[i].yaw "mouseClose: " + landmarkInfos[i].mouseClose + "pitch: " + landmarkInfos[i].pitch + "yaw: " + landmarkInfos[i].yaw
) )
} }
@@ -235,9 +236,9 @@ class TEngine2FaceCheckManager : FaceCheckInterface {
} }
val faceStr = sb.toString() val faceStr = sb.toString()
personInfo.faceStr = faceStr personInfo.faceStr = faceStr
LogUtils.e("access123", "faceStr $faceStr")
LogUtils.e(LOG_TAG, "faceStr $faceStr")
LogUtils.e( 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 "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) { 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 return false
} }
if (needFaceAngleCheck) { if (needFaceAngleCheck) {
@@ -322,7 +323,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface {




override fun getCurrentSpeak(name: String, isClear: Boolean): Boolean { override fun getCurrentSpeak(name: String, isClear: Boolean): Boolean {
Log.e("testkd2", "FaceManager.needKSCheck " + needKSCheck)
Log.e(LOG_TAG, "FaceManager.needKSCheck " + needKSCheck)
if (!needKSCheck || !hasInitKs) { if (!needKSCheck || !hasInitKs) {
return true return true
} }
@@ -338,12 +339,12 @@ class TEngine2FaceCheckManager : FaceCheckInterface {
} }
} }
if (faceListInVad.size == 0) { 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 return false
} }
if (needFaceAngleCheck) { if (needFaceAngleCheck) {
val isAngleOk = checkAngle(faceListInVad, name) val isAngleOk = checkAngle(faceListInVad, name)
Log.e("testtwoface", "$name isAngleOk $isAngleOk")
Log.e(LOG_TAG, "$name isAngleOk $isAngleOk")
if (!isAngleOk) { if (!isAngleOk) {
faceListInVad.clear() faceListInVad.clear()
faceStrListInVad.clear() faceStrListInVad.clear()
@@ -390,7 +391,7 @@ class TEngine2FaceCheckManager : FaceCheckInterface {
} }
} }
if (faceListCloseInVad.size == 0) { if (faceListCloseInVad.size == 0) {
Log.e("testface", "size 0 is speak false")
Log.e(LOG_TAG, "size 0 is speak false")
return false return false
} }
if (needFaceAngleCheck) { if (needFaceAngleCheck) {
@@ -441,14 +442,14 @@ class TEngine2FaceCheckManager : FaceCheckInterface {
overAngleCount++ overAngleCount++
} else { } else {
LogUtils.e( LogUtils.e(
"testtwoface",
LOG_TAG,
"face.yaw " + face.yaw + " time " + DuiMessageObserver.mTime + " " + name "face.yaw " + face.yaw + " time " + DuiMessageObserver.mTime + " " + name
) )
} }
} }
val rightAngleCount = count - overAngleCount val rightAngleCount = count - overAngleCount
LogUtils.e( LogUtils.e(
"testtwoface",
LOG_TAG,
"face.yaw overAngleCount $overAngleCount count $count name $name" "face.yaw overAngleCount $overAngleCount count $count name $name"
) )
return if (count <= 12) { 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) 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( 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) 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) Logger.e("djASR-嘴型检测: " + logTag + name + " time " + DuiMessageObserver.mTime + " is speak " + isSpeak + " result " + result)
Log.e( Log.e(
"testface",
LOG_TAG,
logTag + name + " time " + DuiMessageObserver.mTime + " is speak " + isSpeak + " result " + result logTag + name + " time " + DuiMessageObserver.mTime + " is speak " + isSpeak + " result " + result
) )
if (MainActivity.instance != null) { if (MainActivity.instance != null) {


Ladataan…
Peruuta
Tallenna