Pose Detection: Τι είναι, μοντέλα και αρχή λειτουργίας

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-07-19 Χρόνος ανάγνωσης: 9 λεπ

Pose Detection — τεχνολογία υπολογιστικής όρασης που προσδιορίζει τη θέση του ανθρώπινου σώματος μέσω βασικών σημείων (landmarks): κεφάλι, ώμοι, αγκώνες, καρποί, γοφοί, γόνατα, αστράγαλοι. Κάθε σημείο έχει συντεταγμένες (x, y) στον 2D χώρο, ενώ τα προηγμένα μοντέλα (MediaPipe BlazePose 3D) προσθέτουν συντεταγμένη z για το βάθος. Σε εφαρμογές κινητών, το Pose Detection χρησιμοποιείται σε ιχνηλάτες γυμναστικής, εφαρμογές γιόγκα, φίλτρα AR, προγράμματα αποκατάστασης και συστήματα αθλητικής ανάλυσης. Σύμφωνα με το Google ML Kit, 2025, το on-device Pose Detection επεξεργάζεται έως 30 καρέ ανά δευτερόλεπτο με ακρίβεια 94% PCK.

Κύρια σημεία

  • Pose Detection — προσδιορισμός βασικών σημείων σώματος (landmarks) από εικόνα
  • ML Kit Pose Detection — 33 landmarks, 30 FPS, ακρίβεια 94% PCK
  • MediaPipe BlazePose — 33 landmarks + 3D, έως 60 FPS σε GPU
  • MoveNet Lightning — 17 keypoints (COCO), 30+ FPS, 8 MB, INT8
  • On-device — ιδιωτικότητα, real-time, χωρίς αποστολή βίντεο σε διακομιστή

Τι είναι το Pose Detection: βασικά και μετρικές

Pose Detection (ή Pose Estimation) αναφέρεται στο έργο προσδιορισμού σημασιολογικών βασικών σημείων του ανθρώπινου σώματος από εικόνα ή βίντεο. Η top-down προσέγγιση πρώτα ανιχνεύει τον άνθρωπο (Object Detection), στη συνέχεια προσδιορίζει τη στάση του. Η bottom-up προσέγγιση βρίσκει όλα τα landmarks στην εικόνα και στη συνέχεια τα ομαδοποιεί ανά άτομο (OpenPose). Για κινητές συσκευές χρησιμοποιείται bottom-up — είναι ταχύτερη όταν υπάρχουν πολλά άτομα στο κάδρο. Τα ML Kit και BlazePose χρησιμοποιούν single-stage προσέγγιση — ανίχνευση + στάση σε ένα πέρασμα.

COCO Keypoints — το τυπικό σύνολο 17 σημείων: μύτη, μάτια (2), αυτιά (2), ώμοι (2), αγκώνες (2), καρποί (2), γοφοί (2), γόνατα (2), αστράγαλοι (2). Το MediaPipe BlazePose χρησιμοποιεί 33 σημεία, προσθέτοντας: δάχτυλα ποδιών, φτέρνες, κέντρο κορμού, σημεία στο πρόσωπο. Όσο περισσότερα σημεία, τόσο πιο ακριβής η ανάλυση στάσης, αλλά μεγαλύτερο το υπολογιστικό φορτίο. Για εφαρμογές γυμναστικής αρκούν 17–20 σημεία. Για πλήρη ανάλυση (γιόγκα, χορός) — 33 σημεία. Για φίλτρα AR — 33 σημεία + 468 σημεία προσώπου (MediaPipe Face Mesh).

PCK (Percentage of Correct Keypoints) — μετρική ακρίβειας του Pose Detection. Υπολογίζεται ως το ποσοστό σημείων που προβλέπονται εντός απόστασης από το ground truth (συνήθως 0.05–0.15 του μεγέθους του bounding box του ανθρώπου). ML Kit Pose Detection: 94% PCK@0.1. BlazePose Full: 96% PCK@0.1. MoveNet Lightning: 91% PCK@0.1. OKS (Object Keypoint Similarity) — μετρική που χρησιμοποιείται στο COCO, λαμβάνοντας υπόψη την κλίμακα του ανθρώπου και τη δυσκολία του σημείου. mAP@OKS — τυπική μετρική για συγκρίσεις (benchmarks).

