娱乐城白菜论坛

如何用Python识别停车位?

2019-01-29 10:30 ? 次阅读

【导语】今天这篇文章的选题非常贴近生活。营长生活在北京,深知开车出门最怕的就是堵车和找不到停车位。记得冬至那个周末,几个小伙伴滑雪回来找了一家饺子馆吃饺子,结果七拐八拐,好不容易才找到一个停车位。看到这篇娱乐城白菜论坛文章,马上就想要学习一下,分享给大家,希望有助于解决大家这个痛点问题,春节出行没准就可以用得上了。

作者通过相机结合深度学习算法,基于 Python 语言建立一个高精度的停车位的通知系统,每当有新停车位时就会发短信提醒我。听起来好像很复杂,真的方便实用吗?但实际上所使用的工具都是现成的,只要将这些工具进行有机的组合,就可以快速、简便的实现。

下面我们就开始学习整个工程流程:

分解问题

解决一个复杂的问题,首先第一步是要把问题分解成几个简单子任务。然后,针对每个子任务,运用机器学习中不同的方法来分别解决每个问题。最后把这些子任务贯穿起来,形成整套解决方案。

下面是检测开放停车位的流程图:

输入:普通摄像头采集的视频流

有了输入数据后,接下来我们需要知道图像的哪一部分是停车位,而且停车位是没有人使用的。

第一步:检测视频帧中所有可能的停车位。

第二步:检测每一帧视频中的所有车辆。可以跟踪每辆车从一帧到另一帧的运动。

第三步:确定目前有哪些停车位被占用,哪些没有被占用。这需要结合第一步和第二步的结果。

最后一步:当停车位变成可用时,系统发出通知。

其实可以使用多种不同的方法来完成这些步骤。不同的方法将具有不同的优势和缺点。接下来具体来看:

一、探测停车位

相机视图如下图所示:

需要扫描图像,并得到有效停车区域,如下面黄色标识出来的位置:

一个懒办法是程序写死每个停车场的位置,而不是自动检测停车场。但是如果移动摄像机,探测不同街道上的停车位,就必须再次手动定位停车位置。这样看来这个方法一点都不好,还是要采用自动检测停车位的方法。

其中一个想法是识别停车计时器并假设每个计时器旁边都有一个停车位:

但是这种方法也有一些问题。首先,并不是每个停车位有一个停车计时器,而且我们最想先找到免费停车位。第二,知道停车计时器的位置还不能告诉我们确切的停车位置点。

另一个想法是搭建一个目标检测模型,找到在马路上画的停车位记号,就像下图标识出来的:

这种方法也有两个难点。首先,从远处看,停车位线的标志很小,很难看到,增加了识别难度;其次,道路上还有各种交通标记线,比如车道线、人行道斑马线,这也给识别增加了难度。

或许还可以换个思维方式,回避一些娱乐城白菜论坛挑战。重新思考停车位到底是什么呢?无非是一个车需要停放一定时间的位置。所以我们可能根本不需要检测停车位,只要检测出长时间不动的车,并假设它们的位置就是停车位。

所以,如果我们能检测出汽车,并找出哪些车在视频帧之间没有移动,就可以推断停车位的位置。

二、在图像中检测汽车

在视频中检测车辆是一个经典的目标检测问题。有很多机器学习方法可以实现。下面列出了一些最常见的目标检测算法:

1、通过 HOG(梯度方向直方图)目标检测器检测出所有的车。这种非深度学习方法运行起来相对较快,但它无法处理汽车在不同方向上的旋转问题。

2、通过 CNN(卷积神经网络)目标检测器检测所有的车。这种方法是准确的,但是效率比较低,因为同一张图像必须扫描多次,以检测到所有的汽车。虽然它可以很容易地对不同旋转方向的汽车定向,但是比 HOG 方法需要更多的训练数据。

3、使用新的深度学习方法,如 Mask R-CNN,Faster R-CNN 或者 YOLO 算法,兼容准确性和运行效率,大大加快了检测过程。一旦有大量的训练数据,在 GPU 上运行也很快。

通常来说,我们希望选择最简单可行的算法和最少的训练数据,而不是一定要用那些流行的新的算法。基于目前这种特殊场景下,Mask R- CNN 是一个不错的选择。

Mask R-CNN 架构就是在整个图像中检测对象,不使用滑动窗口的方式,所以运行速度很快。有了 GPU 处理器,我们能够每秒处理多帧的高分辨率视频,从中检测到车辆。

Mask R-CNN 为我们提供了很多检测到的信息。大多数目标检测算法只返回每个对象的边框。但是 Mask R-CNN 不仅会给我们每个对象的位置,也会给出一个对象的轮廓,像这样:

为了训练 Mask R-CNN 模型,我们需要很多这类检测物体的图片。可以花几天的时间出去拍摄照片,不过已经存在一些汽车图像的公共数据集。有一个很流行的数据集叫做COCO(Common Objects In Context的缩写),它里面已经有超过 12000 张汽车的图片。下面就是一个 COCO 数据集中的图像:

