Browse Source

Add video analyzers.

Bob Huang 4 years ago
parent
commit
a1d807a753
2 changed files with 22 additions and 16 deletions
  1. 11 5
      backend_refactor/route/analyze.py
  2. 11 11
      backend_refactor/service/video_analyzer.py

+ 11 - 5
backend_refactor/route/analyze.py

@@ -9,7 +9,7 @@ from db import db
 from db.task import Task
 from route.util import make_response
 from service.photo_analyzer import StandingPhotoAnalyzer
-from service.video_analyzer import JuanfuAnalyzer, SitforwardAnalyzer
+from service.video_analyzer import *
 from worker.thread_pool import pool
 
 # from service.video_analyzer import BaseVideoAnalyzer, CrunchVideoAnalyzer, HighKneesVideoAnalyzer, \
@@ -48,11 +48,17 @@ def analysis():
 
     types = {
         "PHOTO_STANDING": StandingPhotoAnalyzer,
-        # "VIDEO_HIGHKNEES": HighKneesVideoAnalyzer,
+        "VIDEO_HIGHKNEES": GaotaituiVideoAnalyzer,
         "VIDEO_CRUNCH": JuanfuAnalyzer,
-        # "VIDEO_STANDINGLONGJUMP": StandingLongJumpVideoAnalyzer,
-        # "VIDEO_PLANK": PlankVideoAnalyzer,
-        "VIDEO_SQUAT": SitforwardAnalyzer
+        "VIDEO_STANDINGLONGJUMP": JumpVideoAnalyzer,
+        "VIDEO_MULTIJUMP": JumpwithbothVideoAnalyzer,
+        "VIDEO_SITANDREACH": SitforwardVideoAnalyzer,
+        "VIDEO_RUNBACKANDFORTH": TrunaroundVideoAnalyzer,
+        "VIDEO_TENNISTHROW": TennisthrowVideoAnalyzer,
+        "VIDEO_BALANCEBEAM": BalancebeamVideoAnalyzer,
+        "VIDEO_SINGLELEGSTAND": StandingVideoAnalyzer,
+        "VIDEO_PLANK": PingbanVideoAnalyzer,
+        "VIDEO_SQUAT": ShendunVideoAnalyzer
     }
 
     ana_type = types.get(req.get('type'))

+ 11 - 11
backend_refactor/service/video_analyzer.py

@@ -93,67 +93,67 @@ from service.video_score.shendun import ignore_data_shendun
 from service.video_score.gaotaitui import ignore_data_gaotaitui
 
 
-class JumpAnalyzer(BaseVideoAnalyzer):
+class JumpVideoAnalyzer(BaseVideoAnalyzer):
     def _do_analyze(self):
         self.results = {k: analyse_npy_side_jump(v) for k, v in self.results.items()}
         return {"data": cal_jump(self.results)[1], "advice": "AI组说还没写完"}
 
 
-class PingbanAnalyzer(BaseVideoAnalyzer):
+class PingbanVideoAnalyzer(BaseVideoAnalyzer):
     def _do_analyze(self):
         self.results = {k: analyse_npy_side_jump(v) for k, v in self.results.items()}
         return {"data": cal_pingban(self.results)[1], "advice": "AI组说还没写完"}
 
 
-class JuanfuAnalyzer(BaseVideoAnalyzer):
+class JuanfuVideoAnalyzer(BaseVideoAnalyzer):
     def _do_analyze(self):
         self.results = {k: analyse_npy_side_juanfu(v) for k, v in self.results.items()}
         return {"data": ignore_data_juanfu(self.results)[1], "advice": "AI组说还没写完"}
 
 
-class ShendunAnalyzer(BaseVideoAnalyzer):
+class ShendunVideoAnalyzer(BaseVideoAnalyzer):
     def _do_analyze(self):
         self.results = {k: analyse_npy_side_shendun(v) for k, v in self.results.items()}
         return {"data": ignore_data_shendun(self.results)[1], "advice": "AI组说还没写完"}
 
 
-class GaotaituiAnalyzer(BaseVideoAnalyzer):
+class GaotaituiVideoAnalyzer(BaseVideoAnalyzer):
     def _do_analyze(self):
         self.results = {k: analyse_npy_side_gaotaitui(v) for k, v in self.results.items()}
         return {"data": ignore_data_gaotaitui(self.results)[1], "advice": "AI组说还没写完"}
 
 
-class TrunaroundAnalyzer(BaseVideoAnalyzer):
+class TurnaroundVideoAnalyzer(BaseVideoAnalyzer):
     def _do_analyze(self):
         self.results = {k: analyse_npy_side_jump(v) for k, v in self.results.items()}
         return {"data": cal_turnaround(self.results)[1], "advice": "AI组说还没写完"}
 
 
-class TennisthrowAnalyzer(BaseVideoAnalyzer):
+class TennisthrowVideoAnalyzer(BaseVideoAnalyzer):
     def _do_analyze(self):
         self.results = {k: analyse_npy_side_jump(v) for k, v in self.results.items()}
         return {"data": cal_tennisthrow(self.results)[1], "advice": "AI组说还没写完"}
 
 
-class JumpwithbothAnalyzer(BaseVideoAnalyzer):
+class JumpwithbothVideoAnalyzer(BaseVideoAnalyzer):
     def _do_analyze(self):
         self.results = {k: analyse_npy_side_jump(v) for k, v in self.results.items()}
         return {"data": cal_jumpwithboth(self.results)[1], "advice": "AI组说还没写完"}
 
 
-class SitforwardAnalyzer(BaseVideoAnalyzer):
+class SitforwardVideoAnalyzer(BaseVideoAnalyzer):
     def _do_analyze(self):
         self.results = {k: analyse_npy_side_jump(v) for k, v in self.results.items()}
         return {"data": cal_sitforward(self.results)[1], "advice": "AI组说还没写完"}
 
 
-class BalancebeamAnalyzer(BaseVideoAnalyzer):
+class BalancebeamVideoAnalyzer(BaseVideoAnalyzer):
     def _do_analyze(self):
         self.results = {k: analyse_npy_side_jump(v) for k, v in self.results.items()}
         return {"data": cal_balancebeam(self.results)[1], "advice": "AI组说还没写完"}
 
 
-class StandingAnalyzer(BaseVideoAnalyzer):
+class StandingVideoAnalyzer(BaseVideoAnalyzer):
     def _do_analyze(self):
         self.results = {k: analyse_npy_side_jump(v) for k, v in self.results.items()}
         return {"data": cal_standing(self.results)[1], "advice": "AI组说还没写完"}