ΜοντέλοLandmarksPCK@0.1Καθυστέρηση (GPU)Μέγεθος
ML Kit Pose Acc3394%15–30 ms14 MB
BlazePose Full33 + 3D96%10–20 ms12 MB
BlazePose Lite3391%5–10 ms5 MB
MoveNet Lightning1791%8–15 ms8 MB
MoveNet Thunder1795%25–40 ms13 MB

Keypoint Visibility: κάθε landmark έχει βαθμολογία (score) (0..1), που υποδεικνύει πόσο σίγουρο είναι το μοντέλο για το σημείο και αν είναι ορατό. Σημεία με score < 0.5 θεωρούνται αόρατα (καλυμμένα, εκτός κάδρου). Για ανάλυση στάσης χρησιμοποιήστε μόνο ορατά σημεία. Για αξιολόγηση ευθυγράμμισης (alignment) — υπολογίστε σταθμισμένες αποστάσεις confidence-weighted, όπου σημεία με χαμηλό score έχουν μικρότερο βάρος στη μετρική.

ML Kit Pose Detection σε Android και iOS

ML Kit Pose Detection — βιβλιοθήκη από την Google για προσδιορισμό στάσης στη συσκευή. Υποστηρίζει 33 landmarks, συμπεριλαμβανομένων σημείων προσώπου, δαχτύλων ποδιών και φτερνών. Λειτουργίες: Accurate Mode (μοντέλο 14 MB, 15–30 ms, υψηλή ακρίβεια) και Streaming Mode (5 MB, 5–10 ms, για real-time). Το Streaming Mode χρησιμοποιεί ελαφρύ μοντέλο με παρακολούθηση (tracking) — μετά το πρώτο καρέ παρακολουθεί την κίνηση χωρίς επανανίχνευση ακριβών θέσεων, προσφέροντας έως 60 FPS.

API ML Kit Pose Detection: PoseDetector (επιλογές: setDetectorMode, setPerformanceMode) → InputImage → Pose (List<PoseLandmark>). Κάθε PoseLandmark έχει: landmarkType (38 τύποι), position (PointF3D), inFrameLikelihood (0..1). Το Pose παρέχει επίσης: boundingBox του ανθρώπου, λίστα landmarks, μέθοδο getLandmark(type). Για ταξινόμηση στάσης χρησιμοποιήστε γωνίες μεταξύ οστών: shoulderAngle, elbowAngle, hipAngle — υπολογίζονται μέσω Vector3D μεταξύ γειτονικών landmarks.

kotlin
val options = PoseDetectorOptions.Builder()
    .setDetectorMode(PoseDetectorOptions.STREAM_MODE)
    .setPerformanceMode(PoseDetectorOptions.PERFORMANCE_MODE_FAST)
    .build()

val detector = PoseDetection.getClient(options)

detector.process(inputImage)
    .addOnSuccessListener { pose ->
        val leftElbow = pose.getLandmark(PoseLandmark.LEFT_ELBOW)
        val leftShoulder = pose.getLandmark(PoseLandmark.LEFT_SHOULDER)
        val leftWrist = pose.getLandmark(PoseLandmark.LEFT_WRIST)
        val elbowAngle = calculateAngle(
            leftShoulder.position, leftElbow.position, leftWrist.position
        )
    }

ML Kit σε iOS: Το Pose Detection είναι διαθέσιμο μέσω ML Kit CocoaPods. Το API είναι ταυτόσημο με το Android: PoseDetector → UIImage → Pose → PoseLandmark. Σε iOS, το ML Kit χρησιμοποιεί Core ML και ANE (A12+), προσφέροντας 10–20 ms καθυστέρηση σε Accurate Mode σε iPhone 15 Pro. Streaming Mode — 3–8 ms, έως 120 FPS. Σε iOS, το ML Kit Pose Detection λειτουργεί ταχύτερα από το MediaPipe BlazePose (επιτάχυνση Core ML), αλλά υστερεί σε σχέση με το BlazePose σε παλαιότερες συσκευές (iPhone X–11).

MediaPipe BlazePose: αρχιτεκτονική και 3D

