0%

2019年8月7日 下午9:19

  1. 这里的ppt思路的框架讲的挺清楚的
    1. 思路框架:
      1. ::自上而下,自下而上::
        1. 他们的共同点:都将问题进行了转化数学问题,从数学上求解
  2. 看似比较生疏的几个重要知识点
    1. 蒙特卡洛模拟核心思路
    2. 动态系统是什么?=递归贝叶斯估计问题?
  3. 但是具体知识不太清楚,还需要具体的看代码去学习
    1. ::必须要看代码,否则你都不知道知识怎么用的,知识点不能解决问题,必须要学会怎样利用知识::
    2. Lucas–Kanade光流算法就是一个很好的例子
  4. ppt中还有好多讨论点,问题我不会,以后记得看

2019年4月25日 上午11:33
基于MeanShift的目标跟踪算法及实现
非参数估计之Parzen窗估计
超定方程组最优解(最小二乘解)
Lucas–Kanade光流算法

2019年8月7日 下午5:46

  1. 光流法 - 维基百科,自由的百科全书
  2. 《视觉SLAM14讲》
    1. p185~186:讲解的很完整
    2. P190:最上面一行代码,光流函数的输入(last_color, color, pre_keypoints,next_keypoints)

2019年4月24日 下午8:00

【算法分析】Lucas–Kanade光流算法 - gnuhpc - 博客园

  1. 三维的角度去推导光流法
  2. Lucas-Kanade算法
    1. 是一个非迭代的算法
    2. 我理解其实就是利用最小二乘法解决超定问题
    3. 超定方程组最优解(最小二乘解)

2019年7月29日 上午11:17

理解方法:

  1. 理解扔掉:add 和commit我回过头去看,有些可能是多余的,我直接扔掉,对我现在的代码没有任何影响
  2. 回退覆盖:我扔掉add和commit的时候,用不用把我的本地文件给覆盖了。
    1. 当我们发现,这几天的工作完全错误,以后绝对没用的时候,我们才会覆盖。
  3. 只有-hard会覆盖,-mix -soft 就看你是扔add还是commit了

git reset 三种用法总结 - alphapersonality的博客 - CSDN博客

  1. git reset (–mixed) HEAD~1
    1. 回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也不受影响)
    2. ::扔掉add和commit的内容::
  2. git reset –soft HEAD~1
    1. 回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)
    2. ::只扔掉commit()的内容,不影响add(暂存区)::
  3. git reset –hard HEAD~1
    1. 回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换
    2. ::扔掉add和commit的内容:: + 本地的文件也将被恢复的版本替换
    3. git reset (–mixed) + 本地的文件也将被恢复的版本替换

git reset file(README.md):撤销对暂存区的修改


git reset —soft

Git reset 常见用法 - 浅浅念 - 博客园


git reset —mixed



  1. 只要我们commit之后,commit的文件是一定不会丢失的
  2. mixed和soft的区别:仅仅在于soft暂存区是否会保存这次提交之后的所有变更

git reset —hard


  1. 这个会覆盖工作区的文件,慎用。否则新敲如的代码就丢了!!

git reset file(README.md)


  1. 这说明暂存区的东西一旦撤销就丢失了

2019年7月29日 上午10:57

如何解决协作冲突:两个人处理同一个文件,第二个人push的时候出错。

  1. 涉及到pull 和 push
  2. ::理解:为什么pull操作之后,即使发生冲突,文件已经下载到了本地文件中::
    1. pull操作针对的是本地仓库中的代码,而不是本地项目文件夹。
      1. 如果,我们进行pull的时候发生了conflict,也就是本地仓库中的代码和远程仓库有冲突,此时本地仓库中的代码会有pull下来的代码添加到本地项目文件夹中
        1. 也就是说,如果我们在commit之后还对本地项目文件夹中有所更改,很有可能会导致代码丢失。
        2. 解决方法:commit -> pull(有差异的文件)这两步一定要连续操作
          Git Pull Failed: CONFLICT (content): Merge conflict in camus-aggregator/camus-admin-web/src/main/web - CSDN博客

解决本地情况下的冲突:自己的两个分支处理了同一个文件并commit,两个分支merge的时候发生

  1. 没有涉及到pull 和 push
  2. 进行git merge dev操作之后,进行的commit操作有了双重意义:
    1. 从本地项目文件夹->本地仓库
    2. ::标志merge操作中的冲突已经解决好了::由于这层意义的存在,所以这时的commit要更加的谨慎
      廖雪峰 解决本地情况下的冲突

      这里的关键是:我一旦git merge 即使冲突了也同样会merge,这时需要我们马上git status 找出冲突的文件,手动解决问题。



      注:git log --graph --pretty=oneline --abbrev-commit

2019年7月26日 下午7:38

混合编程原理:

  1. python和C语言互相调用的几种方式 - jack_Meng - 博客园
    1. c调用python
      1. 共享库
    2. Python调用c
      1. subprocess:C语言设计一个完整的可执行文件,然后python通过subprocess来执行该可执行文件,本质上是fork+execve。
      2. C语言中运行python程序:C语言使用popen/system或者直接以系统调用级fork+exec来运行python程序也是一种混编的手段了
      3. python对C语言扩展的支持
  2. python调用.so - fariver - 博客园

混合编程应用:

  1. darknet 的python接口使用 - Cwenge的博客 - CSDN博客
  2. Darknet概述 - 搬砖笔记 - CSDN博客

注:yolo3的整个网络结构模型就是用c写的,python部分里是使用python对模型的调用方法,而不是模型本身。

2019年7月26日 下午6:08

服务器重要的环境要心里有数:有什么?没什么?位置在哪?

  1. cuda的安装位置:/usr/local/cuda/bin

文件上传到服务器:

2019年7月26日 下午5:59

项目文件夹

objectDetect

参考资料:

  1. YOLOv3 训练自己的数据(附优化与问题总结) - lumingha的博客 - CSDN博客
    1. 环境搭建、模型的使用、使用自己的训练数据训练、模型效果验证都做出了非常明确的操作说明::对以后其他模型的是有也有很强的借鉴意义::
    2. 这里面最关键是:使用自己的训练数据训练
  2. YOLO3训练自己数据(超详细步骤) - lixiaoyu101的博客 - CSDN博客
  3. :—7—解决报错:/bin/sh: 1: nvcc: not found make: *** obj/convolutional_kernels.o Error 127 - 招财大龙猫 - 博客园
    1. NVCC = /usr/local/cuda/bin/nvcc
  4. error “Base.hpp” header must be compiled as C++ - yunhuaikong的专栏 - CSDN博客

服务器训练指令:

  1. 使用预训练参数开始训练:
    1. ./darknet detector train ../data_own/cfg/rock.data ../data_own/cfg/rock.cfg darknet53.conv.74
  2. 终止训练,权重会保存在backup文件夹下。如果要从检查点停止并重新启动训练
    1. ./darknet detector train ../data_own/cfg/rock.data ../data_own/cfg/rock.cfg backup/rock.backup -gpus 0,1

本地运行的指令:

  1. ./darknet detector test ../data_own/cfg/rock.data ../data_own/cfg/rock.cfg ./backup/rock_900.weights ../data_own/data/images/228.jpg
    1. 最后结果会保存在predictions.jpg
    2. ./backup/rock_900.weights::就是我们从服务器拉回来的训练好的模型::
  2. 批量运行:
    1. /darknet detector test ../data_own/cfg/rock.data ../data_own/cfg/rock.cfg ./backup/rock_900.weights