MCPcopy Create free account
hub / github.com/Gabesarch/ICAL / get_2D_point

Method get_2D_point

TEACh/task_base/object_tracker.py:731–897  ·  view source on GitHub ↗

modes: reproject_centroid,

(
        self, 
        camX_T_origin=None, 
        obj_center_camX0_=None, 
        object_category=None, 
        rgb=None, 
        score_threshold=0.0,
        object_id=None,
        sampling='center'
        )

Source from the content-addressed store, hash-verified

729 return scores
730
731 def get_2D_point(
732 self,
733 camX_T_origin=None,
734 obj_center_camX0_=None,
735 object_category=None,
736 rgb=None,
737 score_threshold=0.0,
738 object_id=None,
739 sampling='center'
740 ):
741 '''
742 modes: reproject_centroid,
743 '''
744
745 if not self.use_gt_objecttrack: # first use detector?
746 if self.use_mask_rcnn_pred:
747 pred_boxes_or_masks_, pred_labels_, pred_scores_ = self.get_maskrcnn_predictions()
748 pred_boxes_or_masks, pred_labels, pred_scores = [], [], []
749 for i in range(len(pred_labels_)):
750 if object_category is None or self.id_to_name[pred_labels_[i]]==object_category:
751 pred_boxes_or_masks.append(pred_boxes_or_masks_[i])
752 pred_labels.append(pred_labels_[i])
753 pred_scores.append(pred_scores_[i])
754 if len(pred_boxes_or_masks)>0:
755 pred_boxes_or_masks = np.stack(pred_boxes_or_masks, axis=0)
756 pred_labels = np.asarray(pred_labels)
757 pred_scores = np.asarray(pred_scores)
758 if object_id is not None:
759 pred_scores_sorted = self.sort_masks_by_reprojected_from_ID(pred_boxes_or_masks, object_id, return_idxs=True)
760 else:
761 pred_scores_sorted = np.argsort(-pred_scores)
762 elif self.use_odin:
763 self.odin_input_dict['images'].append(rgb.copy())
764 self.odin_input_dict['depths'].append(self.navigation.task.get_observations()["depth"])
765 self.odin_input_dict['poses'].append(self.world_t_weird @ self.navigation.explorer.get_camX0_T_camX())
766 self.odin_input_dict['intrinsics'].append(self.pix_T_camX)
767 pred_boxes_or_masks, pred_labels, pred_scores, _, _ = self.multiview_detector.get_masks(
768 self.odin_input_dict,
769 target_class=object_category,
770 score_threshold=score_threshold,
771 id_to_mapped_id=self.id_to_mapped_id,
772 )
773 pred_boxes_or_masks = pred_boxes_or_masks[:,-1]
774 if len(pred_boxes_or_masks)>0:
775 keep = np.sum(pred_boxes_or_masks.reshape(pred_boxes_or_masks.shape[0], -1), axis=1)>0
776 pred_boxes_or_masks, pred_labels, pred_scores = pred_boxes_or_masks[keep], pred_labels[keep], pred_scores[keep]
777 if object_id is not None:
778 pred_scores_sorted = self.sort_masks_by_reprojected_from_ID(pred_boxes_or_masks, object_id, return_idxs=True)
779 else:
780 pred_scores_sorted = np.argsort(-pred_scores)
781 else:
782 with torch.no_grad():
783 # first see if detector has it
784 out = check_for_detections(
785 rgb, self.ddetr, self.W, self.H,
786 self.score_labels_name, self.score_boxes_name,
787 score_threshold_ddetr=score_threshold, do_nms=False, return_features=False,
788 solq=self.use_solq, return_masks=self.do_masks, nms_threshold=self.nms_threshold, id_to_mapped_id=self.id_to_mapped_id,

Callers 1

get_point_2DsMethod · 0.80

Calls 11

get_objects_gtMethod · 0.95
check_for_detectionsFunction · 0.90
get_camX0_T_camXMethod · 0.80
get_masksMethod · 0.80
printFunction · 0.50
get_observationsMethod · 0.45
medianMethod · 0.45

Tested by

no test coverage detected