From 8353bbbf93e70c314350d0171575374b6ff57d52 Mon Sep 17 00:00:00 2001 From: Shiyu Date: Mon, 3 Jun 2024 07:45:51 +0800 Subject: [PATCH] Segment Anything Model (#552) * add segment anything model * add readme * reorg file structure * update * lint * minor updates * ack * fix weight loading * simplify * fix to run notebooks * amg in mlx * remove torch dependency * nit in README * return indices in nms * simplify * bugfix / simplify * fix bug' * simplify * fix notebook and remove output * couple more nits --------- Co-authored-by: Awni Hannun --- ACKNOWLEDGMENTS.md | 1 + segment_anything/README.md | 39 ++ segment_anything/convert.py | 91 +++ segment_anything/main.py | 225 +++++++ .../automatic_mask_generator_example.ipynb | 257 +++++++ segment_anything/notebooks/images/dog.jpg | Bin 0 -> 99846 bytes .../notebooks/images/groceries.jpg | Bin 0 -> 168066 bytes segment_anything/notebooks/images/truck.jpg | Bin 0 -> 271475 bytes .../notebooks/predictor_example.ipynb | 629 ++++++++++++++++++ segment_anything/requirements.txt | 3 + segment_anything/segment_anything/__init__.py | 1 + .../automatic_mask_generator.py | 425 ++++++++++++ segment_anything/segment_anything/common.py | 35 + .../segment_anything/image_encoder.py | 422 ++++++++++++ .../segment_anything/mask_decoder.py | 252 +++++++ .../segment_anything/predictor.py | 170 +++++ .../segment_anything/prompt_encoder.py | 229 +++++++ segment_anything/segment_anything/sam.py | 240 +++++++ .../segment_anything/transformer.py | 235 +++++++ .../segment_anything/utils/__init__.py | 0 .../segment_anything/utils/amg.py | 348 ++++++++++ .../segment_anything/utils/transforms.py | 65 ++ 22 files changed, 3667 insertions(+) create mode 100644 segment_anything/README.md create mode 100644 segment_anything/convert.py create mode 100644 segment_anything/main.py create mode 100644 segment_anything/notebooks/automatic_mask_generator_example.ipynb create mode 100644 segment_anything/notebooks/images/dog.jpg create mode 100644 segment_anything/notebooks/images/groceries.jpg create mode 100644 segment_anything/notebooks/images/truck.jpg create mode 100644 segment_anything/notebooks/predictor_example.ipynb create mode 100644 segment_anything/requirements.txt create mode 100644 segment_anything/segment_anything/__init__.py create mode 100644 segment_anything/segment_anything/automatic_mask_generator.py create mode 100644 segment_anything/segment_anything/common.py create mode 100644 segment_anything/segment_anything/image_encoder.py create mode 100644 segment_anything/segment_anything/mask_decoder.py create mode 100644 segment_anything/segment_anything/predictor.py create mode 100644 segment_anything/segment_anything/prompt_encoder.py create mode 100644 segment_anything/segment_anything/sam.py create mode 100644 segment_anything/segment_anything/transformer.py create mode 100644 segment_anything/segment_anything/utils/__init__.py create mode 100644 segment_anything/segment_anything/utils/amg.py create mode 100644 segment_anything/segment_anything/utils/transforms.py diff --git a/ACKNOWLEDGMENTS.md b/ACKNOWLEDGMENTS.md index 8d8557ca..2b98bc95 100644 --- a/ACKNOWLEDGMENTS.md +++ b/ACKNOWLEDGMENTS.md @@ -13,3 +13,4 @@ MLX Examples was developed with contributions from the following individuals: - Gabrijel Boduljak: Implemented `CLIP`. - Markus Enzweiler: Added the `cvae` examples. - Prince Canuma: Helped add support for `Starcoder2` models. +- Shiyu Li: Added the `Segment Anything Model`. diff --git a/segment_anything/README.md b/segment_anything/README.md new file mode 100644 index 00000000..6e2bc020 --- /dev/null +++ b/segment_anything/README.md @@ -0,0 +1,39 @@ +# Segment Anything + +An implementation of the Segment Anything Model (SAM) in MLX. See the original +repo by Meta AI for more details.[^1] + +## Installation + +```bash +pip install -r requirements.txt +``` + +## Convert + +```bash +python convert.py --hf-path facebook/sam-vit-base --mlx-path sam-vit-base +``` + +The `safetensors` weight file and configs are downloaded from Hugging Face, +converted, and saved in the directory specified by `--mlx-path`. + +The model sizes are: + +- `facebook/sam-vit-base` +- `facebook/sam-vit-large` +- `facebook/sam-vit-huge` + +## Run + +See examples `notebooks/predictor_example.ipynb` and +`notebooks/automatic_mask_generator_example.ipynb` to try the Segment Anything +Model with MLX. + +You can also generate masks from the command line: + +```bash +python main.py --model --input --output +``` + +[^1]: The original Segment Anything [GitHub repo](https://github.com/facebookresearch/segment-anything/tree/main). diff --git a/segment_anything/convert.py b/segment_anything/convert.py new file mode 100644 index 00000000..f15d0115 --- /dev/null +++ b/segment_anything/convert.py @@ -0,0 +1,91 @@ +import argparse +import json +import shutil +from pathlib import Path +from typing import Dict, Union + +import mlx.core as mx +from huggingface_hub import snapshot_download + + +def save_weights(save_path: Union[str, Path], weights: Dict[str, mx.array]) -> None: + """Save model weights into specified directory.""" + if isinstance(save_path, str): + save_path = Path(save_path) + save_path.mkdir(parents=True, exist_ok=True) + + total_size = sum(v.nbytes for v in weights.values()) + index_data = {"metadata": {"total_size": total_size}, "weight_map": {}} + + model_path = save_path / "model.safetensors" + mx.save_safetensors(str(model_path), weights) + + for weight_name in weights.keys(): + index_data["weight_map"][weight_name] = "model.safetensors" + + index_data["weight_map"] = { + k: index_data["weight_map"][k] for k in sorted(index_data["weight_map"]) + } + + with open(save_path / "model.safetensors.index.json", "w") as f: + json.dump(index_data, f, indent=4) + + +def download(hf_repo): + return Path( + snapshot_download( + repo_id=hf_repo, + allow_patterns=["*.safetensors", "*.json"], + resume_download=True, + ) + ) + + +def convert(model_path): + weight_file = str(model_path / "model.safetensors") + weights = mx.load(weight_file) + + mlx_weights = dict() + for k, v in weights.items(): + if k in { + "vision_encoder.patch_embed.projection.weight", + "vision_encoder.neck.conv1.weight", + "vision_encoder.neck.conv2.weight", + "prompt_encoder.mask_embed.conv1.weight", + "prompt_encoder.mask_embed.conv2.weight", + "prompt_encoder.mask_embed.conv3.weight", + }: + v = v.transpose(0, 2, 3, 1) + if k in { + "mask_decoder.upscale_conv1.weight", + "mask_decoder.upscale_conv2.weight", + }: + v = v.transpose(1, 2, 3, 0) + mlx_weights[k] = v + return mlx_weights + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Convert Meta SAM weights to MLX") + parser.add_argument( + "--hf-path", + default="facebook/sam-vit-base", + type=str, + help="Path to the Hugging Face model repo.", + ) + parser.add_argument( + "--mlx-path", + type=str, + default="sam-vit-base", + help="Path to save the MLX model.", + ) + args = parser.parse_args() + + model_path = download(args.hf_path) + + mlx_path = Path(args.mlx_path) + mlx_path.mkdir(parents=True, exist_ok=True) + + mlx_weights = convert(model_path) + save_weights(mlx_path, mlx_weights) + shutil.copy(model_path / "config.json", mlx_path / "config.json") diff --git a/segment_anything/main.py b/segment_anything/main.py new file mode 100644 index 00000000..76344f01 --- /dev/null +++ b/segment_anything/main.py @@ -0,0 +1,225 @@ +import argparse +import json +import os +import sys +from typing import Any, Dict, List + +import cv2 + +from segment_anything import SamAutomaticMaskGenerator, sam + +parser = argparse.ArgumentParser( + description=( + "Runs automatic mask generation on an input image or directory of images, " + "and outputs masks as either PNGs or COCO-style RLEs. Requires open-cv, " + "as well as pycocotools if saving in RLE format." + ) +) + +parser.add_argument( + "--input", + type=str, + required=True, + help="Path to either a single input image or folder of images.", +) + +parser.add_argument( + "--output", + type=str, + required=True, + help=( + "Path to the directory where masks will be output. Output will be either a folder " + "of PNGs per image or a single json with COCO-style masks." + ), +) + +parser.add_argument( + "--model", + type=str, + required=True, + help="The path to the SAM model to use for mask generation.", +) + +parser.add_argument( + "--convert-to-rle", + action="store_true", + help=( + "Save masks as COCO RLEs in a single json instead of as a folder of PNGs. " + "Requires pycocotools." + ), +) + +amg_settings = parser.add_argument_group("AMG Settings") + +amg_settings.add_argument( + "--points-per-side", + type=int, + default=None, + help="Generate masks by sampling a grid over the image with this many points to a side.", +) + +amg_settings.add_argument( + "--points-per-batch", + type=int, + default=None, + help="How many input points to process simultaneously in one batch.", +) + +amg_settings.add_argument( + "--pred-iou-thresh", + type=float, + default=None, + help="Exclude masks with a predicted score from the model that is lower than this threshold.", +) + +amg_settings.add_argument( + "--stability-score-thresh", + type=float, + default=None, + help="Exclude masks with a stability score lower than this threshold.", +) + +amg_settings.add_argument( + "--stability-score-offset", + type=float, + default=None, + help="Larger values perturb the mask more when measuring stability score.", +) + +amg_settings.add_argument( + "--box-nms-thresh", + type=float, + default=None, + help="The overlap threshold for excluding a duplicate mask.", +) + +amg_settings.add_argument( + "--crop-n-layers", + type=int, + default=None, + help=( + "If >0, mask generation is run on smaller crops of the image to generate more masks. " + "The value sets how many different scales to crop at." + ), +) + +amg_settings.add_argument( + "--crop-nms-thresh", + type=float, + default=None, + help="The overlap threshold for excluding duplicate masks across different crops.", +) + +amg_settings.add_argument( + "--crop-overlap-ratio", + type=int, + default=None, + help="Larger numbers mean image crops will overlap more.", +) + +amg_settings.add_argument( + "--crop-n-points-downscale-factor", + type=int, + default=None, + help="The number of points-per-side in each layer of crop is reduced by this factor.", +) + +amg_settings.add_argument( + "--min-mask-region-area", + type=int, + default=None, + help=( + "Disconnected mask regions or holes with area smaller than this value " + "in pixels are removed by postprocessing." + ), +) + + +def write_masks_to_folder(masks: List[Dict[str, Any]], path: str) -> None: + header = "id,area,bbox_x0,bbox_y0,bbox_w,bbox_h,point_input_x,point_input_y,predicted_iou,stability_score,crop_box_x0,crop_box_y0,crop_box_w,crop_box_h" # noqa + metadata = [header] + for i, mask_data in enumerate(masks): + mask = mask_data["segmentation"] + filename = f"{i}.png" + cv2.imwrite(os.path.join(path, filename), mask * 255) + mask_metadata = [ + str(i), + str(mask_data["area"]), + *[str(x) for x in mask_data["bbox"]], + *[str(x) for x in mask_data["point_coords"][0]], + str(mask_data["predicted_iou"]), + str(mask_data["stability_score"]), + *[str(x) for x in mask_data["crop_box"]], + ] + row = ",".join(mask_metadata) + metadata.append(row) + metadata_path = os.path.join(path, "metadata.csv") + with open(metadata_path, "w") as f: + f.write("\n".join(metadata)) + + return + + +def get_amg_kwargs(args): + amg_kwargs = { + "points_per_side": args.points_per_side, + "points_per_batch": args.points_per_batch, + "pred_iou_thresh": args.pred_iou_thresh, + "stability_score_thresh": args.stability_score_thresh, + "stability_score_offset": args.stability_score_offset, + "box_nms_thresh": args.box_nms_thresh, + "crop_n_layers": args.crop_n_layers, + "crop_nms_thresh": args.crop_nms_thresh, + "crop_overlap_ratio": args.crop_overlap_ratio, + "crop_n_points_downscale_factor": args.crop_n_points_downscale_factor, + "min_mask_region_area": args.min_mask_region_area, + } + amg_kwargs = {k: v for k, v in amg_kwargs.items() if v is not None} + return amg_kwargs + + +def main(args: argparse.Namespace) -> None: + print("Loading model...") + model = sam.load(args.model) + output_mode = "coco_rle" if args.convert_to_rle else "binary_mask" + amg_kwargs = get_amg_kwargs(args) + generator = SamAutomaticMaskGenerator(model, output_mode=output_mode, **amg_kwargs) + + if not os.path.isdir(args.input): + targets = [args.input] + else: + targets = [ + f + for f in os.listdir(args.input) + if not os.path.isdir(os.path.join(args.input, f)) + ] + targets = [os.path.join(args.input, f) for f in targets] + + os.makedirs(args.output, exist_ok=True) + + for t in targets: + print(f"Processing '{t}'...") + image = cv2.imread(t) + if image is None: + print(f"Could not load '{t}' as an image, skipping...") + continue + image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) + + masks = generator.generate(image) + + base = os.path.basename(t) + base = os.path.splitext(base)[0] + save_base = os.path.join(args.output, base) + if output_mode == "binary_mask": + os.makedirs(save_base, exist_ok=False) + write_masks_to_folder(masks, save_base) + else: + save_file = save_base + ".json" + with open(save_file, "w") as f: + json.dump(masks, f) + print("Done!") + + +if __name__ == "__main__": + args = parser.parse_args() + main(args) diff --git a/segment_anything/notebooks/automatic_mask_generator_example.ipynb b/segment_anything/notebooks/automatic_mask_generator_example.ipynb new file mode 100644 index 00000000..8504d1fd --- /dev/null +++ b/segment_anything/notebooks/automatic_mask_generator_example.ipynb @@ -0,0 +1,257 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Automatically generating object masks with SAM" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This notebook walks through how to automatically segment objects in an image. It is modified from [original SAM GitHub repo](https://github.com/facebookresearch/segment-anything/).\n", + "\n", + "Since SAM can efficiently process prompts, masks for the entire image can be generated by sampling a large number of prompts over an image. This method was used to generate the dataset SA-1B. \n", + "\n", + "The class `SamAutomaticMaskGenerator` implements this. It samples single-point input prompts in a grid over the image, from each of which SAM then predicts multiple masks. The masks are filtered for quality and deduplicated using non-max suppression. Additional options allow for further improvement of mask quality and quantity, such as running prediction on multiple crops of the image or postprocessing masks to remove small disconnected regions and holes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Set-up" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import cv2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def show_anns(anns):\n", + " if len(anns) == 0:\n", + " return\n", + " sorted_anns = sorted(anns, key=(lambda x: x['area']), reverse=True)\n", + " ax = plt.gca()\n", + " ax.set_autoscale_on(False)\n", + "\n", + " img = np.ones((sorted_anns[0]['segmentation'].shape[0], sorted_anns[0]['segmentation'].shape[1], 4))\n", + " img[:,:,3] = 0\n", + " for ann in sorted_anns:\n", + " m = ann['segmentation']\n", + " color_mask = np.concatenate([np.random.random(3), [0.35]])\n", + " img[m] = color_mask\n", + " ax.imshow(img)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "image = cv2.imread('images/dog.jpg')\n", + "image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(20,20))\n", + "plt.imshow(image)\n", + "plt.axis('off')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Automatic mask generation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To run automatic mask generation, provide a SAM model to the `SamAutomaticMaskGenerator` class. Set the path below to the SAM checkpoint." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append(\"..\")\n", + "from segment_anything import SamAutomaticMaskGenerator\n", + "from segment_anything.sam import load\n", + "\n", + "sam_checkpoint = \"../sam-vit-base\"\n", + "sam = load(sam_checkpoint)\n", + "\n", + "mask_generator = SamAutomaticMaskGenerator(sam)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To generate masks, run `generate` on an image." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "masks = mask_generator.generate(image)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Mask generation returns a list over masks. Each item is a dictionary with keys:\n", + "* `segmentation` : the mask\n", + "* `area` : the area of the mask in pixels\n", + "* `bbox` : the boundary box of the mask in XYWH format\n", + "* `predicted_iou` : the model's own prediction for the quality of the mask\n", + "* `point_coords` : the sampled input point that generated this mask\n", + "* `stability_score` : an additional measure of mask quality\n", + "* `crop_box` : the crop of the image used to generate this mask in XYWH format" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(len(masks))\n", + "print(masks[0].keys())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Show all the masks overlayed on the image." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(20,20))\n", + "plt.imshow(image)\n", + "show_anns(masks)\n", + "plt.axis('off')\n", + "plt.show() " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Automatic mask generation options" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are several tunable parameters in automatic mask generation that control how densely points are sampled and what the thresholds are for removing low quality or duplicate masks. Generation can be automatically run on crops of the image to get better results for smaller objects. Post-processing can remove stray pixels and holes. Here is an example configuration that samples more masks:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "mask_generator_2 = SamAutomaticMaskGenerator(\n", + " model=sam,\n", + " points_per_side=32,\n", + " pred_iou_thresh=0.86,\n", + " stability_score_thresh=0.92,\n", + " crop_n_layers=1,\n", + " crop_n_points_downscale_factor=2,\n", + " min_mask_region_area=100, # Requires open-cv to run post-processing\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "masks2 = mask_generator_2.generate(image)\n", + "len(masks2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(20,20))\n", + "plt.imshow(image)\n", + "show_anns(masks2)\n", + "plt.axis('off')\n", + "plt.show() " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/segment_anything/notebooks/images/dog.jpg b/segment_anything/notebooks/images/dog.jpg new file mode 100644 index 0000000000000000000000000000000000000000..26d6454d626bfd71b386ca1ba032836ea12f8a35 GIT binary patch literal 99846 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 literal 0 HcmV?d00001 diff --git a/segment_anything/notebooks/images/groceries.jpg b/segment_anything/notebooks/images/groceries.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85f791c45610e5a3c230fddb1e712dbc602f79d0 GIT binary patch literal 168066 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

q{^4mmvLA_=~iD6r36&B!^6uB3589G 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

D>Q;SW)@UhJx3GGk5LQWX4bTy*KLAXnrGh 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

TKdvf6^l_rsI~x16*WS^j#l#yr3T>cfSl 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%0A-;3#X>B2^;lu&{Q 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 GH~N21xIRh% literal 0 HcmV?d00001 diff --git a/segment_anything/notebooks/predictor_example.ipynb b/segment_anything/notebooks/predictor_example.ipynb new file mode 100644 index 00000000..0cd18f70 --- /dev/null +++ b/segment_anything/notebooks/predictor_example.ipynb @@ -0,0 +1,629 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Segmenting from Prompts\n", + "\n", + "This notebook walks through predicting object segmentations from a provided prompt. It uses the `Predictor` class. It is modified from [original SAM GitHub repo](https://github.com/facebookresearch/segment-anything/).\n", + "\n", + "### Setup\n", + "Necessary imports and helper functions for displaying points, boxes, and masks." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import cv2\n", + "import matplotlib.pyplot as plt\n", + "import mlx.core as mx\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def show_mask(mask, ax, random_color=False):\n", + " if random_color:\n", + " color = np.concatenate([np.random.random(3), np.array([0.6])], axis=0)\n", + " else:\n", + " color = np.array([30/255, 144/255, 255/255, 0.6])\n", + " h, w = mask.shape[:2]\n", + " mask_image = np.array(mask).reshape(h, w, 1) * color.reshape(1, 1, -1)\n", + " ax.imshow(mask_image)\n", + " \n", + "def show_points(coords, labels, ax, marker_size=375):\n", + " pos_points = np.array(coords)[labels==1]\n", + " neg_points = np.array(coords)[labels==0]\n", + " ax.scatter(pos_points[:, 0], pos_points[:, 1], color='green', marker='*', s=marker_size, edgecolor='white', linewidth=1.25)\n", + " ax.scatter(neg_points[:, 0], neg_points[:, 1], color='red', marker='*', s=marker_size, edgecolor='white', linewidth=1.25) \n", + " \n", + "def show_box(box, ax):\n", + " box = box.tolist()\n", + " x0, y0 = box[0], box[1]\n", + " w, h = box[2] - box[0], box[3] - box[1]\n", + " ax.add_patch(plt.Rectangle((x0, y0), w, h, edgecolor='green', facecolor=(0,0,0,0), lw=2)) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "image = cv2.imread('images/truck.jpg')\n", + "image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(10,10))\n", + "plt.imshow(image)\n", + "plt.axis('on')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Selecting objects with SAM" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, load the SAM model and predictor. Change the path below to point to the SAM checkpoint." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append(\"..\")\n", + "from segment_anything.sam import load\n", + "from segment_anything.predictor import SamPredictor\n", + "\n", + "sam_checkpoint = \"../sam-vit-base\"\n", + "sam = load(sam_checkpoint)\n", + "predictor = SamPredictor(sam)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Process the image to produce an image embedding by calling `SamPredictor.set_image`. `SamPredictor` remembers this embedding and will use it for subsequent mask prediction." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "predictor.set_image(image)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To select the truck, choose a point on it. Points are input to the model in (x,y) format and come with labels 1 (foreground point) or 0 (background point). Multiple points can be input; here we use only one. The chosen point will be shown as a star on the image." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "input_point = mx.array([[500, 375]])\n", + "input_label = mx.array([1])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(10,10))\n", + "plt.imshow(image)\n", + "show_points(input_point, input_label, plt.gca())\n", + "plt.axis('on')\n", + "plt.show() " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Predict with `SamPredictor.predict`. The model returns masks, quality predictions for those masks, and low resolution mask logits that can be passed to the next iteration of prediction." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "masks, scores, logits = predictor.predict(\n", + " point_coords=input_point[None],\n", + " point_labels=input_label[None],\n", + " multimask_output=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With `multimask_output=True` (the default setting), SAM outputs 3 masks, where `scores` gives the model's own estimation of the quality of these masks. This setting is intended for ambiguous input prompts, and helps the model disambiguate different objects consistent with the prompt. When `False`, it will return a single mask. For ambiguous prompts such as a single point, it is recommended to use `multimask_output=True` even if only a single mask is desired; the best single mask can be chosen by picking the one with the highest score returned in `scores`. This will often result in a better mask." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for i in range(masks.shape[-1]):\n", + " mask = masks[..., i]\n", + " score = scores[..., i].item()\n", + " plt.figure(figsize=(10,10))\n", + " plt.imshow(image)\n", + " show_mask(mask[0], plt.gca())\n", + " show_points(input_point, input_label, plt.gca())\n", + " plt.title(f\"Mask {i+1}, Score: {score:.3f}\", fontsize=18)\n", + " plt.axis('off')\n", + " plt.show() " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Specifying a specific object with additional points" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The single input point is ambiguous, and the model has returned multiple objects consistent with it. To obtain a single object, multiple points can be provided. If available, a mask from a previous iteration can also be supplied to the model to aid in prediction. When specifying a single object with multiple prompts, a single mask can be requested by setting `multimask_output=False`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "input_point = mx.array([[500, 375], [1125, 625]])\n", + "input_label = mx.array([1, 1])\n", + "mask_input = logits[..., mx.argmax(scores)] # Choose the model's best mask" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "masks, _, _ = predictor.predict(\n", + " point_coords=input_point[None],\n", + " point_labels=input_label[None],\n", + " mask_input=mask_input[..., None],\n", + " multimask_output=False,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(10,10))\n", + "plt.imshow(image)\n", + "show_mask(masks[0], plt.gca())\n", + "show_points(input_point, input_label, plt.gca())\n", + "plt.axis('off')\n", + "plt.show() " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To exclude the car and specify just the window, a background point (with label 0, here shown in red) can be supplied." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "input_point = mx.array([[500, 375], [1125, 625]])\n", + "input_label = mx.array([1, 0])\n", + "mask_input = logits[..., mx.argmax(scores)] # Choose the model's best mask" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "masks, _, _ = predictor.predict(\n", + " point_coords=input_point[None],\n", + " point_labels=input_label[None],\n", + " mask_input=mask_input[..., None],\n", + " multimask_output=False,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(10, 10))\n", + "plt.imshow(image)\n", + "show_mask(masks[0], plt.gca())\n", + "show_points(input_point, input_label, plt.gca())\n", + "plt.axis('off')\n", + "plt.show() " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Specifying a specific object with a box" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The model can also take a box as input, provided in xyxy format." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "input_box = mx.array([425, 600, 700, 875])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "masks, _, _ = predictor.predict(\n", + " point_coords=None,\n", + " point_labels=None,\n", + " box=input_box[None, :],\n", + " multimask_output=False,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(10, 10))\n", + "plt.imshow(image)\n", + "show_mask(masks[0, ..., 0], plt.gca())\n", + "show_box(input_box, plt.gca())\n", + "plt.axis('off')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Combining points and boxes" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Points and boxes may be combined, just by including both types of prompts to the predictor. Here this can be used to select just the trucks's tire, instead of the entire wheel." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "input_box = mx.array([425, 600, 700, 875])\n", + "input_point = mx.array([[575, 750]])\n", + "input_label = mx.array([0])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "masks, _, _ = predictor.predict(\n", + " point_coords=input_point[None],\n", + " point_labels=input_label[None],\n", + " box=input_box,\n", + " multimask_output=False,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(10, 10))\n", + "plt.imshow(image)\n", + "show_mask(masks[0, ..., 0], plt.gca())\n", + "show_box(input_box, plt.gca())\n", + "show_points(input_point, input_label, plt.gca())\n", + "plt.axis('off')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Batched prompt inputs" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`SamPredictor` can take multiple input prompts for the same image." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "input_boxes = mx.array([\n", + " [75, 275, 1725, 850],\n", + " [425, 600, 700, 875],\n", + " [1375, 550, 1650, 800],\n", + " [1240, 675, 1400, 750],\n", + "])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "masks, _, _ = predictor.predict(\n", + " point_coords=None,\n", + " point_labels=None,\n", + " box=input_boxes,\n", + " multimask_output=False,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(10, 10))\n", + "plt.imshow(image)\n", + "for mask in masks:\n", + " show_mask(mask, plt.gca(), random_color=True)\n", + "for box in input_boxes:\n", + " show_box(box, plt.gca())\n", + "plt.axis('off')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## End-to-end batched inference" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If all prompts are available in advance, it is possible to run SAM directly in an end-to-end fashion. This also allows batching over images." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "image1 = image # truck.jpg from above\n", + "image1_boxes = mx.array([\n", + " [75, 275, 1725, 850],\n", + " [425, 600, 700, 875],\n", + " [1375, 550, 1650, 800],\n", + " [1240, 675, 1400, 750],\n", + "])\n", + "\n", + "image2 = cv2.imread('images/groceries.jpg')\n", + "image2 = cv2.cvtColor(image2, cv2.COLOR_BGR2RGB)\n", + "image2_boxes = mx.array([\n", + " [450, 170, 520, 350],\n", + " [350, 190, 450, 350],\n", + " [500, 170, 580, 350],\n", + " [580, 170, 640, 350],\n", + "])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Both images and prompts are input as mlx array that are already transformed to the correct frame. Inputs are packaged as a list over images, which each element is a dict that takes the following keys:\n", + "* `image`: The input image as a mlx array in HWC format.\n", + "* `original_size`: The size of the image before transforming for input to SAM, in (H, W) format.\n", + "* `point_coords`: Batched coordinates of point prompts.\n", + "* `point_labels`: Batched labels of point prompts.\n", + "* `boxes`: Batched input boxes.\n", + "* `mask_inputs`: Batched input masks.\n", + "\n", + "If a prompt is not present, the key can be excluded." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from segment_anything.utils.transforms import ResizeLongestSide\n", + "resize_transform = ResizeLongestSide(sam.vision_encoder.img_size)\n", + "\n", + "def prepare_image(image, transform, device):\n", + " image = transform.apply_image(image)\n", + " image = mx.array(image)\n", + " return image" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "batched_input = [\n", + " {\n", + " 'image': prepare_image(image1, resize_transform, sam),\n", + " 'boxes': resize_transform.apply_boxes(image1_boxes, image1.shape[:2]),\n", + " 'original_size': image1.shape[:2]\n", + " },\n", + " {\n", + " 'image': prepare_image(image2, resize_transform, sam),\n", + " 'boxes': resize_transform.apply_boxes(image2_boxes, image2.shape[:2]),\n", + " 'original_size': image2.shape[:2]\n", + " }\n", + "]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Run the model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "batched_output = sam(batched_input, multimask_output=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output is a list over results for each input image, where list elements are dictionaries with the following keys:\n", + "* `masks`: A batched mlx array of predicted binary masks, the size of the original image.\n", + "* `iou_predictions`: The model's prediction of the quality for each mask.\n", + "* `low_res_logits`: Low res logits for each mask, which can be passed back to the model as mask input on a later iteration." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots(1, 2, figsize=(20, 20))\n", + "\n", + "ax[0].imshow(image1)\n", + "for mask in batched_output[0]['masks']:\n", + " show_mask(np.array(mask), ax[0], random_color=True)\n", + "for box in image1_boxes:\n", + " show_box(np.array(box), ax[0])\n", + "ax[0].axis('off')\n", + "\n", + "ax[1].imshow(image2)\n", + "for mask in batched_output[1]['masks']:\n", + " show_mask(np.array(mask), ax[1], random_color=True)\n", + "for box in image2_boxes:\n", + " show_box(np.array(box), ax[1])\n", + "ax[1].axis('off')\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/segment_anything/requirements.txt b/segment_anything/requirements.txt new file mode 100644 index 00000000..b651c955 --- /dev/null +++ b/segment_anything/requirements.txt @@ -0,0 +1,3 @@ +matplotlib +opencv-python +huggingface_hub diff --git a/segment_anything/segment_anything/__init__.py b/segment_anything/segment_anything/__init__.py new file mode 100644 index 00000000..b419eb03 --- /dev/null +++ b/segment_anything/segment_anything/__init__.py @@ -0,0 +1 @@ +from .automatic_mask_generator import SamAutomaticMaskGenerator diff --git a/segment_anything/segment_anything/automatic_mask_generator.py b/segment_anything/segment_anything/automatic_mask_generator.py new file mode 100644 index 00000000..d293d50a --- /dev/null +++ b/segment_anything/segment_anything/automatic_mask_generator.py @@ -0,0 +1,425 @@ +from typing import Any, Dict, List, Optional, Tuple + +import mlx.core as mx +import numpy as np + +from .predictor import SamPredictor +from .sam import Sam +from .utils.amg import ( + MaskData, + area_from_rle, + batch_iterator, + batched_mask_to_box, + box_xyxy_to_xywh, + build_all_layer_point_grids, + calculate_stability_score, + coco_encode_rle, + generate_crop_boxes, + is_box_near_crop_edge, + mask_to_rle_mlx, + remove_small_regions, + rle_to_mask, + uncrop_boxes_xyxy, + uncrop_masks, + uncrop_points, +) + + +class SamAutomaticMaskGenerator: + def __init__( + self, + model: Sam, + points_per_side: Optional[int] = 32, + points_per_batch: int = 64, + pred_iou_thresh: float = 0.88, + stability_score_thresh: float = 0.95, + stability_score_offset: float = 1.0, + box_nms_thresh: float = 0.7, + crop_n_layers: int = 0, + crop_nms_thresh: float = 0.7, + crop_overlap_ratio: float = 512 / 1500, + crop_n_points_downscale_factor: int = 1, + point_grids: Optional[List[mx.array]] = None, + min_mask_region_area: int = 0, + output_mode: str = "binary_mask", + ) -> None: + """ + Using a SAM model, generates masks for the entire image. + Generates a grid of point prompts over the image, then filters + low quality and duplicate masks. The default settings are chosen + for SAM with a ViT-H backbone. + + Arguments: + model (Sam): The SAM model to use for mask prediction. + points_per_side (int or None): The number of points to be sampled + along one side of the image. The total number of points is + points_per_side**2. If None, 'point_grids' must provide explicit + point sampling. + points_per_batch (int): Sets the number of points run simultaneously + by the model. Higher numbers may be faster but use more GPU memory. + pred_iou_thresh (float): A filtering threshold in [0,1], using the + model's predicted mask quality. + stability_score_thresh (float): A filtering threshold in [0,1], using + the stability of the mask under changes to the cutoff used to binarize + the model's mask predictions. + stability_score_offset (float): The amount to shift the cutoff when + calculated the stability score. + box_nms_thresh (float): The box IoU cutoff used by non-maximal + suppression to filter duplicate masks. + crop_n_layers (int): If >0, mask prediction will be run again on + crops of the image. Sets the number of layers to run, where each + layer has 2**i_layer number of image crops. + crop_nms_thresh (float): The box IoU cutoff used by non-maximal + suppression to filter duplicate masks between different crops. + crop_overlap_ratio (float): Sets the degree to which crops overlap. + In the first crop layer, crops will overlap by this fraction of + the image length. Later layers with more crops scale down this overlap. + crop_n_points_downscale_factor (int): The number of points-per-side + sampled in layer n is scaled down by crop_n_points_downscale_factor**n. + point_grids (list(mx.array) or None): A list over explicit grids + of points used for sampling, normalized to [0,1]. The nth grid in the + list is used in the nth crop layer. Exclusive with points_per_side. + min_mask_region_area (int): If >0, postprocessing will be applied + to remove disconnected regions and holes in masks with area smaller + than min_mask_region_area. Requires opencv. + output_mode (str): The form masks are returned in. Can be 'binary_mask', + 'uncompressed_rle', or 'coco_rle'. 'coco_rle' requires pycocotools. + For large resolutions, 'binary_mask' may consume large amounts of + memory. + """ + + assert (points_per_side is None) != ( + point_grids is None + ), "Exactly one of points_per_side or point_grid must be provided." + if points_per_side is not None: + self.point_grids = build_all_layer_point_grids( + points_per_side, + crop_n_layers, + crop_n_points_downscale_factor, + ) + elif point_grids is not None: + self.point_grids = point_grids + else: + raise ValueError("Can't have both points_per_side and point_grid be None.") + + assert output_mode in [ + "binary_mask", + "uncompressed_rle", + "coco_rle", + ], f"Unknown output_mode {output_mode}." + if output_mode == "coco_rle": + from pycocotools import mask as mask_utils # type: ignore # noqa: F401 + + if min_mask_region_area > 0: + import cv2 # type: ignore # noqa: F401 + + self.predictor = SamPredictor(model) + self.points_per_batch = points_per_batch + self.pred_iou_thresh = pred_iou_thresh + self.stability_score_thresh = stability_score_thresh + self.stability_score_offset = stability_score_offset + self.box_nms_thresh = box_nms_thresh + self.crop_n_layers = crop_n_layers + self.crop_nms_thresh = crop_nms_thresh + self.crop_overlap_ratio = crop_overlap_ratio + self.crop_n_points_downscale_factor = crop_n_points_downscale_factor + self.min_mask_region_area = min_mask_region_area + self.output_mode = output_mode + + def generate(self, image: np.ndarray) -> List[Dict[str, Any]]: + """ + Generates masks for the given image. + + Arguments: + image (np.ndarray): The image to generate masks for, in HWC uint8 format. + + Returns: + list(dict(str, any)): A list over records for masks. Each record is + a dict containing the following keys: + segmentation (dict(str, any) or np.ndarray): The mask. If + output_mode='binary_mask', is an array of shape HW. Otherwise, + is a dictionary containing the RLE. + bbox (list(float)): The box around the mask, in XYWH format. + area (int): The area in pixels of the mask. + predicted_iou (float): The model's own prediction of the mask's + quality. This is filtered by the pred_iou_thresh parameter. + point_coords (list(list(float))): The point coordinates input + to the model to generate this mask. + stability_score (float): A measure of the mask's quality. This + is filtered on using the stability_score_thresh parameter. + crop_box (list(float)): The crop of the image used to generate + the mask, given in XYWH format. + """ + + # Generate masks + mask_data = self._generate_masks(image) + + # Filter small disconnected regions and holes in masks + if self.min_mask_region_area > 0: + mask_data = self.postprocess_small_regions( + mask_data, + self.min_mask_region_area, + max(self.box_nms_thresh, self.crop_nms_thresh), + ) + + # Encode masks + if self.output_mode == "coco_rle": + mask_data["segmentations"] = [ + coco_encode_rle(rle) for rle in mask_data["rles"] + ] + elif self.output_mode == "binary_mask": + mask_data["segmentations"] = [rle_to_mask(rle) for rle in mask_data["rles"]] + else: + mask_data["segmentations"] = mask_data["rles"] + + # Write mask records + curr_anns = [] + for idx in range(len(mask_data["segmentations"])): + ann = { + "segmentation": mask_data["segmentations"][idx], + "area": area_from_rle(mask_data["rles"][idx]), + "bbox": box_xyxy_to_xywh(mask_data["boxes"][idx]).tolist(), + "predicted_iou": mask_data["iou_preds"][idx].item(), + "point_coords": [mask_data["points"][idx].tolist()], + "stability_score": mask_data["stability_score"][idx].item(), + "crop_box": box_xyxy_to_xywh(mask_data["crop_boxes"][idx]).tolist(), + } + curr_anns.append(ann) + + return curr_anns + + def _generate_masks(self, image: np.ndarray) -> MaskData: + orig_size = image.shape[:2] + crop_boxes, layer_idxs = generate_crop_boxes( + orig_size, self.crop_n_layers, self.crop_overlap_ratio + ) + + # Iterate over image crops + data = MaskData() + for crop_box, layer_idx in zip(crop_boxes, layer_idxs): + crop_data = self._process_crop(image, crop_box, layer_idx, orig_size) + data.cat(crop_data) + + # Remove duplicate masks between crops + if len(crop_boxes) > 1: + # Prefer masks from smaller crops + scores = 1 / box_area(data["crop_boxes"]) + keep_by_nms = non_max_supression( + data["boxes"].astype(mx.float32), + scores, + iou_threshold=self.crop_nms_thresh, + ) + data.filter(keep_by_nms) + + data.to_numpy() + return data + + def _process_crop( + self, + image: np.ndarray, + crop_box: List[int], + crop_layer_idx: int, + orig_size: Tuple[int, ...], + ) -> MaskData: + # Crop the image and calculate embeddings + x0, y0, x1, y1 = crop_box + cropped_im = image[y0:y1, x0:x1, :] + cropped_im_size = cropped_im.shape[:2] + self.predictor.set_image(cropped_im) + + # Get points for this crop + points_scale = mx.array(cropped_im_size[::-1])[None] + points_for_image = self.point_grids[crop_layer_idx] * points_scale + + # Generate masks for this crop in batches + data = MaskData() + for (points,) in batch_iterator(self.points_per_batch, points_for_image): + batch_data = self._process_batch( + points, cropped_im_size, crop_box, orig_size + ) + data.cat(batch_data) + del batch_data + self.predictor.reset_image() + + # Remove duplicates within this crop. + keep_by_nms = non_max_supression( + data["boxes"].astype(mx.float32), + data["iou_preds"], + iou_threshold=self.box_nms_thresh, + ) + data.filter(keep_by_nms) + + # Return to the original image frame + data["boxes"] = uncrop_boxes_xyxy(data["boxes"], crop_box) + data["points"] = uncrop_points(data["points"], crop_box) + data["crop_boxes"] = mx.array([crop_box for _ in range(len(data["rles"]))]) + return data + + def _process_batch( + self, + points: np.ndarray, + im_size: Tuple[int, ...], + crop_box: List[int], + orig_size: Tuple[int, ...], + ) -> MaskData: + orig_h, orig_w = orig_size + + masks, iou_preds, _ = self.predictor.predict( + points[:, None, :], + mx.ones((points.shape[0], 1), dtype=mx.int64), + multimask_output=True, + return_logits=True, + ) + masks = masks.transpose(0, 3, 1, 2) + # Serialize predictions and store in MaskData + data = MaskData( + masks=masks.flatten(0, 1), + iou_preds=iou_preds.flatten(0, 1), + points=mx.repeat(points, masks.shape[1], axis=0), + ) + del masks + + # Filter by predicted IoU + if self.pred_iou_thresh > 0.0: + keep_mask = data["iou_preds"] > self.pred_iou_thresh + data.filter(keep_mask) + + # Calculate stability score + data["stability_score"] = calculate_stability_score( + data["masks"], + self.predictor.model.mask_threshold, + self.stability_score_offset, + ) + if self.stability_score_thresh > 0.0: + keep_mask = data["stability_score"] >= self.stability_score_thresh + data.filter(keep_mask) + + # Threshold masks and calculate boxes + data["masks"] = data["masks"] > self.predictor.model.mask_threshold + data["boxes"] = batched_mask_to_box(data["masks"]) + + # Filter boxes that touch crop boundaries + keep_mask = ~is_box_near_crop_edge( + data["boxes"], crop_box, [0, 0, orig_w, orig_h] + ) + if not mx.all(keep_mask): + data.filter(keep_mask) + + # Compress to RLE + data["masks"] = uncrop_masks(data["masks"], crop_box, orig_h, orig_w) + data["rles"] = mask_to_rle_mlx(data["masks"]) + del data["masks"] + + return data + + @staticmethod + def postprocess_small_regions( + mask_data: MaskData, min_area: int, nms_thresh: float + ) -> MaskData: + """ + Removes small disconnected regions and holes in masks, then reruns + box NMS to remove any new duplicates. + + Edits mask_data in place. + + Requires open-cv as a dependency. + """ + if len(mask_data["rles"]) == 0: + return mask_data + + # Filter small disconnected regions and holes + new_masks = [] + scores = [] + for rle in mask_data["rles"]: + mask = rle_to_mask(rle) + + mask, changed = remove_small_regions(mask, min_area, mode="holes") + unchanged = not changed + mask, changed = remove_small_regions(mask, min_area, mode="islands") + unchanged = unchanged and not changed + + new_masks.append(mx.array(mask)[None]) + # Give score=0 to changed masks and score=1 to unchanged masks + # so NMS will prefer ones that didn't need postprocessing + scores.append(float(unchanged)) + scores = mx.array(scores) + + # Recalculate boxes and remove any new duplicates + masks = mx.concatenate(new_masks, axis=0) + boxes = batched_mask_to_box(masks) + keep_by_nms = non_max_supression( + boxes.astype(mx.float32), + scores, + iou_threshold=nms_thresh, + ) + # Only recalculate RLEs for masks that have changed + for i_mask, keep in enumerate(keep_by_nms): + if not keep: + continue + if scores[i_mask] == 0.0: + mask_mlx = masks[i_mask][None] + mask_data["rles"][i_mask] = mask_to_rle_mlx(mask_mlx)[0] + mask_data["boxes"][i_mask] = boxes[i_mask] # update res directly + mask_data.filter(keep_by_nms) + + return mask_data + + +def box_area(boxes: mx.array) -> mx.array: + """ + Computes the area of a set of bounding boxes, which are specified by their + (x1, y1, x2, y2) coordinates. + + Args: + boxes (mx.array[N, 4]): boxes for which the area will be computed. They + are expected to be in (x1, y1, x2, y2) format with + ``0 <= x1 < x2`` and ``0 <= y1 < y2``. + + Returns: + mx.array[N]: the area for each box + """ + return (boxes[:, 2] - boxes[:, 0]) * (boxes[:, 3] - boxes[:, 1]) + + +def batched_iou(boxes_a: mx.array, boxes_b: mx.array) -> mx.array: + """Compute IoU for batched boxes. + + Args: + boxes_a (mx.array): [..., [x1, y1, x2, y2]] sized Mx4 + boxes_b (mx.array): [..., [x1, y1, x2, y2]] sized Nx4 + + Returns: + mx.array: MxN + """ + + area_a = box_area(boxes_a) # M + area_b = box_area(boxes_b) # N + + top_left = mx.maximum(boxes_a[:, None, :2], boxes_b[:, :2]) + bottom_right = mx.minimum(boxes_a[:, None, 2:], boxes_b[:, 2:]) + + area_inter = mx.prod(mx.clip(bottom_right - top_left, a_min=0, a_max=None), 2) + + return area_inter / (area_a[:, None] + area_b - area_inter) + + +def non_max_supression( + boxes: mx.array, scores: mx.array, iou_threshold: float = 0.5 +) -> mx.array: + sort_index = mx.argsort(-scores) + boxes = boxes[sort_index] + + n_boxes = boxes.shape[0] + ious = batched_iou(boxes, boxes) + ious -= mx.eye(n_boxes) + + ious = np.array(ious) + keep = np.ones(n_boxes, dtype=np.bool_) + for i, iou in enumerate(ious): + if not keep[i]: + continue + + condition = iou <= iou_threshold + keep = keep & condition + + return sort_index[mx.array(np.where(keep)[0])] diff --git a/segment_anything/segment_anything/common.py b/segment_anything/segment_anything/common.py new file mode 100644 index 00000000..698e6b9f --- /dev/null +++ b/segment_anything/segment_anything/common.py @@ -0,0 +1,35 @@ +from typing import Type + +import mlx.core as mx +import mlx.nn as nn + + +class MLPBlock(nn.Module): + def __init__( + self, + embedding_dim: int, + mlp_dim: int, + act: Type[nn.Module] = nn.GELU, + ) -> None: + super().__init__() + self.lin1 = nn.Linear(embedding_dim, mlp_dim) + self.lin2 = nn.Linear(mlp_dim, embedding_dim) + self.act = act() + + def __call__(self, x: mx.array) -> mx.array: + return self.lin2(self.act(self.lin1(x))) + + +class LayerNorm2d(nn.Module): + def __init__(self, num_channels: int, eps: float = 1e-6) -> None: + super().__init__() + self.weight = mx.ones(num_channels) + self.bias = mx.zeros(num_channels) + self.eps = eps + + def __call__(self, x: mx.array) -> mx.array: + u = x.mean(3, keepdims=True) + s = ((x - u) ** 2).mean(3, keepdims=True) + x = (x - u) / mx.sqrt(s + self.eps) + x = self.weight * x + self.bias + return x diff --git a/segment_anything/segment_anything/image_encoder.py b/segment_anything/segment_anything/image_encoder.py new file mode 100644 index 00000000..193a7cdb --- /dev/null +++ b/segment_anything/segment_anything/image_encoder.py @@ -0,0 +1,422 @@ +from typing import Optional, Tuple, Type + +import mlx.core as mx +import mlx.nn as nn + +from .common import LayerNorm2d, MLPBlock + + +class ImageEncoderViT(nn.Module): + def __init__( + self, + img_size: int = 1024, + patch_size: int = 16, + in_chans: int = 3, + embed_dim: int = 768, + depth: int = 12, + num_heads: int = 12, + mlp_ratio: float = 4.0, + out_chans: int = 256, + qkv_bias: bool = True, + norm_layer: Type[nn.Module] = nn.LayerNorm, + act_layer: Type[nn.Module] = nn.GELU, + use_abs_pos: bool = True, + use_rel_pos: bool = False, + rel_pos_zero_init: bool = True, + window_size: int = 0, + global_attn_indexes: Tuple[int, ...] = (), + ) -> None: + """ + Args: + img_size (int): Input image size. + patch_size (int): Patch size. + in_chans (int): Number of input image channels. + embed_dim (int): Patch embedding dimension. + depth (int): Depth of ViT. + num_heads (int): Number of attention heads in each ViT block. + mlp_ratio (float): Ratio of mlp hidden dim to embedding dim. + qkv_bias (bool): If True, add a learnable bias to query, key, value. + norm_layer (nn.Module): Normalization layer. + act_layer (nn.Module): Activation layer. + use_abs_pos (bool): If True, use absolute positional embeddings. + use_rel_pos (bool): If True, add relative positional embeddings to the attention map. + rel_pos_zero_init (bool): If True, zero initialize relative positional parameters. + window_size (int): Window size for window attention blocks. + global_attn_indexes (list): Indexes for blocks using global attention. + """ + super().__init__() + self.img_size = img_size + + self.patch_embed = PatchEmbed( + kernel_size=(patch_size, patch_size), + stride=(patch_size, patch_size), + in_chans=in_chans, + embed_dim=embed_dim, + ) + + if use_abs_pos: + # Initialize absolute positional embedding with pretrain image size. + self.pos_embed = mx.zeros( + [1, img_size // patch_size, img_size // patch_size, embed_dim] + ) + else: + self.pos_embed = None + + self.layers = [] + for i in range(depth): + block = Block( + dim=embed_dim, + num_heads=num_heads, + mlp_ratio=mlp_ratio, + qkv_bias=qkv_bias, + norm_layer=norm_layer, + act_layer=act_layer, + use_rel_pos=use_rel_pos, + rel_pos_zero_init=rel_pos_zero_init, + window_size=window_size if i not in global_attn_indexes else 0, + input_size=(img_size // patch_size, img_size // patch_size), + ) + self.layers.append(block) + + self.neck = Neck(embed_dim, out_chans) + + def __call__(self, x: mx.array) -> mx.array: + x = self.patch_embed(x) + if self.pos_embed is not None: + x = x + self.pos_embed + + for blk in self.layers: + x = blk(x) + + x = self.neck(x) + return x + + +class Neck(nn.Module): + def __init__(self, embed_dim, out_chans): + super().__init__() + self.conv1 = nn.Conv2d( + embed_dim, + out_chans, + kernel_size=1, + bias=False, + ) + self.layer_norm1 = LayerNorm2d(out_chans) + self.conv2 = nn.Conv2d( + out_chans, + out_chans, + kernel_size=3, + padding=1, + bias=False, + ) + self.layer_norm2 = LayerNorm2d(out_chans) + + def __call__(self, x): + return self.layer_norm2(self.conv2(self.layer_norm1(self.conv1(x)))) + + +class Block(nn.Module): + """Transformer blocks with support of window attention and residual propagation blocks""" + + def __init__( + self, + dim: int, + num_heads: int, + mlp_ratio: float = 4.0, + qkv_bias: bool = True, + norm_layer: Type[nn.Module] = nn.LayerNorm, + act_layer: Type[nn.Module] = nn.GELU, + use_rel_pos: bool = False, + rel_pos_zero_init: bool = True, + window_size: int = 0, + input_size: Optional[Tuple[int, int]] = None, + ) -> None: + """ + Args: + dim (int): Number of input channels. + num_heads (int): Number of attention heads in each ViT block. + mlp_ratio (float): Ratio of mlp hidden dim to embedding dim. + qkv_bias (bool): If True, add a learnable bias to query, key, value. + norm_layer (nn.Module): Normalization layer. + act_layer (nn.Module): Activation layer. + use_rel_pos (bool): If True, add relative positional embeddings to the attention map. + rel_pos_zero_init (bool): If True, zero initialize relative positional parameters. + window_size (int): Window size for window attention blocks. If it equals 0, then + use global attention. + input_size (tuple(int, int) or None): Input resolution for calculating the relative + positional parameter size. + """ + super().__init__() + self.layer_norm1 = norm_layer(dim) + self.attn = Attention( + dim, + num_heads=num_heads, + qkv_bias=qkv_bias, + use_rel_pos=use_rel_pos, + rel_pos_zero_init=rel_pos_zero_init, + input_size=input_size if window_size == 0 else (window_size, window_size), + ) + + self.layer_norm2 = norm_layer(dim) + self.mlp = MLPBlock( + embedding_dim=dim, mlp_dim=int(dim * mlp_ratio), act=act_layer + ) + + self.window_size = window_size + + def __call__(self, x: mx.array) -> mx.array: + shortcut = x + x = self.layer_norm1(x) + # Window partition + if self.window_size > 0: + H, W = x.shape[1], x.shape[2] + x, pad_hw = window_partition(x, self.window_size) + + x = self.attn(x) + # Reverse window partition + if self.window_size > 0: + x = window_unpartition(x, self.window_size, pad_hw, (H, W)) + + x = shortcut + x + x = x + self.mlp(self.layer_norm2(x)) + + return x + + +class Attention(nn.Module): + """Multi-head Attention block with relative position embeddings.""" + + def __init__( + self, + dim: int, + num_heads: int = 8, + qkv_bias: bool = True, + use_rel_pos: bool = False, + rel_pos_zero_init: bool = True, + input_size: Optional[Tuple[int, int]] = None, + ) -> None: + """ + Args: + dim (int): Number of input channels. + num_heads (int): Number of attention heads. + qkv_bias (bool): If True, add a learnable bias to query, key, value. + rel_pos (bool): If True, add relative positional embeddings to the attention map. + rel_pos_zero_init (bool): If True, zero initialize relative positional parameters. + input_size (tuple(int, int) or None): Input resolution for calculating the relative + positional parameter size. + """ + super().__init__() + self.num_heads = num_heads + head_dim = dim // num_heads + self.scale = head_dim**-0.5 + + self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias) + self.proj = nn.Linear(dim, dim) + + self.use_rel_pos = use_rel_pos + if self.use_rel_pos: + assert ( + input_size is not None + ), "Input size must be provided if using relative positional encoding." + # initialize relative positional embeddings + self.rel_pos_h = mx.zeros(shape=(2 * input_size[0] - 1, head_dim)) + self.rel_pos_w = mx.zeros(shape=(2 * input_size[1] - 1, head_dim)) + + def __call__(self, x: mx.array) -> mx.array: + B, H, W, _ = x.shape + # qkv with shape (3, B, nHead, H * W, C) + qkv = ( + self.qkv(x) + .reshape(B, H * W, 3, self.num_heads, -1) + .transpose(2, 0, 3, 1, 4) + ) + + # q, k, v with shape (B * nHead, H * W, C) + qkv = qkv.reshape(3, B * self.num_heads, H * W, -1) + q, k, v = qkv[0], qkv[1], qkv[2] + + attn = (q * self.scale) @ k.transpose(0, 2, 1) + + if self.use_rel_pos: + attn = add_decomposed_rel_pos( + attn, q, self.rel_pos_h, self.rel_pos_w, (H, W), (H, W) + ) + + attn = mx.softmax(attn, axis=-1) + x = ( + (attn @ v) + .reshape(B, self.num_heads, H, W, -1) + .transpose(0, 2, 3, 1, 4) + .reshape(B, H, W, -1) + ) + x = self.proj(x) + + return x + + +def window_partition(x: mx.array, window_size: int) -> Tuple[mx.array, Tuple[int, int]]: + """ + Partition into non-overlapping windows with padding if needed. + Args: + x (mx.array): input tokens with [B, H, W, C]. + window_size (int): window size. + + Returns: + windows: windows after partition with [B * num_windows, window_size, window_size, C]. + (Hp, Wp): padded height and width before partition + """ + B, H, W, C = x.shape + + pad_h = (window_size - H % window_size) % window_size + pad_w = (window_size - W % window_size) % window_size + if pad_h > 0 or pad_w > 0: + x = mx.pad(x, ((0, 0), (0, pad_w), (0, pad_h), (0, 0))) + Hp, Wp = H + pad_h, W + pad_w + + x = x.reshape(B, Hp // window_size, window_size, Wp // window_size, window_size, C) + windows = x.transpose(0, 1, 3, 2, 4, 5).reshape(-1, window_size, window_size, C) + return windows, (Hp, Wp) + + +def window_unpartition( + windows: mx.array, + window_size: int, + pad_hw: Tuple[int, int], + hw: Tuple[int, int], +) -> mx.array: + """ + Window unpartition into original sequences and removing padding. + Args: + windows (mx.array): input tokens with [B * num_windows, window_size, window_size, C]. + window_size (int): window size. + pad_hw (Tuple): padded height and width (Hp, Wp). + hw (Tuple): original height and width (H, W) before padding. + + Returns: + x: unpartitioned sequences with [B, H, W, C]. + """ + Hp, Wp = pad_hw + H, W = hw + B = windows.shape[0] // (Hp * Wp // window_size // window_size) + x = windows.reshape( + B, Hp // window_size, Wp // window_size, window_size, window_size, -1 + ) + x = x.transpose(0, 1, 3, 2, 4, 5).reshape(B, Hp, Wp, -1) + + if Hp > H or Wp > W: + x = x[:, :H, :W, :] + return x + + +def get_rel_pos(q_size: int, k_size: int, rel_pos: mx.array) -> mx.array: + """ + Get relative positional embeddings according to the relative positions of + query and key sizes. + Args: + q_size (int): size of query q. + k_size (int): size of key k. + rel_pos (mx.array): relative position embeddings (L, C). + + Returns: + Extracted positional embeddings according to relative positions. + """ + max_rel_dist = int(2 * max(q_size, k_size) - 1) + # Interpolate rel pos if needed. + if rel_pos.shape[0] != max_rel_dist: + # Interpolate rel pos. + rel_pos_resized = rel_pos.reshape(1, rel_pos.shape[0], -1).transpose(0, 2, 1) + scale_factor = ( + max_rel_dist[0] / rel_pos_resized.shape[1], + max_rel_dist[1] / rel_pos_resized.shape[2], + ) + rel_pos_resized = nn.Upsample(scale_factor=scale_factor, mode="linear")( + rel_pos_resized + ) + rel_pos_resized = rel_pos_resized.reshape(-1, max_rel_dist).transpose(1, 0) + else: + rel_pos_resized = rel_pos + + # Scale the coords with short length if shapes for q and k are different. + q_coords = mx.arange(q_size)[:, None] * max(k_size / q_size, 1.0) + k_coords = mx.arange(k_size)[None, :] * max(q_size / k_size, 1.0) + relative_coords = (q_coords - k_coords) + (k_size - 1) * max(q_size / k_size, 1.0) + + return rel_pos_resized[relative_coords.astype(mx.int64)] + + +def add_decomposed_rel_pos( + attn, + q, + rel_pos_h: mx.array, + rel_pos_w: mx.array, + q_size: Tuple[int, int], + k_size: Tuple[int, int], +) -> mx.array: + """ + Calculate decomposed Relative Positional Embeddings from :paper:`mvitv2`. + https://github.com/facebookresearch/mvit/blob/19786631e330df9f3622e5402b4a419a263a2c80/mvit/models/attention.py # noqa B950 + Args: + attn (mx.array): attention map. + q (mx.array): query q in the attention layer with shape (B, q_h * q_w, C). + rel_pos_h (mx.array): relative position embeddings (Lh, C) for height axis. + rel_pos_w (mx.array): relative position embeddings (Lw, C) for width axis. + q_size (Tuple): spatial sequence size of query q with (q_h, q_w). + k_size (Tuple): spatial sequence size of key k with (k_h, k_w). + + Returns: + attn (mx.array): attention map with added relative positional embeddings. + """ + q_h, q_w = q_size + k_h, k_w = k_size + Rh = get_rel_pos(q_h, k_h, rel_pos_h) + Rw = get_rel_pos(q_w, k_w, rel_pos_w) + + B, _, dim = q.shape + r_q = q.reshape(B, q_h, q_w, dim) + + # TODO: replace mx.einsum when its ready + # workaround for these einsum computations + # rel_h = torch.einsum("bhwc,hkc->bhwk", r_q, Rh) + # rel_w = torch.einsum("bhwc,wkc->bhwk", r_q, Rw) + rel_h = r_q @ Rh.transpose(0, 2, 1) + rel_w = (r_q.transpose(0, 2, 1, 3) @ Rw.transpose(0, 2, 1)).transpose(0, 2, 1, 3) + + attn = ( + attn.reshape(B, q_h, q_w, k_h, k_w) + + rel_h[:, :, :, :, None] + + rel_w[:, :, :, None, :] + ).reshape(B, q_h * q_w, k_h * k_w) + + return attn + + +class PatchEmbed(nn.Module): + """ + Image to Patch Embedding. + """ + + def __init__( + self, + kernel_size: Tuple[int, int] = (16, 16), + stride: Tuple[int, int] = (16, 16), + padding: Tuple[int, int] = (0, 0), + in_chans: int = 3, + embed_dim: int = 768, + ) -> None: + """ + Args: + kernel_size (Tuple): kernel size of the projection layer. + stride (Tuple): stride of the projection layer. + padding (Tuple): padding size of the projection layer. + in_chans (int): Number of input image channels. + embed_dim (int): Patch embedding dimension. + """ + super().__init__() + + self.projection = nn.Conv2d( + in_chans, embed_dim, kernel_size=kernel_size, stride=stride, padding=padding + ) + + def __call__(self, x: mx.array) -> mx.array: + x = self.projection(x) + return x diff --git a/segment_anything/segment_anything/mask_decoder.py b/segment_anything/segment_anything/mask_decoder.py new file mode 100644 index 00000000..ae2a42b1 --- /dev/null +++ b/segment_anything/segment_anything/mask_decoder.py @@ -0,0 +1,252 @@ +import math +from typing import List, Tuple, Type, Union + +import mlx.core as mx +import mlx.nn as nn + +from .common import LayerNorm2d + + +class MaskDecoder(nn.Module): + def __init__( + self, + *, + transformer_dim: int, + transformer: nn.Module, + num_multimask_outputs: int = 3, + activation: Type[nn.Module] = nn.GELU, + iou_head_depth: int = 3, + iou_head_hidden_dim: int = 256, + ) -> None: + """ + Predicts masks given an image and prompt embeddings, using a + transformer architecture. + + Args: + transformer_dim (int): the channel dimension of the transformer + transformer (nn.Module): the transformer used to predict masks + num_multimask_outputs (int): the number of masks to predict + when disambiguating masks + activation (nn.Module): the type of activation to use when + upscaling masks + iou_head_depth (int): the depth of the MLP used to predict + mask quality + iou_head_hidden_dim (int): the hidden dimension of the MLP + used to predict mask quality + """ + super().__init__() + self.transformer_dim = transformer_dim + self.transformer = transformer + + self.num_multimask_outputs = num_multimask_outputs + + self.iou_token = nn.Embedding(1, transformer_dim) + self.num_mask_tokens = num_multimask_outputs + 1 + self.mask_tokens = nn.Embedding(self.num_mask_tokens, transformer_dim) + + self.upscale_conv1 = ConvTranspose2d( + transformer_dim, + transformer_dim // 4, + kernel_size=2, + stride=2, + padding=1, + ) + self.upscale_layer_norm = LayerNorm2d(transformer_dim // 4) + self.activation = activation() + self.upscale_conv2 = ConvTranspose2d( + transformer_dim // 4, + transformer_dim // 8, + kernel_size=2, + stride=2, + padding=1, + ) + self.output_hypernetworks_mlps = [ + MLP(transformer_dim, transformer_dim, transformer_dim // 8, 1) + for i in range(self.num_mask_tokens) + ] + + self.iou_prediction_head = MLP( + transformer_dim, + iou_head_hidden_dim, + self.num_mask_tokens, + iou_head_depth - 2, + ) + + def __call__( + self, + image_embeddings: mx.array, + image_pe: mx.array, + sparse_prompt_embeddings: mx.array, + dense_prompt_embeddings: mx.array, + multimask_output: bool, + ) -> Tuple[mx.array, mx.array]: + """ + Predict masks given image and prompt embeddings. + + Args: + image_embeddings (mx.array): the embeddings from the image encoder + image_pe (mx.array): positional encoding + sparse_prompt_embeddings (mx.array): the embeddings of the points and boxes + dense_prompt_embeddings (mx.array): the embeddings of the mask inputs + multimask_output (bool): Whether to return multiple masks or a single + mask. + + Returns: + mx.array: batched predicted masks + mx.array: batched predictions of mask quality + """ + masks, iou_pred = self.predict_masks( + image_embeddings=image_embeddings, + image_pe=image_pe, + sparse_prompt_embeddings=sparse_prompt_embeddings, + dense_prompt_embeddings=dense_prompt_embeddings, + ) + + # Select the correct mask or masks for output + if multimask_output: + mask_slice = slice(1, None) + else: + mask_slice = slice(0, 1) + masks = masks[:, :, :, mask_slice] + iou_pred = iou_pred[:, mask_slice] + + # Prepare output + return masks, iou_pred + + def predict_masks( + self, + image_embeddings: mx.array, + image_pe: mx.array, + sparse_prompt_embeddings: mx.array, + dense_prompt_embeddings: mx.array, + ) -> Tuple[mx.array, mx.array]: + """Predicts masks. See '__call__' for more details.""" + # Concatenate output tokens + output_tokens = mx.concatenate( + [self.iou_token.weight, self.mask_tokens.weight], axis=0 + ) + output_tokens = mx.broadcast_to( + output_tokens[None], + [ + sparse_prompt_embeddings.shape[0], + output_tokens.shape[0], + output_tokens.shape[1], + ], + ) + tokens = mx.concatenate((output_tokens, sparse_prompt_embeddings), axis=1) + + # Expand per-image data in batch direction to be per-mask + src = mx.repeat(image_embeddings, repeats=tokens.shape[0], axis=0) + src = src + dense_prompt_embeddings + b, h, w, c = src.shape + + # Run the transformer + hs, src = self.transformer(src, image_pe, tokens) + iou_token_out = hs[:, 0, :] + mask_tokens_out = hs[:, 1 : (1 + self.num_mask_tokens), :] + + # Upscale mask embeddings and predict masks using the mask tokens + src = src.reshape(b, h, w, c) + src = self.upscale_conv1(src) + src = self.upscale_layer_norm(src) + src = self.activation(src) + src = self.upscale_conv2(src) + upscaled_embedding = self.activation(src) + hyper_in_list: List[mx.array] = [] + for i in range(self.num_mask_tokens): + hyper_in_list.append( + self.output_hypernetworks_mlps[i](mask_tokens_out[:, i, :]) + ) + hyper_in = mx.stack(hyper_in_list, axis=1) + b, h, w, c = upscaled_embedding.shape + + masks = ( + (hyper_in @ upscaled_embedding.reshape(b, h * w, c).transpose(0, 2, 1)) + .transpose(0, 2, 1) + .reshape(b, h, w, -1) + ) + + # Generate mask quality predictions + iou_pred = self.iou_prediction_head(iou_token_out) + + return masks, iou_pred + + +class MLP(nn.Module): + def __init__( + self, + input_dim: int, + hidden_dim: int, + output_dim: int, + num_layers: int, + sigmoid_output: bool = False, + ) -> None: + super().__init__() + self.num_layers = num_layers + self.proj_in = nn.Linear(input_dim, hidden_dim) + self.layers = [nn.Linear(hidden_dim, hidden_dim) for _ in range(num_layers)] + self.proj_out = nn.Linear(hidden_dim, output_dim) + self.sigmoid_output = sigmoid_output + + def __call__(self, x): + x = nn.relu(self.proj_in(x)) + for i, layer in enumerate(self.layers): + x = nn.relu(layer(x)) + x = self.proj_out(x) + if self.sigmoid_output: + x = mx.sigmoid(x) + return x + + +# TODO: Naive implem. Replace when mlx.nn support conv_transpose +class ConvTranspose2d(nn.Module): + def __init__( + self, + in_channels: int, + out_channels: int, + kernel_size: Union[int, tuple], + stride: Union[int, tuple] = 1, + padding: Union[int, tuple] = 0, + dilation: Union[int, tuple] = 1, + bias: bool = True, + ): + super().__init__() + + kernel_size, stride, padding = map( + lambda x: (x, x) if isinstance(x, int) else x, + (kernel_size, stride, padding), + ) + scale = math.sqrt(1 / (in_channels * kernel_size[0] * kernel_size[1])) + self.weight = mx.random.uniform( + low=-scale, + high=scale, + shape=(out_channels, *kernel_size, in_channels), + ) + if bias: + self.bias = mx.zeros((out_channels,)) + + self.padding = padding + self.stride = stride + self.dilation = dilation + + def _extra_repr(self): + return ( + f"{self.weight.shape[-1]}, {self.weight.shape[0]}, " + f"kernel_size={self.weight.shape[1:2]}, stride={self.stride}, " + f"padding={self.padding}, dilation={self.dilation}, " + f"bias={'bias' in self}" + ) + + def __call__(self, x): + y = mx.conv_general( + x, + self.weight, + stride=1, + padding=self.padding, + kernel_dilation=self.dilation, + input_dilation=self.stride, + flip=True, + ) + if "bias" in self: + y = y + self.bias + return y diff --git a/segment_anything/segment_anything/predictor.py b/segment_anything/segment_anything/predictor.py new file mode 100644 index 00000000..05f6f99a --- /dev/null +++ b/segment_anything/segment_anything/predictor.py @@ -0,0 +1,170 @@ +from typing import Optional, Tuple + +import mlx.core as mx +import numpy as np + +from .sam import Sam +from .utils.transforms import ResizeLongestSide + + +class SamPredictor: + def __init__( + self, + sam_model: Sam, + ) -> None: + """ + Uses SAM to calculate the image embedding for an image, and then + allow repeated, efficient mask prediction given prompts. + + Args: + sam_model (Sam): The model to use for mask prediction. + """ + super().__init__() + self.model = sam_model + self.transform = ResizeLongestSide(sam_model.vision_encoder.img_size) + self.reset_image() + + def set_image( + self, + image: np.ndarray, + image_format: str = "RGB", + ) -> None: + """ + Calculates the image embeddings for the provided image, allowing + masks to be predicted with the 'predict' method. + + Args: + image (np.ndarray): The image for calculating masks. Expects an + image in HWC uint8 format, with pixel values in [0, 255]. + image_format (str): The color format of the image, in ['RGB', 'BGR']. + """ + self.reset_image() + assert image_format in [ + "RGB", + "BGR", + ], f"image_format must be in ['RGB', 'BGR'], is {image_format}." + if image_format != self.model.image_format: + image = image[..., ::-1] + + # Transform the image to the form expected by the model + input_image = self.transform.apply_image(image) + input_image = mx.array(input_image)[None, :, :, :] + + self.original_size = image.shape[:2] + self.input_size = input_image.shape[1:3] + input_image = self.model.preprocess(input_image) + self.features = self.model.vision_encoder(input_image) + self.is_image_set = True + + def predict( + self, + point_coords: Optional[mx.array], + point_labels: Optional[mx.array], + box: Optional[mx.array] = None, + mask_input: Optional[mx.array] = None, + multimask_output: bool = True, + return_logits: bool = False, + ) -> Tuple[mx.array, mx.array, mx.array]: + """ + Predict masks for the given input prompts, using the currently set image. + Input prompts are batched mlx tensors and are expected to already be + transformed to the input frame using ResizeLongestSide. + + Args: + point_coords (mx.array or None): A BxNx2 array of point prompts to the + model. Each point is in (X,Y) in pixels. + point_labels (mx.array or None): A BxN array of labels for the + point prompts. 1 indicates a foreground point and 0 indicates a + background point. + box (mx.array or None): A size 4 array giving a box prompt to the + model, in XYXY format. + mask_input (mx.array): A low resolution mask input to the model, typically + coming from a previous prediction iteration. Has form BxHxWx1, where + for SAM, H=W=256. Masks returned by a previous iteration of the + predict method do not need further transformation. + multimask_output (bool): If true, the model will return three masks. + For ambiguous input prompts (such as a single click), this will often + produce better masks than a single prediction. If only a single + mask is needed, the model's predicted quality score can be used + to select the best mask. For non-ambiguous prompts, such as multiple + input prompts, multimask_output=False can give better results. + return_logits (bool): If true, returns un-thresholded masks logits + instead of a binary mask. + + Returns: + (mx.array): The output masks in BxHxWxC format, where C is the + number of masks, and (H, W) is the original image size. + (mx.array): An array of shape BxC containing the model's + predictions for the quality of each mask. + (mx.array): An array of shape BxHxWxC, where C is the number + of masks and H=W=256. These low res logits can be passed to + a subsequent iteration as mask input. + """ + if not self.is_image_set: + raise RuntimeError( + "An image must be set with .set_image(...) before mask prediction." + ) + + # Transform input prompts + points = None + if point_coords is not None: + assert ( + point_labels is not None + ), "point_labels must be supplied if point_coords is supplied." + point_coords = self.transform.apply_coords(point_coords, self.original_size) + points = (point_coords, point_labels) + if box is not None: + box = self.transform.apply_boxes(box, self.original_size) + + # Embed prompts + sparse_embeddings, dense_embeddings = self.model.prompt_encoder( + points=points, + boxes=box, + masks=mask_input, + pe_layer=self.model.shared_image_embedding, + ) + + # Predict masks + low_res_masks, iou_predictions = self.model.mask_decoder( + image_embeddings=self.features, + image_pe=self.model.shared_image_embedding( + self.model.prompt_encoder.image_embedding_size + ), + sparse_prompt_embeddings=sparse_embeddings, + dense_prompt_embeddings=dense_embeddings, + multimask_output=multimask_output, + ) + + # Upscale the masks to the original image resolution + masks = self.model.postprocess_masks( + low_res_masks, self.input_size, self.original_size + ) + + if not return_logits: + masks = masks > self.model.mask_threshold + + return masks, iou_predictions, low_res_masks + + def get_image_embedding(self) -> mx.array: + """ + Returns the image embeddings for the currently set image, with + shape 1xCxHxW, where C is the embedding dimension and (H,W) are + the embedding spatial dimension of SAM (typically C=256, H=W=64). + """ + if not self.is_image_set: + raise RuntimeError( + "An image must be set with .set_image(...) to generate an embedding." + ) + assert ( + self.features is not None + ), "Features must exist if an image has been set." + return self.features + + def reset_image(self) -> None: + """Resets the currently set image.""" + self.is_image_set = False + self.features = None + self.orig_h = None + self.orig_w = None + self.input_h = None + self.input_w = None diff --git a/segment_anything/segment_anything/prompt_encoder.py b/segment_anything/segment_anything/prompt_encoder.py new file mode 100644 index 00000000..d2230cba --- /dev/null +++ b/segment_anything/segment_anything/prompt_encoder.py @@ -0,0 +1,229 @@ +from typing import Optional, Tuple, Type + +import mlx.core as mx +import mlx.nn as nn + +from .common import LayerNorm2d + + +class PromptEncoder(nn.Module): + def __init__( + self, + embed_dim: int, + image_embedding_size: Tuple[int, int], + input_image_size: Tuple[int, int], + mask_in_chans: int, + activation: Type[nn.Module] = nn.GELU, + ) -> None: + """ + Encodes prompts for input to SAM's mask decoder. + + Args: + embed_dim (int): The prompts' embedding dimension + image_embedding_size (tuple(int, int)): The spatial size of the + image embedding, as (H, W). + input_image_size (int): The padded size of the image as input + to the image encoder, as (H, W). + mask_in_chans (int): The number of hidden channels used for + encoding input masks. + activation (nn.Module): The activation to use when encoding + input masks. + """ + super().__init__() + self.embed_dim = embed_dim + self.input_image_size = input_image_size + self.image_embedding_size = image_embedding_size + + self.num_point_embeddings: int = 4 # pos/neg point + 2 box corners + self.point_embed = [ + nn.Embedding(1, embed_dim) for i in range(self.num_point_embeddings) + ] + self.not_a_point_embed = nn.Embedding(1, embed_dim) + + self.mask_input_size = ( + 4 * image_embedding_size[0], + 4 * image_embedding_size[1], + ) + self.mask_embed = MaskEmbed(embed_dim, mask_in_chans, activation) + self.no_mask_embed = nn.Embedding(1, embed_dim) + + def _embed_points( + self, + points: mx.array, + labels: mx.array, + pad: bool, + pe_layer: nn.Module, + ) -> mx.array: + """Embeds point prompts.""" + points = points + 0.5 # Shift to center of pixel + if pad: + padding_point = mx.zeros((points.shape[0], 1, 2)) + padding_label = -mx.ones((labels.shape[0], 1)) + points = mx.concatenate([points, padding_point], axis=1) + labels = mx.concatenate([labels, padding_label], axis=1) + point_embedding = pe_layer.forward_with_coords(points, self.input_image_size) + point_embedding = mx.where( + labels[..., None] == -1, + self.not_a_point_embed.weight[:, None], + point_embedding, + ) + point_embedding = mx.where( + labels[..., None] == 0, + point_embedding + self.point_embed[0].weight[:, None], + point_embedding, + ) + point_embedding = mx.where( + labels[..., None] == 1, + point_embedding + self.point_embed[1].weight[:, None], + point_embedding, + ) + return point_embedding + + def _embed_boxes(self, boxes: mx.array, pe_layer: nn.Module) -> mx.array: + """Embeds box prompts.""" + boxes = boxes + 0.5 # Shift to center of pixel + coords = boxes.reshape(-1, 2, 2) + corner_embedding = pe_layer.forward_with_coords(coords, self.input_image_size) + corner_embedding[:, 0, :] += self.point_embed[2].weight + corner_embedding[:, 1, :] += self.point_embed[3].weight + return corner_embedding + + def _embed_masks(self, masks: mx.array) -> mx.array: + """Embeds mask inputs.""" + mask_embedding = self.mask_embed(masks) + return mask_embedding + + def _get_batch_size( + self, + points: Optional[Tuple[mx.array, mx.array]], + boxes: Optional[mx.array], + masks: Optional[mx.array], + ) -> int: + """ + Gets the batch size of the output given the batch size of the input prompts. + """ + if points is not None: + return points[0].shape[0] + elif boxes is not None: + return boxes.shape[0] + elif masks is not None: + return masks.shape[0] + else: + return 1 + + def __call__( + self, + points: Optional[Tuple[mx.array, mx.array]], + boxes: Optional[mx.array], + masks: Optional[mx.array], + pe_layer: nn.Module, + ) -> Tuple[mx.array, mx.array]: + """ + Embeds different types of prompts, returning both sparse and dense + embeddings. + + Args: + points (tuple(mx.array, mx.array) or none): point coordinates + and labels to embed + boxes (mx.array or none): boxes to embed + masks (mx.array or none): masks to embed + pe_layer (PositionEmbeddingRandom): shared position embedding + layer + + Returns: + mx.array: sparse embeddings for the points and boxes, with shape + BxNx(embed_dim), where N is determined by the number of input points + and boxes. + mx.array: dense embeddings for the masks, in the shape + Bx(embed_H)x(embed_W)x(embed_dim) + """ + bs = self._get_batch_size(points, boxes, masks) + sparse_embeddings = mx.zeros((bs, 0, self.embed_dim)) + if points is not None: + coords, labels = points + point_embeddings = self._embed_points( + coords, labels, pad=(boxes is None), pe_layer=pe_layer + ) + sparse_embeddings = mx.concatenate( + [sparse_embeddings, point_embeddings], axis=1 + ) + if boxes is not None: + box_embeddings = self._embed_boxes(boxes, pe_layer=pe_layer) + sparse_embeddings = mx.concatenate( + [sparse_embeddings, box_embeddings], axis=1 + ) + + if masks is not None: + dense_embeddings = self._embed_masks(masks) + else: + dense_embeddings = mx.broadcast_to( + self.no_mask_embed.weight, + shape=( + bs, + self.image_embedding_size[0], + self.image_embedding_size[1], + self.embed_dim, + ), + ) + + return sparse_embeddings, dense_embeddings + + +class MaskEmbed(nn.Module): + def __init__(self, embed_dim, mask_in_chans, activation): + super().__init__() + self.conv1 = nn.Conv2d(1, mask_in_chans // 4, kernel_size=2, stride=2) + self.layer_norm1 = LayerNorm2d(mask_in_chans // 4) + self.conv2 = nn.Conv2d( + mask_in_chans // 4, mask_in_chans, kernel_size=2, stride=2 + ) + self.layer_norm2 = LayerNorm2d(mask_in_chans) + self.conv3 = nn.Conv2d(mask_in_chans, embed_dim, kernel_size=1) + self.activation = activation() + + def __call__(self, x): + x = self.activation(self.layer_norm1(self.conv1(x))) + x = self.activation(self.layer_norm2(self.conv2(x))) + return self.conv3(x) + + +class PositionEmbeddingRandom(nn.Module): + """ + Positional encoding using random spatial frequencies. + """ + + def __init__(self, num_pos_feats: int = 64, scale: Optional[float] = None) -> None: + super().__init__() + if scale is None or scale <= 0.0: + scale = 1.0 + self.positional_embedding = scale * mx.random.normal((2, num_pos_feats)) + + def _pe_encoding(self, coords: mx.array) -> mx.array: + """Positionally encode points that are normalized to [0,1].""" + # assuming coords are in [0, 1]^2 square and have d_1 x ... x d_n x 2 shape + coords = 2 * coords - 1 + coords = coords @ self.positional_embedding + coords = 2 * mx.pi * coords + # outputs d_1 x ... x d_n x C shape + return mx.concatenate([mx.sin(coords), mx.cos(coords)], axis=-1) + + def __call__(self, size: Tuple[int, int]) -> mx.array: + """Generate positional encoding for a grid of the specified size.""" + h, w = size + grid = mx.ones((h, w), dtype=mx.float32) + y_embed = grid.cumsum(axis=0) - 0.5 + x_embed = grid.cumsum(axis=1) - 0.5 + y_embed = y_embed / h + x_embed = x_embed / w + + pe = self._pe_encoding(mx.stack([x_embed, y_embed], axis=-1)) + return pe # HWC + + def forward_with_coords( + self, coords_input: mx.array, image_size: Tuple[int, int] + ) -> mx.array: + """Positionally encode points that are not normalized to [0,1].""" + coords = coords_input * 1 + coords[:, :, 0] = coords[:, :, 0] / image_size[1] + coords[:, :, 1] = coords[:, :, 1] / image_size[0] + return self._pe_encoding(coords.astype(mx.float32)) # B x N x C diff --git a/segment_anything/segment_anything/sam.py b/segment_anything/segment_anything/sam.py new file mode 100644 index 00000000..da3a7325 --- /dev/null +++ b/segment_anything/segment_anything/sam.py @@ -0,0 +1,240 @@ +import json +from functools import partial +from pathlib import Path +from typing import Any, Dict, List, Tuple + +import mlx.core as mx +import mlx.nn as nn + +from .image_encoder import ImageEncoderViT +from .mask_decoder import MaskDecoder +from .prompt_encoder import PositionEmbeddingRandom, PromptEncoder +from .transformer import TwoWayTransformer + + +class Sam(nn.Module): + mask_threshold: float = 0.0 + image_format: str = "RGB" + + def __init__( + self, + vision_encoder: ImageEncoderViT, + prompt_encoder: PromptEncoder, + mask_decoder: MaskDecoder, + pixel_mean: List[float] = [123.675, 116.28, 103.53], + pixel_std: List[float] = [58.395, 57.12, 57.375], + ) -> None: + """ + SAM predicts object masks from an image and input prompts. + + Args: + vision_encoder (ImageEncoderViT): The backbone used to encode the + image into image embeddings that allow for efficient mask prediction. + prompt_encoder (PromptEncoder): Encodes various types of input prompts. + mask_decoder (MaskDecoder): Predicts masks from the image embeddings + and encoded prompts. + pixel_mean (list(float)): Mean values for normalizing pixels in the input image. + pixel_std (list(float)): Std values for normalizing pixels in the input image. + """ + super().__init__() + self.vision_encoder = vision_encoder + self.prompt_encoder = prompt_encoder + self.mask_decoder = mask_decoder + self._pixel_mean = mx.array(pixel_mean).reshape(1, 1, -1) + self._pixel_std = mx.array(pixel_std).reshape(1, 1, -1) + self.shared_image_embedding = PositionEmbeddingRandom( + prompt_encoder.embed_dim // 2 + ) + + def __call__( + self, + batched_input: List[Dict[str, Any]], + multimask_output: bool, + ) -> List[Dict[str, mx.array]]: + """ + Predicts masks end-to-end from provided images and prompts. + If prompts are not known in advance, using SamPredictor is + recommended over calling the model directly. + + Args: + batched_input (list(dict)): A list over input images, each a + dictionary with the following keys. A prompt key can be + excluded if it is not present. + 'image': The image as a mlx tensor in HxWx3 format, + already transformed for input to the model. + 'original_size': (tuple(int, int)) The original size of + the image before transformation, as (H, W). + 'point_coords': (mx.array) Batched point prompts for + this image, with shape BxNx2. Already transformed to the + input frame of the model. + 'point_labels': (mx.array) Batched labels for point prompts, + with shape BxN. + 'boxes': (mx.array) Batched box inputs, with shape Bx4. + Already transformed to the input frame of the model. + 'mask_inputs': (mx.array) Batched mask inputs to the model, + in the form BxHxWx1. + multimask_output (bool): Whether the model should predict multiple + disambiguating masks, or return a single mask. + + Returns: + (list(dict)): A list over input images, where each element is + as dictionary with the following keys. + 'masks': (mx.array) Batched binary mask predictions, + with shape BxCxHxW, where B is the number of input prompts, + C is determined by multimask_output, and (H, W) is the + original size of the image. + 'iou_predictions': (mx.array) The model's predictions + of mask quality, in shape BxC. + 'low_res_logits': (mx.array) Low resolution logits with + shape BxCxHxW, where H=W=256. Can be passed as mask input + to subsequent iterations of prediction. + """ + input_images = mx.stack( + [self.preprocess(x["image"]) for x in batched_input], axis=0 + ) + image_embeddings = self.vision_encoder(input_images) + + outputs = [] + for image_record, curr_embedding in zip(batched_input, image_embeddings): + if "point_coords" in image_record: + points = (image_record["point_coords"], image_record["point_labels"]) + else: + points = None + sparse_embeddings, dense_embeddings = self.prompt_encoder( + points=points, + boxes=image_record.get("boxes", None), + masks=image_record.get("mask_inputs", None), + pe_layer=self.shared_image_embedding, + ) + low_res_masks, iou_predictions = self.mask_decoder( + image_embeddings=curr_embedding[None], + image_pe=self.shared_image_embedding( + self.prompt_encoder.image_embedding_size + ), + sparse_prompt_embeddings=sparse_embeddings, + dense_prompt_embeddings=dense_embeddings, + multimask_output=multimask_output, + ) + + masks = self.postprocess_masks( + low_res_masks, + input_size=image_record["image"].shape[-3:-1], + original_size=image_record["original_size"], + ) + masks = masks > self.mask_threshold + outputs.append( + { + "masks": masks, + "iou_predictions": iou_predictions, + "low_res_logits": low_res_masks, + } + ) + return outputs + + def postprocess_masks( + self, + masks: mx.array, + input_size: Tuple[int, ...], + original_size: Tuple[int, ...], + ) -> mx.array: + """ + Remove padding and upscale masks to the original image size. + + Args: + masks (mx.array): Batched masks from the mask_decoder, + in BxHxWxC format. + input_size (tuple(int, int)): The size of the image input to the + model, in (H, W) format. Used to remove padding. + original_size (tuple(int, int)): The original size of the image + before resizing for input to the model, in (H, W) format. + + Returns: + (mx.array): Batched masks in BxCxHxW format, where (H, W) + is given by original_size. + """ + scale_factor = ( + self.vision_encoder.img_size / masks.shape[1], + self.vision_encoder.img_size / masks.shape[2], + ) + masks = nn.Upsample( + scale_factor=scale_factor, mode="linear", align_corners=False + )(masks) + masks = masks[:, : input_size[0], : input_size[1]] + scale_factor = ( + original_size[0] / masks.shape[1], + original_size[1] / masks.shape[2], + ) + masks = nn.Upsample( + scale_factor=scale_factor, mode="linear", align_corners=False + )(masks) + return masks + + def preprocess(self, x: mx.array) -> mx.array: + """Normalize pixel values and pad to a square input.""" + # Normalize colors + x = (x - self._pixel_mean) / self._pixel_std + + # Pad + h, w = x.shape[-3:-1] + padh = self.vision_encoder.img_size - h + padw = self.vision_encoder.img_size - w + + if x.ndim == 3: + pad_width = [(0, padh), (0, padw), (0, 0)] + elif x.ndim == 4: + pad_width = [(0, 0), (0, padh), (0, padw), (0, 0)] + else: + raise Exception("x.ndim can only be 3 or 4.") + + x = mx.pad(x, pad_width) + return x + + +def load(model_path): + model_path = Path(model_path) + with open(model_path / "config.json", "r") as fid: + config = json.load(fid) + encoder_embed_dim = config["vision_config"]["hidden_size"] + encoder_depth = config["vision_config"]["num_hidden_layers"] + encoder_num_heads = config["vision_config"]["num_attention_heads"] + encoder_global_attn_indexes = config["vision_config"]["global_attn_indexes"] + prompt_embed_dim = 256 + image_size = 1024 + vit_patch_size = 16 + image_embedding_size = image_size // vit_patch_size + sam = Sam( + vision_encoder=ImageEncoderViT( + depth=encoder_depth, + embed_dim=encoder_embed_dim, + img_size=image_size, + mlp_ratio=4, + norm_layer=partial(nn.LayerNorm, eps=1e-6), + num_heads=encoder_num_heads, + patch_size=vit_patch_size, + qkv_bias=True, + use_rel_pos=True, + global_attn_indexes=encoder_global_attn_indexes, + window_size=14, + out_chans=prompt_embed_dim, + ), + prompt_encoder=PromptEncoder( + embed_dim=prompt_embed_dim, + image_embedding_size=(image_embedding_size, image_embedding_size), + input_image_size=(image_size, image_size), + mask_in_chans=16, + ), + mask_decoder=MaskDecoder( + num_multimask_outputs=3, + transformer=TwoWayTransformer( + depth=2, + embedding_dim=prompt_embed_dim, + mlp_dim=2048, + num_heads=8, + ), + transformer_dim=prompt_embed_dim, + iou_head_depth=3, + iou_head_hidden_dim=256, + ), + ) + sam.load_weights(str(model_path / "model.safetensors"), strict=True) + return sam diff --git a/segment_anything/segment_anything/transformer.py b/segment_anything/segment_anything/transformer.py new file mode 100644 index 00000000..279e3ba4 --- /dev/null +++ b/segment_anything/segment_anything/transformer.py @@ -0,0 +1,235 @@ +import math +from typing import Tuple, Type + +import mlx.core as mx +import mlx.nn as nn + +from .common import MLPBlock + + +class TwoWayTransformer(nn.Module): + def __init__( + self, + depth: int, + embedding_dim: int, + num_heads: int, + mlp_dim: int, + activation: Type[nn.Module] = nn.ReLU, + attention_downsample_rate: int = 2, + ) -> None: + """ + A transformer decoder that attends to an input image using + queries whose positional embedding is supplied. + + Args: + depth (int): number of layers in the transformer + embedding_dim (int): the channel dimension for the input embeddings + num_heads (int): the number of heads for multihead attention. Must + divide embedding_dim + mlp_dim (int): the channel dimension internal to the MLP block + activation (nn.Module): the activation to use in the MLP block + """ + super().__init__() + self.depth = depth + self.embedding_dim = embedding_dim + self.num_heads = num_heads + self.mlp_dim = mlp_dim + self.layers = [] + + for i in range(depth): + self.layers.append( + TwoWayAttentionBlock( + embedding_dim=embedding_dim, + num_heads=num_heads, + mlp_dim=mlp_dim, + activation=activation, + attention_downsample_rate=attention_downsample_rate, + skip_first_layer_pe=(i == 0), + ) + ) + + self.final_attn_token_to_image = Attention( + embedding_dim, num_heads, downsample_rate=attention_downsample_rate + ) + self.layer_norm_final_attn = nn.LayerNorm(embedding_dim) + + def __call__( + self, + image_embedding: mx.array, + image_pe: mx.array, + point_embedding: mx.array, + ) -> Tuple[mx.array, mx.array]: + """ + Args: + image_embedding (mx.array): image to attend to. Should be shape + B x h x w x embedding_dim for any h and w. + image_pe (mx.array): the positional encoding to add to the image. Must + have the same shape as image_embedding. + point_embedding (mx.array): the embedding to add to the query points. + Must have shape B x N_points x embedding_dim for any N_points. + + Returns: + mx.array: the processed point_embedding + mx.array: the processed image_embedding + """ + # BxHxWxC -> BxHWxC == B x N_image_tokens x C + bs, h, w, c = image_embedding.shape + image_embedding = image_embedding.reshape(bs, h * w, c) + image_pe = image_pe.reshape(h * w, c) + + # Prepare queries + queries = point_embedding + keys = image_embedding + # Apply transformer blocks and final layernorm + for layer in self.layers: + queries, keys = layer( + queries=queries, + keys=keys, + query_pe=point_embedding, + key_pe=image_pe, + ) + + # Apply the final attention layer from the points to the image + q = queries + point_embedding + k = keys + image_pe + attn_out = self.final_attn_token_to_image(q=q, k=k, v=keys) + queries = queries + attn_out + queries = self.layer_norm_final_attn(queries) + + return queries, keys + + +class TwoWayAttentionBlock(nn.Module): + def __init__( + self, + embedding_dim: int, + num_heads: int, + mlp_dim: int = 2048, + activation: Type[nn.Module] = nn.ReLU, + attention_downsample_rate: int = 2, + skip_first_layer_pe: bool = False, + ) -> None: + """ + A transformer block with four layers: (1) self-attention of sparse + inputs, (2) cross attention of sparse inputs to dense inputs, (3) mlp + block on sparse inputs, and (4) cross attention of dense inputs to sparse + inputs. + + Args: + embedding_dim (int): the channel dimension of the embeddings + num_heads (int): the number of heads in the attention layers + mlp_dim (int): the hidden dimension of the mlp block + activation (nn.Module): the activation of the mlp block + skip_first_layer_pe (bool): skip the PE on the first layer + """ + super().__init__() + self.self_attn = Attention(embedding_dim, num_heads) + self.layer_norm1 = nn.LayerNorm(embedding_dim) + + self.cross_attn_token_to_image = Attention( + embedding_dim, num_heads, downsample_rate=attention_downsample_rate + ) + self.layer_norm2 = nn.LayerNorm(embedding_dim) + + self.mlp = MLPBlock(embedding_dim, mlp_dim, activation) + self.layer_norm3 = nn.LayerNorm(embedding_dim) + + self.layer_norm4 = nn.LayerNorm(embedding_dim) + self.cross_attn_image_to_token = Attention( + embedding_dim, num_heads, downsample_rate=attention_downsample_rate + ) + + self.skip_first_layer_pe = skip_first_layer_pe + + def __call__( + self, queries: mx.array, keys: mx.array, query_pe: mx.array, key_pe: mx.array + ) -> Tuple[mx.array, mx.array]: + # Self attention block + if self.skip_first_layer_pe: + queries = self.self_attn(q=queries, k=queries, v=queries) + else: + q = queries + query_pe + attn_out = self.self_attn(q=q, k=q, v=queries) + queries = queries + attn_out + queries = self.layer_norm1(queries) + + # Cross attention block, tokens attending to image embedding + q = queries + query_pe + k = keys + key_pe + attn_out = self.cross_attn_token_to_image(q=q, k=k, v=keys) + queries = queries + attn_out + queries = self.layer_norm2(queries) + + # MLP block + mlp_out = self.mlp(queries) + queries = queries + mlp_out + queries = self.layer_norm3(queries) + + # Cross attention block, image embedding attending to tokens + q = queries + query_pe + k = keys + key_pe + attn_out = self.cross_attn_image_to_token(q=k, k=q, v=queries) + keys = keys + attn_out + keys = self.layer_norm4(keys) + + return queries, keys + + +class Attention(nn.Module): + """ + An attention layer that allows for downscaling the size of the embedding + after projection to queries, keys, and values. + """ + + def __init__( + self, + embedding_dim: int, + num_heads: int, + downsample_rate: int = 1, + ) -> None: + super().__init__() + self.embedding_dim = embedding_dim + self.internal_dim = embedding_dim // downsample_rate + self.num_heads = num_heads + assert ( + self.internal_dim % num_heads == 0 + ), "num_heads must divide embedding_dim." + + self.q_proj = nn.Linear(embedding_dim, self.internal_dim) + self.k_proj = nn.Linear(embedding_dim, self.internal_dim) + self.v_proj = nn.Linear(embedding_dim, self.internal_dim) + self.out_proj = nn.Linear(self.internal_dim, embedding_dim) + + def _separate_heads(self, x: mx.array, num_heads: int) -> mx.array: + b, n, c = x.shape + x = x.reshape(b, n, num_heads, c // num_heads) + return x.transpose(0, 2, 1, 3) # B x N_heads x N_tokens x C_per_head + + def _recombine_heads(self, x: mx.array) -> mx.array: + b, n_heads, n_tokens, c_per_head = x.shape + x = x.transpose(0, 2, 1, 3) + return x.reshape(b, n_tokens, n_heads * c_per_head) # B x N_tokens x C + + def __call__(self, q: mx.array, k: mx.array, v: mx.array) -> mx.array: + # Input projections + q = self.q_proj(q) + k = self.k_proj(k) + v = self.v_proj(v) + + # Separate into heads + q = self._separate_heads(q, self.num_heads) + k = self._separate_heads(k, self.num_heads) + v = self._separate_heads(v, self.num_heads) + + # Attention + _, _, _, c_per_head = q.shape + attn = q @ k.transpose(0, 1, 3, 2) # B x N_heads x N_tokens x N_tokens + attn = attn / math.sqrt(c_per_head) + attn = mx.softmax(attn, axis=-1) + + # Get output + out = attn @ v + out = self._recombine_heads(out) + out = self.out_proj(out) + + return out diff --git a/segment_anything/segment_anything/utils/__init__.py b/segment_anything/segment_anything/utils/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/segment_anything/segment_anything/utils/amg.py b/segment_anything/segment_anything/utils/amg.py new file mode 100644 index 00000000..250bced2 --- /dev/null +++ b/segment_anything/segment_anything/utils/amg.py @@ -0,0 +1,348 @@ +import math +from copy import deepcopy +from itertools import product +from typing import Any, Dict, Generator, ItemsView, List, Tuple + +import mlx.core as mx +import numpy as np + + +class MaskData: + """ + A structure for storing masks and their related data in batched format. + Implements basic filtering and concatenation. + """ + + def __init__(self, **kwargs) -> None: + for v in kwargs.values(): + assert isinstance( + v, (list, np.ndarray, mx.array) + ), "MaskData only supports list, numpy arrays, and mlx arrays." + self._stats = dict(**kwargs) + + def __setitem__(self, key: str, item: Any) -> None: + assert isinstance( + item, (list, np.ndarray, mx.array) + ), "MaskData only supports list, numpy arrays, and mlx arrays." + self._stats[key] = item + + def __delitem__(self, key: str) -> None: + del self._stats[key] + + def __getitem__(self, key: str) -> Any: + return self._stats[key] + + def items(self) -> ItemsView[str, Any]: + return self._stats.items() + + def filter(self, keep: mx.array) -> None: + if keep.dtype == mx.bool_: + keep = mx.array(np.where(keep)[0]) + for k, v in self._stats.items(): + if v is None: + self._stats[k] = None + elif isinstance(v, mx.array): + self._stats[k] = v[keep] + elif isinstance(v, np.ndarray): + self._stats[k] = v[keep] + elif isinstance(v, list): + self._stats[k] = [v[i] for i in keep.tolist()] + else: + raise TypeError(f"MaskData key {k} has an unsupported type {type(v)}.") + + def cat(self, new_stats: "MaskData") -> None: + for k, v in new_stats.items(): + if k not in self._stats or self._stats[k] is None: + self._stats[k] = deepcopy(v) + elif isinstance(v, mx.array): + self._stats[k] = mx.concatenate([self._stats[k], v], axis=0) + elif isinstance(v, np.ndarray): + self._stats[k] = np.concatenate([self._stats[k], v], axis=0) + elif isinstance(v, list): + self._stats[k] = self._stats[k] + deepcopy(v) + else: + raise TypeError(f"MaskData key {k} has an unsupported type {type(v)}.") + + def to_numpy(self) -> None: + for k, v in self._stats.items(): + if isinstance(v, mx.array): + self._stats[k] = np.array(v) + + +def is_box_near_crop_edge( + boxes: mx.array, crop_box: List[int], orig_box: List[int], atol: float = 20.0 +) -> mx.array: + """Filter masks at the edge of a crop, but not at the edge of the original image.""" + crop_box_mlx = mx.array(crop_box, dtype=mx.float32) + orig_box_mlx = mx.array(orig_box, dtype=mx.float32) + boxes = uncrop_boxes_xyxy(boxes, crop_box).astype(mx.float32) + near_crop_edge = mx.isclose(boxes, crop_box_mlx[None, :], atol=atol, rtol=0) + near_image_edge = mx.isclose(boxes, orig_box_mlx[None, :], atol=atol, rtol=0) + near_crop_edge = mx.logical_and(near_crop_edge, ~near_image_edge) + return mx.any(near_crop_edge, axis=1) + + +def box_xyxy_to_xywh(box_xyxy: mx.array) -> mx.array: + box_xywh = deepcopy(box_xyxy) + box_xywh[2] = box_xywh[2] - box_xywh[0] + box_xywh[3] = box_xywh[3] - box_xywh[1] + return box_xywh + + +def batch_iterator(batch_size: int, *args) -> Generator[List[Any], None, None]: + assert len(args) > 0 and all( + len(a) == len(args[0]) for a in args + ), "Batched iteration must have inputs of all the same size." + n_batches = len(args[0]) // batch_size + int(len(args[0]) % batch_size != 0) + for b in range(n_batches): + yield [arg[b * batch_size : (b + 1) * batch_size] for arg in args] + + +def mask_to_rle_mlx(tensor: mx.array) -> List[Dict[str, Any]]: + """ + Encodes masks to an uncompressed RLE, in the format expected by + pycoco tools. + """ + # Put in fortran order and flatten h,w + b, h, w = tensor.shape + tensor = mx.transpose(tensor, axes=(0, 2, 1)).flatten(1) + + # Compute change indices + diff = mx.bitwise_xor(tensor[:, 1:], tensor[:, :-1]) + # TODO: fix this with mlx + change_indices = np.stack(np.array(diff).nonzero(), axis=1) + + # Encode run length + out = [] + for i in range(b): + cur_idxs = change_indices[change_indices[:, 0] == i, 1] + cur_idxs = mx.array(cur_idxs) + cur_idxs = mx.concatenate( + [ + mx.array([0], dtype=cur_idxs.dtype), + cur_idxs + 1, + mx.array([h * w], dtype=cur_idxs.dtype), + ] + ) + btw_idxs = cur_idxs[1:] - cur_idxs[:-1] + counts = [] if tensor[i, 0] == 0 else [0] + counts.extend(btw_idxs.tolist()) + out.append({"size": [h, w], "counts": counts}) + return out + + +def rle_to_mask(rle: Dict[str, Any]) -> np.ndarray: + """Compute a binary mask from an uncompressed RLE.""" + h, w = rle["size"] + mask = np.empty(h * w, dtype=bool) + idx = 0 + parity = False + for count in rle["counts"]: + mask[idx : idx + count] = parity + idx += count + parity ^= True + mask = mask.reshape(w, h) + return mask.transpose() # Put in C order + + +def area_from_rle(rle: Dict[str, Any]) -> int: + return sum(rle["counts"][1::2]) + + +def calculate_stability_score( + masks: mx.array, mask_threshold: float, threshold_offset: float +) -> mx.array: + """ + Computes the stability score for a batch of masks. The stability + score is the IoU between the binary masks obtained by thresholding + the predicted mask logits at high and low values. + """ + # One mask is always contained inside the other. + # Save memory by preventing unnecessary cast to mx.int64 + + # COMMENT OUT DTYPE CASTING FOR COREML + intersections = ( + (masks > (mask_threshold + threshold_offset)) + .astype(mx.int16) + .sum(-1) + .astype(mx.int32) + .sum(-1) + ) + unions = ( + (masks > (mask_threshold - threshold_offset)) + .astype(mx.int16) + .sum(-1) + .astype(mx.int32) + .sum(-1) + ) + return intersections / unions + + +def build_point_grid(n_per_side: int) -> np.ndarray: + """Generates a 2D grid of points evenly spaced in [0,1]x[0,1].""" + offset = 1 / (2 * n_per_side) + points_one_side = np.linspace(offset, 1 - offset, n_per_side) + points_x = np.tile(points_one_side[None, :], (n_per_side, 1)) + points_y = np.tile(points_one_side[:, None], (1, n_per_side)) + points = np.stack([points_x, points_y], axis=-1).reshape(-1, 2) + return points + + +def build_all_layer_point_grids( + n_per_side: int, n_layers: int, scale_per_layer: int +) -> List[mx.array]: + """Generates point grids for all crop layers.""" + points_by_layer = [] + for i in range(n_layers + 1): + n_points = int(n_per_side / (scale_per_layer**i)) + points_by_layer.append(mx.array(build_point_grid(n_points))) + return points_by_layer + + +def generate_crop_boxes( + im_size: Tuple[int, ...], n_layers: int, overlap_ratio: float +) -> Tuple[List[List[int]], List[int]]: + """ + Generates a list of crop boxes of different sizes. Each layer + has (2**i)**2 boxes for the ith layer. + """ + crop_boxes, layer_idxs = [], [] + im_h, im_w = im_size + short_side = min(im_h, im_w) + + # Original image + crop_boxes.append([0, 0, im_w, im_h]) + layer_idxs.append(0) + + def crop_len(orig_len, n_crops, overlap): + return int(math.ceil((overlap * (n_crops - 1) + orig_len) / n_crops)) + + for i_layer in range(n_layers): + n_crops_per_side = 2 ** (i_layer + 1) + overlap = int(overlap_ratio * short_side * (2 / n_crops_per_side)) + + crop_w = crop_len(im_w, n_crops_per_side, overlap) + crop_h = crop_len(im_h, n_crops_per_side, overlap) + + crop_box_x0 = [int((crop_w - overlap) * i) for i in range(n_crops_per_side)] + crop_box_y0 = [int((crop_h - overlap) * i) for i in range(n_crops_per_side)] + + # Crops in XYWH format + for x0, y0 in product(crop_box_x0, crop_box_y0): + box = [x0, y0, min(x0 + crop_w, im_w), min(y0 + crop_h, im_h)] + crop_boxes.append(box) + layer_idxs.append(i_layer + 1) + + return crop_boxes, layer_idxs + + +def uncrop_boxes_xyxy(boxes: mx.array, crop_box: List[int]) -> mx.array: + x0, y0, _, _ = crop_box + offset = mx.array([[x0, y0, x0, y0]]) + # Check if boxes has a channel dimension + if len(boxes.shape) == 3: + offset = offset.unsqueeze(1) + return boxes + offset + + +def uncrop_points(points: mx.array, crop_box: List[int]) -> mx.array: + x0, y0, _, _ = crop_box + offset = mx.array([[x0, y0]]) + # Check if points has a channel dimension + if len(points.shape) == 3: + offset = offset.unsqueeze(1) + return points + offset + + +def uncrop_masks( + masks: mx.array, crop_box: List[int], orig_h: int, orig_w: int +) -> mx.array: + x0, y0, x1, y1 = crop_box + if x0 == 0 and y0 == 0 and x1 == orig_w and y1 == orig_h: + return masks + # Coordinate transform masks + pad_x, pad_y = orig_w - (x1 - x0), orig_h - (y1 - y0) + pad = [(0, 0), (y0, pad_y - y0), (x0, pad_x - x0)] + return mx.pad(masks, pad, 0) + + +def remove_small_regions( + mask: np.ndarray, area_thresh: float, mode: str +) -> Tuple[np.ndarray, bool]: + """ + Removes small disconnected regions and holes in a mask. Returns the + mask and an indicator of if the mask has been modified. + """ + import cv2 # type: ignore + + assert mode in ["holes", "islands"] + correct_holes = mode == "holes" + working_mask = (correct_holes ^ mask).astype(np.uint8) + n_labels, regions, stats, _ = cv2.connectedComponentsWithStats(working_mask, 8) + sizes = stats[:, -1][1:] # Row 0 is background label + small_regions = [i + 1 for i, s in enumerate(sizes) if s < area_thresh] + if len(small_regions) == 0: + return mask, False + fill_labels = [0] + small_regions + if not correct_holes: + fill_labels = [i for i in range(n_labels) if i not in fill_labels] + # If every region is below threshold, keep largest + if len(fill_labels) == 0: + fill_labels = [int(np.argmax(sizes)) + 1] + mask = np.isin(regions, fill_labels) + return mask, True + + +def coco_encode_rle(uncompressed_rle: Dict[str, Any]) -> Dict[str, Any]: + from pycocotools import mask as mask_utils # type: ignore + + h, w = uncompressed_rle["size"] + rle = mask_utils.frPyObjects(uncompressed_rle, h, w) + rle["counts"] = rle["counts"].decode("utf-8") # Necessary to serialize with json + return rle + + +def batched_mask_to_box(masks: mx.array) -> mx.array: + """ + Calculates boxes in XYXY format around masks. Return [0,0,0,0] for + an empty mask. For input shape C1xC2x...xHxW, the output shape is C1xC2x...x4. + """ + # mx.max below raises an error on empty inputs, just skip in this case + if np.prod(masks.shape) == 0: + return mx.zeros(*masks.shape[:-2], 4) + + # Normalize shape to CxHxW + shape = masks.shape + h, w = shape[-2:] + if len(shape) > 2: + masks = masks.flatten(0, -3) + else: + masks = masks.unsqueeze(0) + + # Get top and bottom edges + in_height = mx.max(masks, axis=-1) + in_height_coords = in_height * mx.arange(h)[None, :] + bottom_edges = mx.max(in_height_coords, axis=-1) + in_height_coords = in_height_coords + h * (~in_height) + top_edges = mx.min(in_height_coords, axis=-1) + + # Get left and right edges + in_width = mx.max(masks, axis=-2) + in_width_coords = in_width * mx.arange(w)[None, :] + right_edges = mx.max(in_width_coords, axis=-1) + in_width_coords = in_width_coords + w * (~in_width) + left_edges = mx.min(in_width_coords, axis=-1) + + # If the mask is empty the right edge will be to the left of the left edge. + # Replace these boxes with [0, 0, 0, 0] + empty_filter = (right_edges < left_edges) | (bottom_edges < top_edges) + out = mx.stack([left_edges, top_edges, right_edges, bottom_edges], axis=-1) + out = out * (~empty_filter)[..., None] + + # Return to original shape + if len(shape) > 2: + out = out.reshape(*shape[:-2], 4) + else: + out = out[0] + + return out diff --git a/segment_anything/segment_anything/utils/transforms.py b/segment_anything/segment_anything/utils/transforms.py new file mode 100644 index 00000000..93d9faf4 --- /dev/null +++ b/segment_anything/segment_anything/utils/transforms.py @@ -0,0 +1,65 @@ +from copy import deepcopy +from typing import Tuple + +import mlx.core as mx +import mlx.nn as nn +import numpy as np +from PIL import Image + + +class ResizeLongestSide: + """ + Resizes images to the longest side 'target_length', as well as provides + methods for resizing coordinates and boxes. Provides methods for + transforming both numpy array and batched mlx tensors. + """ + + def __init__(self, target_length: int) -> None: + self.target_length = target_length + + def apply_image(self, image: np.ndarray) -> np.ndarray: + """ + Expects a numpy array with shape HxWxC in uint8 format. + """ + target_size = self.get_preprocess_shape( + image.shape[0], image.shape[1], self.target_length + ) + return np.array( + Image.fromarray(image).resize( + target_size[::-1], resample=Image.Resampling.BILINEAR + ) + ) + + def apply_coords( + self, coords: mx.array, original_size: Tuple[int, ...] + ) -> mx.array: + """ + Expects a mlx tensor with length 2 in the last dimension. Requires the + original image size in (H, W) format. + """ + old_h, old_w = original_size + new_h, new_w = self.get_preprocess_shape( + original_size[0], original_size[1], self.target_length + ) + return coords * mx.array([new_w / old_w, new_h / old_h]) + + def apply_boxes(self, boxes: mx.array, original_size: Tuple[int, ...]) -> mx.array: + """ + Expects a mlx tensor with shape ...x4. Requires the original image + size in (H, W) format. + """ + boxes = self.apply_coords(boxes.reshape(-1, 2, 2), original_size) + return boxes.reshape(-1, 4) + + @staticmethod + def get_preprocess_shape( + oldh: int, oldw: int, long_side_length: int + ) -> Tuple[int, int]: + """ + Compute the output size given input size and target long side length. + """ + scale = long_side_length * 1.0 / max(oldh, oldw) + newh, neww = oldh * scale, oldw * scale + neww = int(neww + 0.5) + newh = int(newh + 0.5) + return (newh, neww)

-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%0AIye^8l#VBbD~qCvWX=0IO5A;lm{4`9<+70C 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