在之前的项目中,关于鸟类数据集开发的模型大多是集中在识别系统领域,很少有尝试构建细粒度的目标检测系统,在我之前文章中200种鸟类识别系统的基础上,本文的初衷主要就是尝试将yolov5s轻量级模型应用到大规模数据细粒度目标检测模型开发中去,首先看下效果图:
这里一共有200种不同的鸟类数据,类别清单如下:
'Black_footed_Albatross', 'Laysan_Albatross', 'Sooty_Albatross', 'Groove_billed_Ani', 'Crested_Auklet', 'Least_Auklet', 'Parakeet_Auklet', 'Rhinoceros_Auklet', 'Brewer_Blackbird', 'Red_winged_Blackbird', 'Rusty_Blackbird', 'Yellow_headed_Blackbird', 'Bobolink', 'Indigo_Bunting', 'Lazuli_Bunting', 'Painted_Bunting', 'Cardinal', 'Spotted_Catbird', 'Gray_Catbird', 'Yellow_breasted_Chat', 'Eastern_Towhee', 'Chuck_will_Widow', 'Brandt_Cormorant', 'Red_faced_Cormorant', 'Pelagic_Cormorant', 'Bronzed_Cowbird', 'Shiny_Cowbird', 'Brown_Creeper', 'American_Crow', 'Fish_Crow', 'Black_billed_Cuckoo', 'Mangrove_Cuckoo', 'Yellow_billed_Cuckoo', 'Gray_crowned_Rosy_Finch', 'Purple_Finch', 'Northern_Flicker', 'Acadian_Flycatcher', 'Great_Crested_Flycatcher', 'Least_Flycatcher', 'Olive_sided_Flycatcher', 'Scissor_tailed_Flycatcher', 'Vermilion_Flycatcher', 'Yellow_bellied_Flycatcher', 'Frigatebird', 'Northern_Fulmar', 'Gadwall', 'American_Goldfinch', 'European_Goldfinch', 'Boat_tailed_Grackle', 'Eared_Grebe', 'Horned_Grebe', 'Pied_billed_Grebe', 'Western_Grebe', 'Blue_Grosbeak', 'Evening_Grosbeak', 'Pine_Grosbeak', 'Rose_breasted_Grosbeak', 'Pigeon_Guillemot', 'California_Gull', 'Glaucous_winged_Gull', 'Heermann_Gull', 'Herring_Gull', 'Ivory_Gull', 'Ring_billed_Gull', 'Slaty_backed_Gull', 'Western_Gull', 'Anna_Hummingbird', 'Ruby_throated_Hummingbird', 'Rufous_Hummingbird', 'Green_Violetear', 'Long_tailed_Jaeger', 'Pomarine_Jaeger', 'Blue_Jay', 'Florida_Jay', 'Green_Jay', 'Dark_eyed_Junco', 'Tropical_Kingbird', 'Gray_Kingbird', 'Belted_Kingfisher', 'Green_Kingfisher', 'Pied_Kingfisher', 'Ringed_Kingfisher', 'White_breasted_Kingfisher', 'Red_legged_Kittiwake', 'Horned_Lark', 'Pacific_Loon', 'Mallard', 'Western_Meadowlark', 'Hooded_Merganser', 'Red_breasted_Merganser', 'Mockingbird', 'Nighthawk', 'Clark_Nutcracker', 'White_breasted_Nuthatch', 'Baltimore_Oriole', 'Hooded_Oriole', 'Orchard_Oriole', 'Scott_Oriole', 'Ovenbird', 'Brown_Pelican', 'White_Pelican', 'Western_Wood_Pewee', 'Sayornis', 'American_Pipit', 'Whip_poor_Will', 'Horned_Puffin', 'Common_Raven', 'White_necked_Raven', 'American_Redstart', 'Geococcyx', 'Loggerhead_Shrike', 'Great_Grey_Shrike', 'Baird_Sparrow', 'Black_throated_Sparrow', 'Brewer_Sparrow', 'Chipping_Sparrow', 'Clay_colored_Sparrow', 'House_Sparrow', 'Field_Sparrow', 'Fox_Sparrow', 'Grasshopper_Sparrow', 'Harris_Sparrow', 'Henslow_Sparrow', 'Le_Conte_Sparrow', 'Lincoln_Sparrow', 'Nelson_Sharp_tailed_Sparrow', 'Savannah_Sparrow', 'Seaside_Sparrow', 'Song_Sparrow', 'Tree_Sparrow', 'Vesper_Sparrow', 'White_crowned_Sparrow', 'White_throated_Sparrow', 'Cape_Glossy_Starling', 'Bank_Swallow', 'Barn_Swallow', 'Cliff_Swallow', 'Tree_Swallow', 'Scarlet_Tanager', 'Summer_Tanager', 'Artic_Tern', 'Black_Tern', 'Caspian_Tern', 'Common_Tern', 'Elegant_Tern', 'Forsters_Tern', 'Least_Tern', 'Green_tailed_Towhee', 'Brown_Thrasher', 'Sage_Thrasher', 'Black_capped_Vireo', 'Blue_headed_Vireo', 'Philadelphia_Vireo', 'Red_eyed_Vireo', 'Warbling_Vireo', 'White_eyed_Vireo', 'Yellow_throated_Vireo', 'Bay_breasted_Warbler', 'Black_and_white_Warbler', 'Black_throated_Blue_Warbler', 'Blue_winged_Warbler', 'Canada_Warbler', 'Cape_May_Warbler', 'Cerulean_Warbler', 'Chestnut_sided_Warbler', 'Golden_winged_Warbler', 'Hooded_Warbler', 'Kentucky_Warbler', 'Magnolia_Warbler', 'Mourning_Warbler', 'Myrtle_Warbler', 'Nashville_Warbler', 'Orange_crowned_Warbler', 'Palm_Warbler', 'Pine_Warbler', 'Prairie_Warbler', 'Prothonotary_Warbler', 'Swainson_Warbler', 'Tennessee_Warbler', 'Wilson_Warbler', 'Worm_eating_Warbler', 'Yellow_Warbler', 'Northern_Waterthrush', 'Louisiana_Waterthrush', 'Bohemian_Waxwing', 'Cedar_Waxwing', 'American_Three_toed_Woodpecker', 'Pileated_Woodpecker', 'Red_bellied_Woodpecker', 'Red_cockaded_Woodpecker', 'Red_headed_Woodpecker', 'Downy_Woodpecker', 'Bewick_Wren', 'Cactus_Wren', 'Carolina_Wren', 'House_Wren', 'Marsh_Wren', 'Rock_Wren', 'Winter_Wren', 'Common_Yellowthroat'
首先来看下数据集情况:
YOLO格式标注数据如下:
实例标注内容如下:
180 0.301 0.543909 0.334 0.339943
VOC格式数据标注如下:
实例标注内容如下:
DDDD
JPEGImages/00c065d8-3ab7-4d51-ac32-6039ffc7dddd.jpg
YSHC
417
500
3
0
使用的yaml文件如下:
#Parameters
nc: 200 # number of classes
depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple
anchors:
- [10,13, 16,30, 33,23] # P3/8
- [30,61, 62,45, 59,119] # P4/16
- [116,90, 156,198, 373,326] # P5/32
#Backbone
backbone:
# [from, number, module, args]
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 3, C3, [128]],
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 6, C3, [256]],
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 9, C3, [512]],
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 3, C3, [1024]],
[-1, 1, SPPF, [1024, 5]], # 9
]
#Head
head:
[[-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
[[-1, 6], 1, Concat, [1]], # cat backbone P4
[-1, 3, C3, [512, False]], # 13
[-1, 1, Conv, [256, 1, 1]],
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
[[-1, 4], 1, Concat, [1]], # cat backbone P3
[-1, 3, C3, [256, False]], # 17 (P3/8-small)
[-1, 1, Conv, [256, 3, 2]],
[[-1, 14], 1, Concat, [1]], # cat head P4
[-1, 3, C3, [512, False]], # 20 (P4/16-medium)
[-1, 1, Conv, [512, 3, 2]],
[[-1, 10], 1, Concat, [1]], # cat head P5
[-1, 3, C3, [1024, False]], # 23 (P5/32-large)
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5)
]
默认100次epoch的迭代计算,结果详情如下。
LABEL可视化:
这里可能是由于类别数过多的问题,导致其他曲线绘制的时候直接报错【Segmentation fault】,如下所示:
目前我还不知道应该怎么处理,如有知道的欢迎指导,感谢!
可视化界面推理计算样例如下:
从模型评估结果上面来看整体的检测识别精度还是不错的。
下面是yolov5s实际表现详情:
Fusing layers...
YOLOv5s summary: 157 layers, 7549525 parameters, 0 gradients, 17.5 GFLOPs
Class Images Instances P R mAP50 mAP50-95: 100%|??????????| 19/19 [00:18<00:00, 1.03it/s]
all 1179 1179 0.74 0.802 0.844 0.701
Black_footed_Albatross 1179 7 0.712 0.714 0.795 0.774
Laysan_Albatross 1179 7 0.93 0.857 0.978 0.705
Sooty_Albatross 1179 6 0.621 0.822 0.828 0.615
Groove_billed_Ani 1179 8 1 0.947 0.995 0.808
Crested_Auklet 1179 4 0.811 1 0.995 0.622
Least_Auklet 1179 1 0.682 1 0.995 0.895
Parakeet_Auklet 1179 7 0.899 1 0.995 0.77
Rhinoceros_Auklet 1179 7 0.524 0.321 0.746 0.394
Brewer_Blackbird 1179 10 1 0.318 0.845 0.726
Red_winged_Blackbird 1179 10 0.896 1 0.995 0.77
Rusty_Blackbird 1179 4 0.454 1 0.995 0.8
Yellow_headed_Blackbird 1179 4 0.826 1 0.995 0.92
Bobolink 1179 2 0.434 0.5 0.638 0.61
Indigo_Bunting 1179 8 0.791 0.75 0.799 0.694
Lazuli_Bunting 1179 3 0.835 1 0.995 0.797
Painted_Bunting 1179 6 0.696 0.769 0.855 0.684
Cardinal 1179 6 0.815 1 0.995 0.815
Spotted_Catbird 1179 4 0.869 1 0.995 0.657
Gray_Catbird 1179 1 0.272 1 0.995 0.796
Yellow_breasted_Chat 1179 5 0.568 0.6 0.772 0.646
Eastern_Towhee 1179 9 0.922 0.778 0.963 0.759
Chuck_will_Widow 1179 5 0.827 0.961 0.862 0.704
Brandt_Cormorant 1179 6 0.332 0.5 0.432 0.315
Red_faced_Cormorant 1179 6 0.953 1 0.995 0.642
Pelagic_Cormorant 1179 5 0.497 0.396 0.547 0.473
Bronzed_Cowbird 1179 9 0.895 0.889 0.975 0.905
Shiny_Cowbird 1179 7 0 0 0.171 0.157
Brown_Creeper 1179 10 1 0.909 0.995 0.737
American_Crow 1179 6 0.414 0.833 0.53 0.448
Fish_Crow 1179 6 0.102 0.051 0.214 0.202
Black_billed_Cuckoo 1179 6 0.317 0.333 0.542 0.388
Mangrove_Cuckoo 1179 4 0.594 0.75 0.808 0.278
Yellow_billed_Cuckoo 1179 7 0.692 0.714 0.676 0.472
Gray_crowned_Rosy_Finch 1179 2 0.769 1 0.995 0.895
Purple_Finch 1179 9 0.939 1 0.995 0.832
Northern_Flicker 1179 6 0.796 1 0.901 0.674
Acadian_Flycatcher 1179 7 0.686 0.714 0.826 0.629
Great_Crested_Flycatcher 1179 6 0.601 0.268 0.559 0.514
Least_Flycatcher 1179 5 0.543 0.6 0.749 0.578
Olive_sided_Flycatcher 1179 8 1 0.413 0.778 0.616
Scissor_tailed_Flycatcher 1179 7 0.905 1 0.995 0.721
Vermilion_Flycatcher 1179 1 0.67 1 0.995 0.895
Yellow_bellied_Flycatcher 1179 7 0.422 0.143 0.39 0.348
Frigatebird 1179 4 0.559 1 0.995 0.871
Northern_Fulmar 1179 3 0.451 0.667 0.727 0.31
Gadwall 1179 4 0.725 1 0.995 0.834
American_Goldfinch 1179 7 0.864 1 0.995 0.784
European_Goldfinch 1179 12 0.955 1 0.995 0.853
Boat_tailed_Grackle 1179 11 0.925 0.364 0.56 0.494
Eared_Grebe 1179 5 0.64 1 0.995 0.895
Horned_Grebe 1179 4 0.873 1 0.995 0.933
Pied_billed_Grebe 1179 10 0.891 1 0.995 0.813
Western_Grebe 1179 7 0.806 0.857 0.913 0.765
Blue_Grosbeak 1179 5 0.902 1 0.995 0.837
Evening_Grosbeak 1179 5 1 0.973 0.995 0.906
Pine_Grosbeak 1179 8 0.996 1 0.995 0.902
Rose_breasted_Grosbeak 1179 10 0.954 1 0.995 0.836
Pigeon_Guillemot 1179 6 0.915 1 0.995 0.782
California_Gull 1179 4 0 0 0.256 0.23
Glaucous_winged_Gull 1179 11 0.548 0.334 0.61 0.541
Heermann_Gull 1179 8 0.942 1 0.995 0.934
Herring_Gull 1179 7 1 0 0.469 0.402
Ivory_Gull 1179 3 0.507 0.667 0.706 0.565
Ring_billed_Gull 1179 5 0.381 0.6 0.51 0.457
Slaty_backed_Gull 1179 4 0.628 0.5 0.66 0.446
Western_Gull 1179 3 0.742 0.969 0.746 0.689
Anna_Hummingbird 1179 8 0.699 0.585 0.686 0.564
Ruby_throated_Hummingbird 1179 9 0.765 0.726 0.907 0.773
Rufous_Hummingbird 1179 3 0.473 1 0.83 0.72
Green_Violetear 1179 4 0.631 1 0.895 0.751
Long_tailed_Jaeger 1179 8 0.833 0.624 0.742 0.597
Pomarine_Jaeger 1179 7 0.772 0.571 0.722 0.632
Blue_Jay 1179 4 1 0.681 0.828 0.788
Florida_Jay 1179 3 0.514 1 0.863 0.794
Green_Jay 1179 2 0.807 1 0.995 0.796
Dark_eyed_Junco 1179 2 0.572 1 0.995 0.995
Tropical_Kingbird 1179 6 0.796 1 0.995 0.854
Gray_Kingbird 1179 9 0.802 0.899 0.963 0.838
Belted_Kingfisher 1179 2 0.469 1 0.995 0.945
Green_Kingfisher 1179 5 0.725 0.8 0.837 0.76
Pied_Kingfisher 1179 10 0.97 1 0.995 0.9
Ringed_Kingfisher 1179 3 0.727 1 0.746 0.716
White_breasted_Kingfisher 1179 2 0.783 1 0.995 0.895
Red_legged_Kittiwake 1179 5 0.785 1 0.895 0.711
Horned_Lark 1179 3 1 0.91 0.995 0.847
Pacific_Loon 1179 5 0.711 1 0.995 0.839
Mallard 1179 7 0.936 1 0.995 0.903
Western_Meadowlark 1179 7 1 0.951 0.995 0.843
Hooded_Merganser 1179 5 1 0.962 0.995 0.734
Red_breasted_Merganser 1179 6 0.803 1 0.995 0.832
Mockingbird 1179 4 1 0.903 0.995 0.933
Nighthawk 1179 10 0.945 1 0.995 0.855
Clark_Nutcracker 1179 3 1 0.885 0.995 0.907
White_breasted_Nuthatch 1179 6 0.91 1 0.995 0.795
Baltimore_Oriole 1179 4 0.733 0.75 0.777 0.561
Hooded_Oriole 1179 5 0.96 0.8 0.895 0.783
Orchard_Oriole 1179 6 0.937 1 0.995 0.762
Scott_Oriole 1179 7 0.945 0.857 0.88 0.721
Ovenbird 1179 6 0.937 1 0.995 0.894
Brown_Pelican 1179 8 0.736 1 0.995 0.848
White_Pelican 1179 2 1 0 0.828 0.547
Western_Wood_Pewee 1179 5 0.389 0.6 0.513 0.378
Sayornis 1179 4 0.283 0.75 0.635 0.613
American_Pipit 1179 7 0.838 1 0.995 0.843
Whip_poor_Will 1179 4 0.587 0.5 0.677 0.457
Horned_Puffin 1179 6 0.886 1 0.995 0.822
Common_Raven 1179 10 0.793 0.5 0.666 0.519
White_necked_Raven 1179 8 0.637 0.662 0.862 0.669
American_Redstart 1179 5 0.652 0.4 0.548 0.465
Geococcyx 1179 4 0.879 1 0.995 0.97
Loggerhead_Shrike 1179 7 0.771 0.964 0.964 0.887
Great_Grey_Shrike 1179 4 0.418 0.5 0.669 0.602
Baird_Sparrow 1179 3 0.561 0.667 0.679 0.563
Black_throated_Sparrow 1179 2 0.738 1 0.995 0.821
Brewer_Sparrow 1179 5 0.527 0.6 0.581 0.456
Chipping_Sparrow 1179 4 0.407 0.5 0.471 0.443
Clay_colored_Sparrow 1179 5 0.651 0.754 0.773 0.662
House_Sparrow 1179 9 0.699 1 0.984 0.885
Field_Sparrow 1179 7 1 0.705 0.933 0.761
Fox_Sparrow 1179 11 0.928 0.818 0.968 0.852
Grasshopper_Sparrow 1179 6 0.719 0.438 0.474 0.42
Harris_Sparrow 1179 5 0.88 1 0.995 0.86
Henslow_Sparrow 1179 4 0.29 0.25 0.465 0.391
Le_Conte_Sparrow 1179 4 0.485 0.75 0.765 0.598
Lincoln_Sparrow 1179 8 0.824 0.588 0.802 0.722
Nelson_Sharp_tailed_Sparrow 1179 4 0.666 1 0.912 0.635
Savannah_Sparrow 1179 6 0.774 0.579 0.83 0.732
Seaside_Sparrow 1179 7 0.828 1 0.924 0.673
Song_Sparrow 1179 10 0.505 1 0.809 0.704
Tree_Sparrow 1179 6 0.735 0.667 0.695 0.585
Vesper_Sparrow 1179 11 1 0.592 0.848 0.709
White_crowned_Sparrow 1179 6 0.56 1 0.995 0.879
White_throated_Sparrow 1179 9 0.888 0.88 0.867 0.731
Cape_Glossy_Starling 1179 6 0.566 1 0.995 0.995
Bank_Swallow 1179 4 0.471 0.5 0.586 0.472
Barn_Swallow 1179 4 1 0.496 0.52 0.386
Cliff_Swallow 1179 11 0.695 0.829 0.782 0.599
Tree_Swallow 1179 5 0.85 1 0.995 0.896
Scarlet_Tanager 1179 10 0.938 1 0.995 0.892
Summer_Tanager 1179 9 0.935 1 0.995 0.805
Artic_Tern 1179 4 0.629 0.75 0.808 0.602
Black_Tern 1179 6 0.879 0.667 0.739 0.662
Caspian_Tern 1179 3 0 0 0.0979 0.0689
Common_Tern 1179 6 0.504 0.171 0.609 0.495
Elegant_Tern 1179 6 0.576 0.5 0.442 0.353
Forsters_Tern 1179 2 0.262 0.541 0.398 0.329
Least_Tern 1179 3 0.721 0.667 0.83 0.781
Green_tailed_Towhee 1179 10 0.964 1 0.995 0.79
Brown_Thrasher 1179 11 0.87 0.909 0.981 0.821
Sage_Thrasher 1179 2 0.454 1 0.995 0.895
Black_capped_Vireo 1179 7 0.791 0.714 0.795 0.694
Blue_headed_Vireo 1179 7 0.439 0.714 0.726 0.651
Philadelphia_Vireo 1179 6 0.645 0.833 0.942 0.843
Red_eyed_Vireo 1179 3 0.296 0.667 0.456 0.411
Warbling_Vireo 1179 12 0.901 0.764 0.935 0.815
White_eyed_Vireo 1179 8 0.747 1 0.995 0.86
Yellow_throated_Vireo 1179 6 0.781 0.833 0.807 0.599
Bay_breasted_Warbler 1179 5 0.781 1 0.895 0.657
Black_and_white_Warbler 1179 4 0.949 1 0.995 0.92
Black_throated_Blue_Warbler 1179 5 0.947 1 0.995 0.87
Blue_winged_Warbler 1179 6 0.825 0.791 0.927 0.608
Canada_Warbler 1179 7 1 0.93 0.995 0.774
Cape_May_Warbler 1179 4 0.838 0.75 0.845 0.665
Cerulean_Warbler 1179 8 0.769 0.835 0.933 0.791
Chestnut_sided_Warbler 1179 5 0.661 1 0.995 0.831
Golden_winged_Warbler 1179 11 0.943 0.909 0.913 0.798
Hooded_Warbler 1179 6 0.881 0.833 0.899 0.744
Kentucky_Warbler 1179 2 0.548 1 0.828 0.547
Magnolia_Warbler 1179 6 0.912 1 0.995 0.898
Mourning_Warbler 1179 9 1 0.962 0.995 0.83
Myrtle_Warbler 1179 6 0.77 0.833 0.838 0.768
Nashville_Warbler 1179 7 0.578 0.857 0.672 0.567
Orange_crowned_Warbler 1179 3 0.515 1 0.995 0.907
Palm_Warbler 1179 6 0.779 0.833 0.909 0.817
Pine_Warbler 1179 4 0.726 0.75 0.702 0.612
Prairie_Warbler 1179 4 0.835 1 0.995 0.933
Prothonotary_Warbler 1179 8 0.828 1 0.982 0.781
Swainson_Warbler 1179 5 0.832 0.991 0.895 0.666
Tennessee_Warbler 1179 3 0.526 0.667 0.595 0.483
Wilson_Warbler 1179 4 1 0.946 0.995 0.809
Worm_eating_Warbler 1179 6 0.99 1 0.995 0.76
Yellow_Warbler 1179 4 0.893 1 0.995 0.828
Northern_Waterthrush 1179 5 0.82 0.917 0.862 0.789
Louisiana_Waterthrush 1179 5 0.701 0.6 0.8 0.676
Bohemian_Waxwing 1179 7 0.821 1 0.995 0.727
Cedar_Waxwing 1179 4 0.862 0.75 0.945 0.822
American_Three_toed_Woodpecker 1179 5 0.925 1 0.995 0.832
Pileated_Woodpecker 1179 4 0.862 1 0.995 0.803
Red_bellied_Woodpecker 1179 6 1 0.952 0.995 0.797
Red_cockaded_Woodpecker 1179 6 0.929 1 0.995 0.531
Red_headed_Woodpecker 1179 6 0.914 0.833 0.856 0.729
Downy_Woodpecker 1179 6 0.915 1 0.995 0.764
Bewick_Wren 1179 10 0.712 0.991 0.956 0.802
Cactus_Wren 1179 3 0.662 1 0.995 0.852
Carolina_Wren 1179 7 0.582 0.857 0.86 0.558
House_Wren 1179 7 0.543 0.571 0.625 0.587
Marsh_Wren 1179 8 0.805 0.625 0.648 0.542
Rock_Wren 1179 4 0.877 0.75 0.75 0.609
Winter_Wren 1179 11 0.728 0.727 0.749 0.598
Common_Yellowthroat 1179 4 0.859 1 0.995 0.796