我正在制作一个车牌识别系统,我有一个包含多个车牌的图像的地面真相,这样我就可以知道其上的ID,但没有位置信息。因此,我列出了预测车牌的ID并尝试与地面真车牌进行比较以了解我错过了哪个字符。在开始比较之前,我必须对预测车牌进行排序以与正确的地面真车进行比较。有时预测车牌可以如果只是看起来像车牌,那是完全错误的。因此,我尝试使用levenshtein比率来确定它是否是。 简要描述问题:
lps_gt = ['ABC-1234', 'HK-5566']#ground truth
lps_prd = ['LABC123', '111']#prediction
for i in range(len(lps_gt)):
for j in range(len(lps_prd)):
ratio[i][j] = lvst.ratio(lps_gt[i], lps_prd[j])
res = np.argmax(ratio, axis = 1)
for i in range(len(lps_gt)):
if (ratio[i][res[i]] > 0.5):
sorted_lps_prd.append(lps_prd[res[i]])
sorted_fmts.append(fmts[res[i]])
我想找到一个levenshtein比率的阈值,以消除诸如“ 111”之类的东西 因此'111'不会与'HK-5566'相比 我现在使用的是0.5,但是我不确定它是否足够。 由于我使用py-levenshtein,因此我尝试使用Jaro和Jaro_Winkler,但是他们都非常关心字符串的开头。