这些数据可以很好的训练 Mask R-CNN 模型,而且已经有很多人使用过 COCO数据集,并分享了训练的结果。所以我们可以直接使用一些训练好的模型,在本项目中使用 Matterport?的开源模型。

不仅能识别车辆,还能识别到交通灯和人。有趣的是,它把其中一棵树识别成“potted plant”。对于图像中检测到的每个对象,我们从 MaskR-CNN 模型得出以下 4 点:

(1)不同对象的类别,COCO 模型可以识别出 80 种不同的物体,比如小轿车和卡车。

(2)目标识别的置信度,数字越大,说明模型识别对象的精准度越高。

(3)图像中物体的边界框,给定了 X/Y 像素的位置。

(4)位图“mask”说明了边框内哪些像素是对象的一部分,哪些不是。使用“mask”数据,我们也可以算出物体的轮廓。

下面是 Python 代码,使用 Matterport 的 Mask R-CNN 的训练模型和 OpenCV 来检测汽车边框:

1import?os ?2import?numpy?as?np ?3import?cv2 ?4import?mrcnn.config ?5import?mrcnn.utils ?6from?mrcnn.model?import?MaskRCNN ?7from?pathlib?import?Path ?8 ?9 10#?Configuration?that?will?be?used?by?the?Mask-RCNN?library 11class?MaskRCNNConfig(mrcnn.config.Config): 12????NAME?=?"coco_pretrained_model_config" 13????IMAGES_PER_GPU?=?1 14????GPU_COUNT?=?1 15????NUM_CLASSES?=?1?+?80??#?COCO?dataset?has?80?classes?+?one?background?class 16????DETECTION_MIN_CONFIDENCE?=?0.6 17 18 19#?Filter?a?list?of?Mask?R-CNN?detection?results?to?get?only?the?detected?cars?/?trucks 20def?get_car_boxes(boxes,?class_ids): 21????car_boxes?=?[] 22 23????for?i,?box?in?enumerate(boxes): 24????????#?If?the?detected?object?isn't?a?car?/?truck,?skip?it 25????????if?class_ids[i]?in?[3,?8,?6]: 26????????????car_boxes.append(box) 27 28????return?np.array(car_boxes) 29 30 31#?Root?directory?of?the?project 32ROOT_DIR?=?Path(".") 33 34#?Directory?to?save?logs?and?trained?model 35MODEL_DIR?=?os.path.join(ROOT_DIR,?"logs") 36 37#?Local?path?to?trained?weights?file 38COCO_MODEL_PATH?=?os.path.join(ROOT_DIR,?"mask_rcnn_coco.h5") 39 40#?Download?COCO?trained?weights?from?Releases?if?needed 41if?not?os.path.exists(COCO_MODEL_PATH): 42????mrcnn.utils.download_trained_weights(COCO_MODEL_PATH) 43 44#?Directory?of?images?to?run?detection?on 45IMAGE_DIR?=?os.path.join(ROOT_DIR,?"images") 46 47#?Video?file?or?camera?to?process?-?set?this?to?0?to?use?your?webcam?instead?of?a?video?file 48VIDEO_SOURCE?=?"test_images/parking.mp4" 49 50#?Create?a?Mask-RCNN?model?in?inference?mode 51model?=?MaskRCNN(mode="inference",?model_dir=MODEL_DIR,?config=MaskRCNNConfig()) 52 53#?Load?pre-trained?model 54model.load_weights(COCO_MODEL_PATH,?by_name=True) 55 56#?Location?of?parking?spaces 57parked_car_boxes?=?None 58 59#?Load?the?video?file?we?want?to?run?detection?on 60video_capture?=?cv2.VideoCapture(VIDEO_SOURCE) 61 62#?Loop?over?each?frame?of?video 63while?video_capture.isOpened(): 64????success,?frame?=?video_capture.read() 65????if?not?success: 66????????break 67 68????#?Convert?the?image?from?BGR?color?(which?OpenCV?uses)?to?RGB?color 69????rgb_image?=?frame[:,?:,?::-1] 70 71????#?Run?the?image?through?the?Mask?R-CNN?model?to?get?results. 72????results?=?model.detect([rgb_image],?verbose=0) 73 74????#?Mask?R-CNN?assumes?we?are?running?detection?on?multiple?images. 75????#?We?only?passed?in?one?image?to?detect,?so?only?grab?the?first?result. 76????r?=?results[0] 77 78????#?The?r?variable?will?now?have?the?results?of?detection: 79????#?-?r['rois']?are?the?bounding?box?of?each?detected?object 80????#?-?r['class_ids']?are?the?class?id?(type)?of?each?detected?object 81????#?-?r['scores']?are?the?confidence?scores?for?each?detection 82????#?-?r['masks']?are?the?object?masks?for?each?detected?object?(which?gives?you?the?object?outline) 83 84????#?Filter?the?results?to?only?grab?the?car?/?truck?bounding?boxes 85????car_boxes?=?get_car_boxes(r['rois'],?r['class_ids']) 86 87????print("Cars?found?in?frame?of?video:") 88 89????#?Draw?each?box?on?the?frame 90????for?box?in?car_boxes: 91????????print("Car:?",?box) 92 93????????y1,?x1,?y2,?x2?=?box 94 95????????#?Draw?the?box 96????????cv2.rectangle(frame,?(x1,?y1),?(x2,?y2),?(0,?255,?0),?1) 97 98????#?Show?the?frame?of?video?on?the?screen 99????cv2.imshow('Video',?frame)100101????#?Hit?'q'?to?quit102????if?cv2.waitKey(1)?&?0xFF?==?ord('q'):103????????break104105#?Clean?up?everything?when?finished106video_capture.release()107cv2.destroyAllWindows()

