Mask-RCNN校驗結果計算mAP值
Mask-RCNN校驗結果可以通過計算mAP值得到一個數值的衡量,在10張圖片上計算平均值,增加更高的準確性。
一、 mAP值的計算
P:precision,即準確率;
R:recall,即 召回率。
PR曲線:即以precision和recall作為縱、橫軸座標的二維曲線。
AP值:Average Precision,即平均精確度。
mAP值:Mean Average Precision,即平均AP值;是對多個驗證集個體求平均AP值。
二、Mask-RCNN計算mAP程式碼
Mask-RCNN計算mAP值時,會從logs檔案中找到h5權重檔案,然後用於測試。在train_shapes.ipynb檔案後面加上以下程式碼:
(該程式碼是在Mask-RCNN原始train_shapes.ipynb程式碼基礎上更改的,可以訓練自己的資料集)
用Mask-RCNN訓練自己的資料集遇到的問題可以檢視之前的部落格
#mAP # Compute VOC-Style mAP @ IoU=0.5 # Running on 10 images. Increase for better accuracy. class InferenceConfig(ShapesConfig): GPU_COUNT = 1 IMAGES_PER_GPU = 1 inference_config = InferenceConfig() # Recreate the model in inference mode model = modellib.MaskRCNN(mode="inference", config=inference_config, model_dir=MODEL_DIR) # Get path to saved weights # Either set a specific path or find last trained weights # model_path = os.path.join(ROOT_DIR, ".h5 file name here") model_path = model.find_last() # Load trained weights print("Loading weights from ", model_path) model.load_weights(model_path, by_name=True) # Test on a random image image_id = random.choice(dataset_val.image_ids) original_image, image_meta, gt_class_id, gt_bbox, gt_mask =\ modellib.load_image_gt(dataset_val, inference_config, image_id, use_mini_mask=False) log("original_image", original_image) log("image_meta", image_meta) log("gt_class_id", gt_class_id) log("gt_bbox", gt_bbox) log("gt_mask", gt_mask) visualize.display_instances1(original_image, gt_bbox, gt_mask, gt_class_id, dataset_train.class_names, figsize=(8, 8)) results = model.detect([original_image], verbose=1) r = results[0] visualize.display_instances1(original_image, r['rois'], r['masks'], r['class_ids'], dataset_val.class_names, r['scores'], ax=get_ax()) image_ids = np.random.choice(dataset_val.image_ids, 10) APs = [] for image_id in image_ids: # Load image and ground truth data image, image_meta, gt_class_id, gt_bbox, gt_mask =\ modellib.load_image_gt(dataset_val, inference_config, image_id, use_mini_mask=False) molded_images = np.expand_dims(modellib.mold_image(image, inference_config), 0) # Run object detection results = model.detect([image], verbose=0) r = results[0] # Compute AP AP, precisions, recalls, overlaps =\ utils.compute_ap(gt_bbox, gt_class_id, gt_mask, r["rois"], r["class_ids"], r["scores"], r['masks']) APs.append(AP) print("mAP: ", np.mean(APs))
三、結果顯示
相關推薦
Mask-RCNN校驗結果計算mAP值
Mask-RCNN校驗結果可以通過計算mAP值得到一個數值的衡量,在10張圖片上計算平均值,增加更高的準確性。 一、 mAP值的計算 P:precision,即準確率; R:recall,即 召回率。 PR曲線:即以precision和recall作為縱
校驗和計算方法
return 增加 ron cksum 代碼 sizeof 內容 設置 strong 1.說明: [1]校驗和覆蓋的內容: IP校驗和:IP首部。 ICMP校驗和:ICMP首部+ICMP數據; UDP、TCP校驗和:首部+數據+12個字節偽首部(
stm32校驗和計算的問題
常用的通訊中,經常會有一些校驗方法,比如DHT22的單匯流排協議。 根據參考手冊,只需要計算 if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4]) 就可以了,但是!!! 對於stm32來說,其計算結果可能不是想象中的那樣,舉個例子,buf0-4
身份證的校驗碼計算
PS:倒數第二位奇數為男,偶數為女 (1)十七位數字本體碼加權求和公式 S = Sum(Ai * Wi), i = 0, … , 16 ,先對前17位數字的權求和 Ai:表示第i位置上的身份證號碼數字值 Wi:表示第i位置上的加權因子&n
android中 IMEI和ICCID的校驗位計算
我們都知道在android 中有IMEI和ICCID 這兩項資料. 至於這兩項資料的獲取方式以及所表示的意思在此我就不寫了.主要講講這兩項資料最後一位的校驗位如何計算的. IMEI共1
Linux BCC(異或校驗)計算命令列工具
BCC(Block Check Character/資訊組校驗碼),因校驗碼是將所有資料異或得出,故俗稱異或校驗。具體演算法是:將每一個位元組的資料(一般是兩個16進位制的字元)進行異或後即得到校驗碼。 例如16進位制資料:01 A0 7C FF 02 用計算器計算:01 x
Element 表單驗證,取消部分表單欄位校驗結果
<template> <div> <el-form ref="formRules" :model="form" :rules="rules" :inline="true"> <el-form-item prop="name">
迴圈冗餘校驗碼計算CRC
CRC迴圈冗餘檢驗碼的計算題 1、若資訊碼字為11100011,生成多項式 G(X)=X5+X4+X+1,則計算出的 CRC 校驗碼為? x的最高次冪5則 資訊碼(被除數)補五個0為:111000
關於校驗和計算方面的C++程式碼,哪位大俠幫忙解讀一下,小弟初學,不太懂!謝謝!
關於校驗和計算方面的C++程式碼,哪位大俠幫忙解讀一下,小弟初學,不太懂!謝謝! 分享| 2010-09-03 16:51 李志鵬6076 | 瀏覽 755 次 #include "
掃盲檔案完整性校驗——關於雜湊值和數字簽名
★什麼是”完整性校驗”? 所謂的”完整性校驗”,顧名思義,就是檢查檔案是否完整。那麼,什麼情況下會導致檔案不完整捏?大概有如下幾種情況。 1. 感染病毒 比方說你的系統中了病毒,病毒感染了某個軟體安裝包或者某個可執行程式。那麼該檔案的完整性
校驗和計算原理
校驗和思路 首先,IP、ICMP、UDP和TCP報文頭都有檢驗和欄位,大小都是16bit,演算法基本上也是一樣的。 在傳送資料時,為了計算資料包的檢驗和。應該按如下步驟: 1、把校驗和欄位設定為0; 2、把需要校驗的資料看成以16位為單位的數字組成,依次
JAVA CRC16校驗碼計算
package com.hcs.lqjc.controller.dongDaHengFeng.ModBus.utils; /** * @author lwt * @date 2018-06-26 * * CRC16校驗碼計算 * <p> * (1).
開發實戰--CRC,校驗碼計算工具軟體的開發過程(開源)
1、專案的需求來源 做為程式設計師碼程式碼,開發軟體,開發通訊協議,相信避免不了與各種校驗碼打交道。校驗碼是通訊協議中資料接收方用來校驗資料合法性的一個編碼。那麼舉個栗子,請看今早我和隔壁老王的對話, 隔壁老王:今天你吃了麼?“嘎哈”
IMEI/MEID校驗位計算
IMEI是國際移動通訊裝置識別號(International Mobile Equipment Identity)的縮寫,用於GSM系統。 由15位數字組成,前6位(TAC)是型號核准號碼,代表手機型別。接著2位(FAC)是最後裝配號,代表產地。後6位(SNR)是串號,
如何在Service方法中丟擲異常並返回狀態或校驗結果?
在Service方法中,如果我們通過丟擲異常來進行事務處理(其實有更好的辦法:Spring事務配置),那麼我們的Service方法需要丟擲異常,但這裡有一個問題,之前都沒有考慮到,今天測試介面的時候發現的,問題:當發現檢驗失敗的時候,我們給Map設定了一個key為messa
使用@Valid和BindingResult驗證請求參數的合法性並處理校驗結果
result urn request 請求參數 合法性 out pan default ESS 1 /** 2 * 添加用戶,使用@RequestBody將請求體映射到Action方法參數中 3 * 使用@Valid註解驗證請求參數
Vee-validate 父元件獲取子元件表單校驗結果
vee-validate 是為 Vue.js 量身打造的表單校驗框架,允許您校驗輸入的內容並顯示對應的錯誤提示資訊。它內建了很多常見的校驗規則,可以組合使用多種校驗規則,大部分場景只需要配置就能實現開箱即用,還支援自定義正則表示式。而且支援 40 多種語言,對本地化、多語言支援非常友好。 國內餓了麼團隊開源專
SpringBoot 校驗回顯資訊--Ajax請求Controller後返回Map--校驗提示賦值
直接上程式碼: 第一: Controller類的方法: @ResponseBody @RequestMapping("/USER/Check") public Map<String,String>
Qt:計算CRC校驗值(CRC16和CRC32)
CRC有非常多的模式,我沒有全部都做,目前支援 CRC16-Modbus CRC16-X25 CRC32 使用方法 auto data = QByteArray::fromHex( "01
表單校驗的值$valid、$invalid、$pristine和$dirty
狀態 ng- 愛好 定義 ida from 用戶操作 num $set angular內置了一套表單校驗,其中包含幾個狀態 ① valid、invalid、pristine和dirty valid標記表單元素有效; invalid標記表單元素無效; pristi