Android 我们可以使用安卓ML套件图像标签来检测产品吗
我有一个客户的要求,我们需要检测我们的产品盒在cameraView。为此,我尝试使用firebase ML Kit对象检测。目前,它可以检测门、沙发等一般物体。我希望能够检测到我的产品。有什么办法吗?下面是我当前的实现Android 我们可以使用安卓ML套件图像标签来检测产品吗,android,google-mlkit,firebase-machine-learning,Android,Google Mlkit,Firebase Machine Learning,我有一个客户的要求,我们需要检测我们的产品盒在cameraView。为此,我尝试使用firebase ML Kit对象检测。目前,它可以检测门、沙发等一般物体。我希望能够检测到我的产品。有什么办法吗?下面是我当前的实现 class DetectActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)
class DetectActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_detect)
cameraView.setLifecycleOwner(this)
cameraView.addFrameProcessor {
extractDataFromFrame(it) { result ->
tvDetectedItem.text = result
}
}
}
private fun extractDataFromFrame(frame: Frame, callback: (String) -> Unit) {
val options = FirebaseVisionObjectDetectorOptions.Builder()
.setDetectorMode(FirebaseVisionObjectDetectorOptions.STREAM_MODE)
.enableMultipleObjects()
.enableClassification() // Optional
.build()
val objectDetector = FirebaseVision.getInstance().getOnDeviceObjectDetector(options)
objectDetector.processImage(getVisionImageFromFrame(frame))
.addOnSuccessListener {
var result = ""
it.forEach { item ->
result += "${item.entityId}\n" //TODO : Get the knowledge graph result for this entity
Log.e("TAG",item.classificationCategory.toString())
}
callback(result)
}
.addOnFailureListener {
callback("Unable to detect an object")
}
.addOnCompleteListener {
}
}
private fun getVisionImageFromFrame(frame : Frame) : FirebaseVisionImage{
//ByteArray for the captured frame
val data = frame.data
//Metadata that gives more information on the image that is to be converted to FirebaseVisionImage
val imageMetaData = FirebaseVisionImageMetadata.Builder()
.setFormat(FirebaseVisionImageMetadata.IMAGE_FORMAT_NV21)
.setRotation(FirebaseVisionImageMetadata.ROTATION_90)
.setHeight(frame.size.height)
.setWidth(frame.size.width)
.build()
val image = FirebaseVisionImage.fromByteArray(data, imageMetaData)
return image
}
}
我还希望它完全离线。为此,有一个设备上的ML工具包实现。但是我怎么用呢?对不起,我的英语不好。首先,firebase ML Kit对象检测已弃用,不再受支持。请迁移到独立的ML工具包(请参阅)。其次,出于您的目的,您可以使用定制模型()查看ML Kit的对象检测和跟踪。为了为您的产品培训您自己的图像分类模型,ML Kit介绍了几种方法。祝你好运 首先,firebase ML Kit对象检测已弃用,不再受支持。请迁移到独立的ML工具包(请参阅)。其次,出于您的目的,您可以使用定制模型()查看ML Kit的对象检测和跟踪。为了为您的产品培训您自己的图像分类模型,ML Kit介绍了几种方法。祝你好运 我们对Firebase ML Kit进行了一些更改,以更好地区分设备上的API和基于云的API。“”(不带firebase品牌)包含所有设备上的API。firebase mlkit到mlkit的迁移指南。所有进一步的改进和新的API将只与新的ML工具包一起发布
对象检测sdk使用的默认模型非常简单。您现在可以使用独立的ML工具包访问obejct检测API。tfhub中有一些。我发现非常强大,您可以尝试一下。我们对Firebase ML Kit进行了一些更改,以更好地区分设备上的API和基于云的API。“”(不带firebase品牌)包含所有设备上的API。firebase mlkit到mlkit的迁移指南。所有进一步的改进和新的API将只与新的ML工具包一起发布
对象检测sdk使用的默认模型非常简单。您现在可以使用独立的ML工具包访问obejct检测API。tfhub中有一些。我发现它非常强大,您可以试一试。具体来说,您可以尝试使用TFLite Model Maker使用转移学习来训练适合您需要的分类器。具体来说,您可以尝试TFLite Model Maker使用转移学习来训练适合您需要的分类器。