Skip to content

Latest commit

ย 

History

284 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

OpenPCQA

An Open-Source Algorithm Library of Point Cloud Quality Assessment Based on Deep Learning

License PyTorch TensorFlow MindSpore PRs Welcome Issues

A Multi-Platform Library and Benchmark for Deep-learning-based Point Cloud Quality Assessment.


๐Ÿ“– Overview

OpenPCQA is a unified, open-source library that brings together representative deep-learning methods for Point Cloud Quality Assessment (PCQA) โ€” the task of predicting the perceived visual quality of a 3D point cloud after it has been compressed, transmitted, downsampled, or otherwise degraded.

The library provides reproducible implementations of five widely cited PCQA models in PyTorch, TensorFlow, and MindSpore, together with a common evaluation protocol on different datasets.


๐ŸŽฏ Why OpenPCQA?

The PCQA research community faces several long-standing pain points:

Problem OpenPCQA's Solution
๐Ÿ”€ Methods are scattered across repositories with inconsistent conventions โœ… A single unified library with consistent APIs and structure
๐Ÿ Most code exists only in PyTorch โœ… Triple-framework parity (PyTorch ยท TensorFlow ยท MindSpore)
๐Ÿ“Š Reported numbers are hard to reproduce due to undocumented splits & environment โœ… Fixed configs, and data splits for every experiment
โฑ๏ธ No fair speed/memory comparison across frameworks โœ… Standardized inference-time & GPU-memory profiling
๐Ÿ“š Newcomers struggle to find a baseline to start from โœ… A curated zoo of representative methods with one-command training

โœจ Project Highlights

  • ๐Ÿงฉ Representative PCQA algorithms spanning projection-based and model-based paradigms
  • ๐Ÿ” Multi-Platform support โ€” every algorithm has PyTorch, TensorFlow, and MindSpore implementations
  • ๐Ÿ“ˆ Cross-framework benchmark โ€” on SJTU-PCQA, WPC, and LS-PCQA
  • โšก Profiling included โ€” both inference time and GPU memory footprint
  • ๐Ÿงช Reproducible by design โ€” configs, pretrained weights and environment specs shipped together
  • ๐ŸŽ“ Educational โ€” each subproject contains the original paper and architecture diagrams
  • ๐Ÿค Community-driven โ€” contributions of new methods, frameworks, and datasets are welcomed

๐Ÿ“‘ Table of Contents


๐Ÿงญ Background: What is PCQA?

Point Cloud Quality Assessment (PCQA) aims to algorithmically predict the perceptual quality of a 3D point cloud. As immersive media (VR/AR, autonomous driving, telepresence, digital twins) increasingly relies on point-cloud representations, the captured data inevitably goes through lossy pipelines:

  • ๐Ÿ—œ๏ธ Compression with codecs like G-PCC, V-PCC, AVS-PCC
  • ๐Ÿ“‰ Down-sampling to fit bandwidth or storage budgets
  • ๐Ÿ“ก Network transmission with packet loss
  • ๐ŸŽจ Color quantization for memory savings
  • ๐Ÿ“ Geometry noise introduced by sensors or reconstruction algorithms

Each of these introduces visual artifacts. Knowing how much the quality has degraded โ€” without showing every result to human raters โ€” is essential to optimize codecs, allocate bitrate, and guarantee Quality of Experience (QoE).

Subjective vs. Objective PCQA

Approach How it works Cost Use case
Subjective Human raters score each point cloud (MOS) ๐Ÿ’ธ Expensive, slow Ground truth for building datasets
Objective An algorithm predicts the MOS โšก Fast, scalable Real-time pipelines, codec tuning

Categories of Objective PCQA

Objective PCQA methods are classified by how much information about the original (pristine) point cloud they need:

  • ๐ŸŸข FR (Full-Reference) โ€” needs the original; highest accuracy, least practical
  • ๐ŸŸก RR (Reduced-Reference) โ€” needs partial reference info (a few features)
  • ๐Ÿ”ด NR (No-Reference) โ€” needs only the distorted cloud; most practical, hardest to solve

