זיהוי פגמים ב-AI באמצעות מצלמת אפליקציה ניידת

מערכות ראייה תעשייתיות יעילות אך יקרות וקשורות לפס הייצור, מה שמגביל את גמישות בקרת האיכות. אנחנו בונים פתרון נייד מבוסס בינה מלאכותית שהופך סמארטפון רגיל לכלי לזיהוי פגמים—ללא צורך בתצורה מחדש של ציוד או תלות ברשת. הצוות שלנו מספק את הפרויקט במפתח מלא, מהדרכת המודל ועד להטמעה באתר שלך, תוך הבטחת פעולה אמינה ותמיכה מתמשכת.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

אלה הם רק חלק מסוגי היישומים הניידים שאנו עובדים איתם, ולכל אחד מהם עשויים להיות מאפיינים ופונקציונליות ספציפיים משלו, המותאמים לצרכים ולמטרות הספציפיות של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
זיהוי פגמים ב-AI באמצעות מצלמת אפליקציה ניידת
מורכב
מ- 2 שבועות עד 3 חודשים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

מערכות ראייה תעשייתיות סטנדרטיות (Cognex, Keyence) יעילות אך יקרות ומקושרות באופן נוקשה לפס הייצור. מפקח נייד מבוסס בינה מלאכותית הוא חלופה גמישה: זול יותר, נייד יותר, ללא צורך בסידור מחדש של הציוד. עם זאת, נוצרים אתגרים הנדסיים חדשים: תאורה לא יציבה, מרחק משתנה לאובייקט, רטט מצילום ידני. אנו פותרים אותם עם בינה מלאכותית על-גבי המכשיר המותאמת לתהליך שלך. עם ניסיון של למעלה מ-5 שנים בראייה ממוחשבת תעשייתית ו-30+ הטמעות על פסי ייצור, חיסכון של עד 40% בהשוואה למערכות מוכנות אינו נדיר. צור קשר לייעוץ — נעזור לך לבחור את הפתרון האופטימלי.

זיהוי פגמים בבינה מלאכותית דרך מצלמת אפליקציה ניידת: אתגרים טכניים

כל אלפית שנייה חשובה, והאינטרנט בבית המלאכה הוא מותרות. הסקה על-גבי המכשיר מבטלת השהיה ותלות ברשת. גודל המודל מוגבל על ידי זיכרון המכשיר, והמהירות על ידי דרישות התפוקה.

// iOS: промышленная детекция дефектов через CoreML
class DefectDetectionEngine {
    private let model: VNCoreMLModel
    private var confidenceThreshold: Float = 0.5 // регулируется на стенде
    private var iouThreshold: Float = 0.45
    // Для стабильного FPS — отдельная очередь
    private let inferenceQueue = DispatchQueue(
        label: "defect.inference",
        qos: .userInteractive
    )
    func analyze(sampleBuffer: CMSampleBuffer) async throws -> [DefectDetection] {
        guard let pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else {
            throw DefectError.invalidFrame
        }
        return try await withCheckedThrowingContinuation { continuation in
            inferenceQueue.async {
                let request = VNCoreMLRequest(model: self.model) { req, error in
                    if let error = error {
                        continuation.resume(throwing: error)
                        return
                    }
                    let detections = (req.results as? [VNRecognizedObjectObservation])?
                        .filter { $0.confidence >= self.confidenceThreshold }
                        .map { obs in
                            DefectDetection(
                                type: DefectType(rawValue: obs.labels.first?.identifier ?? "") ?? .unknown,
                                confidence: obs.confidence,
                                boundingBox: obs.boundingBox, // нормализованный [0,1]
                                severity: self.classifySeverity(obs)
                            )
                        } ?? []
                    continuation.resume(returning: detections)
                }
                request.imageCropAndScaleOption = .scaleFill
                let handler = VNImageRequestHandler(cvPixelBuffer: pixelBuffer)
                try? handler.perform([request])
            }
        }
    }
}

ביצועים. YOLOv8n ב-CoreML באייפון 14: ~15 אלפיות שנייה להסקה (פוטנציאל 66 FPS). YOLOv8s: ~25 אלפיות שנייה. עבור קו הדורש >30 פריימים לשנייה עם צילום ידני — בחר בגרסת ה-n.

