Back to search

Introduction of compilation module in С++ to enhance efficiency of identification of froth flotation parameters

Froth flotation of potash is a main method of separation of the product and impurities. The process is controlled manually by an operator who serves the whole flotation floor. This can lead to retarded decision-making and to inaccurate adjustment of feed of flotation reagents and air. One of the ways of avoiding shortages related with human factor is employment of computer vision systems. However, software tailoring to fit specific workflow parameter takes a long time, which impairs accuracy of identification of froth bed parameters. It is proposed to accelerate the identification process through multithreading in determination of the optimal thresholds for glare and anti-glare binarization and the image contrast improvement factor. Since multithreading is impossible in Python, a dedicated dynamic library is created in C++ to implement the multithreaded search of parameters. The time of the search is shortened by 87.4%, which allows identification of parameters in each half-turn of the frother rather than once in a long series of images. Thank to this, the number of the correctly identified bubbles is increased by 8.97%, i.e. the quality of identification of the froth bed parameters in a potash flotation machine is improved. The use of the library in the process flowsheet control can reduce the number of nuisance alarms or enhance accuracy of metering feed of reagents to flotation machine. 

Keywords: potash flotation, computer vision, control, machine vision, multithreading.
For citation:

Zatonskiy A. V., Kuznetsov S. V., Plekhov P. V. Introduction of compilation module in С++ to enhance efficiency of identification of froth flotation parameters. MIAB. Mining Inf. Anal. Bull. 2026;(9):150-161. [In Russ]. DOI: 10.25018/0236_1493_2026_9_0_150.

Acknowledgements:
Issue number: 9
Year: 2026
Page number: 150-161
ISBN: 0236-1493
UDK: 622.75 + 004.932.2 + 004.021
DOI: 10.25018/0236_1493_2026_9_0_150
Article receipt date: 14.04.2026
Date of review receipt: 26.05.2026
Date of the editorial board′s decision on the article′s publishing: 10.08.2026
About authors:

A.V. Zatonskiy1, Dr. Sci. (Eng.), Professor, Head of Chair, e-mail: zxenon@narod.ru, ORCID ID: 0000-0003-1863-2535,
S.V. Kuznetsov, Master’s Degree Student, Perm National Research Polytechnic University, Perm, Russia, e-mail: kuznetsovstas04@yandex.ru,
P.V. Plekhov1, Cand. Sci. (Eng.), Assistant Professor, e-mail: onim@rambler.ru,
1 Perm National Research Polytechnic University, Berezniki Branch, Berezniki, Russia.

 

For contacts:

A.V. Zatonskiy, e-mail: zxenon@narod.ru.

Bibliography:

1. Zemskov A. N., Liskova M. Yu., Zaalishvili V. B., Shamrin M. Yu. Modern technological and technical solutions for mining operations potash mines. News of the Tula state university. Sciences of Earth. 2022, no. 2, pp. 284—296. [In Russ]. DOI: 10.46689/2218-5194-2022-2-1-284-296.

2. Yurkevich N. V., Grosheva T. V., Edelev A. V., Gureev V. N., Mazov N. A. Modern approaches to the enrichment of barite ores. Journal of Mining Institute. 2024, vol. 270, pp. 977—993. [In Russ].

3. Konnova N. I., Chebokchinov I. P. A study of flotation ore sample treatment from a breakage ore occurence. International Research Journal. 2023, no. 12 (138), pp. 74. [In Russ]. DOI: 10.23670/IRJ.2023.138.165.

4. Silakov A. V., Varlamova S. A., Kotkov P. V. Software recognition of image defects of regular textures in the textile industry. Proceedings of higher education institutions. Textile industry technology. 2022, no. 2 (398), pp. 266—272. [In Russ]. DOI: 10.47367/0021-3497_2022_2_266.

5. Varlamova S. A., Zatonskiy A. V., Fedoseeva K. A. Illumination sensitivity analysis for the speck-based froth detection method using potash flotation machines. Obogashchenie Rud. 2021, no. 6, pp. 29—33. [In Russ]. DOI: 10.17580/or.2021.06.05.

6. Zatonskiy A. V., Varlamova S. A., Fedoseeva K. A. Improvement of computer recognition parameters in potash flotation machines by anti-glares from bubbles. Bulletin of the South Ural state university. Computer technologies, automatic control, radio electronics. 2022, vol. 22, no. 3, pp. 57—67. [In Russ]. DOI: 10.14529/ctcr220306.

