Android-এ Mobile Vision থেকে ML Kit-এ স্থানান্তরিত হচ্ছে

এই নথিতে আপনার প্রকল্পগুলিকে Google Mobile Vision (GMV) থেকে ML Kit-এ Android-এ স্থানান্তর করার জন্য আপনাকে যে পদক্ষেপগুলি নিতে হবে তা কভার করে৷

সামগ্রিক API পরিবর্তন

এই পরিবর্তনগুলি সমস্ত API-তে প্রযোজ্য:

  • GMV APIগুলি একটি SparseArray<T> ফলাফল সিঙ্ক্রোনাস প্রদান করে। ML Kit APIগুলি অ্যাসিঙ্ক্রোনাসভাবে ফলাফলগুলি ফেরত দিতে Google Play পরিষেবা টাস্ক API ব্যবহার করে৷
  • একটি মডিউল সফলভাবে ডাউনলোড করা হয়েছে এবং ব্যবহারের জন্য প্রস্তুত কিনা তা নির্দেশ করতে GMV API পৃষ্ঠে isOperational() কল ব্যবহার করে। এমএল কিট-এর এমন কোনো পদ্ধতি নেই। ML কিট একটি MlKitException.UNAVAILABLE নিক্ষেপ করে৷ একটি মডিউল ডাউনলোড না হলে অনুপলব্ধ ব্যতিক্রম৷ আপনি এই ব্যতিক্রমটি ধরতে পারেন এবং পরবর্তী ফ্রেমটি প্রক্রিয়া করতে পারেন বা একটি সময়সীমা সেট করতে পারেন এবং বর্তমান ফ্রেমের সাথে পুনরায় চেষ্টা করতে পারেন।
  • GMV পদ্ধতি ইনপুটের জন্য Frame ব্যবহার করে। এমএল কিট InputImage ব্যবহার করে।
  • GMV MultiDetector , MultiProcessor এবং FocusingProcessor ফ্রেমওয়ার্কগুলি একাধিক সনাক্তকরণ এবং ফলাফল ফিল্টারিংয়ের জন্য প্রদান করে। এমএল কিট এই ধরনের প্রক্রিয়া প্রদান করে না, তবে একই কার্যকারিতা বিকাশকারী দ্বারা প্রয়োগ করা যেতে পারে যদি ইচ্ছা হয়।

Gradle আমদানি আপডেট করুন

আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে এমএল কিট অ্যান্ড্রয়েড লাইব্রেরির জন্য নির্ভরতা আপডেট করুন, যা সাধারণত app/build.gradle হয়, নিম্নলিখিত টেবিল অনুসারে:

API জিএমভি আর্টিফ্যাক্ট এমএল কিট আর্টিফ্যাক্ট
ফেসডিটেক্টর com.google.android.gms:play-services-vision:xxx com.google.android.gms:play-services-mlkit-face-detection:17.1.0
বারকোড ডিটেক্টর com.google.android.gms:play-services-vision:xxx com.google.android.gms:play-services-mlkit-barcode-scanning:18.3.1
টেক্সট রিকগনিশন com.google.android.gms:play-services-vision:xxx com.google.android.gms:play-services-mlkit-text-recognition:19.0.1
ক্যামেরা সোর্স com.google.android.gms:play-services-vision:xxx com.google.mlkit:camera:16.0.0-beta3

এপিআই পরিবর্তন

এই বিভাগটি প্রতিটি ভিশন API-এর জন্য সংশ্লিষ্ট GMV এবং ML কিট ক্লাস এবং পদ্ধতিগুলি বর্ণনা করে এবং কীভাবে API শুরু করতে হয় তা দেখায়।

ফেসডিটেক্টর

এই উদাহরণে দেখানো হিসাবে আরম্ভ পুনরায় কোড:

জিএমভি

detector = new FaceDetector.Builder(context)
    .setMode(FaceDetector.ACCURATE_MODE)
    .setLandmarkType(FaceDetector.ALL_LANDMARKS)
    .setClassificationType(FaceDetector.ALL_CLASSIFICATIONS)
    .build();

এমএল কিট

FaceDetectorOptions options = new FaceDetectorOptions.Builder()
    .setPerformanceMode(FaceDetectorOptions.PERFORMANCE_MODE_ACCURATE)
    .setLandmarkMode(FaceDetectorOptions.LANDMARK_MODE_ALL)
    .setClassificationMode(FaceDetectorOptions.CLASSIFICATION_MODE_ALL)
    .build();

detector = FaceDetection.getClient(options);

নিম্নলিখিত ক্লাস এবং পদ্ধতির নাম পরিবর্তন করুন:

android.gms.vision.face mlkit.vision.face
FaceDetector FaceDetector
SparseArray<Face> detect(Frame frame) Task<List<Face>> process(@NonNull InputImage image)
FaceDetector.Builder.setClassificationType(int classificationType) FaceDetectorOptions.Builder. setClassificationMode(int classificationMode)
NO_CLASSIFICATIONS, ALL_CLASSIFICATIONS CLASSIFICATION_MODE_NONE , CLASSIFICATION_MODE_ALL
FaceDetector.Builder.setLandmarkType(int landmarkType) FaceDetectorOptions.Builder. setLandmarkMode(int landmarkMode)
NO_LANDMARKS, ALL_LANDMARKS, CONTOUR_LANDMARKS LANDMARK_MODE_NONE , LANDMARK_MODE_ALL

GMV CONTOUR_LANDMARKS প্রতিস্থাপন করতে #setContourMode ব্যবহার করুন)