ייצוב תמונה לסריקה ידנית — זיהוי פגמים בבינה מלאכותית

רטט יד הוא אויב של פגמים קטנים. מספר טכניקות: חציצת פריימים עם בחירת חדות (Laplacian), חשיפה אוטומטית, ייצוב אופטי אם זמין.

// Буферизация кадров + выбор наиболее чёткого
class StabilizedFrameSelector {
    private var frameBuffer: RingBuffer<CMSampleBuffer> = RingBuffer(capacity: 8)
    private var sharpnessScores: [Float] = []

    func addFrame(_ buffer: CMSampleBuffer) {
        let sharpness = computeLaplacianVariance(buffer)
        frameBuffer.push(buffer)
        sharpnessScores.append(sharpness)
    }

    // Для анализа — берём кадр с пиковой резкостью за последние N кадров
    var bestFrame: CMSampleBuffer? {
        guard let maxIdx = sharpnessScores.indices.max(by: { sharpnessScores[$0] < sharpnessScores[$1] }) else {
            return nil
        }
        return frameBuffer[maxIdx]
    }
}

כמו כן: // iOS: промышленная детекция дефектов через CoreML class DefectDetectionEngine { private let model: VNCoreMLModel private var confidenceThreshold: Float = 0.5 // регулируется на стенде private var iouThreshold: Float = 0.45 // Для стабильного FPS — отдельная очередь private let inferenceQueue = DispatchQueue( label: "defect.inference", qos: .userInteractive ) func analyze(sampleBuffer: CMSampleBuffer) async throws -> [DefectDetection] { guard let pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { throw DefectError.invalidFrame } return try await withCheckedThrowingContinuation { continuation in inferenceQueue.async { let request = VNCoreMLRequest(model: self.model) { req, error in if let error = error { continuation.resume(throwing: error) return } let detections = (req.results as? [VNRecognizedObjectObservation])? .filter { $0.confidence >= self.confidenceThreshold } .map { obs in DefectDetection( type: DefectType(rawValue: obs.labels.first?.identifier ?? "") ?? .unknown, confidence: obs.confidence, boundingBox: obs.boundingBox, // нормализованный [0,1] severity: self.classifySeverity(obs) ) } ?? [] continuation.resume(returning: detections) } request.imageCropAndScaleOption = .scaleFill let handler = VNImageRequestHandler(cvPixelBuffer: pixelBuffer) try? handler.perform([request]) } } } } + // Буферизация кадров + выбор наиболее чёткого class StabilizedFrameSelector { private var frameBuffer: RingBuffer<CMSampleBuffer> = RingBuffer(capacity: 8) private var sharpnessScores: [Float] = [] func addFrame(_ buffer: CMSampleBuffer) { let sharpness = computeLaplacianVariance(buffer) frameBuffer.push(buffer) sharpnessScores.append(sharpness) } // Для анализа — берём кадр с пиковой резкостью за последние N кадров var bestFrame: CMSampleBuffer? { guard let maxIdx = sharpnessScores.indices.max(by: { sharpnessScores[$0] < sharpnessScores[$1] }) else { return nil } return frameBuffer[maxIdx] } } + ייצוב באמצעות AVCaptureDevice.activeVideoMinFrameDuration.

כיצד לכוונן את המודל על נתונים אמיתיים?

מערכי נתונים מוכנים לייצור ספציפי אינם זמינים. אתה צריך תיוג משלך. התהליך:

  1. צלם 200–500 דגימות על פס הייצור (תקין + פגום)
  2. תייג ב-Label Studio או CVAT (תיבות חוסמות + מחלקות פגמים)
  3. הרחבה: בהירות ±30%, סיבוב ±15°, היפוך אופקי, רעש גאוסי — המדמה תנאי צילום אמיתיים
  4. אמן YOLOv8s/m (בהתאם לדרישות המהירות)
  5. המר ל-CoreML (.mlpackage) או TFLite
  6. כוונון איטרטיבי על שגיאות ייצור — כל 2–4 שבועות
# Дообучение на новых данных производства
from ultralytics import YOLO

