在破产企业的清算及重整过程中,对房产、土地使用权等权属证书的他项权利及司法查封状态进行盘点是最重要的一关。
由于破产企业往往诉讼缠身,其名下的办公楼和厂房可能被多个法院轮候查封,甚至有多次抵押。这些信息大多手写登记在权证的“附记栏”中,并盖有红色或蓝色的司法执行公章。
一、 传统 OCR 在查封盘点中的失效场景
- 背景印章遮挡:司法查封章经常大面积盖在附记文字上方,传统 OCR 无法在复杂印章背景下分割字符。
- 非标表述复杂:不同法院的裁定书和执行通知书措辞差异大,正则匹配极易漏报。
二、 基于 OpenCV 颜色通道分离的印章定位技术
为了帮助视觉大模型快速定位那些被遮挡的关键文字,我们在前端加入了一套印章检测滤波器,将代表查封的“红色法院公章”单独分离出来:
import cv2
import numpy as np
def extract_red_seal(image_path):
img = cv2.imread(image_path)
# 将图像转换到 HSV 色彩空间进行颜色分割
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 定义红色(公章常用色)在 HSV 中的两个范围
lower_red_1 = np.array([0, 50, 50])
upper_red_1 = np.array([10, 255, 255])
lower_red_2 = np.array([170, 50, 50])
upper_red_2 = np.array([180, 255, 255])
mask1 = cv2.inRange(hsv, lower_red_1, upper_red_1)
mask2 = cv2.inRange(hsv, lower_red_2, upper_red_2)
red_mask = mask1 + mask2
# 对红色区域执行形态学膨胀以闭合孔洞
kernel = np.ones((5, 5), np.uint8)
dilated = cv2.dilate(red_mask, kernel, iterations=1)
# 提取印章区域的边界矩形
contours, _ = cv2.findContours(dilated, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
seal_boxes = []
for c in contours:
if cv2.contourArea(c) > 500: # 过滤杂质噪点
x, y, w, h = cv2.boundingRect(c)
seal_boxes.append((x, y, x + w, y + h))
return seal_boxes三、 结合多模态大模型的权利负担推理
我们将上述得到的印章边界框作为输入提示之一,传递给本地部署的多模态视觉大模型(如 InternVL),对其进行语义级别解读:
def ask_vl_about_seal(image_path, seal_boxes):
"""
在发送给大模型的 Prompt 中,指出印章所在的位置,让其重点翻译遮挡部分文字
"""
prompt = f"""在这张权证的附记图像中,我们通过视觉算法在以下像素区域定位到了潜在的红色印章:{seal_boxes}。
请你仔细观察这些印章区域及周围的手写/打印文本,提取出:
1. 该资产是否处于抵押状态?若是,抵押权人是谁?金额是多少?
2. 该资产是否被法院查封或轮候查封?查封的法院全称是什么?
你的回答必须严谨,对于看不清的部分请直接指出,不要捏造。"""
# 发送请求至大模型推理层并输出结果...
# (此部分复用 Qwen2-VL 推理模板)四、 结论
通过这种“图像特征滤波定位 + 视觉大模型语义理解”的复合架构,我们让自动化系统能够读懂那些受到严重污损、印章遮挡的不动产权证书,为管理人在重整资产定价和确权环节筑牢了防错技术底座。