Открытый доступ Открытый доступ  Доступ закрыт Доступ предоставлен  Доступ закрыт Только для подписчиков

Том 43, № 4 (2017)

Article

An efficient mulithreading algorithm for the simulation of global illumination

Barladian B., Shapiro L., Denisov E., Voloboy A.

Аннотация

The calculation of global illumination taking into account not only the direct light but also all its possible reflections is an important part of the synthesis of realistic images. The simulation of global illumination requires a lot of computational resources. The performance of modern computers directly depends on the number of cores, which allow one to use tens of parallel computation threads. The paper is devoted to the effective use of multicore computers for simulating the global illumination. The computation results are represented in a uniform illumination map. The proposed algorithm dynamically creates additional threads for the critical branches of the computation process or processing of results. As a result, the uniform load of computation threads as achieved, and the physical and virtual cores are fully loaded.

Programming and Computer Software. 2017;43(4):217-223
pages 217-223 views

Markov chain Monte Carlo based video tracking algorithm

Kuplyakov D., Shalnov E., Konushin A.

Аннотация

The paper considers a problem of multiple person tracking. We present the algorithm to automatic people tracking on surveillance videos recorded by static cameras. Proposed algorithm is an extension of approach based on tracking-by-detection of people heads and data association using Markov chain Monte Carlo (MCMC). Short track fragments (tracklets) are built by local tracking of people heads. Tracklet postprocessing and accurate results interpolation were shown to reduce number of false positives. We use position deviations of tracklets and revised entry/exit points factor to separate pedestrians from false positives. The paper presents a new method to estimate body position, that increases precision of tracker. Finally, we switched HOG-based detector to cascade one. Our evaluation shows proposed modifications significantly increase tracking quality.

Programming and Computer Software. 2017;43(4):224-229
pages 224-229 views

Fast parallel grid warping-based image sharpening method

Gusev A., Nasonov A., Krylov A.

Аннотация

The development of image sharpening algorithms is currently one of the most important problems in image processing. This paper presents a parallel implementation of a pixel grid warping algorithm for image sharpening. To sharpen image edges, the proposed algorithm moves pixels in the edge neighborhood towards edge centers rather than changing pixel values directly. This approach does not increase noise and does not cause ringing artifacts.

Programming and Computer Software. 2017;43(4):230-233
pages 230-233 views

Environment modeling in a flight simulator

Sapronov R.

Аннотация

An approach is proposed to the height and displacement maps normalization from the spectra described by J. Tessendorf. Techniques are considered to avoid some rendering artefacts with projected grids when the viewer is (1) far from the origin of a coordinate system and (2) near the waterline. Modeling and lighting of the water surface is described. Techniques based on volumetric models using screen-space raytracing for rendering various atmospheric effects (clouds, fog, rain, snow, etc.) are proposed. Approaches to implementing these techniques applicable to a wide range of real-time applications are described.

Programming and Computer Software. 2017;43(4):234-242
pages 234-242 views

A method of Earth terrain tessellation on the GPU for space simulators

Mikhaylyuk M., Timokhin P., Maltsev A.

Аннотация

This paper presents a new distributed method for virtual Earth terrain tessellation on a graphics processing unit (GPU) for space simulator complexes. The method operates in real time in multi-object virtual scenes comprising up to two million polygons. A polygonal terrain model is constructed using triangle patches of different levels of detail on graphics cards with programmable tessellation. Patches of the same level of detail are calculated entirely on the GPU, in parallel and independently, by using a developed shader program written in the OpenGL Shading Language (GLSL). This paper also describes a patch extraction algorithm for visible Earth surface rendering and an algorithm for correcting the barycentric coordinates of tessellated patch vertices that allows triangles in the terrain model to be docked without geometric discontinuities. Based on the distributed methods and algorithms developed, a program complex for virtual Earth surface visualization was created and successfully tested. The proposed solution can also be employed in virtual environment systems, virtual labs, educational geo-applications, etc.

Programming and Computer Software. 2017;43(4):243-249
pages 243-249 views

An algorithm for the visualization of stereo images simultaneously captured with different exposures

Pashchenko N., Zipa K., Ignatenko A.

Аннотация

The visualization of stereo images obtained from two eyepiece cameras of a stereo microscope with different exposures is studied. This problem is solved to improve the quality of resulting images in the case when one image is not sufficient for capturing an object with the desired color reproduction accuracy and high level of detail both in dark and light regions. An approach to solving this problem in which differently exposed images are split between two views is considered. This approach allows us to significantly reduce the capturing time and to enhance the quality of capturing moving objects. The algorithm described in [1] is used as the basic algorithm; the main steps of this algorithm are the stereo matching of two input images and the construction of high dynamic range images. Modifications of the basic algorithm that use different stereo matching techniques are proposed. The application of the algorithm described in [2] for the visualization of stereo images without constructing high dynamic range images is discussed. A database of images captured with different exposures by a stereo microscope is created. The quality of algorithms applied to the images from this database is evaluated in the HDR-VDP-2.2 metric [3].

Programming and Computer Software. 2017;43(4):250-257
pages 250-257 views

Interactive vizualization of constructive solid geometry scenes on graphic processors

Bogolepov D., Turlapov V., Ulyanov D.

Аннотация

A ray-tracing algorithm for interactive visualization of very large and structurally complicated scenes presented in the constructive solid geometry (CSG) form is suggested. The algorithm is capable of visualizing such scenes in real time by using a graphic processor. As primitives, classical shapes and objects represented in an analytical form (in particular, second-order surfaces and implicit functions) are used. Unlike other similar algorithms, our algorithm produces the final image in a single pass and has no constraints on the maximum number of primitives and on the CSG tree depth. The key feature of the algorithm is a method for optimizing CSG models, which converts the input tree to an equivalent spatially coherent and well-balanced form (a completely balanced equivalent tree may not exist). The performance of visualization after applying the optimization technique is shown to depend on only the computational resource of the GPU (in contrast to multi-pass algorithms whose performance is restricted by memory capacity). It has been shown experimentally that our algorithm is capable of rendering CSG models consisting of more than a million CSG primitives with the tree depth up to 24.

Programming and Computer Software. 2017;43(4):258-267
pages 258-267 views

SharpChecker: Static analysis tool for C# programs

Koshelev V., Ignatiev V., Borzilov A., Belevantsev A.

Аннотация

This paper considers various aspects of static analysis of C# programs in order to detect the maximum number of software bugs in an acceptable time. A complete cycle of software static analysis is described with the main focus being placed on the specifics of the C# language. Some methods are discussed that take into account popular features of C# at all levels of analysis: call graph and control flow graph construction, dataflow analysis, as well as context- and path-sensitive interprocedural analysis. A symbolic execution method is proposed, which is based on the works devoted to the Bounded Model Checking (BMC) and the Saturn Software Analysis Project. A memory model is described that enables an accurate intraprocedural analysis and allows one to create compact representations of error conditions associated with functions, which are essential for interprocedural analysis. A special attention is paid to the optimizations that occur during path-sensitive analysis of error conditions. The conditions need to be optimized in terms of size, because path-sensitive interprocedural analysis requires saving a large number of conditions for each analyzed function. The conditions are resolved using advanced SMT solvers (such as the Microsoft Z3 Prover). This paper also considers various approaches to modeling the behavior of library functions: based on a summary containing a set of properties required for analysis, or based on simplified implementations in C#. All the discussed solutions are implemented in the SharpChecker static analysis tool and are tested on a number of open-source projects from 1.5 thousand to 1.35 million lines of code.

Programming and Computer Software. 2017;43(4):268-276
pages 268-276 views

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».