- 博客(25)
- 资源 (4)
- 收藏
- 关注

原创 Keras实战——人脸表情识别(二)提取人脸并识别表情
完整代码已上传优快云下载:https://download.youkuaiyun.com/download/pmj110119/11293264百度云:https://pan.baidu.com/s/16ZgaX3J_6na6Y9-Uh--70g 提取码:6sk4模型训练部分参见上一篇博客:Keras实战——人脸表情识别(一)模型的搭建和训练https://blog.csdn....
2019-07-07 15:41:02
5874
16

原创 Keras实战——人脸表情识别(一)模型的搭建和训练
7月7日更新Keras实战——人脸表情识别(二)模型的调用与使用https://blog.youkuaiyun.com/pmj110119/article/details/94991244代码下载地址优快云:https://download.youkuaiyun.com/download/pmj110119/11293264百度云:https://pan.baidu.com/s/16ZgaX3J_6...
2019-07-06 17:35:38
9027
38

原创 OpenCV实例 识别红色瓶盖并框出
学完opencv和图像处理基础部分后,可以找一些实例来考察自己的掌握程度,难度一点一点上升。要求:使用opencv,实现对图中瓶盖的提取,并画框圈出这个实例虽然简单,但也是个完整的图像识别的过程,每一步都值得初学者仔细推敲,思考为什么要这样做,知识点是否有遗漏。我们知道,图像识别的关键在于提取特征,本实例的简单之处就在于特征甚至不用想办法提取,一眼就能看出:图中的瓶盖有两个特征:红色、圆形...
2019-02-05 23:22:02
12170
8

