// BBOX · IOU · ANCHOR · NMS · MAP

Object Detection

ئۇيغۇرچە تولۇق قوللانما — رەسىمدىكى ئوبيېكتنى تېپىش ۋە بەلگىلەش

Object Detection — رەسىم ياكى video ئىچىدىكى ئوبيېكتلارنىڭ قەيەردە تۇرغانلىقىنى (bounding box) ۋە نېمە ئىكەنلىكىنى (class label) بىرلا ۋاقىتتا بايقاش تېخنىكىسى. بۇ بەتتە bounding box، IoU، anchor، NMS، mAP قاتارلىق ئاساسىي ئۇقۇملار ۋە ئەمەلىي pipeline نى ئۇيغۇرچە چۈشەندۈردۇق.

01 — Detection نېمە 02 — Classification بىلەن پەرقى 03 — Bounding Box / IoU 04 — Anchor / NMS 05 — Pipeline 06 — mAP Evaluation 07 — Dataset Format 08 — Real-world Use
detector-output
person 0.94
car 0.88
dog 0.79
objects found3
avg confidence0.87
inference time12ms
01
Object Detection دېگەن نېمە؟
What Is Object Detection?
"قەيەردە" ۋە "نېمە" سوئاللىرىغا بىرلا ۋاقىتتا جاۋاب بېرىش
Object Detection — رەسىم ياكى video frame ئىچىدىكى ھەر بىر ئوبيېكتنى bounding box (تىك تۆتبۇلۇڭ كوردىنات) بىلەن بەلگىلەپ، شۇ box نىڭ ئىچىدىكى نەرسىنىڭ قايسى class (مەسىلەن: ئادەم، ماشىنا، ئىت) ئىكەنلىكىنى ئېيتىپ بېرىدىغان computer vision ۋەزىپىسى. بىر رەسىمدە كۆپ ئوبيېكت بولسا، ھەربىرى ئۈچۈن ئالاھىدە box+label چىقىرىلىدۇ.
Output 01
Bounding Box
[x, y, w, h]
Ob يېكتنىڭ رەسىمدىكى ئورنىنى تەسۋىرلەيدىغان تۆتبۇلۇڭ كوردىنات.
Output 02
Class Label
person, car, dog…
Box ئىچىدىكى نەرسىنىڭ قايسى category گە تەۋەلىكىنى كۆرسىتىدۇ.
Output 03
Confidence Score
0.0 — 1.0
Model نىڭ شۇ bounding box+label نىڭ توغرىلىقىغا قانچىلىك ئىشەنگەنلىكى.
02
Classification، Detection ۋە Segmentation
The Computer Vision Task Spectrum
ئۆچىشلىك چۈشۈنۈش ئۈچۈن مۇھىم پەرق
Classification
پۈتۈن رەسىمگە بىر label
ئورۇن مەلۇم ئەمەس
ئەڭ ئاددىي task
Object Detection
ھەر ئوبيېكتقا box + label
كۆپ ئوبيېكتنى بىرلا ۋاقىتتا بايقايدۇ
YOLO، Faster R-CNN قاتارلىقلار
Segmentation
ھەر pixel غا label (mask)
ئوبيېكتنىڭ روشەن شەكلىنى بېرىدۇ
compute ئەڭ قىممەت

قىسقا قارار قائىدىسى

پەقەت "بۇ رەسىمدە نېمە بار؟" دېسىڭىز — classification. "نەدە ۋە قانچە دانە؟" دېسىڭىز — detection. "ئوبيېكتنىڭ پىخسىل دەرىجىلىك شەكلىنى" بىلىش لازىم بولسا — segmentation.
03
Bounding Box ۋە IoU
Measuring Box Overlap
Detection نىڭ توغرىلىقىنى قانداق ئۆلچەيمىز
IoU (Intersection over Union) — predicted box بىلەن ground-truth box نىڭ قانچىلىك دەرىجىدە ئۇستلاشقانلىقىنى ئۆلچەيدىغان نىسبەت. IoU = (Intersection Area) / (Union Area). IoU 1.0 گە يېقىن بولسا box ئالاھىدە توغرا.
PYTHONiou.py
def compute_iou(box_a, box_b):
    xa1, ya1, xa2, ya2 = box_a
    xb1, yb1, xb2, yb2 = box_b

    inter_x1 = max(xa1, xb1)
    inter_y1 = max(ya1, yb1)
    inter_x2 = min(xa2, xb2)
    inter_y2 = min(ya2, yb2)

    inter_area = max(0, inter_x2 - inter_x1) * max(0, inter_y2 - inter_y1)
    area_a = (xa2 - xa1) * (ya2 - ya1)
    area_b = (xb2 - xb1) * (yb2 - yb1)

    return inter_area / (area_a + area_b - inter_area + 1e-6)
