lyc110119120127
blackguru
2021-01-21 23:19

mask rcnn如何求检测后mask的坐标

  • python
  • tensorflow
  • 神经网络

初学者,正在使用maskrcnn检测一些长条状柱状物品,想要完成抓取作业。
物品检测可以顺利完成,现在想求出各个mask的中心坐标和两端的坐标,应该怎么做?利用像素点?还是转多边形再求中心和两端坐标?

以下是检测的部分代码


    def detect_image(self, image):
        image = [np.array(image)]
        molded_images, image_metas, windows = mold_inputs(self.config,image)

        image_shape = molded_images[0].shape
        anchors = get_anchors(self.config,image_shape)
        anchors = np.broadcast_to(anchors, (1,) + anchors.shape)

        detections, _, _, mrcnn_mask, _, _, _ =\
            self.model.predict([molded_images, image_metas, anchors], verbose=0)

        final_rois, final_class_ids, final_scores, final_masks =\
            unmold_detections(detections[0], mrcnn_mask[0],
                                    image[0].shape, molded_images[0].shape,
                                    windows[0])

        r = {
            "rois": final_rois,
            "class_ids": final_class_ids,
            "scores": final_scores,
            "masks": final_masks,
        }
        drawed_image = visualize.display_instances(image[0], r['rois'], r['masks'], 
                        r['class_ids'], self.class_names, r['scores'])

 

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

0条回答