Two Paradigms in Learning-Based PCQA

  • ๐Ÿ–ผ๏ธ Projection-based โ€” render the point cloud into 2D images (or videos) and reuse mature 2D CNN / VQA techniques โ†’ Used by: VQA-PC, IT-PCQA, PQA-Net

  • ๐ŸงŠ Model-based (point-based) โ€” feed the raw 3D point cloud directly into a neural network (PointNet-style, sparse conv, etc.) โ†’ Used by: PRL-GQA, ResSCNN


๐Ÿ“ฆ Datasets at a Glance

Dataset Sources Distortion types # Distorted samples Notes
SJTU-PCQA 10 7 (octree compression, color noise, geometry Gaussian noise, downscaling, three superimposed noises) 420 Classic benchmark from SJTU
WPC 20 5 (Gaussian noise, downsampling, G-PCC Octree/Trisoup, V-PCC) 740 Waterloo Point Cloud Dataset, colored
LS-PCQA 104 31 (12 noise types + downsampling, shifting, G-PCC, V-PCC, AVS-PCC, โ€ฆ) 22,568 Large-scale, most challenging
PRLD 150 Geometry-only distortions (Gaussian noise, uniform noise, impulse noise, exponential noise, octree-based compression, random dowsampling, grid dowsampling) 5250 Pairwise ranking dataset for PRL-GQA
TID2013 25 natural images 24 distortion types ร— 5 levels 3,000 Used as the source domain by IT-PCQA

๐Ÿ’ก Tip: If you are new to PCQA, start with SJTU-PCQA โ€” it's small, well-curated, and most algorithms have published numbers on it.


๐Ÿง  Algorithm Zoo

# Method Year Type Input Datasets
1.1 VQA-PC 2023 (TMM) Projection (video) Captured videos SJTU, WPC, LS-PCQA
1.2 PRL-GQA 2025 (Computers & Graphics) Model-based (rank) Raw point cloud PRLD
1.3 IT-PCQA 2022 (CVPR) Projection (DA) Projected images SJTU, TID2013
1.4 PQA-Net 2021 (TCSVT) Projection (multi-view) Projected images WPC
1.5 ResSCNN 2023 (TOMM) Model-based (sparse) Raw point cloud SJTU, WPC, LS-PCQA

1.1 VQA-PC

๐Ÿ“… 2023 TMM ยท ๐Ÿท๏ธ Projection-based ยท ๐ŸŽฏ No-reference ยท ๐ŸŽฅ Video-based ๐Ÿ”— Subproject: https://github.com/Terriao/OpenPCQA/tree/main/VQA_PC

VQA-PC architecture

Figure 1 ยท Network structure of VQA-PC

๐Ÿ’ก Background & Motivation

Traditional projection-based PCQA renders a fixed set of static views, which loses the dynamic perceptual experience a viewer has when circling a 3D object. VQA-PC asks: what if we treated the point cloud the way humans actually inspect it โ€” as a video shot by a moving camera?

๐Ÿ—๏ธ Architecture Highlights

  • Capture stage: simulates a moving camera around the point cloud, generating a short video clip
  • Spatial stream: a trainable 2D-CNN extracts per-frame quality-aware features
  • Temporal stream: a pretrained 3D-CNN captures motion / inter-frame consistency cues
  • Fusion: spatio-temporal features are regressed against the MOS

โœ… Why it matters

VQA-PC bridges the rich literature of Video Quality Assessment (VQA) with PCQA, achieving strong performance on multiple datasets without needing a 3D backbone.

Keywords: point cloud quality assessment ยท moving camera videos ยท no-reference ยท VQA

๐Ÿ“‚ File structure

root/
โ”œโ”€โ”€ mindspore/         # MindSpore code + pretrained models
โ”œโ”€โ”€ tensorflow/        # TensorFlow code + pretrained models
โ”œโ”€โ”€ pytorch/           # see https://github.com/zzc-1998/VQA_PC
โ””โ”€โ”€ paper.pdf          # original paper

โš™๏ธ Environment

MindSpore

  • Ubuntu 16.04 ยท CUDA 11.1.105 ยท Python 3.7.11
  • mindspore==2.0.0.dev20230109 (install guide)

TensorFlow

  • Ubuntu 16.04 ยท CUDA 10.1.243 ยท Python 3.7.6
  • tensorflow-gpu==2.3.1

Datasets

โ–ถ๏ธ Run

# MindSpore
cd mindspore