运行该脚本后,将会看到在图像中识别到的汽车和边框:

同时会得到检测的每辆车的像素坐标:

这样我们已经成功地在图像中检测到了汽车。接下来到了下一个步骤。

三、探测空车位

知道图像中每辆车的像素位置后,通过观察连续多帧视频,可以很容易地算出哪帧里汽车没有移动。但我们如何检测到汽车何时离开停车位?经观察,图像中汽车的边框部分有所重叠:

如果假设每个边界框代表一个停车场空间,这个区域即使有车开走了,但是仍可能被另外汽车部分占据。因此我们需要一种方法来测量重叠,检查出“大部分为空”的框。我们使用的度量方法称为 Intersection Over Union(IoU)。通过计算两个物体重叠的像素量,然后除以两个物体所覆盖的像素:

有了这个值,接下来就可以很容易确定一辆车是否在停车位。如果 IoU 测量值低,比如 0.15,表示汽车并没有占据大部分的停车位空间。但是如果测量值很高,比如 0.6,就表示汽车占据了大部分的停车位,因此可以确定停车位已被占用。

IoU 是计算机视觉中常用的一种测量方法,提供了现成的代码。Matterport 的Mask R-CNN 库可以直接调用这个函数 mrcnn.utils.compute_overlaps()。假设我们有一个表示停车位边界框的列表,要检识别到的车辆是否在这些边界内框很简单,只需添加一两行代码:

1????#?Filter?the?results?to?only?grab?the?car?/?truck?bounding?boxes2????car_boxes?=?get_car_boxes(r['rois'],?r['class_ids'])34????#?See?how?much?cars?overlap?with?the?known?parking?spaces5????overlaps?=?mrcnn.utils.compute_overlaps(car_boxes,?parking_areas)67????print(overlaps)

结果显示为:

在二维数组中,每一行表示一个停车位边界框。同样的,每一列表示停车场被汽车所覆盖的程度。1.0 分意味着汽车完全占据了,而 0.02 这样的低分数,意味着有重叠区域,但不会占据大部分空间。

要找到无人使用的停车位,只需要计算出这个数组。如果所有的数都是 0 或者很小,也就表示空间没有被占用,因此一定是空停车位。

尽管 Mask R-CNN 非常精确,但目标检测并不能做到完美。有时也会在一段视频中漏掉一两辆车。所以在定位到一个空车位时,还应该检测在一段时间内都是空的,比如 5或10帧连续视频。这也可以避免视频本身出现故障而造成误检。一旦看到几个连续视频中都有空车位,马上发送提醒通知!

四、发送消息

最后一步是发送 SMS 提醒消息。利用 Twilio 通过 Python 发送 SMS 消息非常简单,基本上几行代码就可以实现。当然,Twilio 只是这个项目中用到的方法,你也可以用其他方式实现。

要使用 Twilio,先要注册一个试用帐户,创建一个 Twilio 电话号码并获取您的帐户凭证。然后,您需要安装 Twilio Python 客户端库:

下面是发送 SMS 消息的 Python 代码?(需用自己的帐户信息替换这些值):

1from?twilio.rest?import?Client 2 3#?Twilio?account?details 4twilio_account_sid?=?'Your?Twilio?SID?here' 5twilio_auth_token?=?'Your?Twilio?Auth?Token?here' 6twilio_source_phone_number?=?'Your?Twilio?phone?number?here' 7 8#?Create?a?Twilio?client?object?instance 9client?=?Client(twilio_account_sid,?twilio_auth_token)1011#?Send?an?SMS12message?=?client.messages.create(13????body="This?is?my?SMS?message!",14????from_=twilio_source_phone_number,15????to="Destination?phone?number?here"16)

在添加 SMS 发送功能时要注意,不要连续发送已经识别过的空车位信息。可以用一个 flag 来跟踪已经发过的短信,除非是设定一段时间后再次提醒或是检测到新的空车位。

