Gigapixel AI v4.9.2

Download: Windows, Mac
Released May 27, 2020.

Major features

  • The control settings for Remove Blur, Suppress Noise, and auto-detection have been revamped to provide for a better user experience as well as bring it more in-line with the workflow found in Denoise AI.
  • Individual controls for Remove Blur and Suppress Noise can now be adjusted through a text field.
  • A reset button has been added to automatically set Remove Blur and Suppress Noise to their default values (50 and 50, respectively)

Improvements

  • Gigapixel now remembers your last saved output image format type. The default is now “Preserve source format”, and a tooltip has been added that explains what it does.
  • Remove Blur and Suppress Noise can now be set to 0 (previously, minimum was 1)
  • The right panel is now hidden when no images are open.

Fixes

  • Auto mode now correctly calculates an image’s optimal settings when batch processing. Previously, Gigapixel was using the first image’s auto-detected settings in the batch for all subsequent images.
  • After processing one image, the navigator panel now correctly refreshes instead of remaining empty.
  • When adding more images into a batch with the preview panel enabled, the currently selected image no longer changes to a new image.
  • Some holdover view options have been removed from the View menu on Mac.
3 Likes

Thanks for the update, your work improving the software is appreciated. If you’d like suggestions (I don’t know how practical they are) then here’s one.

  • When ‘Auto-update preview’ is checked and the Navigator selection area is then dragged, say from point A to point B, it often lags, as it’s generating and then replacing multiple previews between the 2 points.
    Would it not be less resource intensive (and faster) if a preview was only generated on mouse click UP?
2 Likes

Glad you’re enjoying the updates and great suggestion! We’re actually going to be focusing on improving UI responsiveness and speed in the coming weeks, and this definitely seems like an impactful change that would help. I’ll add it to the list :slight_smile:

1 Like

Note calibration still does not select the correct option, still selects both as you can see from this screen shot:

image

I am not sure what is happening but the following processing times for a 3120 x 4160 2x enlargement to 6240 x 8320 are way out compared to v4.9.2.3b:
image

  • Both selected 
 - 4:16 minutes
  • GPU only 
 - 4:11 minutes
  • OpenVINO 
 - 10.31 minutes

My PC details are:

image

And, previously reported during the testing the following processing times:

  • Both selected 
 - 8:14 minutes
  • GPU only 
 - 1:05 minutes
  • OpenVINO 
 - 4.06 minutes

Then if I select only one option before re-calibrating, I still get both and if I turn Face off there is no difference for the processing.

Hello, @AiDon,

Thank you for the feedback. I was trying to answer from the previous post (https://community.topazlabs.com/t/gigapixel-ai-4-9-2-3b-is-available/14881/5), but I first need to share something with you.
Above all, it would be better for me to explain the current logic about calibrating in Gigapixel AI. Then we can figure out where the problems come from.

You have a Dual GPU system, 1) Integrated GPU - intel HD630 and 2) Discrete/Dedicated GPU - Geforce GTX-1050.
From the preferences panel, let me tell you what each option means: (even if you have already known)

  1. Enable discrete GPU:
    • Yes: Main AI gigapixel model (You can see later why I mentioned the Main model) will be processed through our OpenGL implementation module on dedicated GPU (GTX-1050)
    • No: AI gigapixel model processing will not use OpenGL implementation (or not using GTX-1050), that is, will use either OpenVINO module or Tensorflow CPU module (* Tensorflow API can support GPU, but we don’t use Tensorflow GPU option in Gigapixel AI, while Mask AI uses Tensorflow GPU for discrete GPU.) depending on the following selection (Enable Intel OpenVINO).
  2. Enable Intel OpenVINO:
    ( Here, there is one thing we need to know, Gigapixel AI has a Face refinement option which also utilizes another AI model, but unfortunately, we don’t have our OpenGL implementation for the model, that means, we can not use discrete GPU for this option and we have to run AI model with OpenVINO module or Tensorflow CPU module. So even if “Enable discrete GPU” is Yes, we should still select either OpenVINO (Yes) or Tensorflow CPU (No) for Face refinement option in Enable Intel OpenVINO.)
    • Yes: AI model will be processed by the Intel OpenVINO module which uses separated AI models optimized to Intel CPU and integrated GPU (iGPU). So if you selected Yes in Enable discrete GPU, here OpenVINO will run for only Face refinement option, not for main gigapixel AI model. But if you selected No in Enable discrete GPU, OpenVINO will run for both main gigapixel AI model and face refinement related model.
    • No: like OpenVINO, Tensorflow CPU will work instead of OpenVINO. This one uses only CPU and takes much longer time. So this option will be like a backup option just in case of non-intel CPU or old intel CPU not supported by OpenVINO module.