原创 用python手动实现逻辑回归与softmax回归(代码)
虽然很多模型调用一下库就能无脑的使用了,但个人觉得不用框架自己写一次代码的过程还是很有必要的,能让你真正地理解原理与各个步骤的实现过程,而不是停留在貌似懂却连公式都看不懂的阶段。本文使用softmax回归实现了手写数字识别的模型训练,并写了一个鼠标写数字输出识别结果的可视化交互程序用以演示。目录一、logistics回归简介(仅理论)二、softmax回归(softmax_m...
2018-10-09 18:13:20
6527
7
原创 tensorflow object detection api训练自己的模型
api的安装过程参考其他博客:1. 制作数据集1.1 数据标注使用数据标注软件 labelImg 进行标注得到csv格式数据集1.2 生成tfrecord类型数据将csvData文件夹复制进 object_detection/data 路径在此路径下创建脚本 generate_tfrecord.py# generate_tfrecord.py# -*- coding: utf-8 -*-"""Usage: # From tensorflow/models/ # Create
2020-05-16 17:42:46
428
原创 (编辑中)C++调用python训练的神经网络模型(tensorflow训练,opencv调用)
使用tensorflow训练模型,C++通过opencv的dnn模块调用模型,并进行推理.(如果对延时要求不是特别高的话,推荐直接用ros)一. tensorflow训练模型,生成pb文件这里训练了一个很简单的bp网络作为示例,输入是一维的6个数据1. 读取数据/数据预处理1.1读取数据根据自己的数据存储方式编写,这里的数据是存在txt中的#这段代码从txt中读取数据,一行为一个样本,相邻数据间由逗号隔开def Load_Voice_Data(path): """ 这是导入数
2020-05-16 16:29:05
5315
转载 两台linux主机远程传输文件
https://blog.youkuaiyun.com/gatieme/article/details/51673229
2020-01-15 09:09:06
372
原创 ROS——CMakeLists.txt总结
1. Package nameproject(robot_brain)项目名需与package名一致。2. Finding Dependent CMake Packagesfind_package(catkin REQUIRED COMPONENTS nodelet)利用find_package()语法,将此package所依赖的其他package,以components形...
2019-10-24 10:35:57
415
原创 Ubuntu下切换python版本
装ros,执行rosdep init的时候报ImportError的错。查资料发现catkin使用的是python2.7,而python的默认版本被我设成了python3,因此要先把python切回python2再进行ros的安装由于很多软件还未完全兼容python3,因此使用不同的软件时,常常需要在py2与py3间切换。下面记录手动切换的方法。查看已安装的版本终端中执行 ...
2019-09-30 15:44:49
203
原创 Keras可视化函数——plot_model报错解决办法
from keras.utils import plot_modelplot_model(model,to_file='model.png')报错信息如下:ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.1.用pip装了pydot和g...
2019-07-06 16:23:35
3433
原创 理解Keras参数 input_shape、input_dim和input_length
在keras中,数据是以张量的形式表示的,不考虑动态特性,仅考虑shape的时候,可以把张量用类似矩阵的方式来理解。例如 [[1],[2],[3]] 这个张量的shape为(3,1) [[[1,2],[3,4]],[[5,6],[7,8]],[[9,10],[11,12]]]这个张量的shape为(3,2,2), [1,2,3,4]这个张...
2019-07-05 16:41:31
28397
6
原创 相机标定——相机成像问题
一、证明空间上一条直线,在理想无畸变摄像头成像后,仍然是一条直线在直线上任取三个点 A,B,C,满足 AB / / AC 。如果直线在摄像头成像后仍是一条直线,这三个点仍然满足关系。像素点的摄像头成像过程需要经历三个坐标系变换:世界坐标系—>相机坐标系—>图像坐标系—>像素坐标系1.世界坐标系转换到相机坐标系2.相机坐标系到图像坐标系3.图像坐...
2019-05-28 17:23:38
1066
原创 目标检测标注工具——labelImg的安装与使用
labelImg简介如果想要在深度学习中训练我们自己的模型,就得对图片进行标注。labelImg是一个超级方便的目标检测图片标注工具,打开图片后,只需用鼠标框出图片中的目标,并选择该目标的类别,便可以自动生成voc格式的xml文件。安装安装环境win10python3.6pycharm下载labelImggithub地址:https://github.com/t...
2019-03-06 20:55:22
3867
4
原创 结构体的声明与自引用
今天上了数据结构课程的第一堂课,经常会看到下面这种语法:结构体有个成员变量是指向该结构体的指针,也就是自引用(self reference)。翻看了下一章节内容,才知道这是链表的结构基础。平时C语言用的比较少,借此机会重新复习了下结构体,在此记录相关知识。结构体的声明我们在定义结构体时,常常会用到两种方式。方式1. 使用结构标签用标签变量赋予结构体一个名字,这样定义结构体之后,可以...
2019-03-02 16:15:34
2467
1
原创 python语法——函数嵌套
python语法——函数嵌套今天看到了函数嵌套这种语法,就学习了一下。简单地说,python允许在一个函数内部定义函数,并调用。比如下面这段代码,函数outer()内部定义了一个嵌套函数inner(),我们可以像在主函数中调用函数一样,在outer()内部调用inner() def outer(input): print("这是outer被调用") de...
2019-02-26 22:07:39
1131
原创 STM32自学笔记(八)输入捕获
原理讲解输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6和TIM7, 其他定时器都有输入捕获功能。STM32 的输入捕获,简单的说就是通过检测 TIMx_CHx上的 边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器计数器的值(TIMx_CNT) 存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。同时还可以配置 捕...
2019-02-19 23:18:31
1222
原创 STM32自学笔记(七)ADC
1)编写adc.c文件编写adc.c文件,里面放以下三个函数1. Adc_Init (void):用于ADC的初始化,需要在main()中调用一次。 (需要根据具体情况修改,在第四节会讲如何修改)2.Get_Adc(ch):读取某个通道的AD采样值。传递参数直接填通道名,例如通道1:ADC_Channel_1(需要根据具体情况修改,在第五节会讲如何修改)3.Ge...
2019-02-05 13:04:06
6109
1
原创 STM32自学笔记(六)PWM输出
使用定时器进行PWM输出STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定 时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也能同时产生多达 4 路的 PWM 输出,这样,STM32 最多可以同时产生 30 路 PWM 输出。需了解的寄存器用到3个寄存器:捕获/比较模式寄存器 (TIMx_CCMR1/2)...
2019-02-04 22:38:29
2595
原创 STM32自学笔记(三)外部中断
stm32每个IO口都可以作为外部中断输入口。F103支持共19个外部中断/事件请求。每个中断设有状态位,有独立的触发和屏蔽装置。STM32F103的19个外部中断为:线0~15:对应IO口的输入中断线16:连接到PVD输出线17:连接到RTC时钟事件线18:连接到USB唤醒事件中断线与GPIO的映射GPIO 的管脚 GPIOx.0~GPIOx.15(x=A,B,C,D,E...
2019-02-04 22:32:57
1646
原创 STM32自学笔记(五)串口通信
(想要深入理解就把前面的看下,否则直接看使用总结即可)usart文件夹usart 文件夹内包含了 usart.c和usart.h两个文件。这两个文件用于串口的初始化和中断接收。代码只针对了串口1,如果要用其他串口需要对代码稍作修改。usart.c包含了2个函数,在下文分别进行讲解 void USART1_IRQHandler(void); void uart_init(u3...
2019-02-03 21:10:44
2991
原创 STM32自学笔记(四)定时器中断
定时器离不开中断,前置技能——中断若没有加点的话,可以去下面的链接看下传送门:https://blog.youkuaiyun.com/pmj110119/article/details/86748016TIM功能简介STM32F1的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)定时器功能包括: 16位自动装载计数器(TIMx_CNT) 16位可编程预分频器(TIMx...
2019-02-03 14:10:38
1904
原创 Python 命令行模块 argparse用法总结
在看一份代码时遇到了argparse这个模块,在此记录它的用法。argparse是python的一个命令行解析包,可以十分方便的对python文件进行命令行读写。换句话说,利用argparse模块,我们可以在py文件外部对程序中的变量进行赋值(比如某文件路径的输入)。 没有用过linux的同学可能没接触过命令行,在这里我用windows的cmd执行代码。1.添...
2019-02-02 11:20:16
3252
原创 STM32自学笔记(二)中断
一个完整的中断设置包括:使能,中断分组,屏蔽,IO口映射NVIC中断优先级管理(这段具体写代码时不太会涉及,可跳过)结构体NVIC_Type中有如下寄存器 ISER[8]:中断使能寄存器组,为8个32位寄存器,控制CM3内核的256个中断 由于STM32F103的可屏蔽中断只有60个,故我们只会用到 ISER[0] 和ISER[1] . ISER[0] 的bit0~bit31...
2019-02-02 10:59:18
2098
原创 STM32自学笔记(一)GPIO配置与使用
由于是stm32学习的第一个章节,会啰嗦一些,旨在帮助和我一样刚接触stm32时一头雾水的朋友,更好地理解、学会它。 很多学过51,刚开始学stm32的朋友可能会和我一样十分不适应,在我看来,stm32与51代码最大的区别在于,stm32几乎所有外设都要进行配置过后才能使用,比如说你想操作一个IO口,那么首先要对这个IO口所挂载的时钟进行使能,再对此IO口进行配置...
2019-02-02 00:06:22
4289
原创 ubuntu操作系统入门
ubuntu操作入门在ubuntu上用几种不同的方式编译执行hello.c文件准备阶段:使用vim编写cpp文件首先,利用终端创建文件夹,并按照下面的方式创建 hello.cpp 文件pmj@pmj-RESCUER-R720-15IKBN:~$ mkdir 入门pmj@pmj-RESCUER-R720-15IKBN:~$ cd ./入门pmj@pmj-RESCUER-R720...
2018-09-29 15:58:19
7677
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人