• 【图像分类】基于HOG特征结合SVM实现图像分类识别附matlab代码


    1 内容介绍

    ​为了满足人工智能在目标识别方法中的应用需求,需要具备对海量数据进行智能分类、识别、判读的能力.进一步挖掘了目标特性数据库数据,并将基于HOG+SVM的目标识别算法应用于红外目标识别过程中.选择采集到的汽车、直升机、飞机、舰船、无人机等目标,并结合HOG算子与SVM分类方法来实现目标检测与分类算法,从而实现了目标智能化分类研究,为后续目标特性的进一步分析以及导引头智能化算法设计提供了支撑.

    2 部分代码

    %% 用hog特征对图像进行多分类,svm训练,1 VS 1  

    %% 1 数据集,包括训练的和测试的 (注意自己图片存放路径,附录我给出示例下载图片链接) 

    imdsTrain = imageDatastore('train_images',...  

        'IncludeSubfolders',true,...  

        'LabelSource','foldernames');  

    imdsTest = imageDatastore('test_image');  

    %% 显示训练的图片种类Labels和数量Count

    Train_disp = countEachLabel(imdsTrain);

    disp(Train_disp);

      

    %%   2 对训练集中的每张图像进行hog特征提取,测试图像一样  

    % 预处理图像,主要是得到features特征大小,此大小与图像大小和Hog特征参数相关  

    imageSize = [256,256];% 对所有图像进行此尺寸的缩放  

    image1 = readimage(imdsTrain,1);  

    scaleImage = imresize(image1,imageSize);  

    [features, visualization] = extractHOGFeatures(scaleImage);  

    imshow(scaleImage);hold on; plot(visualization)  

      

    % 对所有训练图像进行特征提取  

    numImages = length(imdsTrain.Files);  

    featuresTrain = zeros(numImages,size(features,2),'single'); % featuresTrain为单精度  

    for i = 1:numImages  

        imageTrain = readimage(imdsTrain,i);  

        imageTrain = imresize(imageTrain,imageSize);  

        featuresTrain(i,:) = extractHOGFeatures(imageTrain);  

    end  

      

    % 所有训练图像标签  

    trainLabels = imdsTrain.Labels;  

      

    % 开始svm多分类训练,注意:fitcsvm用于二分类,fitcecoc用于多分类,1 VS 1方法  

    classifer = fitcecoc(featuresTrain,trainLabels);  

      

    %% 预测并显示预测效果图  

    numTest = length(imdsTest.Files);  

    for i = 1:numTest  

        testImage = readimage(imdsTest,i);  

        scaleTestImage = imresize(testImage,imageSize);  

        featureTest = extractHOGFeatures(scaleTestImage);  

        [predictIndex,score] = predict(classifer,featureTest);  

        figure;imshow(testImage);  

        title(['预测图像: ',char(predictIndex)]);  

    end  

    3 运行结果

    4 参考文献

    [1]姜经纬, 程传蕊. 基于HOG+SVM的图像分类系统的设计与实现[J]. 漯河职业技术学院学报, 2017, 16(2):4.

    [2]宋敏敏, 周泽亚, 邱燕,等. 基于HOG特征和SVM分类器的红外图像智能检测与分类方法[J]. 红外, 2022(043-004).

    博主简介:擅长智能优化算法神经网络预测信号处理元胞自动机图像处理路径规划无人机雷达通信无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

    部分理论引用网络文献,若有侵权联系博主删除。

  • 相关阅读:
    720云手机电动云台全新上市,让手机能自动拍摄亿万像素VR全景
    户外运动崛起!疫情后这些产品将成为跨境热门品类!
    Pinctrl子系统_02_使用Pinctrl要掌握的重要概念
    Google Analytics Service account 认证指南
    【后端高频面试题--Mybatis篇】
    Mysql模糊查询的其他优化方法测试
    【老生谈算法】matlab实现车牌识别中值滤波算法——车牌识别中值滤波算法
    C语言基础一
    搭建WAMP网站教程(Windows+Apache+MySQL+PHP)
    linux入门8—网络配置
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/126938459