# TensorFlow
cd TensorFlow
python ./train/train_SJTU.py    # train
python ./test/test.py           # test

๐Ÿ“Š Benchmark โ€” VQA-PC

Table 1 ยท SJTU dataset

Source SRCC PLCC KRCC RMSE
Paper 0.8509 0.8635 0.6585 1.1334
PyTorch 0.9125 0.9341 0.7634 0.8364
MindSpore 0.9136 0.9346 0.7619 0.8350
TensorFlow 0.8774 0.9002 0.7048 1.0253

Table 2 ยท WPC dataset

Source SRCC PLCC KRCC RMSE
Paper 0.7968 0.7976 0.6115 13.6219
PyTorch 0.8173 0.8226 0.6310 12.9618
MindSpore 0.8069 0.8085 0.6188 13.4193
TensorFlow 0.8296 0.8313 0.6457 12.6353

Table 3 ยท Test time & GPU memory (Tesla T4)

Framework Test time (s) GPU memory (MB)
PyTorch 29.937 1358
MindSpore 26.405 3110
TensorFlow 44.887 4732

๐Ÿ”Ž Analysis: The three frameworks yield comparable accuracy with each leading on a different dataset (MindSpore on SJTU, TensorFlow on WPC). MindSpore offers the fastest inference, while PyTorch keeps GPU memory the lowest โ€” a useful trade-off to remember when choosing a deployment target.

๐Ÿ“š Reference

@article{zhang2023evaluating,
  title={Evaluating point cloud from moving camera videos: A no-reference metric},
  author={Zhang, Zicheng and Sun, Wei and Zhu, Yucheng and Min, Xiongkuo and Wu, Wei and Chen, Ying and Zhai, Guangtao},
  journal={IEEE Transactions on Multimedia},
  volume={27},
  pages={927--939},
  year={2023},
  publisher={IEEE}
}

Maintainer: Ye Hua ยท yeh@pcl.ac.cn


1.2 PRL-GQA

๐Ÿ“… 2025 Computers & Graphics ยท ๐Ÿท๏ธ Model-based ยท ๐ŸŽฏ No-reference ยท ๐Ÿ“ Geometry-only ยท ๐Ÿชœ Pairwise ranking ๐Ÿ”— Subproject: https://github.com/Terriao/OpenPCQA/tree/main/PRL-GQA

PRL-GQA architecture

Figure 2 ยท Network structure of PRL-GQA

๐Ÿ’ก Background & Motivation

Absolute MOS labels are expensive to collect, especially for geometry-only point clouds (no color). PRL-GQA reframes the problem: instead of asking "what is the quality?", it asks "which of these two clouds looks better?" โ€” a much easier label to obtain and a perfect fit for pairwise learning-to-rank.

๐Ÿ—๏ธ Architecture Highlights

  • Input: a pair of point clouds at different quality levels
  • Twin feature extractors with shared weights process each cloud
  • Ranking head outputs a relative score; trained with a cross-entropy ranking loss
  • Fine-tuning on a small MOS-labeled set converts relative scores into absolute quality predictions

โœ… Why it matters

PRL-GQA is the only geometry-only method in the library โ€” useful when color information is unavailable (e.g. LiDAR scans, geometry-only codecs). It also demonstrates that ranking-based supervision is a powerful workaround to MOS scarcity.

Keywords: point cloud ยท geometry quality assessment ยท rank learning ยท NR PCQA

๐Ÿ“‚ File structure

root/
โ”œโ”€โ”€ MindSpore/         # MindSpore code + pretrained models
โ”œโ”€โ”€ TensorFlow/        # TensorFlow code + pretrained models
โ”œโ”€โ”€ PyTorch/           # weights only; source: https://zhiyongsu.github.io/Project/PRLGQA.html
โ””โ”€โ”€ paper.pdf          # original paper

โš™๏ธ Environment

Same as VQA-PC (MindSpore 2.0.0.dev20230109 / TensorFlow-gpu 2.3.1).

Dataset: PRLD

โ–ถ๏ธ Run

# MindSpore
cd MindSpore

# TensorFlow
cd TensorFlow

# train & test
python ./train_test.py

๐Ÿ“Š Benchmark โ€” PRLD dataset

