It-Jim's R&D blog
Skip to content [#main] It-Jim Menu COMPANY About Us Careers News Meet Us EXPERTISE Computer Vision 3D Computer Vision Machine Learning Natural Language Processing AI-Powered Mobile Development Generative AI Image Processing Signal Processing Augmented and Mixed Reality EDUCATION Trainee Program Applied computer vision course PORTFOLIO BLOG RESEARCH Publications Get a Quote Blog You are here: It-Jim > Blog 236 RoomPlan is Awful and it’s Great! Yuriy Gapon Head of iOS RoomPlan is a powerful framework from Apple designed for the fast and convenient creation of 3D models of rooms, using augmented reality (AR) technologies and LiDAR scanning capabilities. In our previous article, we reviewed the basic functions of RoomPlan, such as session setup, the structure of core components, and the specifics of output data. We explored how this tool can interact with the sur... Apple Roomplan Apple RoomPlan Framework Room Recognition Roomplan RoomPlan iOS Read more 99 Barcode Safari: Exploring the iOS Scan Frontier Yuriy Gapon Head of iOS @ It-Jim Recently, we encountered a task in one of our projects involving the development of a product management system for a large warehouse. The system needed accurate and efficient barcode detection to streamline inventory tracking, reduce human errors, and optimize workflows. We have different options to tackle this problem. Should we use a dedicated barcode detection technology, or integrate barcode ... barcodes recognition borcode recognition on iOS Vision Framework Read more 128 Appleâs ARKit vs. Eye Fatigue Yurij Gapon Head of iOS @ It-Jim In todayâs world, digital devices dominate our daily lives, with significant time spent in front of screens – computers, smartphones, tablets, etc. While this lifestyle is an inevitable part of modern life, it also places substantial strain on our eyes. For many, eye fatigue has become a routine part of life, and if ignored, it can result in serious health issues. Key symptoms of the probl... Apple ARKit arkit eyes tracking Read more 717 Face It! Appleâs Vision Framework Makes Image Processing Simple Yurij Gapon Head of iOS @ It-Jim Appleâs Vision Framework is a powerful tool for computer vision that allows developers to integrate broad capabilities of computer vision into their apps, even with the use of custom machine learning models. It works on devices running iOS 11.0+ and offers real-time, on-device processing without requiring constant internet access, LiDAR sensors, or the latest high-performance chips. The key feat... apple vision framework vision framework by apple Read more 1632 AI Video Generation Tools Danylo Krasii CV engineer @It-Jim Just over a year ago, ChatGPT became a household name, capturing the imagination of nearly everyone. Before we could fully grasp the potential of advanced language models, the world was dazzled by the emergence of visual generation models, showcasing their ability to create stunning images. And just as we were starting to understand the impact of image generation, video generation models began mak... Generative AI Video Generation Read more 3741 The Open-Source Quest: Exploring Free Alternatives to GPT-3 Oleksandr Rechynskyi NLP engineer @It-Jim Large Language Models (LLMs) have emerged as highly successful and widely adopted AI technologies in recent times. Major players in the industry, including OpenAI, Google, Nvidia, Meta, and Microsoft, leverage these models either for their own products or offer access to them. Among the current LLMs, GPT-3 (short for Generative Pretrained Transformer) and its successor GPT-4 reign supreme in terms... GPT-3 GPT-4 Hugging Face LLM Natural language processing Open-source Transformers Read more 2272 Video Game Review Summarization Using OpenAI GPT-3 Python API Oleksii Grechnyev CV/ML engineer @It-Jim Normally, computers only understand their own programming languages, like Python or C++. If you want to teach them human languages, like English, Ukrainian, or Japanese, it is possible, but it takes effort. The respective branch of science is called Natural Language Processing (NLP), which combines computer science (including machine learning and deep learning) with traditional linguistics. In thi... GPT-3 Natural language processing OpenAI API Text Summarization Read more 12822 Training and Fine-Tuning GPT-2 and GPT-3 Models Using Hugging Face Transformers and OpenAI API Oleksii Grechnyev CV/ML engineer @It-Jim At the moment this article appears, generative large language models (LLMs) are discussed a lot in the media. After the release of OpenAI ChatGPT and later GPT-4, GPT became the âword of the dayâ. In this blog post, weâll cover the following questions: What are GPT models, and how do they work? Can I run GPT on my computer locally? Can I train or fine-tune GPT models myself? This article is ... GPT-2 GPT-3 Hugging Face Natural language processing OpenAI API Transformers Read more 14332 NeRF in 2023: Theory and Practice Oleksii Grechnyev CV/ML engineer @It-Jim In this article, we will give a brief beginner-level introduction to neural radiance fields (NeRF). We start with basic NeRF theory, followed by NeRF limitations and the possible ways to overcome them. We will conclude the article with the practical part: using NeRFStudio for training and rendering NeRF on a home computer or cloud. NeRF (proposed in the original 2020 paper) is the technique to rep... 3D 3D Computer Vision 3D Reconstruction NeRF Read more 7716 How Text-to-Speech Models Work: Theory and Practice Ustym Khaburskyi CV/DL engineer Text-to-speech (TTS) has been a popular topic for some time, and its development shows no signs of slowing down. There are a plethora of deep learning models, software programs, and companies offering this service. It’s no surprise, given the broad range of applications, from voice assistants and answering machines to creating audio versions of articles, books, and even automatic voiceovers ... audio processing Text-to-speech Tortoise TTS VITS Voice cloning Read more 2890 Top 9 iOS Applications for 3D Reconstruction Pavlo Vyplavin Head of R&D People are excited about extended reality. They dream of having a Metaverse where they would spend their time and earn money. And one of the key aspects of the Metaverse is the virtual world itself. It may be designed by artists, created via procedural 3D modeling, or taken from the real world via scanning. The broader availability of consumer 3D scanning makes it one of the most promising ways fo... 3D iOS lidar reconstruction scanning Read more 6282 JAX: Can It Beat PyTorch and TensorFlow? Oleksiy Grechnyev CV/ML engineer @It-Jim Historically, there have been many Deep Learning (DL) frameworks, like Theano, CNTK, Caffe2, and MXNet. Nowadays, they appear to be dead or dying, as just two frameworks heavily dominate the DL scene: Google TensorFlow (TF), which includes Keras; and PyTorch from Meta aka FaceBook. However, there is no reason to believe such a duopoly will persist forever. All the time, new DL frameworks are propo... computer vision deep learning Google JAX PyTorch TensorFlow Read more 10320 GStreamer C++ Tutorial Oleksiy Grechnyev CV/ML engineer @It-Jim In the previous article, we’ve learned what GStreamer is and its most common use cases. Now, itâs time to start coding in C++. This tutorial does not replace but rather complements the official GStreamer tutorials. Here we focus on using appsrc and appsink for custom video (or audio) processing in the C++ code. In such situations, GStreamer is used mainly for encoding and decoding of var... audio processing C++ computer vision FFmpeg GStreamer OpenCV Read more 6865 GStreamer for Computer Vision and Audio Processing Oleksiy Grechnyev CV/ML engineer @It-Jim You might have heard of something called âGStreamerâ. I know what you think. This is some old and boring geek-and-nerd stuff from Linux, right? But what is it? What is the use of GStreamer? If we want computer vision or audio (speech, music) processing, can GStreamer help us? In this article, Iâll try to answer these questions. This article is beginner-level and assumes no or little previous... audio processing C++ computer vision FFmpeg GStreamer mediapipe OpenCV Read more 5652 Apple RoomPlan: Is There a Room for Improvement? Oleg Ponomaryov CTO @It-Jim At WWDC 2022 Apple introduced RoomPlan API for Swift, which allows obtaining room scans using a camera and LiDAR on iPhone and iPad. This might look similar to the Scene Reconstruction API, which was introduced earlier and also uses LiDAR. It produces a polygonal mesh of the environment, which essentially provides information about the shape of the environment. But what if you want to measure the ... Apple arkit iOS lidar mobile Roomplan Swift Read more 1621 Writings on the Wall: Recognizing Speech on Spectrograms Oleg Ponomaryov CTO @It-Jim If youâve ever come close to anything related to audio or other signal processing, you likely already know about spectrograms. Those fancy-looking and usually colorful plots are commonly used to represent a spectrumâs change over time. But can they provide us with some higher-level information about, letâs say, human speech? What if I told you that one could effectively get a transcript of a... audio processing spectrogram speech recognition Read more 1933 Computer Vision in a Web Browser: Practical Examples Oleksiy Grechnyev CV/ML engineer @It-Jim This blog post covers some important aspects of deploying and running classical computer vision algorithms as well as convolutional neural networks in a web front-end. Please make sure you have read the first part of the blog post. This will definitely help you to follow all technical aspects much easier. How can you pass an image or a video frame from JS to C++ and back? Weâll give a minimal ex... computer vision deep learning emscripten wasm web browser Read more 2155 Computer Vision in a Web Browser: Basics Oleksiy Grechnyev CV/ML engineer @It-Jim Are you interested in Computer Vision (CV)? Probably yes, if you are reading this. If you read CV tutorials, you might have noticed that most of them are in Python. This applies to both traditional CV (without neural networks) and, even more, to deep learning (neural networks). Occasionally, CV tutorials use C++ instead of Python, but any other programming languages are very rare. The fact is, Pyt... computer vision deep learning emscripten wasm web browser Read more 1304 Computer Vision in the Food Domain Kateryna Arkhypova Business Analyst @It-Jim Surprising but true: according to market research, customers prefer apples with a maximum diameter of 75 to 80 mm ð Now you know ð People would obviously struggle to accurately evaluate fruits’ size with their naked eyes. In contrast, computer vision (CV) systems can measure the precise diameter of an apple in the blink of an eye, literally. CV systems can collect and process a variety... artificial intelligence computer vision food industry image processing Read more 11218 A C++ Mini-Tutorial on MediaPipe Oleksiy Grechnyev CV/ML engineer @It-Jim As we already explained, MediaPipe is a C++ pipeline library. It is very poorly documented, basically, the only documentation is the comments and docstrings in the MP source code. There are also examples, but they are not very readable. There is only one trivial “hello world” example, the rest is deep learning, which is counterproductive for learning basic MP concepts. Moreover, thes... C++ google technologies mediapipe tutorial Read more 4426 The Bizarre Google World: Bazel, ProtoBuf, and More Oleksiy Grechnyev CV/ML engineer @It-Jim It was not easy at all to master MediaPipe. We thought little in C++ could surprise us. MP did. They say Google libraries do not work outside of Google. We can confirm this is the truth. The ways Google uses the C++ language are highly unusual from our point of view. Normally (at least where we come from) people use CMake, a nice cross-platform build system, for C++ projects. Other somewhat common... bazel C++ google technologies mediapipe protobuf Read more 4335 Down the Rabbit Hole: Our Journey to the Land of MediaPipe and Other Google Technologies Oleksiy Grechnyev CV/ML engineer @It-Jim In the ML/DL community you can often hear âNowadays you must know Google MediaPipeâ, âItâs a cool frameworkâ, and sometimes “It’s internally used by YouTube!” Videos with various computer vision tasks like this hand tracking often appear on LinkedIn and forums with the comment âThis is MediaPipeâ! At this point, we decided we could not ignore it anymore. So we packe... C++ google technologies mediapipe Read more 20759 Audio Processing Basics in Python Oleksiy Grechnyev CV/ML engineer @It-Jim If you want to try some sound processing in Python (with neural network or otherwise) and donât know where to start, then this article is for you. This post is for absolute beginners. What do we want? Basically 3 tasks. Read and write audio files in different formats (WAV, MP3, WMA etc.). Play the sound on your computer. Represent the sound as a waveform, and process it: filter, resample, buil... audio processing Librosa PyDub python SoundDevice Soundfile TorchAudio Read more 1493 WebAR Development and Deployment: Cloud-Based or Serverless? Ruslan Timchenko CV engineer @It-Jim Enhancing the physical world with virtual content, connecting real life with the digital world, and making that interaction an immersive experience are the reasons for many businesses to turn to extensive usage of augmented reality (AR). In many cases, however, installation of a specific mobile application is required. Would it not be easier and less time-consuming for a user to have AR directly i... augmented reality AWS serverless WebAR WebAssembly Read more 4590 Automatic Floor Segmentation Using Computer Vision Yurii Chyrka Head of ML @It-Jim Automatic floor segmentation can serve many interesting purposes including mixed reality (MR) applications, interior design, entertainment, computation of available space in a room, or indoor robot navigation. In this project, we have been solving a problem of scene understanding and, in particular, determining which pixels of the image belong to the floor.  The problem of floor segmentation is... classical computer vision deep learning feature extraction image segmentation superpixels Read more 1837 The Ultimate Guide to Developing Skills as a Computer Vision Engineer Daryna Pesina COO @It-Jim If you want to dig into Computer Vision (CV) but have no idea where to start, this beginner guide is for you. Here we recommend some sources which will come in handy for learning and understanding both the computer vision and deep learning basics. When you search for a position of computer vision engineer, you’re likely to see that companies are looking for a candidate with: digital image ... beginner guide computer vision deep learning image processing machine learning Read more 14982 iPhoneâs 12 PRO LiDAR: How to Get and Interpret Data Ruslan Timchenko CV engineer @It-Jim Apple events always amaze the entire world and 2020 was not the exception. Apple presented the first mobile devices equipped with LiDAR: iPad Pro 11 and iPhone 12 Pro (and PRO max version). This active sensor measures physical distances to the objects on a spatial two-dimensional grid. Nowadays it is widespread in the automotive area for object detection and collision avoidance. How can developers... arkit depth estimation iOS lidar mobile Read more 4934 4 Ways How Computer Vision Is Deepening the Fashion Industry Daryna Pesina COO @It-Jim What is your first thought when you hear about computer vision (CV) in fashion? Or, what is the first thing that pops into your head when you hear about deep learning fashion? Let us guess â online clothing shopping or virtual try-on applications? Well, this might be surprising but deep fashion is not a far future anymore. Whatâs more, fashionably speaking, the usage of deep learning in the fa... computer vision deep fashion image retrieval intelligent fashion segmentation Read more 1323 Computer Vision in Healthcare Daryna Pesina COO @It-Jim Artificial intelligence (AI) and machine learning (ML) are being progressively used across different sectors including healthcare. One of the AI-powered tools is computer vision (CV), the ability to recognize, interpret, and process visual data. Thus, potential applications of computer vision in the medical field are multifold, from image processing and predictive analysis to automated health reco... computer vision deepl learning image classification image recognition medical imaging Read more 5447 Applications of Artificial Intelligence in Automotive Industry Daryna Pesina COO @It-Jim A century ago, the very thought of machines being able to think, make complicated calculations, and come up with effective solutions to pressing problems was more of a figment of science fiction writerâs fantasy rather than a foreseeable reality. Still, as we move into the third decade of the 21st century, we cannot imagine our life without manufacturing robots, marketing and stock trading bots,... artificial intelligence computer vision deep learning localization sensor fusion Read more 3648 Practical Aspects of Real-Time Video Pipelines Oleksiy Grechnyev CV/ML engineer @It-Jim Video is an extremely popular way to represent information. Indeed, sometimes it is enough to watch a short clip instead of long listening or reading about complicated technical concepts. From a user’s point of view, a video is just a sequence of images followed one-by-one with a very short inter-frame interval. Typically it has around 30 frames per second (FPS). However, many things are lef... buffering encoding frame loss real-time video video pipeline Read more 2348 Embedded and Single-Board Computer Vision: Running Deep Neural Nets Oleksiy Grechnyev CV/ML engineer @It-Jim Deep learning (DL) and neural networks are extremely widespread in different computer vision (CV) applications. Indeed, many typical problems (like object recognition or semantic segmentation) are effectively solved by convolutional neural networks (CNNs). In this article, we are going to discuss how to utilize CNNs on embedded devices. Neural networks today are ubiquitous. In particular, it is ha... computer vision deep learning embedded vision machine learning neural networks Read more 3204 Embedded and Single-Board Computer Vision: Introduction Oleksiy Grechnyev CV/ML engineer @It-Jim Computer vision (CV) and machine learning (ML) algorithms solve a tremendous amount of problems. However many businesses often do not understand what hardware to choose for running your favorite neural net or some advanced image and video processing pipelines. With this blog post, we start a series of articles about embedded vision and specific practical things you need to know before making your ... computer vision deep learning embedded vision machine learning raspberry pi Read more 1872 Binary Marker Recognition on Raspberry Ievgen Gorovyi CEO @It-Jim Fiducial markers are widely used in various applications like robot navigation, logistics, augmented reality. Fig. 1. Applications of fiducial markers Advantages are obvious High contrast Simple code generation Resistance to extremal angles However, when we deal with a large number of markers, real-time recognition becomes challenging, especially on embedded devices with low power CPUs on-board.... AR C++ computer vision embedded vision fiducial markers image processing marker recognition raspberry pi Read more 5581 Watch Your Steps: a Brief Review of Step Detection Using Mobile Sensors Daryna Pesina COO @It-Jim In our swarming world, it is quite hard to imagine someone having no mobile phone in the pockets of their jeans, dress, or suit. Even the inveterate skeptic has to accept the fact that smartphones entered our life and have become its inalienable part, the part of us. Mobile phones became our assistants in all aspects of our life, like filming the greatest events of our life, scheduling our time, b... IMU indoor navigation inertial navigation system signal processing step detection Read more 1493 Biological Cells Segmentation Daryna Pesina COO @It-Jim The task of accurate cell segmentation is essential for cellular biology and single-cell analysis, as well as for studying biological processes as a whole. In biomedical image processing, this includes reconstruction of microscopy images, foreground segmentation, cell detection, cellular compartments and organelles segmentation. Despite the tremendous progress in microscopy cell imaging and numero... CLAHE image filtering image processing image segmentation morphology operations Read more 4003 Overview of Indoor Navigation Technologies Ievgen Gorovyi CEO @It-Jim The development of indoor navigation services and algorithms is becoming a popular trend in the IT industry in recent years. Some of the modern buildings, like airports, shopping malls, and warehouses have grown enough (Fig.1) to feel a need for their own navigation tools for customers. Closed environment conditions exclude the usage of common satellite-based navigation systems like GPS or GLONASS... BLE positioning indoor navigation inertial measurement unit sensor fusion signal processing Read more 10988 Marker-Based Augmented Reality Dmytro Sharapov CV engineer @It-Jim Augmented Reality (AR) is one of the most popular and challenging fields in computer vision research. It allows supplementing the real world with some kind of digital content, for example, virtual 3D objects. The key feature of Augment Reality in comparison to other image processing tools is that virtual objects are moved and rotated in 3D coordinates instead of 2D image coordinates. The main obje... augmented reality fiducial markers marker detection marker-based AR planar tracking Read more 4948 Tesseract Library Configuration Dmytro Sharapov CV engineer @It-Jim Youâve undoubtedly seen it before⦠Itâs widely used to process everything from scanned documents to the handwritten scribbles on your tablet PC and Google Translate. And today youâll create your first app for text recognition. Optical Character Recognition, or OCR, is the process of electronically extracting text from images and reusing it in a variety of ways such as document editing, fre... image procesing OCR tesseract text detextion text recognition Read more 3000 Automatic Number Plate Recognition (ANPR) Systems Ievgen Gorovyi CEO @It-Jim Currently, the number of cars in the world is well over 1 billion. It is no wonder that one of the most common computer vision tasks is the effective control of these vehicles through automatic number plate recognition (ANPR) systems. The applications of automatic vehicle number plate detection and recognition vary depending on the area of use and include, among others, border control, stolen car ... ANPR computer vision image processing intelligent transportation text detection Read more Computer vision solutions for your business Menu Home Expertise Portfolio Research Trainee Program Blog Careers Sitemap Contact us Location Kharkiv, Ukraine Lviv, Ukraine Vinnytsia, Ukraine Sheridan, WY, USA Contacts hello@it-jim.com edu@it-jim.com (educational inquiries) Follow Us Copyright © 2024 It-Jim. Get a quote Your name* Your email address* Tell us about your project Add attachment Acceptable formats: .pdf, .doc, .docx, .odf, .txt, .rtf, .xls, .xlsx, .ppt, .pptx, .rar, .zip, .7z Please prove you are human by selecting the star . à Contact us Your name* Your email address* Tell us about your project Add attachment Acceptable formats: .pdf, .doc, .docx, .odf, .txt, .rtf, .xls, .xlsx, .ppt, .pptx, .rar, .zip, .7z Please prove you are human by selecting the tree . Ã