Browse Source

fix bugs in ai/video analysis

张许妍 4 years ago
parent
commit
16674daf99

+ 2 - 2
backend_refactor/service/ai/video/classify/balancebeam.py

@@ -2,9 +2,9 @@ def classify_balancebeam(re):
     ret=""
     if float(re["1"]["total_score"]) > 90:
         ret = ret + "The movement process and core strength are good. "
-    elif float(re["2"]["total_score"]) > 80:
+    elif float(re["1"]["total_score"]) > 80:
         ret = ret + "The movement process and core strength are not bad. "
-    elif float(re["2"]["total_score"]) > 70:
+    elif float(re["1"]["total_score"]) > 70:
         ret = ret + "The movement process needs to be improved. Need to do more to promote the core strength. The body_stability is not enough. Take some practice on the leg."
     else:
         ret = ret + "The movement process is terrible and needs to be improved. The core strength need to be improved. The body_stability is far from standard, see some relevant video to correct posture ."

+ 3 - 3
backend_refactor/service/ai/video/inner_analyze.py

@@ -201,11 +201,11 @@ def analyse_npy_side_jump(data):
     result["ankle_left_angle"] = cal_angle(data[13], data[14], data[19])
     result["ankle_small_right_angle"] = cal_angle(data[10], data[11], data[23])
     result["ankle_small_left_angle"] = cal_angle(data[13], data[14], data[20])
-    result["neck_right_angle"] = cal_angle(data[2], data[1], data[9])
-    result["neck_left_angle"] = cal_angle(data[5], data[1], data[12])
+    result["neck_right_angle"] = cal_angle(data[3], data[1], data[8])
+    result["neck_left_angle"] = cal_angle(data[6], data[1], data[8])
     result["should_right_angle"] = cal_angle(data[1], data[2], data[3])
     result["should_left_angle"] = cal_angle(data[1], data[5], data[6])
-    result["neck_centre_angle"] = cal_angle(data[2], data[1], data[5])
+    result["neck_centre_angle"] = cal_angle(data[3], data[1], data[6])
     result["neck_heigh"] = data[1][1]
     result["midhip_heigh"] = data[8][1]
     if float(data[11][0]) != 0 and float(data[14][0]) != 0:

+ 3 - 3
backend_refactor/service/ai/video/video_score/balancebeam.py

@@ -33,11 +33,11 @@ def cal_second_score(list):
     sum_score = 0
     score = 0
     for item in list:
-        if float(item["neck_centre_angle"]) == 0 or float(item["elbow_right_angle"]) == 0 or float(
-                item["elbow_left_angle"]) == 0:
+        if float(item["neck_right_angle"]) == 0 or float(item["elbow_right_angle"]) == 0 or float(
+                item["elbow_left_angle"]) == 0 or float(item["neck_left_angle"]) == 0:
             num = num - 1
         else:
-            score = cal_ratio(item["neck_centre_angle"], 180) * 60 + cal_ratio(item["elbow_right_angle"],
+            score = cal_ratio(item["neck_right_angle"], 90) * 30 + cal_ratio(item["neck_left_angle"], 90) * 30 + cal_ratio(item["elbow_right_angle"],
                                                                                180) * 20 + cal_ratio(
                 item["elbow_left_angle"],
                 180) * 20