Source Accuracy Test time (s) GPU memory (MB)
Paper 0.9449 โ€” โ€”
PyTorch 0.9260 624.1 2198
MindSpore 0.9159 1308.1 4012
TensorFlow 0.8924 1962.8 2692

๐Ÿ”Ž Analysis: PyTorch dominates on every dimension here โ€” best accuracy, fastest inference, lowest GPU footprint. MindSpore uses ~2ร— more GPU memory than PyTorch, mainly because its current sparse-tensor backend is less mature for this kind of pairwise-input workload.

๐Ÿ“š Reference

@article{li2025no,
  title={No-reference geometry quality assessment for colorless point clouds via list-wise rank learning},
  author={Li, Zheng and Xie, Bingxu and Chu, Chao and Li, Weiqing and Su, Zhiyong},
  journal={Computers \& Graphics},
  volume={127},
  pages={104176},
  year={2025},
  publisher={Elsevier}
}

Maintainers: Ye Hua ยท yeh@pcl.ac.cn ยท Gao Wenxu ยท gaowx@stu.pku.edu.cn


1.3 IT-PCQA

๐Ÿ“… 2022 CVPR ยท ๐Ÿท๏ธ Projection-based ยท ๐ŸŽฏ No-reference ยท ๐Ÿ” Domain adaptation ๐Ÿ”— Subproject: https://github.com/Terriao/OpenPCQA/tree/main/IT-PCQA

IT-PCQA architecture

Figure 3 ยท Network structure of IT-PCQA

๐Ÿ’ก Background & Motivation

Natural-image quality datasets (TID2013, LIVE, KADID-10k, โ€ฆ) contain tens of thousands of labeled samples, whereas PCQA datasets typically have only a few hundred. IT-PCQA cleverly transfers knowledge from image quality assessment to point clouds, sidestepping the data scarcity problem.

๐Ÿ—๏ธ Architecture Highlights

  • Source domain: natural images with abundant MOS labels (e.g. TID2013)
  • Target domain: projected views of point clouds (no labels needed)
  • Adversarial domain adaptation aligns feature distributions between the two domains
  • A quality regressor trained on the source domain is then applicable to point clouds

โœ… Why it matters

IT-PCQA shows that unsupervised domain adaptation can lift PCQA out of the small-data regime โ€” a promising direction for industrial scenarios where labeled point clouds are scarce.

Keywords: point cloud quality assessment ยท no-reference ยท domain adaptation

๐Ÿ“‚ File structure

root/
โ”œโ”€โ”€ config/            # dataset configs adapted to our environment
โ”œโ”€โ”€ MindSpore/         # code + results + models
โ”œโ”€โ”€ TensorFlow/        # code + results + models
โ”œโ”€โ”€ PyTorch/           # results + models; source: https://github.com/Qi-Yangsjtu/IT-PCQA
โ””โ”€โ”€ paper.pdf          # 2022 No-Reference Point Cloud Quality Assessment via Domain Adaptation

โš™๏ธ Environment

Same as VQA-PC.

Datasets

โ–ถ๏ธ Run

# MindSpore
cd MindSpore

# TensorFlow
cd TensorFlow

# train
python train.py

๐Ÿ“Š Benchmark โ€” SJTU dataset

Source PLCC SROCC GPU memory (MB)
Paper 0.58 0.63 โ€”
PyTorch 0.686 0.6285 3750
MindSpore 0.7228 0.5198 5200
TensorFlow 0.7221 0.6348 4750

๐Ÿ”Ž Analysis: Looking at PLCC and SROCC jointly, the TensorFlow version performs best overall, while MindSpore tops on PLCC but loses on SROCC. PyTorch is the lightest in memory; MindSpore is the heaviest due to its current adversarial-training scheduler overhead.

๐Ÿ“š Reference

@inproceedings{yang2022no,
  title={No-reference point cloud quality assessment via domain adaptation},
  author={Yang, Qi and Liu, Yipeng and Chen, Siheng and Xu, Yiling and Sun, Jun},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={21147-21156},
  year={2022}
}

Maintainer: Ye Hua ยท yeh@pcl.ac.cn


1.4 PQA-Net

๐Ÿ“… 2021 TCSVT ยท ๐Ÿท๏ธ Projection-based ยท ๐ŸŽฏ No-reference ยท ๐Ÿ–ผ๏ธ Multi-view ๐Ÿ”— Subproject: https://github.com/Terriao/OpenPCQA/tree/main/PQA-Net