五、把所有流程串在一起

现在将每个步骤集成一个Python脚本。下面是完整代码,要运行这段代码,需要安装Python 3.6+,Matterport?的 Mask R-CNN 和 OpenCV:

1import?os ?2import?numpy?as?np ?3import?cv2 ?4import?mrcnn.config ?5import?mrcnn.utils ?6from?mrcnn.model?import?MaskRCNN ?7from?pathlib?import?Path ?8from?twilio.rest?import?Client ?9 10 11#?Configuration?that?will?be?used?by?the?Mask-RCNN?library 12class?MaskRCNNConfig(mrcnn.config.Config): 13????NAME?=?"coco_pretrained_model_config" 14????IMAGES_PER_GPU?=?1 15????GPU_COUNT?=?1 16????NUM_CLASSES?=?1?+?80??#?COCO?dataset?has?80?classes?+?one?background?class 17????DETECTION_MIN_CONFIDENCE?=?0.6 18 19 20#?Filter?a?list?of?Mask?R-CNN?detection?results?to?get?only?the?detected?cars?/?trucks 21def?get_car_boxes(boxes,?class_ids): 22????car_boxes?=?[] 23 24????for?i,?box?in?enumerate(boxes): 25????????#?If?the?detected?object?isn't?a?car?/?truck,?skip?it 26????????if?class_ids[i]?in?[3,?8,?6]: 27????????????car_boxes.append(box) 28 29????return?np.array(car_boxes) 30 31 32#?Twilio?config 33twilio_account_sid?=?'YOUR_TWILIO_SID' 34twilio_auth_token?=?'YOUR_TWILIO_AUTH_TOKEN' 35twilio_phone_number?=?'YOUR_TWILIO_SOURCE_PHONE_NUMBER' 36destination_phone_number?=?'THE_PHONE_NUMBER_TO_TEXT' 37client?=?Client(twilio_account_sid,?twilio_auth_token) 38 39 40#?Root?directory?of?the?project 41ROOT_DIR?=?Path(".") 42 43#?Directory?to?save?logs?and?trained?model 44MODEL_DIR?=?os.path.join(ROOT_DIR,?"logs") 45 46#?Local?path?to?trained?weights?file 47COCO_MODEL_PATH?=?os.path.join(ROOT_DIR,?"mask_rcnn_coco.h5") 48 49#?Download?COCO?trained?weights?from?Releases?if?needed 50if?not?os.path.exists(COCO_MODEL_PATH): 51????mrcnn.utils.download_trained_weights(COCO_MODEL_PATH) 52 53#?Directory?of?images?to?run?detection?on 54IMAGE_DIR?=?os.path.join(ROOT_DIR,?"images") 55 56#?Video?file?or?camera?to?process?-?set?this?to?0?to?use?your?webcam?instead?of?a?video?file 57VIDEO_SOURCE?=?"test_images/parking.mp4" 58 59#?Create?a?Mask-RCNN?model?in?inference?mode 60model?=?MaskRCNN(mode="inference",?model_dir=MODEL_DIR,?config=MaskRCNNConfig()) 61 62#?Load?pre-trained?model 63model.load_weights(COCO_MODEL_PATH,?by_name=True) 64 65#?Location?of?parking?spaces 66parked_car_boxes?=?None 67 68#?Load?the?video?file?we?want?to?run?detection?on 69video_capture?=?cv2.VideoCapture(VIDEO_SOURCE) 70 71#?How?many?frames?of?video?we've?seen?in?a?row?with?a?parking?space?open 72free_space_frames?=?0 73 74#?Have?we?sent?an?SMS?alert?yet? 75sms_sent?=?False 76 77#?Loop?over?each?frame?of?video 78while?video_capture.isOpened(): 79????success,?frame?=?video_capture.read() 80????if?not?success: 81????????break 82 83????#?Convert?the?image?from?BGR?color?(which?OpenCV?uses)?to?RGB?color 84????rgb_image?=?frame[:,?:,?::-1] 85 86????#?Run?the?image?through?the?Mask?R-CNN?model?to?get?results. 87????results?=?model.detect([rgb_image],?verbose=0) 88 89????#?Mask?R-CNN?assumes?we?are?running?detection?on?multiple?images. 90????#?We?only?passed?in?one?image?to?detect,?so?only?grab?the?first?result. 91????r?=?results[0] 92 93????#?The?r?variable?will?now?have?the?results?of?detection: 94????#?-?r['rois']?are?the?bounding?box?of?each?detected?object 95????#?-?r['class_ids']?are?the?class?id?(type)?of?each?detected?object 96????#?-?r['scores']?are?the?confidence?scores?for?each?detection 97????#?-?r['masks']?are?the?object?masks?for?each?detected?object?(which?gives?you?the?object?outline) 98 99????if?parked_car_boxes?is?None:100????????#?This?is?the?first?frame?of?video?-?assume?all?the?cars?detected?are?in?parking?spaces.101????????#?Save?the?location?of?each?car?as?a?parking?space?box?and?go?to?the?next?frame?of?video.102????????parked_car_boxes?=?get_car_boxes(r['rois'],?r['class_ids'])103????else:104????????#?We?already?know?where?the?parking?spaces?are.?Check?if?any?are?currently?unoccupied.105106????????#?Get?where?cars?are?currently?located?in?the?frame107????????car_boxes?=?get_car_boxes(r['rois'],?r['class_ids'])108109????????#?See?how?much?those?cars?overlap?with?the?known?parking?spaces110????????overlaps?=?mrcnn.utils.compute_overlaps(parked_car_boxes,?car_boxes)111112????????#?Assume?no?spaces?are?free?until?we?find?one?that?is?free113????????free_space?=?False114115????????#?Loop?through?each?known?parking?space?box116????????for?parking_area,?overlap_areas?in?zip(parked_car_boxes,?overlaps):117118????????????#?For?this?parking?space,?find?the?max?amount?it?was?covered?by?any119????????????#?car?that?was?detected?in?our?image?(doesn't?really?matter?which?car)120????????????max_IoU_overlap?=?np.max(overlap_areas)121122????????????#?Get?the?top-left?and?bottom-right?coordinates?of?the?parking?area123????????????y1,?x1,?y2,?x2?=?parking_area124125????????????#?Check?if?the?parking?space?is?occupied?by?seeing?if?any?car?overlaps126????????????#?it?by?more?than?0.15?using?IoU127????????????if?max_IoU_overlap??10:151????????????#?Write?SPACE?AVAILABLE!!?at?the?top?of?the?screen152????????????font?=?cv2.FONT_HERSHEY_DUPLEX153????????????cv2.putText(frame,?f"SPACE?AVAILABLE!",?(10,?150),?font,?3.0,?(0,?255,?0),?2,?cv2.FILLED)154155????????????#?If?we?haven't?sent?an?SMS?yet,?sent?it!156????????????if?not?sms_sent:157????????????????print("SENDING?SMS!!!")158????????????????message?=?client.messages.create(159????????????????????body="Parking?space?open?-?go?go?go!",160????????????????????from_=twilio_phone_number,161????????????????????to=destination_phone_number162????????????????)163????????????????sms_sent?=?True164165????????#?Show?the?frame?of?video?on?the?screen166????????cv2.imshow('Video',?frame)167168????#?Hit?'q'?to?quit169????if?cv2.waitKey(1)?&?0xFF?==?ord('q'):170????????break171172#?Clean?up?everything?when?finished173video_capture.release()174cv2.destroyAllWindows()

