YOLO v3是一种流行的用于实时物体检测的卷积神经网络(CNN) ,由Redmon等人于 2018 年发布。距今已有6年了,现在目标检测yolo算法已经发展到了yolov10,但是对于我这个深度学习新手来说,是有必要去深入学习一下经典的yolov3。
我第一次看到yolo这个词是在unknowncheats论坛,看到一个国外老哥用yolov3制作守望先锋的锁头挂,他提供了测试视频,视频里他的士兵76确实很猛。据他说yolov3的目标检测速度快,当时我也在玩守望先锋,所以记忆比较深刻。当时我的python玩得不六,当时只能默默膜拜一下大佬的操作。
我们还是来看看yolov3的整体架构吧。
You Only Look OnceYOLO代表“ You Only Look Once ”,翻译为中文就是你只需要看一次。在yolo之前也有一些目标检测模型,它们一般是通过滑块批量地检测是否存在目标。
实际上,YOLO v3是同类中第一个端到端网络。yolov3属于cnn模型,yolov3的主干网络使用了特征金字塔网络(Feature Pyramid Network, FPN)和Darknet-53 ...
现有四个点:(1, 1), (2, 2), (3, 3), (4, 4)
以这四个点围起来就是一个面。
如何通过python创建矢量文件。
我们以创建一个面矢量文件为例子,进行阐释。
我们可以使用geopandas、gdal库完成矢量创建。
geopandas 假设我们创建的矢量文件格式为 shp格式,代码如下:
import geopandas as gpd
from shapely.geometry import Polygon
def write_points_as_polygons_to_shp(points, output_file):
"""
将一系列点坐标转换为以这些点为中心的小正方形多边形,并写入Shapefile文件。
参数:
- points: 一个包含点坐标的列表,每个点是一个元组或列表,如[(1, 1), (2, 2), ...]
- output_file: 输出的Shapefile文件名
返回:
- 无,但会生成一个Shapefile文件
"""
# 创建多边形对象
simp ...
之前成功地在linux安装了GMTSAR,我这个linux是指win10系统的WSL。
安装了GMTSAR,就要用起来,现在来讲讲如何使用GMTSAR进行D-Insar处理。
以下均为实际操作。
首先在wsl创建新文件夹insar_test,记住这文件夹,后面一切的数据数据都在这个文件夹,或该文件夹的子文件夹下处理。
mkdir /home/insar_test
进入该文件夹
cd /home/insar_test
1.raw文件夹在/home/insar_test创建raw文件夹
mkdir /home/insar_test/raw
raw文件夹存放SENTINEL1影像和对应的精准轨道文件。
在ASF官网下载哨兵数据和哥白尼官网下载轨道数据。
ASF下载哨兵数据官网
esa下载数据官网
我的影像数据存放如下:
精准轨道文件的下载可以参考这篇文章:
一定要看一下上面的文章,不然分不清该下载哪个轨道数据。
貌似https://s1qc.asf.alaska.edu/aux_poeorb/的轨道数据没有2023年和2024年,所以我去欧空局下载对应的哨兵1轨道数据。
tips:其实GM ...
对GMTSAR的D-InSAR得到的结果数据有很多,其中栅格数据类型为grd。
grd数据其实本质上是一种HDF数据(NC数据),在envi或者arcgis是无法打开直接这种的数据。
怎么在python读取grd使用gdal可以轻松读取grd,请看下面的代码。
from osgeo import gdal, osr
file = r'los_ll.grd'
ds = gdal.Open(file)
data = ds.GetRasterBand(1).ReadAsArray()
grd的数据就读取到电脑内存中,而data 是从栅格文件 los_ll.grd 读取的数据数组。它是一个 NumPy 数组,代表了栅格文件中的数值数据。
在pycharm中,data数据如下所示:
data数据的大小为2620x3480,说明data数据的高有2620行,data数据的宽有3480列。
换句话说,2620 表示栅格数据集在垂直方向上有 2620 个像素。这意味着如果你把这个数据集想象成一张图像,那么它的高度是 2620 像素。同样地,3480 表示栅格数据集在水平方向上的宽度,即从左到右的像素 ...
linux
未读Miniconda 和 Conda 都是用于管理 Python(及其他语言)环境和包的工具。
conda对于我来说是太臃肿了,很多的包我不会使用,所以选择安装miniconda是一个较好的选择。
下面是linux安装miniconda的实际操作。
在以下的网站,选择你要安装的Miniconda的版本。
https://docs.conda.io/en/latest/miniconda.html#linux-installers
1、下载安装包Miniconda3-latest-Linux-x86_64.sh
2、把安装包上传到服务器上,这里放在 /home/software
3、安装
bash Miniconda3-latest-Linux-x86_64.sh
4、按回车
5、按空格跳到最下面,输入yes
6、选择安装位置,这里选择默认,直接回车,有需要可以自己输入改掉
Miniconda3 will now be installed into this location:
/root/miniconda3
- Press ENTER to confirm the loca ...
在本教程中,我将向您展示如何在 Windows 10 环境中安装 GMTSAR。在尝试在 Windows 10 中安装此软件之前,您需要激活 WSL。有许多教程解释了如何执行此操作,或者您可以按照此处的教程进行操作。
ubuntu换国内源https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
安装gmtsar以下是如何在 Windows 10 中安装 GMTSAR 的分步说明
sudo apt install subversion ghostscript build-essential cmake libnetcdf-dev libfftw3-dev libpcre3-dev libgdal-dev gdal-bin
下载gmt:
git clone https://github.com/GenericMappingTools/gmt
下载GSHHG和DCW文件。
GSHHG 是 GMT 的附加文件,用于绘制海岸线、河流和政治边界,而 DCW 是 GMT 的附加文件,用于绘制国家多边形。
转到 CMAKE 文件夹,在您之前下载的 GMT ...
GMTSAR 是一款出色的工具,可让您在使用 GMT 的同时分析 SAR 卫星图像。不过,我仍在学习如何使用它。今天我只介绍一下安装方法。
安装官方安装教程:https://github.com/gmtsar/gmtsar/wiki
以下是如何在 Ubuntu22.04安装 GMTSAR 的分步说明
安装依赖包安装GMT
#!/bin/bash
sudo apt install -y csh subversion autoconf libtiff5-dev libhdf5-dev wget liblapack-dev gfortran g++ libgmt-dev gmt-dcw gmt-gshhg gmt
下载 ENIVSAT 的轨道文件需要下载 ENVISAT 的轨道数据。
#!/bin/bash
sudo mkdir /usr/local/orbits
wget http://topex.ucsd.edu/gmtsar/tar/ORBITS.tar
sudo mv /usr/local/orbits
cd /usr/local/orbits
sudo tar -xvf ORBI ...
轨道信息对于InSAR(干涉合成孔径雷达)数据处理至关重要,因为它影响从初始图像配准到最终形变图像生成的整个过程。不准确的轨道信息会导致基线误差,这些误差会以残差条纹的形式出现在干涉图中。为了消除由轨道误差引起的系统性误差,使用高精度的卫星轨道数据进行校正是非常必要的。在使用Sentinel-1数据进行InSAR处理时,推荐在数据导入阶段就使用精密轨道文件。
Sentinel-1数据提供了两种类型的轨道数据:
POD Precise Orbit Ephemerides(POD精密定轨星历数据):
这是最精确的轨道数据类型。
数据发布通常在GNSS(全球导航卫星系统)数据下传后大约21天。
每天会生成一个文件,每个文件覆盖26小时的时间范围(包括当天的24小时以及前一天和后一天各一个小时)。
定位精度优于5厘米。
POD Restituted Orbit(POD回归轨道数据):
相较之下,这是一种较为精确的轨道数据类型。
文件在接收GNSS数据后的3小时内生成。
覆盖一个完整的卫星轨道周期,从升交点(Ascending Node)前593个OSV(Orbit State Vecto ...
要验证是否成功安装 CANN(Ascend Computing Language Neural Network)工具包(在 ARM Linux 系统上,用户模式安装),可以按照以下步骤检查安装状态和环境配置。以下是具体方法,确保你已完成 CANN toolkit 的安装(如 ~/ascend/cann 目录):
1. 检查安装目录确认 CANN toolkit 是否正确安装到指定目录(例如 ~/ascend/cann):ls ~/ascend/cann
预期输出:目录包含 toolkit、bin、lib、include 等子目录,可能还有 set_env.sh 等脚本。
如果目录为空或不存在,说明安装失败,需重新运行安装命令(如 ./Ascend-cann-toolkit_8.0.0_linux-aarch64.run --install --install-path=~/ascend/cann)并检查日志(通常在安装目录或 /tmp 下,文件名如 Ascend*.log)。
2. 验证环境变量CANN 工具包依赖环境变量(如 PATH、LD_LIBRARY_PATH)正确配置。运 ...