PQA-Net architecture

Figure 4 ยท Network structure of PQA-Net

๐Ÿ’ก Background & Motivation

PQA-Net is the first deep-learning NR-PCQA framework. Published in 2021, it set the baseline for projection-based methods and remains a common point of comparison for follow-up work.

๐Ÿ—๏ธ Architecture Highlights

  • Multi-view projection renders the point cloud from several angles into 2D images
  • A feature extraction and fusion module combines view-level features
  • A distortion-type classifier identifies what kind of distortion is present
  • A quality regressor estimates the final MOS, conditioned on the distortion type

โœ… Why it matters

PQA-Net introduces the idea that knowing the distortion type helps quality prediction โ€” a principle later adopted by many follow-up works. Despite its age, it remains a strong, well-engineered baseline.

Keywords: point cloud quality assessment ยท no-reference ยท multi-view projection ยท distortion-aware

โš™๏ธ Environment

  • MindSpore: Ubuntu 16.04 ยท Python 3.7 ยท mindspore==2.0 (install)
  • TensorFlow: Ubuntu 16.04 ยท Python 3.7 ยท tensorflow-gpu==2.x

Dataset: - WPC

โ–ถ๏ธ Run

# MindSpore
cd ./PQA-Net-mindspore
python MainDTLQ.py
python MainLQ.py

# TensorFlow
cd ./PQA-Net-tf
python distortion.py
python regression.py

๐Ÿ“Š Benchmark โ€” PQA-Net

PQA-Net performance

๐Ÿ”Ž Analysis: PQA-Net produces consistent results across the three frameworks. As one of the lightest projection-based methods, it is a great starting point for newcomers to PCQA who want a quick baseline.

๐Ÿ“š Reference

@article{liu2021pqa,
  title={PQA-Net: Deep no reference point cloud quality assessment via multi-view projection},
  author={Liu, Qi and Yuan, Hui and Su, Honglei and Liu, Hao and Wang, Yu and Yang, Huan and Hou, Junhui},
  journal={IEEE Transactions on Circuits and Systems for Video Technology},
  volume={31},
  number={12},
  pages={4645--4660},
  year={2021},
  publisher={IEEE}
}

Maintainers: Zhang Yongchi ยท zhangych02@pcl.ac.cn ยท Haohui Li


1.5 ResSCNN

๐Ÿ“… 2023 TOMM ยท ๐Ÿท๏ธ Model-based ยท ๐ŸŽฏ No-reference ยท โšก Sparse convolution ๐Ÿ”— Subproject: https://github.com/Terriao/OpenPCQA/tree/main/ResSCNN

ResSCNN architecture

Figure 5 ยท Network structure of ResSCNN

๐Ÿ’ก Background & Motivation

Projection methods inevitably lose 3D information when flattening a point cloud into images. ResSCNN takes the opposite route: it operates end-to-end on raw 3D points using sparse convolution, the same technique that powers state-of-the-art 3D immersive perception models.

๐Ÿ—๏ธ Architecture Highlights

  • Voxelization turns the cloud into a sparse 3D tensor
  • Residual sparse convolution blocks extract hierarchical 3D features efficiently
  • Global feature aggregation summarizes the whole cloud
  • Regression head produces the MOS

The accompanying paper also contributed the LS-PCQA dataset, the largest PCQA dataset to date.

โœ… Why it matters

ResSCNN demonstrates that directly modeling 3D geometry is competitive with projection methods, and provides the de-facto large-scale benchmark (LS-PCQA) for the community.

Keywords: point cloud quality assessment ยท no-reference ยท sparse convolution ยท end-to-end

โš™๏ธ Environment

  • MindSpore: Ubuntu 16.04 ยท Python 3.7 ยท mindspore==2.0 (install)
  • TensorFlow: Ubuntu 16.04 ยท Python 3.7 ยท tensorflow-gpu==2.x

Dataset:

โ–ถ๏ธ Run

# MindSpore
cd ./ResSCNN-mindspore
python main.py

# TensorFlow
cd ./ResSCNN-tf
python main.py

๐Ÿ“Š Benchmark โ€” ResSCNN

ResSCNN performance