这段代码写的比较简洁,实现了基本的功能。大家也可以试着修改代码以适应不同的场景。仅仅更改一下模型参数,出现的效果就可能完全不同,在不同应用中尽情发挥想象力!

原文标题:春节停车难?用Python找空车位

文章出处:【微信号:rgznai100,微信公众号:AI科技大本营】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

赛灵思AI引擎及其应用的详细资料说明

对于 5G 蜂窝和机器学习 DNN/CNN这 样的计算密集型应用,赛灵思的新型向量处理器 AI 引擎....
发表于 02-22 10:53 ? 12次 阅读
赛灵思AI引擎及其应用的详细资料说明

深度学习中的各种卷积网络大家知多少

对于那些听说过却又对它们没有特别清晰的认识的小伙伴们,这篇文章非常值得一读。Kunlun Bai 是....
的头像 人工智能学家 发表于 02-22 09:44 ? 166次 阅读
深度学习中的各种卷积网络大家知多少

新机器学习可以预测材料应变时性能的变化

据 Nanowerk News 2 月 12 日报道,来自新加坡南洋理工大学、美国麻省理工学院和俄罗....
发表于 02-22 09:42 ? 84次 阅读
新机器学习可以预测材料应变时性能的变化

现代观念下机器学习的基础是什么

我们正处在人工智能革命的过程中,越来越多的人开始认识到人工智能的强大力量。在这篇访谈中,微软剑桥研究....
发表于 02-22 09:38 ? 136次 阅读
现代观念下机器学习的基础是什么

深度学习只是人类探索智能的历史上的一个插曲

时至今日,几乎你所有听到的关于 AI 的重要进展,背后都离不开深度学习。这类算法的工作原理是使用统计....
发表于 02-22 09:16 ? 182次 阅读
深度学习只是人类探索智能的历史上的一个插曲

使用Verilog写的FPGA代码用UDP与上位机通信,上位机代码使用Python填写。...
发表于 02-22 07:30 ? 58次 阅读

快速提升Python开发和配置效率的5个小技巧分享

在以前,作为一个刚开始使用Python的开发者,我时常为布设一个有效的开发环境感到困扰。找到一套自己....
的头像 马哥Linux运维 发表于 02-21 17:05 ? 211次 阅读
快速提升Python开发和配置效率的5个小技巧分享

