논문_분석

CPMF_실습

대장장ㅇi 2025. 2. 6. 15:50

https://github.com/caoyunkang/CPMF

 

GitHub - caoyunkang/CPMF: [PR] Complementary Pseudo Multimodal Feature for Point Cloud Anomaly Detection

[PR] Complementary Pseudo Multimodal Feature for Point Cloud Anomaly Detection - caoyunkang/CPMF

github.com

 

Git clone

git https://github.com/caoyunkang/CPMF
cd CPMF

 

 

가상환경 세팅 & 초기 라이브러리 설치

conda create -n 3d_cpmf python=3.7
conda activate 3d_cpmf
sh init.sh

 

제 환경은 CUDA 11.8 이라 python=3.8 로 진행했고, 이미 pytorch 가 설치돼있기 때문에 init.sh 에서 pytorch 설치 부분은 제거했다.

 

데이터셋 다운로드

mkdir datasets
cd datasets
wget https://www.mydrive.ch/shares/45920/dd1eb345346df066c63b5c95676b961b/download/428824485-1643285832/mvtec_3d_anomaly_detection.tar.xz
mkdir mvtec_3d
tar -xvf mvtec_3d_anomaly_detection.tar.xz -c ./mvtec_3d

 

 

데이터셋 전처리

1. MVtec_3d

preprocess_dataset.sh 에서 상대경로 -> 절대경로로 변경

또 export DISPLAY=:0.0 => export DISPLAY=:1.0 으로 변경

sh preprocess_dataset.sh

 

 

 

 

Training

feture_extractors/fetures.py 에서

def forward 에 x = x.to(self.device) 주석처리 부분 풀어주기. (안그러면 데이터는 cpu, 모델은 gpu에 올라가 있어 오류 발생)

 

utils/visz_utils.py

맨 위에 import scienceplots 추가

 

export data_dir="/home/kdh/Project/CPMF/datasets/mvtec_3d_multiview"
export exp_name="cpmf_resnet18_1"
python main.py --category  bagel --n-views 27 --no-fpfh False --data-path $data_dir --exp-name $exp_name --backbone resnet18 --draw True

이때 draw False 로 해도 됨. draw: AD feature 작업 시각화

 

 

 

 

 

결과

Class: bagel, Image ROCAUC: 0.9824, Pixel ROCAUC: 0.9860, AU-PRO: 0.9592

Class: cable_gland, Image ROCAUC: 0.8894, Pixel ROCAUC: 0.9865, AU-PRO: 0.9454

Class: carrot, Image ROCAUC: 0.9902, Pixel ROCAUC: 0.9973, AU-PRO: 0.9794

Class: cookie, Image ROCAUC: 0.9889, Pixel ROCAUC: 0.9267, AU-PRO: 0.8700

Class: dowel, Image ROCAUC: 0.9645, Pixel ROCAUC: 0.9684, AU-PRO: 0.8976

Class: foam, Image ROCAUC: 0.8069, Pixel ROCAUC: 0.9290, AU-PRO: 0.7273

Class: peach, Image ROCAUC: 0.9891, Pixel ROCAUC: 0.9974, AU-PRO: 0.9798

Class: potato, Image ROCAUC: 0.9615, Pixel ROCAUC: 0.9974, AU-PRO: 0.9808

Class: tire, Image ROCAUC: 0.9632, Pixel ROCAUC: 0.9960, AU-PRO: 0.9771

 

peach