// Download models and Create ailiaModel void CreateAdainNet(AiliaModel ailiaModelVgg, AiliaModel ailiaModelDecoder, bool gpu_mode = true) { string asset_path = Application.temporaryCachePath; string serverFolderName = "adain"; if (gpu_mode) { // call before OpenFile ailiaModelVgg.Environment(Ailia.AILIA_ENVIRONMENT_TYPE_GPU); ailiaModelDecoder.Environment(Ailia.AILIA_ENVIRONMENT_TYPE_GPU); } AiliaDownload ailia_download = new AiliaDownload(); ailia_download.DownloaderProgressPanel = UICanvas.transform.Find("DownloaderProgressPanel").gameObject; var urlList = new List <ModelDownloadURL>(); urlList.Add(new ModelDownloadURL() { folder_path = serverFolderName, file_name = "adain-vgg.onnx.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = serverFolderName, file_name = "adain-vgg.onnx" }); urlList.Add(new ModelDownloadURL() { folder_path = serverFolderName, file_name = "adain-decoder.onnx.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = serverFolderName, file_name = "adain-decoder.onnx" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { modelPrepared = ailiaModelVgg.OpenFile(asset_path + "/adain-vgg.onnx.prototxt", asset_path + "/adain-vgg.onnx") & ailiaModelDecoder.OpenFile(asset_path + "/adain-decoder.onnx.prototxt", asset_path + "/adain-decoder.onnx"); })); }
// Download models and Create ailiaModel AiliaModel CreateAiliaNet(ImageSegmentaionModels modelType, bool gpu_mode = true) { string asset_path = Application.temporaryCachePath; string serverFolderName = ""; string prototxtName = ""; string onnxName = ""; switch (modelType) { case ImageSegmentaionModels.HRNetV2_W18_Small_v2: serverFolderName = "hrnet"; prototxtName = "HRNetV2-W18-Small-v2.onnx.prototxt"; onnxName = "HRNetV2-W18-Small-v2.onnx"; break; case ImageSegmentaionModels.HRNetV2_W18_Small_v1: serverFolderName = "hrnet"; prototxtName = "HRNetV2-W18-Small-v1.onnx.prototxt"; onnxName = "HRNetV2-W18-Small-v1.onnx"; break; case ImageSegmentaionModels.HRNetV2_W48: serverFolderName = "hrnet"; prototxtName = "HRNetV2-W48.onnx.prototxt"; onnxName = "HRNetV2-W48.onnx"; break; case ImageSegmentaionModels.hair_segmentation: serverFolderName = "hair_segmentation"; prototxtName = "hair_segmentation.opt.onnx.prototxt"; onnxName = "hair_segmentation.opt.onnx"; break; case ImageSegmentaionModels.pspnet_hair_segmentation: serverFolderName = "pspnet-hair-segmentation"; prototxtName = "pspnet-hair-segmentation.onnx.prototxt"; onnxName = "pspnet-hair-segmentation.onnx"; break; case ImageSegmentaionModels.deeplabv3: serverFolderName = "deeplabv3"; prototxtName = "deeplabv3.opt.onnx.prototxt"; onnxName = "deeplabv3.opt.onnx"; break; } ailiaModel = new AiliaModel(); if (gpu_mode) { // call before OpenFile ailiaModel.Environment(Ailia.AILIA_ENVIRONMENT_TYPE_GPU); } AiliaDownload ailia_download = new AiliaDownload(); ailia_download.DownloaderProgressPanel = UICanvas.transform.Find("DownloaderProgressPanel").gameObject; var urlList = new List <ModelDownloadURL>(); urlList.Add(new ModelDownloadURL() { folder_path = serverFolderName, file_name = prototxtName }); urlList.Add(new ModelDownloadURL() { folder_path = serverFolderName, file_name = onnxName }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { modelPrepared = ailiaModel.OpenFile(asset_path + "/" + prototxtName, asset_path + "/" + onnxName); })); return(ailiaModel); }
private void CreateAiliaDetector(AiliaModelsConst.AiliaModelTypes modelType) { string asset_path = Application.temporaryCachePath; var urlList = new List <ModelDownloadURL>(); if (gpu_mode) { ailia_detector.Environment(Ailia.AILIA_ENVIRONMENT_TYPE_GPU); } switch (modelType) { case AiliaModelsConst.AiliaModelTypes.yolov1_tiny: mode_text.text = "ailia yolov1-tiny Detector"; classifierLabel = AiliaClassifierLabel.VOC_CATEGORY; threshold = 0.2f; iou = 0.45f; category_n = 20; ailia_detector.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32, AiliaDetector.AILIA_DETECTOR_ALGORITHM_YOLOV1, category_n, AiliaDetector.AILIA_DETECTOR_FLAG_NORMAL ); urlList.Add(new ModelDownloadURL() { folder_path = "yolov1-tiny", file_name = "yolov1-tiny.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = "yolov1-tiny", file_name = "yolov1-tiny.caffemodel" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_detector.OpenFile(asset_path + "/yolov1-tiny.prototxt", asset_path + "/yolov1-tiny.caffemodel"); })); break; case AiliaModelsConst.AiliaModelTypes.yolov1_face: mode_text.text = "ailia yolov1-face FaceDetector"; classifierLabel = new string[] { "face" }; threshold = 0.2f; iou = 0.45f; category_n = 1; ailia_detector.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32, AiliaDetector.AILIA_DETECTOR_ALGORITHM_YOLOV1, category_n, AiliaDetector.AILIA_DETECTOR_FLAG_NORMAL ); urlList.Add(new ModelDownloadURL() { folder_path = "yolov1-face", file_name = "yolov1-face.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = "yolov1-face", file_name = "yolov1-face.caffemodel" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_detector.OpenFile(asset_path + "/yolov1-face.prototxt", asset_path + "/yolov1-face.caffemodel"); })); break; case AiliaModelsConst.AiliaModelTypes.yolov2: mode_text.text = "ailia yolov2 Detector"; classifierLabel = AiliaClassifierLabel.COCO_CATEGORY; threshold = 0.2f; iou = 0.45f; category_n = 80; ailia_detector.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32, AiliaDetector.AILIA_DETECTOR_ALGORITHM_YOLOV2, category_n, AiliaDetector.AILIA_DETECTOR_FLAG_NORMAL ); urlList.Add(new ModelDownloadURL() { folder_path = "yolov2", file_name = "yolov2.onnx.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = "yolov2", file_name = "yolov2.onnx" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_detector.OpenFile(asset_path + "/yolov2.onnx.prototxt", asset_path + "/yolov2.onnx"); ailia_detector.Anchors(AiliaClassifierLabel.COCO_ANCHORS); })); break; case AiliaModelsConst.AiliaModelTypes.yolov3: mode_text.text = "ailia yolov3 Detector"; classifierLabel = AiliaClassifierLabel.COCO_CATEGORY; threshold = 0.4f; iou = 0.45f; category_n = 80; ailia_detector.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32, AiliaDetector.AILIA_DETECTOR_ALGORITHM_YOLOV3, category_n, AiliaDetector.AILIA_DETECTOR_FLAG_NORMAL ); urlList.Add(new ModelDownloadURL() { folder_path = "yolov3", file_name = "yolov3.opt.onnx.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = "yolov3", file_name = "yolov3.opt.onnx" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_detector.OpenFile(asset_path + "/yolov3.opt.onnx.prototxt", asset_path + "/yolov3.opt.onnx"); })); break; case AiliaModelsConst.AiliaModelTypes.yolov3_tiny: mode_text.text = "ailia yolov3-tiny Detector"; classifierLabel = AiliaClassifierLabel.COCO_CATEGORY; threshold = 0.4f; iou = 0.45f; category_n = 80; ailia_detector.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32, AiliaDetector.AILIA_DETECTOR_ALGORITHM_YOLOV3, category_n, AiliaDetector.AILIA_DETECTOR_FLAG_NORMAL ); urlList.Add(new ModelDownloadURL() { folder_path = "yolov3-tiny", file_name = "yolov3-tiny.opt.onnx.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = "yolov3-tiny", file_name = "yolov3-tiny.opt.onnx" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_detector.OpenFile(asset_path + "/yolov3-tiny.opt.onnx.prototxt", asset_path + "/yolov3-tiny.opt.onnx"); })); break; case AiliaModelsConst.AiliaModelTypes.yolov3_face: mode_text.text = "ailia yolov3-face FaceDetector"; classifierLabel = new string[] { "face" }; //Face Detection threshold = 0.2f; iou = 0.45f; category_n = 1; ailia_detector.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32, AiliaDetector.AILIA_DETECTOR_ALGORITHM_YOLOV3, category_n, AiliaDetector.AILIA_DETECTOR_FLAG_NORMAL ); urlList.Add(new ModelDownloadURL() { folder_path = "yolov3-face", file_name = "yolov3-face.opt.onnx.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = "yolov3-face", file_name = "yolov3-face.opt.onnx" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_detector.OpenFile(asset_path + "/yolov3-face.opt.onnx.prototxt", asset_path + "/yolov3-face.opt.onnx"); })); break; case AiliaModelsConst.AiliaModelTypes.yolov3_hand: mode_text.text = "ailia yolov3-hand Detector"; classifierLabel = new string[] { "hand" }; threshold = 0.4f; iou = 0.45f; category_n = 1; ailia_detector.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32, AiliaDetector.AILIA_DETECTOR_ALGORITHM_YOLOV3, category_n, AiliaDetector.AILIA_DETECTOR_FLAG_NORMAL ); urlList.Add(new ModelDownloadURL() { folder_path = "yolov3-hand", file_name = "yolov3-hand.opt.onnx.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = "yolov3-hand", file_name = "yolov3-hand.opt.onnx" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_detector.OpenFile(asset_path + "/yolov3-hand.opt.onnx.prototxt", asset_path + "/yolov3-hand.opt.onnx"); })); break; case AiliaModelsConst.AiliaModelTypes.yolov4: mode_text.text = "ailia yolov4 Detector"; classifierLabel = AiliaClassifierLabel.COCO_CATEGORY; threshold = 0.4f; iou = 0.45f; category_n = 80; ailia_detector.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32, AiliaDetector.AILIA_DETECTOR_ALGORITHM_YOLOV4, category_n, AiliaDetector.AILIA_DETECTOR_FLAG_NORMAL ); urlList.Add(new ModelDownloadURL() { folder_path = "yolov4", file_name = "yolov4.onnx.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = "yolov4", file_name = "yolov4.onnx" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_detector.OpenFile(asset_path + "/yolov4.onnx.prototxt", asset_path + "/yolov4.onnx"); })); break; case AiliaModelsConst.AiliaModelTypes.yolov4_tiny: mode_text.text = "ailia yolov4-tiny Detector"; classifierLabel = AiliaClassifierLabel.COCO_CATEGORY; threshold = 0.25f; iou = 0.45f; category_n = 80; ailia_detector.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32, AiliaDetector.AILIA_DETECTOR_ALGORITHM_YOLOV4, category_n, AiliaDetector.AILIA_DETECTOR_FLAG_NORMAL ); urlList.Add(new ModelDownloadURL() { folder_path = "yolov4-tiny", file_name = "yolov4-tiny.onnx.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = "yolov4-tiny", file_name = "yolov4-tiny.onnx" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_detector.OpenFile(asset_path + "/yolov4-tiny.onnx.prototxt", asset_path + "/yolov4-tiny.onnx"); })); break; case AiliaModelsConst.AiliaModelTypes.mobilenet_ssd: mode_text.text = "ailia mobilenet_ssd Detector. Pretraine model : " + pretrainedModel; classifierLabel = AiliaClassifierLabel.VOC_CATEGORY; threshold = 0.4f; iou = 0.45f; category_n = 80; ailia_detector.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32, AiliaDetector.AILIA_DETECTOR_ALGORITHM_SSD, category_n, AiliaDetector.AILIA_DETECTOR_FLAG_NORMAL ); var model_path = pretrainedModel + ".onnx.prototxt"; var weight_path = pretrainedModel + ".onnx"; urlList.Add(new ModelDownloadURL() { folder_path = "mobilenet_ssd", file_name = model_path }); urlList.Add(new ModelDownloadURL() { folder_path = "mobilenet_ssd", file_name = weight_path }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_detector.OpenFile(asset_path + "/" + model_path, asset_path + "/" + weight_path); })); break; case AiliaModelsConst.AiliaModelTypes.maskrcnn: Debug.Log("maskrcnn is working in progress."); /* * mode_text.text = "ailia maskrcnn Detector"; * * // Download * urlList.Add(new ModelDownloadURL() { folder_path = "mask_rcnn", file_name = "mask_rcnn_R_50_FPN_1x.onnx.prototxt" }); * urlList.Add(new ModelDownloadURL() { folder_path = "mask_rcnn", file_name = "mask_rcnn_R_50_FPN_1x.onnx" }); * * StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => * { * FileOpened = ailia_detector.OpenFile(asset_path + "/mask_rcnn_R_50_FPN_1x.onnx.prototxt", asset_path + "/mask_rcnn_R_50_FPN_1x.onnx"); * Ailia.AILIAShape shape; * shape = ailia_detector.GetInputShape(); * })); */ break; default: Debug.Log("Others ailia models are working in progress."); break; } }
private void CreateAilia() { string asset_path = Application.temporaryCachePath; var urlList = new List <ModelDownloadURL>(); if (gpu_mode) { ailia_classifier_model.Environment(Ailia.AILIA_ENVIRONMENT_TYPE_GPU); } switch (ailiaModelType) { case AiliaModelsConst.AiliaModelTypes.vgg16: break; case AiliaModelsConst.AiliaModelTypes.googlenet: ailia_classifier_model.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32 ); urlList.Add(new ModelDownloadURL() { folder_path = "googlenet", file_name = "googlenet.onnx.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = "googlenet", file_name = "googlenet.onnx" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_classifier_model.OpenFile(asset_path + "/googlenet.onnx.prototxt", asset_path + "/googlenet.onnx"); })); break; case AiliaModelsConst.AiliaModelTypes.resnet50: ailia_classifier_model.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_SIGNED_INT8 ); var model_path = resnet50model + ".onnx.prototxt"; var weight_path = resnet50model + ".onnx"; urlList.Add(new ModelDownloadURL() { folder_path = "resnet50", file_name = model_path }); urlList.Add(new ModelDownloadURL() { folder_path = "resnet50", file_name = weight_path }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_classifier_model.OpenFile(asset_path + "/" + model_path, asset_path + "/" + weight_path); })); break; case AiliaModelsConst.AiliaModelTypes.inceptionv3: ailia_classifier_model.Settings( AiliaFormat.AILIA_NETWORK_IMAGE_FORMAT_RGB, AiliaFormat.AILIA_NETWORK_IMAGE_CHANNEL_FIRST, AiliaFormat.AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32 ); urlList.Add(new ModelDownloadURL() { folder_path = "inceptionv3", file_name = "inceptionv3.onnx.prototxt" }); urlList.Add(new ModelDownloadURL() { folder_path = "inceptionv3", file_name = "inceptionv3.onnx" }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_classifier_model.OpenFile(asset_path + "/inceptionv3.onnx.prototxt", asset_path + "/inceptionv3.onnx"); })); break; } }
// Download models and Create ailiaModel AiliaModel CreateAiliaNet(ImageManipulationModels modelType, bool gpu_mode = true) { string asset_path = Application.temporaryCachePath; string serverFolderName = ""; string prototxtName = ""; string onnxName = ""; switch (modelType) { case ImageManipulationModels.SRResNet: serverFolderName = "srresnet"; prototxtName = "srresnet.opt.onnx.prototxt"; onnxName = "srresnet.opt.onnx"; break; case ImageManipulationModels.Noise2Noise: serverFolderName = "noise2noise"; prototxtName = "noise2noise_gaussian.onnx.prototxt"; onnxName = "noise2noise_gaussian.onnx"; break; case ImageManipulationModels.IlluminationCorrection: serverFolderName = "illnet"; prototxtName = "illnet.onnx.prototxt"; onnxName = "illnet.onnx"; break; case ImageManipulationModels.Colorization: serverFolderName = "colorization"; prototxtName = "colorizer.onnx.prototxt"; onnxName = "colorizer.onnx"; break; } ailiaModel = new AiliaModel(); if (gpu_mode) { // call before OpenFile ailiaModel.Environment(Ailia.AILIA_ENVIRONMENT_TYPE_GPU); } AiliaDownload ailia_download = new AiliaDownload(); ailia_download.DownloaderProgressPanel = UICanvas.transform.Find("DownloaderProgressPanel").gameObject; var urlList = new List <ModelDownloadURL>(); urlList.Add(new ModelDownloadURL() { folder_path = serverFolderName, file_name = prototxtName }); urlList.Add(new ModelDownloadURL() { folder_path = serverFolderName, file_name = onnxName }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { modelPrepared = ailiaModel.OpenFile(asset_path + "/" + prototxtName, asset_path + "/" + onnxName); })); return(ailiaModel); }
private void CreateAiliaPoseEstimator() { string asset_path = Application.temporaryCachePath; var urlList = new List <ModelDownloadURL>(); if (gpu_mode) { ailia_pose.Environment(Ailia.AILIA_ENVIRONMENT_TYPE_GPU); } switch (ailiaModelType) { case AiliaModelsConst.AiliaModelTypes.openpose: /* * // Download url is uncertain. * ailia_pose.Settings(AiliaPoseEstimator.AILIA_POSE_ESTIMATOR_ALGORITHM_OPEN_POSE); * * urlList.Add(new ModelDownloadURL() { folder_path = "openpose", file_name = "pose_deploy.prototxt" }); * urlList.Add(new ModelDownloadURL() { folder_path = "openpose", file_name = "pose_iter_440000.caffemodel" }); * * StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => * { * FileOpened = ailia_pose.OpenFile(asset_path + "/pose_deploy.prototxt", asset_path + "/pose_iter_440000.caffemodel"); * })); */ break; case AiliaModelsConst.AiliaModelTypes.lightweight_human_pose_estimation: ailia_pose.Settings(AiliaPoseEstimator.AILIA_POSE_ESTIMATOR_ALGORITHM_LW_HUMAN_POSE); var model_path = "lightweight-human-pose-estimation"; var weight_path = "lightweight-human-pose-estimation"; if (optimizedModel) { model_path += ".opt.onnx.prototxt"; weight_path += ".opt.onnx"; } else { model_path += ".onnx.prototxt"; weight_path += ".onnx"; } urlList.Add(new ModelDownloadURL() { folder_path = "lightweight-human-pose-estimation", file_name = model_path }); urlList.Add(new ModelDownloadURL() { folder_path = "lightweight-human-pose-estimation", file_name = weight_path }); StartCoroutine(ailia_download.DownloadWithProgressFromURL(urlList, () => { FileOpened = ailia_pose.OpenFile(asset_path + "/" + model_path, asset_path + "/" + weight_path); })); break; case AiliaModelsConst.AiliaModelTypes.lightweight_human_pose_estimation_3d: break; default: Debug.Log("Others ailia models are working in progress."); break; } }