0%

2019年1月8日 上午11:53

使用brew安装

Mac OS 安装 OpenCV (python3) - willduan的博客 - CSDN博客

C++版本:

  1. C++使用的opencv是我自己编译安装的版本3.4.5
  2. 安装步骤
    1. 基于Mac os 10.12.6,openCV3.3+opencv_contrib配置,使用cmake - weizihan8333的博客 - CSDN博客

      sudo make install 之后安装位置在/usr/local/下

  3. _usr_local_lib_存放的是库文件
  4. _usr_local/include下存放的是头文件
  5. _usr_local_share_OpenCV也会存放一些文件

c++ - Compiler error: “Non-aggregates cannot be initialized with initializer list.” - Stack Overflow

Python版本:

  1. python版本的opencv使用的是anaconda中的opencv3.4.1
  2. 我们必须安装contribute库,来使用视频追踪的函数
    AttributeError: module ‘cv2.cv2’ has no attribute ‘Tracker_create’ - 半斤香橙的博客 - CSDN博客
    1
    2
    pip install opencv-contrib-python
    或:pip3 install opencv-contrib-python

2019年1月8日 上午9:20

机器学习的评价维度

  1. Model Issues
  2. Algorithm Correctness
  3. Implementation Correctness
  4. data
    1. 不收敛
  5. Zayd’s Blog– Why is machine learning ‘hard’?

我认为一个网络的设计可以从这几个角度进行思考

  1. 数据角度
  2. LOSS角度
  3. 网络结构设计的角度

数据的角度

创新和思考问题的角度

LOSS的角度

loss函数意味着什么

网络结构的角度

  1. 我对比了pointnet中的网络设计,从本质来说,网络结构设计是站在需求方,从对实际应用的本质理解,倒推我们需要怎样的数据流来训练网络更好的达到效果
  2. eg:pointnet
    1. 我们主要为了解决order的问题,想到了用数学中对称函数来解决。我们设计了网络结构来逼近这个对称函数。
    2. 问题—》解决方案—》网络结构。按这样的顺序我们才设计出了新的网络结构
  3. 总结:网络结构不是越新颖越好,而是越符合当前问题需求,达到的效果最好。
    1. 这个感觉就像是:我们阅读数学公式时,最核心的是去理解作者的思想。
    2. 同样, 一个网络结构背后的核心同样是作者的思想、要解决的问题

2019年1月7日 上午9:51

  1. loss的本质:体现的是一种新的调参的方式,用一套人为定义的评价标准去判断当前设置的参数的整体效果
    1. 是一种取代人为调参的方式
  2. 结构性学习中,比如说GAN
    1. GAN中的Discriminator就是一个LOSS
    2. 它用来取代我们人为设计pixel by pixel 这样的loss
      1. 如果我们能够设计出一个loss,能够做到大局观的话,我们完全用不着使用网络来训练一个loss
    3. Discriminator这个loss的好处是有大局观,及不是通过简单的pixel来判断
      1. GAN的设计者是为了解决这个问题,才设计的GAN
  3. 结构性学习
    1. 在结构性学习中,他的标签是一张图,而不是我们我们常见的一个数

2019年1月4日 下午4:42

最大的一个框架

  1. 依然使用的是判别式的思路:
    1. 图像特征+机器学习(深度学习)
  2. 他们的改进点在于:
    1. 提取、融合更加好的特征
    2. 将tracking问题转化的角度不同,利用机器学习和深度学习建模的目的不同
      1. 目前,深度学习建模的对象是:
      2. 与检测对象之间相似性或距离的度量

SOT和MOT都可以从一下两个角度进行展开讨论

  1. 初始化帧的跟踪
  2. ⽬标检测的跟踪

SOT和MOT的对比

  1. 方法并没有因为SOT和MOT的分类,而产生完全不同的方法
  2. SOT和MOT的本质区别:
    1. MOT有一个关联的步骤,而SOT没有

SOT和MOT都会使用的几个重要的模块:

注:这些都是可以利用的知识点,用来改进效果

  1. 检测
  2. 相似(距离)度量
  3. 分类器
  4. 特征提取模型
  5. 视频的连续性

2019年1月4日 下午4:42

四个角度:

模型 + 算法 +步骤 +数据 + 度量指标

  1. 模型和算法的区别:
    1. 都是对抽象,只是抽象的对象不同
      1. 请问数学模型和计算机算法之间的关联和区别是什么? - 知乎
      2. 模型:是对某类事物/某类问题的抽象
      3. 算法:是对具体过程/方法的抽象
    2. 在机器学习和深度学习中
      1. 算法是必须是人设计出来
      2. 模型,在大数据的时代驱使下,更多的是通过数据去训练出来
        1. 当然,也可以向算法一样,认为的去设计
  2. 步骤:
    1. 从时代发展的角度,有些步骤验证是不好的,或者可以被取代的,那么我们就把他删去
    2. 随着认识的提高和尝试,也会有新的步骤加进来
  3. 数据
    1. 要加强对数据的理解,像天池这样的大赛,更多是需要的不是你对技术有高深的见解,更需要你对数据的行业知识
    2. 即使是相同的模型,根据对数据的理解的高低,我们也可以让模型训练出不同的效果。
  4. 度量指标:
    1. 在ML和DL中度量指标是:loss函数意味着什么
    2. 在一些公开比赛中,评价指标也是一种度量指标

2019年1月3日 下午4:10

2019年3月18日 下午12:26
深度学习可以理解成是提取特征的工具,而我们计算机视觉绝大部分领域都是基于特征的,所以深度学习才会产生如此大的影响。同样,其他领域如果也是基于特征的,那么深度学习也可以很大程度的进行代替和辅助。

2019年1月3日 下午4:10
2018深度多目标跟踪算法综述 | 极市开发者社区.pdf

  1. 问题
    1. 今天在学习基于深度学习的目标追踪的时候,我对深度学习能做什么又产生了模糊
    2. 在这里面讲到了用深度学习进行距离度量
    3. 我就想机器学习和深度学习是用来:分类和回归。那么他是如何进行度量
  2. 总结:
    1. 我们可以从这个角度进行思考:使用深度学习之前,这部分知识是如何进行度量
    2. 在深度学习之前,使用的是hand-craft
      1. 比如特征可以用sift算法来提取,sift就是人为根据经验构造的
      2. 再比如度量可以是欧几里得距离来计算
      3. 也就是说:::深度学习和机器学习可以代替的对象是hand-craft::