MediaPipe BlazePose — υψηλής απόδοσης μοντέλο για Pose Detection από την Google Research. Χρησιμοποιεί υβριδική αρχιτεκτονική: detector-decoder pipeline βασισμένο σε MobileNetV2 + Feature Pyramid Network. BlazePose Full: 33 landmarks + 3D συντεταγμένες (βάθος z). BlazePose Lite: 33 landmarks (2D) χωρίς βάθος. Και τα δύο μοντέλα είναι διαθέσιμα στο MediaPipe Tasks Vision σε Android, iOS, Python και Web. Το BlazePose Full επεξεργάζεται 30–60 FPS σε GPU, το Lite — 60+ FPS.

3D Pose Estimation με BlazePose: το μοντέλο προβλέπει τη συντεταγμένη z για κάθε landmark, επιτρέποντας την εκτίμηση βάθους (προσέγγιση/απομάκρυνση άκρων) χωρίς στερεοσκοπική κάμερα. Η συντεταγμένη z υπολογίζεται σε μετρικό χώρο (μέτρα) σε σχέση με την κάμερα. Ακρίβεια BlazePose 3D: 37 mm MPJPE (Mean Per Joint Position Error) σε δημόσια διαθέσιμες συγκρίσεις — επαρκής για γυμναστική και AR, ανεπαρκής για ιατρική διάγνωση. Για ARKit/ARFoundation, το BlazePose 3D προσφέρει φυσικό βάθος.

kotlin
// Εργασίες Όρασης Ανίχνευσης Στάσης MediaPipe
val options = PoseLandmarkerOptions.Builder()
    .setBaseOptions(BaseOptions.builder()
        .setModelAssetPath("pose_landmarker_full.task")
        .build())
    .setDelegate(Delegate.GPU)
    .build()

val landmaker = PoseLandmarker.createFromOptions(context, options)

val result = landmaker.detect(MPImage.fromBitmap(bitmap))
result.landmarks.forEach { pose ->
    pose.forEach { landmark ->
        drawLandmark(landmark.x, landmark.y, landmark.z)
    }
}

BlazePose vs ML Kit Pose Detection: Το BlazePose είναι ταχύτερο (60+ FPS έναντι 30 FPS), υποστηρίζει 3D συντεταγμένες, λειτουργεί cross-platform μέσω MediaPipe. Το ML Kit είναι ευκολότερο στην ενσωμάτωση (δεν απαιτεί MediaPipe SDK), περιλαμβάνει προεκπαιδευμένα μοντέλα που εμφανίζουν υψηλή ακρίβεια. Για iOS-native έργα — ML Kit Pose Detection (καλύτερη βελτιστοποίηση για ANE). Για cross-platform έργα (Flutter, React Native) — MediaPipe BlazePose (ενιαίο μοντέλο για όλες τις πλατφόρμες). Για ακρίβεια σε απαιτητικές σκηνές — και τα δύο μοντέλα είναι συγκρίσιμα.

MoveNet: Lightning και Thunder από TensorFlow

MoveNet — οικογένεια μοντέλων για Pose Detection από TensorFlow, βελτιστοποιημένη για TFLite. Lightning (8 MB, INT8 — 4 MB): 17 COCO keypoints, 91% PCK, 8–15 ms καθυστέρηση, 30+ FPS. Thunder (13 MB, INT8 — 6 MB): 17 keypoints, 95% PCK, 25–40 ms καθυστέρηση, 20+ FPS. Το MoveNet χρησιμοποιεί CenterNet αρχιτεκτονική + bilinear interpolation για high-resolution heatmap. Το MoveNet υποστηρίζει multi-pose ανίχνευση (έως 6 άτομα). Τα μοντέλα είναι διαθέσιμα στο TensorFlow Hub.

MoveNet Lightning vs Thunder: Lightning — για real-time εφαρμογές με υψηλό FPS (γυμναστική, φίλτρα AR). Thunder — για ακριβή ανάλυση στάσης (αποκατάσταση, αθλητική ανάλυση) σε συσκευές με GPU. Και τα δύο μοντέλα μετατρέπονται σε Core ML μέσω tf-coreml για iOS. Το MoveNet είναι επίσης διαθέσιμο μέσω TFLite Task Vision PoseLandmarker API. Σύσταση: ξεκινήστε με Lightning, αν η ακρίβεια δεν είναι επαρκής — μεταβείτε σε Thunder (μόνο +15 ms επιβάρυνση καθυστέρησης).