IoU قىممىتىمەنىسىئادەتتىكى Threshold
≥ 0.5"true positive" دەپ قارىلىدۇPASCAL VOC ئۆلچىمى
≥ 0.75قاتتىق توغرا boxCOCO strict
< 0.5false positive ياكى missرەت قىلىنىدۇ
04
Anchor Box ۋە NMS
Candidate Boxes and Cleanup
Model نېمە ئۈچۈن مىڭلىغان box تەكلىپ قىلىدۇ، ئاندىن قانداق تازىلايدۇ
Concept 01
Anchor Box
ئالدىن بەلگىلەنگەن شەكىل
Model ھەر grid cell دا بىرنەچچە ئۆلچەم/نىسبەتتىكى anchor box نى candidate قىلىپ باشلايدۇ.
Concept 02
Regression
Box نى تەڭشەش
Model anchor نى ground-truth غا يېقىنلاشتۇرۇش ئۈچۈن offset (dx, dy, dw, dh) ئۆگىنىدۇ.
Concept 03
NMS
Non-Max Suppression
بىر ئوبيېكتقا ئۇستلاشقان كۆپ box لاردىن ئەڭ يۇقىرى confidence لىقىنى ساقلاپ، قالغانلىرىنى ئۆچۈرىدۇ.
PYTHONnms.py
def nms(boxes, scores, iou_threshold=0.5):
    order = scores.argsort()[::-1]
    keep = []

    while len(order) > 0:
        current = order[0]
        keep.append(current)
        rest = order[1:]
        ious = [compute_iou(boxes[current], boxes[i]) for i in rest]
        order = [i for i, iou in zip(rest, ious) if iou < iou_threshold]

    return keep
05
Detection Pipeline قانداق ئىشلەيدۇ؟
From Pixels to Boxes
Backbone، head ۋە post-processing نىڭ بىرلىشمىسى
PYTHONdetect_flow.py
# high-level inference pipeline
image = load_image("street.jpg")
tensor = preprocess(image, size=(640, 640))

features = backbone(tensor)             # CNN feature extraction
raw_boxes, raw_scores = head(features)  # box regression + classification

boxes, scores, labels = filter_by_confidence(
    raw_boxes, raw_scores, threshold=0.25
)
final_boxes = nms(boxes, scores, iou_threshold=0.45)

draw_boxes(image, final_boxes, labels)
باسقۇچۋەزىپىسىئىزاھ
BackboneCNN ياكى transformer feature map چىقىرىدۇResNet، CSPDarknet، ViT قاتارلىقلار
Detection Headbox coordinate + class probability چىقىرىدۇanchor-based ياكى anchor-free
Post-processingconfidence filter + NMSئاخىرقى clean box list
06
mAP بىلەن باھالاش
Mean Average Precision
Detection model نى قانداق سېلىشتۇرىمىز
mAP (mean Average Precision) — ھەر class ئۈچۈن precision-recall egri sizigi astidiki maydanni (AP) ھېسابلاپ، بارلىق class لارنىڭ ئوتتۇرىچە قىممىتىنى ئالىدۇ. mAP@0.5 دىگەن IoU threshold 0.5 دىكى ئۆلچەم، mAP@0.5:0.95 دىگەن بىرنەچچە IoU threshold نىڭ ئوتتۇرىچىسى (COCO ئۆلچىمى).
Precision
توپغان box لارنىڭ قانچىسى توغرا
Recall
بار ئوبيېكتلارنىڭ قانچىسى تېپىلدى
mAP
ھەممىنى بىرلەشتۈرگەن يەكۈنلۈك metric
07
Dataset Format لار
COCO, YOLO, VOC Annotation Styles
Training ئۈچۈن label قانداق ساقلىنىدۇ
فورماتBox ئىپادىسىھۆججەت تىپى
COCO[x_min, y_min, width, height]يەككە JSON
YOLO[x_center, y_center, w, h] (normalized 0-1)ھەر رەسىمگە بىر .txt
VOC[xmin, ymin, xmax, ymax]ھەر رەسىمگە بىر .xml
TXTimage001.txt
# class_id x_center y_center width height (барلىقى 0-1 ئارىسىدا)
0 0.482 0.331 0.220 0.410
2 0.710 0.560 0.150 0.190
08
ئەمەلىي قوللىنىش ساھەلىرى
Where Object Detection Is Used
Detection بىر "demo" ئەمەس، كۆپ ئىندۇستىرىيىنىڭ تۈرتكىسى
Use Case
Autonomous Driving
يول، ئادەم، يول بەلگىسىنى تېپىش
Self-driving system لار real-time دا pedestrian، vehicle، traffic sign نى detect قىلىشى كېرەك.
Use Case
Retail / Inventory
سودا تاختىسىدىكى مال سانىنى ساناش
Camera بىلەن shelf نى scan قىلىپ stock-out نى ئاپتوماتىك بايقاش.
Use Case
Security & Surveillance
كىشى/تەرس ھەرىكەتنى بايقاش
CCTV stream دىن intruder ياكى anomaly نى real-time دا تاپىدۇ.
Use Case
Medical Imaging
X-ray/MRI دىكى anomaly نى بەلگىلەش
Tumor ياكى fracture قاتارلىق ئالاھىدە رايوننى box بىلەن كۆرسىتىش.

ئەڭ قىسقا يەكۈن

Object Detection = "نەدە" + "نېمە". Bounding box، confidence ۋە class label ئۇچىسى يۈرۈشلۈك بولسا، نەتىجىنى production غا تۇتاش ئىشلىتىش مۇمكىن. كېيىنكى مەزمۇندا YOLO، Faster R-CNN، SSD قاتارلىق ئاللىقاچان مەشهۇر model لارنى تەپسىلىي سېلىشتۇرىمىز.