• PUB.TOWARDSAI.NET
    Exploring MobileCLIP: A lightweight solution for Zero-Shot Image Classification
    Implementing MobileCLIPLets dive into how you can actually use MobileCLIP for zero-shot classification. If youre ready to get your hands dirty, heres a step-by-step guide on setting it up.Step-by-Step code: Zero-Shot Image Classification with MobileCLIP1. Environment setupimport osimport timeimport argparsefrom typing import List, Tupleimport cv2import torchimport matplotlib.pyplot as pltfrom PIL import Imageimport open_clipfrom timm.utils import reparameterize_modelimport numpy as np# Check CUDA availability and set the device (GPU if available, otherwise CPU)cuda = torch.cuda.is_available()device = torch.device("cuda" if cuda else "cpu")print(f"Torch device: {device}")First, we need to import the necessary libraries, including open_clip for model loading, torch for tensor operations, cv2 for image processing, and matplotlib for visualizing the results. If you have a GPU, MobileCLIP can take advantage of it to speed things up. If not, it still runs well on a CPU.2. Model and preprocessing# Load MobileCLIP model and preprocessing transformsmodel, _, preprocess = open_clip.create_model_and_transforms('MobileCLIP-S1', pretrained='datacompdr')tokenizer = open_clip.get_tokenizer('MobileCLIP-S1')# Set model to evaluation mode, reparameterize for efficiency, # and move it to the selected devicemodel.eval()model = reparameterize_model(model)model.to(device)Next, we load the MobileCLIP model (lets go with MobileCLIP-S1, a lighter version). We will also need to load the tokenizer, which converts your text prompts into token sequences that the model can understand. Set the model to evaluation mode, so its ready for inference.3. Image Classification functiondef classify_image(img: np.ndarray, labels_list: List[str]) -> Tuple[str, float]: """ Classify an image using MobileCLIP. This function preprocesses the input image, tokenizes the provided text prompts, extracts features from both image and text, computes the similarity, and returns the label with the highest probability along with the probability value. Args: img (numpy.ndarray): Input image in RGB format. labels_list (list): List of labels to classify against. Returns: tuple: A tuple containing the predicted label (str) and the probability (float). """ # Convert the image from a NumPy array to a PIL image, preprocess it, # add batch dimension, and move to device. preprocessed_img = preprocess(Image.fromarray(img)).unsqueeze(0).to(device) # Tokenize the labels inside the function and move tokens to the device. text = tokenizer(labels_list).to(device) # Disable gradient calculation and enable automatic mixed precision with torch.no_grad(), torch.cuda.amp.autocast(): # Extract features from the image using the model. image_features = model.encode_image(preprocessed_img) # Extract text features from the tokenized text. text_features = model.encode_text(text) # Normalize image and text features to unit vectors. image_features /= image_features.norm(dim=-1, keepdim=True) text_features /= text_features.norm(dim=-1, keepdim=True) # Compute the similarity (dot product) and apply softmax to # obtain probabilities. text_probs = (100.0 * image_features @ text_features.T).softmax(dim=-1) # Get the label with the highest probability from the provided label list. selected_label = labels_list[text_probs.argmax(dim=-1)] selected_prob = text_probs.max(dim=-1)[0].item() return selected_label, selected_probThe heart of the process is the image classification function. This function takes an image as input, preprocesses it, and passes it through the mobileCLIP encoder model to extract image features. It then calculates similarity with the given labels (e.g., cat, dog, car), also encoded with mobileCLIP, and returns the most likely label with its associated probability.4. Visualizing the resultsdef plot_results(results: List[Tuple[np.ndarray, str, float, float]]) -> None: """ Plot the classification results. This function creates a horizontal plot for each image in the results, displaying the image along with its predicted label, probability, and processing time. Args: results (list): List of tuples (img, label, probability, elapsed_time). """ # Create subplots with one image per subplot. fig, axes = plt.subplots(1, len(results), figsize=(len(results) * 5, 5)) # If there is only one image, make axes a list to handle it uniformly. if len(results) == 1: axes = [axes] # Iterate over results and plot each one. for ax, (img, label, prob, elapsed_time) in zip(axes, results): ax.imshow(img) ax.set_title( f"Label: {label},\nProbability: {prob:.2%},\nTime: {elapsed_time:.2f}s" ) ax.axis('off') plt.tight_layout() plt.show()This section introduces a visualization function that plots the classified images along with their predicted labels, probabilities, and processing times.5. Main loop for classifying imagesdef main(data_folder: str, labels_list: List[str]) -> None: """ Process images and perform zero-shot image classification. This function processes each image in the specified folder, classifies them using MobileCLIP, and then plots the results. Args: data_folder (str): Path to the folder containing input images. labels_list (List[str]): List of labels to classify against. """ results: List[Tuple[np.ndarray, str, float, float]] = [] for image_file in os.listdir(data_folder): image_path = os.path.join(data_folder, image_file) # Read the image using OpenCV. img = cv2.imread(image_path) # Skip files that are not valid images. if img is None: print(f"Warning: Unable to read image {image_file}. Skipping.") continue # Convert the image from BGR (OpenCV default) to RGB. img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) start_time = time.time() selected_label, selected_prob = classify_image(img, labels_list) elapsed_time = time.time() - start_time print(f"{image_file} - Label: {selected_label}, Prob: {selected_prob:.2%} (Time: {elapsed_time:.2f}s)") results.append((img, selected_label, selected_prob, elapsed_time)) plot_results(results)if __name__ == '__main__': data_folder = 'data' labels_list = ['dog', 'cat', 'car'] main(data_folder, labels_list)This final section is where the magic happens. We iterate over images in the data folder, classify each image using classify_image(), and append the results for visualization. The results are then passed to plot_results() to generate a visual output.Note: For the full code, check out this GitHub repo.MobileCLIP performing zero-shot classification on sample images
    0 Comments 0 Shares 18 Views
  • GAMINGBOLT.COM
    Zenless Zone Zero Announced for Xbox Series X/S, Reveal Set for April 11th
    NewsZenless Zone Zero Announced for Xbox Series X/S, Reveal Set for April 11thAfter remaining available on PS5, PC, iOS, and Android since July 2024, the hack-and-slash action title is finally coming to Xbox.Posted By Ravi Sinha | On 07th, Apr. 2025 miHoYos Zenless Zone Zero is officially coming to Xbox Series X/S. A release date is still pending, but there will be an Xbox Spotlight stream on April 11th at 10 AM PT, which promises exciting new updates. Its unlikely that the development team will reveal the next update since Special Program streams are meant for the same. Nevertheless, we should learn more about the hack-and-slash titles resolution and frame rate on Xbox Series X/S alongside other potential features. Stay tuned for more details and updates. Zenless Zone Zero is available for PS5, PC, iOS, and Android. Like miHoYos other flagship franchises, its a gacha game, though the post-apocalyptic setting of New Eridu and combat set it apart. You can check out our review of the launch version, but its received numerous updates and improvements since then. Version 1.7 should launch later this month (adding new characters like Vlad and Vivian, so perhaps the Xbox version will coincide with the same. Tagged With: Atomfall Publisher:Rebellion Developments Developer:Rebellion Developments Platforms:PS5, Xbox Series X, PS4, Xbox One, PCView MoreMonster Hunter Wilds Publisher:Capcom Developer:Capcom Platforms:PS5, Xbox Series X, PCView MoreSouth of Midnight Publisher:Microsoft Developer:Compulsion Games Platforms:Xbox Series X, PCView More Amazing Articles You Might Want To Check Out! Zenless Zone Zero Announced for Xbox Series X/S, Reveal Set for April 11th After remaining available on PS5, PC, iOS, and Android since July 2024, the hack-and-slash action title is fin... Metroid Prime 4: Beyond 10 New Things Weve Learned About It [drop-cap]T[/drop-cap]here aren't a lot of games out there that we have been waiting for as long as we have fo... Read More Nintendo Switch 2 Wont Be the Only Thing in Gaming Affected by Price Hikes ESA ESA spokesperson Aubrey Quinn spoke about the industry body's attempts to talk to the right people regarding t... New Deus Ex Pitched by Eidos Montreal to External Partners and Publishers Rumor However, some allegedly believe the concept, despite its "charm and novelty," is "too niche" or not worth the ... Dishonored Arkane Studios Founder Would Love to Work on a Sequel Studio founder Raphal Colantonio spoke about how just about everyone that worked on Dishonored had their own... The Duskbloods Doesnt Change FromSoftwares Commitment to Single-Player Titles, Says Director Hidetaka Miyazaki assured, "We still intend to actively develop single-player focused games that embrace our m... View More
    0 Comments 0 Shares 18 Views
  • WCCFTECH.COM
    Nintendo Switch 2 Version of Civilization VII Looks Like a Mid-Tier PC, Says Dev
    The Nintendo Switch 2 looks to have great third-party developer support, with many recent titles announced for the upcoming hybrid console. One of these titles is Sid Meier's Civilization VII, which launched a couple of months ago to lower-than-usual reviews for the traditional king of the 4X turn-based strategy genre. On Wccftech, the game earned an 8 out of 10 score, whereas previous entries had all scored above 9.The good news is that Civilization VII will perform nicely on the Nintendo Switch 2, at least according to the development team. Speaking to Game File during the press hands-on event, Dennis Shirk (Executive Producer at Firaxis Games) said:We were able to make this look like a mid-tier PC, because it's got enough power. We are extremely happy, and it's been easy. Their software development kit is great, the customer support, their developer support, developer relations is great. They knew they wanted Civilization VII on that platform because its such a great showcase for the mouse. And it pairs up so well with our existing PC audience because we have crossplay.Civilization VII is actually already available on the original Switch, but it will look much better on the Nintendo Switch 2 (not to mention the mouse-like support enabled by the new Joy-Con 2 controller). The same goes for Hogwarts Legacy. Jimmie Nelson, Senior Producer for Tech, VFX, and Lighting at WB Games / Avalanche Software, stated:We originally started with our Switch version. We got very good results really quickly, but we felt like we could make a higher quality product if we brought in a lot of the high-resolution assets and raised the resolution, textures, lighting, and world streaming.The version available for the original Switch introduced mandatory loads between certain zones, such as before entering Hogsmeade. However, this limitation has been removed on the Nintendo Switch 2, thus making this new version feel more seamless. Both games will be part of the launch line-up when the Nintendo Switch 2 debuts in stores on June 5. Read Wccftech's first hands-on preview with the console here.Deal of the Day
    0 Comments 0 Shares 19 Views
  • WWW.GAMESPOT.COM
    How The Devil May Cry Anime's Best Episode Was Made
    Devil May Cry's anime adaptation launched on Netflix last week, and between all of the demon-slaying and quips, the standout episode of the first season is a surprisingly whimsical origin story of the characters Mary Arkham--AKA Lady--and the show's primary antagonist, the Rabbit. Featuring two contrasting animation styles, the episode explores the motivations behind these characters, and it does so without any dialogue for the bulk of its runtime.According to showrunner Adi Shankar, the decision to paint the Demon Realm as a more magical reality was inspired by his childhood in Calcutta, India. "When I was a kid, Time Magazine called it the dirtiest city in the world, just rampant poverty everywhere," Shankar said. "I can't speak to everyone's experience, but that really, deeply, and profoundly affected me as a kid. So I was trying to really just capture this feeling of hopelessness and how you're powerless to do anything about it. In the show, the Human world is more serious. The Demon world is kind of cute." Shankar explained how poverty had become the norm in India at that point, and while he wasn't born into it, he still wanted to do something to help as a child. Those strong emotions found their way into Devil May Cry, while Shnakar's thoughts on how people are encouraged to share every part of their lives online also had an impact on the production of Devil May Cry's sixth episode.Continue Reading at GameSpot
    0 Comments 0 Shares 10 Views
  • GAMERANT.COM
    Fortnite Reveals New 'Shell' Maps for Ballistic Mode
    A new update for Fortnite's Ballistic game mode is on the horizon, which will allow players to test out in-development maps for Epic Games. Called "Shell" maps, players will get the chance to play Ballistic on unfinished arenas and provide feedback to Epic as to what's good about them and, more importantly, what needs changing. Two new maps will debut Ballistic's upcoming update, with lots more on the way as players continue exploring Fortnite's Chapter 6 Season 2 cycle.
    0 Comments 0 Shares 10 Views
  • GAMEDEV.NET
    The Dos and Don'ts For Pitching/Funding a Game
    Hey folks,I'm starting the legwork in finding funding for a UE game project. For the developers with funded projects, what choices or resources got you started? What directions did you try that proved to be a waste of time? Has anyone had success with corporate pitches? Crowd-funding/sourcing? Private investors? If so, what aspects did you sell them that grabbed their attention?Thanks in advance.
    0 Comments 0 Shares 10 Views
  • WWW.POLYGON.COM
    Check out the beautiful illustrations in Liam OBriens Critical Role fairy tale book
    Straight from Critical Roles Exandria setting comes Der Katzenprinz & Other Zemnian Tales, a fully illustrated collection of fairy tales. All three are native to the Zemni Fields, the northernmost region of the Dwendalian Empire, and have been faithfully translated from the original Zemnian. Weve managed to pierce through time, space, and reality to bring you three illustrations from the tome.OK, Ill stop being cheeky. In reality, the new book is penned by Critical Roles Liam OBrien, who played Vaxildan in the Vox Machina arc of the show (and voices him in the animated adaptation The Legend of Vox Machina), Caleb Widogast in the Mighty Nein arc, and Orym in Bells Hells. Hes also had an extensive career in animated voice work and anime voiceover roles.Der Katzenprinz started as a fun idea I just plucked out of nowhere and wrote out in a day to make one of my friends at the table smile, he told Polygon in an email. The first two tales in Der Katzenprinz are stories that sprang up out of our Mighty Nein campaign, but the third was written specifically for this collection. I hesitate to say too much about it in advance, because I dont want to spoil the nature of it, but I think Exandrian lore hounds are really going to enjoy it.The gorgeous artwork is by Charlie Borovsky. The book itself has a fully illustrated jacket, gold trim, and a ribbon bookmark. Critical Role: Der Katzenprinz & Other Zemnian Tales is available for pre-order and will go on sale on April 8. Check out some of the absolutely spectacular illustrations from the collection:I am thrilled for this book to reach peoples hands, OBrien told Polygon. The story and world of Exandria feels so real to us now that this book feels like it has always existed to me. But of course, to see it leap out of our imaginations onto a book shelf is a special kind of magic.Critical Role: Der Katzenprinz & Other Zemnian Tales will be published on April 8.
    0 Comments 0 Shares 10 Views
  • DESIGN-MILK.COM
    Chess-inspired Kish o Mat Ceramics Characterize the Ancient Game
    As one of the oldest games, chess has enchanted generations of players for thousands of years. Said to be a concoction of multiple different games of the time, chaturanga (an Indian precursor) was said to have two essential features found in all later chess variations different pieces having different powers, and victory depending on the fate of one piece, the king of modern chess. The rules changed throughout millennia due to societal shifts and popular beliefs, supposing the powers may shift again. From the mind of British-Iranian artist Sara Khamisi, co-founder and art director of Sandro Lopez Milano, Kish o Mat is the Persian term that inspired the word checkmate, celebrating the ancient game through Persian-inspired handmade ceramics.Narrative is strong within the Kish o Mat collection, deriving meaning through the language of abstracted form. A black and white film, seen below, accompanies the collection, created in the French Nouvelle Vague style, a nod to filmmaking traditions of a bygone era. Two protagonists navigate a chess match, with ceramics at the center of the story.The King vase is a fun example of abstraction, hand-built forms creating a three pointed motif of a crown. An extruded form, the distinct planes of the vessel capture light in fantastical ways, facets displaying separate tones. Traditional Matte White and Matt Black colorways are essential for the purists, of course, but a Pink version is available for those unafraid of branching out.The Queen vase, available in the same colors as the King, gives nod to the elegance and power of the chess piece its named for, with a cylindrical shape intersected by a flat panel, resulting in a bold, geometric form.The Pawn cuts a low profile, a simple yet elegant shape change disturbing the track of a traditional circle. Perfect for fruit, small items, or a squat candle, the Pawn heightens the look of any entryway or tablescape.The Knight is represented by a stylized shape resembling the number four, strong planes soaring towards the sky. Resembling the path they take on the board, the Knight frames large blooms or branches with ease. Used in conjunction, and especially in different colors, a playful conversation emerges, bringing a fresh feeling to any surface.The Bishop, available in Turquoise, Matte White, and Matte Black, cradles the plant life it contains. A circle divided, then translated, this motif pulls upon the movement of the Bishop, making its way across the board diagonally, in whichever way it chooses.The Rook carries an angular form with a square base and intersecting planes, honoring the forward, backward, and sideways moves the Rook can make across the board.Co-founder of Sandro Lopez Milano, Sara Khamisi specializes in art-inspired furnishings that bring a spark of life to the home. With backgrounds in sculpture, industrial design, and art direction, Khamisi and Sandro Lopez founded Sandro Lopez Milano in 2020, continuing to inspire us with delightful design.Sara KhamisiTo learn more about Kish o Mat ceramics collection, please visit sandrolopez.com.Photography courtesy of Sandro Lopez Milano.
    0 Comments 0 Shares 11 Views
  • UXDESIGN.CC
    No research, calibrating trust in AI, SXSW recap, being a designer at 40
    Weekly curated resources for designersthinkers andmakers.Not all research is created equal, and some research, if riddled with methodological flaws, is often worse than no research at all. True research democratization isnt about letting anyone conduct studies, but about educating non-researchers on rigorous methodologies.No research is often better than some research By Maximilian SpeicherFigma to website: write in Notion, design in Figma, hit PUBLISH [Sponsored] Design your website in Figma, add Notion as your CMS, hit PUBLISHinstant live & responsive website. Free hosting and all the settings you need for SEO, custom code, embeds, analytics, forms andmore.Editor picksBuilding and calibrating trust in AI How to manage the inherent uncertainty of AI.By Dr. Janna LipenkovaFour rules for how design influences technology The ebbs and flows of our craft.By AndyProehlWhat its like to be a designer at 40 Notes of a (maybe dirty, yet not so old) designer.By Pietro GregoriniThe UX Collective is an independent design publication that elevates unheard design voices and helps designers think more critically about theirwork.The process: every day sketches, brainfarts and ideasMake methinkDesign at the speed of thought What this revealedsomething Ive always sensed but never fully articulatedis that the tools weve idolized in design are often barriers, not bridges. Richard Avedon once said: I hate cameras. They interfere. I wish I could work with my eyes alone. He wasnt being dramatiche was articulating the dream: pure translation from vision to creation, without mediation. For the first time, that dream feelsreal.How I use generative AI in branding I believe designers have the superpower to visualize the future. (Whoa, bold! But stay with me.) We can transform what is into what should be. We can imagine, plan and build the tomorrows for our worldand invite others to experience it. With generative AI, more people, even without design or creative background, can visualize their ideas. I see that as an overall net positive thingno need to pearl-clutch. We need more big ideas and enthusiastic people who are ready to pursuethem.Bored of it Im bored of it. The pervasive, all encompassing nature of it. The inevitable, dehumanising consequence of it. That theres a there there to it. Rubbish in and rubbish out of it. Nobody asked for it, and nobody wants it. The best minds of my generation thinking about how to make people use it. That you should just acceptit.Little gems thisweekCursor, vibe coding, and Manus: the UX revolution that AI needs By Amy ChivavibulDuolingos 6-step reactivation experience By Rosie HoggmascallHow GenAIs build diverging color schemes By Theresa-Marie RhyneTools and resourcesAI in automotive design simulations Breaking the barriers to adoption.By SantoshKiniSXSW 2025 recap AI doesnt give a damn about UI.By Federico FrancioniDont just add AI on top Rethinking mobile email UX for all workflows.By DanielBuschekSupport the newsletterIf you find our content helpful, heres how you can supportus:Check out this weeks sponsor to support their worktooForward this email to a friend and invite them to subscribeSponsor aneditionNo research, calibrating trust in AI, SXSW recap, being a designer at 40 was originally published in UX Collective on Medium, where people are continuing the conversation by highlighting and responding to this story.
    0 Comments 0 Shares 10 Views
  • LIFEHACKER.COM
    You Can Now Use Your Google Pixel 9 to Control a GoPro
    When the Google Pixel 9 series launched, it came with a number of exclusive software features to tempt more people into upgrading, including Pixel Screenshots and the Add Me tool for composite photos. The latest Pixel 9-only feature to roll out is called Connected Cameras, and it means you can use any Pixel 9 series handset as a viewfinder and remote for a compatible GoPro camera, or another Pixel phone.It's easy to see why this could be useful: You could mount your GoPro on your helmet, or put another Pixel phone in a spot you can't easily get to (like on a high wall), and then control these cameras and see what they're seeing from your Pixel 9 handset. For this to work, you need any Pixel 9 model to get the feature set up, then either a GoPro 10 (or later) or a Pixel 6 (or later) as the camera to connect to. The process of getting everything configured varies slightly depending on whether you're using an action camera or a phone, and you need to have the latest software installed on all your devices.Connecting to a second camera Credit: Lifehacker First, you need to turn the Connected Cameras feature on. From the Pixel 9 you want to use to control another camera, open Settings and then tap Connected devices > Connection preferences > Connected Cameras. Read all the info shown on screen, then enable the Use Connected Cameras toggle switch.If you're connecting to a GoPro, it needs to be paired over Bluetooth. Back on the Connection preferences screen, tap Bluetooth, and make sure it's turned on. Then, tap Pair new device. Put your GoPro into pairing mode (on the latest models, swipe down from the top of the rear touchscreen, then swipe left and choose + Pair Device), and it should appear on your phone as a Bluetooth device you can connect tojust tap the GoPro name to connect.For making a connection to another Pixel phone, they both need to be linked to the same Google account, and they both need to have cross-device services enabled: To check this is switched on, open Android Settings, then tap your name at the top and choose All services, then Cross-device services. As long as those two criteria are met, Connected Cameras should work.A few considerations to bear in mind: You can only use one remote camera at a time, so if you want to switch, you need to disconnect from the current remote camera first. The audio will be sourced from the camera you've connected to (as well as the images and video), but if you're doing this over Bluetooth then you might notice some degradation in the sound quality.Capturing content inside apps Look for this camera picker in compatible apps, like Snapchat. Credit: Lifehacker Once you've got a device connected you're almost there, but you can't simply launch the Camera app on your Pixel 9 and start snapping away: You need to use an app that's compatible with Connected Camera, and right now the apps that qualify are Facebook, YouTube, Instagram, Snapchat, and TikTok.Each of these apps can capture images and video, as well as set up livestreams, and they all feature a camera picker that lets you choose a camera other than the one built into the phone they're running on. You can even switch between the camera on your Pixel 9 and the remote camera while recording or livestreaming a video.Open up any of the five apps supporting the feature, and whenever you get to a screen for shooting photos or video, you should see the camera picker icon: It looks like a little digital camera, at the side of the screen. Tap this, and you'll see any connected GoPros listed, as well as the option to Add Pixel (which will connect you to another Pixel phoneyou'll need to confirm the connection on the other Pixel too).Once the connection is made, you're able to capture photos and videos in the app as normal. To change the camera, just tap the camera picker icon again. Based on my brief testing, it all works as advertised, though the Bluetooth connection to a GoPro can take some moments before it's fully established.
    0 Comments 0 Shares 13 Views