盘点资本加速洗牌对人工智能行业的影响

自2017年以来,深度学习概念被再次提起,AI成为全球最炙手可热的行业。不论是从创业项目数量、融资金....
的头像 重庆人工智能 发表于 02-21 16:04 ? 352次 阅读
盘点资本加速洗牌对人工智能行业的影响

MIT深度学习基础知识 编码器-解码器架构分析

本文以 7 种架构范例简要介绍深度学习,每种范例均提供 TensorFlow 教程链接。
的头像 TensorFlow 发表于 02-21 15:53 ? 153次 阅读
MIT深度学习基础知识 编码器-解码器架构分析

深度学习可能需要比Python更灵活更易于用的新编程语言

尽管工程师们普遍定位 Python 是简单、优雅的编程语言,但它并非毫无缺点,比如人们一直吐槽它的执....
发表于 02-21 10:23 ? 246次 阅读
深度学习可能需要比Python更灵活更易于用的新编程语言

盘点史上最全的Python算法集

本文是一些机器人算法(特别是自动导航算法)的Python代码合集。其主要特点有以下三点:选择了在实践....
发表于 02-21 10:04 ? 658次 阅读
盘点史上最全的Python算法集

Arm宣布推出基于M-Profile Vector Extension (MVE)矢量扩充方案的Arm Helium娱乐城白菜论坛

先进的数字信号处理(DSP)可通过 Arm Neon 娱乐城白菜论坛扩展至更多Cortex-A架构组件中。针对....
的头像 安芯教育科技 发表于 02-20 16:51 ? 576次 阅读
Arm宣布推出基于M-Profile Vector Extension (MVE)矢量扩充方案的Arm Helium娱乐城白菜论坛

人工智能行业即将迎来寒冬

深度学习处于所谓的AI革命的前沿至今已有好几年;许多人过去认为,深度学习是神奇的“银弹”,会把我们带....
的头像 人工智能学家 发表于 02-20 14:48 ? 485次 阅读
人工智能行业即将迎来寒冬

一名Python开发工程师的职业规划

Python 是一种面向对象的解释型计算机程序设计语言,在设计中注重代码的可读性,同时也是一种功能强....
的头像 工程师人生 发表于 02-20 14:46 ? 150次 阅读
一名Python开发工程师的职业规划

美国大学研发出拥有自主意识的机器人

美国哥伦比亚大学的研究团队发表了一项新成果:一个机器人(机械臂)有了“自我意识”。这项研究成果发表在....
的头像 机器人娱乐城白菜论坛与应用 发表于 02-20 14:40 ? 236次 阅读
美国大学研发出拥有自主意识的机器人

如何同时使用Nucleus与TensorFlow解决基因组学领域的机器学习问题

本文中阐述的两种方法均使用深度神经网络,学习将输入映射至输出的函数。神经网络由若干层线性与非线性运算....
的头像 TensorFlow 发表于 02-20 14:38 ? 206次 阅读
如何同时使用Nucleus与TensorFlow解决基因组学领域的机器学习问题

从文本(数据)挖掘的角度去“探索”全唐诗

然而,对于古汉语(文言文),尤其是诗词的分词处理可没有这么简单,因为单字词占古汉语词汇统计信息的80....
的头像 悟空智能科技 发表于 02-20 14:23 ? 144次 阅读
从文本(数据)挖掘的角度去“探索”全唐诗

为了帮程序员解决bug问题,Facebook可算是操碎了心!

首先,静态分析工具 Infer,会帮助定位代码中需要修补的点;一旦 Sapienz 和 Infer ....
发表于 02-20 09:20 ? 312次 阅读
为了帮程序员解决bug问题,Facebook可算是操碎了心!

全球知名创投研究机构CBInsights发布最新的全球AI独角兽公司名单

例如,Indigo Agriculture最初是作为微生物种子处理的开发者,用于玉米、棉花、大米、大....
的头像 1号机器人网 发表于 02-19 15:36 ? 490次 阅读
全球知名创投研究机构CBInsights发布最新的全球AI独角兽公司名单

下一代Armv8.1-M架构能够提升最小型边缘设备的机器学习能力

Arm Helium娱乐城白菜论坛作为一种全新的M-Profile Vector Extension矢量扩充方....
发表于 02-19 13:58 ? 219次 阅读
下一代Armv8.1-M架构能够提升最小型边缘设备的机器学习能力

通过Python将故宫的建筑物图片,转化为手绘图

把图像看成二维离散函数,灰度梯度其实就是这个二维离散函数的求导,用差分代替微分,求取图像的灰度梯度。....
发表于 02-19 09:26 ? 1851次 阅读
通过Python将故宫的建筑物图片,转化为手绘图

某些生物医药领域使用人工智能娱乐城白菜论坛或将得出一些不准确的结论

