Sfoglia il codice sorgente

人脸修改

tags/v20231201
李俊才 2 anni fa
parent
commit
2a4679a7c1
3 ha cambiato i file con 14 aggiunte e 9 eliminazioni
  1. +1
    -1
      app/src/main/java/com/aispeech/nativedemo/entity/PersonInfo.java
  2. +12
    -7
      app/src/main/java/com/aispeech/nativedemo/face/FaceChatGreetingQueueMode.java
  3. +1
    -1
      base/src/main/java/com/shareopen/library/MVVM/application/BaseApplication.java

+ 1
- 1
app/src/main/java/com/aispeech/nativedemo/entity/PersonInfo.java Vedi File

@@ -35,7 +35,7 @@ public class PersonInfo {
public static int NEED_LEAVE_GREETING_NORMAL = 1;
public static int NEED_LEAVE_GREETING_CUSTOM = 2;
public static float GREETING_QUALITY_FACE = 0.2f;
public static float QUALITY_FACE = 0.45f;
public static float QUALITY_FACE = 0.6f;
public boolean hasQualityFace = false;
public boolean hasBeenNoFace = false;
public String id; // eid


+ 12
- 7
app/src/main/java/com/aispeech/nativedemo/face/FaceChatGreetingQueueMode.java Vedi File

@@ -153,7 +153,7 @@ public class FaceChatGreetingQueueMode implements ChatMode {
if (MainActivity.instance != null) {
MainActivity.instance.updatePersonInScreen();
}
//LogUtils.e("testtrack", " after filter mPersonsInScreen " + mPersonsInScreen.size() + "mUndeterminedPersonsInScreen " + mUndeterminedPersonsInScreen.size());
LogUtils.e("testtrack", " after filter mPersonsInScreen " + mPersonsInScreen.size() + "mUndeterminedPersonsInScreen " + mUndeterminedPersonsInScreen.size());
confirmCurrentPerson();
if (FaceManager.getInstance().isIntroduceVisitor()) {
PersonInfo person = null;
@@ -517,13 +517,13 @@ public class FaceChatGreetingQueueMode implements ChatMode {
if (mUndeterminedPersonsInScreen.size() > 0) {
//选择未确定脸大的人
mSelectPerson = selectUnknownMaxFacePerson(mUndeterminedPersonsInScreen);
//LogUtils.e("testtrack", " after selectUnknownMaxFacePerson " + mSelectPerson);
LogUtils.e("testtrack", " after selectUnknownMaxFacePerson " + mSelectPerson);

sendMsgAndLog();
}
} else {
mSelectPerson = selectKnownMaxTagAndFacePerson();
//LogUtils.e("testtrack", " after selectKnownMaxTagAndFacePerson " + mSelectPerson);
LogUtils.e("testtrack", " after selectKnownMaxTagAndFacePerson " + mSelectPerson);
sendMsgAndLog();
}
return;
@@ -537,6 +537,8 @@ public class FaceChatGreetingQueueMode implements ChatMode {
HashSet<PersonInfo> candidatesKnown = new HashSet<>();
HashSet<PersonInfo> candidatesUnknown = new HashSet<>();

LogUtils.e("testtrack", " mSelectPerson.faceWidth " + mSelectPerson.faceWidth + " mSelectPerson.level " + mSelectPerson.level);

pInfos.forEach(new Consumer<PersonInfo>() {
@Override
public void accept(PersonInfo personInfo) {
@@ -544,18 +546,19 @@ public class FaceChatGreetingQueueMode implements ChatMode {
candidatesUnknown.add(personInfo);
} else {
candidatesKnown.add(personInfo);
LogUtils.e("testtrack", " after candidatesKnown " + personInfo);
}
}
});

if (candidatesKnown.size() == 0) {
if (candidatesUnknown.size() > 0) {
if (candidatesUnknown.size() > 0 && mSelectPerson.isStranger()) {
mSelectPerson = selectUnknownMaxFacePerson(candidatesUnknown);
}
} else {
int maxTag = selectPersonMaxTag(candidatesKnown);
mSelectPerson = filterHighLevelAndMaxFacePerson(candidatesKnown, maxTag);
//LogUtils.e("testtrack", " after filterHighLevelAndMaxFacePerson " + mSelectPerson);
LogUtils.e("testtrack", " after filterHighLevelAndMaxFacePerson " + mSelectPerson);
}

sendMsgAndLog();
@@ -576,7 +579,7 @@ public class FaceChatGreetingQueueMode implements ChatMode {
List<PersonInfo> candidates = new ArrayList<>();
long time = System.currentTimeMillis();
mPersonsInScreen.forEach((value) -> {
if (value.faceWidth - faceSize > FACE_DIFF || value.level > level) {
if (value.faceWidth - faceSize > FACE_DIFF || value.level < level) {
Optional<PersonInfo> pInfo = mCandidates.stream().filter(item -> item.id.equals(value.id)).findFirst();
if (pInfo.isPresent()) {
value.candidateTime = pInfo.get().candidateTime;
@@ -599,6 +602,7 @@ public class FaceChatGreetingQueueMode implements ChatMode {
});
mCandidates.clear();
mCandidates = candidates;
LogUtils.e("testtrack", " selectCandidate level " + level + " mCandidates " + mCandidates.size());
}

private static int selectPersonMaxTag(HashSet<PersonInfo> persons) {
@@ -607,6 +611,7 @@ public class FaceChatGreetingQueueMode implements ChatMode {
int mTag = value.level;
if (mTag < maxTag.get()) {
maxTag.set(mTag);
LogUtils.e("testtrack", " selectPersonMaxTag maxtag " + mTag);
}
});
return maxTag.get();
@@ -742,7 +747,7 @@ public class FaceChatGreetingQueueMode implements ChatMode {
String sendingMsg = obj.toString();

StringBuilder builder = new StringBuilder();
builder.append("greet-").append("打招呼: ").append(message.name).append(" 类型: ")
builder.append("greet-").append("操作人: ").append(message.name).append(" 类型: ")
.append(message.tag).append(" 当前所有人:").append(all);
Logger.e(builder.toString());
MessageUtils.sendMessage(sendingMsg, type);


+ 1
- 1
base/src/main/java/com/shareopen/library/MVVM/application/BaseApplication.java Vedi File

@@ -15,7 +15,7 @@ public class BaseApplication extends Application {
public void onCreate() {
super.onCreate();
AppContext.bindAppContext(this);
LogUtils.setDebugMode(isDebugMode());
LogUtils.setDebugMode(true);
}

public boolean isDebugMode() {


Caricamento…
Annulla
Salva