- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 【deeplearning tips】dice loss解决分割正负样本不均衡
dice loss可以理解为检测任务重的IOU,用于分割任务中可以有效缓解正样本占比小的case。比如边缘的分割、小目标的分割。
2023-06-18 13:54:56
421
原创 opencv轮廓提取指定数量角点
opencv中的approxPolyDP可以用来找轮廓的角点,但是eps参数设置不是很灵活。通过返回距离信息,可灵活提取指定数量角点。
2023-06-07 00:13:03
416
原创 pytoch转tensorfow模型pad计算对齐(mmdetection)
mmdetection训练 -> mmdeploy转onnx -> onnx2tf转成tflite各部分安装流程,参考各自官方文档即可。
2023-05-13 15:00:09
862
原创 python解析tflite模型文件
目的解析flatbuffer格式的tflite文件,转成可读的python dict格式方法 #/tensorflow/lite/tools/visualize.pyimport refrom tensorflow.lite.python import schema_py_generated as schema_fb def BuiltinCodeToName(code): """Converts a builtin op code enum to a rea...
2022-03-30 20:15:07
5121
原创 AE(associative embedding) loss TF版本实现
一、背景 AE loss最早出自《Associative Embedding:End-to-End Learning for Joint Detection and Grouping》这篇文章,通过简单的embedding方式,用于bottom-up关键点检测中进行最后的聚类。在CornerNet、HigherHRNet等文章中的均使用了该技巧。在目标检测任务ConrnerNet中用来区分多个同类别目标,在姿态估计任务HigherHRNet中用来完成关键点聚类。 ...
2021-09-26 17:03:21
991
原创 tflite模型调试 - 中间层output输出
背景由于tflite模型设计时考虑到了内存占用等问题,其forward的过程会反复利用中间内存空间,而导致中间层的output数据没有保存下来,模型debug难点较大。经过查阅相关材料,发现一个最简洁的方式,记录于此。思路:解析flatbuffer格式的tflite模型, 直接修改tflite模型内容,调整模型output到指定层。实现1. 修改tflite模型output的函数。from tensorflow.lite.python import schema_py_genera
2021-01-12 15:38:22
3600
29
原创 shell cmd
字符串分割cut -f1 -d'/'字符串分割2| awk '{print $2}'分割后文件名,批量mvcut -f1 -d'/' | xargs -I {} mv {} ./xxxx/{}grep文件差异比较(相对粗糙)cat file1 | grep -v -f file2 liunx遍历文件#include <dirent.h>...
2018-12-28 10:39:28
1506
原创 【opencv源码剖析】图像分割 floodFill与graphsegmentation
一、前言最近在使用floodFill这个算法时,突然想起selective search里的基础图像分割算法 - 基于图的graphsementation。两者是比较简单的算法,存在相似之处,即都使用了相邻像素之间像素强度关系。同时又存在不同点,floodFill关注点是像素层面上,生成一个区域;而graphsementation由像素逐步构建出图块,生成多个区域。
2018-02-07 18:22:25
1319
原创 seetaface 人脸检测算法简析
一、前言 使用opencv的lbp人脸检测算法准确率、误检率表现均不是很好,另外算法需跑在ARM上,虽然深度学习一些算法如mtcnn效果很好,但速度很难保证。最终,查阅了seetaface的人脸检测算法论文及源码,并做记录总结于此。
2017-07-15 22:40:57
10486
1
原创 【opencv源码剖析】霍夫圆hough circle
算法的整体思路:1.根据设定的阈值canny_threshold,使用canny边缘检测得到可能为圆边缘的点edges。2.分别计算x,y方向的sobel梯度,用来判断edges点的边缘梯度方向,一个点需计算正、反两个梯度方向(由源码中的k1控制)。3.遍历所有的edges点,根据设定的圆半径范围[min_radius,max_radius],在累加投票图中统计圆心出现的次数(参数dp
2017-02-18 00:52:58
1909
转载 opencv eigenfaces
EigenfacesThe problem with the image representation we are given is its high dimensionality. Two-dimensional grayscale images span a -dimensional vector space, so an image with pixels lies i
2017-02-09 21:51:48
721
原创 opencv实现简单的局部极大值求解
前言实现类似matlab的findpeaks功能。http://cn.mathworks.com/help/signal/ref/findpeaks.html#buhdm28-1局部极大值求解//src: 输入数据//minPeakDistance: 相邻两个局部极大值的最小间距。//minHeightDiff: kernelSize范围内极大值与极小值的最小差值。与m
2015-08-08 20:48:49
9548
转载 Machine Learning with OpenCV
Machine Learning with OpenCVBy Philipp Wagner | May 25, 2010Machine Learning is a branch of Artificial Intelligence and concerned with the question how to make machines able to learn from
2015-07-31 17:18:00
1117
原创 离散傅立叶变换 - 简单理解
前言网络、书籍上有很多关于傅立叶变换的知识,屌丝总有一种感觉:知道这玩意名字N年了,但就是不知道它是啥玩意。FFT参考资料频域图像滤波(https://blog.youkuaiyun.com/on2way/article/details/46981825)目的可用。关键点1. 只需要掌握dft,其他傅立叶变换在程序里是无法实现的。2. 时域与空域When you see t...
2014-10-25 21:58:00
1481
原创 image moment图像矩应用:质心与朝向orientation
1图像矩http://en.wikipedia.org/wiki/Image_moment
2014-09-29 23:54:03
4394
1
原创 计算图像骨骼
http://en.wikipedia.org/wiki/Topological_skeleton计算图像骨骼方法1 形态学2 straight skeletons3 Voronoi diagram
2014-01-04 14:15:09
1128
原创 透视变换矩阵(单应矩阵)计算:findHomography 与 getPerspectiveTransform
两者联系: 都用于计算单应矩阵,即解一个线性方程组。由于单应矩阵有8个未知数(3*3,其中第9个数为1),所以至少需要4个点(每个点-x,y,提供2个约束方程)。两者区别: 1.计算方法不同:通过跟踪源码,发现getPerspectiveTransform用的是SVD分解,findHomography看不出是用什么方法(没注释,一堆等式)。但两者计算结果是一样的。
2013-03-23 15:12:40
18080
原创 三维姿态:关于solvePnP与cvPOSIT
之所以写:场景:给定物体3D点集与对应的图像2D点集,之后进行姿态计算(即求旋转与位移矩阵)。在翻阅opencv api时看到这2个函数输出都是旋转与位移,故做简单分析并记录于此。官方解释:solvePnP(http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.h...
2013-01-19 15:01:37
19112
原创 赋值操作为何返回引用
1.Demo operator=(const Demo&)2.Demo & operator=(const Demo&)之所以采用第二种,是因为可以类似这样赋值:a=b=c=...
2011-12-11 19:01:14
679
转载 VS2005和VS2008快捷键大全
Ctrl+回车----上一行Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口
2011-10-20 13:44:54
357
转载 Visual Studio 2008 常见错误解决 之 预编译头
今天照着MSDN中的例子写了一个程序,莫名其妙的出现了这样的错误(难道官方的代码也不可靠!?):warning C4627: “#include ”: 在查找预编译头使用时跳过warning C4627: “#include "MathFuncsDll.h"”: 在查找预
2011-10-19 09:57:11
1362
转载 程序员常用字符编码 ——从ASCII编码谈起...
1、ASCII-128编码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对
2011-10-08 09:55:20
705
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人