北京时间2月18日早间消息,据报道,一组顶尖科学家和医学统计学家上周五警告称,在某些生物医药领域使用....
发表于 02-18 14:56 ? 178次 阅读
某些生物医药领域使用人工智能娱乐城白菜论坛或将得出一些不准确的结论

深度学习在计算机视觉领域的瓶颈已至

有种策略,是把标准对抗攻击 (Adversarial Attacks) 的概念扩展到包含非局部结构 ....
的头像 悟空智能科技 发表于 02-18 14:52 ? 228次 阅读
深度学习在计算机视觉领域的瓶颈已至

雷洪钧:汽车自动驾驶娱乐城白菜论坛与实例的研究(上)

光学摄像头,按安装位置不同的分类车载摄像头布置位置(见图1)主要包括内视摄像头、后视摄像头、前置摄像....
的头像 智车科技 发表于 02-18 14:28 ? 597次 阅读
雷洪钧:汽车自动驾驶娱乐城白菜论坛与实例的研究(上)

史上最强通用NLP模型诞生

OpenAI今天在官博上介绍了他们的新NLP模型,刷新了7大数据集的SOTA(当前最佳结果),并且能....
的头像 人工智能和机器人研究院 发表于 02-18 14:19 ? 293次 阅读
史上最强通用NLP模型诞生

先天结构或是人工智能发展的下一个方向

人工智能从神经科学领域吸收了大量养分,并由此催生了深度学习和强化学习等智能处理方法。以色列魏茨曼科学....
发表于 02-18 10:24 ? 765次 阅读
先天结构或是人工智能发展的下一个方向

Python打造最强表白程序

在抓取这个网站的情话时,如果你利用普通的爬取思路,即利用 request 进行请求,你会发现网页获取....
发表于 02-18 09:47 ? 280次 阅读
Python打造最强表白程序

如何快速入门Python爬虫的?

抛开数据,可能你会觉得这张图在排版布局、色彩搭配、字体文字等方面还挺好看的。这些呢,就跟爬虫没什么关....
发表于 02-18 09:38 ? 243次 阅读
如何快速入门Python爬虫的?

TensorFlow 2.0最佳实践及主要变化

由于能够自由地穿插 Python 和 TensorFlow 代码,您能够充分利用 Python 的表....
发表于 02-18 09:34 ? 208次 阅读
TensorFlow 2.0最佳实践及主要变化

探析机器学习核心概念之间的有机关系及知识脉络

机器学习这件事,要学鲁智深倒拔垂杨柳,而不是“狗熊掰棒子”。
发表于 02-18 09:33 ? 1692次 阅读
探析机器学习核心概念之间的有机关系及知识脉络

警告:机器学习导致了一场“科学危机”!

科学上的“可复制性危机”指的是当另一组科学家尝试同样的实验时,研究结果没有被重复。这意味着最初的结果....
的头像 新智元 发表于 02-18 09:07 ? 356次 阅读
警告:机器学习导致了一场“科学危机”!

图神经网络到底有多厉害?斯坦福33页PPT带你看明白!

新智元今天为大家推荐一份PPT综述,作者是斯坦福大学的多位博士后和博士生。这篇综述由基于神经网络和图....
的头像 新智元 发表于 02-18 09:04 ? 242次 阅读
图神经网络到底有多厉害?斯坦福33页PPT带你看明白!

前言上一篇文章中,我们通过网线连接开发板,以ssh的方式成功登录了linux系统。通过资料发现系统安装了交互式的Python,接下来...
发表于 02-17 19:37 ? 144次 阅读

国内某人脸识别公司数据泄露影响超250万人

2月15日,根据微博安全应急响应中心消息,国内某人脸识别公司发生大规模数据泄露事件。
的头像 芯智讯 发表于 02-17 10:06 ? 604次 阅读
国内某人脸识别公司数据泄露影响超250万人

全球人工智能革命的前20家公司你了解吗

人工智能是计算机科学的一个分支,旨在创建像人类一样学习、工作和反应的计算机和机器。
的头像 机器人大讲堂 发表于 02-17 10:05 ? 848次 阅读
全球人工智能革命的前20家公司你了解吗

探析从贝叶斯到深度学习及各自优缺点

集成方法是由多个较弱的模型集成模型组,其中的模型可以单独进行训练,并且它们的预测能以某种方式结合起来....
的头像 人工智能学家 发表于 02-17 09:56 ? 326次 阅读
探析从贝叶斯到深度学习及各自优缺点

OpenCV的Mat数据格式及其遍历的程序资料说明

在opencv早期的版本中,图像通过一个叫做IplImage的结构(structure)存储在内存中....
的头像 C语言专家集中营 发表于 02-17 09:42 ? 272次 阅读
OpenCV的Mat数据格式及其遍历的程序资料说明

机器学习应用场景拓展翻新

