diff --git a/fvcore/transforms/transform.py b/fvcore/transforms/transform.py index fbe2a58..7c18f67 100644 --- a/fvcore/transforms/transform.py +++ b/fvcore/transforms/transform.py @@ -721,6 +721,10 @@ def apply_polygons(self, polygons: list) -> list: if not isinstance(cropped, geometry.collection.BaseMultipartGeometry): cropped = [cropped] # one polygon may be cropped to multiple ones + if isinstance(cropped, geometry.MultiPolygon) or isinstance( + cropped, geometry.GeometryCollection + ): + cropped = cropped.geoms for poly in cropped: # It could produce lower dimensional objects like lines or # points, which we want to ignore