๐Ÿ”Ž Analysis: ResSCNN consumes more GPU memory than projection-based peers because it ingests the entire point cloud at once. In exchange it preserves full 3D structure, which makes it particularly strong on geometry-dominant distortions in LS-PCQA.

๐Ÿ“š Reference

@article{liu2023point,
  title={Point cloud quality assessment: Dataset construction and learning-based no-reference metric},
  author={Liu, Yipeng and Yang, Qi and Xu, Yiling and Yang, Le},
  journal={ACM Transactions on Multimedia Computing, Communications and Applications},
  volume={19},
  number={2s},
  pages={1--26},
  year={2023},
  publisher={Association for Computing Machinery}
}

Maintainers: Zhang Yongchi ยท zhangych02@pcl.ac.cn ยท Haohui Li


๐Ÿ“Š Cross-Framework Benchmark Summary

The table below distills the per-algorithm benchmarks into a single overview. The best framework for each (algorithm, metric) pair is highlighted.

Algorithm Best framework (accuracy) Fastest framework Lowest GPU memory
VQA-PC MindSpore MindSpore PyTorch
PRL-GQA PyTorch PyTorch PyTorch
IT-PCQA PyTorch / MindSpore TensorFlow PyTorch
PQA-Net Consistent across frameworks TensorFlow TensorFlow
ResSCNN TensorFlow PyTorch PyTorch

๐Ÿงฐ Framework selection cheat sheet

If your priority isโ€ฆ Pick
โšก Lowest inference latency MindSpore (most algorithms)
๐Ÿ’พ Lowest GPU memory PyTorch
๐Ÿ‡จ๐Ÿ‡ณ Domestic-stack compliance (China) MindSpore
๐ŸŒ Largest ecosystem & community PyTorch
๐Ÿญ Production deployment via TF Serving TensorFlow

โš ๏ธ Caveat: All numbers were measured on a single GPU (Tesla T4) with fixed environment. Absolute values will differ on your hardware, but the relative ordering tends to be stable.


๐Ÿš€ Quick Start

Clone the repository

git clone https://github.com/Terriao/OpenPCQA.git
cd OpenPCQA

Choose your algorithm

Not sure where to start? Use this decision guide:

Your situation Recommended algorithm
๐Ÿ†• First time touching PCQA, want the simplest baseline PQA-Net
๐ŸŽฌ You already know VQA / video models VQA-PC
๐Ÿท๏ธ You have very few MOS labels IT-PCQA (domain adaptation)
๐Ÿ“ Your point clouds have no color (geometry only) PRL-GQA
๐Ÿš€ You want end-to-end 3D modeling, accept higher GPU cost ResSCNN

Install the framework you need

# PyTorch (recommended for most users)
pip install torch torchvision

# TensorFlow
pip install tensorflow-gpu==2.3.1

# MindSpore โ€” see official guide
# https://www.mindspore.cn/install

Download the datasets

See each subproject's โš™๏ธ Environment section for the corresponding dataset links.

๐Ÿชช Most PCQA datasets require an academic-use registration before downloading.

Run a baseline

cd VQA_PC/pytorch
python ./train/train_SJTU.py
python ./test/test.py

๐Ÿšง Roadmap

We plan to grow OpenPCQA along several axes. Contributions are welcome on any of these!

  • ๐Ÿงช Add controlled operator-by-operator ablation to explain cross-framework gaps
  • ๐Ÿณ Provide Docker images with pinned CUDA / framework versions
  • ๐Ÿ“ฆ Release a unified pip install openpcqa package with a common Python API
  • ๐Ÿ†• Add recent algorithms (e.g., MM-PCQA+, CoPA)
  • ๐ŸŒ Add more datasets (M-PCCD, custom in-the-wild data)
  • ๐Ÿงฎ Provide a CLI tool to score any .ply / .pcd file out-of-the-box
  • ๐ŸŒ Provide a multilingual README (Chinese / French/ Spanish / etc.)
  • ๐ŸŽ“ Add Jupyter notebook tutorials for each algorithm

โ“ FAQ

Q1. Which framework should I use?

If you have no constraints, start with PyTorch โ€” it has the largest community and best ecosystem. Choose MindSpore if you need domestic-stack compliance in China, or TensorFlow if you plan to deploy via TF Serving / TFLite.

