项目背景:
随着信息化、数字化、智能化的发展,由于智慧变电站、数字孪生变电站以及新型电力系统要求,现有的监测方法、监测手段,已经满足不了实际需求。因此需要一种基于AI的新技术植入电力系统,去解决行业问题。目前,在计算机图像学中流行着两三套方案,一是用虚幻引擎技术,构建系统零件库,拖拽、组装,重现数字孪生变电站以及设备参数、图纸等,但那样开发成本和技术消耗非常巨大且周期巨长,适合大型国有企业,典型系统参考“图为”。二是通过“捏脸软件”,优点是价格便宜,缺点是不能够一比一还原场景,而且监测系统需要重新开发,大部分开发用到的是模拟量,这将镜花雪月严重偏离项目初衷。三是一键成像技术,例如大疆的激光雷达建模、其他公司通过一张图片还原3D场景的,精度要求、瓦片质量、定高飞行等均不能很好满足中小场景,特别是线、塔要求,拍摄、建模,耗时耗力。(大疆智图在建筑领域BIM方向表现不错)
因此,目前行业内急需找到新的技术,以满足日益增长的专业巡检需求,以期解决巡检压力。最近AI视觉处理技术异常火爆,一些IT的方案仍旧解决不了电力行业的根本问题,这需要不断学习、借鉴和实践。
最近关注到“中科智与”的AI教程,搭建并配置环境成功,这里仅记录一下这一过程,希望在视频的AI处理,找到良好解决方案。
Winserver2025下部署,包含anconda3安装部署。其中包含anconda3安装部署,python依赖包ultralytics-main等详细流程。不足之处请大家指正。
前言:
结果参考"创美创效"视频号相关视频。
部署参考“中科智与”安装教程(关注公众号)
问题参考https://blog.csdn.net/weixin_73800108/article/details/137296446
具体操作步骤:
一、 配置环境
1、 windows server 2025系统环境,path如下:
需要注意的是这里在安装anaconda 3的时候,尽量勾选”配置环境“,系统会自动配置"编辑环境变量"。自己手动配置环境容易导致莫名错误。
二、 创建环境
1、 创建环境不成功:
# 查看配了哪些镜像channel conda config --show channels
# 设置清华镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
2、创建名字为yolov8_env的环境,首先切换到yolov8目录下:conda create -n yolov8_env
3、安装python3.10开发程序:conda install python==3.10
4、下载并安装依赖包:pip install ultralytics -i https://mirrors.aliyun.com/pypi/simple
5、如果报错:(大意是没有安装C++相应环境)
conda install pytorch torchvision -c pytorch
6、报错ERROR: Cannot uninstall ‘TBB’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
7、报错[ERROR:0@13.264] global obsensor_uvc_stream_channel.cpp:158 cv::obsensor::getStreamChannelGroup Camera index out of range
表明在尝试获取摄像机流通道组时,使用的摄像机索引超出了有效范围。这通常意味着你尝试访问的摄像机索引不存在或者没有被正确初始化。
但是我们知道 cv2.VideoCapture(0)是调用电脑自带的摄像头。我们可以先检查一下电脑是否自带摄像头。打开相机发现电脑并没有自带的摄像头。所以我们只需外接一个摄像头就可以使用cv2.VideoCapture(0)调用摄像头了。
如果电脑自带摄像头,则cv2.VideoCapture(0)调用的是电脑自带的摄像头,调用外接摄像头需要使用cv2.VideoCapture(1)进行调用。
8、缺少usb3.0以上版本,下载usb3.1。安装时报错缺少.NET freamwork 3.5
9、下载.NET freamwork 3.5,不能安装
10、安装.NET freamwork 3.5
三、 打开摄像头
1、 包括驱动、隐私权限、VM的连接等等。打开摄像头测试搜索“相机”。
权限如下:
VM的连接如下:
2、 报错:
C:\ProgramData\anaconda3\lib\site-packages\torchvision\io\image.py:13: UserWarning: Failed to load image Python extension: '[WinError 127] 找不到指定的程序。'If you don’t plan on using image functionality from torchvision.io
, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have libjpeg
or libpng
installed before building torchvision
from source?
warn(
0: 480x640 (no detections), 696.6ms
Speed: 6.3ms preprocess, 696.6ms inference, 4.1ms postprocess per image at shape (1, 3, 480, 640)
Traceback (most recent call last):
File “A:\yolov8\yolov8.py”, line 16, in
results = model(frame, device=‘cpu’)
File “C:\ProgramData\anaconda3\lib\site-packages\ultralytics\engine\model.py”, line 177, in call
return self.predict(source, stream, **kwargs)
File “C:\ProgramData\anaconda3\lib\site-packages\ultralytics\engine\model.py”, line 453, in predict
return self.predictor.predict_cli(source=source) if is_cli else self.predictor(source=source, stream=stream)
File “C:\ProgramData\anaconda3\lib\site-packages\ultralytics\engine\predictor.py”, line 168, in call
return list(self.stream_inference(source, model, *args, **kwargs)) # merge list of Result into one
File “C:\ProgramData\anaconda3\lib\site-packages\torch\autograd\grad_mode.py”, line 43, in generator_context
response = gen.send(None)
File “C:\ProgramData\anaconda3\lib\site-packages\ultralytics\engine\predictor.py”, line 261, in stream_inference
self.results = self.postprocess(preds, im, im0s)
File “C:\ProgramData\anaconda3\lib\site-packages\ultralytics\models\yolo\detect\predict.py”, line 25, in postprocess
preds = ops.non_max_suppression(
File “C:\ProgramData\anaconda3\lib\site-packages\ultralytics\utils\ops.py”, line 282, in non_max_suppression
i = torchvision.ops.nms(boxes, scores, iou_thres) # NMS
File “C:\ProgramData\anaconda3\lib\site-packages\torchvision\ops\boxes.py”, line 40, in nms
_assert_has_ops()
File “C:\ProgramData\anaconda3\lib\site-packages\torchvision\extension.py”, line 48, in _assert_has_ops
raise RuntimeError(
RuntimeError: Couldn’t load custom C++ ops. This can happen if your PyTorch and torchvision versions are incompatible, or if you had errors while compiling torchvision from source. For further information on the compatible versions, check https://github.com/pytorch/vision#installation for the compatibility matrix. Please check your PyTorch version with torch.version and your torchvision version with torchvision.version and verify if they are compatible, and if not please reinstall torchvision so that it matches your PyTorch install.
四、 重装anaconda后,症状消失
1、 注意事项:注意图1是必选,系统自动配置环境;图二是必不选
2、重装之后,直接创建、激活、安装pytorch和依赖包ultralytics。