<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ggqhit的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ggqhit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ggqhit]]></copyright><item><title><![CDATA[linux系统下usb摄像头音频采集测试]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/107110261</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/107110261</guid><author>ggqhit</author><pubDate>Fri, 03 Jul 2020 17:29:40 +0800</pubDate><description><![CDATA[@[TOC]



配置Linux内核
	查看usb音频设备
	下载alsa-lib-1.1.7和alsa-utils-1.2.3两个库
	交叉编译alsa-lib-1.1.7
	交叉编译alsa-utils-1.2.3
	录音测试


查看usb音频设备
将usb摄像头插入开发板，输入命令：cat /proc/asound/cards



可以看到有一个usb音频设备。

下载alsa-lib-1.1.7和alsa-utils-1.2.3两个库
	交叉编译alsa-lib-1.1.7
./confi..]]></description><category></category></item><item><title><![CDATA[Linux系统下usb摄像头音频采集测试]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/107109756</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/107109756</guid><author>ggqhit</author><pubDate>Fri, 03 Jul 2020 17:14:50 +0800</pubDate><description><![CDATA[将usb摄像头插入开发板，输入命令：cat /proc/asound/cards


可以看到有一个usb音频设备。


	
./configure --host=aarch64-himix100-linux --prefix=./alsa-lib-1.1.7/buildout --enable-shared --disable-python

Make

Make install


	目录

	交叉编译alsa-utils-1.2.3

	
./configure --prefix=/ro...]]></description><category></category></item><item><title><![CDATA[hi3536 uvc驱动配置]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/106170078</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/106170078</guid><author>ggqhit</author><pubDate>Sun, 17 May 2020 09:39:43 +0800</pubDate><description><![CDATA[海思hi3536 usb摄像头驱动配置

Linux系统自带了usb摄像头驱动，在Linux系统中简称uvc驱动，有些系统中默认可能没有配置该驱动，或者需要进行裁剪，这个时候需要自己手动进行配置。配置过程如下：

在Device Drivers选项下选择Multimedia support


进入Multimedia support选项，选择Cameras/video grabbers support


进入Media USB Adapters选项，选中USB Video Class (UVC)，可以根]]></description><category></category></item><item><title><![CDATA[海思hi3536上uvc驱动问题]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/106170027</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/106170027</guid><author>ggqhit</author><pubDate>Sun, 17 May 2020 09:35:23 +0800</pubDate><description><![CDATA[最近在海思hi3536平台上开发usb设备检测的驱动，其中有一项功能是usb摄像头相关的，通过usb分析仪确定该usb摄像头有四个接口。我主要关注前两个接口，一个是uvc control，一个是uvc stream，这两个是uvc正常工作必须的接口。

然后再看uvc_driver驱动的usb_device_id列表，里面只有uvc control这一接口会在总线match函数中匹配，那么问题来了，第二个接口没有和总线匹配，那么它是如何和uvc驱动关联起来的，难道是驱动的id列表忘了这一个接口？ 于是我手动]]></description><category></category></item><item><title><![CDATA[PCIE采集卡数据传输总结]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/103429447</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/103429447</guid><author>ggqhit</author><pubDate>Fri, 06 Dec 2019 20:49:30 +0800</pubDate><description><![CDATA[本文根据自己最近看PCIE一些文章的基础上总结备忘，供自己日后学习参考。如有错误之处，请广大同行指正，谢谢！！！

PCIE采集卡数据传输总结

   PCIE采集系统中数据带宽一般比较大，为了提高传输效率往往会使用DMA方式进行数据传输。PCIE采集卡基于FPGA设计，FPGA内部需要设计几个重要模块：

a) DMA控制器

b)缓冲单元

1.FPAG先将外部采集的信号缓存在缓冲单...]]></description><category></category></item><item><title><![CDATA[海思hi3531a解码4k视频帧率过低问题]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/103194717</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/103194717</guid><author>ggqhit</author><pubDate>Fri, 22 Nov 2019 09:27:06 +0800</pubDate><description><![CDATA[问题现象：

    用海思hi3531a解码一个从网上down的4k视频时帧率只有3帧，实际设置的帧率时30帧，同样的程序的解码海思自己编码的4k视频帧率就正常。

问题分析：

   通过命令cat /dev/logmpp查看海思日志，发现有条非常明显的错误意思是解码器设置的参考帧值时2，而实际码流参考值应该是5。这时候也想起来之前在海思论坛上看见过一个热心坛友说过海思解码非海...]]></description><category></category></item><item><title><![CDATA[mmap、linux内核分离(软硬分离)思想]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/90667167</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/90667167</guid><author>ggqhit</author><pubDate>Wed, 29 May 2019 11:03:38 +0800</pubDate><description><![CDATA[回顾：
1.linux内核如何管理内存
kmalloc
kzmalloc
__get_free_pages
vmalloc
vmalloc = 256M
mem = 10M
GFP_KERNEL
GFP_ATOMIC

2.1 linux内核地址映射的函数: ioremap

linux内核mmap机制：
mmap映射内存必须是页面大小的整数倍！！

案例：分析LED和按键驱动...]]></description><category></category></item><item><title><![CDATA[卷积神经网络中全连接层工作原理的解释]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/84671356</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/84671356</guid><author>ggqhit</author><pubDate>Sat, 01 Dec 2018 10:32:42 +0800</pubDate><description><![CDATA[这是我目前看到对卷积层到全连接层转化最好的文章了，感谢原作者！

 

在常见的卷积神经网络的最后往往会出现一两层全连接层，全连接一般会把卷积输出的二维特征图（feature map）转化成（N*1）一维的一个向量，这是怎么来的呢？目的何在呢？

举个例子：


       最后的两列小圆球就是两个全连接层，在最后一层卷积结束后，又进行了一次池化操作，输出了20个12*12的图像（20指最后一层...]]></description><category></category></item><item><title><![CDATA[caffe中网络结构参数详解]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/84639624</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/84639624</guid><author>ggqhit</author><pubDate>Thu, 29 Nov 2018 20:42:58 +0800</pubDate><description><![CDATA[prototxt文件是caffe的配置文件，用于保存CNN的网络结构和配置信息。prototxt文件有三种，分别是deploy.prototxt，train_val.prototxt和solver.prototxt。

 

1. solver.prototxt

solver.prototxt是caffe的配置文件。里面定义了网络训练时候的各种参数，比如学习率、权重衰减、迭代次数等等。下面详细说...]]></description><category></category></item><item><title><![CDATA[Windows下caffe mnist数据集与训练]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/84310707</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/84310707</guid><author>ggqhit</author><pubDate>Tue, 20 Nov 2018 22:01:07 +0800</pubDate><description><![CDATA[本教程尽量详细，大多步骤都有图，如果运行出错，请先对照自己的文件是否和图上的一样，包括标点啊，空格啊，斜杠，反斜杠啊之类的小细节。

 

第一步：   官网下载mnist数据 http://yann.lecun.com/exdb/mnist/，共4个文件，解压放到caffe-master\data\mnist下

 

如图：



 

 

第二步： 转换成caffe需要的数据格式，此处转换...]]></description><category></category></item><item><title><![CDATA[mnist训练步骤]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/84309857</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/84309857</guid><author>ggqhit</author><pubDate>Tue, 20 Nov 2018 21:08:50 +0800</pubDate><description><![CDATA[1.编译caffe，生成caffe.exe

2.编译生成libcaffe库

3.mnist训练

a.将制作好的数据集拷贝到example/mnist目录下，测试数据mnist_test_lmdb，训练数据 mnist_train_lmdb

b.修改lenet_solver.prototxt文件，如图：



c.修改lenet_train_test.prototxt文件，如图：



d....]]></description><category></category></item><item><title><![CDATA[windows7+caffe gpu编译错误]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/84309270</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/84309270</guid><author>ggqhit</author><pubDate>Tue, 20 Nov 2018 20:31:38 +0800</pubDate><description><![CDATA[错误 1 error MSB3073: caffe-master\windows\\scripts\BinplaceCudaDependencies.cmd&quot; &quot;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin&quot; &quot;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5&quot; ...]]></description><category></category></item><item><title><![CDATA[OpenCV ——双线性插值（Bilinear interpolation）]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/84302382</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/84302382</guid><author>ggqhit</author><pubDate>Tue, 20 Nov 2018 14:41:39 +0800</pubDate><description><![CDATA[1，原理
　　在图像的仿射变换中，很多地方需要用到插值运算，常见的插值运算包括最邻近插值，双线性插值，双三次插值，兰索思插值等方法，OpenCV提供了很多方法，其中，双线性插值由于折中的插值效果和运算速度，运用比较广泛。
　　越是简单的模型越适合用来举例子，我们就举个简单的图像：3*3 的256级灰度图。假如图像的象素矩阵如下图所示（这个原始图把它叫做源图，Source）：
       234 ...]]></description><category></category></item><item><title><![CDATA[在海思上运行mtcnn报错]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/82557907</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/82557907</guid><author>ggqhit</author><pubDate>Sun, 09 Sep 2018 14:07:45 +0800</pubDate><description><![CDATA[在hi3516板子上运行mtcnn的测试程序时候报错如下：

./mtcnn: can't load library 'libgomp.so.1'

原因：找不到openmp的库

解决方法：在PC机编译器的lib目录下找到相应的库拷贝到板子的lib中可以解决上述错误。

 ...]]></description><category></category></item><item><title><![CDATA[海思hi3516移植ncnn]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/82557597</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/82557597</guid><author>ggqhit</author><pubDate>Sun, 09 Sep 2018 14:03:44 +0800</pubDate><description><![CDATA[1.获取源码：ncnn-20180427.tar.gz

2.解压ncnn-20180427.tar.gz

命令：tar -xvf ncnn-20180427.tar.gz

3.进入解压后的目录ncnn-20180427

命令：cd ncnn-20180427

4.新建目录build和output

命令：mkdir build output

注释掉 倒数第二行：  #add_subdi...]]></description><category></category></item><item><title><![CDATA[海思hi3516移植protobuf]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/82556512</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/82556512</guid><author>ggqhit</author><pubDate>Sun, 09 Sep 2018 11:02:14 +0800</pubDate><description><![CDATA[1.下载源码 protobuf-master.zip

2.解压 protobuf-master.zip

3.进入解压后的目录protobuf-master

命令：cd protobuf-master

4.新建目录build和output

命令：mkdir build output

5.执行命令：./autogen.sh

6.配置

执行命令：./configure --build=i...]]></description><category></category></item><item><title><![CDATA[海思hi3516移植OpenCV2.4.9]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/82556190</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/82556190</guid><author>ggqhit</author><pubDate>Sun, 09 Sep 2018 10:48:31 +0800</pubDate><description><![CDATA[1.下载源码 opencv-2.4.9.tar.gz

2.解压opencv-2.4.9.tar.gz

命令：tar -xvf opencv-2.4.9.tar.gz

3.进入解压后的目录opencv-2.4.9

命令：cd opencv-2.4.9

4.新建目录build和output

命令：mkdir build output

5.执行命令：cmake-gui

6.配置编译选项
...]]></description><category></category></item><item><title><![CDATA[如何应用MTCNN和FaceNet模型实现人脸检测及识别]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/81257045</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/81257045</guid><author>ggqhit</author><pubDate>Sat, 28 Jul 2018 08:44:04 +0800</pubDate><description><![CDATA[原文地址：https://cloud.tencent.com/developer/news/213743

 

AI 前线导读：人脸检测是对人脸进行识别和处理的第一步，主要用于检测并定位图片中的人脸，返回高精度的人脸框坐标及人脸特征点坐标。人脸识别会进一步提取每个人脸中所蕴涵的身份特征，并将其与已知的人脸进行对比，从而识别每个人脸的身份。目前人脸检测 / 识别的应用场景逐渐从室内演变到室外，从单...]]></description><category></category></item><item><title><![CDATA[MTCNN 部分理解]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/81256648</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/81256648</guid><author>ggqhit</author><pubDate>Sat, 28 Jul 2018 08:42:04 +0800</pubDate><description><![CDATA[本人是深度学习初学者，本文仅仅是自己对文章的一些个人理解，内容很可能有错，请仔细甄别。

1. P-Net理解。

 

. 

       如上图，该层网络是将12x12x3的图片作为layer1的输入，经过卷积计算后生成5x5x10的特征图。第一次看到这没有完全理解12x12x3是如何变成5x5x10的，通过查找资料，基本明白了其中的计算过程，个人理解如下：

      layer1的输入...]]></description><category></category></item><item><title><![CDATA[理解卷积神经网络中的通道 channel]]></title><link>https://blog.youkuaiyun.com/ggqhit/article/details/81256602</link><guid>https://blog.youkuaiyun.com/ggqhit/article/details/81256602</guid><author>ggqhit</author><pubDate>Sat, 28 Jul 2018 07:01:37 +0800</pubDate><description><![CDATA[之前在看很多文章中提到通道，但是没有对通道做详细解释，下面这篇文章提到每一层的通道意义，感觉说的比较清楚。

原文链接：https://blog.youkuaiyun.com/sscc_learning/article/details/79814146

在深度学习的算法学习中，都会提到 channels 这个概念。在一般的深度学习框架的 conv2d 中，如 tensorflow 、mxnet，channe...]]></description><category></category></item></channel></rss>