Q2. Can I add my own algorithm?

Absolutely! Please open a Pull Request. See the Contributing section below.

Q3. The datasets are too big โ€” can I try on a small sample?

SJTU-PCQA is the smallest (420 distorted samples, ~3 GB after decompression). Start there.

Q4. Do I need a GPU?

Training requires a GPU (we used Tesla T4). Inference on a single small point cloud can run on CPU but will be slow (minutes per sample).


๐Ÿค Contributing

We warmly welcome contributions! There are many ways to help:

  • ๐Ÿ†• Add a new PCQA algorithm in any of the three frameworks
  • ๐ŸŒ Port an existing algorithm to a framework that doesn't yet have it
  • ๐Ÿ› Report bugs or unexpected behavior via Issues
  • ๐Ÿ“– Improve documentation โ€” typos, clarifications, translations
  • ๐Ÿงช Add new datasets or distortion types to the benchmark
  • ๐Ÿ’ก Suggest features in the Roadmap

Workflow

# 1. Fork the repository on GitHub
# 2. Clone your fork
git clone https://github.com/<your-username>/OpenPCQA.git
cd OpenPCQA

# 3. Create a feature branch
git checkout -b feat/my-new-algorithm

# 4. Make your changes, add tests if applicable
# 5. Commit and push
git commit -m "Add MyAlgorithm in PyTorch"
git push origin feat/my-new-algorithm

# 6. Open a Pull Request on GitHub

For larger contributions (new algorithm or new framework port), please open an Issue first so we can discuss the design.


๐Ÿ‘ฅ Contributors

Coordinator: Asst. Prof. Wei Gao โ€” Shenzhen Graduate School, Peking University

Role Name Affiliation
Coordinator Asso. Prof. Wei Gao Peking University & Peng Cheng Laboratory
Contributor Wenxu Gao Peking University & Peng Cheng Laboratory
Contributor Haohui Li Peking University
Contributor Hua Ye Shenzhen Institute of Artificial Intelligence and Robotics for Society
Contributor Yongchi Zhang Peng Cheng Laboratory
Contributor Shunzhou Wang Henan University

Want to join this list? See Contributing.


๐Ÿ™ Acknowledgements

OpenPCQA stands on the shoulders of many excellent works and communities:

  • The original authors of VQA-PC, PRL-GQA, IT-PCQA, PQA-Net, and ResSCNN for open-sourcing their PyTorch reference implementations.
  • The teams maintaining the SJTU-PCQA, WPC, LS-PCQA, PRLD, and TID2013 datasets.
  • The PyTorch, TensorFlow, and MindSpore communities for their open frameworks.
  • Peng Cheng Laboratory and the OpenI platform for hosting the mirror repository and providing compute resources.

We thank the broader PCQA, IQA, and VQA communities for the rich body of prior work this project builds upon.


๐Ÿ“ Citation

If OpenPCQA helps your research, please consider citing:

@misc{openpcqa2024,
  title  = {OpenPCQA: A Multi-Platform Library and Benchmark for Point Cloud Quality Assessment Algorithms},
  author = {Gao, Wenxu and Li, Haohui and Ye, Hua and Zhang, Yongchi and Wang, Shunzhou and Gao, Wei},
  year   = {2026},
  howpublished = {\url{https://github.com/Terriao/OpenPCQA}}
}

Please also cite the original paper(s) of any specific algorithm you use โ€” see the Reference block within each algorithm section above.


๐Ÿ“„ License

This project is released for academic and research use. Each individual algorithm subdirectory may inherit additional license terms from its original authors โ€” please consult those before commercial use.

If you intend to use OpenPCQA in a commercial product, please contact the coordinator (see below).


๐Ÿ“ฌ Contact

If you have suggestions for improving this library, or would like to contribute your own PCQA implementation, please contact the coordinator:

Asso. Prof. Wei Gao โ€” ๐Ÿ“ง gaowei262@pku.edu.cn Peking University

For bug reports and feature requests, please use GitHub Issues.


โญ If you find OpenPCQA useful, please consider starring this repository! โญ

Made with โค๏ธ by the OpenPCQA team

About

An Open-Source Algorithm Library of Point Cloud Quality Assessment based on Deep Learning

Resources

Stars

192 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages