Object Detection একটি কম্পিউটার ভিশন কাজ যা একই সাথে একটি বস্তুর শ্রেণি (বিড়াল, গাড়ি, ব্যক্তি) এবং চিত্রে তার অবস্থান একটি আয়তক্ষেত্রাকার বাউন্ডিং বক্স (bounding box) হিসাবে নির্ধারণ করে। Image Labeling-এর বিপরীতে, Object Detection একটি ফ্রেমে বিভিন্ন শ্রেণির একাধিক বস্তু খুঁজে পায় এবং তাদের স্থানাঙ্ক নির্দেশ করে। মোবাইল ডেভেলপমেন্টে, Object Detection ভিডিও নজরদারি সিস্টেম, AR অ্যাপ্লিকেশন, স্বায়ত্তশাসিত ড্রোন, মেডিকেল ইমেজিং এবং রিটেল অ্যানালিটিক্সে ব্যবহৃত হয়। Google ML Kit, 2025 অনুসারে, অন-ডিভাইস Object Detection ফ্ল্যাগশিপ ডিভাইসে 87% mAP নির্ভুলতার সাথে 30 FPS অর্জন করে।
মূল বিষয়
Object Detection একসাথে দুটি কাজ সমাধান করে: চিত্রে কী আছে (শ্রেণিবিন্যাস) এবং কোথায় (স্থানাঙ্ক রিগ্রেশন)। মডেলটি চিত্রকে একটি গ্রিডে বিভক্ত করে, প্রতিটি কোষের জন্য বাউন্ডিং বক্স (x, y, প্রস্থ, উচ্চতা) এবং শ্রেণি সম্ভাবনার পূর্বাভাস দেয়। Non-Maximum Suppression (NMS) একটি বস্তুর জন্য ডুপ্লিকেট বক্স সরিয়ে দেয়, সবচেয়ে আত্মবিশ্বাসী পূর্বাভাস রাখে। আধুনিক আর্কিটেকচারগুলি দুই-পর্যায় (Faster R-CNN — প্রথমে অঞ্চল প্রস্তাব, তারপর শ্রেণিবিন্যাস) এবং এক-পর্যায় (YOLO, SSD — সবকিছু একসাথে) এ বিভক্ত।
মূল্যায়ন মেট্রিক্স: mAP (mean Average Precision) — Object Detection-এর প্রধান গুণগত মেট্রিক। mAP@0.5 — IoU থ্রেশহোল্ড 0.5-এ নির্ভুলতা, mAP@0.5:0.95 — 0.5 থেকে 0.95 পর্যন্ত থ্রেশহোল্ড জুড়ে গড়। FPS — ফ্রেম প্রতি সেকেন্ড (ইনফারেন্স গতি)। মোবাইল অ্যাপ্লিকেশনের জন্য, mAP/FPS ভারসাম্য গুরুত্বপূর্ণ: YOLOv8-Nano 50+ FPS-এ 42% mAP@0.5:0.95 দেয়, SSD MobileNet — 60+ FPS-এ 22% mAP দেয়। রিয়েল-টাইমের জন্য > 20 FPS, ইন্টারঅ্যাকটিভ ব্যবহারের জন্য 5–15 FPS।
IoU (Intersection over Union) — পূর্বাভাসিত এবং প্রকৃত বাউন্ডিং বক্সের মধ্যে ওভারল্যাপের মেট্রিক। IoU = ছেদ ক্ষেত্র / মিলন ক্ষেত্র। NMS-এর জন্য IoU থ্রেশহোল্ড সাধারণত 0.5–0.7। ফ্রেমের মধ্যে বস্তু ট্র্যাকিং (পুনরায়-সনাক্তকরণ) এর জন্য, IoU ম্যাচিং সহ Deep SORT বা ByteTrack ব্যবহার করুন। ভিডিওতে বস্তু গণনার জন্য, BoT-SORT 85% MOTA (Multiple Object Tracking Accuracy) প্রদান করে।
| আর্কিটেকচার | mAP@0.5:0.95 | লেটেন্সি | প্যারামিটার | আকার |
|---|---|---|---|---|
| YOLOv8-Nano | 42% | 10–30 ms | 2.6M | 5.9 MB |
| YOLOv8-Small | 50% | 25–60 ms | 11.2M | 22 MB |
| SSD MobileNetV2 | 22% | 15–40 ms | 5.2M | 21 MB |
| EfficientDet-Lite0 | 35% | 20–50 ms | 3.9M | 15 MB |
Anchor Boxes — পূর্বনির্ধারিত বাউন্ডিং বক্স আকার যা মডেল সামঞ্জস্য করে। YOLOv8 অ্যাঙ্কার-মুক্ত সনাক্তকরণ (anchor-free) ব্যবহার করে, যা প্রশিক্ষণ সহজ করে এবং ইনফারেন্স গতি বাড়ায়। SSD এবং পুরানো YOLO-এর প্রতিটি ডেটাসেটের জন্য অ্যাঙ্কার টিউনিং প্রয়োজন। মোবাইল ডেভেলপমেন্টের জন্য, অ্যাঙ্কার-মুক্ত আর্কিটেকচার (YOLOv8, FCOS) পছন্দনীয় — এগুলি বস্তুর আকারের উপর নির্ভর করে না এবং কাস্টমাইজ করা সহজ।
ML Kit Object Detection and Tracking — ডিভাইসে অবজেক্ট সনাক্তকরণ এবং ট্র্যাকিংয়ের জন্য Google-এর লাইব্রেরি। দুটি মোড সমর্থন করে: সিঙ্গেল-ইমেজ ডিটেক্টর (ছবির জন্য) এবং স্ট্রিমিং ডিটেক্টর (ভিডিওর জন্য)। স্ট্রিমিং মোড অপটিক্যাল ফ্লো ব্যবহার করে ফ্রেমের মধ্যে স্বয়ংক্রিয়ভাবে বস্তু ট্র্যাক করে, প্রাথমিক সনাক্তকরণের পরে ফ্রেমের মধ্যে লেটেন্সি 5–10 ms-এ কমিয়ে আনে। বিভাগ: fashion, food, home, places — প্রতিটিতে 10–20 শ্রেণি।
ML Kit API: ObjectDetector (বিকল্প: detectorMode, enableClassification, enableMultipleObjects) → InputImage → DetectedObject (trackingId, boundingBox, classificationCategory, classificationConfidence)। TrackingId ফ্রেম জুড়ে একই বস্তু ট্র্যাক করার অনুমতি দেয়। MultipleObjects = true — প্রতি ফ্রেমে ৫টি পর্যন্ত বস্তু সনাক্ত করে। Classification — বস্তুর শ্রেণি শনাক্তকরণ সক্ষম করে (গতির জন্য ডিফল্ট false)। রিয়েল-টাইমের জন্য স্ট্রিমিং মোড সুপারিশ করা হয়: Pixel 6-এ 20–30 FPS।
val options = ObjectDetectorOptions.Builder()
.setDetectorMode(ObjectDetectorOptions.STREAM_MODE)
.enableClassification()
.enableMultipleObjects()
.build()
val detector = ObjectDetection.getClient(options)
detector.process(inputImage)
.addOnSuccessListener { objects ->
objects.forEach { obj ->
val box = obj.boundingBox
val trackingId = obj.trackingId
val category = obj.classificationCategory()
drawBoundingBox(box, trackingId, category)
}
}
Object Tracking: প্রথম ফ্রেমে বস্তু সনাক্ত করার পরে, ML Kit পুনরায় সনাক্তকরণ ছাড়াই ভিডিও স্ট্রিমের মাধ্যমে এটি ট্র্যাক করে (অপটিক্যাল ফ্লো + ফিচার ট্র্যাকিং-এর উপর ভিত্তি করে)। এটি CPU/GPU লোড কমায়: প্রাথমিক সনাক্তকরণ 30–60 ms, পরবর্তী ট্র্যাকিং ফ্রেম 2–5 ms। যদি বস্তু ফ্রেম থেকে বেরিয়ে যায় বা > 30° ঘোরে, ট্র্যাকার রিসেট হয় এবং পুনরায় সনাক্তকরণ প্রয়োজন। যতক্ষণ বস্তু ফ্রেমে থাকে ততক্ষণ TrackingId স্থায়ী হয়। অনন্য বস্তু গণনার জন্য, শনাক্তকারী হিসাবে trackingId ব্যবহার করুন।
YOLOv8-Nano — এজ ডিভাইসের জন্য YOLOv8 (Ultralytics)-এর সবচেয়ে ছোট সংস্করণ। 2.6M প্যারামিটার, 5.9 MB (FP16), COCO-তে 42% mAP@0.5:0.95। YOLOv8 অ্যাঙ্কার-মুক্ত সনাক্তকরণ + C2f ব্যাকবোন + TaskAlignedAssigner ব্যবহার করে। মোবাইল ডেভেলপমেন্টের জন্য, TFLite (INT8 — 2.0 MB, লেটেন্সি 8–20 ms) এবং Core ML (4.5 MB, iPhone 15 Pro-তে লেটেন্সি 5–15 ms) এ রপ্তানি উপলব্ধ। YOLOv8-Nano অন-ডিভাইস রিয়েল-টাইম Object Detection-এর জন্য সেরা পছন্দ।
YOLOv8 TFLite-এ রপ্তানি: Ultralytics CLI প্রদান করে: yolo export model=yolov8n.pt format=tflite int8। আউটপুট হল NNAPI-এর মাধ্যমে GPU Delegate-এর জন্য অপ্টিমাইজ করা TFLite INT8 মডেল। কাস্টম ডেটাসেটের জন্য (আপনার নিজস্ব শ্রেণি, COCO নয়) — Ultralytics HUB-এর মাধ্যমে প্রতি শ্রেণিতে 50–500 ছবিতে প্রশিক্ষণ। RT-DETR (Real-Time Detection Transformer) — Transformer আর্কিটেকচারের উপর ভিত্তি করে একটি বিকল্প, NVIDIA Jetson-এ 60 FPS-এ 48% mAP, কিন্তু মোবাইল ডিভাইসের জন্য এটি এখনও গতিতে YOLOv8-Nano-র থেকে পিছিয়ে।
# YOLOv8 export to TFLite
from ultralytics import YOLO
model = YOLO("yolov8n.pt")
model.export(format="tflite", int8=True, imgsz=320)
# Inference with TFLite on Android
val interpreter = Interpreter(loadFile("yolov8n_int8.tflite"))
val output = Array(1) { Array(8400) { FloatArray(6) } }
interpreter.run(inputBuffer, output)
YOLO বনাম ML Kit মোবাইল ডিভাইসে: ML Kit Object Detection একীভূত করা সহজ (10 লাইন কোড), ML দক্ষতার প্রয়োজন নেই, তবে স্ট্যান্ডার্ড শ্রেণির মধ্যে সীমিত (fashion, food, home, places)। YOLOv8-Nano-র কাস্টম রপ্তানি প্রয়োজন তবে সম্পূর্ণ নিয়ন্ত্রণ প্রদান করে: যেকোনো শ্রেণি, ইনপুট আকার, আর্কিটেকচার। দ্রুত প্রোটোটাইপিংয়ের জন্য — ML Kit। অ-মানক বস্তুর সাথে উৎপাদনের জন্য — YOLOv8-Nano। iOS-এর জন্য: Ultralytics + VNCoreMLRequest থেকে মডেল রপ্তানির মাধ্যমে YOLOv8-Core ML।
SSD (Single Shot Multibox Detector) — মোবাইল ডিভাইসের জন্য একটি ক্লাসিক এক-পর্যায় আর্কিটেকচার। SSD MobileNetV2 — 2020–2023 সালে ডি-ফ্যাক্টো স্ট্যান্ডার্ড: COCO-তে 22% mAP@0.5:0.95, Pixel 6-এ 15–40 ms। SSD বিভিন্ন আকারের বস্তু সনাক্ত করার জন্য ফিচার পিরামিড (বিভিন্ন MobileNet স্তর) এবং প্রতিটি ফিচার ম্যাপ কোষের জন্য ডিফল্ট বক্স (অ্যাঙ্কার বক্স) ব্যবহার করে। সুবিধা: তার সময়ের জন্য সর্বোচ্চ গতি। অসুবিধা: ছোট বস্তুতে (10–30 px) কম নির্ভুলতা।
EfficientDet-Lite — Google (2020+)-এর একটি পরিবার, TFLite-এর জন্য অপ্টিমাইজ করা। EfficientDet-Lite0: 3.9M প্যারামিটার, 35% mAP, 20–50 ms। EfficientDet-Lite2: 8.1M, 42% mAP, 40–80 ms। EfficientDet মাল্টি-স্কেল ফিচার ফিউশনের জন্য BiFPN (Bidirectional Feature Pyramid Network) ব্যবহার করে — এটি লেটেন্সি না বাড়িয়ে 2–4% mAP লাভ দেয়। মোবাইল ডেভেলপমেন্টের জন্য, Google TFLite Task Vision-এর জন্য প্রাথমিক ডিটেক্টর হিসাবে EfficientDet-Lite সুপারিশ করে।
MediaPipe Object Detector — MediaPipe Tasks Vision-এর অংশ হিসাবে EfficientDet-Lite-এর উপর ভিত্তি করে একটি প্রস্তুত বাস্তবায়ন। Android, iOS, Python, Web-এর জন্য একীভূত API প্রদান করে। MediaPipe Object Detector COCO শ্রেণি (80 শ্রেণি), কাস্টম মডেল, স্ট্রিমিং মোড এবং CPU/GPU ডেলিগেট সমর্থন করে। ক্রস-প্ল্যাটফর্ম প্রকল্পে দ্রুত Object Detection একীকরণের জন্য, MediaPipe সর্বোত্তম পছন্দ: সমস্ত প্ল্যাটফর্মের জন্য একটি কোড।
// MediaPipe Object Detection
val options = ObjectDetectorOptions.Builder()
.setBaseOptions(BaseOptions.builder()
.setDelegate(BaseOptions.Delegate.GPU)
.build())
.setMaxResults(5)
.setScoreThreshold(0.5f)
.build()
val detector = ObjectDetector.createFromOptions(context, options)
val image = MPImage.fromBitmap(bitmap)
val result = detector.detect(image)
result.detections.forEach { detection ->
val box = detection.boundingBox
val category = detection.categories.first()
}
মোবাইল অ্যাপ্লিকেশনের জন্য আর্কিটেকচার নির্বাচন: মিড-রেঞ্জ ডিভাইসে > 30 FPS-এর জন্য — YOLOv8-Nano (INT8) বা SSD MobileNetV2। > 40% mAP নির্ভুলতার জন্য — YOLOv8-Small (11.2M) বা EfficientDet-Lite2 (8.1M)। ক্রস-প্ল্যাটফর্মের জন্য — MediaPipe Object Detector। সরলতার জন্য — ML Kit। iOS-প্রথমের জন্য — Core ML + YOLOv8 .mlpackage। Android-প্রথমের জন্য — TFLite Task Vision (ObjectDetector API)। প্রশিক্ষণ: Roboflow (ডেটাসেট) + Ultralytics YOLOv8 (প্রশিক্ষণ) + TFLite/Core ML-এ রপ্তানি।
TFLite Task Vision ObjectDetector — Android এবং iOS-এ Object Detection মডেল চালানোর জন্য Google-এর একীভূত API। Task API স্বয়ংক্রিয়ভাবে ইমেজ প্রিপ্রসেসিং (স্কেলিং, নরমালাইজেশন, কালার স্পেস রূপান্তর) এবং পোস্ট-প্রসেসিং (NMS, থ্রেশহোল্ডিং) পরিচালনা করে। ডেভেলপারকে শুধুমাত্র একটি .tflite মডেল পাস করতে হবে এবং bounding box + শ্রেণি + স্কোর সহ Detections-এর তালিকা পেতে হবে। Task API COCO-সামঞ্জস্যপূর্ণ মডেল (80 শ্রেণি) সমর্থন করে।
কাস্টম মডেল Task API-তে রূপান্তর: TFLite মডেলের ইনপুট [1, height, width, 3] (float32/uint8) এবং আউটপুট: detection_boxes[1,N,4], detection_classes[1,N], detection_scores[1,N], num_detections[1] থাকতে হবে। TensorFlow Object Detection API থেকে পোস্ট-প্রসেসিং অপস সহ (SSD Postprocess) রপ্তানি। YOLOv8-এর জন্য — ops-compat-এর মাধ্যমে NMS সহ TFLite রপ্তানি। iOS-এ Task API ANE-তে ত্বরণের জন্য Core ML Delegate ব্যবহার করে।
// TFLite Task Vision Object Detector
val options = ObjectDetectorOptions.Builder()
.setScoreThreshold(0.5f)
.setMaxResults(10)
.setDelegate(Delegate.GPU)
.build()
val detector = ObjectDetector.createFromFileAndOptions(
context, "custom_model.tflite", options
)
val image = TensorImage.fromBitmap(bitmap)
val results = detector.detect(image)
results.forEach { detection ->
onObjectDetected(
detection.boundingBox,
detection.categories.first().label,
detection.categories.first().score
)
}
Task API কর্মক্ষমতা: Android-এ GPU Delegate CPU (XNNPACK)-এর তুলনায় 3–5x ত্বরণ দেয়। NPU (Pixel 8, Snapdragon 8 Gen 3, Dimensity 9300) যুক্ত ডিভাইসে NNAPI Delegate — অতিরিক্ত 1.5–2x। Hexagon, DSP — DSP এক্সিলারেটরে 10x পর্যন্ত। iOS-এর জন্য, Core ML Delegate — CPU-র তুলনায় 4–6x। Task API স্বয়ংক্রিয়ভাবে উপলব্ধ হার্ডওয়্যার এক্সিলারেটর নির্বাচন করে, কিন্তু DetectorOptions-এর মাধ্যমে ডেলিগেট জোর করে নির্ধারণ করা যেতে পারে।
মানুষ এবং বস্তু গণনা — রিটেল অ্যানালিটিক্স: দোকানে দর্শক সনাক্তকরণ, সারি গণনা, তাক স্টক স্তর নির্ধারণ। একটি ফ্রেমে Object Detection পিপল কাউন্টার পায়ে চলাচল এবং রূপান্তর অনুমান করতে সহায়তা করে। ML Kit Object Detector 30 FPS পর্যন্ত দেয় — রিয়েল-টাইম গণনার জন্য যথেষ্ট। জোন ক্রসিংয়ের জন্য — Object Detection + ByteTrack ট্র্যাকিং-এর সংমিশ্রণ। গণনার নির্ভুলতা: ভাল আলোর অবস্থায় 92–95%।
উৎপাদনে ত্রুটি সনাক্তকরণ — Object Detection কনভেয়রে ত্রুটি চিহ্নিত করে: স্ক্র্যাচ, চিপ, ফাটল, ভুল সমাবেশ। একটি কাস্টম YOLOv8-Nano (INT8) মডেল USB ক্যামেরার সাথে সংযুক্ত Android ট্যাবলেটে চলে। লেটেন্সি: 20–40 ms প্রতি ফ্রেম (25–50 FPS)। জটিল ত্রুটির (মাইক্রো-ক্র্যাক) জন্য — ইনপুট রেজোলিউশন 640x640-এ বাড়ান (লেটেন্সি 40–80 ms)। প্রশিক্ষণ: Roboflow — 200–1000 ত্রুটি ছবির ডেটাসেট + Ultralytics YOLOv8।
রিয়েল-টাইম AR অবজেক্ট মার্কিং — ARCore (Android) এবং ARKit (iOS) সমতল পৃষ্ঠ, উল্লম্ব সমতল এবং 3D বস্তু শনাক্ত করতে Object Detection ব্যবহার করে। ML Kit Object Detection + ARCore Scene Semantics অবজেক্ট সেগমেন্টেশন প্রদান করে: দেয়াল, মেঝে, ছাদ, আসবাবপত্র। কাস্টম AR মার্কিং-এর জন্য — YOLOv8-Nano + SceneKit/SceneForm। রিয়েল-টাইম প্রয়োজনীয়তা: > 20 FPS।
// ARKit + Object Detection
let request = VNCoreMLRequest(model: objectDetector) { req, _ in
guard let results = req.results as? [VNDetectedObjectObservation] else { return }
for result in results where result.confidence > 0.6 {
let rect = result.boundingBox
let worldPos = arView.hitTest(rect.center)
arView.addAnchor(ARAnchor(name: label, transform: worldPos))
}
}
মেডিকেল ইমেজিং — এক্স-রে, MRI, CT স্ক্যান বিশ্লেষণের জন্য Object Detection। ডাক্তারের মোবাইল ডিভাইসে টিউমার, ফ্র্যাকচার, প্যাথলজি সনাক্তকরণ। Android ট্যাবলেটে YOLOv8-Nano 15–30 ms-এ ফুসফুসের নোডুল সনাক্ত করে 89% সংবেদনশীলতা এবং 93% নির্দিষ্টতা (NIH ChestX-ray14 ডেটা) সহ। প্রয়োজনীয়তা: INT8 কোয়ান্টাইজেশন (ডেটা গোপনীয়তা), উচ্চ রিকল (প্যাথলজি মিস করা মিথ্যা অ্যালার্মের চেয়ে বেশি বিপজ্জনক), আত্মবিশ্বাস সীমা < 0.4। অন-ডিভাইস প্রসেসিং মেডিকেল ডেটা গোপনীয়তা নিশ্চিত করে।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
Object Detection প্রতিটি বস্তুর জন্য একটি বাউন্ডিং বক্স ফেরত দেয় — বস্তুটিকে ঘিরে একটি আয়তক্ষেত্রাকার ফ্রেম। Image Segmentation (সিম্যান্টিক বা ইন্সট্যান্স) বস্তুর সঠিক রূপরেখা ফেরত দেয় — একটি পিক্সেল-স্তরের মাস্ক। সেগমেন্টেশন আরও নির্ভুল কিন্তু ধীর (সনাক্তকরণের জন্য 50–300 ms বনাম 10–30 ms)। যে কাজগুলিতে বস্তুর আকৃতি গুরুত্বপূর্ণ (চিকিৎসা, AR), সেগমেন্টেশন ব্যবহার করুন। যে কাজগুলিতে অবস্থান এবং উপস্থিতি গুরুত্বপূর্ণ (গণনা, মডারেশন), সনাক্তকরণ ব্যবহার করুন। MobileViT একটি আর্কিটেকচার যা উভয় কাজই সমাধান করে।
YOLOv8-Nano COCO (80 শ্রেণি) তে প্রশিক্ষিত। ML Kit Object Detection — 40+ শ্রেণি (fashion, food, home, places)। একটি কাস্টম মডেল কর্মক্ষমতা ক্ষতি ছাড়াই মোবাইল ডিভাইসে 100টি শ্রেণি পর্যন্ত সনাক্ত করতে পারে। 100টি শ্রেণির বাইরে, লেটেন্সি বাড়ে এবং mAP কমে। 1000+ শ্রেণির অ্যাপ্লিকেশনের জন্য, শ্রেণিবিন্যাস স্তরক্রম ব্যবহার করুন: প্রথমে একটি বিস্তৃত বিভাগ (10 শ্রেণি), তারপর একটি নির্দিষ্ট (100 উপশ্রেণি)। EfficientNet + YOLO — 50 ms-এর কম লেটেন্সি সহ 1000+ শ্রেণির জন্য একটি স্তরক্রমিক পদ্ধতি।
হ্যাঁ, ML Kit Object Detection-এ অন্তর্নির্মিত ট্র্যাকিং অন্তর্ভুক্ত: প্রথম ফ্রেমে সনাক্তকরণের পরে, বস্তুটি পুনরায় সনাক্তকরণ ছাড়াই ভিডিও স্ট্রিমের মাধ্যমে ট্র্যাক করা হয়। আরও জটিল ট্র্যাকিং (বস্তু ক্রসিং, ফ্রেম ছেড়ে যাওয়া) জন্য, ByteTrack বা BoT-SORT ব্যবহার করুন। ByteTrack সংলগ্ন ফ্রেমের বাউন্ডিং বক্সের মধ্যে IoU (intersection over union)-এর ভিত্তিতে কাজ করে — MOT17-এ 85% MOTA। BoT-SORT অতিরিক্তভাবে হারিয়ে যাওয়া বস্তু পুনরুদ্ধারের জন্য পুনরায়-সনাক্তকরণ (ReID) ব্যবহার করে — 90% MOTA।
YOLOv8 কে Core ML-এ রপ্তানি করুন: yolo export model=yolov8n.pt format=coreml int8। ফলস্বরূপ .mlpackage VNCoreMLRequest (Vision Framework)-এর মাধ্যমে একীভূত করা হয়। বিকল্প: YOLOv8 → TFLite → Core ML Delegate (iOS TFLite API)। Ultralytics YOLOv8 Core ML রপ্তানি iOS 16+, ANE ত্বরণ, FP16 এবং INT8 কোয়ান্টাইজেশন সমর্থন করে। স্ট্রিমিংয়ের জন্য, পুনরাবৃত্ত VNImageRequestHandler পারফরম্যান্স অনুরোধ সহ AVFoundation + Vision ব্যবহার করুন। রিয়েল-টাইম: iPhone 14 Pro-তে 20–30 FPS।
ডেটাসেট বৈচিত্র্য বাড়ান (কোণ, আলো, পটভূমি) — প্রতি শ্রেণিতে 500+ ছবি। ডেটা অগমেন্টেশন ব্যবহার করুন: mosaic, mixup, random perspective (Ultralytics YOLOv8 অগমেন্টেশন — 2–5% mAP লাভ)। ইনপুট আকার 320x320-এর পরিবর্তে 640x640-এ বাড়ান — +4–8% mAP, কিন্তু লেটেন্সি ×2। প্রশিক্ষণ-পরবর্তী FP16 বা INT8 কোয়ান্টাইজেশন ব্যবহার করুন — +0–1% mAP ক্ষতি, 4x কম্প্রেশন। iOS-এর জন্য, Core ML Delegate-এর মাধ্যমে ANE (Neural Engine) ব্যবহার করুন — CPU-র তুলনায় 3–5x ত্বরণ।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন