عنوان: SPICE: شبه برچسب گذاری معنایی برای خوشه بندی تصویر
شباهت بین نمونهها و اختلاف بین خوشهها دو جنبه مهم خوشهبندی تصویر هستند. با این حال، روشهای خوشهبندی عمیق فعلی از تخمین نادرست شباهت ویژگی یا اختلاف معنایی رنج میبرند. در این مقاله، یک چارچوب خوشهبندی تصویری مبتنی بر شبه برچسبگذاری معنایی (SPICE) ارائه میکنیم که شبکه خوشهبندی را به یک مدل ویژگی برای اندازهگیری شباهت سطح نمونه و یک سر خوشهبندی برای شناسایی اختلاف سطح خوشه تقسیم میکند. ما دو الگوریتم شبه برچسبگذاری آگاه به معنایی، نمونه اولیه شبه برچسبگذاری و شبه برچسبگذاری قابل اعتماد را طراحی میکنیم که نظارت دقیق و قابل اعتماد خود را بر خوشهبندی امکانپذیر میسازد. بدون استفاده از برچسب حقیقت پایه، شبکه خوشهبندی را در سه مرحله بهینه میکنیم:
1) آموزش مدل ویژگی از طریق یادگیری متضاد برای اندازهگیری شباهت نمونه،
2) آموزش سر خوشهبندی با الگوریتم شبه برچسبگذاری نمونه اولیه برای شناسایی معناشناسی خوشه،
3) آموزش مشترک مدل ویژگی و سر خوشهبندی را با الگوریتم شبه برچسبگذاری قابل اعتماد برای بهبود عملکرد خوشهبندی.
نتایج تجربی گسترده نشان میدهد که SPICE نسبت به روشهای موجود به پیشرفتهای قابلتوجهی (~ 10%) دست مییابد و نتایج جدید خوشهبندی پیشرفتهای را بر روی شش مجموعه داده معیار تصویر بر اساس سه معیار رایج ایجاد میکند. نکته مهم، SPICE به طور قابل توجهی شکاف بین طبقه بندی بدون نظارت و طبقه بندی کاملاً نظارت شده را کاهش می دهد. به عنوان مثال، فقط 2٪ (91.8٪ در مقابل 93.8٪) تفاوت دقت در CIFAR-10 وجود دارد.
نصب و راه اندازی
لطفاً برای همه بسته های مورد نیاز به requirement.txt مراجعه کنید. با فرض آناکوندا با پایتون 3.8، یک مثال گام به گام برای نصب این پروژه به شرح زیر است:
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch conda install -c conda-forge addict tensorboard python-lmdb conda install matplotlib scipy scikit-learn pillow conda install -c anaconda seaborn
سپس، این مخزن را شبیه سازی کنید
git clone https://github.com/niuchuangnn/SPICE.git
cd SPICE
داده ها
مجموعه داده های مورد علاقه را همانطور که در dataset.md توضیح داده شده است آماده کنید.
آموزش
آموزش SPICE
آموزش گام به گام مجموعه داده STL10 به شرح زیر است.
مدل یادگیری بازنمایی پیش آموزش، یعنی MoCo، با فرض موجود بودن 4 GPU.
python tools/train_moco.py
ویژگی های تعبیه را از قبل محاسبه کنید
python tools/pre_compute_embedding.py
آموزش SPICE-Self
python tools/train_self_v2.py
تصاویر قابل اعتماد را تعیین کنید
python tools/local_consistency.py
آموزش SPICE-Semi با فرض موجود بودن 4 پردازنده گرافیکی.
python ./tools/train_semi.py --unlabeled 1 --num_classes 10 --num_workers 4 --dist-url tcp://localhost:10001 --label_file ./results/stl10/eval/labels_reliable.npy --save_dir ./results/stl10/spice_semi --save_name semi --batch_size 64 --net WideResNet_stl10 --data_dir ./datasets/stl10 --dataset stl10
توجه داشته باشید که –label_file و –save_name باید با توجه به فایل برچسب قابل اعتماد تولید شده شما تغییر کنند.
آموزش گام به گام CIFAR-10 datast به شرح زیر است.
مدل یادگیری بازنمایی پیش آموزش، یعنی MoCo، با فرض موجود بودن 4 GPU.
python tools/train_moco.py --img_size 32 --moco-k 12800 --arch resnet18_cifar --save_folder ./results/cifar10/moco_res18_cls --resume ./results/cifar10/moco_res18_cls/checkpoint_last.pth.tar --data_type cifar10 --data ./datasets/cifar10 --all 0
ویژگی های تعبیه را پیش محاسبه کنید
python tools/pre_compute_embedding.py --config-file configs/cifar10/embedding.py
آموزش SPICE-Self
python tools/train_self_v2.py --config-file ./configs/cifar10/spice_self.py --all 0
تصاویر قابل اعتماد را تعیین کنید
python tools/local_consistency.py --config-file ./configs/cifar10/eval.py --embedding ./results/cifar10/embedding/feas_moco_512_l2.npy
آموزش SPICE-Semi با فرض موجود بودن 4 پردازنده گرافیکی.
python ./tools/train_semi.py --all 0 --num_classes 10 --num_workers 16 --dist-url tcp://localhost:10001 --label_file ./results/cifar10/eval/labels_reliable.npy --save_dir ./results/cifar10/spice_semi --save_name semi --batch_size 64 --net resnet18_cifar --data_dir ./datasets/cifar10 --dataset cifar10
ارزیابی
ارزیابی SPICE-Self:
python tools/eval_self.py --config-file configs/stl10/eval.py --weight PATH/TO/MODEL --all 1
ارزیابی SPICE-Semi:
python tools/eval_semi.py --load_path PATH/TO/MODEL --net WideResNet --widen_factor 2 --data_dir PATH/TO/DATA --dataset cifar10 --all 1
یک مثال در STL10:
SPICE-Self:
python tools/eval_self.py --config-file configs/stl10/eval.py --weight model_zoo/self_model_stl10.pth.tar --all 1
SPICE
python tools/eval_semi.py --load_path ./model_zoo/model_stl10.pth --net WideResNet_stl10 --widen_factor 2 --data_dir ./datasets/stl10 --dataset stl10 --all 1 --num_classes 10
SPICE-Self*:
python tools/eval_self.py --config-file configs/stl10/eval.py --weight model_zoo/self_model_stl10_cls.pth.tar --all 0
SPICE*
python tools/eval_semi.py --load_path ./model_zoo/model_stl10.pth --net WideResNet_stl10 --widen_factor 2 --data_dir ./datasets/stl10 --dataset stl10 --all 0 --num_classes 10
تجسم معناشناسی خوشه ای آموخته شده
python tools/eval_self.py --config-file configs/stl10/eval.py --weight model_zoo/self_model_stl10.pth.tar --all 1 --proto 1 --embedding ./results/stl10/embedding/feas_moco_512_l2.npy
سپس، نتایج تجسم در ./results/stl10/eval/proto/ ذخیره میشود، که هم نمونههای اولیه و هم نتایج محلیسازی مربوطه را شامل میشود.
مدل
تمام مدل های آموزش دیده در مقاله به شرح زیر موجود است.
Dataset | Version | ACC | NMI | ARI | Model link |
---|---|---|---|---|---|
STL10 | SPICE-Self | 91.0 | 82.0 | 81.5 | Model |
SPICE | 93.8 | 87.2 | 87.0 | Model | |
SPICE-Self* | 89.9 | 80.9 | 79.7 | Model | |
SPICE* | 92.9 | 86.0 | 85.3 | Model | |
CIFAR10 | SPICE-Self | 83.8 | 73.4 | 70.5 | Model |
SPICE | 92.6 | 86.5 | 85.2 | Model | |
SPICE-Self* | 84.9 | 74.5 | 71.8 | Model | |
SPICE* | 91.7 | 85.8 | 83.6 | Model | |
CIFAR100 | SPICE-Self | 46.8 | 44.8 | 29.4 | Model |
SPICE | 53.8 | 56.7 | 38.7 | Model | |
SPICE-Self* | 48.0 | 45.0 | 30.8 | Model | |
SPICE* | 58.4 | 58.3 | 42.2 | Model | |
ImageNet-10 (ImageNet Pretrained) | SPICE-Self | 96.9 | 92.7 | 93.3 | Model |
SPICE | 96.7 | 91.7 | 92.9 | Model | |
ImageNet-Dog (ImageNet Pretrained) | SPICE-Self | 54.6 | 49.8 | 36.2 | Model |
SPICE | 55.4 | 50.4 | 34.3 | Model | |
ImageNet-10 | SPICE-Self | 92.1 | 82.8 | 83.6 | Model |
SPICE | 95.9 | 90.2 | 91.2 | Model | |
ImageNet-Dog | SPICE-Self | 64.6 | 57.2 | 47.9 | Model |
SPICE | 67.5 | 62.7 | 52.6 | Model | |
TinyImageNet | SPICE-Self | 30.5 | 44.9 | 16.3 | Model |
SPICE-Self* | 29.2 | 52.5 | 14.5 | Model |
مدلهای بیشتر مبتنی بر ResNet18 برای SPICE-Self* و SPICE-Semi*.
Dataset | Version | ACC | NMI | ARI | Model link |
---|---|---|---|---|---|
STL10 | SPICE-Self* | 86.2 | 75.6 | 73.2 | Model |
SPICE* | 92.0 | 85.2 | 83.6 | Model | |
CIFAR10 | SPICE-Self* | 84.5 | 73.9 | 70.9 | Model |
SPICE* | 91.8 | 85.0 | 83.6 | Model | |
CIFAR100 | SPICE-Self* | 46.8 | 45.7 | 32.1 | Model |
SPICE* | 53.5 | 56.5 | 40.4 | Model |
پروژه شامل مقاله (2021) و شبیه سازی Pytorch است.
پروژه مشابه دارید؟
برای ثبت سفارش در سیمیا می توانید از طریق اپلیکیشن سیمیا، یا فرم ثبت سفارش در سایت اقدام کرده و یا از طریق ایمیل، واتساپ، تلگرام و اینستاگرام اقدام نمایید.
اپلیکیشن سیمیا را از بازار و مایکت دانلود کنید.
سریع ترین راه پاسخگویی سیمیا، واتساپ می باشد. لینک واتساپ، اینستاگرام و تلگرام در پایین سایت وجود دارد.
نشانی ایمیل سیمیا simiya_ht@yahoo.com می باشد.
از برقراری تماس برای هماهنگی پروژه خودداری کنید، حجم بالای سفارشات به ما اجازه نمی دهد تا از طریق تلفن پاسخگوی شما عزیزان باشیم، حتما درخواست خود را به صورت مکتوب و از طریق یکی از راه های ذکر شده فوق ارسال نمایید، درخواست خود را به طور کامل و با تمام فایل ها و توضیحات لازم ارسال نمایید تا مدت زمان بررسی آن به حداقل برسد. پس از تعیین کارشناس، در اسرع وقت به شما پاسخ می دهیم.
نقد و بررسیها
هیچ دیدگاهی برای این محصول نوشته نشده است.