Implement Computer Vision Solutions
Pick the right capability
Modern Azure vision work splits into three habits. First, Image Analysis provides structured outputs: caption, dense captions, tags, object detection with bounding boxes, people, smart crops, and OCR via the Read model. Second, vision-enabled chat (a multimodal model) handles open-ended prompts - "is this shelf compliant?", "summarize this chart" - where no fixed label set exists. Third, Custom Vision (or a fine-tuned multimodal model) handles a closed label set you own, split into classification (one label per image, optional multi-label) versus object detection (labels plus locations).
Recognizing the boundaries
OCR/Read returns text and layout; it is not translation or understanding. Face offers detection (landmarks, head pose, quality) broadly, but identification and verification against a person directory are limited-access and require approval - a frequent trap where the "correct" answer is "apply for access" rather than "call the API."
Reliability details
Synchronous calls suit single small images; batch/asynchronous calls suit large files or high volume, and require polling an operation location. Validate image format, size, and dimension limits before sending; failures are often payload problems, not model problems. Normalize bounding-box coordinates, which are typically returned relative to image width and height.
Traps
Assuming Custom Vision when the requirement is "describe in natural language"; assuming Face identification works out of the box; ignoring the sync/async split.
Rule of thumb: fixed labels you trained → Custom Vision; arbitrary natural-language question about an image → multimodal chat; pure text extraction preserving layout → Read/OCR.