Eric  Bukenya

Eric Bukenya

1659045180

Learning-based Intrinsic Reflectional Symmetry Detection With C++

Learning-based Intrinsic Reflectional Symmetry Detection

Jittor and matlab code of Learning-based Intrinsic Reflectional Symmetry Detection.

Reflectional symmetry is a ubiquitous pattern in nature. Previous works usually solve this problem by voting or sampling, suffering from high computational cost and randomness. In this paper, we propose a learning-based approach to intrinsic reflectional symmetry detection. Instead of directly finding symmetric point pairs, we parametrize this self-isometry using a functional map matrix, which can be easily computed given the signs of Laplacian eigenfunctions under the symmetric mapping. Therefore, we manually label the eigenfunction signs for a variety of shapes and train a novel neural network to predict the sign of each eigenfunction under symmetry. Our network aims at learning the global property of functions and consequently converts the problem defined on the manifold to the functional domain. By disentangling the prediction of the matrix into separated bases, our method generalizes well to new shapes and is invariant under perturbation of eigenfunctions. Through extensive experiments, we demonstrate the robustness of our method in challenging cases, including different topology and incomplete shapes with holes. By avoiding random sampling, our learning-based algorithm is over 20 times faster than state-of-the-art methods, and meanwhile, is more robust, achieving higher correspondence accuracy in commonly used metrics.

Usage

Clone this repo.

git clone https://github.com/IGLICT/intrinsicSym-Jittor.git

Set up python3 virtual environment.

virtualenv --system-site-packages -p python3 ./env-intrinsym
source ./env-intrinsym/bin/activate
cd ./instrinsym
pip install -r requirements.txt

Install Jittor, you can refer to the official repo of Jittor.

Use the network to predict intrinsic symmetry.

or train this network

python train.py
cd ./network
python predict.py

Run the scripts (./intrinsym/scripts) for visualization, annotation, or preprocessing with matlab

Citation

main_visualize_ss   % visualize
main_selecct_eigen  % annotate
main_compute_evecs  % preprocess

If you find our work useful in your research, please consider citing:

@article{qiao2022,
  author={Qiao, Yi-Ling and Gao, Lin and Liu, Shu-Zhi and Liu, Ligang and Lai, Yu-Kun and Chen, Xilin},
  journal={IEEE Transactions on Visualization and Computer Graphics}, 
  title={Learning-based Intrinsic Reflectional Symmetry Detection}, 
  year={2022},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TVCG.2022.3172361}}

@article{hu2020jittor,
  title={Jittor: a novel deep learning framework with meta-operators and unified graph execution},
  author={Hu, Shi-Min and Liang, Dun and Yang, Guo-Ye and Yang, Guo-Wei and Zhou, Wen-Yang},
  journal={Science China Information Sciences},
  volume={63},
  number={222103},
  pages={1--21},
  year={2020}
}

Author: IGLICT
Source code: https://github.com/IGLICT/intrinsicSym-Jittor
License: MIT license

#cpluplus 

What is GEEK

Buddha Community

Learning-based Intrinsic Reflectional Symmetry Detection With C++

Swati patel

1625050825

What is Game Based Learning (GBL) - Benefit & Example of Game Base Learning

“Game Based Learning is the future of EdTech and eLearning. Explore its many benefits and examples to unlock its true potential and transform your learning best experience.”

https://www.communicationcrafts.com/benefit-example-of-game-base-learning-gbl/?cc=com&?utm_source=morioh&utm_medium=SBM&utm_campaign=Game-Based-Learning:-The-Future-of-EdTech-in-eLearning

##gbl ##game based learning ##learning ##edtech ##edtech learning ##learning experience

Julie  Donnelly

Julie Donnelly

1603692360

Should you learn C in 2020/2021?

When working with embedded systems that depend on speed or have a minimal amount of memory, C is a perfect language of choice. This is a short paper about why you should learn C and the benefits of doing so.

