炙石科技-图像算法实习生

Base:350/天,暑期实习,坐标北京
考虑地域、加班原因,放弃二面

服装模特图AIGC系统:

在电商服装模特图行业,用【AIGC生成】取代【拍摄】。客户只需用手机简单拍摄衣服,系统即可生成指定模特/指定场景/指定姿势的模特图,对该行业是颠覆式创新。在将单套服装图的制作成本降低90%的同时,还提升了图片的效果。项目需要刚性,订单供不应求,目前已有数百家付费客户。

职位描述

1、负责计算机视觉和深度学习等相关算法的研发和实现;
2、负责服装领域相关AIGC、分类、超分、分割和图像生成工作;

你负责的工作包括:

  1. AIGC:在服装领域应用AI生成内容(如设计、图像)。
  2. 分类:对服装图像进行类别识别和分类。
  3. 超分:提升服装图像的分辨率。
  4. 分割:将服装图像中的不同部分分割出来。
  5. 图像生成:生成新的服装图像。

3、负责图像/视频算法方向的创新探索和研发落地,不断优化用户体验。

职位要求

1、计算机或者相关专业,有python编程经验,熟悉Opencv、pytorch等框架;
2、在计算机视觉某个领域有较一定的了解,包括但不限于:传统CV算法、diffusion模型、图像分类和识别、图像超分、图像增强、图像分割、图像生成、手机端图像处理;
3、具备团队精神,善于沟通协作,能承受一定工作压力。

面试问题及回答

技术面一面

总的来说,问题都不算很难,三道python函数题,两道深度学习框架题

  1. 编程基础 - 数组操作:
    用python写一个函数,接收一个整数数组作为输入,并返回该数组中的最大值和最小值。
def min_max(arr):
    # write your code here
    if not arr:
        return None
    min_value = min(arr)
    max_value = max(arr)
    return(min_value, max_value)
  1. Python编程 - 函数与装饰器:
    编写一个Python函数,计算给定整数列表中所有偶数的平均值。然后使用装饰器,确保函数只接收非空列表作为输入。
#请完成此函数,并按要求编写和使用装饰器
def list(func):
    def wrapper(lst):
        if not lst:
            raise ValueError("not be empty")
        return func(lst)
    return wrapper

def avg_even(lst):
   evens = [num for num in lst if num%2 == 0]
   if not evens:
       return 0
   return sum(evens) / len(evens)

# Test the function
print(avg_even([1, 2, 3, 4, 5, 6]))
  1. NumPy数组操作:
    请编写一个函数,接收一个一维NumPy数组作为输入,并执行以下操作:
    1、 将数组中的所有奇数替换为它们的平方根。
    2、 将数组中的所有偶数替换为它们的平方。
    要求:请使用NumPy库来实现上述操作,并返回处理后的数组。
def process_array(arr):
    odd = (arr % 2 != 0)
    even = (arr%2 == 0)
    
    arr[odd] = np.sqrt(arr[odd])
    arr[even] = arr[even] * 2
    return arr

# Test the function
print(process_array(np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])))
  1. 使用NumPy处理图像:
    请编写一个函数,接收一个表示图像的NumPy数组作为输入,并执行以下操作:
    将图像从彩色转换为灰度图像,使用以下公式计算每个像素的灰度值:Gray = 0.299 * R + 0.587 * G + 0.114 * B
    将图像进行水平翻转(左右翻转)。
    要求:请使用NumPy库来实现上述操作,并返回处理后的灰度图像数组。
import numpy as np
def process_image(img):

    gray = 0.299 * img[:, :, 0] + 0.587 * img[:, :, 1] + 0.114 * img[:, :, 2]
    down_gray = np.fliplr(gray)

    return down_gray

# Test the function
print(process_image(np.array([[[255, 0, 0], [0, 255, 0], [0, 0, 255]], [[128, 128, 128], [255, 255, 255], [0, 0, 0]]])))
  1. 深度学习基础 - 激活函数:
    解释ReLU(Rectified Linear Unit)激活函数及其优势,并提供用于实现ReLU的Python代码示例。
def relu(x):
    return np.maximum(0,x)
# Test the function
print(relu(np.array([-1, 0, 1, 2, 3])))
  1. 深度学习基础 - 神经网络构建:
    构建一个简单的前馈神经网络(Feedforward Neural Network),包含输入层、至少一个隐藏层和输出层。描述该神经网络的架构和激活函数选择。
import torch
import torch.nn as nn
import torch.nn.functional as F

# 请在此完成代码编写。定义一个名为Net的网络。并在代码注释中说明你的网络结构。
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.f1 = nn.Linear(10, 5)
        self.f2 = nn.Linear(5, 1)

    def forward(self, x):
        x = F.relu(self.f1(x))  # 隐含层用Relu
        x = self.f2(x)  # 输出层无激活函数
        return x

# Create the network
net = Net()
# Print the network architecture
print(net)

后面是简单的问了两个问题:

  1. 稳定扩散(Stable Diffusion)模型 - 理解:
    简要解释稳定扩散模型,包括其主要组成部分、在深度学习中的应用和用例。

  2. 稳定扩散模型 - 参数调整:
    说明如何通过调整稳定扩散模型的超参数(例如学习率、扩散步数等)来优化其性能。提供一些实验和结果以支持你的观点。

Hr面

1、你能实习多久?
我是以就业为导向,保研差一点。然后下学期都没有课了,所有未来可以一直实习到放寒假。
2、你还有什么问题要问的吗?
我想请教一下,我具体需要做的工作内容是什么?我需要为这个工作做什么提前的学习准备?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值