model = YOLO("defect_detection_v2.pt")  # предыдущая версия как база
results = model.train(
    data="production_defects.yaml",
    epochs=50,
    imgsz=640,
    batch=16,
    lr0=0.001,  # меньший LR для fine-tuning
    freeze=10,  # заморозить первые 10 слоёв backbone
    augment=True,
    hsv_h=0.015,
    hsv_s=0.7,
    degrees=10.0,
    translate=0.1,
    scale=0.5,
    mosaic=1.0
)

כל 2–4 שבועות אנו מכווננים את המודל על נתוני ייצור חדשים, ומגדילים את הדיוק עד 98%. צור קשר לביקורת על הנתונים שלך — נעריך את נפח התיוג הנדרש.

כיצד אנו משלבים את הפתרון עם המערכות שלך?

המפקח הנייד חייב לרשום תוצאות במערכת MES/ERP. אנו משתמשים בגישת offline-first: תחילה אחסון מקומי ב-Room/CoreData, ולאחר מכן סנכרון דרך REST/GraphQL כאשר מופיע חיבור רשת. זה מבטיח שאף בדיקה לא תלך לאיבוד.

// Android: отправка результата инспекции
data class InspectionResult(
    val productId: String,
    val batchId: String,
    val inspectorId: String,
    val timestamp: Instant,
    val detections: List<DefectDetection>,
    val verdict: InspectionVerdict, // PASS, FAIL, REVIEW
    val imageUrl: String, // сохранённое фото с аннотациями
    val deviceId: String
)

suspend fun submitInspection(result: InspectionResult) {
    // Сначала — локальная очередь (производство может быть без Wi-Fi)
    localQueue.enqueue(result)
    // Синхронизация при появлении сети
    syncManager.triggerSync()
}

Offline-first הוא קריטי: ה-Wi-Fi בבית המלאכה לא יציב, ואובדן תוצאת בדיקה אינו מקובל.

אתגר: המאפיינים של בקרת איכות תעשייתית

פגמים בייצור משתנים מאוד בין תעשיות. להלן דוגמאות למקרים הנפוצים ביותר.

תעשייה פגמים אופייניים גודל קריטי
מעגלים מודפסים (PCB) רכיב חסר, כיוון שגוי, מפרק הלחמה 0.5–2 מ"מ
טקסטיל קרעים, נקבים, שבירת חוט 1–5 מ"מ
מתכת מגולגלת שריטות, נקבוביות, תכלילים 0.1–3 מ"מ
זכוכית/קרמיקה שבבים, סדקים, בועות 0.5–10 מ"מ
אריזות תווית חסרה, הדפסה שגויה >5 מ"מ

לכל תעשייה — מודל משלה. מודל פגמים אוניברסלי לא עובד: מה שנחשב פגם במעגל מודפס עשוי להיות תקין במתכת.

מה כוללת העבודה שלנו?

רכיב תיאור
אימון מודל 200–500 דגימות מתויגות, הרחבה, כוונון לפגמים שלך
אפליקציה ניידת iOS/Android (CoreML/TFLite), הסקה על-גבי המכשיר, ייצוב פריימים
סנכרון לא מקוון אחסון מקומי עם סנכרון אוטומטי כאשר מופיעה רשת
אינטגרציה REST/GraphQL API לשליחת תוצאות ל-MES/ERP
תמיכה אחריות על המודל, כוונון כל 2–4 שבועות, תמיכה טכנית

כל הרכיבים מותאמים לתהליכי הייצור שלך.

הערכות לוחות זמנים

MVP עם מודל בסיסי (200–300 דגימות מתויגות), הסקה על-גבי המכשיר, היסטוריית בדיקות מקומית — 3–4 שבועות. מערכת מלאה עם מודל מכוונן לתהליך ייצור ספציפי, ייצוב תמונה, סנכרון offline-first עם MES/ERP, לוח מחוונים לסטטיסטיקת פגמים ותמיכה ב-iOS + Android — 2–3 חודשים. העלות המדויקת מחושבת באופן אישי לאחר ביקורת על הייצור שלך.

ההחזר על השקעה לפתרון כזה הוא פחות מ-6 חודשים הודות להפחתת הפסולת ובדיקה מהירה יותר. צור קשר להערכה חינמית של הפרויקט שלך. הזמן הטמעת פיילוט היום.

לפי התיעוד של Apple, הסקה על-גבי המכשיר מבטיחה פרטיות ומהירות.