2018年全球人工智能娱乐城白菜论坛支出规模达到240亿美金,其中中国市场达到22亿美金,中国在全球娱乐城白菜论坛支出占....
发表于 02-16 15:01 ? 278次 阅读
机器学习应用场景拓展翻新

DNN解决ImageNet时的策略似乎比我们想象的要简单得多

这就避免了对图像的显式分区,并且尽可能接近标准CNN,同时仍然实现概述的策略,我们称之为模型结构Ba....
的头像 新智元 发表于 02-16 11:12 ? 371次 阅读
DNN解决ImageNet时的策略似乎比我们想象的要简单得多

推荐一本中文PyTorch书籍——PyTorch中文手册

12 月 8 日 PyTorch 已经发布 1.0 的稳定版。 API 的改动不是很大,本教程已经通....
的头像 新智元 发表于 02-16 10:58 ? 526次 阅读
推荐一本中文PyTorch书籍——PyTorch中文手册

2018年以来最重要的10篇计算机视觉/图像生成相关的研究

卷积神经网络(CNN)可以很好的处理二维平面图像的问题。然而,对球面图像进行处理需求日益增加。例如,....
的头像 新智元 发表于 02-16 10:50 ? 337次 阅读
2018年以来最重要的10篇计算机视觉/图像生成相关的研究

用python做一个三阶拼图

程序的功能很简单,还是之前我们用到的pygame和随机数的知识,整个流程非常的清晰,但是我们需要注意....
发表于 02-16 10:37 ? 326次 阅读
用python做一个三阶拼图

在互联网上你的脸正在成为深度算法主角

视频请求者将这位女性的脸放在身体上,视频中汇集了她491张脸的照片,其中许多照片来自她的Facebo....
发表于 02-16 10:29 ? 2039次 阅读
在互联网上你的脸正在成为深度算法主角

为什么选择Python?谈谈如何学习Python

每种语言都有它自己的优点和缺点,以及最适用的场景。Python 最常用的三个场景是数据处理、编写 W....
发表于 02-16 10:26 ? 377次 阅读
为什么选择Python?谈谈如何学习Python

Python登上“最强王者”中国程序猿是“全场MVP”

国内基于 Python 创业成功的案例不在少数,豆瓣,知乎,果壳,全栈都是 Python,大家对 P....
发表于 02-16 10:23 ? 297次 阅读
Python登上“最强王者”中国程序猿是“全场MVP”

TIOBE编程语言社区发布了最新的2月编程语言排行榜

除此之外,Groovy 在一次进入语言排行榜前20,它第一次进入语言排行榜前20是在2016年末,因....
发表于 02-16 10:12 ? 362次 阅读
TIOBE编程语言社区发布了最新的2月编程语言排行榜

机器学习准入门槛降低,机器学习工程师职位或将消失

机器学习工程师团队负责人、Looker的首席产品官,以自己十几年的从业经历,以及对当下机器学习领域的....
发表于 02-16 08:53 ? 340次 阅读
机器学习准入门槛降低,机器学习工程师职位或将消失

中国6家公司上榜全球AI初创企业100强

日前,全球知名创投研究机构CB Insights公布了2019全球100强AI初创企业排行榜,这10....
的头像 机器人娱乐城白菜论坛与应用 发表于 02-15 17:07 ? 976次 阅读
中国6家公司上榜全球AI初创企业100强

深度学习的基础理论,深度学习为何work又为何不work?

深度学习的泛化能力为什么那么好?大家知道深度学习理论的第一个谜团就是一个大的网络动辄百万参数, 而能....
的头像 人工智能学家 发表于 02-15 16:47 ? 938次 阅读
深度学习的基础理论,深度学习为何work又为何不work?

机器学习算法篇--卷积神经网络基础(Convolutional Neural Network)...
发表于 02-14 16:37 ? 63次 阅读

您好,我在Linux RedHat5_10下使用EMPRo2013_07运行大型FEM模拟时收到以下Python错误消息有没有人得到类似的东西? ...
发表于 02-14 15:14 ? 28次 阅读

一份中外结合的 Machine Learning 自学计划
发表于 02-14 06:43 ? 49次 阅读

那位大佬有这两款软件,求分享!邮箱:
发表于 02-14 03:07 ? 41次 阅读

    实验目的:     学习在PC机系统中扩展简单I/O 接口的方法     学习TurnipBit拼插...
发表于 02-13 13:11 ? 220次 阅读

Hanlp作为一款重要的中文分词工具,在GitHub的用户量已经非常之高,应该可以看得出来大家对于hanlp这款分词工具还是很认可的。...
发表于 02-13 10:26 ? 389次 阅读

TensorFlow入门:第一个机器学习Demo
发表于 02-12 10:13 ? 77次 阅读

嗨,我尝试控制Agilent MXG N5182A并需要帮助。 我有一个创建的数据包库,其中包含各种通道衰落配置文件,用于自动,可重...
发表于 01-29 08:54 ? 31次 阅读