java
// Συμπερασμός MoveNet με TFLite
Interpreter interpreter = new Interpreter(loadModel(context));
TensorImage image = TensorImage.fromBitmap(bitmap);
image.load(Bitmap.createScaledBitmap(bitmap, 192, 192, true));

float[][] output = new float[1][51];
interpreter.run(image.getTensorBuffer(), output);

float[] keypoints = output[0];
for (int i = 0; i < 17; i++) {
    float y = keypoints[i * 3];
    float x = keypoints[i * 3 + 1];
    float score = keypoints[i * 3 + 2];
    drawKeypoint(x, y, score);
}

MoveNet Multi-Pose: ανίχνευση έως 6 ατόμων στο κάδρο. Αντί για την τυπική προσέγγιση heatmap, το MoveNet χρησιμοποιεί person detection + pose refinement: πρώτα ανιχνεύει άτομα (centroid-based), στη συνέχεια εκτιμά τη στάση κάθε ατόμου. Η λειτουργία multi-pose είναι 2–3x πιο αργή από single-pose: Lightning — 25–50 ms (6 άτομα). Για εφαρμογές γυμναστικής με έναν χρήστη χρησιμοποιήστε single-pose. Για ομαδικές δραστηριότητες (γιόγκα, crossfit) — multi-pose με περιορισμό καρέ για εξοικονόμηση μπαταρίας.

Ταξινόμηση στάσεων: από σημεία σε ενέργειες

Pose Classification — στάδιο μετά την ανίχνευση: μετατροπή landmarks σε σημασιολογικές ενέργειες (στέκεται, κάθεται, σήκωσε χέρι, κάνει κάθισμα). Προσεγγίσεις: Rule-based (χειροκίνητοι κανόνες — γωνίες μεταξύ οστών), ML-based (λογιστική παλινδρόμηση ή Random Forest σε διάνυσμα landmarks), DL-based (LSTM ταξινομητής ακολουθίας στάσεων ανά καρέ). Rule-based — 50–80% ακρίβεια, απλό και γρήγορο. ML-based — 85–95% ακρίβεια με 200+ σημειωμένα παραδείγματα. LSTM — 90–98% ακρίβεια σε χρονοσειρές (βίντεο).

Γωνίες μεταξύ οστών: για κάθε σημείο υπολογίζονται γωνίες με γειτονικά. Παραδείγματα: right elbow angle (shoulder → elbow → wrist), right knee angle (hip → knee → ankle), torso angle (shoulders midpoint → hips midpoint). Οι γωνίες είναι αμετάβλητες ως προς την κλίμακα και τη θέση του ατόμου στην οθόνη. Η κανονικοποίηση γωνιών στο εύρος [0, 1] επιτρέπει την ταξινόμηση στάσης με απλό κανόνα κατωφλίου: αν elbowAngle < 30° — το χέρι είναι λυγισμένο, αν > 150° — είναι τεντωμένο.

kotlin
// Ταξινομητής squats βάσει κανόνων
fun classifySquat(pose: Pose): SquatPhase {
    val kneeAngle = angle(
        pose.getLandmark(PoseLandmark.LEFT_HIP),
        pose.getLandmark(PoseLandmark.LEFT_KNEE),
        pose.getLandmark(PoseLandmark.LEFT_ANKLE)
    )
    return when {
        kneeAngle > 140f -> SquatPhase.STANDING
        kneeAngle < 90f  -> SquatPhase.SQUAT
        else           -> SquatPhase.TRANSITION
    }
}

MediaPipe Pose Classification — προεκπαιδευμένοι ταξινομητές στο MediaPipe Tasks: καθίσματα, push-ups, plank, ανυψώσεις ποδιών. Ο ταξινομητής λαμβάνει λίστα landmarks και επιστρέφει ενέργεια + confidence. Περιλαμβάνει χρονική εξομάλυνση (temporal filter): HED (Holt Exponential Double Smoothing) για ομαλή μετάβαση μεταξύ στάσεων. Για προσαρμοσμένες ενέργειες — εκπαιδεύστε ταξινομητή σε 100–500 παραδείγματα μέσω MediaPipe Model Maker (TensorFlow Lite + metadata).

Εφαρμογές Pose Detection σε γυμναστική και αποκατάσταση

