之前寫過(guò)一篇文章 隨記-點(diǎn)選驗(yàn)證碼 ,當(dāng)時(shí)借助了 ddddocr 完成了ocr 識(shí)別堡僻,這篇文章算是對(duì)之前的補(bǔ)充。
本次更換了新的方案:
- 通過(guò) ultralytics(YOLO8)訓(xùn)練自己的模型
- 吐槽一句:標(biāo)注真是一件耗時(shí)的事情啊,自己標(biāo)注了 1600張圖片
- 準(zhǔn)確率:因?yàn)闃?biāo)注的樣本以及剛剛接觸 ultralytics 的原因,準(zhǔn)確率較低彼宠。
驗(yàn)證碼示例
我將一張完整的驗(yàn)證碼圖片鳄虱,劃分為兩部分 verify 和 target。
- target 包含了 文字和順序信息兩部分
- verify 包含了文字和坐標(biāo)信息兩部分
效果
主要代碼
def run(image_base_path):
driver.get('https://www.bilibili.com/')
# 點(diǎn)擊 頭像
click_element(driver, """ //div[@class="header-login-entry"] """)
# 點(diǎn)擊 短信登錄
click_element(driver, """ //div[@class="login-tab-item"] """)
# 輸入 手機(jī)號(hào)
input_element(driver, """ //div[@class="login-sms-wp__cid"]/../input """, "15266666666")
# 點(diǎn)擊 獲取驗(yàn)證碼
click_element(driver, """ //div[@class="login-sms-wp__cid"]/../div[@class="login-sms-send clickable "] """)
style_value = get_element_value(driver, """ //div[@class="geetest_widget"]//div[@class="geetest_tip_img"] """, "style", 10)
target_image_path, verify_image_path = save_image(image_base_path, style_value)
print(target_image_path, verify_image_path)
results_list = []
# 預(yù)測(cè) target
model = YOLO("C:/Workspace/G_01_Gitee/demo_click_text/yolo/target_600.pt")
results_list.extend(model([target_image_path]))
# 預(yù)測(cè) verify
model = YOLO("C:/Workspace/G_01_Gitee/demo_click_text/yolo/verify_1000.pt")
results_list.extend(model([verify_image_path]))
for result in results_list:
boxes = result.boxes # Boxes object for bounding box outputs
masks = result.masks # Masks object for segmentation masks outputs
keypoints = result.keypoints # Keypoints object for pose outputs
probs = result.probs # Probs object for classification outputs
obb = result.obb # Oriented boxes object for OBB outputs
label_index = list(boxes.cls.numpy().astype(int))
label_conf = list(boxes.conf.numpy())
# 輸出label 和 置信度
for index, value in enumerate(label_index):
print(f"label:{result.names[value]}, conf:{label_conf[index]}")
result.show() # display to screen
result.save(filename="result.jpg") # save to disk
到此結(jié)? DragonFangQy 2024.06.01
本博文僅供學(xué)習(xí)參考之用兵志,不得用于其他任何目的醇蝴。如有任何內(nèi)容侵犯到您的隱私或權(quán)益,敬請(qǐng)立即聯(lián)系我想罕,我將及時(shí)刪除或修正相關(guān)內(nèi)容。感謝您的理解與支持霉涨,期待與您共同維護(hù)一個(gè)友善按价、尊重知識(shí)產(chǎn)權(quán)的網(wǎng)絡(luò)環(huán)境。