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
ئۆچىشلىك چۈشۈنۈش ئۈچۈن مۇھىم پەرق
Object Detection
ھەر ئوبيېكتقا box + label
كۆپ ئوبيېكتنى بىرلا ۋاقىتتا بايقايدۇ
YOLO، Faster R-CNN قاتارلىقلار
Segmentation
ھەر pixel غا label (mask)
ئوبيېكتنىڭ روشەن شەكلىنى بېرىدۇ
قىسقا قارار قائىدىسى
پەقەت "بۇ رەسىمدە نېمە بار؟" دېسىڭىز — 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 ئالاھىدە توغرا.
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 | قاتتىق توغرا box | COCO strict |
| < 0.5 | false 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 لىقىنى ساقلاپ، قالغانلىرىنى ئۆچۈرىدۇ.
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 نىڭ بىرلىشمىسى
# 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)
| باسقۇچ | ۋەزىپىسى | ئىزاھ |
| Backbone | CNN ياكى transformer feature map چىقىرىدۇ | ResNet، CSPDarknet، ViT قاتارلىقلار |
| Detection Head | box coordinate + class probability چىقىرىدۇ | anchor-based ياكى anchor-free |
| Post-processing | confidence 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 |
# 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 لارنى تەپسىلىي سېلىشتۇرىمىز.