Ιχνηλάτες γυμναστικής με διόρθωση τεχνικής — η εφαρμογή αναλύει τη στάση του χρήστη κατά τη διάρκεια της άσκησης και δίνει φωνητικές υποδείξεις: “κατέβασε τη λεκάνη χαμηλότερα”, “μην γέρνεις τον κορμό”. ML Kit Pose Detection + rule-based ταξινομητής μετρά επαναλήψεις και αξιολογεί την ποιότητα. Squat: knee angle < 90° — σωστό κάθισμα, back angle < 45° — επικίνδυνη κλίση κορμού. Push-up: elbow angle < 90° στο κατώτερο σημείο — πλήρες push-up. Pull-up: πηγάδι πάνω από το επίπεδο της μπάρας.

Αποκατάσταση και φυσικοθεραπεία — το Pose Detection χρησιμοποιείται για απομακρυσμένο έλεγχο ασκήσεων φυσικοθεραπείας. Ο γιατρός ορίζει μια πρότυπη στάση (π.χ. απαγωγή ώμου 45°), η εφαρμογή μετρά την τρέχουσα γωνία και τις αποκλίσεις. Το BlazePose 3D προσφέρει ακρίβεια γωνιών ±3° — επαρκή για κλινική αξιολόγηση. Συχνότητα: 1 καρέ ανά 3–5 δευτερόλεπτα (εξοικονόμηση μπαταρίας). On-device — ιδιωτικότητα ιατρικών δεδομένων ασθενούς. Αποκατάσταση μετά από εγκεφαλικό: παρακολούθηση hand-to-shoulder, elbow-extension, hip-flexion.

Φίλτρα AR και εφέ — το Pose Detection αποτελεί τη βάση για φίλτρα AR κοινωνικών δικτύων (TikTok, Instagram, Snapchat). Τα landmarks κεφαλής, ώμων και χεριών χρησιμοποιούνται για την επικάλυψη μασκών, κινουμένων σχεδίων, διακοσμητικών στοιχείων. Το MediaPipe BlazePose Full + Face Mesh (468 σημεία) προσφέρει 120+ FPS σε κορυφαίες συσκευές. ARKit/ARCore Face Tracking + Pose Detection — συνδυασμός για full-body AR. Απαιτήσεις: FPS > 30, motion-to-photon latency < 20 ms.

swift
// Φίλτρο AR με σημεία στάσης
let request = VNDetectHumanBodyPoseRequest { req, _ in
    guard let observation = req.results?.first as? VNHumanBodyPoseObservation else { return }
    let keypoints = try observation.recognizedPoints(.all)
    let rightShoulder = keypoints[VNHumanBodyPoseObservation.JointName.rightShoulder]
    DispatchQueue.main.async {
        arView.placeFilter(at: rightShoulder?.location ?? .zero)
    }
}

Αθλητική ανάλυση — επαγγελματική αξιολόγηση τεχνικής: βιομηχανική ανάλυση τρεξίματος (cadence, stride length, arm swing symmetry), κολύμβησης (body roll, elbow angle κατά την κωπηλασία), τένις (shoulder rotation, wrist snap). Το MoveNet Thunder με μετα-επεξεργασία προσφέρει επαρκή ακρίβεια για μη επαγγελματική ανάλυση. Για επαγγελματικό αθλητισμό απαιτείται 3D Motion Capture (Vicon, OptiTrack), αλλά το Pose Detection στο κινητό αποτελεί προσιτή εναλλακτική για τη μαζική αγορά. Ο συγχρονισμός γωνιών μεταξύ καρέ είναι βασικό συστατικό.

Συχνές ερωτήσεις

Πώς να σταθεροποιήσω το Pose Detection όταν η κάμερα τρέμει;

Χρησιμοποιήστε temporal smoothing (χρονική εξομάλυνση): One Euro Filter (1€ filter) — ρυθμίζεται η συχνότητα αποκοπής (cut-off frequency) για κάθε landmark ξεχωριστά, καταστέλλει τον υψίσυχνο θόρυβο (τρέμουλο), διατηρώντας την πραγματική κίνηση (χαμηλή καθυστέρηση). Το MediaPipe BlazePose περιλαμβάνει ενσωματωμένο HED (Holt Exponential Double Smoothing) — προσαρμοστική εξομάλυνση με πρόβλεψη κίνησης. Για ML Kit υλοποιήστε 1€ filter μόνοι σας: το φίλτρο έχει δύο παραμέτρους — beta (ταχύτητα) και minCutoff (κατώφλι συχνότητας). Συνιστώμενες: beta = 0.04, minCutoff = 0.5 (Android).