Now, let’s see the calibration procedure by clicking “Use recommended settings”
The purpose of calibration is automatically to set up the options (Enable discrete GPU and Enable Intel OpenVINO) by testing speed performance and any failing case. (In a failing case, we force to select another option)
This calibration procedure will go through 4 modules now.

  1. OpenGL module for discrete GPU (GTX-1050) - will take a small size block (448 x 448) and test it through GL AI model. The block size for testing will be a little bit different based on “Allowed graphics memory consumption” selection (High/Medium/Low) or VRAM size/Preview limit.
  2. Tensorflow CPU module (Intel Core i7-7700HQ CPU) - will take a fixed size block (192 x 192) and test it through TF AI model.
  3. OpenVINO module - will take a fixed size block (192 x 192) and test it through both CPU (Intel Core i7-7700HQ CPU) and iGPU (Intel HD630) separately.
    In each performance test, we iterated 2 times, and choose the second result of speed performance because the first interaction includes model loading step which will take a much longer time. So we wanted to exclude the loading time for testing.
    Here is an example of performance results from your previous log file.

Benchmark Results

  • GPU processing speed = 10.31 sec/megapixel
  • CPU TF processing speed = 54.95 sec/megapixel
  • CPU VINO processing speed = 11.33 sec/megapixel
  • GPU VINO processing speed = 10.71 sec/megapixel

As you can see, base on the result, the calibration tool will select discrete GPU for main AI gigapixel model, and select OpenVINO for face refinement like the followings:

  • Enable discrete GPU : Yes
  • Enable Intel OpenVINO : Yes

I am sure if this calibration tool for a single block is accurate for comparing speed performance among available devices. Nevertheless, we still need to improve more because there are some factors making something different between calibration testing and a whole image processing time. One is the number of image blocks from testing and real processing. We are using multiple image blocks for a whole image with the overlapped area between blocks. And another factor is the different block sizes in between OpenGL module (e.g., 448 x 448) and OpenVINO module (192 x 192). Those factors might make much slower than what we expected based on performance testing with a small single block.

I hope you understand more about our calibration tool procedure. Then we can talk more about that. Please feel free to ask us. Thank you so much.

Best,
Myunghoon

3 Likes

That was very well explained and thank you. Is there a way you guys issue a manual or guide or something for what various features actually do, because its not always clear what to choose. Explanation like this would be of great help.

1 Like

Which features are particularly confusing? We’ve got some plans in the pipeline for revamping the Calibration workflow in particular, as well as updating the Product Tour on startup to better explain various features.

With things like this, we work with the software every day so it’s not obvious what might be confusing to customers when they use the software. Any feedback is greatly appreciated!

Well, most of the Topaz Labs AI products are pretty straightforward to use, but lot of things is going on under the hood and for more enthusiastic user group we would like to know when to use some features. For example the added “night mode” feature in DeNoise AI is not well explained. It supposed to be used when you have night shots to denoise, but sometimes it produces better results in day time than night time so obviously its more under the hood than just “nigh shot mode” and its not clear what it is. That kind of things. I like that there is a little pop up dialog box which explains the basic idea behind the feature, but for more advance users who are used to understanding how to control an app to get the most of it, it would be nice to have a more advance explanation as a guide in PDF or something to explain more about potential usage scenarios where the success percentage would be greatest. That kind of thing.

Also I’m not sure if this is the place to ask, but I always liked the JPEG2RAW product from you guys, but it didn’t get an update in a long time relative to other products, and I’m curious is there still development going on or is the product abandoned? Thank you.

1 Like

Thank you for the explanation 
 is that why the processing times are almost double when both options are selected? I guess the difference also comes from a combination of the block size and the Face refinement processing (VINO).

But you also say:

So if you selected Yes in Enable discrete GPU, here OpenVINO will run for only Face refinement option, not for main gigapixel AI model. But if you selected No in Enable discrete GPU, OpenVINO will run for both main gigapixel AI model and face refinement related model.

But what happens if both are selected by calibration?

I found that with this processing, and the default calibration settings that show Yes for GPU and Yes for OpenVINO, it took 1:13 minutes GPU vs 2:06 minutes for GPU + OpenVINO using the 2400 x 1200 image below. Shouldn’t the processing times be exactly the same because both options are selected I would assume that as GPU is also selected OpenVINO will run for only Face refinement option?

Note that this “Yes” for GPU & “Yes” for OpenVINO is the default after Calibration.

Hi @AiDon,

is that why the processing times are almost double when both options are selected?

: Is it right that you mean Enable discrete GPU and Enable Intel OpenVINO options are both “Yes”? If so, I don’t think the processing times are double because both options are selected. (I am not sure what you are comparing to the case both options selected.)

I guess the difference also comes from a combination of the block size and the Face refinement processing (VINO).

