--- id: wiki-2026-0508-segmentsai title: Segments.ai category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Segments.ai, segments-ai, CV Annotation Platform] duplicate_of: none source_trust_level: A confidence_score: 0.85 verification_status: applied tags: [computer-vision, annotation, labeling, dataset, mlops] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: python framework: segments-ai-sdk --- # Segments.ai ## 매 한 줄 > **"매 computer vision 매 labeling platform — 2D/3D segmentation, point cloud, AI-assisted"**. 매 production tool for multi-modal CV datasets — 매 SAM 2 integration, lidar cuboid, semantic/instance/panoptic segmentation. 매 alternative: Roboflow, Scale AI, Labelbox, CVAT. ## 매 핵심 ### 매 Modalities - **2D**: Bounding box, polygon, semantic, instance, panoptic, keypoint. - **3D point cloud**: 매 cuboid, segmentation (autonomous driving). - **Multi-sensor**: 매 synced lidar + camera (매 AV use case). - **Image sequence / video**: 매 tracking 가 supported. ### 매 AI-assisted - 매 SAM 2 integration: 매 click → instance mask. - 매 model-in-the-loop: 매 your trained model 매 pre-label → human correct. - 매 active learning: 매 uncertain samples 매 priority queue. ### 매 Dataset export - COCO, YOLO, Pascal VOC, Cityscapes formats. - HuggingFace `datasets` integration. - 매 versioning: 매 release immutable snapshots. ### 매 응용 1. Autonomous driving lidar+camera labeling. 2. Medical imaging segmentation. 3. Robotics grasp annotation. 4. Pre-training dataset curation (매 SAM bootstrap). ## 💻 패턴 ### Upload dataset ```python from segments import SegmentsClient client = SegmentsClient(api_key="YOUR_KEY") dataset = client.add_dataset( name="my-org/road-scenes", task_type="segmentation-bitmap", description="Highway driving scenes", ) for img_path in image_paths: asset = client.upload_asset(open(img_path, "rb"), filename=img_path.name) client.add_sample( dataset_identifier="my-org/road-scenes", name=img_path.name, attributes={"image": {"url": asset.url}}, ) ``` ### Pre-label with SAM 2 ```python from segments.utils import bitmap2file import numpy as np from sam2.build_sam import build_sam2 from sam2.sam2_image_predictor import SAM2ImagePredictor sam = build_sam2("configs/sam2.1_hiera_l.yaml", "sam2_hiera_large.pt") predictor = SAM2ImagePredictor(sam) predictor.set_image(image) masks, _, _ = predictor.predict(point_coords=[[x, y]], point_labels=[1]) mask = masks[0].astype(np.uint8) bitmap_file = bitmap2file(mask, is_segmentation_bitmap=True) asset = client.upload_asset(bitmap_file, filename="mask.png") client.add_label( sample_uuid=sample.uuid, labelset="ground-truth", attributes={"format_version": "0.1", "annotations": [...], "segmentation_bitmap": {"url": asset.url}}, ) ``` ### Active learning loop ```python def active_learning_round(model, unlabeled_samples, k=100): scores = [] for s in unlabeled_samples: img = load_image(s.attributes["image"]["url"]) logits = model.predict(img) entropy = -(logits.softmax(-1) * logits.log_softmax(-1)).sum() scores.append((s, entropy.item())) top = sorted(scores, key=lambda x: -x[1])[:k] for s, _ in top: client.update_sample(s.uuid, priority=10) # 매 high priority ``` ### Export to HuggingFace ```python from segments.huggingface import release2dataset release = client.add_release("my-org/road-scenes", name="v1.0") hf_dataset = release2dataset(release) hf_dataset.push_to_hub("my-username/road-scenes-v1") ``` ### 3D point cloud cuboid ```python client.add_sample( dataset_identifier="my-org/lidar", name="frame_001", attributes={ "pcd": {"url": "s3://.../frame_001.pcd", "type": "pcd"}, "ego_pose": {"position": {"x": 0, "y": 0, "z": 0}, "heading": {...}}, "default_z": -1.5, }, ) ``` ### Webhook-driven CI ```python # Flask endpoint receiving Segments.ai webhook @app.post("/segments-webhook") def on_label_finalized(req): event = req.json if event["action"] == "labelset.released": trigger_training_pipeline(release_uuid=event["release"]["uuid"]) return {"ok": True} ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | Multi-modal AV (lidar+cam) | 매 Segments.ai 또는 Scale AI | | 2D bbox only | 매 Roboflow (cheaper) | | Self-host required | 매 CVAT | | Enterprise ops | 매 Labelbox | | Quick prototype | 매 Roboflow / LabelStudio | **기본값**: 매 lidar+camera 면 Segments.ai, 매 2D-only 면 Roboflow. ## 🔗 Graph - 부모: [[MLOps]] - 응용: [[Robotics]] - Adjacent: [[Active Learning]] ## 🤖 LLM 활용 **언제**: 매 production CV labeling pipeline, 매 multi-modal sensor fusion dataset. **언제 X**: 매 LLM text labeling (Argilla 사용), 매 small one-off (LabelStudio OSS). ## ❌ 안티패턴 - **No version control**: 매 release snapshot 무시 → 매 reproducibility 불가. - **Manual-only labeling**: 매 SAM pre-label 무시 → 10× slower. - **Skip QA**: 매 reviewer-disagreement metric 무시 → noisy labels. ## 🧪 검증 / 중복 - Verified (segments.ai docs, Python SDK v1.x). - 신뢰도 B+ (commercial product, 매 docs 매 reliable but 매 non-academic). ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — SAM 2, active learning, lidar workflow |