7. Zatonskiy A. V., Fedoseeva K. A., Kuznetsov S. V. Improving the quality of recognition of polymetallic ore pellets in an image by adaptive contrast correction. Innovative instrumentation. 2024, vol. 3, no. 3, pp. 48—52. [In Russ]. DOI: 10.31799/2949-0693-2024-3-48-52.

8. Nemirovsky M., Tullsen D. Multithreading architecture. Springer Nature, 2022. 112 p.

9. Lee S. H. Real-time edge computing on multi-processes and multi-threading architectures for deep learning applications. Microprocessors and Microsystems. 2022, vol. 92, article 104554. DOI: 10.1016/j.micpro.2022.104554.

10. Wei X., Ma L., Zhang H., Liu Y. Multi-core-, multi-thread-based optimization algorithm for large-scale traveling salesman problem. Alexandria Engineering Journal. 2021, vol. 60, no. 1, pp. 189—197. DOI: 10.1016/j.aej.2020.06.055.

11. Feshina E.V., Omelchenko D.A., Gonataev R.G. Multithreading and asynchrony in the Python programming language. Innovation. Science. Education. 2021, no. 28, pp. 988—992. [In Russ].

12. Arjona A., Finol G., López P. G. Transparent serverless execution of Python multiprocessing applications. Future Generation Computer Systems. 2023, vol. 140, pp. 436—449. DOI: 10.1016/j.future.2022.10.038.

13. Ruys W., Lee H., You B., Talati S., Park J., Almgren-Bell J., Yan Y., Fernando M., Erez M., Gligoric M., Burtscher M., Rossbach C. J., Pingali K., Biros G. Performance characterization of python runtimes for multi-device task parallel programming. International Journal of Parallel Programming. 2025, vol. 53, no. 2, pp. 1—24. DOI: 10.1007/s10766-025-00788-1.

14. Sychev M.D., Trunova K.D. Performance comparison when performing bubble sorting in the C++ and Python programming languages. Bulletin of Penza State University. 2024, no. 4 (48), pp. 131—133. [In Russ].

15. Kaur A., Nayyar R. A comparative study of static code analysis tools for vulnerability detection in C/C++ and Java source code. Procedia Computer Science. 2020, vol. 171, pp. 2023—2029. DOI: 10.1016/j.procs.2020.04.217.

16. Naveed M. S. Comparison of C++ and Java in implementing introductory programming algorithms. Quaid-E-Awam University Research Journal of Engineering, Science & Technology. 2021, vol. 19, no. 1, pp. 95—103.

17. Oliveira C. Multithreading. Practical C++20 Financial Programming. Apress, Berkeley, CA. 2021, pp. 449—474. DOI: 10.1007/978-1-4842-6834-6_17.

18. Valero A., Gran-Tejero R., Suárez-Gracia D., Georgescu E. A., Ezpeleta J., Álvarez P., Muñoz A., Ramos L. M., Ibáñez P. A learning experience toward the understanding of abstraction-level interactions in parallel applications. Journal of Parallel and Distributed Computing. 2021, vol. 156, pp. 38—52. ISSN 0743-7315. DOI: 10.1016/j.jpdc.2021.05.008.

19. Monat R., Ouadjaout A., Miné A. A multilanguage static analysis of Python programs with native C extensions. International Static Analysis Symposium. Cham: Springer International Publishing, 2021, pp. 323—345. DOI: 10.1007/978-3-030-88806-0_16.

20. Gladstone A. Module development with boost. Python and PyBind. C++ Software Interoperability for Windows Programmers: Connecting to C#, R, and Python Clients. Berkeley, CA: Apress, 2022, pp. 173—209. DOI: 10.1007/978-1-4842-7966-3_8.

21. Belinassi G., Biener R., Hubichka J., Cordiero D., Goldman A. Compiling files in parallel: A study with GCC. 2022 International Symposium on Computer Architecture and High Performance Computing Workshops (SBAC-PADW). IEEE, 2022, pp. 1—8.

22. Hulton-Harrop T. Minimal CMake: Learn the best bits of CMake to create and share your own libraries and applications. Packt Publishing Ltd. 2025, 266 p. 

Подписка на рассылку

Подпишитесь на рассылку, чтобы получать важную информацию для авторов и рецензентов.