多模态大模型通过外接数据方案实现电力智能巡检(附代码)
创作时间:
作者:
@小白创作中心
多模态大模型通过外接数据方案实现电力智能巡检(附代码)
引用
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。
热门推荐
婚姻感情风水知识,助您家庭和谐-实用指南解析
十二生肖谁是火神?揭秘生肖与火的神秘联系
域渗透之初识Kerberos认证过程
定期存款利息税:影响、计算与应对策略
降雄饮食真能预防长痘吗 | 网红说法求真
《盲井》:一部揭示社会底层生存困境的现实主义力作
中国十大旅游胜地:从雪域高原到热带海滨,总有一处让你心驰神往
王者荣耀防沉迷系统更新:未成年人游戏时长和消费限制全面升级
短视频的下一个风口在哪里?
文化中国行︱肇兴侗寨24小时疗愈日记
4种打造花园式菜园的绝妙方法
国内泪道科知名专家范金鲁: 让饱受流泪困扰的患者脱离“哭海”
告别失眠!中医古法助你一夜好眠,睡到自然醒
钓鱼最解压的方法,钓鱼最解压的方法有哪些
APM32F411硬件FPU使用方法及注意点
电容器在实际应用中的重要性
股票封单是什么意思?
新车质量越来越差?J.D.Power研究放榜
创业成功者的五大特质:勤奋、远景、专注、循序渐进与勇气
用AI优化简历,这些技巧让你离“Offer”更近一步!
家里Wi-Fi信号差怎么办?5个有效方法提升网速
卷出新机会,数据职业发展路径全方位盘点
购房合同上的公摊面积为准吗
中国近现代十大数学家:他们的成就与贡献
稀土:现代工业“维生素”,供需格局重塑下的投资机遇
降脂药市场新风口:Lp(a)靶向药物研发成MNC竞逐焦点
建筑学与城市规划专家——吴良镛
探索世界观的深刻影响与重要性
面对挑战,“低端空中力量”未来何去何从?
破界·共生:女性艺术家的生存诗学与生命叙事