上次我们简单介绍了OpenCV及计算机视觉的定义,今天我们继续说说基础知识。今天主要讲Python和图像基本处理。
文末有计算机视觉领域的福利,分享并留言依然可以拿到红包大奖。
P y t h o n
如果你选择了TensorFlow工具,我觉得很有必要学习Python语言,我之前一直使用Caffe,有兴趣的也可以了解,下次我也可以为大家说说Caffe、TensorFlow及比较流行的深度学习工具。
这里稍微介绍一下Python和Numpy/Scipy的一些基础吧,如果Python老手,别浪费时间了,去完成自己的伟业去吧,或者你也可以直接去看下面的图像基本处理知识。
→ 基本数据类型 ←
其中,最常用的有数值型(Numbers),布尔型(Booleans)和字符串(String)三种。
x = 1
print(type(x)) # 输出为:"<class 'int'>"
print(x) # 输出为:"1"
print(x + 1) # 输出为:prints "2", 加减乘除幂等就不一一细说
x += 1 #自加1
print(x) # 输出为:"2"
x *= 2 #自乘
print(x) #输出为:"4"
记住,Python中有一些与C++不同,比如没有x++ 和 x– 操作
temp1 = True
temp2 = False
print(type(temp1)) # 输出为: "<class 'bool'>"
print(temp1 and temp2)
# 逻辑与; 输出为: "False"
逻辑或、逻辑非、XOR等不细说咯~
- String—字符串可以用单引号/双引号/三引号声明
temp1 = 'hello'
temp2 = "world"
print(temp1) # 输出为:'hello'
print(len(temp1)) # 字符串长度; 输出为: "5"
temp3 = temp1 + ' ' + temp2 # 连接
print(temp3) # 输出为:'hello world'
注:字符串比较重要,有很多常用的函数,可以进一步去学习
→ 基本容器 ←
temp1 = [1, 2, 3]
print(temp1, temp1[2]) # 输出为: "[1, 2, 3] 2"
print(temp1[-1]) # 第-1个元素,其实就是最后一个元素,输出为:2
列表常用的操作有:
切片(slicing):print(temp1[1:2]) # 下标从1到2-1的元素, 输出为:"[1]"
循环(loops):for animal in animals: print animal 输出为:3 1 2
还有其他使用可以自行学习~加油
- 字典(Dict) ——用于存储key-value对
temp = {'A': 'a', 'B': 'b', 'C':'c'} # 创建字典
print(temp['A']) # 根据key取出a
print('B' in temp)
# 判断是否有'B'这个key,输出为:True
其实,元组还是一个list,只不过里面的每个元素都是一个两元组对,而且不可修改。
temp = {(1, 2): 0, (3, 4): 1}
temp1 = (3, 4)
print(type(temp1)) # 输出为:"<class 'tuple'>"
print(temp[(3,4)]) #输出为: "1"
→ NumPy基础 ←
该段知识就比较多了,不能一一那么详细举例,只要你看过,都会了解,不用我去慢慢写出来的。
主要有:数组、Numpy数组索及取值,数组类型、数组计算等。
Numpy其实还提供了非常方便操作和计算的高维向量对象,并提供了最基本的操作方法,而Scipy就是在Numpy的基础上,提供了大量的函数去直接完成使用者需要一些操作,如果有兴趣可以详细阅读Scipy文档。
图 像 处 理
主要知识框架如下:(配图有点丑+ +)
接下来的推送中,“计算机视觉战队”平台会单独详细讲解图像基础处理,并用典型的例子在OpenCV中实际操作以来体现。
文 末 福 利
相信有很多朋友在做目标检测,今天的福利就是分享一波高质量paper:
- Cascade R-CNN: Delving into High Quality Object Detection
- Domain Adaptive Faster R-CNN for Object Detection in the Wild
- Multi-scale Location-aware Kernel Representation for Object Detection
- Object Detection using Domain Randomization and Generative Adversarial Refinement of Synthetic Images
- Relation Networks for Object Detection
- Beyond Trade-off: Accelerate FCN-based Face Detector with Higher Accuracy
- Real-Time Rotation-Invariant Face Detection with Progressive Calibration Networks
- Seeing Small Faces from Robust Anchor’s Perspective
- Direction-aware Spatial Context Features for Shadow Detection
- A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection
- Speed/accuracy trade-offs for modern convolutional object detectors
- Discriminative Bimodal Networks for Visual Localization and Detection with Natural Language Queries
- Accurate Single Stage Detector Using Recurrent Rolling Convolution
- RON: Reverse Connection with Objectness Prior Networks for Object Detection
- Mimicking Very Efficient Network for Object Detection
- Learning non-maximum suppression
- Deep Variation-structured Reinforcement Learning for Visual Relationship and Attribute Detection
- Detecting Visual Relationships with Deep Relational Networks
- Multi-Path Region-Based Convolutional Neural Network for Accurate Detection of Unconstrained “Hard Faces”
- Scale-Aware Face Detection
- Detecting Faces Using Inside Cascaded Contextual CNN
- Finding Tiny Faces
- Expecting the Unexpected: Training Detectors for Unusual Pedestrians with Adversarial Imposters
- What Can Help Pedestrian Detection?
- Evaluating State-of-the-art Object Detector on Challenging Traffic Light Data
- SRN: Side-output Residual Network for Object Symmetry Detection in the Wild
- Learning Detection with Diverse Proposals