多模态大模型通过外接数据方案实现电力智能巡检(附代码)
创作时间:
作者:
@小白创作中心
多模态大模型通过外接数据方案实现电力智能巡检(附代码)
引用
CSDN
1.
https://blog.csdn.net/qq_43128256/article/details/138617229
随着人工智能技术的不断发展,多模态大模型在电力智能巡检领域的应用越来越广泛。本文将介绍如何通过多模态大模型结合外接数据实现更精准、更智能的电力设备巡检方案。
需求介绍
传统电网智能巡检通常采用固定摄像机点位,通过YOLO等目标检测算法对上传的图像进行异常检测。这种模式存在以下局限性:
- 巡检颗粒度较粗,只能检测预设的异常标签,无法提供更详细的异常处理方案或相关信息
- 异常评估标准单一,识别模式较弱,例如在工装检查中,简单地将长袖归为正常,将短袖、卷袖一律视为不正常
解决方案
多模态大模型具有强大的图像理解能力和语义推理能力,可以通过以下方式实现更智能的电力巡检:
- 利用文本对齐能力,对图像进行描述
- 通过prompt规范,对图片重点部分进行检测
- 结合外部信息(如设备信息、维护记录等),与检测结果综合分析
- 最终给出隐患描述、隐患级别、整改措施等结论
这种方案本质上是结合多源信息的多模态大模型应用开发。设计思路是在巡检过程中,不仅应用图像数据,还结合其他相关信息,以实现更高颗粒度的异常巡检。
实例代码
下面是一个具体的实现示例,使用零一万物的多模态大模型进行电力设备巡检:
import pandas as pd
import numpy as np
from datetime import datetime
import sqlite3
import openai
from openai import OpenAI
API_BASE = "https://api.lingyiwanwu.com/v1"
API_KEY = ""
client = OpenAI(
api_key=API_KEY,
base_url=API_BASE
)
def get_dcandlc(input_data: str):
camera_node = input_data
conn = sqlite3.connect('db.sqlite3')
cursor = conn.cursor()
cursor.execute("SELECT * FROM camera_node_table WHERE camera_code = {input_data_1}".format(input_data_1='"' + camera_node + '"'))
rows = cursor.fetchall()
conn.close()
if len(rows) == 1:
return rows[0][1], rows[0][2]
else:
print('Error : Data Select Error!')
return None, None
def get_device_info(input_data: str):
device_node = input_data
conn = sqlite3.connect('db.sqlite3')
cursor = conn.cursor()
cursor.execute("SELECT * FROM device_info_table WHERE device_code = {input_data_1}".format(input_data_1='"' + device_node + '"'))
rows = cursor.fetchall()
conn.close()
if len(rows) == 1:
if rows[0][5] == 1:
return rows[0][0], rows[0][1], rows[0][3], rows[0][4]
else:
print('Error : Device Can Not Use!')
return None, None, None, None
else:
print('Error : Data Select Error!')
return None, None, None, None
def get_worker_info(input_data: str):
worker_name = input_data
conn = sqlite3.connect('db.sqlite3')
cursor = conn.cursor()
cursor.execute("SELECT * FROM worker_info_table WHERE name = {input_data_1}".format(input_data_1='"' + worker_name + '"'))
rows = cursor.fetchall()
conn.close()
if len(rows) == 1:
return rows[0][1]
else:
print('Error : Data Select Error!')
return None
def get_time_distance(date_time_str1, date_time_str2):
dt1 = datetime.strptime(date_time_str1, '%Y-%m-%d %H:%M:%S')
dt2 = datetime.strptime(date_time_str2, '%Y-%m-%d %H:%M:%S')
time_difference = dt1 - dt2
return f"时间差为:{time_difference.days} 天, {time_difference.seconds // 3600} 小时, {time_difference.seconds // 60 % 60} 分钟, {time_difference.seconds % 60} 秒"
sbbz = {
'变压器': '检测变电器设备是否存在渗油、漏油情况',
'呼吸器': '检查呼吸器是否存在缺失、损坏情况;检查硅胶是否存在变色情况;检查油封是否存在油标无显示、油位超过上/下限、污浊情况'
}
sbms = {
'变压器': '图像中的白色主题设备为变电器,需检查机器本身及其周边的渗漏油情况',
'呼吸器': '图像中圆柱状物体为呼吸器,共分为上下两部分上部分。上部分为玻璃柱形容器,内含蓝色颗粒状硅胶,硅胶不为蓝色即视为变色;下部分为油封,标有刻度,装有油类物质。'
}
camera_node_ls = {
'57a0f5b9': "https://01-platform-public.oss-cn-beijing.aliyuncs.com/playground/image/25059aba-83f2-4005-b919-7a65e7ecb99e-57a0f5b9.jpg",
'83c6b7c1': "https://01-platform-public.oss-cn-beijing.aliyuncs.com/playground/image/a471104a-4f78-4654-9877-2928e9c7eca2-83c6b7c1.jpg"
}
camera_node_list = list(camera_node_ls.keys())
print('本次巡检任务点位', camera_node_list)
for camera_node in camera_node_list:
print('当前点位:', camera_node)
result = {
'巡检目标': '',
'巡检地点': '',
'巡检时间': '',
'设备负责人': '',
'负责人联系方式': '',
'据设备上次维护时间': '',
'检测结果': ''
}
mid_dc, mid_lc = get_dcandlc(camera_node)
mid_dn, mid_dt, mid_person, mid_time = get_device_info(mid_dc)
print(mid_dc, mid_lc, mid_dn, mid_dt, mid_person, mid_time)
now_formatted_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
time_distance = get_time_distance(now_formatted_time, mid_time)
mid_tele = get_worker_info(mid_person)
biaozhun = sbbz[mid_dt]
miaoshu = sbms[mid_dt]
prompt = '''请对图像进行设备情况检查,描述该设备存在隐患。
该设备类型为:【{input_0}】。注意,{input_1}
具体检测依据:【{input_2}】
'''.format(input_0=mid_dt, input_1=miaoshu, input_2=biaozhun)
completion = client.chat.completions.create(
model="yi-vl-plus",
messages=[
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": camera_node_ls[camera_node]
}
},
{
"type": "text",
"text": prompt
}
]
}
]
)
conclusion = str(completion.choices[0].message.content)
try:
result['巡检目标'] = mid_dn
result['巡检地点'] = mid_lc
result['巡检时间'] = now_formatted_time
result['设备负责人'] = mid_person
result['负责人联系方式'] = mid_tele
result['据设备上次维护时间'] = time_distance
result['检测结果'] = conclusion
print(result)
except:
print('Error:Device Detect Error!')
输出结果
本次巡检任务点位 ['57a0f5b9', '83c6b7c1']
当前点位: 57a0f5b9
yt_fs_bd_1 山东省烟台市福山区国网福山供电公司变电站二区 变压器SFPZ9-120000/110 变压器 张测 2024-04-11 14:47:12
{'巡检目标': '变压器SFPZ9-120000/110', '巡检地点': '山东省烟台市福山区国网福山供电公司变电站二区', '巡检时间': '2024-05-13 17:16:08', '设备负责人': '张测', '负责人联系方式': 15075461234, '据设备上次维护时间': '时间差为:32 天, 2 小时, 28 分钟, 56 秒', '检测结果': '经观察,图片中的变压器外壳上存在明显的油渍和渗透迹象,这表明变压器存在渗漏油的问题。油渍主要集中在变压器的下部区域,特别是靠近底部接线盒的位置。此外,变压器周围的油迹也表明油液可能已经渗入到变压器内部,这可能会导致绝缘性能下降,甚至引起火灾等安全隐患。根据变压器运行维护规程,变压器渗漏油是必须引起高度重视和立即处理的问题。'}
当前点位: 83c6b7c1
yt_fs_bd_2 山东省烟台市福山区国网福山供电公司变电站二区 呼吸器0.2KG 呼吸器 张测 2024-04-11 14:47:12
{'巡检目标': '呼吸器0.2KG', '巡检地点': '山东省烟台市福山区国网福山供电公司变电站二区', '巡检时间': '2024-05-13 17:16:15', '设备负责人': '张测', '负责人联系方式': 15075461234, '据设备上次维护时间': '时间差为:32 天, 2 小时, 29 分钟, 3 秒', '检测结果': '根据描述和图片,该呼吸器存在以下几个隐患:\n\n1. 硅胶变色情况:硅胶在正常工作状态应保持蓝色,如图中显示硅胶颜色已经变为棕色,这表明硅胶可能已经失效或污染。这可能导致呼吸器过滤性能下降,影响呼吸器正常的使用。\n\n2. 油封油位情况:油封上标有油位刻度,但图像中无法清晰看到油位是否符合要求。检查油位时,需要确认油位是否位于刻度的上限和下限之间。\n\n3. 油封的清洁程度:油封是否清洁也是影响呼吸器性能的重要因素。油封如果过于污浊,可能会影响过滤效果。\n\n4. 呼吸器整体是否完整:在检查中,还需要确认呼吸器主体结构是否完整,是否有破损或丢失部件。\n\n综上所述,根据检查标准,该呼吸器存在硅胶变色和油封可能存在的油位不合适、油封污浊等问题,需要进行维护或更换部件以保证其正常使用。'}
本文原文来自CSDN。
热门推荐
冬季北方公共浴室如何保护皮肤健康?
八字从杀格:你的命运密码
自制果汁冰块,夏日清凉神器!
属蛇的今年运程 2025年属蛇人每月运势
泥河湾盆地发现110万年前东亚古人类模式2技术产品
途途课堂教你轻松掌握竖式计算!
《五年级数学竖式计算200题》:提升计算能力的实用指南
让竖式计算变得有趣:游戏化学习的实践指南
华佗给曹操做开颅手术?结果出乎意料!
华佗给曹操做开颅手术?真相揭秘!
匠人(Homo ergaster):人类进化史上的重要里程碑
四川人家族祭祖:过年必备仪式的文化传承
2025春节消费热潮:地方经济的新引擎
黑咖啡减肥新姿势:科学瘦身不反弹!
北京最高峰灵山因生态恶化封山,网红打卡热潮下隐患重重
左手戴玉器与右手戴金银手镯的讲究与搭配指南
天台山:中国佛教的隐秘灵山
《中国诗词大会》带你走进唐诗的世界
小年至,年味浓:传统习俗里的中国年
汉魏故城遗址博物馆:洛阳新地标即将揭开神秘面纱!
汉魏故城遗址博物馆:建筑界的古都新地标
抖音拍摄花絮的意义与影响:真实创作背后的故事与乐趣
金枝槐的树型特征与品种分类
厚植“含绿量” 提升“含金量”——北京城市副中心绿色发展观察
用心理学原理提升写作效率:奖励、惩罚与避免不一致倾向的应用
聚磷酸铵:引领农业革命的新型液体肥料
黄磷制备磷酸的秘密:从燃烧到水合的化工之旅
小心!磷酸竟然是个“隐形杀手”?
冬游打卡:长城、故宫与桂林山水
八达岭长城最佳摄影点大揭秘!