Πόσα άτομα στο κάδρο μπορεί να ανιχνεύσει το Pose Detection;

ML Kit Pose Detection — ένα άτομο (single-pose). MoveNet Lightning — έως 6 άτομα (multi-pose). MediaPipe BlazePose — έως 2–3 άτομα μέσω MediaPipe Tasks (multi-pose). Για εφαρμογές με ομαδικές δραστηριότητες χρησιμοποιήστε MoveNet Lightning ή BlazePose. Για εφαρμογές γυμναστικής με έναν χρήστη — ML Kit (απλούστερη ενσωμάτωση, υψηλότερη ακρίβεια single-pose). Για βιντεοκλήσεις με φίλτρα AR — αρκεί το BlazePose Lite με multi-pose (υψηλό FPS).

Πώς υπολογίζω τη γωνία μεταξύ οστών για ταξινόμηση στάσης;

Γωνία μεταξύ δύο οστών: πάρτε τρία landmarks — άρθρωση A, άρθρωση B (κορυφή γωνίας), άρθρωση C. Υπολογίστε διανύσματα BA = (A - B) και BC = (C - B). Γωνία = atan2(cross(BA, BC), dot(BA, BC)). Math.toDegrees(acos(dot(BA, BC) / (len(BA) * len(BC)))). Η γωνία είναι στο εύρος 0–180°. Για τρισδιάστατες συντεταγμένες (BlazePose 3D) χρησιμοποιήστε Vector3D. Κανονικοποιήστε γωνίες στο εύρος [0,1] για ML ταξινομητή.

Μπορώ να ανιχνεύσω τη στάση και των δύο χεριών ταυτόχρονα;

Ναι, όλα τα βασικά μοντέλα (ML Kit, BlazePose, MoveNet) ανιχνεύουν landmarks και των δύο χεριών ταυτόχρονα: LEFT_SHOULDER, LEFT_ELBOW, LEFT_WRIST, RIGHT_SHOULDER, RIGHT_ELBOW, RIGHT_WRIST. Για επιπλέον ανίχνευση χεριών (hand tracking) συνδυάστε Pose Detection + Hand Landmarker (21 σημεία ανά χέρι). MediaPipe Hands + BlazePose — τυπικός συνδυασμός για full-body + hands. Σε iOS — VNDetectHumanHandPoseRequest + VNDetectHumanBodyPoseRequest.

Ποιο είναι το ελάχιστο μέγεθος ανθρώπου στο κάδρο για Pose Detection;

ML Kit Pose Detection: ελάχιστο bounding box ανθρώπου — 100x100 pixel (αναλογία διαστάσεων ~1:1). MoveNet Lightning: 120x120 pixel. BlazePose: 80x160 pixel (κάθετο bounding box). Για άνθρωπο σε όρθια στάση σε απόσταση 3 μέτρων από την κάμερα (1920x1080) — περίπου 250x600 px, που είναι επαρκές. Σε απόσταση > 5 μέτρων η ακρίβεια μειώνεται — χρησιμοποιήστε Multi-Pose + high-resolution input. Για απομακρυσμένα αντικείμενα προτιμήστε Object Detection + Pose Estimation (two-stage).

Σύνοψη

  • Pose Detection — προσδιορισμός 17–33 βασικών σημείων σώματος με ακρίβεια 91–96% PCK
  • ML Kit Pose Detection — 33 landmarks, έως 30 FPS, απλό API, σε GPU/ANE
  • BlazePose (MediaPipe) — 33 landmarks + 3D, έως 60 FPS, cross-platform
  • MoveNet Lightning/Thunder — 17 COCO keypoints, 30+ FPS, TFLite, multi-pose
  • Pose Classification — από landmarks σε ενέργειες μέσω rule-based ή ML
  • On-device — ιδιωτικότητα, real-time, 3 ms–30 ms καθυστέρηση
  • Εφαρμογές — γυμναστική, αποκατάσταση, φίλτρα AR, αθλητική ανάλυση

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης