Files
2nd/10_Wiki/Topics/AI_and_ML/Segmentsai.md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
10_Wiki/Topics 대규모 정리:
- 오류 캡처/미완성 stub 문서 227개 제거
- 교차폴더 중복 43클러스터 병합 (63파일 → redirect)
- 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건
- 카테고리 MOC 6개 신규 생성
- Graph 섹션 미해결 related-keyword 링크 10,058건 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:52:15 +09:00

175 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 |