数字旗手

电气化、自动化、数字化、智能化、智慧化

0%

参考文献 SIFT算法深入理解 特征点匹配——SIFT算法详解 图像金字塔(高斯金字塔,拉普拉斯金字塔,图像缩放resize函数) SIFT算法详解 简介 SIFT(Scale Invariant Feature Transform),尺度不变特征变换匹配算法,是由David G. Lowe在1999年(《Object Recognition from Local Scale-Invariant Features》)提出的高效区域检测算法,在2004年(《Distinctive Image Features from Scale-Invariant Keypoints》)得以完善。 SIFT
Read more »

基本思想 生成对抗网络——原理解释和数学推导 首先有一个“生成器(Generator)”:其实就是一个神经网络,或者是更简单的理解,他就是一个函数(Function)。输入一组向量,经由生成器,产生一组目标矩阵(如果你要生成图片,那么矩阵就是图片的像素集合,具体的输出视你的任务而定)。它的目的就是使得自己造样本的能力尽可能强,强到什么程度呢,强到你判别网络没法判断我是真样本还是假样本。 同时还有一个“判别器(Discriminator)”:判别器的目的就是能判别出来一张图它是来自真实样本集还是假样本集。假如输入的是真样本,网络输出就接近 1,输入的是假样本,网络输出接近 0,那么很完美,达到了
Read more »

介绍 物体检测的两个步骤可以概括为: 步骤一:检测目标位置(生成矩形框) 步骤二:对目标物体进行分类 物体检测主流的算法框架大致分为one-stage与two-stage。two-stage算法代表有R-CNN系列,one-stage算法代表有Yolo系列。two-stage算法将步骤一与步骤二分开执行,输入图像先经过候选框生成网络(例如faster rcnn中的RPN网络),再经过分类网络;one-stage算法将步骤一与步骤二同时执行,输入图像只经过一个网络,生成的结果中同时包含位置与类别信息。two-stage与one-stage相比,精度高,但是计算量更大,所以运算较慢。 YOLO
Read more »

%%%%% 2021-9-13 update %%%%% 更新了地图部分和行业模板 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%= 上一篇介绍了怎样搭建和运行superset,这一篇着重于怎样对superset进行特殊配置和二次开发。 更新并重新编译前端代码 前面已经说到,使用pip安装的是已经编译好的superset,无法修改前端源码,所以这里如果想对前端源码做改动,需要使用docker方式安装。 参考资料: superset/CONTRIBUTING.md 使用docker安装superset 这一部分可以参考入门篇的docker安装部分。 但是需要万分注意的是,第一步
Read more »

%%%%%2021-9-2更新%%%%%% 更新使用docker安装连接宿主机的数据库 介绍 Apache Superset是一个现代的、企业级的商业智能(Business Intelligence)网络应用程序,它使得用户可以使用无代码可视化构建器和SQL编辑器来轻松探索和可视化自己的数据。 其最初由Airbnb开源,后来由Apache进行孵化,并且于今年(2021年)1 月 21 日宣布毕业并成为 Apache 软件基金会(ASF)的顶级项目(Top-Level Project),截止到现在(2021年8月25日)已经在GitHub上收获了超过4万颗star。 官网地址在这里。 示例看板
Read more »

起因 日常工作中,调用深度学习算法通常需要在命令行中进行,该过程通常涉及复杂的流程,比如修改配置文件、指定文件路径、打开命令行调用算法运行。此时如果能有一个图形界面软件实现“一键调用”,就会极大地节省工作量,提高工作效率,避免来来回回地反复修改文件、执行命令等。 最近新写了一个库,就是把常用的深度学习算法都集成在了ImagePy中,这样用户和开发者就能直接在ImagePy中愉快地“玩”算法了。 OneButtonDeepLearning 该仓库在这里https://github.com/qixinbo/OneButtonDeepLearning。 宗旨就是:让深度学习算法触手可及、一键调用
Read more »

ImagePy的工作流worflow功能能够以可视化的方式逐步执行已定义的一系列图像处理动作,即有机地将复杂的图像处理步骤串联起来,也提供了可视化便捷的交互方式,可以认为是更人性化的“宏命令”。 本文就是解析一下这个组件的底层原理。 文本解析 如下parse函数是读取描述workflow的文件,然后根据每行的标识对其进行解析,比如如果是两个井号开头,则这一行代表是chapter,以及在某个chapter下面还有若干section及其提示信息hint。在底层来说,就是将这些文件信息存储为有层级的python字典。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d
Read more »

简介 本文是对ImagePy的矢量图形绘制工具进行深度解析。 矢量图形相对于位图来说,有其特有的操作,比如两个矢量进行求交集、求并集、求差等。 阅读本文之前,可以先参考之前的这篇文章,以对ImagePy的矢量图形有初步了解。 功能函数 将矢量图形转化为点集 该函数的作用是将矢量图形转换为点集,这里的点作为锚点,可以供后续编辑。 比如对于矩形这一矢量,在shp中定义了它的起始点和长宽,通过该函数,可以将该矩形转为9个点的点集,即将该矩形分成田字格。 (具体到语法上,使用了numpy的mgrid函数,其中的步长设为了复数的形式,具体可以参考这里) 1 2 3 4 5 6 7 8 9 10 11
Read more »

问题描述 给定一个多边形区域,怎样判断某个点是否在该区域内? 如下图所示的蓝色多边形框,判断某点是否在该框内。 定义域 先写出该蓝色框的坐标序列: 1 2 3 4 import numpy as np import matplotlib.pyplot as plt poly = np.array([(0,0),(1,0),(0.7,0.7),(1,1),(0,1),(0.5,0.5),(0,0)]) 注意,该坐标序列是首尾相接的。 然后,定义出任意数量、任意位置的随机点: 1 pts = np.random.rand(80).reshape((40,2)) 这里给出了
Read more »

问题描述 图像中有一条线,如何判断这条线的转折点? 比如下面一张图: 目的是找到图中的三个转折点。 解法 找到轮廓线 1 2 3 img = cv2.imread('test.png', 0) conts = cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)[0][0] xs, ys = conts[:,:,0], conts[:,:,1] 这一步实际作用是通过寻找轮廓线,从像素类型的位图中提取有意义的这条线的坐标序列,即矢量序列。 同时将横坐标和纵坐标分别提取出来。 高斯模糊 1 2 gxs =
Read more »