To add some credibility to this story, let me introduce myself. My name is Eric and I am a computer science student in Sweden. I have been programming for quite some time now and I feel like it is time to share some of my opinions about C, one of the best programming languages to learn.

Background story

C is an old language, to be formal, it appeared the first time in 1972. The language was developed to combines the capabilities of an assembly language with the feature of high-level language.

Despite its age, the language is still widely used today because of its power and ease of use.

When working with embedded systems that depend on speed or have a minimal amount of memory, C is a perfect language of choice.

Because of its age, many individuals claim that C is not necessary, that newer languages could replace it. However, every language has its purpose and that is what I would like to explain to you.

#c #why-learn-c #learning-to-code #programming-languages #coding #c++

Shaylee  Lemke

Shaylee Lemke

1589791833

Object Oriented Programming in C++ | C++ OOPs Concepts | Learn Object Oriented C++

C++ is general purpose, compiled, object-oriented programming language and its concepts served as the basis for several other languages such as Java, Python, Ruby, Perl etc.

The goal of this course is to provide you with a working knowledge of C++. We’ll start with the basics, including syntax, operators, loops, and functions. This Course will explain you how to use data structures and create your own Functions. This Course will show you the details of the powerful object and template systems so you can create useful classes and objects.

Youtube channel: ProgrammingKnowledge - https://www.youtube.com/watch?v=_SH1T3y_D7o

#c #c# #c++ #programming-c

Tamale  Moses

Tamale Moses

1624240146

How to Run C/C++ in Sublime Text?

C and C++ are the most powerful programming language in the world. Most of the super fast and complex libraries and algorithms are written in C or C++. Most powerful Kernel programs are also written in C. So, there is no way to skip it.

In programming competitions, most programmers prefer to write code in C or C++. Tourist is considered the worlds top programming contestant of all ages who write code in C++.

During programming competitions, programmers prefer to use a lightweight editor to focus on coding and algorithm designing. VimSublime Text, and Notepad++ are the most common editors for us. Apart from the competition, many software developers and professionals love to use Sublime Text just because of its flexibility.

I have discussed the steps we need to complete in this blog post before running a C/C++ code in Sublime Text. We will take the inputs from an input file and print outputs to an output file without using freopen file related functions in C/C++.

#cpp #c #c-programming #sublimetext #c++ #c/c++

Dicey Issues in C/C++

If you are familiar with C/C++then you must have come across some unusual things and if you haven’t, then you are about to. The below codes are checked twice before adding, so feel free to share this article with your friends. The following displays some of the issues:

  1. Using multiple variables in the print function
  2. Comparing Signed integer with unsigned integer
  3. Putting a semicolon at the end of the loop statement
  4. C preprocessor doesn’t need a semicolon
  5. Size of the string matters
  6. Macros and equations aren’t good friends
  7. Never compare Floating data type with double data type
  8. Arrays have a boundary
  9. Character constants are different from string literals
  10. Difference between single(=) and double(==) equal signs.

The below code generates no error since a print function can take any number of inputs but creates a mismatch with the variables. The print function is used to display characters, strings, integers, float, octal, and hexadecimal values onto the output screen. The format specifier is used to display the value of a variable.

  1. %d indicates Integer Format Specifier
  2. %f indicates Float Format Specifier
  3. %c indicates Character Format Specifier
  4. %s indicates String Format Specifier
  5. %u indicates Unsigned Integer Format Specifier
  6. %ld indicates Long Int Format Specifier

Image for post


A signed integer is a 32-bit datum that encodes an integer in the range [-2147483648 to 2147483647]. An unsigned integer is a 32-bit datum that encodes a non-negative integer in the range [0 to 4294967295]. The signed integer is represented in twos-complement notation. In the below code the signed integer will be converted to the maximum unsigned integer then compared with the unsigned integer.

Image for post

#problems-with-c #dicey-issues-in-c #c-programming #c++ #c #cplusplus