红外波长的分类

红外线是波长介乎微波与可见光之间的电磁波,波长为0.75~1000 μm,其中,近红外、短波红外、中波红外、长波红外所在区间如下:

   

        - 近红外 (Near Infrared, NIR) : 0.75~1.1 μm
        - 短波红外 (Short Wave Infrared, SWIR) : 1.1~2.5 μm
       

   - 中波红外 (Mid Wave Infrared, MWIR) : 3~5 μm

 

        - 长波红外 (Long Wave Infrared, LWIR) : 7~14 μm

 

可见光、短波红外、近红外光线(0.4-2.5 µm)是一个具有较高大气传递性和峰值太阳照度的波段。在这三种波段中,探测器可获得最佳清晰度和分辨率的波段。

 

Kinect v2 ,The wave length is 827-850nm range.The wave length is 827-850nm range. 属于近红外,所以图片看起来很清晰,和可见光只是差别彩色而已

 

转载于:https://www.cnblogs.com/captain-dl/p/10825123.html

### 近红外光谱分类的相关技术和方法 #### 1. **近红外光谱的基础** 近红外光谱(NIRS)是一种介于可见光和中红外之间的电磁辐射波,其波长范围被定义为780-2526 nm[^4]。这一技术能够获取样品中有机分子含氢基团(如 O-H、N-H 和 C-H)的特征信息。由于其具备快速、高效、低成本且环保的特点,已被广泛应用于食品质量控制、医药领域和其他工业生产过程中的在线监测。 #### 2. **数据预处理方法** 为了减少噪声干扰并提取有效信息,通常需要对采集到的近红外光谱数据进行预处理。常见的预处理方法包括但不限于: - **平滑处理**:采用 Savitzky-Golay 卷积平滑法 (SG 平滑)[^3] 或者移动平均平滑 (Moving Average, MA),用于降低随机噪声的影响。 - **标准化转换**:标准正态变量变化 (Standard Normal Variate Transformation, SNV) 可以校正由颗粒大小差异引起的散射效应。 - **导数计算**:通过对原始光谱的一阶或二阶求导来增强弱吸收峰的信息,并抑制背景漂移。 - **归一化操作**:矢量归一化或者最大最小值归一化有助于统一不同样本间的尺度差异[^2]。 上述每种方法都有特定适用场景,需依据实验条件灵活选用组合策略以优化最终模型性能。 #### 3. **特征选择与降维** 针对高维度但冗余度较高的近红外光谱数据集,合理的特征筛选至关重要。主要存在以下几种方式来进行特征子空间构建: - **过滤器(Filter)** 方法独立评估各个波长的重要性而不考虑预测目标间关系; - **包裹式(Wrapper)** 则结合具体学习算法反复测试候选集合直至找到最优解; - 此外还有基于物理意义划分区间选取代表性的若干片段作为输入变量——即所谓“区间法”; - 而无信息变量消除法则试图剔除那些贡献较小甚至可能引入额外误差的部分[^1]。 以上各类手段均可单独实施也可联合运用从而提升分类精度。 #### 4. **支持向量机(Support Vector Machine,SVM)及其改进版** 作为一种强大的监督型机器学习工具,SVM特别适合解决小规模复杂模式识别任务。它通过寻找超平面使得两类之间间隔最大化进而完成决策边界划定工作。当面对非线性可分情况时,则借助核函数映射低维空间至更高维度实现分离目的。 对于多类别区分问题而言,传统一对其余(one-vs-rest,OvR)或多对多(one-vs-one,OvO)分解机制均能良好运作;另外考虑到实际工程需求还可以探索软边距参数调节以及核参数优选等问题进一步改善泛化能力。 以下是简单的 Python 实现 SVM 的代码示例: ```python from sklearn.svm import SVC from sklearn.model_selection import train_test_split import numpy as np # 假设 X 是经过适当预处理后的光谱矩阵 y 对应标签列向量 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) clf = SVC(kernel='rbf', gamma='auto') # 使用径向基(RBF)核函数 clf.fit(X_train, y_train) predictions = clf.predict(X_test) accuracy = sum(predictions == y_test)/len(y_test)*100 print(f'Accuracy: {accuracy:.2f}%') ``` 此脚本展示了如何加载训练/验证分割好的数据并通过调用 scikit-learn 库内的 `SVC` 类实例创建一个基础的支持向量分类器对象最后打印出准确率指标结果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值