: You’re right. The difference can come from the factors. I don’t say more about block size this time but if I add more details to face refinement, we need to distinguish between main AI model processing and face model processing. Actually face refinement module has two steps, the first one is face detection part, the second one is the face model processing. (face detection time is relatively small, but more faces are detected, the face model processing time will be increased)
The main AI model is always processed by one of these devices - dedicated GPU (OpenGL), OpenVINO CPU, OpenVINO iGPU, or Tensorflow CPU. But the face model is processed only when you turn on face refinement + the image has faces detected by face detection part. The face model should be processed by CPU or iGPU, not a dedicated GPU. If you select Tensorflow CPU by selecting No in Enable Intel OpenVINO option, it will be slower during the face refinement processing because Tensorflow CPU is much slower than OpenVINO CPU or OpenVINO iGPU.
Usually, the only main AI model is processed without any face refinement model processing in most cases like (1) face refinement option is turned OFF OR (2) face refinement option is ON but any faces are NOT detected in the image. But it is true that if your image includes many human faces (not closed up portrait, and not animal faces), the processing time can be increased by an additional face model refinement process after the main AI model is processed.

But what happens if both are selected by calibration?

: The calibration sets up the both Enable discrete GPU and Enable Intel OpenVINO options by testing 4 modules (GPU, TF CPU, OV CPU, and OV iGPU). It tests with only a single dummy image block, not multiple image blocks for real size image, and choose the fastest module among them.
In your case, the calibration selected Yes for Enable discrete GPU option because GPU is faster than OV CPU or OV iGPU, and for face refinement option, it selected Yes for Enable Intel OpenVINO option because OpenVINO is faster than Tensorflow CPU even if the face refinement can be turned off. (Again because the face refinement can not be processed by discrete GPU, only OpenVINO and Tensorflow are compared, and then faster one is selected.)
So the main AI model will be processed by discrete GPU and if faces are detected and you turn on face refinement option, OpenVINO will process face refinement model. In your case, I guess OpenVINO iGPU will be used instead of OpenVINO CPU because you have iGPU which is always faster than OpenVINO CPU.

it took 1:13 minutes GPU vs 2:06 minutes for GPU + OpenVINO

: I don’t get this meaning. Do you mean the main process took 1:13 mins by GPU and then finally it took 2:06 mins with GPU + OpenVINO (face refinement) options?
I don’t know if there are faces in your image, but I can see you selected face refinement On. If the image has faces, total processing time takes a longer time compared to the case you select No for Face refinement option. But discrete GPU (YES) + OpenVINO (YES) should be faster than GPU (YES) + OpenVINO (NO).
Based on the calibration result, I guess discrete GPU (YES) + OpenVINO (YES) is faster than discrete GPU (NO) + OpenVINO (YES) regardless of face refinement option.

Please let me know if I missed something or I misunderstand your meaning. Thank you.

Best,
Myunghoon

Yes exactly what I meant 
 Calibration selects both GPU & OpenVINO and leaving itset like this it takes 2:06 minutes to process this image, Face on because there are 6 faces & 3 profile faces. Whereas selecting GPU only, Face on, took 1:13 mins.

If I set OpenVINO to No and leave GPU Yes, even with the Face option it takes 1:13 minutes.

No, in my case the GPU processing, with Face enabled, is almost twice as fast as the calibrated option of discrete GPU (YES) + OpenVINO (YES).

I have to add that some of the other AI apps select CPU/OpenVINO over GPU but it is usually the GPU that is the fastest.

Hi @MyunghoonTL 


The other confusing thing about the processing times is the following 
 this image is a 2400 x 1200 and using 2x upsize, Auto and NO Face:

And the processing times show:

OpenVINO Only - 3:53 mins
GPU Only - 1:06 mins
GPU + OpenVINO - 1:05 mins

So in summary it seems that the CPU/OpenVINO option doesn’t see to utilise the iGPU but just the CPU, and that the GPU + OpenVINO does utilize one of the GPUs?

I am too mostly very impressed by the results of Gigapixel AI. And I also would appreciate some more efficient navigation for finetuning settings during the preview process:

The app appears to remember calculated values, so for already used values for a specific image detail the preview appears quickly.

– To compare various values it would help to click-jump through previews which exist already in memory (e.g. arrow buttons < and >).

– Another option could be snapping sliders for easier access for a rough comparison of e.g. 0 | 25 | 50 | 75 | 100.

Hello, I have a bug with this version - my interface with the preview and other settings is cut off the screen from the right side. I’ll put a screenshot. Also sometimes when I start the program, drag and drop doesn’t work until I restart, wich is annoying.

Edit: the forum doesn’t let me post links

Hi Kiko, can you PM me the screenshot? You should be able to post it there. Thanks!

1 Like

Hi, I don’t know how to message you, Didn’t see any button on your profile for that and forum still doesn’t let me post links or upload picture!

Click on his name in the post, you’ll see a blue message button.

I don’t see a button like that, all I see is some info - name, Dallas TX, some badges, stuff like that. Maybe I don’t have enough forum rating or i don’t know, cause I just subscribet to the forum today

Top right corner, there is no blue box? Strange.

Sent you a PM - let me know if you’re not able to reply to it.