@@ -26,7 +26,6 @@ def load_model(self, model_path):
2626
2727 if self .DEBUG :
2828 print ("[BlazeLandmark.load_model] Model File : " ,model_path )
29- #[BlazeLandmark.load_model] Model File : blaze_hailo/models/hand_landmark_lite.hef
3029
3130 self .hef_id = self .hailo_infer .load_model (model_path )
3231 if self .DEBUG :
@@ -59,8 +58,12 @@ def load_model(self, model_path):
5958
6059 if self .blaze_app == "blazehandlandmark" :
6160 self .inputShape = self .input_vstream_infos [0 ].shape
62- self .outputShape1 = tuple (self .output_vstream_infos [2 ].shape )
63- self .outputShape2 = tuple (self .output_vstream_infos [0 ].shape )
61+ if self .inputShape [1 ] == 224 : # hand_landmark_v0_07
62+ self .outputShape1 = tuple ((1 ,1 ))
63+ self .outputShape2 = tuple ((1 ,63 ))
64+ else : # hand_landmark_lite/hand_landmark_full
65+ self .outputShape1 = tuple (self .output_vstream_infos [2 ].shape )
66+ self .outputShape2 = tuple (self .output_vstream_infos [0 ].shape )
6467
6568 if self .blaze_app == "blazefacelandmark" :
6669 self .inputShape = self .input_vstream_infos [0 ].shape
@@ -126,7 +129,28 @@ def predict(self, x):
126129
127130 start = timer ()
128131
129- if self .blaze_app == "blazehandlandmark" :
132+ if self .blaze_app == "blazehandlandmark" and self .resolution == 256 :
133+ #[BlazeLandmark.load_model] Model File : blaze_hailo/models/hand_landmark_v0_07.hef
134+ #[BlazeLandmark.load_model] HEF Id : 0
135+ #[BlazeLandmark.load_model] Input VStream Infos : [VStreamInfo("hand_landmark_v0_07/input_layer1")]
136+ #[BlazeLandmark.load_model] Output VStream Infos : [VStreamInfo("hand_landmark_v0_07/conv48"), VStreamInfo("hand_landmark_v0_07/conv47"), VStreamInfo("hand_landmark_v0_07/conv46")]
137+ #[BlazeLandmark.load_model] Number of Inputs : 1
138+ #[BlazeLandmark.load_model] Input[ 0 ] Shape : (256, 256, 3)
139+ #[BlazeLandmark.load_model] Number of Outputs : 3
140+ #[BlazeLandmark.load_model] Output[ 0 ] Shape : (1, 1, 63)
141+ #[BlazeLandmark.load_model] Output[ 1 ] Shape : (1, 1, 1)
142+ #[BlazeLandmark.load_model] Output[ 2 ] Shape : (1, 1, 1)
143+ #[BlazeLandmark.load_model] Input Shape : (256, 256, 3)
144+ #[BlazeLandmark.load_model] Output1 Shape : (1, 1, 1)
145+ #[BlazeLandmark.load_model] Output2 Shape : (1, 1, 63)
146+ #[BlazeLandmark.load_model] Input Resolution : 256
147+ out1 = infer_results [self .output_vstream_infos [1 ].name ]
148+ out1 = out1 .reshape (1 ,1 )
149+ handedness = infer_results [self .output_vstream_infos [2 ].name ]
150+ out2 = infer_results [self .output_vstream_infos [0 ].name ]
151+ out2 = out2 .reshape (1 ,21 ,- 1 ) # 42 => [1,21,2] | 63 => [1,21,3]
152+ out2 = out2 / self .resolution
153+ elif self .blaze_app == "blazehandlandmark" and self .resolution == 224 :
130154 #[BlazeLandmark.load_model] Model File : blaze_hailo/models/hand_landmark_lite.hef
131155 #[BlazeLandmark.load_model] Input VStream Infos : [VStreamInfo("hand_landmark_lite/input_layer1")]
132156 #[BlazeLandmark.load_model] Output VStream Infos : [VStreamInfo("hand_landmark_lite/fc1"), VStreamInfo("hand_landmark_lite/fc4"), VStreamInfo("hand_landmark_lite/fc3"), VStreamInfo("hand_landmark_lite/fc2")]
0 commit comments