FaceDetector.Builder.setTrackingEnabled(boolean trackingEnabled) FaceDetectorOptions.Builder. enableTracking()
FaceDetector.Builder.setMinFaceSize(float proportionalMinFaceSize) FaceDetectorOptions.Builder. setMinFaceSize(float minFaceSize)
FaceDetector.Builder.setMode(int mode) FaceDetectorOptions.Builder. setPerformanceMode(int performanceMode)
FAST_MODE, ACCURATE_MODE PERFORMANCE_MODE_FAST , PERFORMANCE_MODE_ACCURATE
FaceDetector.Builder.setProminentFaceOnly(boolean prominentFaceOnly) এই বৈশিষ্ট্যটি মুখের কনট্যুর মোড দ্বারা আচ্ছাদিত।
Face Face
Contour FaceContour
Landmark FaceLandmark
Face.getContours() Face. getAllContours()
Face.getEulerY() Face. getHeadEulerAngleY()
Face.getEulerZ() Face. getHeadEulerAngleZ()
Face.getId() Face. getTrackingId()
Face.getIsLeftEyeOpenProbability() Face. getLeftEyeOpenProbability()
Face.getIsRightEyeOpenProbability() Face. getRightEyeOpenProbability()
Face.getIsSmilingProbability() Face. getSmilingProbability()
Face.getLandmarks() Face. getLandmark(int landmarkType)
Face.getPosition()
Face.getHeight()
Face.getWidth()
Face. getBoundingBox()

বারকোড ডিটেক্টর

এই উদাহরণে দেখানো হিসাবে আরম্ভ পুনরায় কোড:

জিএমভি

barcodeDetector = new BarcodeDetector.Builder(context).build());

এমএল কিট

barcodeScanner = BarcodeScanning.getClient();

নিম্নলিখিত ক্লাস এবং পদ্ধতির নাম পরিবর্তন করুন:

android.gms.vision.barcode mlkit.vision.barcode
BarcodeDetector BarcodeScanner
SparseArray<Barcode> detect(Frame frame) Task<List<Barcode>> process(@NonNull InputImage image)
Barcode Barcode

টেক্সট রিকগনিশন

এই উদাহরণে দেখানো হিসাবে আরম্ভ পুনরায় কোড:

জিএমভি

textRecognizer = new TextRecognizer.Builder(context).build();

এমএল কিট

textRecognizer = TextRecognition.getClient(TextRecognizerOptions.DEFAULT_OPTIONS);

নিম্নলিখিত ক্লাস এবং পদ্ধতির নাম পরিবর্তন করুন:

android.gms.vision.text mlkit.vision.text
TextRecognizer TextRecognizer
SparseArray<TextBlock> detect(Frame frame) Task<Text> process(@NonNull InputImage image)
SparseArray<TextBlock> Text
Line Line
TextBlock TextBlock
Element Element
getLanguage() getRecognizedLanguage()
getBoundingBox() getBoundingBox()
getCornerPoints() getCornerPoints()
TextBlock.getComponents() TextBlock.getLines()
TextBlock.getValue() TextBlock.getText()
Element.getValue() Element.getText()

ক্যামেরা সোর্স

আপনি যদি Google Mobile Vision দ্বারা প্রদত্ত ক্যামেরাসোর্স লাইব্রেরি ব্যবহার করেন, তাহলে আপনি সহজেই ML Kit-এর CameraXSource লাইব্রেরিতে স্থানান্তর করতে পারেন, যদি আপনার অ্যাপটি একটি min sdk সংস্করণ >= 21-এ চলছে।

নিম্নলিখিত ক্লাস এবং পদ্ধতির নাম পরিবর্তন করুন:

android.gms.vision mlkit.vision.camera
CameraSource CameraSourceConfig
CameraSource.Builder CameraSourceConfig.Builder
CameraSource.Builder.setAutoFocusEnabled CameraX ব্যবহার করার সময় ডিফল্টরূপে অটোফোকাস প্রদান করা হয়।
CameraSource.Builder.setFacing CameraSourceConfig.Builder . setCameraFacing
CameraSource.Builder.setFocusMode CameraX ব্যবহার করার সময় ডিফল্টরূপে অটোফোকাস প্রদান করা হয়।
CameraSource.Builder.setRequestedFps অবচয়।
CameraSource.Builder.setRequestedPreviewSize CameraSourceConfig.Builder . setRequestedPreviewSize
CameraSource CameraXSource
new CameraSource.Builder(mContext, detector)....build(); CameraXSource(CameraSourceConfig, PreviewView)
getCameraFacing() getCameraFacing ()
getPreviewSize() getPreviewSize ()
release() close ()
start(SurfaceHolder surfaceHolder) start () // The previewview is set in the CameraSourceConfig
start() start ()
stop() stop ()
Detector.Processor DetectionTaskCallback
receiveDetections(Detections<T> detections) void onDetectionTaskReceived(@NonNull Task<ResultT> detectionTask);
release() অভ্যন্তরীণভাবে পরিচালনা করা হয়
CameraSource.PictureCallback অবচয়
CameraSource.ShutterCallback অবচয়

সাহায্য পাচ্ছি

আপনি যদি কোনো সমস্যায় পড়েন, আমাদের কমিউনিটি পৃষ্ঠা দেখুন যেখানে আমরা আমাদের সাথে যোগাযোগ করার জন্য উপলব্ধ চ্যানেলগুলির রূপরেখা দিই৷